/* Cautare produse: butonul din header, panoul cu sugestii si pagina de rezultate.
 * Culorile sunt ale site-ului (cercul cosului: #5cb5e3, hover #6ed0f5). */

:root {
    --ps-sky:      #5cb5e3;
    --ps-sky-up:   #6ed0f5;
    --ps-deep:     #035392;
    --ps-ink:      #212934;
    --ps-muted:    #6b7684;
    --ps-rule:     #e2e2e2;
    --ps-surface:  #f5f9fc;
    --ps-red:      #e8373d;
    --ps-yellow:   #fff100;
}

/* ---------------- Butonul din header, langa cos ---------------- */

.ps-header-actions {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 10px;
    align-self: flex-end;
}

.fusion-body .ps-search-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex: none;
    width: 50px;
    height: 50px;
    margin: 0;
    padding: 0;
    border: 1px solid var(--ps-sky);
    border-radius: 50%;
    background: var(--ps-sky);
    color: #fff;
    cursor: pointer;
    transition: background-color .2s ease, border-color .2s ease, width .35s ease, height .35s ease;
}
.fusion-body .ps-search-btn:hover,
.fusion-body .ps-search-btn[aria-expanded="true"] {
    background: var(--ps-sky-up);
    border-color: var(--ps-sky-up);
}
.fusion-body .ps-search-btn:focus-visible {
    outline: 2px solid var(--ps-deep);
    outline-offset: 2px;
}
.ps-search-btn svg { display: block; }

/* Pe mobil coloana cosului (Avada) are 114px cu 20px padding pe laterale: cele doua
   butoane n-ar incapea si s-ar revarsa peste logo. Scoatem padding-ul lateral si
   micsoram putin butoanele. */
@media (max-width: 1024px) {
    /* Selector lung dinadins: padding-ul vine din CSS-ul generat de Avada pentru
       coloana, cu !important si specificitate mai mare decat un selector simplu. */
    .fusion-body .fusion-layout-column > .fusion-column-wrapper:has(> .ps-header-actions) {
        padding-left: 0 !important;
        padding-right: 0 !important;
        overflow: visible !important;
    }
    .ps-header-actions { gap: 8px; }
    .fusion-body .ps-search-btn { width: 44px; height: 44px; }
    .fusion-body .ps-header-actions .custom_cart-btn {
        width: 44px !important;
        height: 44px !important;
        line-height: 42px !important;
        font-size: 18px !important;
    }
}

/* Header-ul compact (mu-plugin header-sticky): acelasi 40px ca si cosul. */
.fusion-body.sh-compact .ps-search-btn {
    width: 40px;
    height: 40px;
}

/* ---------------- Popup-ul de cautare (tot ecranul) ----------------
 * O foaie de caiet de matematica: patratele albastre fine si linia rosie de margine,
 * in ton cu fundalul desenat din header. Galbenul de marker e cel din meniul activ. */

html.ps-lock { overflow: hidden; }

/* Foaia de caiet: patratele fine si linia rosie de margine (popup + pagina de rezultate). */
.ps-paper,
.ps-panel {
    --ps-grid: rgba(92, 181, 227, .16);
    background-color: #fbfdff;
    background-image:
        linear-gradient(90deg, transparent calc(8% - 1px), var(--ps-red) calc(8% - 1px), var(--ps-red) calc(8% + 1px), transparent calc(8% + 1px)),
        linear-gradient(var(--ps-grid) 1px, transparent 1px),
        linear-gradient(90deg, var(--ps-grid) 1px, transparent 1px);
    background-size: 100% 100%, 26px 26px, 26px 26px;
    background-attachment: local;
}

.ps-panel {
    position: fixed;
    inset: 0;
    z-index: 100000;            /* peste header (10000), sub bannerul de cookie (999998+) */
    overflow-y: auto;
    overscroll-behavior: contain;
    opacity: 0;
    transition: opacity .22s ease;
}
.ps-panel[hidden] { display: none; }
.ps-panel.is-visible { opacity: 1; }

.ps-panel__inner {
    position: relative;
    max-width: 880px;
    margin: 0 auto;
    padding: clamp(4.5rem, 14vh, 9rem) 1.25rem 4rem;
}

.ps-panel__title {
    margin: 0 0 1.75rem;
    font-size: clamp(2.4rem, 6vw, 4rem);
    font-weight: 900;
    line-height: 1.05;
    letter-spacing: -.02em;
    text-align: center;
    color: var(--ps-deep);
}

/* Semnatura: cuvantul subliniat cu marker, trasat o data la deschidere. */
.ps-marker {
    position: relative;
    display: inline-block;
    z-index: 0;
}
.ps-marker::before {
    content: "";
    position: absolute;
    z-index: -1;
    left: -.12em;
    right: -.12em;
    bottom: .06em;
    height: .42em;
    border-radius: .2em .35em .25em .3em;
    background: var(--ps-yellow);
    transform: rotate(-1.5deg) scaleX(0);
    transform-origin: left center;
    transition: transform .55s cubic-bezier(.65, 0, .35, 1) .15s;
}
.ps-panel.is-visible .ps-marker::before { transform: rotate(-1.5deg) scaleX(1); }

/* Inchidere: cerc in coltul din dreapta sus, acelasi pe desktop si pe mobil. */
.fusion-body .ps-panel__close {
    position: fixed;
    top: clamp(.75rem, 3vh, 1.75rem);
    right: clamp(.75rem, 3vw, 2rem);
    z-index: 1;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 48px;
    height: 48px;
    margin: 0;
    padding: 0;
    border: 2px solid var(--ps-deep);
    border-radius: 50%;
    background: #fff;
    color: var(--ps-deep);
    cursor: pointer;
    transition: background-color .2s ease, color .2s ease;
}
.fusion-body .ps-panel__close:hover { background: var(--ps-deep); color: #fff; }
.fusion-body .ps-panel__close:focus-visible { outline: 3px solid var(--ps-sky); outline-offset: 3px; }
.ps-panel__close svg { display: block; }

/* Campul: mare, alb, cu butonul de cautare inauntru. */
.ps-form {
    position: relative;
    display: flex;
    align-items: center;
    margin: 0;
}
.ps-form__icon {
    position: absolute;
    left: 22px;
    color: var(--ps-deep);
    pointer-events: none;
}
.fusion-body .ps-form__input {
    width: 100%;
    height: 72px;
    margin: 0;
    padding: 0 9.5rem 0 62px;
    border: 3px solid var(--ps-deep);
    border-radius: 18px;
    background: #fff;
    font: inherit;
    font-size: 1.35rem;
    font-weight: 600;
    color: var(--ps-ink);
    box-shadow: 0 10px 0 -4px rgba(3, 83, 146, .12);
    transition: box-shadow .2s ease;
}
.fusion-body .ps-form__input::placeholder { color: #9aa5b1; font-weight: 400; }
.fusion-body .ps-form__input:focus {
    outline: none;
    box-shadow: 0 0 0 5px rgba(92, 181, 227, .35), 0 10px 0 -4px rgba(3, 83, 146, .12);
}
.ps-form__input::-webkit-search-cancel-button { -webkit-appearance: none; }

.fusion-body .ps-form__submit {
    position: absolute;
    right: 10px;
    height: 52px;
    margin: 0;
    padding: 0 1.6rem;
    border: 0;
    border-radius: 12px;
    background: var(--ps-sky);
    color: #fff;
    font: inherit;
    font-size: 1.05rem;
    font-weight: 800;
    cursor: pointer;
    transition: background-color .2s ease;
}
.fusion-body .ps-form__submit:hover { background: var(--ps-deep); }
.fusion-body .ps-form__submit:focus-visible { outline: 3px solid var(--ps-deep); outline-offset: 2px; }

/* Incarcare: lupa devine un cerc care se roteste. */
.ps-panel.is-loading .ps-form__icon { visibility: hidden; }
.ps-panel.is-loading .ps-form::before {
    content: "";
    position: absolute;
    left: 24px;
    width: 22px;
    height: 22px;
    border: 3px solid rgba(3, 83, 146, .15);
    border-top-color: var(--ps-deep);
    border-radius: 50%;
    animation: ps-spin .7s linear infinite;
}
@keyframes ps-spin { to { transform: rotate(360deg); } }

/* Cautari rapide: etichete ca pe caiet; la hover, marker galben. */
.ps-quick {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: center;
    gap: .55rem;
    margin-top: 1.5rem;
}
.ps-quick[hidden] { display: none; }
.ps-quick__label {
    margin-right: .25rem;
    font-size: .95rem;
    font-weight: 700;
    color: var(--ps-muted);
}
.fusion-body .ps-quick__chip {
    margin: 0;
    padding: .5rem 1rem;
    border: 2px solid var(--ps-deep);
    border-radius: 10px;
    background: #fff;
    color: var(--ps-deep);
    font: inherit;
    font-size: .95rem;
    font-weight: 800;
    line-height: 1.2;
    cursor: pointer;
    transition: background-color .15s ease, transform .15s ease;
}
.fusion-body .ps-quick__chip:hover { background: var(--ps-yellow); transform: rotate(-2deg); }
.fusion-body .ps-quick__chip:focus-visible { outline: 3px solid var(--ps-sky); outline-offset: 2px; }

/* ---------------- Sugestiile ---------------- */

.ps-results:empty { display: none; }
.ps-results { margin-top: 1.75rem; }

.ps-results__list {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: .75rem;
    margin: 0;
    padding: 0;
    list-style: none;
}
.ps-result {
    display: grid;
    grid-template-columns: 72px 1fr;
    grid-template-rows: auto auto;
    column-gap: 1rem;
    row-gap: .2rem;
    align-items: center;
    height: 100%;
    padding: .75rem;
    border: 2px solid #dbe9f4;
    border-radius: 14px;
    background: #fff;
    color: var(--ps-ink);
    text-decoration: none;
    transition: border-color .15s ease, transform .15s ease, box-shadow .15s ease;
}
.ps-result:hover,
.ps-result:focus {
    outline: none;
    border-color: var(--ps-sky);
    transform: translateY(-2px);
    box-shadow: 0 8px 18px rgba(3, 83, 146, .1);
}
.ps-result:focus-visible { box-shadow: 0 0 0 4px rgba(92, 181, 227, .4); }
.ps-result__img {
    grid-row: span 2;
    width: 72px;
    height: 72px;
    border-radius: 10px;
    background: var(--ps-surface);
    overflow: hidden;
}
.ps-result__img img { display: block; width: 100%; height: 100%; object-fit: cover; }
.ps-result__name { align-self: end; font-weight: 800; line-height: 1.3; }
.ps-result__price { align-self: start; color: var(--ps-deep); font-weight: 700; font-size: .95rem; }
.ps-result__price del { color: var(--ps-muted); font-weight: 400; margin-right: .3rem; }
.ps-result__price ins { text-decoration: none; }

.ps-results__more {
    display: block;
    margin-top: 1rem;
    padding: 1rem;
    border-radius: 14px;
    background: var(--ps-deep);
    color: #fff;
    font-weight: 800;
    text-align: center;
    text-decoration: none;
    transition: background-color .2s ease;
}
.ps-results__more:hover,
.ps-results__more:focus { background: var(--ps-sky); color: #fff; outline: none; }
.ps-results__more:focus-visible { box-shadow: 0 0 0 4px rgba(92, 181, 227, .4); }

.ps-results__empty {
    margin: 0;
    padding: 1.1rem 1.25rem;
    border: 2px dashed #c8dceb;
    border-radius: 14px;
    background: rgba(255, 255, 255, .85);
    color: var(--ps-ink);
    text-align: center;
}

@media (max-width: 760px) {
    .ps-paper,
    .ps-panel {
        background-image:
            linear-gradient(90deg, transparent 23px, var(--ps-red) 23px, var(--ps-red) 25px, transparent 25px),
            linear-gradient(var(--ps-grid) 1px, transparent 1px),
            linear-gradient(90deg, var(--ps-grid) 1px, transparent 1px);
        background-size: 100% 100%, 22px 22px, 22px 22px;
    }
    .ps-panel__inner { padding: 5.5rem 1rem 3rem 2.4rem; }
    .ps-panel__title { text-align: left; margin-bottom: 1.25rem; }
    .fusion-body .ps-form__input { height: 60px; padding: 0 1rem 0 50px; font-size: 1.1rem; border-radius: 14px; }
    .ps-form__icon { left: 16px; }
    .ps-panel.is-loading .ps-form::before { left: 18px; }
    /* Pe ecran ingust butonul ar inghesui textul; tasta de cautare a telefonului trimite. */
    .fusion-body .ps-form__submit { display: none; }
    .ps-quick { justify-content: flex-start; }
    .ps-quick__label { width: 100%; }
    .ps-results__list { grid-template-columns: 1fr; }
    .ps-result { grid-template-columns: 56px 1fr; }
    .ps-result__img { width: 56px; height: 56px; }
}

@media (prefers-reduced-motion: reduce) {
    .ps-panel, .ps-marker::before, .ps-result, .fusion-body .ps-quick__chip { transition: none; }
    .ps-marker::before { transform: rotate(-1.5deg) scaleX(1); }
}

/* ---------------- Pagina de rezultate ---------------- */

.ps-results-page {
    padding: 2rem 0 4rem;
}

/* Capul paginii: aceeasi foaie de caiet ca popup-ul, aici ca o fila asezata in pagina. */
.ps-results-page__head {
    position: relative;
    margin: 0 0 3rem;
    padding: 3rem 1.5rem 2.25rem;
    border: 2px solid #dbe9f4;
    border-radius: 22px;
    text-align: center;
}
.ps-results-page__head > * {
    max-width: 820px;
    margin-left: auto;
    margin-right: auto;
}
.ps-results-page__title {
    margin-top: 0;
    margin-bottom: .6rem;
    font-size: clamp(2rem, 4.2vw, 3.1rem);
    font-weight: 900;
    line-height: 1.12;
    letter-spacing: -.02em;
    color: var(--ps-deep);
}
.ps-results-page__count {
    margin-top: 0;
    margin-bottom: 1.6rem;
    font-size: 1.05rem;
    font-weight: 700;
    color: var(--ps-muted);
}
.ps-results-page__form { text-align: left; }
.ps-results-page__head .ps-quick { margin-top: 1.25rem; }

/* Pe pagina, markerul se traseaza la incarcare (nu exista un moment de „deschidere"). */
.ps-marker--draw::before { animation: ps-draw .6s cubic-bezier(.65, 0, .35, 1) .25s both; }
@keyframes ps-draw {
    from { transform: rotate(-1.5deg) scaleX(0); }
    to   { transform: rotate(-1.5deg) scaleX(1); }
}

/* Scurtaturile sunt aici link-uri, nu butoane. */
a.ps-quick__chip,
.fusion-body a.ps-quick__chip:hover,
.fusion-body a.ps-quick__chip:focus {
    display: inline-block;
    color: var(--ps-deep);
    text-decoration: none;
}

@media (max-width: 760px) {
    .ps-results-page { padding: 1.25rem 0 3rem; }
    .ps-results-page__head {
        margin-bottom: 2rem;
        padding: 2rem 1rem 1.5rem 2.4rem;
        border-radius: 16px;
        text-align: left;
    }
    .ps-results-page__head .ps-quick { justify-content: flex-start; }
}

@media (prefers-reduced-motion: reduce) {
    .ps-marker--draw::before { animation: none; transform: rotate(-1.5deg) scaleX(1); }
}
.woocommerce-variation-add-to-cart,form.cart{flex-wrap:wrap!important}.wapf{width:100%}.wapf-hide{display:none}.wapf-wrapper{width:100%}[data-wapf-variation-rules]{display:none}[data-wapf-variation-rules].wapf-show{display:block}.wapf-field-row{display:flex;flex-wrap:wrap;margin-left:-5px}.wapf-field-row .wapf-field-container:last-child{padding-right:0}.wapf-field-container{padding:0 5px 15px 5px;box-sizing:border-box}.wapf-field-description{font-size:85%;opacity:.8;padding:0;margin:0;padding-top:5px}.wapf-field-container label[for]{cursor:pointer}.wapf-field-input input[type=email],.wapf-field-input input[type=number],.wapf-field-input input[type=text],.wapf-field-input input[type=url],.wapf-field-input select,.wapf-field-input textarea{width:100%;box-sizing:border-box}.wapf-field-input input[type=checkbox],.wapf-field-input input[type=radio]{float:left;margin-top:5px}.wapf-input-label{font-weight:400}.wapf-label-text{padding-left:10px}.wapf-pricing-hint{opacity:.7}.wapf-product-totals{display:none;width:100%}.wapf-product-totals .wapf--inner{padding:20px 0}.wapf-product-totals .wapf--inner>div{padding-bottom:10px;clear:both}.wapf-product-totals .wapf--inner>div:last-child{padding-bottom:0}.wapf-product-totals div span:first-child{font-weight:700}.wapf-product-totals div span:last-child{float:right}/* Intrebari frecvente din Content Boxes (Avada) cu clasa custom_faq-section.
 * Stilurile de inchidere/deschidere se aplica doar dupa ce faq.js a pregatit
 * sectiunea (.custom-faq--ready): fara JS, raspunsurile raman vizibile.
 * Culorile sunt cele ale site-ului (aceleasi ca in configuratorul de pachete). */

.custom_faq-section {
    --faq-blue-deep: #035392;
    --faq-blue-sky:  #5cb5e3;
    --faq-ink:       #212934;
    --faq-text:      #4a4e57;
    --faq-rule:      #e2e2e2;
    --faq-surface:   #f5f9fc;
}

.custom_faq-section.custom-faq--ready {
    display: flex;
    flex-direction: column;
    gap: .75rem;
    margin: 0;
}

/* Avada aseaza fiecare box ca o coloana (float, padding, margine jos). */
.custom_faq-section.custom-faq--ready .custom-faq__item {
    float: none;
    width: 100%;
    margin: 0 !important;
    padding: 0;
}

.custom_faq-section.custom-faq--ready .custom-faq__item > .content-box-wrapper {
    margin: 0;
    padding: 0;
    background: #fff !important;
    border: 1px solid var(--faq-rule);
    border-radius: 10px;
    transition: border-color .2s ease, box-shadow .2s ease;
}

.custom_faq-section.custom-faq--ready .custom-faq__item:hover > .content-box-wrapper {
    border-color: var(--faq-blue-sky);
}

.custom_faq-section.custom-faq--ready .custom-faq__item.is-open > .content-box-wrapper {
    border-color: var(--faq-blue-sky);
    box-shadow: 0 6px 20px rgba(3, 83, 146, .08);
}

.custom_faq-section.custom-faq--ready .heading {
    margin: 0 !important;
    padding: 0;
}

/* h2 are font-size/line-height inline de la Avada; textul il poarta butonul. */
.custom_faq-section.custom-faq--ready .content-box-heading {
    margin: 0 !important;
    padding: 0 !important;
    font-size: inherit !important;
    line-height: inherit !important;
}

.custom_faq-section .custom-faq__toggle {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    width: 100%;
    margin: 0;
    padding: 1.15rem 1.5rem;
    background: none;
    border: 0;
    border-radius: 10px;
    font: inherit;
    font-size: 1.125rem;
    font-weight: 700;
    line-height: 1.4;
    color: var(--faq-ink);
    text-align: left;
    cursor: pointer;
    transition: color .2s ease;
}

.custom_faq-section .custom-faq__toggle:hover,
.custom_faq-section .custom-faq__item.is-open .custom-faq__toggle {
    color: var(--faq-blue-deep);
}

.custom_faq-section .custom-faq__toggle:focus-visible {
    outline: 2px solid var(--faq-blue-sky);
    outline-offset: 2px;
}

.custom_faq-section .custom-faq__question { flex: 1 1 auto; min-width: 0; }

/* „+" desenat din doua bare, ca sa se poata roti in „×" la deschidere. */
.custom_faq-section .custom-faq__icon {
    position: relative;
    flex: none;
    width: 2rem;
    height: 2rem;
    border-radius: 50%;
    background: var(--faq-surface);
    transition: background-color .2s ease, transform .3s ease;
}

.custom_faq-section .custom-faq__icon::before,
.custom_faq-section .custom-faq__icon::after {
    content: "";
    position: absolute;
    top: 50%;
    left: 50%;
    width: .8rem;
    height: 2px;
    margin: -1px 0 0 -.4rem;
    border-radius: 2px;
    background: var(--faq-blue-deep);
    transition: background-color .2s ease;
}

.custom_faq-section .custom-faq__icon::after { transform: rotate(90deg); }

.custom_faq-section .custom-faq__toggle:hover .custom-faq__icon { background: #e6f3fb; }

.custom_faq-section .custom-faq__item.is-open .custom-faq__icon {
    background: var(--faq-blue-sky);
    transform: rotate(45deg);
}

.custom_faq-section .custom-faq__item.is-open .custom-faq__icon::before,
.custom_faq-section .custom-faq__item.is-open .custom-faq__icon::after {
    background: #fff;
}

/* Raspunsul: inaltime animata prin grid 0fr -> 1fr (merge cu orice lungime de text). */
.custom_faq-section.custom-faq--ready .content-container {
    display: grid;
    grid-template-rows: 0fr;
    margin: 0;
    padding: 0;
    transition: grid-template-rows .3s ease;
}

.custom_faq-section.custom-faq--ready .custom-faq__item.is-open .content-container {
    grid-template-rows: 1fr;
}

.custom_faq-section .custom-faq__inner {
    min-height: 0;
    overflow: hidden;
    padding: 0 1.5rem;
    color: var(--faq-text);
    font-size: 1rem;
    line-height: 1.65;
    visibility: hidden;
    transition: padding .3s ease, visibility 0s linear .3s;
}

.custom_faq-section .custom-faq__item.is-open .custom-faq__inner {
    padding-bottom: 1.25rem;
    visibility: visible;
    transition: padding .3s ease, visibility 0s;
}

.custom_faq-section .custom-faq__inner > :first-child { margin-top: 0; }
.custom_faq-section .custom-faq__inner > :last-child { margin-bottom: 0; }

/* Avada pune un clearfix intre titlu si continut; in lista noastra nu are rost. */
.custom_faq-section.custom-faq--ready .fusion-clearfix { display: none; }

@media (max-width: 640px) {
    .custom_faq-section .custom-faq__toggle { padding: 1rem 1.1rem; font-size: 1rem; }
    .custom_faq-section .custom-faq__inner { padding: 0 1.1rem; }
    .custom_faq-section .custom-faq__item.is-open .custom-faq__inner { padding-bottom: 1.1rem; }
}

@media (prefers-reduced-motion: reduce) {
    .custom_faq-section .custom-faq__icon,
    .custom_faq-section.custom-faq--ready .content-container,
    .custom_faq-section .custom-faq__inner {
        transition: none;
    }
}