﻿
/*==========================================================
    BEAUTY & CONHECIMENTO
    CSS PROFISSIONAL
    Desenvolvido para Landing Page Premium

    Parte 1
    ✔ Reset
    ✔ Variáveis
    ✔ Utilidades
    ✔ Botões
    ✔ Topbar
    ✔ Header
    ✔ Hero
==========================================================*/


/*==========================================================
                    GOOGLE FONTS
==========================================================*/

@import url('https://fonts.googleapis.com/css2?family=Poppins:wght@300;400;500;600;700;800&family=Playfair+Display:wght@500;600;700&display=swap');


/*==========================================================
                    ROOT
==========================================================*/

:root{

    /* CORES */

    --primary:#D94B82;
    --primary-dark:#C4346C;
    --primary-light:#FFE7F1;

    --secondary:#FFF6FA;

    --accent:#FFD6E7;

    --gold:#D8A74C;

    --success:#22C55E;

    --danger:#E63946;

    --white:#FFFFFF;

    --black:#222222;

    --gray-dark:#444;

    --gray:#777;

    --gray-light:#999;

    --background:#FFFDFE;

    --background-section:#FAF8F9;

    --border:#ECECEC;


    /* FONTES */

    --title:'Playfair Display',serif;

    --text:'Poppins',sans-serif;


    /* SOMBRAS */

    --shadow-sm:0 4px 12px rgba(0,0,0,.05);

    --shadow-md:0 12px 30px rgba(0,0,0,.08);

    --shadow-lg:0 25px 60px rgba(0,0,0,.12);


    /* RADIUS */

    --radius-sm:8px;

    --radius:14px;

    --radius-lg:22px;

    --radius-xl:40px;


    /* TRANSIÇÕES */

    --transition:.35s ease;

}


/*==========================================================
                    RESET
==========================================================*/

*{

    margin:0;

    padding:0;

    box-sizing:border-box;

}

html{

    scroll-behavior:smooth;

}

body{

    background:var(--background);

    color:var(--gray-dark);

    font-family:var(--text);

    font-size:16px;

    line-height:1.7;

    overflow-x:hidden;

}

img{

    max-width:100%;

    display:block;

}

a{

    text-decoration:none;

    transition:var(--transition);

}

button{

    cursor:pointer;

    border:none;

    outline:none;

    background:none;

    transition:var(--transition);

}

ul{

    list-style:none;

}


/*==========================================================
                    SCROLLBAR
==========================================================*/

::-webkit-scrollbar{

    width:10px;

}

::-webkit-scrollbar-track{

    background:#f2f2f2;

}

::-webkit-scrollbar-thumb{

    background:var(--primary);

    border-radius:50px;

}

::-webkit-scrollbar-thumb:hover{

    background:var(--primary-dark);

}


/*==========================================================
                    CONTAINER
==========================================================*/

.container{

    width:100%;

    max-width:1280px;

    margin:auto;

    padding:0 25px;

}


/*==========================================================
                    TIPOGRAFIA
==========================================================*/

h1,h2,h3,h4{

    color:var(--black);

    line-height:1.2;

}

h1{

    font-size:62px;

    font-family:var(--title);

    font-weight:700;

}

h2{

    font-size:42px;

    font-family:var(--title);

    margin-bottom:18px;

}

h3{

    font-size:23px;

}

p{

    color:var(--gray);

}

.section-header{

    text-align:center;

    margin-bottom:70px;

}

.section-header span{

    color:var(--primary);

    font-weight:600;

    letter-spacing:2px;

    text-transform:uppercase;

}

.section-header p{

    max-width:720px;

    margin:25px auto 0;

}


/*==========================================================
                    ESPAÇAMENTO
==========================================================*/

section{

    padding:110px 0;

}


/*==========================================================
                    BOTÕES
==========================================================*/

.btn-primary{

    display:inline-flex;

    align-items:center;

    justify-content:center;

    gap:10px;

    padding:18px 42px;

    border-radius:60px;

    background:linear-gradient(135deg,var(--primary),var(--primary-dark));

    color:white;

    font-weight:600;

    box-shadow:var(--shadow-md);

    transition:.4s;

}

.btn-primary:hover{

    transform:translateY(-6px);

    box-shadow:0 25px 45px rgba(217,75,130,.30);

}

.btn-secondary{

    display:inline-flex;

    align-items:center;

    justify-content:center;

    padding:18px 42px;

    border-radius:60px;

    border:2px solid var(--primary);

    color:var(--primary);

    font-weight:600;

}

.btn-secondary:hover{

    background:var(--primary);

    color:#fff;

}

.btn-outline{

    display:inline-flex;

    align-items:center;

    justify-content:center;

    padding:18px 40px;

    border-radius:60px;

    border:1px solid var(--border);

    color:var(--black);

    font-weight:600;

}

.btn-outline:hover{

    background:var(--primary);

    color:#fff;

}


/*==========================================================
                    TOPBAR
==========================================================*/

.topbar{

    background:linear-gradient(90deg,#FDEAF2,#FFF);

    border-bottom:1px solid var(--border);

    padding:14px 0;

}

.topbar .container{

    display:flex;

    justify-content:space-between;

    align-items:center;

    gap:20px;

    flex-wrap:wrap;

}

.topbar-item{

    display:flex;

    align-items:center;

    gap:10px;

    color:var(--gray-dark);

    font-size:14px;

    font-weight:500;

}

.topbar-item i{

    color:var(--primary);

}


/*==========================================================
                    HEADER
==========================================================*/

header{

    position:sticky;

    top:0;

    z-index:999;

    background:rgba(255,255,255,.95);

    backdrop-filter:blur(15px);

    border-bottom:1px solid rgba(0,0,0,.05);

}

header .container{

    display:flex;

    justify-content:space-between;

    align-items:center;

    min-height:92px;

}

.logo img{

    width:190px;

}


/*==========================================================
                    MENU
==========================================================*/

nav ul{

    display:flex;

    gap:38px;

}

nav ul li a{

    color:var(--black);

    font-weight:500;

    position:relative;

}

nav ul li a::after{

    content:"";

    position:absolute;

    left:0;

    bottom:-10px;

    width:0;

    height:2px;

    background:var(--primary);

    transition:.4s;

}

nav ul li a:hover{

    color:var(--primary);

}

nav ul li a:hover::after{

    width:100%;

}


/*==========================================================
                    ÍCONES HEADER
==========================================================*/

.header-icons{

    display:flex;

    gap:15px;

}

.header-icons button{

    width:48px;

    height:48px;

    border-radius:50%;

    background:white;

    box-shadow:var(--shadow-sm);

    position:relative;

}

.header-icons button:hover{

    background:var(--primary);

    color:white;

    transform:translateY(-4px);

}

.header-icons span{

    position:absolute;

    top:-6px;

    right:-4px;

    width:22px;

    height:22px;

    border-radius:50%;

    background:var(--primary);

    color:white;

    display:flex;

    align-items:center;

    justify-content:center;

    font-size:11px;

}


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

.hero{

    background:
    radial-gradient(circle at top right,#FFEAF2 0%,transparent 40%),
    linear-gradient(180deg,#FFF 0%,#FFF8FB 100%);

    overflow:hidden;

    padding:90px 0 120px;

}

.hero-grid{

    display:grid;

    grid-template-columns:1fr 1fr;

    align-items:center;

    gap:70px;

}

.hero-left h1{

    margin:20px 0;

}

.hero-left h1 span{

    color:var(--primary);

}

.subtitle{

    color:var(--primary);

    font-weight:600;

    letter-spacing:2px;

    text-transform:uppercase;

    font-size:14px;

}

.hero-text{

    margin:30px 0;

    font-size:17px;

}

.hero-benefits{

    display:flex;

    flex-wrap:wrap;

    gap:18px;

    margin-bottom:35px;

}

.hero-benefits div{

    display:flex;

    align-items:center;

    gap:10px;

    background:white;

    padding:12px 20px;

    border-radius:50px;

    box-shadow:var(--shadow-sm);

}

.hero-benefits i{

    color:var(--success);

}

.hero-buttons{

    display:flex;

    gap:20px;

    margin-top:30px;

}

.hero-right{

    position:relative;

}

.hero-right img{

    width:100%;

    border-radius:30px;

    box-shadow:var(--shadow-lg);

}


/*==========================================================
                BENEFITS SECTION
==========================================================*/

.benefits{

    position:relative;

    padding:90px 0;

    background:var(--background-section);

}

.benefits::before{

    content:"";

    position:absolute;

    inset:0;

    background:
    radial-gradient(circle at left,#ffe8f1 0%,transparent 40%),
    radial-gradient(circle at right,#fff4f8 0%,transparent 35%);

    opacity:.7;

    pointer-events:none;

}

.benefits .container{

    position:relative;

    display:grid;

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

    gap:25px;

}

.benefit-card{

    background:#fff;

    border-radius:22px;

    padding:35px 28px;

    text-align:center;

    box-shadow:var(--shadow-sm);

    transition:.35s;

    border:1px solid rgba(0,0,0,.04);

    position:relative;

    overflow:hidden;

}

.benefit-card::before{

    content:"";

    position:absolute;

    top:0;

    left:0;

    width:100%;

    height:4px;

    background:linear-gradient(
    90deg,
    var(--primary),
    var(--gold));

    transform:scaleX(0);

    transition:.4s;

}

.benefit-card:hover{

    transform:translateY(-12px);

    box-shadow:var(--shadow-lg);

}

.benefit-card:hover::before{

    transform:scaleX(1);

}

.benefit-icon{

    width:80px;

    height:80px;

    margin:auto;

    border-radius:50%;

    display:flex;

    justify-content:center;

    align-items:center;

    margin-bottom:25px;

    background:linear-gradient(
    135deg,
    var(--primary-light),
    #fff);

    font-size:30px;

    color:var(--primary);

}

.benefit-content h3{

    margin-bottom:12px;

    font-size:20px;

}

.benefit-content p{

    font-size:15px;

    color:var(--gray);

}


/*==========================================================
                CATÁLOGO
==========================================================*/

.catalogo{

    background:white;

}

.catalogo .section-header{

    margin-bottom:55px;

}

.catalogo .section-header h2{

    margin-top:12px;

}

.catalogo .section-header p{

    font-size:17px;

}


/*==========================================================
            CATEGORY NAVIGATION
==========================================================*/

.category-navigation{

    display:flex;

    justify-content:center;

    align-items:center;

    gap:18px;

    margin-bottom:55px;

    flex-wrap:wrap;

}

.category-btn{

    padding:16px 28px;

    border-radius:50px;

    background:#fff;

    color:var(--gray-dark);

    border:1px solid var(--border);

    display:flex;

    align-items:center;

    gap:10px;

    font-weight:600;

    transition:.35s;

    box-shadow:var(--shadow-sm);

}

.category-btn i{

    color:var(--primary);

    font-size:18px;

}

.category-btn:hover{

    transform:translateY(-5px);

    box-shadow:var(--shadow-md);

    border-color:var(--primary);

}

.category-btn.active{

    background:linear-gradient(
    135deg,
    var(--primary),
    var(--primary-dark));

    color:white;

}

.category-btn.active i{

    color:white;

}


/*==========================================================
                FILTER BAR
==========================================================*/

.catalog-filters{

    display:flex;

    justify-content:space-between;

    align-items:center;

    gap:30px;

    margin-bottom:45px;

    flex-wrap:wrap;

}

.filters-left{

    display:flex;

    gap:18px;

    flex-wrap:wrap;

}

.filters-left select{

    min-width:220px;

    padding:15px 22px;

    border-radius:14px;

    border:1px solid var(--border);

    background:white;

    color:var(--gray-dark);

    font-size:15px;

    outline:none;

    transition:.35s;

    box-shadow:var(--shadow-sm);

}

.filters-left select:hover{

    border-color:var(--primary);

}

.filters-left select:focus{

    border-color:var(--primary);

    box-shadow:
    0 0 0 4px rgba(217,75,130,.12);

}


/*==========================================================
            VIEW BUTTONS
==========================================================*/

.filters-right{

    display:flex;

    gap:15px;

}

.filters-right button{

    width:52px;

    height:52px;

    border-radius:14px;

    background:white;

    box-shadow:var(--shadow-sm);

    border:1px solid var(--border);

    transition:.35s;

}

.filters-right button i{

    font-size:18px;

    color:var(--gray-dark);

}

.filters-right button:hover{

    background:var(--primary);

    transform:translateY(-4px);

}

.filters-right button:hover i{

    color:white;

}


/*==========================================================
                DIVIDER
==========================================================*/

.catalog-divider{

    width:100%;

    height:1px;

    background:#ececec;

    margin:45px 0;

}


/*==========================================================
            PRODUCTS GRID
==========================================================*/

.products-grid{

    display:grid;

    grid-template-columns:
    repeat(auto-fit,minmax(300px,1fr));

    gap:35px;

}


/*==========================================================
        LOADING PLACEHOLDER
==========================================================*/

.product-loading{

    height:420px;

    border-radius:24px;

    background:linear-gradient(
    90deg,
    #f5f5f5 25%,
    #fafafa 50%,
    #f5f5f5 75%);

    background-size:300%;

    animation:loading 2s infinite linear;

}

@keyframes loading{

    from{

        background-position:100%;

    }

    to{

        background-position:-100%;

    }

}


/*==========================================================
            SCROLL ANIMATION
==========================================================*/

.fade-up{

    opacity:0;

    transform:translateY(50px);

    transition:1s;

}

.fade-up.show{

    opacity:1;

    transform:translateY(0);

}


/*==========================================================
            FLOAT ANIMATION
==========================================================*/

.float{

    animation:float 5s ease-in-out infinite;

}

@keyframes float{

    0%{

        transform:translateY(0);

    }

    50%{

        transform:translateY(-12px);

    }

    100%{

        transform:translateY(0);

    }

}



/*==========================================================
                    PRODUCT CARD
==========================================================*/

.product-card{

    position:relative;

    background:#fff;

    border-radius:28px;

    overflow:hidden;

    border:1px solid rgba(0,0,0,.05);

    box-shadow:0 10px 30px rgba(0,0,0,.05);

    transition:.45s ease;

    display:flex;

    flex-direction:column;

}

.product-card:hover{

    transform:translateY(-12px);

    box-shadow:0 30px 60px rgba(0,0,0,.12);

}


/*==========================================================
                    BADGES
==========================================================*/

.product-badge{

    position:absolute;

    top:18px;

    left:18px;

    z-index:20;

    padding:8px 18px;

    border-radius:30px;

    color:#fff;

    font-size:12px;

    font-weight:700;

    letter-spacing:1px;

    text-transform:uppercase;

}

.product-badge.bestseller{

    background:linear-gradient(135deg,#ff4f81,#d94b82);

}

.product-badge.new{

    background:linear-gradient(135deg,#3dbb77,#22c55e);

}

.product-badge.discount{

    background:linear-gradient(135deg,#ff8a00,#ff5a00);

}

.product-badge.combo{

    background:linear-gradient(135deg,#a855f7,#7c3aed);

}


/*==========================================================
                FAVORITE BUTTON
==========================================================*/

.favorite-btn{

    position:absolute;

    top:18px;

    right:18px;

    width:46px;

    height:46px;

    border-radius:50%;

    background:white;

    box-shadow:var(--shadow-sm);

    display:flex;

    align-items:center;

    justify-content:center;

    z-index:20;

    transition:.35s;

}

.favorite-btn i{

    font-size:18px;

    color:var(--gray);

}

.favorite-btn:hover{

    background:var(--primary);

    transform:scale(1.08);

}

.favorite-btn:hover i{

    color:white;

}


/*==========================================================
                    PRODUCT IMAGE
==========================================================*/

.product-image{

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

    padding:40px;

    overflow:hidden;

    display:flex;

    justify-content:center;

    align-items:center;

    min-height:320px;

}

.product-image img{

    max-width:100%;

    transition:.55s;

}

.product-card:hover .product-image img{

    transform:scale(1.08);

}


/*==========================================================
                    PRODUCT INFO
==========================================================*/

.product-info{

    padding:30px;

    display:flex;

    flex-direction:column;

    flex:1;

}

.product-category{

    color:var(--primary);

    font-size:13px;

    font-weight:700;

    text-transform:uppercase;

    letter-spacing:2px;

}

.product-info h3{

    margin:12px 0 15px;

    font-size:24px;

    line-height:1.3;

    transition:.3s;

}

.product-card:hover h3{

    color:var(--primary);

}

.product-info p{

    margin-bottom:22px;

    color:var(--gray);

    font-size:15px;

    line-height:1.7;

}


/*==========================================================
                    RATING
==========================================================*/

.product-rating{

    display:flex;

    align-items:center;

    gap:4px;

    margin-bottom:22px;

}

.product-rating i{

    color:#FDBA12;

    font-size:15px;

}

.product-rating span{

    margin-left:10px;

    color:var(--gray);

    font-weight:600;

}


/*==========================================================
                    PRICE
==========================================================*/

.product-price{

    display:flex;

    align-items:center;

    gap:14px;

    margin-bottom:25px;

}

.old-price{

    color:#999;

    text-decoration:line-through;

    font-size:16px;

}

.price{

    color:var(--primary);

    font-size:30px;

    font-weight:700;

}


/*==========================================================
                    BUY BUTTON
==========================================================*/

.btn-buy{

    margin-top:auto;

    display:flex;

    justify-content:center;

    align-items:center;

    height:58px;

    border-radius:50px;

    background:linear-gradient(
    135deg,
    var(--primary),
    var(--primary-dark));

    color:white;

    font-weight:600;

    letter-spacing:.5px;

    overflow:hidden;

    position:relative;

    transition:.35s;

}

.btn-buy::before{

    content:"";

    position:absolute;

    inset:0;

    background:rgba(255,255,255,.15);

    transform:translateX(-100%);

    transition:.5s;

}

.btn-buy:hover::before{

    transform:translateX(100%);

}

.btn-buy:hover{

    transform:translateY(-4px);

    box-shadow:0 20px 35px rgba(217,75,130,.30);

}


/*==========================================================
                PRODUCT FOOTER
==========================================================*/

.catalog-footer{

    display:flex;

    justify-content:center;

    margin-top:70px;

}


/*==========================================================
                MINI PRODUCT
==========================================================*/

.mini-product{

    display:flex;

    align-items:center;

    gap:20px;

    background:white;

    padding:18px;

    border-radius:22px;

    box-shadow:var(--shadow-sm);

    transition:.35s;

}

.mini-product:hover{

    transform:translateY(-6px);

    box-shadow:var(--shadow-md);

}

.mini-product img{

    width:95px;

    border-radius:18px;

}

.mini-product h3{

    font-size:18px;

    margin-bottom:8px;

}

.mini-product .stars{

    color:#FDBA12;

    margin-bottom:8px;

}

.mini-product strong{

    color:var(--primary);

    font-size:22px;

}


/*==========================================================
                PRODUCT EFFECTS
==========================================================*/

.product-card::after{

    content:"";

    position:absolute;

    inset:0;

    border-radius:28px;

    border:2px solid transparent;

    transition:.35s;

    pointer-events:none;

}

.product-card:hover::after{

    border-color:rgba(217,75,130,.18);

}


/*==========================================================
                PROMO BANNER
==========================================================*/

.promo-banner{

    padding:120px 0;

    background:linear-gradient(
        135deg,
        #FFF8FB,
        #FFEAF3);

}

.promo-content{

    display:grid;

    grid-template-columns:1.1fr .9fr;

    align-items:center;

    gap:70px;

}

.promo-left h2{

    font-size:52px;

    margin:20px 0;

}

.promo-left strong{

    color:var(--primary);

}

.promo-left p{

    margin-bottom:35px;

    font-size:17px;

}

.promo-tag{

    display:inline-flex;

    align-items:center;

    gap:8px;

    padding:10px 24px;

    border-radius:40px;

    background:#fff;

    color:var(--primary);

    font-weight:600;

    box-shadow:var(--shadow-sm);

}

.promo-list{

    margin:35px 0;

}

.promo-list li{

    display:flex;

    align-items:center;

    gap:14px;

    margin-bottom:18px;

}

.promo-list i{

    color:var(--success);

}

.promo-buttons{

    display:flex;

    gap:20px;

    flex-wrap:wrap;

}

.promo-right{

    display:flex;

    justify-content:center;

}

.promo-right img{

    width:100%;

    max-width:520px;

    transition:.45s;

    filter:drop-shadow(0 30px 40px rgba(0,0,0,.15));

}

.promo-right img:hover{

    transform:translateY(-15px);

}


/*==========================================================
                STATISTICS
==========================================================*/

.statistics{

    padding:90px 0;

    background:#fff;

}

.statistics .container{

    display:grid;

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

    gap:30px;

}

.stat-card{

    text-align:center;

    background:white;

    padding:45px 20px;

    border-radius:22px;

    box-shadow:var(--shadow-sm);

    transition:.35s;

}

.stat-card:hover{

    transform:translateY(-8px);

    box-shadow:var(--shadow-md);

}

.stat-card h2{

    color:var(--primary);

    font-size:48px;

    margin-bottom:10px;

}

.stat-card p{

    font-weight:500;

}


/*==========================================================
                WHY US
==========================================================*/

.why-us{

    background:var(--background-section);

}

.why-grid{

    display:grid;

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

    gap:30px;

}

.why-grid article{

    background:white;

    border-radius:24px;

    padding:45px 35px;

    text-align:center;

    transition:.35s;

    box-shadow:var(--shadow-sm);

    position:relative;

    overflow:hidden;

}

.why-grid article::before{

    content:"";

    position:absolute;

    top:0;

    left:0;

    width:100%;

    height:4px;

    background:linear-gradient(
        90deg,
        var(--primary),
        var(--gold));

    transform:scaleX(0);

    transition:.4s;

}

.why-grid article:hover{

    transform:translateY(-12px);

    box-shadow:var(--shadow-lg);

}

.why-grid article:hover::before{

    transform:scaleX(1);

}

.why-grid article i{

    width:90px;

    height:90px;

    margin:auto;

    margin-bottom:25px;

    border-radius:50%;

    display:flex;

    justify-content:center;

    align-items:center;

    font-size:34px;

    color:var(--primary);

    background:var(--primary-light);

}

.why-grid article h3{

    margin-bottom:15px;

    font-size:22px;

}

.why-grid article p{

    font-size:15px;

}


/*==========================================================
                PROMO EFFECT
==========================================================*/

.promo-banner,
.statistics,
.why-us{

    position:relative;

    overflow:hidden;

}

.promo-banner::before{

    content:"";

    position:absolute;

    width:450px;

    height:450px;

    background:rgba(255,255,255,.25);

    border-radius:50%;

    right:-180px;

    top:-180px;

}

.why-us::after{

    content:"";

    position:absolute;

    width:350px;

    height:350px;

    background:rgba(255,255,255,.35);

    border-radius:50%;

    left:-140px;

    bottom:-180px;

}


/*==========================================================
                CTA BUTTONS
==========================================================*/

.promo-buttons .btn-primary{

    min-width:220px;

}

.promo-buttons .btn-secondary{

    min-width:220px;

}


/*==========================================================
            SIMPLE ANIMATION
==========================================================*/

.stat-card,
.why-grid article,
.promo-right img{

    transition:
    transform .45s ease,
    box-shadow .45s ease;

}


/*==========================================================
                    TESTIMONIALS
==========================================================*/

.testimonials{

    background:var(--background-section);

    position:relative;

    overflow:hidden;

}

.testimonials::before{

    content:"";

    position:absolute;

    width:420px;

    height:420px;

    border-radius:50%;

    background:rgba(255,255,255,.45);

    top:-180px;

    right:-180px;

}

.testimonial-grid{

    display:grid;

    grid-template-columns:repeat(auto-fit,minmax(320px,1fr));

    gap:35px;

    position:relative;

}

.testimonial-card{

    background:#fff;

    border-radius:28px;

    padding:40px 35px;

    text-align:center;

    box-shadow:var(--shadow-sm);

    transition:.4s;

    border:1px solid rgba(0,0,0,.05);

}

.testimonial-card:hover{

    transform:translateY(-10px);

    box-shadow:var(--shadow-lg);

}

.testimonial-card img{

    width:95px;

    height:95px;

    border-radius:50%;

    margin:0 auto 20px;

    object-fit:cover;

    border:4px solid var(--primary-light);

}

.testimonial-card h3{

    margin-bottom:5px;

}

.testimonial-card span{

    color:var(--gray);

    font-size:14px;

}

.testimonial-card .stars{

    margin:18px 0;

    color:#FDBA12;

    font-size:18px;

    letter-spacing:2px;

}

.testimonial-card p{

    font-style:italic;

    line-height:1.8;

}


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

.faq{

    background:#fff;

}

.faq .container{

    max-width:900px;

}

.faq-item{

    background:#fff;

    border:1px solid var(--border);

    border-radius:18px;

    padding:28px 30px;

    margin-bottom:20px;

    transition:.35s;

    box-shadow:var(--shadow-sm);

}

.faq-item:hover{

    transform:translateY(-4px);

    box-shadow:var(--shadow-md);

    border-color:var(--primary-light);

}

.faq-item h3{

    margin-bottom:14px;

    font-size:20px;

    color:var(--black);

}

.faq-item p{

    color:var(--gray);

    line-height:1.8;

}


/*==========================================================
                        FOOTER
==========================================================*/

.footer{

    background:#1F1F1F;

    color:#DDD;

    padding:90px 0 30px;

}

.footer-grid{

    display:grid;

    grid-template-columns:2fr 1fr 1fr 1.3fr;

    gap:50px;

    margin-bottom:60px;

}

.footer-column h3{

    color:#FFF;

    margin-bottom:25px;

    font-size:22px;

}

.footer-column p{

    color:#BBB;

    margin-top:25px;

    line-height:1.9;

}

.footer-logo{

    width:190px;

}

.footer-column ul{

    display:flex;

    flex-direction:column;

    gap:15px;

}

.footer-column ul li{

    color:#BBB;

    display:flex;

    align-items:flex-start;

    gap:10px;

    line-height:1.7;

}

.footer-column ul li a{

    color:#BBB;

    transition:.3s;

}

.footer-column ul li a:hover{

    color:var(--primary);

    padding-left:6px;

}

.footer-column ul li i{

    color:var(--primary);

    margin-top:3px;

}


/*==========================================================
                    SOCIAL
==========================================================*/

.footer-social{

    display:flex;

    gap:15px;

    margin-top:30px;

}

.footer-social a{

    width:46px;

    height:46px;

    border-radius:50%;

    background:#2D2D2D;

    color:#FFF;

    display:flex;

    justify-content:center;

    align-items:center;

    transition:.35s;

}

.footer-social a:hover{

    background:var(--primary);

    transform:translateY(-6px);

}


/*==========================================================
                PAYMENT METHODS
==========================================================*/

.payment-methods{

    border-top:1px solid rgba(255,255,255,.08);

    border-bottom:1px solid rgba(255,255,255,.08);

    padding:35px 0;

    text-align:center;

}

.payment-methods h3{

    color:white;

    margin-bottom:25px;

}

.payment-icons{

    display:flex;

    justify-content:center;

    align-items:center;

    flex-wrap:wrap;

    gap:18px;

}

.payment-icons img{

    height:34px;

    opacity:.85;

    transition:.3s;

}

.payment-icons img:hover{

    opacity:1;

    transform:translateY(-4px);

}


/*==========================================================
                    COPYRIGHT
==========================================================*/

.footer-bottom{

    text-align:center;

    padding-top:35px;

}

.footer-bottom p{

    color:#AAA;

    margin-bottom:8px;

    font-size:14px;

}

.footer-bottom strong{

    color:#FFF;

}


/*==========================================================
                BACK TO TOP
==========================================================*/

.back-to-top{

    position:fixed;

    right:30px;

    bottom:30px;

    width:56px;

    height:56px;

    border-radius:50%;

    background:linear-gradient(
        135deg,
        var(--primary),
        var(--primary-dark));

    color:#FFF;

    display:flex;

    justify-content:center;

    align-items:center;

    box-shadow:var(--shadow-lg);

    cursor:pointer;

    transition:.35s;

    z-index:999;

}

.back-to-top:hover{

    transform:translateY(-8px);

}