.gfaq,
.gfaq *{
    box-sizing:border-box;
}

.gfaq{
    --pink:#e83e78;
    --pink-dark:#c72d61;
    --pink-soft:#fff2f7;
    --pink-light:#fff8fb;
    --dark:#22212a;
    --text:#686570;
    --green:#19a75a;
    --gold:#d99618;
    --line:#eee7ed;
    --white:#fff;

    width:100%;
    max-width:1220px;
    margin:22px auto 55px;
    padding:0 14px;

    font-family:inherit;
    color:var(--dark);
}

.gfaq button,
.gfaq input{
    font-family:inherit;
}

.gfaq a{
    text-decoration:none;
}

/* =========================================================
 HERO
========================================================= */

.gfaq-hero{
    position:relative;
    overflow:hidden;

    border-radius:32px;
    padding:42px 40px;

    margin-bottom:22px;

    background:
        radial-gradient(circle at 92% 12%,rgba(232,62,120,.17),transparent 30%),
        radial-gradient(circle at 6% 92%,rgba(255,118,168,.13),transparent 30%),
        linear-gradient(135deg,#fff 0%,#fff5f9 45%,#ffe8f0 100%);

    border:1px solid rgba(255,255,255,.95);

    box-shadow:
        inset 0 1px 0 rgba(255,255,255,1),
        0 28px 70px rgba(232,62,120,.11);
}

.gfaq-hero:before{
    content:"";
    position:absolute;

    width:230px;
    height:230px;

    right:-80px;
    top:-80px;

    border-radius:50%;

    background:
        radial-gradient(circle,rgba(232,62,120,.16),transparent 70%);

    animation:gfaqFloat 7s ease-in-out infinite;
}

.gfaq-hero:after{
    content:"";
    position:absolute;

    width:170px;
    height:170px;

    left:-50px;
    bottom:-60px;

    border-radius:50%;

    background:
        radial-gradient(circle,rgba(255,118,168,.14),transparent 70%);

    animation:gfaqFloat2 8s ease-in-out infinite;
}

@keyframes gfaqFloat{
    0%,100%{transform:translateY(0)}
    50%{transform:translateY(15px)}
}

@keyframes gfaqFloat2{
    0%,100%{transform:translateX(0)}
    50%{transform:translateX(17px)}
}

.gfaq-hero-inner{
    position:relative;
    z-index:2;

    display:flex;
    align-items:center;
    justify-content:space-between;

    gap:35px;
}

.gfaq-hero-copy{
    max-width:760px;
}

.gfaq-chip{
    display:inline-flex;
    align-items:center;
    gap:8px;

    padding:8px 14px;

    border-radius:50px;

    background:rgba(255,255,255,.78);
    backdrop-filter:blur(12px);

    border:1px solid rgba(255,255,255,.96);

    box-shadow:
        0 10px 28px rgba(232,62,120,.08);

    color:var(--pink-dark);

    font-size:11px;
    font-weight:800;

    letter-spacing:.7px;
    text-transform:uppercase;

    margin-bottom:14px;
}

.gfaq-chip-dot{
    width:8px;
    height:8px;

    border-radius:50%;

    background:var(--green);

    box-shadow:0 0 0 5px rgba(25,167,90,.10);
}

.gfaq-hero h1{
    margin:0 0 13px !important;

    color:#202029 !important;

    font-family:inherit !important;

    font-size:42px !important;
    line-height:1.12 !important;

    font-weight:800 !important;

    text-transform:none !important;

    letter-spacing:-.8px;
}

.gfaq-hero h1 span{
    color:var(--pink);
}

.gfaq-hero p{
    margin:0 !important;

    max-width:700px;

    color:#686570;

    font-size:15px;
    line-height:1.8;
}

/* 3D FAQ ART */

.gfaq-art{
    position:relative;

    width:180px;
    min-width:180px;
    height:180px;

    border-radius:38px;

    display:flex;
    align-items:center;
    justify-content:center;

    background:
        linear-gradient(
            145deg,
            rgba(255,255,255,.98),
            rgba(255,255,255,.68)
        );

    backdrop-filter:blur(14px);

    border:1px solid rgba(255,255,255,.95);

    box-shadow:
        inset 0 1px 0 #fff,
        0 30px 65px rgba(232,62,120,.19);

    transform:rotate(-4deg);
}

.gfaq-art:after{
    content:"?";

    position:absolute;

    width:61px;
    height:61px;

    right:-16px;
    bottom:-15px;

    border-radius:20px;

    display:flex;
    align-items:center;
    justify-content:center;

    color:#fff;

    font-size:29px;
    font-weight:900;

    background:
        linear-gradient(145deg,#ff649c,#d72a64);

    box-shadow:
        0 17px 30px rgba(232,62,120,.28);

    transform:rotate(9deg);
}

.gfaq-art svg{
    width:102px;
    height:102px;
}

/* =========================================================
 QUICK FEATURES
========================================================= */

.gfaq-mini-grid{
    display:grid;
    grid-template-columns:repeat(4,1fr);
    gap:13px;

    margin-bottom:25px;
}

.gfaq-mini{
    position:relative;
    overflow:hidden;

    display:flex;
    align-items:center;

    gap:11px;

    padding:15px;

    border-radius:20px;

    background:
        linear-gradient(
            180deg,
            rgba(255,255,255,.97),
            rgba(255,255,255,.80)
        );

    border:1px solid rgba(255,255,255,.96);

    box-shadow:
        0 14px 35px rgba(28,20,30,.07);
}

.gfaq-mini:after{
    content:"";

    position:absolute;

    width:80px;
    height:80px;

    right:-35px;
    bottom:-35px;

    border-radius:50%;

    background:
        radial-gradient(
            circle,
            rgba(232,62,120,.08),
            transparent 70%
        );
}

.gfaq-mini-icon{
    position:relative;
    z-index:2;

    width:40px;
    min-width:40px;
    height:40px;

    border-radius:14px;

    display:flex;
    align-items:center;
    justify-content:center;

    color:var(--pink);

    background:
        linear-gradient(145deg,#fff,#ffe9f1);

    box-shadow:
        0 10px 22px rgba(232,62,120,.11);
}

.gfaq-mini-icon svg{
    width:19px;
    height:19px;
}

.gfaq-mini-text{
    position:relative;
    z-index:2;
}

.gfaq-mini-text strong{
    display:block;

    color:#37353e;

    font-size:12px;

    margin-bottom:2px;
}

.gfaq-mini-text span{
    display:block;

    color:#89858e;

    font-size:10px;
    line-height:1.4;
}

/* =========================================================
 SEARCH
========================================================= */

.gfaq-search-section{
    position:relative;

    padding:27px;

    border-radius:27px;

    margin-bottom:24px;

    background:
        radial-gradient(circle at 5% 5%,rgba(232,62,120,.07),transparent 26%),
        linear-gradient(135deg,#fff8fb,#fff);

    border:1px solid #f3e3e9;

    box-shadow:
        0 18px 45px rgba(30,20,30,.07);
}

.gfaq-search-top{
    text-align:center;

    margin-bottom:17px;
}

.gfaq-search-top small{
    display:block;

    margin-bottom:5px;

    color:var(--pink);

    font-size:10px;
    font-weight:800;

    letter-spacing:1px;
    text-transform:uppercase;
}

.gfaq-search-top h2{
    margin:0 0 6px !important;

    color:#25242d !important;

    font-family:inherit !important;

    font-size:27px !important;
    font-weight:800 !important;

    text-transform:none !important;
}

.gfaq-search-top p{
    margin:0 !important;

    color:#7c7982;

    font-size:12px;
}

.gfaq-searchbox{
    position:relative;

    max-width:760px;

    margin:0 auto 17px;
}

.gfaq-search-icon{
    position:absolute;

    left:17px;
    top:50%;

    transform:translateY(-50%);

    color:#99949d;
}

.gfaq-search-icon svg{
    width:20px;
    height:20px;
}

#gfaqSearch{
    width:100%;

    height:55px !important;

    border:1px solid #e9e2e8 !important;

    outline:none !important;

    border-radius:17px !important;

    padding:0 47px !important;

    background:
        linear-gradient(145deg,#fff,#fdfbfd) !important;

    color:#33313a !important;

    font-size:13px !important;

    box-shadow:
        inset 0 1px 0 #fff,
        0 12px 25px rgba(30,20,30,.05) !important;

    transition:.2s ease;
}

#gfaqSearch:focus{
    border-color:#e8adc2 !important;

    box-shadow:
        0 0 0 4px rgba(232,62,120,.06),
        0 12px 25px rgba(30,20,30,.05) !important;
}

.gfaq-search-clear{
    position:absolute;

    right:12px;
    top:50%;

    transform:translateY(-50%);

    width:31px;
    height:31px;

    border:none !important;

    border-radius:10px !important;

    background:#fff1f6 !important;

    color:var(--pink-dark) !important;

    cursor:pointer;

    font-size:15px !important;

    padding:0 !important;

    display:none;
}

/* FILTERS */

.gfaq-filter-row{
    display:flex;
    align-items:center;
    justify-content:center;

    flex-wrap:wrap;

    gap:8px;
}

.gfaq-filter{
    border:1px solid #ecdce4 !important;

    border-radius:50px !important;

    background:#fff !important;

    color:#66616b !important;

    padding:9px 14px !important;

    min-height:auto !important;

    font-size:10px !important;
    line-height:1.2 !important;

    font-weight:800 !important;

    cursor:pointer;

    box-shadow:
        0 7px 15px rgba(30,20,30,.03) !important;

    transition:.2s ease !important;
}

.gfaq-filter:hover,
.gfaq-filter.active{
    background:
        linear-gradient(145deg,#ff5c96,#dc2d67) !important;

    border-color:transparent !important;

    color:#fff !important;

    box-shadow:
        0 11px 22px rgba(232,62,120,.20) !important;
}

/* =========================================================
 SECTION TITLES
========================================================= */

.gfaq-category{
    margin-bottom:27px;
}

.gfaq-category.hidden-cat{
    display:none;
}

.gfaq-category-head{
    display:flex;
    align-items:center;

    gap:12px;

    margin-bottom:13px;
}

.gfaq-cat-icon{
    width:46px;
    min-width:46px;
    height:46px;

    border-radius:15px;

    display:flex;
    align-items:center;
    justify-content:center;

    color:var(--pink);

    background:
        linear-gradient(145deg,#fff,#ffeaf2);

    box-shadow:
        0 11px 24px rgba(232,62,120,.11);

    border:1px solid #f7e5ec;
}

.gfaq-cat-icon svg{
    width:21px;
    height:21px;
}

.gfaq-category-head small{
    display:block;

    color:var(--pink);

    font-size:9px;
    font-weight:800;

    text-transform:uppercase;

    letter-spacing:.9px;

    margin-bottom:2px;
}

.gfaq-category-head h2{
    margin:0 !important;

    font-family:inherit !important;

    color:#29272f !important;

    font-size:21px !important;
    font-weight:800 !important;

    line-height:1.3 !important;

    text-transform:none !important;
}

/* =========================================================
 FAQ ACCORDION
========================================================= */

.gfaq-list{
    display:grid;
    gap:10px;
}

.gfaq-item{
    position:relative;
    overflow:hidden;

    border-radius:19px;

    background:
        linear-gradient(
            180deg,
            rgba(255,255,255,.98),
            rgba(255,255,255,.85)
        );

    border:1px solid #eee7ed;

    box-shadow:
        inset 0 1px 0 #fff,
        0 10px 27px rgba(30,20,30,.045);

    transition:
        transform .2s ease,
        box-shadow .2s ease,
        border-color .2s ease;
}

.gfaq-item:hover{
    border-color:#efceda;

    box-shadow:
        0 15px 32px rgba(30,20,30,.07);
}

.gfaq-item.open{
    border-color:#f0c5d5;

    box-shadow:
        0 17px 38px rgba(232,62,120,.09);
}

.gfaq-item.hide{
    display:none;
}

.gfaq-question{
    width:100%;

    display:flex !important;
    align-items:center;
    justify-content:space-between;

    gap:16px;

    padding:17px 18px !important;

    border:none !important;

    background:transparent !important;

    color:#302e37 !important;

    text-align:left !important;

    cursor:pointer;

    min-height:auto !important;

    box-shadow:none !important;

    text-transform:none !important;
}

.gfaq-q-left{
    display:flex;
    align-items:center;

    gap:12px;
}

.gfaq-q-number{
    width:31px;
    min-width:31px;
    height:31px;

    border-radius:10px;

    display:flex;
    align-items:center;
    justify-content:center;

    color:var(--pink-dark);

    background:#fff0f5;

    font-size:9px;
    font-weight:900;

    transition:.22s ease;
}

.gfaq-item.open .gfaq-q-number{
    color:#fff;

    background:
        linear-gradient(145deg,#ff5d96,#da2b66);

    box-shadow:
        0 8px 16px rgba(232,62,120,.20);
}

.gfaq-q-text{
    font-size:13px;

    line-height:1.5;

    font-weight:800;
}

.gfaq-toggle{
    width:31px;
    min-width:31px;
    height:31px;

    border-radius:10px;

    display:flex;
    align-items:center;
    justify-content:center;

    color:var(--pink);

    background:#fff4f8;

    font-size:20px;

    font-weight:400;

    transition:
        transform .25s ease,
        background .25s ease;
}

.gfaq-item.open .gfaq-toggle{
    transform:rotate(45deg);

    background:var(--pink);

    color:#fff;
}

.gfaq-answer{
    max-height:0;

    overflow:hidden;

    opacity:0;

    transition:
        max-height .35s ease,
        opacity .25s ease;
}

.gfaq-answer-inner{
    margin:0 18px;

    padding:0 0 18px 43px;

    color:#686570;

    font-size:12px;

    line-height:1.8;
}

.gfaq-answer-inner p{
    margin:0 0 10px !important;
}

.gfaq-answer-inner p:last-child{
    margin-bottom:0 !important;
}

.gfaq-answer-inner strong{
    color:#39363f;
}

.gfaq-answer-inner ul{
    padding-left:18px;
    margin:9px 0 !important;
}

.gfaq-answer-inner li{
    margin-bottom:5px;
}

.gfaq-answer-inner a{
    color:var(--pink-dark);
    font-weight:800;
}

.gfaq-item.open .gfaq-answer{
    opacity:1;
}

/* INFO / NOTICE INSIDE ANSWER */

.gfaq-answer-note{
    margin-top:11px;

    padding:11px 13px;

    border-radius:12px;

    background:#fff4f8;

    border:1px solid #f2dae3;

    color:#625d66;

    font-size:11px;

    line-height:1.65;
}

.gfaq-warning{
    margin-top:11px;

    padding:11px 13px;

    border-radius:12px;

    background:#fff9ed;

    border:1px solid #f2e2b8;

    color:#6b5c35;

    font-size:11px;

    line-height:1.65;
}

/* =========================================================
 DELIVERY PRICE CARDS
========================================================= */

.gfaq-price-grid{
    display:grid;
    grid-template-columns:repeat(3,1fr);

    gap:9px;

    margin-top:13px;
}

.gfaq-price{
    padding:13px;

    border-radius:14px;

    text-align:center;

    background:
        linear-gradient(145deg,#fff,#fff7fa);

    border:1px solid #f1e1e8;
}

.gfaq-price small{
    display:block;

    margin-bottom:4px;

    color:#88838c;

    font-size:9px;
    font-weight:700;
}

.gfaq-price strong{
    display:block;

    color:var(--pink-dark);

    font-size:17px;
    font-weight:900;
}

/* =========================================================
 NO RESULTS
========================================================= */

#gfaqNoResults{
    display:none;

    text-align:center;

    padding:35px 20px;

    margin-bottom:25px;

    border-radius:22px;

    background:#fff9fb;

    border:1px dashed #edcbd8;

    color:#74717a;
}

#gfaqNoResults strong{
    display:block;

    margin-bottom:5px;

    color:#34313a;

    font-size:15px;
}

/* =========================================================
 QUICK LINKS
========================================================= */

.gfaq-actions{
    position:relative;
    overflow:hidden;

    display:grid;
    grid-template-columns:repeat(3,1fr);

    gap:13px;

    margin:31px 0 25px;

    padding:24px;

    border-radius:27px;

    background:
        radial-gradient(circle at 95% 5%,rgba(255,255,255,.08),transparent 25%),
        linear-gradient(135deg,#24222b,#312a37);

    box-shadow:
        0 24px 60px rgba(25,20,28,.18);
}

.gfaq-action-card{
    padding:19px;

    border-radius:19px;

    background:
        linear-gradient(
            180deg,
            rgba(255,255,255,.09),
            rgba(255,255,255,.045)
        );

    border:1px solid rgba(255,255,255,.09);

    color:#fff;
}

.gfaq-action-icon{
    width:39px;
    height:39px;

    border-radius:13px;

    display:flex;
    align-items:center;
    justify-content:center;

    margin-bottom:12px;

    color:#ff91b7;

    background:rgba(255,255,255,.08);
}

.gfaq-action-icon svg{
    width:19px;
    height:19px;
}

.gfaq-action-card strong{
    display:block;

    margin-bottom:5px;

    color:#fff;

    font-size:13px;
}

.gfaq-action-card p{
    min-height:38px;

    margin:0 0 12px !important;

    color:#c9c5ce;

    font-size:10px;

    line-height:1.6;
}

.gfaq-action-btn{
    display:inline-flex;
    align-items:center;
    justify-content:center;

    gap:6px;

    padding:9px 12px;

    border-radius:11px;

    color:#fff !important;

    background:
        linear-gradient(145deg,#ff5c96,#da2c67);

    font-size:9px;

    font-weight:800;

    box-shadow:
        0 10px 20px rgba(232,62,120,.19);
}

/* =========================================================
 FINAL CTA
========================================================= */

.gfaq-final{
    position:relative;
    overflow:hidden;

    display:flex;
    align-items:center;
    justify-content:space-between;

    gap:22px;

    padding:24px;

    border-radius:25px;

    background:
        linear-gradient(135deg,#f7fff9,#effaf3);

    border:1px solid #dfeee4;

    box-shadow:
        0 16px 38px rgba(20,100,55,.06);
}

.gfaq-final-left{
    display:flex;
    align-items:center;

    gap:14px;
}

.gfaq-final-icon{
    width:49px;
    min-width:49px;
    height:49px;

    border-radius:16px;

    display:flex;
    align-items:center;
    justify-content:center;

    color:#16894a;

    background:
        linear-gradient(145deg,#fff,#e4f7eb);

    box-shadow:
        0 12px 24px rgba(22,137,74,.10);
}

.gfaq-final-icon svg{
    width:23px;
    height:23px;
}

.gfaq-final strong{
    display:block;

    margin-bottom:4px;

    color:#28352d;

    font-size:14px;
}

.gfaq-final p{
    margin:0 !important;

    color:#69766d;

    font-size:11px;

    line-height:1.6;
}

.gfaq-wa{
    display:inline-flex !important;
    align-items:center;
    justify-content:center;

    gap:8px;

    white-space:nowrap;

    padding:13px 17px !important;

    border-radius:14px !important;

    color:#fff !important;

    background:
        linear-gradient(145deg,#27c967,#149f4e) !important;

    font-size:11px !important;

    font-weight:800 !important;

    box-shadow:
        0 13px 26px rgba(24,165,88,.21);

    transition:.2s ease !important;
}

.gfaq-wa:hover{
    transform:translateY(-2px);
}

.gfaq-wa svg{
    width:17px;
    height:17px;
}

/* =========================================================
 RESPONSIVE
========================================================= */

@media(max-width:950px){

    .gfaq-mini-grid{
        grid-template-columns:1fr 1fr;
    }

    .gfaq-actions{
        grid-template-columns:1fr;
    }

}

@media(max-width:800px){

    .gfaq-hero-inner{
        display:block;
    }

    .gfaq-art{
        display:none;
    }

}

@media(max-width:640px){

    .gfaq{
        padding:0 10px;
    }

    .gfaq-hero{
        padding:28px 19px;

        border-radius:24px;
    }

    .gfaq-hero h1{
        font-size:31px !important;
    }

    .gfaq-mini-grid{
        grid-template-columns:1fr;
    }

    .gfaq-search-section{
        padding:20px 15px;
    }

    .gfaq-search-top h2{
        font-size:23px !important;
    }

    .gfaq-question{
        padding:14px !important;
    }

    .gfaq-q-text{
        font-size:12px;
    }

    .gfaq-answer-inner{
        margin:0 14px;

        padding:
            0
            0
            16px
            0;
    }

    .gfaq-price-grid{
        grid-template-columns:1fr;
    }

    .gfaq-actions{
        padding:17px;
    }

    .gfaq-final{
        display:block;
    }

    .gfaq-wa{
        width:100%;

        margin-top:15px;
    }

}