/* =========================================================
   FULL TIME SKATEBOARDS
   FRONT.CSS — consolidado
   ========================================================= */

:root{
    --black:#0b0b0b;
    --graphite:#1a1a1a;
    --concrete:#d9d9d7;
    --bronze:#c39a5b;
    --white:#f5f5f5;
    --muted:#999;
    --line:rgba(255,255,255,.12);
}

*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
    margin:0;
    background:var(--black);
    color:var(--white);
    font-family:Arial,Helvetica,sans-serif;
}
img{max-width:100%}
a{text-decoration:none;color:inherit}

/* HEADER */
.site-header{
    min-height:88px;
    display:flex;
    align-items:center;
    gap:32px;
    padding:0 5%;
    background:rgba(8,8,8,.98);
    border-bottom:1px solid var(--line);
    position:sticky;
    top:0;
    z-index:1000;
}
.site-brand{
    display:flex;
    align-items:center;
    width:250px;
    flex:0 0 250px;
    overflow:hidden;
}
.site-brand .ft-circle,
.site-brand>span{display:none!important}
.logo-header{
    display:block!important;
    width:245px!important;
    max-width:245px!important;
    height:auto!important;
    max-height:64px!important;
    object-fit:contain!important;
    object-position:left center!important;
    margin:0!important;
    padding:0!important;
    filter:invert(1);
}
.site-header nav{
    display:flex;
    align-items:center;
    gap:28px;
    margin-left:auto;
}
.site-header nav a{
    font-size:11px;
    font-weight:900;
    text-transform:uppercase;
}
.site-header nav a:hover{color:var(--bronze)}
.admin-link{font-size:10px;color:#777}
.mobile-menu{
    display:none;
    margin-left:auto;
    background:none;
    border:0;
    color:#fff;
    font-size:25px;
    cursor:pointer;
}

/* HERO */
.hero{
    min-height:calc(100vh - 88px);
    padding:70px 6%;
    display:flex;
    align-items:center;
    position:relative;
    overflow:hidden;
    background-color:#111;
    background-image:
        linear-gradient(90deg,
            rgba(0,0,0,.82) 0%,
            rgba(0,0,0,.65) 28%,
            rgba(0,0,0,.32) 55%,
            rgba(0,0,0,.05) 82%),
        url('../img/fundo.jpeg');
    background-size:cover;
    background-position:center 38%;
    background-repeat:no-repeat;
}
.hero:after{
    content:"";
    position:absolute;
    inset:0;
    pointer-events:none;
    background:repeating-linear-gradient(
        0deg,
        rgba(255,255,255,.012) 0 1px,
        transparent 1px 4px
    );
}
.hero-copy{
    position:relative;
    z-index:2;
    width:min(720px,100%);
}
.hero-copy>span{
    display:block;
    margin-bottom:18px;
    font-size:10px;
    letter-spacing:5px;
}
.hero h1{
    max-width:760px;
    margin:0 0 25px;
    font-size:clamp(48px,5vw,76px);
    line-height:.91;
    letter-spacing:-4px;
}
.hero h1 strong{color:var(--bronze)}
.hero p{
    max-width:520px;
    color:#d0d0d0;
    font-size:16px;
    line-height:1.6;
}
.hero a{
    display:inline-block;
    margin-top:18px;
    padding:17px 26px;
    background:var(--bronze);
    color:#080808;
    font-weight:1000;
}

/* BENEFÍCIOS */
.benefits{
    display:grid;
    grid-template-columns:repeat(4,1fr);
    background:#151515;
    border-block:1px solid var(--line);
}
.benefits article{
    min-height:88px;
    padding:22px 28px;
    border-right:1px solid var(--line);
    display:flex;
    flex-direction:column;
    justify-content:center;
    gap:5px;
}
.benefits article:last-child{border-right:0}
.benefits strong{font-size:12px}
.benefits small{color:#888}

/* SEÇÕES */
.section{
    padding:60px 6%;
    border-bottom:1px solid var(--line);
}
.section.concrete{
    background:
        linear-gradient(rgba(10,10,10,.88),rgba(10,10,10,.88)),
        radial-gradient(circle at 20% 10%,rgba(255,255,255,.08),transparent 35%),
        #222;
}
.section-title span,
.catalog-hero span{
    font-size:10px;
    color:var(--bronze);
    letter-spacing:4px;
}
.section-title h2{
    margin:8px 0 30px;
    font-size:40px;
}

/* PRODUTOS / EQUIPE */
.product-grid,.team-grid{
    display:grid;
    grid-template-columns:repeat(4,1fr);
    gap:18px;
    align-items:stretch;
}
.product-card,.team-card{
    height:100%;
    padding:14px;
    background:#151515;
    border:1px solid var(--line);
}
.product-image,.team-image{
    aspect-ratio:1;
    display:grid;
    place-items:center;
    overflow:hidden;
    background:#202020;
    color:#555;
    font-weight:1000;
}
.product-image img,.team-image img{
    width:100%;
    height:100%;
    object-fit:cover;
}
.product-card h3,.team-card h3{font-size:13px}
.product-card strong{color:var(--bronze)}
.team-card small{color:#888}
.empty-site{
    grid-column:1/-1;
    padding:35px;
    background:#151515;
    color:#888;
}

/* EVENTOS */
.event-grid{
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:16px;
}
.event-card{
    padding:24px;
    background:#151515;
    border-left:4px solid var(--bronze);
}
.event-card small{color:var(--bronze)}
.event-card p{color:#999}

/* NEWSLETTER */
.newsletter{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:35px;
    align-items:center;
    padding:40px 6%;
    background:var(--concrete);
    color:#111;
}
.newsletter h2{font-size:36px;margin:0}
.newsletter form{display:flex}
.newsletter input{
    flex:1;
    min-width:0;
    padding:16px;
    border:0;
}
.newsletter button{
    padding:0 25px;
    background:#111;
    color:#fff;
    border:0;
    font-weight:900;
}

/* CATÁLOGO */
.catalog-hero{
    padding:70px 6%;
    background:
        linear-gradient(90deg,rgba(0,0,0,.95),rgba(0,0,0,.35)),
        radial-gradient(circle at 75% 40%,rgba(195,154,91,.14),transparent 25%),
        #161616;
}
.catalog-hero h1{font-size:48px;margin:8px 0}
.catalog-hero p{color:#aaa}
.catalog-layout{
    display:grid;
    grid-template-columns:260px 1fr;
    gap:28px;
    padding:35px 5% 60px;
}
.filters{
    height:max-content;
    position:sticky;
    top:108px;
    padding:20px;
    background:#131313;
    border:1px solid var(--line);
}
.filters form{display:flex;flex-direction:column;gap:10px}
.filters label{font-size:10px;color:#aaa;font-weight:800}
.filters input,.filters select{
    padding:12px;
    background:#0c0c0c;
    color:#fff;
    border:1px solid var(--line);
}
.filters button{
    margin-top:8px;
    padding:13px;
    background:var(--bronze);
    color:#080808;
    border:0;
    font-weight:1000;
}
.catalog-toolbar{margin-bottom:18px;color:#999;font-size:12px}
.catalog-grid{
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:18px;
}
.catalog-grid.compact{grid-template-columns:repeat(4,1fr)}
.catalog-card{
    position:relative;
    padding:14px;
    background:#151515;
    border:1px solid var(--line);
}
.catalog-card small{display:block;color:#777;margin-top:12px}
.catalog-card h3{font-size:14px;line-height:1.3}
.catalog-image{
    position:relative;
    aspect-ratio:1;
    display:grid;
    place-items:center;
    overflow:hidden;
    background:#202020;
}
.catalog-image img{
    width:100%;
    height:100%;
    object-fit:cover;
    transition:.3s;
}
.catalog-image .secondary{position:absolute;inset:0;opacity:0}
.catalog-image:hover .primary{opacity:0}
.catalog-image:hover .secondary{opacity:1}
.catalog-image em{
    position:absolute;
    top:10px;
    left:10px;
    padding:6px 8px;
    background:#fff;
    color:#111;
    font-size:9px;
    font-style:normal;
    font-weight:900;
}
.catalog-image em.sale{background:var(--bronze)}
.price{display:flex;gap:8px;align-items:center}
.price del{color:#777;font-size:12px}
.price strong,.catalog-card>strong{color:var(--bronze)}

/* PÁGINA DO PRODUTO */
.product-page{padding:40px 5% 70px}
.product-main{
    display:grid;
    grid-template-columns:1.2fr .8fr;
    gap:40px;
}
.product-gallery{
    display:grid;
    grid-template-columns:90px 1fr;
    gap:14px;
}
.thumbs{display:flex;flex-direction:column;gap:10px}
.thumbs button{
    padding:0;
    background:#111;
    border:1px solid var(--line);
    cursor:pointer;
}
.thumbs img{width:100%;aspect-ratio:1;object-fit:cover}
.main-image{
    min-height:600px;
    display:grid;
    place-items:center;
    overflow:hidden;
    background:#181818;
}
.main-image img{width:100%;height:100%;object-fit:contain}
.product-info>small{color:#777}
.product-info h1{
    margin:12px 0 20px;
    font-size:42px;
    line-height:1;
}
.product-price{
    display:flex;
    flex-direction:column;
    gap:5px;
    margin-bottom:22px;
}
.product-price del{color:#777}
.product-price strong{font-size:30px;color:var(--bronze)}
.product-price span{color:#aaa}
.product-info select,.product-info input{
    width:100%;
    padding:13px;
    background:#111;
    color:#fff;
    border:1px solid var(--line);
}
.stock-info{display:flex;flex-direction:column;gap:4px;margin:18px 0}
.stock-info strong{color:#61d48a}
.stock-info strong.out{color:#ff6b6b}
.stock-info span{color:#999;font-size:12px}
.quantity-row{display:grid;grid-template-columns:90px 1fr;gap:10px}
.buy-button{
    background:var(--bronze);
    color:#080808;
    border:0;
    font-weight:1000;
    cursor:pointer;
}
.shipping-box{
    margin-top:20px;
    padding:18px;
    background:#141414;
    border:1px solid var(--line);
}
.shipping-box>div{
    display:grid;
    grid-template-columns:1fr auto;
    gap:8px;
    margin-top:8px;
}
.shipping-box button{
    padding:0 16px;
    background:#222;
    color:#fff;
    border:1px solid var(--line);
}
.shipping-box p{color:#aaa;font-size:12px}
.share-row{
    display:flex;
    gap:12px;
    align-items:center;
    margin-top:18px;
    color:#999;
    font-size:12px;
}
.share-row a,.share-row button{
    padding:0;
    background:none;
    border:0;
    color:var(--bronze);
    cursor:pointer;
}
.product-details{
    margin-top:55px;
    border-top:1px solid var(--line);
}
.details-tabs{display:flex;gap:8px;padding-top:20px}
.details-tabs button{
    padding:12px 16px;
    background:#171717;
    color:#aaa;
    border:1px solid var(--line);
}
.details-tabs button.active{background:var(--bronze);color:#080808}
.detail-panel{display:none;padding:25px 0;color:#bbb;line-height:1.8}
.detail-panel.active{display:block}
.related-section{padding-top:45px}

/* FOOTER */
.site-footer,footer{
    padding:52px 6%;
    background:#070707;
    border-top:1px solid var(--line);
}
.site-footer{
    display:grid;
    grid-template-columns:minmax(190px,270px) 1fr;
    gap:32px 55px;
    align-items:center;
}
.footer-logo-wrap{
    max-width:270px;
    padding:18px;
    background:#f1f1ef;
}
.logo-footer{
    display:block;
    width:100%;
    height:auto;
    object-fit:contain;
}
.footer-contact strong{letter-spacing:2px}
.footer-contact p,footer p,footer small{color:#888}
.footer-contact p{line-height:1.6}
.footer-contact a:hover{color:var(--bronze)}
.site-footer>small{grid-column:1/-1}

/* TABLET */
@media(max-width:1000px){
    .product-grid,.team-grid{grid-template-columns:repeat(2,1fr)}
    .catalog-grid{grid-template-columns:repeat(2,1fr)}
    .catalog-grid.compact{grid-template-columns:repeat(2,1fr)}
    .product-main{grid-template-columns:1fr}
    .main-image{min-height:480px}
}

/* MOBILE */
@media(max-width:900px){
    .site-header{
        min-height:76px;
        padding:0 20px;
    }
    .site-brand{
        width:190px;
        flex-basis:190px;
    }
    .logo-header{
        width:185px!important;
        max-width:185px!important;
        max-height:52px!important;
    }
    .site-header nav{
        display:none;
        position:absolute;
        top:76px;
        left:0;
        right:0;
        margin:0;
        padding:22px;
        flex-direction:column;
        align-items:flex-start;
        background:#0b0b0b;
        border-bottom:1px solid var(--line);
    }
    .site-header nav.open{display:flex}
    .mobile-menu{display:block}
    .admin-link,.header-actions{display:none}

    .hero{
        min-height:700px;
        padding:70px 6% 60px;
        align-items:flex-end;
        background-position:52% center;
    }
    .hero h1{
        font-size:48px;
        letter-spacing:-2.5px;
    }

    .benefits{grid-template-columns:repeat(2,1fr)}
    .event-grid{grid-template-columns:1fr}
    .newsletter{grid-template-columns:1fr}

    .catalog-layout{grid-template-columns:1fr}
    .filters{position:static}
    .product-gallery{grid-template-columns:1fr}
    .thumbs{order:2;flex-direction:row;overflow:auto}
    .thumbs button{min-width:72px}
}

/* CELULAR */
@media(max-width:560px){
    .site-brand{
        width:165px;
        flex-basis:165px;
    }
    .logo-header{
        width:160px!important;
        max-width:160px!important;
        max-height:48px!important;
    }
    .hero{
        min-height:620px;
        padding:55px 22px 45px;
        background-position:48% center;
    }
    .hero h1{
        font-size:39px;
        line-height:.94;
        letter-spacing:-2px;
    }
    .hero p{font-size:14px}
    .benefits{grid-template-columns:1fr}
    .benefits article{border-right:0;border-bottom:1px solid var(--line)}
    .section{padding:48px 22px}
    .section-title h2,.catalog-hero h1{font-size:34px}
    .product-grid,.team-grid,.catalog-grid,.catalog-grid.compact{grid-template-columns:1fr}
    .newsletter{padding:35px 22px}
    .newsletter h2{font-size:30px}
    .newsletter form{flex-direction:column}
    .newsletter button{padding:15px}
    .main-image{min-height:360px}
    .product-info h1{font-size:34px}
    .site-footer{grid-template-columns:1fr;padding:42px 22px}
    .footer-logo-wrap{max-width:240px}
}

/* =========================================================
   FULL TIME — HOME / BANNERS ADMINISTRÁVEIS
   ========================================================= */

/* A imagem do banner NÃO é mais fixada no CSS.
   Ela deve ser fornecida pela index.php / módulo Banners. */
.hero {
    min-height: 650px;
    padding: 70px 6%;
    display: flex;
    align-items: center;
    position: relative;
    overflow: hidden;
    background-color: #3f3f3f;
    background-position: center center;
    background-repeat: no-repeat;
    background-size: cover;
}

.hero::before {
    content: "";
    position: absolute;
    inset: 0;
    z-index: 1;
    pointer-events: none;
    background: linear-gradient(
        90deg,
        rgba(0,0,0,.72) 0%,
        rgba(0,0,0,.48) 30%,
        rgba(0,0,0,.18) 58%,
        rgba(0,0,0,.02) 82%
    );
}

.hero::after {
    z-index: 2;
}

.hero-copy {
    position: relative;
    z-index: 5;
    width: min(720px,100%);
}

/* Compatibilidade com slider/banner administrável */
.hero-slider,
.hero-slides,
.hero-slide {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
}

.hero-slider,
.hero-slides {
    overflow: hidden;
}

.hero-slide {
    opacity: 0;
    visibility: hidden;
    background-position: center center;
    background-repeat: no-repeat;
    background-size: cover;
    transition: opacity .65s ease, visibility .65s ease;
}

.hero-slide.active {
    opacity: 1;
    visibility: visible;
}

.hero-slide img,
.hero-banner-image {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center center;
}

.hero-dots {
    position: absolute;
    z-index: 10;
    left: 50%;
    bottom: 22px;
    transform: translateX(-50%);
    display: flex;
    gap: 8px;
}

.hero-dot {
    width: 9px;
    height: 9px;
    padding: 0;
    border: 1px solid rgba(255,255,255,.8);
    border-radius: 50%;
    background: transparent;
    cursor: pointer;
}

.hero-dot.active {
    background: var(--bronze);
    border-color: var(--bronze);
}

/* MARCAS */
.brands-strip {
    height: 105px;
    display: grid;
    grid-template-columns: 190px 1fr;
    overflow: hidden;
    background: #303030;
    border-top: 1px solid rgba(255,255,255,.12);
    border-bottom: 1px solid rgba(255,255,255,.12);
}

.brands-label {
    position: relative;
    z-index: 5;
    display: flex;
    flex-direction: column;
    justify-content: center;
    padding: 0 30px;
    background: var(--bronze);
    color: #080808;
}

.brands-label span {
    font-size: 9px;
    font-weight: 900;
    letter-spacing: 4px;
}

.brands-label strong {
    margin-top: 4px;
    font-size: 15px;
    font-weight: 1000;
    white-space: nowrap;
}

.brands-marquee {
    position: relative;
    display: flex;
    align-items: center;
    overflow: hidden;
}

.brands-marquee::before,
.brands-marquee::after {
    content: "";
    position: absolute;
    top: 0;
    bottom: 0;
    width: 70px;
    z-index: 2;
    pointer-events: none;
}

.brands-marquee::before {
    left: 0;
    background: linear-gradient(90deg,#303030,transparent);
}

.brands-marquee::after {
    right: 0;
    background: linear-gradient(-90deg,#303030,transparent);
}

.brands-track {
    display: flex;
    align-items: center;
    width: max-content;
    animation: fulltimeBrands 32s linear infinite;
}

.brands-track span {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    min-width: 170px;
    padding: 0 30px;
    color: #f5f5f5;
    font-size: 19px;
    font-weight: 1000;
    letter-spacing: 1px;
    white-space: nowrap;
    opacity: .76;
    transition: opacity .2s ease,color .2s ease;
}

.brands-track span::after {
    content: "•";
    position: absolute;
    right: -4px;
    color: var(--bronze);
    font-size: 11px;
}

.brands-track span:hover {
    color: var(--bronze);
    opacity: 1;
}

.brands-marquee:hover .brands-track {
    animation-play-state: paused;
}

@keyframes fulltimeBrands {
    from { transform: translateX(0); }
    to   { transform: translateX(-50%); }
}

/* WHATSAPP */
.whatsapp-float {
    position: fixed !important;
    right: 25px !important;
    bottom: 25px !important;
    z-index: 99999 !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 10px;
    height: 60px;
    padding: 0 20px 0 15px;
    background: #25D366 !important;
    color: #fff !important;
    border-radius: 50px;
    text-decoration: none !important;
    font-size: 13px;
    font-weight: 900;
    box-shadow: 0 8px 30px rgba(0,0,0,.45);
    transition: transform .2s ease,box-shadow .2s ease;
}

.whatsapp-float svg {
    display: block !important;
    width: 32px !important;
    height: 32px !important;
    flex: 0 0 32px;
    color: #fff !important;
}

.whatsapp-float span {
    display: block;
    white-space: nowrap;
}

.whatsapp-float:hover {
    transform: translateY(-4px);
    box-shadow: 0 12px 35px rgba(0,0,0,.60);
}

/* IDENTIDADE CINZA CONCRETO */
body {
    background:
        linear-gradient(135deg,rgba(255,255,255,.018),rgba(0,0,0,.035)),
        #424242;
}

.site-header {
    background: rgba(42,42,42,.98);
}

.section {
    background-color: #424242;
}

.section.concrete {
    background:
        linear-gradient(rgba(48,48,48,.90),rgba(48,48,48,.90)),
        radial-gradient(circle at 20% 10%,rgba(255,255,255,.07),transparent 35%),
        #383838;
}

.benefits {
    background: #363636;
}

.product-card,
.team-card,
.event-card,
.empty-site {
    background: #393939;
}

.site-footer,
footer {
    background: #292929;
}

@media (max-width: 768px) {
    .hero {
        min-height: 560px;
        padding: 55px 22px 45px;
        align-items: flex-end;
        background-size: cover;
        background-position: center center;
    }

    .hero-slide {
        background-size: cover;
        background-position: center center;
    }

    .hero-slide img,
    .hero-banner-image {
        object-fit: cover;
        object-position: center center;
    }

    .brands-strip {
        height: 86px;
        grid-template-columns: 115px 1fr;
    }

    .brands-label { padding: 0 15px; }
    .brands-label span {
        font-size: 7px;
        letter-spacing: 2px;
    }
    .brands-label strong { font-size: 11px; }

    .brands-track { animation-duration: 26s; }
    .brands-track span {
        min-width: 135px;
        padding: 0 20px;
        font-size: 15px;
    }

    .whatsapp-float {
        right: 16px !important;
        bottom: 16px !important;
        width: 58px;
        height: 58px;
        padding: 0;
        border-radius: 50%;
    }

    .whatsapp-float span { display: none; }

    .whatsapp-float svg {
        width: 31px !important;
        height: 31px !important;
    }
}


/* =========================================================
   FULL TIME SKATEBOARDS — HOME CLARA
   Override visual da loja pública
   ========================================================= */

:root {
    --ft-bg: #f3f3f1;
    --ft-bg-soft: #e9e9e6;
    --ft-white: #ffffff;
    --ft-black: #111111;
    --ft-text: #1a1a1a;
    --ft-muted: #666662;
    --ft-line: rgba(0,0,0,.11);
    --ft-card: #ffffff;
}

/* BASE */
html {
    background: var(--ft-bg);
}

body {
    background:
        radial-gradient(circle at 15% 8%, rgba(0,0,0,.025), transparent 30%),
        linear-gradient(135deg, rgba(255,255,255,.9), rgba(235,235,232,.72)),
        var(--ft-bg) !important;
    color: var(--ft-text) !important;
}

/* HEADER CLARO */
.site-header {
    background: rgba(255,255,255,.96) !important;
    border-bottom: 1px solid var(--ft-line) !important;
    box-shadow: 0 5px 22px rgba(0,0,0,.055);
    backdrop-filter: blur(12px);
}

.site-header nav a,
.site-header .admin-link {
    color: var(--ft-black) !important;
}

.site-header nav a:hover,
.site-header .admin-link:hover {
    color: var(--bronze) !important;
}

.site-header nav a::after {
    background: var(--ft-black) !important;
}

.mobile-menu {
    color: var(--ft-black) !important;
    border-color: rgba(0,0,0,.15) !important;
}

/* HERO
   A fotografia continua vindo do painel de Banners.
   Apenas clareamos a composição. */
.hero {
    background-color: #e7e7e4 !important;
}

.hero::before {
    background:
        linear-gradient(
            90deg,
            rgba(245,245,242,.96) 0%,
            rgba(245,245,242,.84) 25%,
            rgba(245,245,242,.46) 48%,
            rgba(245,245,242,.08) 72%,
            rgba(245,245,242,0) 100%
        ) !important;
}

.hero-copy {
    color: var(--ft-black) !important;
}

.hero-copy > span {
    color: var(--bronze) !important;
}

.hero-copy h1 {
    color: var(--ft-black) !important;
    text-shadow: none !important;
}

.hero-copy h1 strong {
    color: var(--ft-black) !important;
}

.hero-copy p {
    color: #3e3e3b !important;
}

.hero-copy a {
    background: var(--ft-black) !important;
    color: #fff !important;
    border-color: var(--ft-black) !important;
}

.hero-copy a:hover {
    background: var(--bronze) !important;
    border-color: var(--bronze) !important;
    color: var(--ft-black) !important;
}

/* MARCAS */
.brands-strip {
    background: #ececea !important;
    border-top: 1px solid var(--ft-line) !important;
    border-bottom: 1px solid var(--ft-line) !important;
}

.brands-label {
    background: var(--ft-black) !important;
    color: #fff !important;
}

.brands-label span {
    color: var(--bronze) !important;
}

.brands-track span {
    color: #202020 !important;
    opacity: .78;
}

.brands-track span:hover {
    color: var(--ft-black) !important;
    opacity: 1;
}

.brands-track span::after {
    color: var(--bronze) !important;
}

.brands-marquee::before {
    background: linear-gradient(90deg,#ececea,transparent) !important;
}

.brands-marquee::after {
    background: linear-gradient(-90deg,#ececea,transparent) !important;
}

/* BENEFÍCIOS */
.benefits {
    background: #ffffff !important;
    border-top: 1px solid var(--ft-line) !important;
    border-bottom: 1px solid var(--ft-line) !important;
}

.benefits article {
    border-color: var(--ft-line) !important;
}

.benefits strong {
    color: var(--ft-black) !important;
}

.benefits small {
    color: var(--ft-muted) !important;
}

/* SEÇÕES */
.section {
    background: var(--ft-bg) !important;
    color: var(--ft-text) !important;
}

.section:nth-of-type(even) {
    background: #ececea !important;
}

.section.concrete {
    background:
        radial-gradient(circle at 18% 8%, rgba(0,0,0,.035), transparent 31%),
        linear-gradient(135deg, #f8f8f6 0%, #e8e8e5 100%) !important;
}

.section-title span,
.eyebrow {
    color: #8c6328 !important;
}

.section-title h2,
.section h2,
.section h3 {
    color: var(--ft-black) !important;
}

/* PRODUTOS */
.product-card {
    background: var(--ft-card) !important;
    color: var(--ft-text) !important;
    border: 1px solid var(--ft-line) !important;
    box-shadow: 0 8px 28px rgba(0,0,0,.045);
}

.product-card:hover {
    border-color: rgba(0,0,0,.25) !important;
    box-shadow: 0 13px 34px rgba(0,0,0,.09);
}

.product-image {
    background: #eeeeeb !important;
}

.product-card h3,
.product-card strong {
    color: var(--ft-black) !important;
}

.product-card small,
.product-card p {
    color: var(--ft-muted) !important;
}

/* EQUIPE */
.team-card {
    background: #ffffff !important;
    border: 1px solid var(--ft-line) !important;
    color: var(--ft-text) !important;
    box-shadow: 0 8px 28px rgba(0,0,0,.045);
}

.team-card h3 {
    color: var(--ft-black) !important;
}

.team-card small,
.team-card p {
    color: var(--ft-muted) !important;
}

.team-image {
    background: #e5e5e2 !important;
}

/* EVENTOS */
.event-card {
    background: #ffffff !important;
    border: 1px solid var(--ft-line) !important;
    color: var(--ft-text) !important;
    box-shadow: 0 8px 28px rgba(0,0,0,.045);
}

.event-card h3 {
    color: var(--ft-black) !important;
}

.event-card p,
.event-card small {
    color: var(--ft-muted) !important;
}

/* ESTADOS VAZIOS */
.empty-site {
    background: rgba(255,255,255,.75) !important;
    color: var(--ft-muted) !important;
    border: 1px dashed rgba(0,0,0,.18) !important;
}

/* NEWSLETTER */
.newsletter {
    background: #dededb !important;
    color: var(--ft-black) !important;
    border-top: 1px solid var(--ft-line) !important;
}

.newsletter h2 {
    color: var(--ft-black) !important;
}

.newsletter p {
    color: var(--ft-muted) !important;
}

.newsletter input {
    background: #fff !important;
    color: var(--ft-black) !important;
    border: 1px solid rgba(0,0,0,.18) !important;
}

.newsletter input::placeholder {
    color: #8b8b87 !important;
}

.newsletter button {
    background: var(--ft-black) !important;
    color: #fff !important;
    border-color: var(--ft-black) !important;
}

.newsletter button:hover {
    background: var(--bronze) !important;
    color: var(--ft-black) !important;
}

/* CATÁLOGO / PÁGINAS PÚBLICAS */
.catalog-toolbar,
.catalog-filters,
.product-detail,
.product-info,
.product-gallery {
    background-color: #fff !important;
    color: var(--ft-text) !important;
    border-color: var(--ft-line) !important;
}

.catalog-toolbar input,
.catalog-toolbar select,
.catalog-filters input,
.catalog-filters select,
.product-info input,
.product-info select {
    background: #f7f7f5 !important;
    color: var(--ft-black) !important;
    border-color: rgba(0,0,0,.15) !important;
}

/* FOOTER PRETO — CONTRASTE FINAL */
.site-footer,
footer {
    background: #111111 !important;
    color: #f5f5f5 !important;
    border-top: 1px solid rgba(255,255,255,.10) !important;
}

.site-footer h2,
.site-footer h3,
.site-footer strong,
footer h2,
footer h3,
footer strong {
    color: #fff !important;
}

.site-footer p,
.site-footer small,
footer p,
footer small {
    color: #aaa !important;
}

.site-footer a,
footer a {
    color: #eee !important;
}

.site-footer a:hover,
footer a:hover {
    color: var(--bronze) !important;
}

/* WHATSAPP permanece destacado */
.whatsapp-float {
    box-shadow: 0 8px 28px rgba(0,0,0,.22) !important;
}

/* MOBILE */
@media (max-width: 768px) {
    .site-header nav {
        background: rgba(255,255,255,.985) !important;
        border-top: 1px solid var(--ft-line) !important;
        border-bottom: 1px solid var(--ft-line) !important;
    }

    .site-header nav a {
        color: var(--ft-black) !important;
        border-color: rgba(0,0,0,.08) !important;
    }

    .hero::before {
        background:
            linear-gradient(
                0deg,
                rgba(245,245,242,.96) 0%,
                rgba(245,245,242,.76) 35%,
                rgba(245,245,242,.18) 72%,
                rgba(245,245,242,0) 100%
            ) !important;
    }

    .hero-copy h1 {
        color: #111 !important;
    }

    .brands-strip {
        background: #ececea !important;
    }
}