/*
=========================================================
 NANCY NOVIDADES
 FASE 2 - LOJA PROFISSIONAL
=========================================================
*/

:root{
    --orange:#ff5a00;
    --orange2:#ff7a00;
    --orange-dark:#e94d00;

    --black:#171717;
    --text:#252525;
    --muted:#737373;

    --bg:#f7f7f7;
    --white:#fff;

    --border:#e8e8e8;

    --shadow-sm:0 3px 12px rgba(0,0,0,.06);
    --shadow:0 12px 35px rgba(0,0,0,.10);

    --radius:16px;

    --max:1240px;
}

*{
    box-sizing:border-box;
}

html{
    scroll-behavior:smooth;
}

body{
    margin:0 !important;

    background:
        linear-gradient(
            180deg,
            #fff 0,
            #f8f8f8 420px,
            #f7f7f7 100%
        ) !important;

    color:var(--text);

    font-family:
        Inter,
        -apple-system,
        BlinkMacSystemFont,
        "Segoe UI",
        Roboto,
        Arial,
        sans-serif !important;
}

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

.store-container{
    width:min(var(--max),calc(100% - 32px));
    margin:0 auto;
}

/* ======================================================
   TOP BAR
====================================================== */

.store-topbar{
    background:#171717;
    color:#fff;

    font-size:13px;
    text-align:center;

    padding:8px 15px;

    letter-spacing:.2px;
}

.store-topbar strong{
    color:#ff9a68;
}

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

.store-header{
    position:sticky;
    top:0;
    z-index:100;

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

    backdrop-filter:blur(14px);

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

    box-shadow:
        0 3px 18px rgba(0,0,0,.05);
}

.store-header-inner{
    width:min(var(--max),calc(100% - 32px));
    min-height:76px;

    margin:auto;

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

    gap:25px;
}

/* ======================================================
   BRAND
====================================================== */

.store-brand{
    display:flex;
    align-items:center;
    gap:11px;

    color:var(--black) !important;

    text-decoration:none !important;

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

    white-space:nowrap;
}

.store-brand-icon{
    width:43px;
    height:43px;

    border-radius:13px;

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

    color:white;

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

    background:
        linear-gradient(
            135deg,
            var(--orange),
            var(--orange2)
        );

    box-shadow:
        0 7px 18px rgba(255,90,0,.25);
}

.store-brand span{
    letter-spacing:-.5px;
}

.store-brand small{
    display:block;

    color:var(--muted);

    font-size:10px;

    font-weight:700;

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

/* ======================================================
   NAV
====================================================== */

.store-nav{
    display:flex;
    align-items:center;
    gap:7px;
}

.store-nav a{
    color:#444 !important;

    text-decoration:none !important;

    padding:10px 13px;

    border-radius:9px;

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

.store-nav a:hover{
    background:#fff1eb;
    color:var(--orange) !important;
}

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

.store-header-btn{
    display:inline-flex;
    align-items:center;
    justify-content:center;

    padding:11px 17px;

    border-radius:10px;

    background:
        linear-gradient(
            135deg,
            var(--orange),
            var(--orange2)
        );

    color:#fff !important;

    text-decoration:none !important;

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

    box-shadow:
        0 6px 18px rgba(255,90,0,.20);
}

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

.store-hero{
    position:relative;

    overflow:hidden;

    margin:28px auto 0;

    width:min(var(--max),calc(100% - 32px));

    min-height:330px;

    border-radius:24px;

    background:
        radial-gradient(
            circle at 80% 20%,
            rgba(255,255,255,.18),
            transparent 30%
        ),
        linear-gradient(
            135deg,
            #e94d00,
            #ff6b18 55%,
            #ff8a42
        );

    color:#fff;

    display:flex;
    align-items:center;
}

.store-hero::after{
    content:"";

    position:absolute;

    width:400px;
    height:400px;

    right:-130px;
    bottom:-220px;

    border-radius:50%;

    border:80px solid rgba(255,255,255,.08);
}

.store-hero-content{
    position:relative;
    z-index:2;

    width:min(650px,100%);

    padding:48px;
}

.store-hero-kicker{
    display:inline-flex;

    padding:7px 11px;

    margin-bottom:15px;

    border-radius:999px;

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

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

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

    text-transform:uppercase;
    letter-spacing:.8px;
}

.store-hero h1{
    margin:0 0 12px;

    color:#fff;

    font-size:clamp(32px,5vw,52px);

    line-height:1.02;

    letter-spacing:-1.8px;

    font-weight:950;
}

.store-hero p{
    margin:0 0 25px;

    max-width:570px;

    color:rgba(255,255,255,.90);

    font-size:16px;
}

.store-hero-actions{
    display:flex;
    gap:11px;
    flex-wrap:wrap;
}

.store-btn-primary{
    display:inline-flex;
    align-items:center;
    justify-content:center;

    padding:13px 20px;

    border-radius:11px;

    background:#fff;

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

    text-decoration:none !important;

    font-weight:900;

    box-shadow:0 8px 25px rgba(0,0,0,.12);
}

.store-btn-secondary{
    display:inline-flex;
    align-items:center;
    justify-content:center;

    padding:13px 20px;

    border-radius:11px;

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

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

    color:#fff !important;

    text-decoration:none !important;

    font-weight:800;
}

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

.store-benefits{
    display:grid;

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

    gap:15px;

    margin:20px auto 40px;

    width:min(var(--max),calc(100% - 32px));
}

.store-benefit{
    background:#fff;

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

    border-radius:14px;

    padding:18px;

    display:flex;
    align-items:center;

    gap:13px;

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

.store-benefit-icon{
    width:42px;
    height:42px;

    flex:none;

    border-radius:11px;

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

    background:#fff1eb;

    color:var(--orange);

    font-size:19px;
}

.store-benefit strong{
    display:block;

    font-size:14px;
}

.store-benefit span{
    display:block;

    margin-top:2px;

    color:var(--muted);

    font-size:12px;
}

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

.store-section{
    width:min(var(--max),calc(100% - 32px));

    margin:45px auto;
}

.store-section-header{
    display:flex;
    align-items:end;
    justify-content:space-between;

    gap:20px;

    margin-bottom:20px;
}

.store-section-title{
    margin:0;

    font-size:27px;

    letter-spacing:-.7px;
}

.store-section-subtitle{
    margin:5px 0 0;

    color:var(--muted);

    font-size:14px;
}

.store-view-all{
    color:var(--orange) !important;

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

    text-decoration:none !important;
}

/* ======================================================
   PRODUCT GRID
====================================================== */

.store-products{
    display:grid;

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

    gap:18px;
}

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

.store-product-card{
    position:relative;

    overflow:hidden;

    background:#fff;

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

    border-radius:17px;

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

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

.store-product-card:hover{
    transform:translateY(-5px);

    border-color:#ffd2c0;

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

.store-product-image{
    position:relative;

    aspect-ratio:1 / 1;

    background:#f3f3f3;

    overflow:hidden;
}

.store-product-image img{
    width:100%;
    height:100%;

    display:block;

    object-fit:cover;

    transition:transform .35s ease;
}

.store-product-card:hover
.store-product-image img{
    transform:scale(1.045);
}

.store-product-badge{
    position:absolute;

    top:11px;
    left:11px;

    z-index:2;

    padding:6px 9px;

    border-radius:999px;

    background:#171717;

    color:#fff;

    font-size:10px;

    font-weight:900;

    text-transform:uppercase;
}

.store-product-content{
    padding:16px;
}

.store-product-name{
    margin:0 0 8px;

    font-size:15px;

    font-weight:800;

    line-height:1.35;

    color:#222;
}

.store-product-description{
    margin:0 0 12px;

    color:var(--muted);

    font-size:12px;

    display:-webkit-box;
    -webkit-line-clamp:2;
    -webkit-box-orient:vertical;
    overflow:hidden;
}

.store-product-bottom{
    display:flex;

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

    gap:10px;
}

.store-product-price{
    color:var(--orange);

    font-size:18px;

    font-weight:950;

    letter-spacing:-.4px;
}

.store-product-button{
    display:inline-flex;

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

    min-width:42px;
    min-height:38px;

    padding:8px 12px;

    border-radius:9px;

    background:#fff1eb;

    color:var(--orange) !important;

    text-decoration:none !important;

    font-size:12px;

    font-weight:900;
}

.store-product-button:hover{
    background:var(--orange);

    color:#fff !important;
}

/* ======================================================
   EMPTY STATE
====================================================== */

.store-empty{
    padding:60px 20px;

    text-align:center;

    background:#fff;

    border:1px dashed #ddd;

    border-radius:17px;

    color:var(--muted);
}

.store-empty-icon{
    font-size:42px;

    margin-bottom:10px;
}

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

.store-cta{
    width:min(var(--max),calc(100% - 32px));

    margin:60px auto;

    padding:35px;

    border-radius:20px;

    color:#fff;

    background:
        linear-gradient(
            135deg,
            #171717,
            #292929
        );

    display:flex;

    align-items:center;

    justify-content:space-between;

    gap:25px;
}

.store-cta h2{
    margin:0 0 5px;

    color:#fff;

    font-size:25px;
}

.store-cta p{
    margin:0;

    color:#aaa;

    font-size:14px;
}

.store-cta a{
    flex:none;

    padding:12px 18px;

    border-radius:10px;

    background:var(--orange);

    color:#fff !important;

    text-decoration:none !important;

    font-weight:900;
}

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

.store-footer{
    margin-top:70px;

    background:#171717;

    color:#aaa;
}

.store-footer-inner{
    width:min(var(--max),calc(100% - 32px));

    margin:auto;

    padding:40px 0 25px;

    display:grid;

    grid-template-columns:
        1.5fr 1fr 1fr;

    gap:35px;
}

.store-footer h3{
    margin:0 0 12px;

    color:#fff;

    font-size:15px;
}

.store-footer p{
    margin:0;

    font-size:13px;

    line-height:1.7;
}

.store-footer a{
    display:block;

    margin:7px 0;

    color:#aaa !important;

    text-decoration:none !important;

    font-size:13px;
}

.store-footer a:hover{
    color:#fff !important;
}

.store-footer-bottom{
    border-top:1px solid #303030;

    padding:17px;

    text-align:center;

    font-size:12px;

    color:#777;
}

/* ======================================================
   MOBILE
====================================================== */

@media(max-width:1050px){

    .store-products{
        grid-template-columns:
            repeat(3,minmax(0,1fr));
    }

}

@media(max-width:800px){

    .store-nav{
        display:none;
    }

    .store-header-inner{
        min-height:65px;
    }

    .store-hero{
        min-height:300px;
    }

    .store-hero-content{
        padding:35px 28px;
    }

    .store-benefits{
        grid-template-columns:1fr;
    }

    .store-products{
        grid-template-columns:
            repeat(2,minmax(0,1fr));
    }

    .store-cta{
        flex-direction:column;
        align-items:flex-start;
    }

    .store-footer-inner{
        grid-template-columns:1fr 1fr;
    }

}

@media(max-width:520px){

    .store-container,
    .store-header-inner,
    .store-hero,
    .store-benefits,
    .store-section,
    .store-cta,
    .store-footer-inner{
        width:calc(100% - 24px);
    }

    .store-brand{
        font-size:19px;
    }

    .store-brand-icon{
        width:39px;
        height:39px;
        font-size:20px;
    }

    .store-header-btn{
        padding:9px 12px;
        font-size:12px;
    }

    .store-hero{
        border-radius:18px;
        margin-top:15px;
    }

    .store-hero-content{
        padding:30px 22px;
    }

    .store-hero h1{
        font-size:34px;
    }

    .store-hero p{
        font-size:14px;
    }

    .store-section{
        margin:35px auto;
    }

    .store-section-title{
        font-size:23px;
    }

    .store-products{
        grid-template-columns:
            repeat(2,minmax(0,1fr));

        gap:11px;
    }

    .store-product-content{
        padding:12px;
    }

    .store-product-name{
        font-size:13px;
    }

    .store-product-price{
        font-size:15px;
    }

    .store-product-button{
        min-width:34px;
        min-height:34px;
        padding:6px 8px;
    }

    .store-footer-inner{
        grid-template-columns:1fr;
        gap:25px;
    }

}
