/*
Theme Name: TrackFY Revopoint 3D
Theme URI: https://trackfy.tech
Description: Tema Revopoint 3D Brasil — representante oficial de tecnologias 3D.
Version: 2.0.0
Author: TrackFY
Text Domain: trackfy-revopoint3d
*/

/* ===== Design System ===== */
:root {
    /* Brand colors — Revopoint (vermelho/preto, cf. app Lovable) */
    --brand-primary:        #FF4438;
    --brand-secondary:      #E03A2F;
    --brand-accent:         #00B84C;
    --brand-dark:           #1A1A1A;
    --brand-darker:         #111111;
    --brand-surface:        #F5F5F5;
    --brand-text:           #111111;
    --brand-muted:          #6B6B6B;
    --brand-white:          #FFFFFF;
    --brand-navy:           #1e3a8a;
    --brand-navy-hover:     #1e40af;
    --brand-gold:           #c9a227;
    --brand-border:         #E5E5E5;
    --brand-border-light:   rgba(0, 0, 0, 0.07);

    /* Hero specific */
    --hero-glow:            rgba(255, 68, 56, 0.20);
    --gradient-hero:        linear-gradient(135deg, #141414, #3A1F1C 55%, #B3372B);
    --gradient-cta:         linear-gradient(90deg, #FF4438, #E03A2F);

    /* Typography — app usa a stack sans do sistema */
    --font-display:         system-ui, -apple-system, 'Segoe UI', Roboto, 'Helvetica Neue', Arial, sans-serif;
    --font-body:            system-ui, -apple-system, 'Segoe UI', Roboto, 'Helvetica Neue', Arial, sans-serif;
    --font-mono:            ui-monospace, 'JetBrains Mono', 'Fira Code', monospace;

    /* Spacing & shape */
    --radius-sm:            .375rem;
    --radius-md:            .5rem;
    --radius-lg:            .75rem;
    --radius-xl:            1rem;
    --shadow-sm:            0 1px 4px rgba(0,0,0,.08);
    --shadow-md:            0 4px 20px rgba(0,0,0,.10);
    --shadow-lg:            0 12px 40px rgba(0,0,0,.14);
    --shadow-blue:          0 8px 32px rgba(255,68,56,.25);
    --max-w:                1280px;
    --header-h:             64px;
    --transition:           .22s ease;
}

/* ===== Reset & Base ===== */
*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }
html { scroll-behavior: smooth; font-size: 16px; }
body {
    font-family: var(--font-body);
    color: var(--brand-text);
    background: var(--brand-white);
    line-height: 1.65;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}
img, video, svg { display: block; max-width: 100%; }
a { color: var(--brand-primary); text-decoration: none; transition: color var(--transition); }
a:hover { color: var(--brand-secondary); }
h1, h2, h3, h4, h5, h6 {
    font-family: var(--font-display);
    line-height: 1.2;
    font-weight: 700;
    color: var(--brand-text);
}
ul, ol { list-style: none; }
button, input, select, textarea { font-family: inherit; }
:focus-visible { outline: 2px solid var(--brand-primary); outline-offset: 3px; }

/* ===== Container ===== */
.container {
    max-width: var(--max-w);
    margin: 0 auto;
    padding: 0 1.5rem;
}

/* ===== Buttons ===== */
.btn {
    display: inline-flex;
    align-items: center;
    gap: .5rem;
    padding: .72rem 1.75rem;
    border-radius: var(--radius-md);
    font-family: var(--font-body);
    font-weight: 600;
    font-size: .95rem;
    cursor: pointer;
    border: 2px solid transparent;
    transition: all var(--transition);
    text-decoration: none;
    white-space: nowrap;
    line-height: 1.4;
}
.btn--primary {
    background: var(--brand-primary);
    color: #fff;
    border-color: var(--brand-primary);
}
.btn--primary:hover {
    background: var(--brand-secondary);
    border-color: var(--brand-secondary);
    color: #fff;
    transform: translateY(-2px);
    box-shadow: var(--shadow-blue);
}
.btn--outline {
    background: transparent;
    color: var(--brand-primary);
    border-color: var(--brand-primary);
}
.btn--outline:hover {
    background: var(--brand-primary);
    color: #fff;
    transform: translateY(-2px);
}
.btn--outline-white {
    background: transparent;
    color: #fff;
    border-color: rgba(255,255,255,.5);
}
.btn--outline-white:hover {
    background: #fff;
    color: var(--brand-primary);
    border-color: #fff;
}
.btn--accent {
    background: var(--brand-accent);
    color: #fff;
    border-color: var(--brand-accent);
}
.btn--accent:hover {
    background: #e04400;
    border-color: #e04400;
    transform: translateY(-2px);
    box-shadow: 0 8px 24px rgba(255,77,0,.35);
}
.btn--full { width: 100%; justify-content: center; }
.btn--lg { padding: .9rem 2.25rem; font-size: 1.05rem; }
.btn--sm { padding: .45rem 1.1rem; font-size: .85rem; }

/* ===== Header (trust bar + barra escura, cf. app Lovable) ===== */
.site-header {
    position: sticky;
    top: 0;
    z-index: 1000;
}

/* Trust bar */
.trust-bar {
    background: #FAFAFA;
    border-bottom: 1px solid var(--brand-border);
}
.trust-bar__grid {
    display: grid;
    grid-template-columns: repeat(7, 1fr);
    gap: .5rem;
    padding: .75rem 0;
}
.trust-bar__item {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: flex-start;
    gap: .375rem;
    text-align: center;
    padding: 0 .5rem;
}
.trust-bar__item svg { color: var(--brand-primary); flex-shrink: 0; }
.trust-bar__item span {
    font-size: .75rem;
    font-weight: 500;
    color: var(--brand-text);
    line-height: 1.25;
}

/* Barra principal escura */
.header-main {
    background: var(--brand-dark);
    color: #fff;
    border-bottom: 1px solid rgba(255,255,255,.1);
}
.header-main__inner {
    display: flex;
    align-items: center;
    justify-content: space-between;
    min-height: var(--header-h);
    padding-top: .375rem;
    padding-bottom: .375rem;
    position: relative;
    gap: .5rem;
}
.header-main__logo {
    display: flex;
    align-items: center;
    gap: .5rem;
    font-weight: 700;
}
.header-main__logo img { height: 32px; width: auto; }
.header-main__logo-br {
    color: var(--brand-primary);
    font-size: .875rem;
    font-weight: 700;
    letter-spacing: .2em;
}
.header-main__actions { display: flex; align-items: center; gap: 1rem; }
.header-main__icon-btn {
    position: relative;
    background: none;
    border: none;
    color: #fff;
    opacity: .9;
    cursor: pointer;
    padding: .25rem;
    display: inline-flex;
    transition: color var(--transition), opacity var(--transition);
}
.header-main__icon-btn:hover { opacity: 1; color: var(--brand-primary); }
.header-main__cart-count {
    position: absolute;
    top: -.35rem;
    right: -.35rem;
    min-width: 1.1rem;
    height: 1.1rem;
    padding: 0 .25rem;
    border-radius: 999px;
    background: var(--brand-primary);
    color: #fff;
    font-size: .65rem;
    font-weight: 700;
    line-height: 1.1rem;
    text-align: center;
}
.btn-comprar {
    display: inline-flex;
    align-items: center;
    gap: .5rem;
    border-radius: var(--radius-md);
    background: var(--brand-navy);
    padding: .5rem 1.25rem;
    font-size: .875rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .04em;
    color: #fff;
    box-shadow: var(--shadow-md), inset 0 0 0 1px rgba(255,255,255,.1);
    transition: background var(--transition);
}
.btn-comprar:hover { background: var(--brand-navy-hover); color: #fff; }

/* Nav central */
.site-nav {
    flex: 1;
    display: flex;
    justify-content: center;
    min-width: 0;
    margin: 0 1rem;
}
.site-nav ul { display: flex; align-items: center; justify-content: center; flex-wrap: wrap; gap: 0; }
.site-nav a {
    display: inline-flex;
    align-items: center;
    gap: .25rem;
    padding: .375rem .625rem;
    color: #fff;
    font-weight: 600;
    font-size: .8125rem;
    line-height: 1.25;
    white-space: nowrap;
    transition: color var(--transition);
}
.site-nav a:hover,
.site-nav .current-menu-item > a { color: var(--brand-primary); }
.site-nav__cta { display: none; }

/* Mobile toggle */
.nav-toggle {
    display: none;
    background: none;
    border: none;
    cursor: pointer;
    padding: .5rem;
    flex-direction: column;
    gap: 5px;
}
.nav-toggle__bar {
    display: block;
    width: 22px;
    height: 2px;
    background: #fff;
    border-radius: 2px;
    transition: transform var(--transition), opacity var(--transition), background var(--transition);
}

@media (max-width: 1100px) {
    .site-nav { display: none; }
    .nav-toggle { display: flex; }
    .header-main__icon-btn, .header-main__actions > .btn-comprar { display: none; }
    .site-nav.open {
        display: block;
        position: fixed;
        top: auto;
        left: 0; right: 0;
        transform: none;
        background: var(--brand-dark);
        padding: .75rem 1.5rem 1.25rem;
        border-top: 1px solid rgba(255,255,255,.1);
        border-bottom: 1px solid rgba(255,255,255,.08);
        box-shadow: var(--shadow-lg);
        z-index: 1001;
    }
    .site-nav.open ul { display: flex; flex-direction: column; align-items: stretch; gap: .25rem; }
    .site-nav.open a { padding: .5rem 0; font-size: .95rem; }
    .site-nav.open .site-nav__cta { display: block; margin-top: .5rem; }
    .site-nav.open .site-nav__cta a.btn-comprar { justify-content: center; display: flex; padding: .5rem 1rem; }
}
@media (max-width: 1024px) {
    .trust-bar__grid { grid-template-columns: repeat(4, 1fr); row-gap: 1rem; }
}
@media (max-width: 640px) {
    .trust-bar__grid { grid-template-columns: repeat(2, 1fr); }
    .site-header { display: contents; }
    .header-main {
        position: sticky;
        top: 0;
        z-index: 1000;
    }
}

/* ===== Hero ===== */
.hero {
    position: relative;
    overflow: hidden;
    background: var(--brand-dark);
    color: #fff;
}
.hero__bg-glow {
    position: absolute;
    top: 10%;
    right: 5%;
    width: 680px;
    height: 680px;
    background: radial-gradient(circle, var(--hero-glow) 0%, transparent 65%);
    border-radius: 50%;
    pointer-events: none;
}
.hero__bg-dots {
    position: absolute;
    inset: 0;
    background-image: radial-gradient(rgba(255,255,255,.04) 1px, transparent 1px);
    background-size: 40px 40px;
    pointer-events: none;
}
.hero__inner {
    display: grid;
    grid-template-columns: 56fr 44fr;
    gap: 3rem;
    align-items: center;
    min-height: calc(100svh - var(--header-h));
    padding: 5rem 0 4rem;
}
.hero__eyebrow {
    display: inline-flex;
    align-items: center;
    gap: .5rem;
    font-size: .78rem;
    font-weight: 700;
    letter-spacing: .14em;
    text-transform: uppercase;
    color: rgba(255,255,255,.55);
    margin-bottom: 1.25rem;
}
.hero__badge {
    display: inline-flex;
    align-items: center;
    gap: .5rem;
    padding: .4rem 1rem;
    background: rgba(255, 68, 56,.15);
    border: 1px solid rgba(255, 68, 56,.35);
    border-radius: var(--radius-xl);
    font-size: .82rem;
    font-weight: 600;
    color: #93b8ff;
    margin-bottom: 1.5rem;
}
.hero__badge strong { color: #fff; }
.hero__title {
    font-family: var(--font-display);
    font-size: clamp(2.4rem, 5vw, 4rem);
    font-weight: 800;
    color: #fff;
    margin-bottom: 1.5rem;
    line-height: 1.08;
    letter-spacing: -.5px;
}
.hero__title span { color: var(--brand-primary); }
.hero__sub {
    font-size: 1.1rem;
    color: rgba(255,255,255,.70);
    margin-bottom: 2rem;
    max-width: 500px;
    line-height: 1.75;
}
.hero__specs {
    display: flex;
    align-items: center;
    gap: 0;
    margin-bottom: 2.5rem;
    padding: 1.25rem 1.75rem;
    background: rgba(255,255,255,.05);
    border: 1px solid rgba(255,255,255,.1);
    border-radius: var(--radius-lg);
    backdrop-filter: blur(8px);
    width: fit-content;
}
.hero__spec { text-align: center; padding: 0 1.75rem; }
.hero__spec:first-child { padding-left: 0; }
.hero__spec strong {
    display: block;
    font-family: var(--font-display);
    font-size: 1.75rem;
    font-weight: 800;
    color: #fff;
    line-height: 1;
    margin-bottom: .2rem;
}
.hero__spec span { font-size: .7rem; color: rgba(255,255,255,.5); letter-spacing: .08em; text-transform: uppercase; }
.hero__spec-divider { width: 1px; height: 36px; background: rgba(255,255,255,.12); flex-shrink: 0; }
.hero__actions { display: flex; gap: 1rem; flex-wrap: wrap; }
.hero__visual {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: 400px;
}
.hero__visual-glow {
    position: absolute;
    width: 420px;
    height: 420px;
    background: radial-gradient(circle, rgba(255, 68, 56,.35) 0%, transparent 65%);
    border-radius: 50%;
}
.hero__product-img {
    position: relative;
    z-index: 1;
    max-height: 480px;
    width: 100%;
    object-fit: contain;
    filter: drop-shadow(0 32px 64px rgba(255, 68, 56,.5));
    animation: hero-float 7s ease-in-out infinite;
}
@keyframes hero-float {
    0%, 100% { transform: translateY(0) rotateY(-4deg); }
    50% { transform: translateY(-18px) rotateY(-4deg); }
}
.hero__video-wrap {
    position: relative;
    width: 100%;
    aspect-ratio: 16 / 9;
    border-radius: var(--radius-lg);
    overflow: hidden;
    box-shadow: 0 24px 64px rgba(255, 68, 56, .40), 0 0 0 1px rgba(255, 68, 56,.18);
}
.hero__video-wrap iframe {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    border: 0;
}

@media (max-width: 900px) {
    .hero__inner {
        grid-template-columns: 1fr;
        min-height: auto;
        padding: 3rem 0;
        text-align: center;
    }
    .hero__sub { margin-left: auto; margin-right: auto; }
    .hero__specs { margin-left: auto; margin-right: auto; }
    .hero__actions { justify-content: center; }
    .hero__visual { min-height: 260px; order: -1; }
    .hero__product-img { max-height: 280px; }
    .hero__bg-glow { width: 340px; height: 340px; right: -10%; }
}
@media (max-width: 480px) {
    .hero__specs { flex-wrap: wrap; justify-content: center; gap: 1rem; padding: 1rem; }
    .hero__spec-divider { display: none; }
    .hero__spec { padding: 0 .75rem; }
}

/* ===== Sections ===== */
.section { padding: 5.5rem 0; background: var(--brand-white); }
.section--dark { background: var(--brand-dark); color: #fff; }
.section--surface { background: var(--brand-surface); }
.section__header { text-align: center; max-width: 640px; margin: 0 auto 3.5rem; }
.section__eyebrow {
    display: inline-block;
    font-size: .72rem;
    font-weight: 700;
    letter-spacing: .16em;
    text-transform: uppercase;
    color: var(--brand-primary);
    margin-bottom: .85rem;
}
.section__title {
    font-family: var(--font-display);
    font-size: clamp(1.7rem, 3vw, 2.5rem);
    font-weight: 800;
    margin-bottom: 1rem;
    letter-spacing: -.3px;
}
.section--dark .section__title { color: #fff; }
.section__sub { color: var(--brand-muted); font-size: 1.05rem; line-height: 1.75; }
.section--dark .section__sub { color: rgba(255,255,255,.65); }

/* ===== Product Cards (Featured — 2×2 grid) ===== */
.cards-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(300px, 1fr)); gap: 1.5rem; }
.cards-grid--featured { grid-template-columns: repeat(2, 1fr); gap: 2rem; }

.card {
    background: #fff;
    border-radius: var(--radius-lg);
    border: 1.5px solid var(--brand-border-light);
    box-shadow: var(--shadow-sm);
    overflow: hidden;
    transition: transform var(--transition), box-shadow var(--transition), border-color var(--transition);
    display: flex;
    flex-direction: column;
}
.card:hover {
    transform: translateY(-5px);
    box-shadow: var(--shadow-lg);
    border-color: var(--brand-border);
}
.card__img-wrap {
    aspect-ratio: 4 / 3;
    overflow: hidden;
    background: var(--brand-surface);
    position: relative;
}
.card__img-wrap img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform .5s ease;
}
.card:hover .card__img-wrap img { transform: scale(1.05); }

.card__badge {
    position: absolute;
    top: .75rem;
    left: .75rem;
    background: var(--brand-primary);
    color: #fff;
    font-size: .68rem;
    font-weight: 700;
    letter-spacing: .08em;
    text-transform: uppercase;
    padding: .25rem .7rem;
    border-radius: var(--radius-xl);
}
.card__body { padding: 1.75rem; flex: 1; display: flex; flex-direction: column; }
.card__tag {
    font-size: .68rem;
    font-weight: 700;
    letter-spacing: .12em;
    text-transform: uppercase;
    color: var(--brand-primary);
    margin-bottom: .5rem;
}
.card__title {
    font-family: var(--font-display);
    font-size: 1.15rem;
    font-weight: 700;
    margin-bottom: .6rem;
}
.card__title a { color: var(--brand-text); transition: color var(--transition); }
.card__title a:hover { color: var(--brand-primary); }
.card__excerpt { color: var(--brand-muted); font-size: .9rem; margin-bottom: .85rem; line-height: 1.65; }
.card__price {
    font-family: var(--font-display);
    font-size: 1.4rem;
    font-weight: 800;
    color: var(--brand-primary);
    margin-bottom: 1.25rem;
}
.card__price small { font-size: .72rem; font-weight: 400; color: var(--brand-muted); margin-left: .3rem; }
.card__price .woocommerce-Price-currencySymbol { font-size: 1rem; }
.card__actions { display: flex; gap: .75rem; flex-wrap: wrap; margin-top: auto; }

@media (max-width: 768px) {
    .cards-grid--featured { grid-template-columns: 1fr; }
}

/* ===== Revo Scan 5 ===== */
.scan5 {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 5rem;
    align-items: center;
}
.scan5__eyebrow {
    display: inline-flex;
    align-items: center;
    gap: .4rem;
    font-size: .72rem;
    font-weight: 700;
    letter-spacing: .14em;
    text-transform: uppercase;
    color: var(--brand-primary);
    margin-bottom: .75rem;
}
.scan5__title {
    font-family: var(--font-display);
    font-size: clamp(1.8rem, 3vw, 2.6rem);
    font-weight: 800;
    line-height: 1.15;
    margin-bottom: 1rem;
    letter-spacing: -.3px;
}
.scan5__desc {
    color: var(--brand-muted);
    font-size: 1.05rem;
    line-height: 1.75;
    margin-bottom: 1.75rem;
}
.scan5__platforms {
    display: flex;
    flex-wrap: wrap;
    gap: .6rem;
    margin-bottom: 1.5rem;
}
.scan5__platform {
    display: inline-flex;
    align-items: center;
    gap: .4rem;
    padding: .45rem 1rem;
    background: #fff;
    border: 1.5px solid var(--brand-border);
    border-radius: var(--radius-xl);
    font-size: .85rem;
    font-weight: 600;
    color: var(--brand-text);
}
.scan5__formats {
    display: flex;
    gap: .5rem;
    flex-wrap: wrap;
    margin-bottom: 2rem;
}
.scan5__format {
    padding: .35rem .85rem;
    background: var(--brand-primary);
    color: #fff;
    border-radius: .4rem;
    font-size: .75rem;
    font-weight: 700;
    letter-spacing: .06em;
    font-family: var(--font-mono);
}
.scan5__visual {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 1rem;
}
.scan5__visual-card {
    padding: 2rem 1.5rem;
    background: #fff;
    border: 1.5px solid var(--brand-border);
    border-radius: var(--radius-lg);
    text-align: center;
    transition: border-color var(--transition), box-shadow var(--transition);
}
.scan5__visual-card:hover {
    border-color: var(--brand-primary);
    box-shadow: var(--shadow-blue);
}
.scan5__visual-icon { font-size: 2.25rem; margin-bottom: .75rem; }
.scan5__visual-label { font-weight: 700; font-size: .9rem; color: var(--brand-text); }

@media (max-width: 768px) {
    .scan5 { grid-template-columns: 1fr; gap: 2.5rem; }
}

/* ===== Segmentos ===== */
.segmentos-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(180px, 1fr)); gap: 1rem; }
.segmento-card {
    text-align: center;
    padding: 2rem 1.25rem;
    background: #fff;
    border-radius: var(--radius-lg);
    border: 1.5px solid var(--brand-border-light);
    transition: all var(--transition);
    text-decoration: none;
}
.segmento-card:hover {
    border-color: var(--brand-primary);
    background: var(--brand-primary);
    transform: translateY(-4px);
    box-shadow: var(--shadow-blue);
}
.segmento-card__icon { font-size: 2.75rem; margin-bottom: .85rem; }
.segmento-card__name {
    font-family: var(--font-display);
    font-weight: 600;
    color: var(--brand-text);
    font-size: .92rem;
    transition: color var(--transition);
}
.segmento-card:hover .segmento-card__name { color: #fff; }

/* ===== Diferenciais (card grid) ===== */
.diferenciais { display: grid; grid-template-columns: repeat(2, 1fr); gap: 1.5rem; }
.diferencial {
    padding: 2rem;
    background: #fff;
    border: 1.5px solid var(--brand-border-light);
    border-radius: var(--radius-lg);
    transition: border-color var(--transition), box-shadow var(--transition), transform var(--transition);
}
.diferencial:hover {
    border-color: var(--brand-border);
    box-shadow: var(--shadow-md);
    transform: translateY(-3px);
}
.diferencial__num {
    font-family: var(--font-display);
    font-size: 3.5rem;
    font-weight: 800;
    color: var(--brand-primary);
    opacity: .12;
    line-height: 1;
    margin-bottom: .25rem;
}
.diferencial__icon { font-size: 1.75rem; margin-bottom: .75rem; }
.diferencial__text h4 {
    font-family: var(--font-display);
    font-size: 1.05rem;
    font-weight: 700;
    margin-bottom: .4rem;
    color: var(--brand-text);
}
.diferencial__text p { font-size: .9rem; color: var(--brand-muted); line-height: 1.65; }

@media (max-width: 600px) {
    .diferenciais { grid-template-columns: 1fr; }
}

/* ===== Marcas (Hub only) ===== */
.marcas-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(220px, 1fr)); gap: 1.5rem; }
.marca-card {
    padding: 2rem;
    background: #fff;
    border: 1.5px solid var(--brand-border-light);
    border-radius: var(--radius-lg);
    text-align: center;
    transition: all var(--transition);
    text-decoration: none;
}
.marca-card:hover {
    border-color: var(--brand-primary);
    box-shadow: var(--shadow-blue);
    transform: translateY(-3px);
}
.marca-card img { height: 50px; width: auto; margin: 0 auto 1rem; }
.marca-card__name { font-family: var(--font-display); font-weight: 700; color: var(--brand-text); font-size: 1rem; }
.marca-card__desc { font-size: .85rem; color: var(--brand-muted); margin-top: .35rem; }

/* ===== CTA Banner ===== */
.cta-banner {
    padding: 6rem 0;
    text-align: center;
    background: var(--gradient-hero);
    position: relative;
    overflow: hidden;
}
.cta-banner::before {
    content: '';
    position: absolute;
    top: -50%;
    left: 50%;
    transform: translateX(-50%);
    width: 600px;
    height: 600px;
    background: radial-gradient(circle, rgba(255, 68, 56,.15) 0%, transparent 65%);
    border-radius: 50%;
    pointer-events: none;
}
.cta-banner h2 {
    font-family: var(--font-display);
    color: #fff;
    font-size: clamp(1.8rem, 3.5vw, 2.8rem);
    font-weight: 800;
    margin-bottom: 1rem;
    letter-spacing: -.3px;
    position: relative;
}
.cta-banner p {
    color: rgba(255,255,255,.72);
    font-size: 1.1rem;
    margin-bottom: 2.5rem;
    max-width: 520px;
    margin-left: auto;
    margin-right: auto;
    line-height: 1.7;
    position: relative;
}
.cta-banner__actions {
    display: flex;
    gap: 1rem;
    justify-content: center;
    flex-wrap: wrap;
    position: relative;
}

/* ===== Quiz Scanner ===== */
.quiz {
    max-width: 680px;
    margin: 0 auto;
    text-align: center;
    position: relative;
}
.quiz__intro h2,
.quiz__question {
    font-family: var(--font-display);
    color: #fff;
    font-size: clamp(1.8rem, 3.5vw, 2.8rem);
    font-weight: 800;
    margin-bottom: 1rem;
    letter-spacing: -.3px;
}
.quiz__intro > p {
    color: rgba(255,255,255,.72);
    font-size: 1.1rem;
    margin-bottom: 2.5rem;
    max-width: 460px;
    margin-left: auto;
    margin-right: auto;
    line-height: 1.7;
}
.quiz__nav {
    display: flex;
    align-items: center;
    min-height: 1.6rem;
    margin-bottom: .5rem;
}
.quiz__back {
    background: none;
    border: none;
    color: rgba(255,255,255,.45);
    font-family: var(--font-body);
    font-size: .85rem;
    font-weight: 600;
    cursor: pointer;
    padding: 0;
    transition: color var(--transition);
}
.quiz__back:hover {
    color: rgba(255,255,255,.9);
}
.quiz__counter {
    font-size: .8rem;
    font-weight: 700;
    letter-spacing: .12em;
    text-transform: uppercase;
    color: rgba(255,255,255,.5);
    margin-bottom: .75rem;
}
.quiz__progress {
    height: 3px;
    background: rgba(255,255,255,.12);
    border-radius: 99px;
    margin-bottom: 2rem;
    overflow: hidden;
}
.quiz__bar {
    height: 100%;
    background: var(--brand-primary);
    border-radius: 99px;
    transition: width .4s ease;
}
.quiz__options {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(145px, 1fr));
    gap: .875rem;
    margin-top: 1.75rem;
}
.quiz__option {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: .45rem;
    padding: 1.25rem 1rem;
    background: rgba(255,255,255,.06);
    border: 1px solid rgba(255,255,255,.12);
    border-radius: var(--radius-lg);
    color: #fff;
    font-family: var(--font-body);
    font-size: .93rem;
    font-weight: 600;
    cursor: pointer;
    transition: background var(--transition), border-color var(--transition), transform var(--transition);
    text-align: center;
    line-height: 1.35;
}
.quiz__option:hover {
    background: rgba(255, 68, 56,.22);
    border-color: var(--brand-primary);
    transform: translateY(-2px);
}
.quiz__option:focus-visible {
    outline: 2px solid var(--brand-primary);
    outline-offset: 3px;
}
.quiz__opt-icon {
    font-size: 2rem;
    line-height: 1;
    display: block;
}
.quiz__option em {
    font-style: normal;
    font-size: .77rem;
    font-weight: 400;
    color: rgba(255,255,255,.5);
    margin-top: .1rem;
    display: block;
}
.quiz__result-badge {
    font-size: .78rem;
    font-weight: 700;
    letter-spacing: .14em;
    text-transform: uppercase;
    color: var(--brand-primary);
    background: rgba(255, 68, 56,.18);
    display: inline-block;
    padding: .3rem .9rem;
    border-radius: 99px;
    margin-bottom: 1.25rem;
    border: 1px solid rgba(255, 68, 56,.35);
}
.quiz__result-name {
    font-family: var(--font-display);
    font-size: clamp(2.4rem, 5vw, 4rem);
    font-weight: 800;
    color: #fff;
    margin-bottom: .75rem;
    letter-spacing: -.5px;
}
.quiz__result-desc {
    color: rgba(255,255,255,.72);
    font-size: 1.05rem;
    max-width: 520px;
    margin: 0 auto 2.25rem;
    line-height: 1.7;
}
.quiz__result-actions {
    display: flex;
    gap: 1rem;
    justify-content: center;
    flex-wrap: wrap;
    margin-bottom: 1.5rem;
}
.quiz__result-nav {
    display: flex;
    gap: 1.25rem;
    justify-content: center;
    align-items: center;
}
.quiz__restart {
    background: none;
    border: none;
    color: rgba(255,255,255,.4);
    font-size: .875rem;
    cursor: pointer;
    text-decoration: underline;
    text-underline-offset: 3px;
    transition: color var(--transition);
    font-family: var(--font-body);
    padding: 0;
}
.quiz__restart:hover { color: rgba(255,255,255,.75); }
@media (max-width: 520px) {
    .quiz__options { grid-template-columns: 1fr 1fr; }
    .quiz__option  { padding: 1rem .75rem; font-size: .85rem; }
    .quiz__opt-icon { font-size: 1.6rem; }
}

/* ===== Breadcrumb ===== */
.breadcrumb {
    font-size: .82rem;
    color: var(--brand-muted);
    margin-bottom: 1.75rem;
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: .25rem;
}
.breadcrumb a { color: var(--brand-primary); text-decoration: none; }
.breadcrumb a:hover { text-decoration: underline; }
.breadcrumb span { color: var(--brand-muted); font-size: .72rem; }
.breadcrumb > *:last-child { color: var(--brand-text); font-weight: 600; }

/* ===== Comparador de Scanners (template-comparar) ===== */
.comparador-wrap { margin: 2rem 0; }
.comparador-hint {
    display: flex;
    align-items: center;
    gap: .4rem;
    font-size: .82rem;
    font-weight: 600;
    color: var(--brand-muted);
    margin-bottom: .85rem;
}
.comparador-hint svg { flex-shrink: 0; color: var(--brand-primary); }
.comparador-scroll {
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
    border-radius: var(--radius-lg);
    box-shadow: var(--shadow-lg);
    scrollbar-width: thin;
    scrollbar-color: var(--brand-primary) var(--brand-surface);
}
.comparador-scroll::-webkit-scrollbar { height: 8px; }
.comparador-scroll::-webkit-scrollbar-track { background: var(--brand-surface); }
.comparador-scroll::-webkit-scrollbar-thumb { background: var(--brand-primary); border-radius: 99px; }
.comparador-table {
    width: 100%;
    border-collapse: collapse;
    min-width: 560px;
}
.comparador-table th,
.comparador-table td {
    padding: 1rem 1.25rem;
    border-bottom: 1px solid var(--brand-border-light);
    font-size: .9rem;
    text-align: center;
    vertical-align: middle;
}
.comparador-table thead tr {
    background: var(--brand-dark);
}
.comparador-table thead th {
    background: transparent;
    color: #fff;
    vertical-align: top;
    padding: 1.75rem 1.25rem 1.5rem;
    min-width: 160px;
}
.comparador-table__spec-col {
    text-align: left;
    background: var(--brand-surface) !important;
    color: var(--brand-muted) !important;
    font-size: .78rem;
    font-weight: 700;
    letter-spacing: .08em;
    text-transform: uppercase;
    vertical-align: middle !important;
    min-width: 160px;
    max-width: 200px;
}
.comparador-table__product-img {
    width: 90px;
    height: 70px;
    object-fit: contain;
    margin: 0 auto .75rem;
    display: block;
    filter: brightness(1.08) drop-shadow(0 2px 8px rgba(0,0,0,.3));
}
.comparador-table__product-name {
    font-family: var(--font-display);
    font-size: .88rem;
    font-weight: 700;
    margin-bottom: .3rem;
    line-height: 1.3;
}
.comparador-table__product-name a { color: #fff; text-decoration: none; }
.comparador-table__product-name a:hover { text-decoration: underline; }
.comparador-table__product-price {
    font-size: .82rem;
    color: #93C5FD;
    margin-bottom: .9rem;
    font-weight: 600;
}
.comparador-table__product-ctas {
    display: flex;
    gap: .45rem;
    justify-content: center;
    flex-wrap: wrap;
}
.comparador-table__wa-btn {
    background: #25D366 !important;
    border-color: #25D366 !important;
    color: #fff !important;
}
.comparador-table__label {
    text-align: left;
    font-weight: 600;
    color: var(--brand-text);
    background: var(--brand-surface);
    white-space: nowrap;
}
.comparador-table__value { color: var(--brand-text); }
.comparador-table__na { color: var(--brand-muted); font-size: 1.1rem; }
.comparador-table tbody tr:nth-child(even) td:not(.comparador-table__label) {
    background: rgba(255, 68, 56, .025);
}
.comparador-table tbody tr:hover td { background: rgba(255, 68, 56, .055); }
.comparador-table tbody tr:hover .comparador-table__label { background: #e8eeff; }
.comparador-empty {
    text-align: center;
    padding: 3rem 2rem;
    background: var(--brand-surface);
    border-radius: var(--radius-lg);
    color: var(--brand-muted);
}
@media (min-width: 768px) {
    .comparador-table__spec-col,
    .comparador-table__label {
        position: sticky;
        left: 0;
        z-index: 1;
    }
}
@media (max-width: 640px) {
    .comparador-table th, .comparador-table td { padding: .75rem .9rem; }
    .comparador-table__product-img { width: 70px; height: 55px; }
}

/* ===== Blog ===== */
.blog-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(300px, 1fr)); gap: 1.5rem; }
.blog-card { display: flex; flex-direction: column; }
.blog-card .card__body { flex: 1; display: flex; flex-direction: column; }
.blog-card .card__body .btn { margin-top: auto; align-self: flex-start; }

/* ===== Footer (6 colunas + distribuidor, cf. app Lovable) ===== */
.site-footer {
    background: var(--brand-dark);
    color: rgba(255,255,255,.7);
    margin-top: 6rem;
}
.footer__sitemap {
    display: grid;
    grid-template-columns: 2fr repeat(4, 1fr);
    gap: 2.5rem;
    padding: 3.5rem 0 2.5rem;
}
.footer__brand { grid-column: span 1; }
.footer__logo { display: flex; align-items: center; gap: .5rem; margin-bottom: .75rem; }
.footer__logo img { height: 32px; width: auto; }
.footer__logo-br { color: var(--brand-primary); font-weight: 700; letter-spacing: .2em; font-size: .875rem; }
.footer__brand p { font-size: .875rem; color: rgba(255,255,255,.7); line-height: 1.7; }
.footer__col h4 {
    color: #fff;
    font-family: var(--font-display);
    font-size: .75rem;
    font-weight: 600;
    margin-bottom: .75rem;
    text-transform: uppercase;
    letter-spacing: .08em;
}
.footer__col ul { display: flex; flex-direction: column; gap: .5rem; }
.footer__col a { color: rgba(255,255,255,.7); font-size: .875rem; transition: color var(--transition); }
.footer__col a:hover { color: var(--brand-primary); }

.footer__legal {
    display: grid;
    grid-template-columns: 1fr 2fr 1fr;
    gap: 2.5rem;
    padding: 2.5rem 0;
    border-top: 1px solid rgba(255,255,255,.1);
}
.footer__trackfy-logo {
    width: 224px;
    height: auto;
    object-fit: contain;
    margin-bottom: 1rem;
    background: rgba(255,255,255,.05);
    border-radius: var(--radius-sm);
    padding: .75rem;
}
.footer__company { font-size: .875rem; color: rgba(255,255,255,.7); }
.footer__company > * { margin-bottom: .25rem; }
.footer__company-office { font-weight: 600; color: #fff; }
.footer__company a { color: rgba(255,255,255,.7); display: block; }
.footer__company a:hover { color: var(--brand-primary); }
.footer__payments { display: grid; grid-template-columns: 1fr; gap: .5rem; }
.footer__payments img {
    width: 60%;
    height: auto;
    margin: 0 auto;
    border-radius: var(--radius-sm);
    background: rgba(255,255,255,.05);
    padding: .25rem;
}
.footer__bottom {
    border-top: 1px solid rgba(255,255,255,.1);
    padding: 1.25rem 0;
    text-align: center;
    font-size: .75rem;
    color: rgba(255,255,255,.5);
}
@media (max-width: 1024px) {
    .footer__sitemap { grid-template-columns: repeat(3, 1fr); }
    .footer__brand { grid-column: span 3; }
    .footer__legal { grid-template-columns: 1fr 1fr; }
}
@media (max-width: 640px) {
    .footer__sitemap { grid-template-columns: 1fr; gap: 2rem; }
    .footer__brand { grid-column: span 1; }
    .footer__legal { grid-template-columns: 1fr; }
}

/* ===== Utility ===== */
.text-center { text-align: center; }
.mt-1 { margin-top: 1rem; }
.mt-2 { margin-top: 2rem; }
.mt-3 { margin-top: 3rem; }
.mb-1 { margin-bottom: 1rem; }
.sr-only { position: absolute; width: 1px; height: 1px; padding: 0; overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; border: 0; }

/* ===== Comparador ===== */
.comparador { margin: 2rem 0; }
.comparador__scroll { overflow-x: auto; -webkit-overflow-scrolling: touch; }
.comparador__table { width: 100%; border-collapse: collapse; min-width: 480px; }
.comparador__table th,
.comparador__table td {
    padding: .85rem 1.25rem;
    border-bottom: 1px solid var(--brand-border-light);
    font-size: .92rem;
    text-align: left;
}
.comparador__table thead th {
    background: var(--brand-primary);
    color: #fff;
    font-family: var(--font-display);
    font-weight: 700;
    white-space: nowrap;
}
.comparador__table thead th:first-child { background: var(--brand-surface); color: var(--brand-muted); }
.comparador__label { font-weight: 600; color: var(--brand-text); background: var(--brand-surface); }
.comparador__table tbody tr:hover td { background: rgba(255, 68, 56,.03); }

/* ===== WooCommerce overrides ===== */
/* Notices: sobrescrever cores corretas (success=verde, info=azul, error=vermelho) */
.woocommerce .woocommerce-message { border-top-color: #22c55e !important; background: #f0fdf4; color: #166534; }
.woocommerce .woocommerce-info    { border-top-color: var(--brand-primary) !important; background: #eff6ff; color: #1e3a8a; }
.woocommerce .woocommerce-error   { border-top-color: #ef4444 !important; background: #fef2f2; color: #991b1b; }

.woocommerce ul.products {
    display: grid !important;
    grid-template-columns: repeat(auto-fill, minmax(260px, 1fr));
    gap: 1.5rem !important;
}
.woocommerce ul.products li.product {
    margin: 0 !important;
    float: none !important;
    width: auto !important;
    background: #fff;
    border: 1.5px solid var(--brand-border-light);
    border-radius: var(--radius-lg);
    padding: 1.25rem !important;
    box-shadow: var(--shadow-sm);
    transition: transform var(--transition), box-shadow var(--transition), border-color var(--transition);
}
.woocommerce ul.products li.product:hover {
    transform: translateY(-4px);
    box-shadow: var(--shadow-lg);
    border-color: var(--brand-border);
}
.woocommerce ul.products li.product .woocommerce-loop-product__title {
    font-family: var(--font-display);
    font-weight: 700;
    color: var(--brand-text);
}
.woocommerce ul.products li.product .price {
    font-family: var(--font-display);
    font-weight: 800;
    color: var(--brand-primary);
}
.woocommerce ul.products li.product .button,
.woocommerce #respond input#submit,
.woocommerce a.button,
.woocommerce button.button {
    display: inline-flex;
    align-items: center;
    padding: .55rem 1.25rem;
    background: var(--brand-primary);
    color: #fff !important;
    border: none;
    border-radius: var(--radius-md);
    font-family: var(--font-body);
    font-size: .875rem;
    font-weight: 600;
    cursor: pointer;
    text-decoration: none;
    transition: background var(--transition), transform var(--transition);
}
.woocommerce ul.products li.product .button:hover,
.woocommerce a.button:hover,
.woocommerce button.button:hover { background: var(--brand-secondary); }

/* Botão "Adicionar ao carrinho" na página de produto individual */
.produto-info__addtocart form.cart {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: .75rem;
    margin: 1.5rem 0;
}
.produto-info__addtocart .single_add_to_cart_button {
    padding: .8rem 2rem;
    font-family: var(--font-display);
    font-size: 1rem;
    font-weight: 700;
    background: var(--brand-accent) !important;
    color: #fff !important;
    border: none;
    border-radius: var(--radius-md);
    cursor: pointer;
    transition: background var(--transition), transform var(--transition);
}
.produto-info__addtocart .single_add_to_cart_button:hover {
    background: #009a40 !important;
    transform: translateY(-2px);
}
.produto-info__addtocart .single_add_to_cart_button.loading { opacity: .7; pointer-events: none; }

/* Lupa de zoom da galeria */
.woocommerce-product-gallery { position: relative; }
.woocommerce-product-gallery__trigger {
    position: absolute;
    top: .75rem;
    right: .75rem;
    left: auto;
    z-index: 10;
    width: 2rem;
    height: 2rem;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: rgba(255,255,255,.88);
    backdrop-filter: blur(4px);
    border-radius: var(--radius-sm);
    box-shadow: 0 1px 6px rgba(0,0,0,.12);
    transition: background var(--transition), box-shadow var(--transition);
    text-decoration: none;
}
.woocommerce-product-gallery__trigger:hover {
    background: #fff;
    box-shadow: var(--shadow-sm);
}
.woocommerce-product-gallery__trigger img {
    width: 14px;
    height: 14px;
    display: block;
    opacity: .65;
}

/* WooCommerce single product */
.woocommerce div.product .product_title {
    font-family: var(--font-display);
    font-size: clamp(1.6rem, 3vw, 2.4rem);
    font-weight: 800;
    color: var(--brand-text);
}
.woocommerce div.product p.price,
.woocommerce div.product span.price {
    font-family: var(--font-display);
    font-size: 2rem;
    font-weight: 800;
    color: var(--brand-primary);
}
.woocommerce div.product .woocommerce-product-gallery {
    border-radius: var(--radius-lg);
    overflow: hidden;
}

/* ===== Lead Form ===== */
.formulario-lead { background: #fff; border: 1.5px solid var(--brand-border); border-radius: var(--radius-lg); padding: 2rem; }
.formulario-lead__titulo { font-family: var(--font-display); color: var(--brand-primary); font-weight: 800; }
.formulario-lead__field label { color: var(--brand-text); font-weight: 500; }
.formulario-lead__field input,
.formulario-lead__field select,
.formulario-lead__field textarea {
    background: var(--brand-surface);
    border-color: var(--brand-border);
    color: var(--brand-text);
    border-radius: var(--radius-sm);
}
.formulario-lead__field input:focus,
.formulario-lead__field select:focus,
.formulario-lead__field textarea:focus {
    border-color: var(--brand-primary);
    box-shadow: 0 0 0 3px rgba(255, 68, 56,.1);
    outline: none;
}

/* ===== Responsive ===== */
@media (max-width: 768px) {
    .section { padding: 3.5rem 0; }
    .scan5 { gap: 2rem; }
}
@media (max-width: 480px) {
    .hero__title { font-size: 2rem; }
}

/* ===== Offset fixed header for non-home pages ===== */


/* ===== Admin bar: empurra o header fixo para baixo da barra WP ===== */
body.admin-bar .site-header { top: 32px; }
@media screen and (max-width: 782px) {
    body.admin-bar .site-header { top: 46px; }
}
@media screen and (max-width: 640px) {
    body.admin-bar .header-main { top: 46px; }
}

/* ============================================================
   WooCommerce Extended — 3A Global
   ============================================================ */

.woocommerce input[type="text"],
.woocommerce input[type="email"],
.woocommerce input[type="tel"],
.woocommerce input[type="password"],
.woocommerce input[type="number"],
.woocommerce textarea,
.woocommerce select {
    border: 1.5px solid var(--brand-border);
    border-radius: var(--radius-md);
    background: var(--brand-surface);
    color: var(--brand-text);
    font-family: var(--font-body);
    padding: .6rem .9rem;
    width: 100%;
    transition: border-color var(--transition), box-shadow var(--transition);
}
.woocommerce input[type="text"]:focus,
.woocommerce input[type="email"]:focus,
.woocommerce input[type="tel"]:focus,
.woocommerce input[type="password"]:focus,
.woocommerce input[type="number"]:focus,
.woocommerce textarea:focus,
.woocommerce select:focus {
    outline: none;
    border-color: var(--brand-primary);
    box-shadow: 0 0 0 3px rgba(255, 68, 56,.1);
}

.woocommerce-breadcrumb {
    font-size: .85rem;
    color: var(--brand-muted);
    margin-bottom: 1.5rem;
}
.woocommerce-breadcrumb a { color: var(--brand-primary); text-decoration: none; }
.woocommerce-breadcrumb a:hover { text-decoration: underline; }

/* Full notice styling (complement the existing border-top-color rules) */
.woocommerce-message,
.woocommerce-error,
.woocommerce-info {
    border-radius: var(--radius-md);
    padding: 1rem 1.25rem;
    margin-bottom: 1.5rem;
    font-family: var(--font-body);
    font-size: .95rem;
    list-style: none;
    border-top-width: 4px;
    border-top-style: solid;
}
.woocommerce-message { background: #f0fdf4; border-top-color: #22c55e; color: #166534; }
.woocommerce-error   { background: #fef2f2; border-top-color: #ef4444; color: #991b1b; }
.woocommerce-info    { background: #eff6ff; border-top-color: var(--brand-primary); color: #1e3a8a; }
.woocommerce-message a,
.woocommerce-error a,
.woocommerce-info a { color: inherit; text-decoration: underline; }
.woocommerce-error li { list-style: disc; margin-left: 1.25rem; }

/* ============================================================
   WooCommerce Extended — 3B Shop / Archive / Category
   ============================================================ */

.woocommerce-products-header {
    padding: 2.5rem 0 1.5rem;
    border-bottom: 1.5px solid var(--brand-border-light);
    margin-bottom: 2rem;
}
.woocommerce-products-header__title {
    font-family: var(--font-display);
    font-size: clamp(1.6rem, 3vw, 2.4rem);
    font-weight: 800;
    color: var(--brand-text);
    margin: 0;
}
.term-description {
    color: var(--brand-muted);
    font-size: .95rem;
    margin-top: .5rem;
    max-width: 65ch;
}

.woocommerce-result-count {
    font-size: .85rem;
    color: var(--brand-muted);
    margin: 0 0 1rem;
}
.woocommerce-ordering { margin-bottom: 1.5rem; }
.woocommerce-ordering select {
    border: 1.5px solid var(--brand-border);
    border-radius: var(--radius-md);
    background: #fff;
    color: var(--brand-text);
    font-family: var(--font-body);
    font-size: .875rem;
    padding: .45rem .75rem;
    cursor: pointer;
}

.woocommerce nav.woocommerce-pagination { margin: 2.5rem 0 1rem; text-align: center; }
.woocommerce nav.woocommerce-pagination ul {
    display: inline-flex;
    gap: .25rem;
    list-style: none;
    padding: 0;
    margin: 0;
}
.woocommerce nav.woocommerce-pagination ul li { display: block; }
.woocommerce nav.woocommerce-pagination ul .page-numbers {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 2.25rem;
    height: 2.25rem;
    padding: 0 .5rem;
    border-radius: var(--radius-md);
    border: 1.5px solid var(--brand-border-light);
    color: var(--brand-text);
    font-size: .875rem;
    text-decoration: none;
    transition: background var(--transition), border-color var(--transition), color var(--transition);
}
.woocommerce nav.woocommerce-pagination ul .page-numbers:hover {
    background: var(--brand-surface);
    border-color: var(--brand-border);
}
.woocommerce nav.woocommerce-pagination ul .page-numbers.current {
    background: var(--brand-primary);
    border-color: var(--brand-primary);
    color: #fff;
    font-weight: 700;
}

.woocommerce-no-products-found {
    text-align: center;
    padding: 4rem 1.5rem;
    color: var(--brand-muted);
}

/* ============================================================
   WooCommerce Extended — 3C Single Product
   ============================================================ */

.woocommerce div.product {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 3rem;
    align-items: start;
    padding: 2rem 0;
}
.woocommerce div.product .woocommerce-tabs,
.woocommerce .related.products,
.woocommerce .up-sells.products { grid-column: 1 / -1; }

.woocommerce div.product .woocommerce-product-gallery__image img {
    width: 100%;
    height: auto;
    display: block;
    border-radius: var(--radius-lg);
}
.woocommerce div.product ol.flex-control-nav {
    display: flex;
    flex-wrap: wrap;
    gap: .5rem;
    list-style: none;
    padding: .75rem 0 0;
    margin: 0;
}
.woocommerce div.product ol.flex-control-nav li { margin: 0; }
.woocommerce div.product ol.flex-control-nav li img {
    width: 72px;
    height: 72px;
    object-fit: cover;
    border-radius: var(--radius-sm);
    border: 2px solid transparent;
    cursor: pointer;
    transition: border-color var(--transition);
}
.woocommerce div.product ol.flex-control-nav li img:hover,
.woocommerce div.product ol.flex-control-nav li img.flex-active {
    border-color: var(--brand-primary);
}

.woocommerce div.product .woocommerce-product-details__short-description {
    color: var(--brand-muted);
    font-size: .95rem;
    line-height: 1.7;
    margin: 1rem 0 1.5rem;
}
.woocommerce div.product .product_meta {
    font-size: .8rem;
    color: var(--brand-muted);
    margin-top: 1.25rem;
    border-top: 1px solid var(--brand-border-light);
    padding-top: 1rem;
}
.woocommerce div.product .product_meta a { color: var(--brand-primary); }
.woocommerce div.product .woo-ctas {
    display: flex;
    flex-wrap: wrap;
    gap: .75rem;
    margin-top: 1.5rem;
}

/* Tabs */
.woocommerce .woocommerce-tabs {
    margin-top: 3rem;
    border-top: 2px solid var(--brand-border-light);
}
.woocommerce .woocommerce-tabs ul.tabs {
    display: flex;
    gap: 0;
    list-style: none;
    padding: 0;
    margin: 0;
    border-bottom: 2px solid var(--brand-border-light);
}
.woocommerce .woocommerce-tabs ul.tabs::before { display: none; }
.woocommerce .woocommerce-tabs ul.tabs li {
    margin: 0;
    border: none;
    border-radius: 0;
    background: none;
}
.woocommerce .woocommerce-tabs ul.tabs li::before,
.woocommerce .woocommerce-tabs ul.tabs li::after { display: none; }
.woocommerce .woocommerce-tabs ul.tabs li a {
    display: block;
    padding: .85rem 1.5rem;
    font-family: var(--font-display);
    font-weight: 600;
    font-size: .9rem;
    color: var(--brand-muted);
    text-decoration: none;
    border-bottom: 2px solid transparent;
    margin-bottom: -2px;
    transition: color var(--transition), border-color var(--transition);
}
.woocommerce .woocommerce-tabs ul.tabs li a:hover { color: var(--brand-primary); }
.woocommerce .woocommerce-tabs ul.tabs li.active a {
    color: var(--brand-primary);
    border-bottom-color: var(--brand-primary);
}
.woocommerce .woocommerce-tabs .panel {
    padding: 2rem 0;
    border: none;
    border-radius: 0;
    background: none;
}
.woocommerce .woocommerce-tabs .panel::before,
.woocommerce .woocommerce-tabs .panel::after { display: none; }
.woocommerce .woocommerce-tabs .panel h2 {
    font-family: var(--font-display);
    font-size: 1.15rem;
    font-weight: 700;
    margin-bottom: .75rem;
}

/* Attributes / specs table */
.woocommerce table.woocommerce-product-attributes { width: 100%; border-collapse: collapse; }
.woocommerce table.woocommerce-product-attributes th {
    width: 38%;
    text-align: left;
    padding: .65rem 1rem .65rem 0;
    font-family: var(--font-display);
    font-weight: 600;
    font-size: .875rem;
    color: var(--brand-text);
    border-bottom: 1px solid var(--brand-border-light);
    vertical-align: top;
}
.woocommerce table.woocommerce-product-attributes td {
    padding: .65rem 0;
    font-size: .875rem;
    color: var(--brand-muted);
    border-bottom: 1px solid var(--brand-border-light);
    vertical-align: top;
}

/* Related & upsells */
.related.products, .up-sells.products { margin-top: 3rem; }
.related.products > h2,
.up-sells.products > h2 {
    font-family: var(--font-display);
    font-size: 1.5rem;
    font-weight: 800;
    color: var(--brand-text);
    margin-bottom: 1.5rem;
    padding-bottom: .75rem;
    border-bottom: 2px solid var(--brand-border-light);
}

@media (max-width: 768px) {
    .woocommerce div.product {
        grid-template-columns: 1fr;
        gap: 1.5rem;
    }
}

/* ============================================================
   WooCommerce Extended — 3D Cart
   ============================================================ */

.woocommerce-cart table.shop_table {
    width: 100%;
    border-collapse: collapse;
    margin-bottom: 2rem;
}
.woocommerce-cart table.shop_table thead th {
    font-family: var(--font-display);
    font-weight: 700;
    font-size: .875rem;
    color: var(--brand-text);
    text-align: left;
    padding: .75rem 1rem;
    border-bottom: 2px solid var(--brand-border-light);
    background: var(--brand-surface);
}
.woocommerce-cart table.shop_table tbody td {
    padding: 1.25rem 1rem;
    border-bottom: 1px solid var(--brand-border-light);
    vertical-align: middle;
    color: var(--brand-text);
    font-size: .9rem;
}
.woocommerce-cart table.shop_table .product-thumbnail { width: 100px; }
.woocommerce-cart table.shop_table .product-thumbnail img {
    width: 80px;
    height: 80px;
    object-fit: cover;
    border-radius: var(--radius-sm);
    border: 1.5px solid var(--brand-border-light);
}
.woocommerce-cart .product-remove a {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 28px;
    height: 28px;
    border-radius: 50%;
    background: #fee2e2;
    color: #dc2626 !important;
    font-size: 1.1rem;
    line-height: 1;
    text-decoration: none;
    transition: background var(--transition);
}
.woocommerce-cart .product-remove a:hover { background: #fca5a5; }
.woocommerce td.product-name a {
    font-weight: 600;
    color: var(--brand-text);
    text-decoration: none;
}
.woocommerce td.product-name a:hover { color: var(--brand-primary); }
.woocommerce .quantity input.qty {
    width: 70px;
    text-align: center;
    border: 1.5px solid var(--brand-border);
    border-radius: var(--radius-sm);
    padding: .45rem .5rem;
    font-size: .9rem;
    background: #fff;
}
.woocommerce-cart table.cart td.actions {
    padding: 1rem;
    background: var(--brand-surface);
}
.woocommerce-cart .coupon {
    display: inline-flex;
    gap: .5rem;
    align-items: center;
}
.woocommerce-cart .coupon input[type="text"] {
    width: auto;
    min-width: 160px;
    padding: .5rem .75rem;
    border: 1.5px solid var(--brand-border);
    border-radius: var(--radius-md);
    font-size: .875rem;
    background: #fff;
}
.woocommerce-cart table.cart td.actions .button[name="update_cart"] {
    background: transparent;
    border: 1.5px solid var(--brand-border);
    color: var(--brand-text);
    border-radius: var(--radius-md);
    padding: .5rem 1rem;
    font-size: .875rem;
    font-weight: 600;
    cursor: pointer;
    float: right;
    transition: border-color var(--transition), color var(--transition);
}
.woocommerce-cart table.cart td.actions .button[name="update_cart"]:hover {
    border-color: var(--brand-primary);
    color: var(--brand-primary);
}

.cart-collaterals {
    display: flex;
    justify-content: flex-end;
    margin-top: 1.5rem;
}
.cart_totals {
    background: #fff;
    border: 1.5px solid var(--brand-border-light);
    border-radius: var(--radius-lg);
    padding: 1.75rem;
    box-shadow: var(--shadow-sm);
    min-width: 320px;
}
.cart_totals h2 {
    font-family: var(--font-display);
    font-size: 1.25rem;
    font-weight: 800;
    color: var(--brand-text);
    margin-bottom: 1.25rem;
}
.cart_totals table { width: 100%; border-collapse: collapse; }
.cart_totals table th {
    font-weight: 600;
    font-size: .875rem;
    color: var(--brand-muted);
    padding: .6rem 0;
    border-bottom: 1px solid var(--brand-border-light);
    text-align: left;
    width: 40%;
}
.cart_totals table td {
    padding: .6rem 0;
    border-bottom: 1px solid var(--brand-border-light);
    font-size: .875rem;
    color: var(--brand-text);
    text-align: right;
}
.cart_totals table .order-total th { color: var(--brand-text); font-weight: 800; }
.cart_totals table .order-total td {
    font-family: var(--font-display);
    font-size: 1.2rem;
    font-weight: 800;
    color: var(--brand-primary);
}
.wc-proceed-to-checkout { margin-top: 1.25rem; }
.wc-proceed-to-checkout a.checkout-button {
    display: block;
    width: 100%;
    text-align: center;
    background: var(--brand-primary);
    color: #fff !important;
    font-family: var(--font-display);
    font-weight: 700;
    font-size: 1rem;
    padding: .85rem 1.5rem;
    border-radius: var(--radius-md);
    text-decoration: none;
    box-shadow: var(--shadow-blue);
    transition: background var(--transition), transform var(--transition);
}
.wc-proceed-to-checkout a.checkout-button:hover {
    background: var(--brand-secondary);
    transform: translateY(-2px);
}

/* ============================================================
   WooCommerce Extended — 3E Checkout / Orçamento
   ============================================================ */

.woocommerce-checkout #customer_details {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 2rem;
    margin-bottom: 2rem;
}
.woocommerce-checkout h3,
#order_review_heading {
    font-family: var(--font-display);
    font-size: 1.2rem;
    font-weight: 800;
    color: var(--brand-text);
    margin-bottom: 1rem;
    padding-bottom: .75rem;
    border-bottom: 2px solid var(--brand-border-light);
}
.woocommerce-checkout .form-row { margin-bottom: 1rem; }
.woocommerce-checkout .form-row label {
    display: block;
    font-weight: 600;
    font-size: .875rem;
    color: var(--brand-text);
    margin-bottom: .35rem;
}
.woocommerce-checkout .form-row .required { color: var(--brand-accent); }
.woocommerce-checkout .form-row input.input-text,
.woocommerce-checkout .form-row select,
.woocommerce-checkout .form-row textarea {
    width: 100%;
    border: 1.5px solid var(--brand-border);
    border-radius: var(--radius-md);
    background: var(--brand-surface);
    color: var(--brand-text);
    font-family: var(--font-body);
    font-size: .9rem;
    padding: .6rem .9rem;
    transition: border-color var(--transition), box-shadow var(--transition);
}
.woocommerce-checkout .form-row input.input-text:focus,
.woocommerce-checkout .form-row select:focus,
.woocommerce-checkout .form-row textarea:focus {
    outline: none;
    border-color: var(--brand-primary);
    box-shadow: 0 0 0 3px rgba(255, 68, 56,.1);
}
.woocommerce-checkout .form-row.woocommerce-invalid input.input-text { border-color: #ef4444; }
.woocommerce-checkout .form-row.woocommerce-validated input.input-text { border-color: #22c55e; }

#order_review { margin-top: 2rem; }
table.woocommerce-checkout-review-order-table {
    width: 100%;
    border-collapse: collapse;
    background: #fff;
    border: 1.5px solid var(--brand-border-light);
    border-radius: var(--radius-lg);
    overflow: hidden;
}
table.woocommerce-checkout-review-order-table thead th {
    font-family: var(--font-display);
    font-weight: 700;
    font-size: .875rem;
    padding: .85rem 1rem;
    background: var(--brand-surface);
    border-bottom: 2px solid var(--brand-border-light);
    text-align: left;
    color: var(--brand-text);
}
table.woocommerce-checkout-review-order-table tbody td {
    padding: .85rem 1rem;
    border-bottom: 1px solid var(--brand-border-light);
    font-size: .875rem;
    color: var(--brand-text);
}
table.woocommerce-checkout-review-order-table tfoot th {
    padding: .65rem 1rem;
    font-weight: 600;
    font-size: .875rem;
    color: var(--brand-muted);
}
table.woocommerce-checkout-review-order-table tfoot td {
    padding: .65rem 1rem;
    font-size: .875rem;
    color: var(--brand-text);
    text-align: right;
}
table.woocommerce-checkout-review-order-table tfoot .order-total th { color: var(--brand-text); font-weight: 800; }
table.woocommerce-checkout-review-order-table tfoot .order-total td {
    font-family: var(--font-display);
    font-weight: 800;
    font-size: 1.1rem;
    color: var(--brand-primary);
}

#place_order {
    display: block;
    width: 100%;
    margin-top: 1.5rem;
    padding: 1rem 1.5rem;
    background: var(--brand-primary);
    color: #fff !important;
    font-family: var(--font-display);
    font-size: 1.05rem;
    font-weight: 700;
    border: none;
    border-radius: var(--radius-md);
    cursor: pointer;
    box-shadow: var(--shadow-blue);
    transition: background var(--transition), transform var(--transition);
}
#place_order:hover {
    background: var(--brand-secondary);
    transform: translateY(-2px);
}

@media (max-width: 768px) {
    .woocommerce-checkout #customer_details { grid-template-columns: 1fr; gap: 1rem; }
}

/* ============================================================
   WooCommerce Extended — 3F My Account / Order Received
   ============================================================ */

.woocommerce-account .woocommerce {
    display: grid;
    grid-template-columns: 220px 1fr;
    gap: 2.5rem;
    align-items: start;
    padding-top: 2rem;
}

.woocommerce-MyAccount-navigation {
    background: var(--brand-surface);
    border: 1.5px solid var(--brand-border-light);
    border-radius: var(--radius-lg);
    padding: 1rem 0;
    overflow: hidden;
}
.woocommerce-MyAccount-navigation ul {
    list-style: none;
    padding: 0;
    margin: 0;
}
.woocommerce-MyAccount-navigation ul li a {
    display: block;
    padding: .65rem 1.25rem;
    font-size: .9rem;
    font-weight: 500;
    color: var(--brand-text);
    text-decoration: none;
    transition: background var(--transition), color var(--transition);
}
.woocommerce-MyAccount-navigation ul li a:hover {
    background: rgba(255, 68, 56,.06);
    color: var(--brand-primary);
}
.woocommerce-MyAccount-navigation ul li.is-active a {
    background: rgba(255, 68, 56,.1);
    color: var(--brand-primary);
    font-weight: 700;
    border-left: 3px solid var(--brand-primary);
}

.woocommerce-MyAccount-content { min-width: 0; }
.woocommerce-MyAccount-content p { color: var(--brand-muted); font-size: .9rem; }

.woocommerce-orders-table { width: 100%; border-collapse: collapse; }
.woocommerce-orders-table thead th {
    font-family: var(--font-display);
    font-weight: 700;
    font-size: .8rem;
    text-transform: uppercase;
    letter-spacing: .04em;
    color: var(--brand-muted);
    padding: .65rem .85rem;
    border-bottom: 2px solid var(--brand-border-light);
    text-align: left;
    background: var(--brand-surface);
}
.woocommerce-orders-table tbody td {
    padding: .9rem .85rem;
    border-bottom: 1px solid var(--brand-border-light);
    font-size: .875rem;
    color: var(--brand-text);
    vertical-align: middle;
}

/* Order status badges */
.woocommerce-orders-table mark.order-status { padding: .2rem .6rem; border-radius: var(--radius-sm); font-style: normal; }
.woocommerce-orders-table .status-pending mark,
.woocommerce-orders-table mark.order-status.status-pending     { background: #fef9c3; color: #854d0e; }
.woocommerce-orders-table mark.order-status.status-on-hold     { background: #fde68a; color: #92400e; }
.woocommerce-orders-table mark.order-status.status-processing  { background: #dbeafe; color: #1e40af; }
.woocommerce-orders-table mark.order-status.status-completed   { background: #dcfce7; color: #166534; }

/* Order received confirmation */
.woocommerce-order .woocommerce-order-overview {
    display: flex;
    flex-wrap: wrap;
    gap: 1rem;
    list-style: none;
    padding: 1.5rem;
    margin: 1.5rem 0;
    background: var(--brand-surface);
    border: 1.5px solid var(--brand-border-light);
    border-radius: var(--radius-lg);
}
.woocommerce-order .woocommerce-order-overview li { font-size: .875rem; color: var(--brand-muted); }
.woocommerce-order .woocommerce-order-overview li strong { color: var(--brand-text); }
.woocommerce-notice--success.woocommerce-thankyou-order-received {
    display: inline-block;
    background: #f0fdf4;
    border: 1.5px solid #bbf7d0;
    color: #166534;
    font-weight: 600;
    font-size: .95rem;
    padding: .65rem 1.1rem;
    border-radius: var(--radius-md);
    margin-bottom: 1.5rem;
}

/* Detalhes do pedido / endereço — página "Pedido recebido" (template clássico,
   renderizado mesmo quando o checkout em si usa Cart & Checkout Blocks) */
.woocommerce-order-details__title,
.woocommerce-column__title {
    font-family: var(--font-display);
    font-size: 1.1rem;
    font-weight: 800;
    color: var(--brand-text);
    margin: 2rem 0 1rem;
}
table.woocommerce-table--order-details {
    width: 100%;
    border-collapse: collapse;
    background: #fff;
    border: 1.5px solid var(--brand-border-light);
    border-radius: var(--radius-lg);
    overflow: hidden;
}
table.woocommerce-table--order-details thead th {
    font-family: var(--font-display);
    font-weight: 700;
    font-size: .8rem;
    text-transform: uppercase;
    letter-spacing: .04em;
    padding: .85rem 1rem;
    background: var(--brand-surface);
    border-bottom: 2px solid var(--brand-border-light);
    text-align: left;
    color: var(--brand-muted);
}
table.woocommerce-table--order-details tbody td {
    padding: .85rem 1rem;
    border-bottom: 1px solid var(--brand-border-light);
    font-size: .875rem;
    color: var(--brand-text);
}
table.woocommerce-table--order-details tfoot th,
table.woocommerce-table--order-details tfoot td {
    padding: .65rem 1rem;
    font-size: .875rem;
    text-align: right;
}
table.woocommerce-table--order-details tfoot th { text-align: left; font-weight: 600; color: var(--brand-muted); }
table.woocommerce-table--order-details tfoot tr:last-child th,
table.woocommerce-table--order-details tfoot tr:last-child td {
    font-family: var(--font-display);
    font-weight: 800;
    font-size: 1.05rem;
    color: var(--brand-primary);
}
.woocommerce-customer-details address {
    display: block;
    background: var(--brand-surface);
    border: 1.5px solid var(--brand-border-light);
    border-radius: var(--radius-lg);
    padding: 1.25rem 1.5rem;
    font-style: normal;
    color: var(--brand-text);
    font-size: .9rem;
    line-height: 1.5;
}
.woocommerce-customer-details address p { margin: .25rem 0 0; color: var(--brand-muted); }

@media (max-width: 768px) {
    .woocommerce-account .woocommerce { grid-template-columns: 1fr; gap: 1.5rem; }
    .woocommerce-MyAccount-navigation ul { display: flex; flex-wrap: wrap; }
    .woocommerce-MyAccount-navigation ul li a { padding: .5rem .9rem; font-size: .8rem; }
}

/* ============================================================
   WooCommerce Blocks — Cart & Checkout (Store API / React blocks)
   A página /checkout/ usa [wp:woocommerce/checkout] (Cart & Checkout
   Blocks), não o checkout clássico — a seção 3E acima (#customer_details,
   .form-row, table.woocommerce-checkout-review-order-table) não alcança
   esse markup porque ele é renderizado pelo React do pacote
   @woocommerce/blocks. Seletores aqui são as classes estáveis desse
   pacote (confirmadas via DOM real, não via SSR skeleton).
   ============================================================ */

.wc-block-checkout { font-family: var(--font-body); color: var(--brand-text); }

.wc-block-components-checkout-step__heading { border-bottom: 2px solid var(--brand-border-light); padding-bottom: .75rem; margin-bottom: 1.25rem; }
.wc-block-components-checkout-step__title {
    font-family: var(--font-display);
    font-weight: 800;
    font-size: 1.15rem;
    color: var(--brand-text);
}
.wc-block-components-checkout-step__description { color: var(--brand-muted); font-size: .875rem; }

/* Inputs / selects */
.wc-block-components-text-input input[type="text"],
.wc-block-components-text-input input[type="email"],
.wc-block-components-text-input input[type="tel"],
.wc-block-components-text-input input[type="number"],
.wc-blocks-components-select__select,
.wc-block-components-textarea textarea {
    border: 1.5px solid var(--brand-border) !important;
    border-radius: var(--radius-md) !important;
    background: var(--brand-surface) !important;
    color: var(--brand-text) !important;
    font-family: var(--font-body);
    box-shadow: none !important;
    transition: border-color var(--transition), box-shadow var(--transition);
}
.wc-block-components-text-input input:focus,
.wc-blocks-components-select__select:focus,
.wc-block-components-textarea textarea:focus {
    outline: none !important;
    border-color: var(--brand-primary) !important;
    box-shadow: 0 0 0 3px rgba(255, 68, 56, .1) !important;
}
.wc-block-components-text-input label,
.wc-blocks-components-select__label { color: var(--brand-muted); }
.wc-block-components-text-input.has-error input,
.wc-block-components-text-input.has-error input:focus { border-color: #ef4444 !important; }

/* Checkbox / radio */
input[type="checkbox"],
input[type="radio"] { accent-color: var(--brand-primary); }

/* Cartão de endereço confirmado (etapa recolhida com link "Editar") */
.wc-block-components-address-card {
    border: 1.5px solid var(--brand-border-light);
    border-radius: var(--radius-md);
    background: #fff;
}
.wc-block-components-address-card__edit { color: var(--brand-primary) !important; }
.wc-block-components-address-card__edit:hover { color: var(--brand-secondary) !important; }

/* Resumo do pedido (sidebar) */
.wc-block-components-order-summary {
    background: #fff;
    border: 1.5px solid var(--brand-border-light);
    border-radius: var(--radius-lg);
    padding: 1.25rem;
    box-shadow: var(--shadow-sm);
}
.wc-block-components-checkout-order-summary__title-text,
.wc-block-components-title {
    font-family: var(--font-display);
    font-weight: 800;
    color: var(--brand-text);
}
.wc-block-components-product-name { color: var(--brand-text); font-weight: 600; }
a.wc-block-components-product-name:hover { color: var(--brand-primary); }

.wc-block-components-totals-item,
.wc-block-components-totals-footer-item { font-size: .875rem; color: var(--brand-text); }
.wc-block-components-totals-item__label { color: var(--brand-muted); }
.wc-block-components-totals-footer-item .wc-block-components-totals-item__label,
.wc-block-components-totals-footer-item .wc-block-components-totals-item__value {
    font-family: var(--font-display);
    font-weight: 800;
    font-size: 1.1rem;
    color: var(--brand-primary);
}

.wc-block-components-panel__button { color: var(--brand-primary); font-weight: 600; }

/* Botão "Finalizar pedido" */
.wc-block-components-checkout-place-order-button {
    background: var(--brand-primary) !important;
    color: #fff !important;
    border: none !important;
    border-radius: var(--radius-md) !important;
    font-family: var(--font-display);
    font-weight: 700 !important;
    box-shadow: var(--shadow-blue);
    transition: background var(--transition), transform var(--transition);
}
.wc-block-components-checkout-place-order-button:hover {
    background: var(--brand-secondary) !important;
    transform: translateY(-2px);
}

.wc-block-checkout__terms a { color: var(--brand-primary); text-decoration: underline; }
.wc-block-checkout__guest-checkout-notice { color: var(--brand-muted); font-size: .85rem; }

.wc-block-components-notice-banner { border-radius: var(--radius-md) !important; }
.wc-block-components-notice-banner.is-error   { border-left-color: #ef4444 !important; background: #fef2f2 !important; }
.wc-block-components-notice-banner.is-success { border-left-color: #22c55e !important; background: #f0fdf4 !important; }
.wc-block-components-notice-banner.is-info    { border-left-color: var(--brand-primary) !important; background: #eff6ff !important; }

@media (max-width: 768px) {
    .wc-block-checkout__sidebar { margin-top: 1.5rem; }
}

/* ============================================================
   Home Lovable — hero carousel, perfis, soluções, steps,
   awards, reviews, CTA, cta-links (réplica do app)
   ============================================================ */

/* Botões extras cf. app */
.btn--dark { background: var(--brand-dark); color: #fff; border-color: var(--brand-dark); }
.btn--dark:hover { background: #2a2a2a; border-color: #2a2a2a; color: #fff; }
.btn--white { background: #fff; color: var(--brand-primary); border-color: #fff; }
.btn--white:hover { background: rgba(255,255,255,.9); border-color: rgba(255,255,255,.9); color: var(--brand-primary); }
.btn--whatsapp { background: var(--brand-accent); color: #fff; border-color: var(--brand-accent); }
.btn--whatsapp:hover { background: #009a40; border-color: #009a40; color: #fff; }
.btn--outline-neutral { background: transparent; color: var(--brand-text); border-color: var(--brand-border); }
.btn--outline-neutral:hover { border-color: var(--brand-text); color: var(--brand-text); }

/* Section headers genéricos */
.section-header { text-align: center; margin-bottom: 3rem; }
.section-header h2 { font-size: clamp(1.75rem, 3.5vw, 2.5rem); font-weight: 700; }
.section-header p { color: var(--brand-muted); margin-top: .75rem; max-width: 42rem; margin-left: auto; margin-right: auto; }
.section-header__actions { margin-top: 1.5rem; display: flex; flex-wrap: wrap; justify-content: center; gap: .75rem; }

/* Hero carousel */
.home-hero {
    position: relative;
    overflow: hidden;
    color: #fff;
    background: var(--gradient-hero);
    min-height: 420px;
}
.home-hero__slide { position: absolute; inset: 0; opacity: 0; pointer-events: none; transition: opacity .7s ease; }
.home-hero__slide.is-active { position: relative; opacity: 1; pointer-events: auto; }
.home-hero__bg {
    position: absolute; inset: 0;
    background-size: cover; background-position: center;
    opacity: .3;
}
.home-hero__overlay {
    position: absolute; inset: 0;
    background: linear-gradient(90deg, rgba(0,0,0,.6), rgba(0,0,0,.3), transparent);
}
.home-hero__content {
    position: relative;
    display: flex; align-items: center;
    min-height: 420px;
    padding-top: 5rem; padding-bottom: 5rem;
}
.home-hero__text { max-width: 42rem; }
.home-hero__text h1 { font-size: clamp(2.25rem, 5vw, 3.75rem); font-weight: 700; letter-spacing: -.02em; color: #fff; }
.home-hero__text p { margin-top: 1.25rem; font-size: 1.125rem; color: rgba(255,255,255,.85); max-width: 36rem; }
.home-hero__actions { margin-top: 2rem; display: flex; flex-wrap: wrap; gap: .75rem; }
.home-hero__arrow {
    position: absolute; top: 50%; transform: translateY(-50%);
    width: 48px; height: 48px; border-radius: 50%;
    background: rgba(255,255,255,.1); color: #fff;
    border: none; cursor: pointer;
    display: flex; align-items: center; justify-content: center;
    backdrop-filter: blur(4px);
    z-index: 10;
    transition: background var(--transition);
}
.home-hero__arrow:hover { background: rgba(255,255,255,.2); }
.home-hero__arrow--prev { left: 1rem; }
.home-hero__arrow--next { right: 1rem; }
.home-hero__dots {
    position: absolute; bottom: 1rem; left: 50%; transform: translateX(-50%);
    display: flex; gap: .5rem; z-index: 10;
}
.home-hero__dots button {
    height: 8px; width: 8px; border-radius: 999px;
    background: rgba(255,255,255,.5); border: none; cursor: pointer;
    transition: all var(--transition); padding: 0;
}
.home-hero__dots button.is-active { width: 32px; background: #fff; }
@media (min-width: 1024px) {
    .home-hero, .home-hero__content { min-height: 520px; }
}

/* Escolha por perfil */
.perfil-section { padding: 5rem 0; }
.perfil-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 1rem; }
@media (min-width: 768px)  { .perfil-grid { grid-template-columns: repeat(3, 1fr); } }
@media (min-width: 1024px) { .perfil-grid { grid-template-columns: repeat(7, 1fr); } }
.perfil-card {
    display: block;
    border: 1px solid var(--brand-border);
    border-radius: var(--radius-lg);
    background: #fff;
    padding: 1.5rem;
    text-align: center;
    transition: border-color var(--transition), box-shadow var(--transition);
}
.perfil-card:hover { border-color: var(--brand-primary); box-shadow: var(--shadow-md); }
.perfil-card svg { margin: 0 auto; color: var(--brand-primary); transition: transform var(--transition); }
.perfil-card:hover svg { transform: scale(1.1); }
.perfil-card__label { margin-top: .75rem; font-size: .875rem; font-weight: 600; color: var(--brand-text); }

/* Soluções (grade de 5 scanners) */
.solucoes-section { background: var(--brand-surface); padding: 5rem 0; }
.solucoes-grid { display: grid; gap: 2rem; }
@media (min-width: 768px)  { .solucoes-grid { grid-template-columns: repeat(2, 1fr); } }
@media (min-width: 1024px) { .solucoes-grid { grid-template-columns: repeat(3, 1fr); } }
.solucao { display: flex; flex-direction: column; }
.solucao__head { margin-bottom: 1rem; }
.solucao__head h3 { font-size: 1.25rem; font-weight: 700; }
.solucao__head h3 a { color: var(--brand-text); }
.solucao__head h3 a:hover { color: var(--brand-primary); }
.solucao__arrow { color: var(--brand-primary); }
.solucao__head p { color: var(--brand-muted); font-size: .875rem; margin-top: .25rem; }
.solucao__card {
    border-radius: var(--radius-lg);
    background: #fff;
    border: 1px solid var(--brand-border);
    overflow: hidden;
    display: flex; flex-direction: column; flex: 1;
}
.solucao__img { aspect-ratio: 1/1; background: var(--brand-surface); display: flex; align-items: center; justify-content: center; }
.solucao__img img { height: 100%; width: 100%; object-fit: contain; padding: 1.5rem; }
.solucao__body { padding: 1.5rem; display: flex; flex-direction: column; flex: 1; }
.solucao__body h4 { font-weight: 700; font-size: 1.125rem; }
.solucao__tagline { font-size: .875rem; font-weight: 500; margin-top: .25rem; }
.solucao__desc { font-size: .875rem; color: var(--brand-muted); margin-top: .75rem; flex: 1; }
.solucao__footer { margin-top: 1.25rem; display: flex; align-items: center; justify-content: space-between; gap: .75rem; }
.solucao__price { color: var(--brand-primary); font-weight: 600; font-size: .875rem; }

/* Como funciona sua compra */
.compra-steps { background: var(--brand-dark); color: #fff; padding: 5rem 0; }
.compra-steps__header { text-align: center; margin-bottom: 3rem; }
.compra-steps__header h2 { color: #fff; font-size: clamp(1.75rem, 3.5vw, 2.5rem); }
.compra-steps__header p { margin-top: .5rem; color: rgba(255,255,255,.7); }
.compra-steps__grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 1.5rem; }
@media (min-width: 768px)  { .compra-steps__grid { grid-template-columns: repeat(3, 1fr); } }
@media (min-width: 1024px) { .compra-steps__grid { grid-template-columns: repeat(6, 1fr); } }
.compra-steps__item { text-align: center; }
.compra-steps__num {
    margin: 0 auto; width: 56px; height: 56px; border-radius: 50%;
    background: var(--brand-primary); color: #fff;
    display: flex; align-items: center; justify-content: center;
    font-weight: 700; font-size: 1.125rem;
}
.compra-steps__item svg { margin: 1rem auto 0; color: rgba(255,255,255,.8); }
.compra-steps__label { margin-top: .5rem; font-size: .875rem; font-weight: 500; }

/* Awards */
.awards-section { background: var(--brand-surface); padding: 5rem 0; }
.awards-grid { display: grid; gap: 1.5rem; grid-template-columns: 1fr; }
@media (min-width: 640px)  { .awards-grid { grid-template-columns: repeat(2, 1fr); } }
@media (min-width: 1024px) { .awards-grid { grid-template-columns: repeat(4, 1fr); } }
.award-card {
    border-radius: var(--radius-lg);
    background: #fff;
    border: 1px solid var(--brand-border);
    padding: 1.5rem; text-align: center;
}
.award-card svg { color: var(--brand-primary); margin: 0 auto .75rem; }
.award-card__title { font-weight: 700; }
.award-card__subtitle { font-size: .75rem; color: var(--brand-muted); margin-top: .25rem; }

/* Reviews */
.reviews-section { padding: 5rem 0; }
.reviews-grid { display: grid; gap: 1.5rem; }
@media (min-width: 768px) { .reviews-grid { grid-template-columns: repeat(3, 1fr); } }
.review-card {
    border-radius: var(--radius-lg);
    background: #fff;
    border: 1px solid var(--brand-border);
    padding: 1.5rem;
}
.review-card__stars { display: flex; gap: .25rem; color: var(--brand-primary); margin-bottom: .75rem; }
.review-card__stars svg { fill: currentColor; }
.review-card p { font-size: .875rem; }
.review-card__author { margin-top: 1rem; font-size: .875rem; font-weight: 600; }
.review-card__author span { font-weight: 400; color: var(--brand-muted); }

/* CTA gradiente */
.home-cta { background: var(--gradient-cta); color: #fff; text-align: center; padding: 4rem 0; }
.home-cta h2 { color: #fff; font-size: clamp(1.75rem, 3vw, 2.25rem); }
.home-cta p { margin-top: .5rem; color: rgba(255,255,255,.9); }
.home-cta__actions { margin-top: 1.5rem; display: flex; justify-content: center; gap: .75rem; flex-wrap: wrap; }

/* CTA links (Próximos passos) */
.cta-links { padding: 4rem 0; }
.cta-links__header { max-width: 48rem; margin: 0 auto 2.5rem; text-align: center; }
.cta-links__header h2 { font-size: clamp(1.75rem, 3.5vw, 2.5rem); }
.cta-links__header p { color: var(--brand-muted); margin-top: .75rem; }
.cta-links__grid { display: grid; gap: 1.25rem; }
@media (min-width: 640px)  { .cta-links__grid { grid-template-columns: repeat(2, 1fr); } }
@media (min-width: 1024px) { .cta-links__grid { grid-template-columns: repeat(3, 1fr); } }
.cta-links__card {
    border-radius: var(--radius-lg);
    border: 1px solid var(--brand-border);
    background: #fff;
    padding: 1.5rem;
    display: flex; flex-direction: column;
    transition: border-color var(--transition), box-shadow var(--transition);
}
.cta-links__card:hover { border-color: var(--brand-primary); box-shadow: var(--shadow-lg); }
.cta-links__icon {
    width: 44px; height: 44px;
    border-radius: var(--radius-md);
    background: rgba(255,68,56,.1); color: var(--brand-primary);
    display: flex; align-items: center; justify-content: center;
    margin-bottom: 1rem;
}
.cta-links__card h3 { font-weight: 700; font-size: 1.125rem; line-height: 1.35; color: var(--brand-text); }
.cta-links__card p { font-size: .875rem; color: var(--brand-muted); margin-top: .5rem; flex: 1; }
.cta-links__cta {
    margin-top: 1rem;
    display: inline-flex; align-items: center; gap: .25rem;
    font-size: .875rem; font-weight: 600; color: var(--brand-primary);
    transition: gap var(--transition);
}
.cta-links__card:hover .cta-links__cta { gap: .5rem; }

/* ============================================================
   /scanners (archive) — header, descubra, quiz, catálogo
   ============================================================ */
.scanners-header { padding: 4rem 0 2rem; }
.scanners-header h1 { font-size: clamp(2rem, 4vw, 2.5rem); }
.scanners-header p { color: var(--brand-muted); margin-top: .75rem; max-width: 42rem; }
.scanners-header__actions { margin-top: 1.25rem; display: flex; gap: .75rem; flex-wrap: wrap; }

.discover-section { background: #FAFAFA; border-top: 1px solid var(--brand-border); border-bottom: 1px solid var(--brand-border); padding: 4rem 0; }
.discover-section__header { max-width: 48rem; margin: 0 auto 2rem; text-align: center; }
.discover-section__header h2 { font-size: clamp(1.75rem, 3.5vw, 2.5rem); }
.discover-section__links { margin-top: 1rem; display: flex; flex-wrap: wrap; justify-content: center; gap: .75rem 2rem; }
.discover-section__links a { display: inline-flex; align-items: center; gap: .5rem; color: var(--brand-primary); font-weight: 600; }
.discover-section__links a:hover { text-decoration: underline; }
.discover-picker__hint { text-align: center; margin-bottom: 2rem; }
.discover-picker__grid { display: grid; gap: 1.25rem; grid-template-columns: 1fr; }
@media (min-width: 640px)  { .discover-picker__grid { grid-template-columns: repeat(2, 1fr); } }
@media (min-width: 1024px) { .discover-picker__grid { grid-template-columns: repeat(4, 1fr); } }
.discover-size {
    background: #fff;
    border: 1px solid var(--brand-border);
    border-radius: var(--radius-lg);
    padding: 1.5rem;
    display: flex; flex-direction: column; align-items: center; text-align: center;
    cursor: pointer;
    transition: border-color var(--transition), box-shadow var(--transition);
    font-family: inherit;
}
.discover-size:hover { border-color: var(--brand-primary); box-shadow: var(--shadow-lg); }
.discover-size h3 { font-weight: 700; font-size: 1.125rem; min-height: 3.5rem; display: flex; align-items: center; }
.discover-size__img { margin: 1rem 0; height: 160px; width: 100%; display: flex; align-items: center; justify-content: center; }
.discover-size__img img { max-height: 100%; max-width: 100%; object-fit: contain; }
.discover-size p { font-size: .875rem; color: var(--brand-muted); }
.discover-size__radio { margin-top: 1rem; display: inline-block; height: 20px; width: 20px; border-radius: 50%; border: 2px solid var(--brand-border); }
.discover-size:hover .discover-size__radio { border-color: var(--brand-primary); }
.discover-result__bar { display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: 1rem; margin-bottom: 1.5rem; }
.discover-result__bar h3 { font-size: 1.5rem; }
.discover-result__bar a { display: inline-flex; align-items: center; gap: .5rem; color: var(--brand-primary); font-weight: 600; }
.discover-result__back { background: none; border: none; cursor: pointer; font-weight: 600; font-size: .875rem; font-family: inherit; }
.discover-result__back:hover { color: var(--brand-primary); }
.discover-result__grid { display: grid; gap: 1.25rem; grid-template-columns: 1fr; }
@media (min-width: 640px)  { .discover-result__grid { grid-template-columns: repeat(2, 1fr); } }
@media (min-width: 1024px) { .discover-result__grid { grid-template-columns: repeat(4, 1fr); } }

.scanners-body { padding: 4rem 0; }

/* Quiz */
.quiz-section { max-width: 42rem; margin: 0 auto 5rem; scroll-margin-top: 6rem; }
.quiz-section h2 { font-size: 1.5rem; margin-bottom: .5rem; }
.quiz-section__sub { color: var(--brand-muted); margin-bottom: 2rem; }
.quiz-card { border: 1px solid var(--brand-border); border-radius: var(--radius-lg); background: #fff; padding: 2rem; }
.quiz-card__step { font-size: .875rem; color: var(--brand-muted); margin-bottom: .5rem; }
.quiz-card h3 { font-size: 1.25rem; margin-bottom: 1.5rem; }
.quiz-card__options { display: grid; gap: .75rem; }
.quiz-card__option {
    text-align: left;
    border: 1px solid var(--brand-border);
    border-radius: var(--radius-md);
    background: #fff;
    padding: 1rem;
    cursor: pointer;
    font-family: inherit;
    font-size: 1rem;
    transition: border-color var(--transition), background var(--transition);
}
.quiz-card__option:hover { border-color: var(--brand-primary); background: rgba(255,68,56,.05); }
.quiz-card__result-title { font-size: 1.5rem; margin-bottom: 1.5rem; }
.quiz-card__results { display: grid; gap: 1rem; }
@media (min-width: 640px) { .quiz-card__results { grid-template-columns: repeat(3, 1fr); } }
.quiz-card__scanner { border: 1px solid var(--brand-border); border-radius: var(--radius-lg); padding: 1rem; display: block; transition: border-color var(--transition); }
.quiz-card__scanner:hover { border-color: var(--brand-primary); }
.quiz-card__scanner-img { aspect-ratio: 1/1; background: var(--brand-surface); border-radius: var(--radius-md); overflow: hidden; margin-bottom: .75rem; }
.quiz-card__scanner-img img { height: 100%; width: 100%; object-fit: contain; }
.quiz-card__scanner-name { font-weight: 700; color: var(--brand-text); }
.quiz-card__scanner-tagline { font-size: .75rem; color: var(--brand-muted); }
.quiz-card__footer { margin-top: 2rem; display: flex; flex-wrap: wrap; gap: .75rem; }

/* Catálogo por categoria */
.scanners-cat { margin-bottom: 3.5rem; }
.scanners-cat h2 { font-size: 1.5rem; margin-bottom: 1.5rem; }
.scanners-cat__grid { display: grid; gap: 1.25rem; grid-template-columns: 1fr; }
@media (min-width: 640px)  { .scanners-cat__grid { grid-template-columns: repeat(2, 1fr); } }
@media (min-width: 1024px) { .scanners-cat__grid { grid-template-columns: repeat(4, 1fr); } }
.scanner-card {
    display: block;
    border: 1px solid var(--brand-border);
    border-radius: var(--radius-lg);
    background: #fff;
    padding: 1.25rem;
    transition: box-shadow var(--transition), border-color var(--transition);
}
.scanner-card:hover { box-shadow: var(--shadow-lg); border-color: var(--brand-primary); }
.scanner-card__kicker { font-size: .75rem; color: var(--brand-muted); margin-bottom: .5rem; }
.scanner-card__img { aspect-ratio: 1/1; background: var(--brand-surface); border-radius: var(--radius-md); overflow: hidden; margin-bottom: .75rem; display: flex; align-items: center; justify-content: center; }
.scanner-card__img img { height: 100%; width: 100%; object-fit: contain; transition: transform var(--transition); }
.scanner-card:hover .scanner-card__img img { transform: scale(1.05); }
.scanner-card h3 { font-weight: 700; font-size: 1rem; color: var(--brand-text); }
.scanner-card p { font-size: .75rem; color: var(--brand-muted); margin-top: .25rem; }
.scanner-card__price { font-size: .875rem; color: var(--brand-primary); font-weight: 600; margin-top: .25rem; }

/* ============================================================
   Página de produto (single-product) — réplica scanners.$slug
   ============================================================ */
.btn--navy { background: var(--brand-navy); color: #fff; border-color: var(--brand-navy); }
.btn--navy:hover { background: var(--brand-navy-hover); border-color: var(--brand-navy-hover); color: #fff; }
.btn--yellow { background: #facc15; color: #111; border-color: #facc15; }
.btn--yellow:hover { background: #eab308; border-color: #eab308; color: #111; }
.btn--pill { border-radius: 999px; }

.produto-breadcrumb { border-bottom: 1px solid var(--brand-border); background: #FAFAFA; }
.produto-breadcrumb .container { display: flex; gap: .5rem; padding-top: .75rem; padding-bottom: .75rem; font-size: .75rem; color: var(--brand-muted); }
.produto-breadcrumb a { color: var(--brand-muted); }
.produto-breadcrumb a:hover { color: var(--brand-primary); }
.produto-breadcrumb strong { color: var(--brand-text); font-weight: 500; }

.produto-hero { padding: 2.5rem 0; }
.produto-hero__grid { display: grid; gap: 2.5rem; }
@media (min-width: 1024px) { .produto-hero__grid { grid-template-columns: 1fr 1fr; } }
.produto-galeria__main { aspect-ratio: 1/1; background: #fff; border: 1px solid var(--brand-border); border-radius: var(--radius-lg); overflow: hidden; display: flex; align-items: center; justify-content: center; }
.produto-galeria__main img { height: 100%; width: 100%; object-fit: contain; }
.produto-galeria__thumbs { margin-top: .75rem; display: grid; grid-template-columns: repeat(6, 1fr); gap: .5rem; }
.produto-galeria__thumbs button { aspect-ratio: 1/1; border-radius: var(--radius-md); overflow: hidden; border: 1px solid var(--brand-border); background: #fff; cursor: pointer; padding: 0; }
.produto-galeria__thumbs button.is-active { border-color: var(--brand-primary); box-shadow: 0 0 0 2px rgba(255,68,56,.3); }
.produto-galeria__thumbs img { height: 100%; width: 100%; object-fit: contain; }

.produto-info__badges { display: flex; flex-wrap: wrap; gap: .5rem; margin-bottom: .75rem; }
.produto-info__badges span { border-radius: 999px; background: rgba(255,68,56,.1); color: var(--brand-primary); font-size: .75rem; font-weight: 600; padding: .25rem .75rem; }
.produto-info h1 { font-size: clamp(1.75rem, 3vw, 2.25rem); line-height: 1.2; }
.produto-info__tagline { font-size: 1.125rem; color: var(--brand-muted); margin-top: .5rem; }
.produto-info__desc { margin-top: 1rem; font-size: .875rem; line-height: 1.7; }
.produto-info__highlights { margin-top: 1.25rem; display: flex; flex-direction: column; gap: .375rem; }
.produto-info__highlights li { display: flex; align-items: flex-start; gap: .5rem; font-size: .875rem; }
.produto-info__highlights svg { color: var(--brand-accent); margin-top: .125rem; flex-shrink: 0; }
.produto-info__pricebox { margin-top: 1.5rem; border: 1px solid var(--brand-border); background: var(--brand-surface); border-radius: var(--radius-md); padding: 1rem; }
.produto-info__priceline { display: flex; align-items: center; justify-content: space-between; gap: 1rem; flex-wrap: wrap; }
.produto-info__price-label { font-size: .75rem; color: var(--brand-muted); text-transform: uppercase; letter-spacing: .05em; }
.produto-info__price { font-size: 1.875rem; font-weight: 700; color: var(--brand-primary); }
.produto-info__price-note { font-size: .75rem; color: var(--brand-muted); margin-top: .5rem; }
.produto-info__ctas { margin-top: 1.5rem; display: flex; flex-wrap: wrap; gap: .75rem; }
.produto-trust { margin-top: 2rem; display: grid; grid-template-columns: repeat(2, 1fr); gap: .75rem; }
@media (min-width: 640px)  { .produto-trust { grid-template-columns: repeat(4, 1fr); } }
@media (min-width: 1024px) { .produto-trust { grid-template-columns: repeat(7, 1fr); } }
.produto-trust__item { border: 1px solid var(--brand-border); border-radius: var(--radius-md); padding: .75rem; text-align: center; }
.produto-trust__item svg { margin: 0 auto .25rem; color: var(--brand-primary); }
.produto-trust__title { font-size: .75rem; font-weight: 600; }
.produto-trust__desc { font-size: .6875rem; color: var(--brand-muted); }

.produto-features { background: var(--brand-surface); border-top: 1px solid var(--brand-border); border-bottom: 1px solid var(--brand-border); padding: 3.5rem 0; }
.produto-features h2 { font-size: clamp(1.5rem, 3vw, 1.875rem); text-align: center; }
.produto-features__sub { text-align: center; color: var(--brand-muted); margin-top: .5rem; max-width: 42rem; margin-left: auto; margin-right: auto; }
.produto-features__grid { margin-top: 2rem; display: grid; gap: 1rem; }
@media (min-width: 640px)  { .produto-features__grid { grid-template-columns: repeat(2, 1fr); } }
@media (min-width: 1024px) { .produto-features__grid { grid-template-columns: repeat(3, 1fr); } }
.produto-features__card { border-radius: var(--radius-md); background: #fff; border: 1px solid var(--brand-border); padding: 1.25rem; }
.produto-features__card svg { color: var(--brand-accent); margin-bottom: .5rem; }
.produto-features__card p { font-size: .875rem; font-weight: 500; }

.produto-specs { padding: 3.5rem 0; }
.produto-specs h2 { font-size: clamp(1.5rem, 3vw, 1.875rem); margin-bottom: .5rem; }
.produto-specs__sub { color: var(--brand-muted); margin-bottom: 1.5rem; }
.produto-specs__tablewrap { border: 1px solid var(--brand-border); border-radius: var(--radius-md); overflow-x: auto; }
.produto-specs table { width: 100%; border-collapse: collapse; font-size: .875rem; }
.produto-specs tr:nth-child(even) { background: var(--brand-surface); }
.produto-specs th { text-align: left; font-weight: 600; padding: .75rem 1rem; width: 33%; vertical-align: top; color: var(--brand-muted); }
.produto-specs td { padding: .75rem 1rem; }

.produto-extras { background: var(--brand-surface); padding: 3.5rem 0; }
.produto-extras__grid { display: grid; gap: 2rem; }
@media (min-width: 768px) { .produto-extras__grid { grid-template-columns: repeat(3, 1fr); } }
.produto-extras svg { color: var(--brand-primary); margin-bottom: .75rem; }
.produto-extras h3 { font-size: 1.125rem; margin-bottom: .75rem; }
.produto-extras ul { display: flex; flex-direction: column; gap: .375rem; font-size: .875rem; color: var(--brand-muted); }
.produto-extras ul li { display: flex; gap: .5rem; }
.produto-extras ul svg { color: var(--brand-accent); margin: .25rem 0 0; flex-shrink: 0; }
.produto-extras__chips { display: flex; flex-wrap: wrap; gap: .5rem; }
.produto-extras__chips span { border-radius: var(--radius-md); background: #fff; border: 1px solid var(--brand-border); padding: .375rem .75rem; font-size: .875rem; font-weight: 500; }

.produto-aplicacoes { padding: 3.5rem 0; }
.produto-aplicacoes h2 { font-size: clamp(1.5rem, 3vw, 1.875rem); margin-bottom: 1.5rem; }
.produto-aplicacoes__grid { display: grid; gap: 1rem; }
@media (min-width: 640px)  { .produto-aplicacoes__grid { grid-template-columns: repeat(2, 1fr); } }
@media (min-width: 1024px) { .produto-aplicacoes__grid { grid-template-columns: repeat(4, 1fr); } }
.produto-aplicacoes__card { border: 1px solid var(--brand-border); background: #fff; border-radius: var(--radius-md); padding: 1.25rem; font-size: .875rem; font-weight: 600; }

.produto-faq { padding: 3.5rem 0; }
.produto-faq h2 { font-size: 1.5rem; margin-bottom: 1.5rem; }
.produto-faq__list { display: flex; flex-direction: column; gap: .75rem; }
.produto-faq details, .tf-faq details { border: 1px solid var(--brand-border); background: #fff; border-radius: var(--radius-md); padding: 1rem; }
.produto-faq summary, .tf-faq summary { font-weight: 600; cursor: pointer; }
.produto-faq details p, .tf-faq details p { margin-top: .5rem; font-size: .875rem; color: var(--brand-muted); }

/* ============================================================
   /ajuda — comparador, tabela de specs, brochuras
   ============================================================ */
.ajuda-page { padding: 4rem 0 2rem; }
.ajuda-hero { max-width: 48rem; margin: 0 auto 4rem; text-align: center; }
.ajuda-hero h1 { font-size: clamp(1.875rem, 4vw, 2.5rem); }
.ajuda-hero p { color: var(--brand-muted); margin-top: .75rem; }
.ajuda-section { margin-bottom: 5rem; }
.ajuda-section h2 { font-size: 1.5rem; margin-bottom: .5rem; }
.ajuda-section__sub { color: var(--brand-muted); margin-bottom: 2rem; }

.comparison__tabs { display: flex; gap: 2rem; border-bottom: 1px solid var(--brand-border); margin-bottom: 2rem; }
.comparison__tab {
    background: none; border: none; cursor: pointer; font-family: inherit;
    padding: 0 0 .75rem; font-size: .9375rem; font-weight: 600;
    color: var(--brand-muted); border-bottom: 2px solid transparent;
    transition: color var(--transition), border-color var(--transition);
}
.comparison__tab:hover { color: var(--brand-text); }
.comparison__tab.is-active { color: var(--brand-text); border-bottom-color: var(--brand-primary); }
.comparison__controls {
    display: grid; grid-template-columns: 1fr; gap: 1rem; align-items: center;
    background: #fff; border: 1px solid var(--brand-border); border-radius: var(--radius-md);
    padding: 1.25rem; margin-bottom: 1.5rem;
}
@media (min-width: 768px) { .comparison__controls { grid-template-columns: repeat(4, 1fr); } }
.comparison__hide-equal { display: flex; align-items: center; gap: .5rem; font-size: .875rem; font-weight: 500; cursor: pointer; }
.comparison__select {
    width: 100%; appearance: none;
    border: 1px solid var(--brand-border); border-radius: var(--radius-md);
    background: #fff url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%236B6B6B' stroke-width='2'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E") no-repeat right .75rem center;
    padding: .75rem 2.5rem .75rem 1rem;
    font-weight: 600; font-size: .875rem; font-family: inherit; cursor: pointer;
}
.comparison__tablewrap { overflow-x: auto; border: 1px solid var(--brand-border); border-radius: var(--radius-md); background: #fff; }
.comparison__table { width: 100%; border-collapse: collapse; font-size: .875rem; }
.comparison__table th, .comparison__table td { padding: 1rem; }
.comparison__table thead tr { border-bottom: 1px solid var(--brand-border); }
.comparison__table tbody tr:nth-child(odd) { background: var(--brand-surface); }
.comparison__table td { text-align: center; color: var(--brand-muted); vertical-align: top; }
.comparison__spec-col { width: 220px; min-width: 160px; text-align: left !important; font-weight: 700; color: var(--brand-text) !important; }
.comparison__product { display: flex; flex-direction: column; align-items: center; }
.comparison__product-img { aspect-ratio: 1/1; width: 100%; max-width: 220px; background: var(--brand-surface); border-radius: var(--radius-md); overflow: hidden; display: flex; align-items: center; justify-content: center; }
.comparison__product-img img { height: 100%; width: 100%; object-fit: contain; padding: 1rem; }
.comparison__product-name { margin-top: .75rem; font-size: 1rem; font-weight: 700; color: var(--brand-text); }
.comparison__product-price { margin-top: .25rem; font-size: 1.125rem; font-weight: 700; color: var(--brand-text); }
.comparison__buy { margin-top: .5rem; font-size: .875rem; font-weight: 900; text-transform: uppercase; letter-spacing: .04em; color: #dc2626; }
.comparison__buy:hover { color: #b91c1c; }
.comparison__note { margin-top: 1rem; font-size: .75rem; color: var(--brand-muted); }

.specs-tablewrap { overflow-x: auto; border: 1px solid var(--brand-border); border-radius: var(--radius-lg); }
.specs-table-full { width: 100%; border-collapse: collapse; font-size: .875rem; }
.specs-table-full thead { background: var(--brand-dark); color: #fff; }
.specs-table-full th { padding: .75rem; text-align: left; }
.specs-table-full td { padding: .75rem; border-top: 1px solid var(--brand-border); }
.specs-table-full__name { font-weight: 600; }
.specs-table-full__link { color: var(--brand-primary); font-weight: 600; }

.brochures-all {
    border: 1px solid var(--brand-border); border-radius: var(--radius-lg); background: #fff;
    padding: 1.5rem; display: flex; flex-direction: column; gap: 1rem;
    align-items: center; justify-content: space-between; margin-bottom: 2rem;
}
@media (min-width: 640px) { .brochures-all { flex-direction: row; } }
.brochures-all h3 { font-size: 1.125rem; }
.brochures-all p { font-size: .875rem; color: var(--brand-muted); }
.brochures-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 1.25rem; }
@media (min-width: 768px)  { .brochures-grid { grid-template-columns: repeat(3, 1fr); } }
@media (min-width: 1024px) { .brochures-grid { grid-template-columns: repeat(4, 1fr); } }
.brochure-card { border: 1px solid var(--brand-border); border-radius: var(--radius-lg); background: #fff; padding: 1rem; display: flex; flex-direction: column; }
.brochure-card__img { aspect-ratio: 1/1; background: var(--brand-surface); border-radius: var(--radius-md); overflow: hidden; margin-bottom: .75rem; display: flex; align-items: center; justify-content: center; }
.brochure-card__img img { height: 100%; width: 100%; object-fit: contain; }
.brochure-card__name { font-weight: 700; text-align: center; margin-bottom: .75rem; }
.brochure-card__actions { margin-top: auto; display: grid; grid-template-columns: 1fr 1fr; gap: .5rem; }
.brochure-card__actions a { display: inline-flex; align-items: center; justify-content: center; gap: .25rem; border-radius: var(--radius-md); padding: .5rem; font-size: .75rem; font-weight: 600; }
.brochure-card__preview { border: 1px solid var(--brand-border); color: var(--brand-text); }
.brochure-card__preview:hover { border-color: var(--brand-primary); color: var(--brand-primary); }
.brochure-card__download { background: var(--brand-primary); color: #fff; }
.brochure-card__download:hover { opacity: .9; color: #fff; }

.ajuda-cta { max-width: 48rem; margin: 0 auto; border: 1px solid var(--brand-border); border-radius: var(--radius-lg); background: #fff; padding: 2rem; text-align: center; }
.ajuda-cta h2 { font-size: 1.5rem; margin-bottom: .75rem; }
.ajuda-cta p { color: var(--brand-muted); margin-bottom: 1.5rem; }

/* ============================================================
   Aplicações + Cases (páginas escuras de hero + grids)
   ============================================================ */
.page-hero-dark { background: var(--brand-dark); color: #fff; padding: 4rem 0; }
.page-hero-dark h1 { color: #fff; font-size: clamp(2.25rem, 4vw, 3rem); }
.page-hero-dark p { margin-top: 1rem; color: rgba(255,255,255,.7); max-width: 42rem; }
.page-hero-dark__back { color: rgba(255,255,255,.6); font-size: .875rem; display: inline-block; margin-bottom: .75rem; }
.page-hero-dark__back:hover { color: var(--brand-primary); }

.aplicacoes-grid-wrap, .cases-grid-wrap { padding-top: 4rem; padding-bottom: 4rem; }
.aplicacoes-grid { display: grid; gap: 1.5rem; }
@media (min-width: 768px)  { .aplicacoes-grid { grid-template-columns: repeat(2, 1fr); } }
@media (min-width: 1024px) { .aplicacoes-grid { grid-template-columns: repeat(3, 1fr); } }
.aplicacao-card {
    display: block; border: 1px solid var(--brand-border); border-radius: var(--radius-lg);
    background: #fff; padding: 1.5rem;
    transition: border-color var(--transition), box-shadow var(--transition);
}
.aplicacao-card:hover { border-color: var(--brand-primary); box-shadow: var(--shadow-md); }
.aplicacao-card h2 { font-size: 1.25rem; color: var(--brand-text); transition: color var(--transition); }
.aplicacao-card:hover h2 { color: var(--brand-primary); }
.aplicacao-card p { margin-top: .5rem; font-size: .875rem; color: var(--brand-muted); }
.aplicacao-card__cta { margin-top: 1rem; display: inline-flex; align-items: center; gap: .25rem; font-size: .875rem; font-weight: 600; color: var(--brand-primary); }

.tf-duo { padding-top: 4rem; padding-bottom: 4rem; display: grid; gap: 2.5rem; }
@media (min-width: 768px) { .tf-duo { grid-template-columns: 1fr 1fr; } }
.tf-duo h2 { font-size: 1.5rem; margin-bottom: .75rem; }
.tf-duo p { color: var(--brand-muted); }

.tf-workflow { background: var(--brand-surface); padding: 4rem 0; }
.tf-workflow h2 { font-size: 1.5rem; margin-bottom: 2rem; }
.tf-workflow__grid { display: grid; gap: 1rem; }
@media (min-width: 768px)  { .tf-workflow__grid { grid-template-columns: repeat(2, 1fr); } }
@media (min-width: 1024px) { .tf-workflow__grid { grid-template-columns: repeat(5, 1fr); } }
.tf-workflow__grid li { border-radius: var(--radius-lg); background: #fff; border: 1px solid var(--brand-border); padding: 1.25rem; }
.tf-workflow__num { width: 32px; height: 32px; border-radius: 50%; background: var(--brand-primary); color: #fff; font-weight: 700; display: flex; align-items: center; justify-content: center; }
.tf-workflow__label { margin-top: .75rem; font-size: .875rem; font-weight: 500; }

.tf-softwares { padding-top: 4rem; padding-bottom: 4rem; }
.tf-softwares h2 { font-size: 1.5rem; margin-bottom: .75rem; }
.tf-chips { display: flex; flex-wrap: wrap; gap: .5rem; }
.tf-chips span { border-radius: var(--radius-md); background: var(--brand-surface); padding: .375rem .75rem; font-size: .875rem; font-weight: 500; }

.tf-recomendados { background: var(--brand-surface); padding: 4rem 0; }
.tf-recomendados h2 { font-size: 1.5rem; margin-bottom: 2rem; }
.tf-recomendados__grid { display: grid; gap: 1.5rem; }
@media (min-width: 640px)  { .tf-recomendados__grid { grid-template-columns: repeat(2, 1fr); } }
@media (min-width: 1024px) { .tf-recomendados__grid { grid-template-columns: repeat(3, 1fr); } }

.tf-faq { padding-top: 4rem; padding-bottom: 4rem; }
.tf-faq h2 { font-size: 1.5rem; margin-bottom: 1.5rem; }
.tf-faq__list { display: flex; flex-direction: column; gap: .75rem; }

/* Cases */
.cases-grid { display: grid; gap: 2rem; }
@media (min-width: 768px) { .cases-grid { grid-template-columns: repeat(2, 1fr); } }
.case-card { display: block; border: 1px solid var(--brand-border); border-radius: var(--radius-lg); background: #fff; overflow: hidden; transition: box-shadow var(--transition); }
.case-card:hover { box-shadow: var(--shadow-lg); }
.case-card__img { aspect-ratio: 16/9; background: var(--brand-surface); overflow: hidden; display: flex; align-items: center; justify-content: center; }
.case-card__img img { height: 100%; width: 100%; object-fit: contain; padding: 2rem; transition: transform var(--transition); }
.case-card:hover .case-card__img img { transform: scale(1.05); }
.case-card__body { padding: 1.5rem; }
.case-card__sector { font-size: .75rem; font-weight: 600; color: var(--brand-primary); text-transform: uppercase; letter-spacing: .05em; }
.case-card__body h2 { margin-top: .5rem; font-size: 1.25rem; color: var(--brand-text); transition: color var(--transition); }
.case-card:hover .case-card__body h2 { color: var(--brand-primary); }
.case-card__body p { margin-top: .5rem; font-size: .875rem; color: var(--brand-muted); }

.case-hero { background: var(--brand-surface); border-bottom: 1px solid var(--brand-border); }
.case-hero__grid { padding-top: 3.5rem; padding-bottom: 3.5rem; display: grid; gap: 2.5rem; align-items: center; }
@media (min-width: 1024px) { .case-hero__grid { grid-template-columns: 1fr 1fr; } }
.case-hero__img { aspect-ratio: 16/9; background: #fff; border-radius: var(--radius-lg); overflow: hidden; display: flex; align-items: center; justify-content: center; }
.case-hero__img img { height: 100%; width: 100%; object-fit: contain; padding: 2rem; }
.case-hero__back { color: var(--brand-muted); font-size: .875rem; }
.case-hero__back:hover { color: var(--brand-primary); }
.case-hero__sector { margin-top: .75rem; font-size: .75rem; font-weight: 600; color: var(--brand-primary); text-transform: uppercase; letter-spacing: .05em; }
.case-hero h1 { margin-top: .5rem; font-size: clamp(1.875rem, 3vw, 2.25rem); }
.case-hero__grid > div > p { margin-top: .75rem; color: var(--brand-muted); }
.case-hero__scanner {
    margin-top: 1.5rem; display: inline-flex; align-items: center; gap: .75rem;
    border: 1px solid var(--brand-border); background: #fff; border-radius: var(--radius-md);
    padding: .75rem; transition: border-color var(--transition);
}
.case-hero__scanner:hover { border-color: var(--brand-primary); }
.case-hero__scanner img { height: 56px; width: 56px; object-fit: contain; }
.case-hero__scanner small { display: block; font-size: .75rem; color: var(--brand-muted); }
.case-hero__scanner strong { color: var(--brand-text); }

.case-results { background: var(--brand-surface); padding: 3.5rem 0; }
.case-results h2 { font-size: 1.5rem; margin-bottom: 1.5rem; }
.case-results__grid { display: grid; gap: 1rem; }
@media (min-width: 768px) { .case-results__grid { grid-template-columns: repeat(3, 1fr); } }
.case-results__grid li { border-radius: var(--radius-lg); background: #fff; border: 1px solid var(--brand-border); padding: 1.25rem; display: flex; align-items: flex-start; gap: .75rem; }
.case-results__grid svg { color: var(--brand-accent); flex-shrink: 0; margin-top: .125rem; }
.case-results__grid span { font-size: .875rem; font-weight: 500; }

.case-quote-wrap { padding-top: 3.5rem; padding-bottom: 3.5rem; }
.case-quote { border-left: 4px solid var(--brand-primary); background: #fff; border-radius: var(--radius-lg); padding: 2rem; max-width: 48rem; margin: 0 auto; box-shadow: var(--shadow-sm); }
.case-quote p { font-size: 1.125rem; font-style: italic; }
.case-quote footer { margin-top: 1rem; font-size: .875rem; font-weight: 600; }
.case-quote footer span { font-weight: 400; color: var(--brand-muted); }

/* ============================================================
   Loja, Comprar, Lead form, Suporte, Downloads, Videos,
   Galeria, Blog, Sobre, Política, Obrigado (Fase 4)
   ============================================================ */

/* Loja */
.loja-page { padding-top: 3rem; padding-bottom: 3rem; }
.loja-header { text-align: center; max-width: 48rem; margin: 0 auto 2.5rem; }
.loja-header h1 { font-size: clamp(2.25rem, 4vw, 3rem); }
.loja-header p { color: var(--brand-muted); margin-top: .75rem; }
.loja-grid { display: grid; gap: 1.5rem; grid-template-columns: 1fr; }
@media (min-width: 640px)  { .loja-grid { grid-template-columns: repeat(2, 1fr); } }
@media (min-width: 1024px) { .loja-grid { grid-template-columns: repeat(4, 1fr); } }
.loja-card { position: relative; border: 1px solid var(--brand-border); border-radius: var(--radius-md); background: #fff; overflow: hidden; display: flex; flex-direction: column; }
.loja-card__badge {
    position: absolute; top: .75rem; left: .75rem; z-index: 10;
    background: var(--brand-navy); color: #fff;
    font-size: .75rem; font-weight: 700; text-transform: uppercase; letter-spacing: .04em;
    padding: .375rem .75rem; border-radius: .25rem;
}
.loja-card__img { aspect-ratio: 1/1; background: #fff; display: flex; align-items: center; justify-content: center; padding: 1.5rem; }
.loja-card__img img { max-height: 100%; max-width: 100%; object-fit: contain; }
.loja-card__body { padding: 1.25rem; flex: 1; display: flex; flex-direction: column; }
.loja-card__parcela { display: flex; align-items: center; gap: .5rem; font-size: .875rem; color: var(--brand-muted); }
.loja-card__parcela svg { color: var(--brand-navy); }
.loja-card__pix { margin-top: .5rem; font-size: 1.25rem; font-weight: 700; color: var(--brand-gold); }
.loja-card__pix-label { font-weight: 400; color: var(--brand-text); font-size: 1rem; }
.loja-card__pix-word { color: var(--brand-gold); }
.loja-card__economia { font-size: .875rem; color: var(--brand-gold); }
.loja-card__body h3 { margin-top: 1rem; font-size: 1rem; font-weight: 500; }
.loja-card__buy { margin-top: auto; padding-top: 1.25rem; }
.loja-card__buy-btn {
    display: block; width: 100%; text-align: center;
    background: var(--brand-primary); color: #fff;
    font-size: .875rem; font-weight: 600; padding: .75rem; border-radius: .25rem;
    text-decoration: none; transition: background var(--transition);
}
.loja-card__buy-btn:hover { background: var(--brand-secondary); color: #fff; }
.loja-cta-dark { margin-top: 3.5rem; border-radius: var(--radius-lg); background: var(--brand-dark); color: #fff; padding: 2rem; text-align: center; }
.loja-cta-dark h2 { color: #fff; font-size: clamp(1.5rem, 3vw, 1.875rem); }
.loja-cta-dark p { margin-top: .75rem; color: rgba(255,255,255,.8); max-width: 42rem; margin-left: auto; margin-right: auto; }
.loja-cta-dark__actions { margin-top: 1.25rem; display: flex; justify-content: center; gap: .75rem; flex-wrap: wrap; }
.loja-steps-dark { margin-top: 3.5rem; }
.loja-steps-dark .compra-steps { border-radius: var(--radius-lg); padding: 2rem 0; }

/* Comprar */
.comprar-page { padding-top: 4rem; padding-bottom: 4rem; }
.comprar-page h1 { font-size: clamp(2rem, 4vw, 2.5rem); }
.comprar-page__sub { color: var(--brand-muted); margin-top: .75rem; max-width: 42rem; }
.comprar-benefits { margin-top: 3rem; display: grid; gap: 1.5rem; }
@media (min-width: 768px) { .comprar-benefits { grid-template-columns: repeat(3, 1fr); } }
.comprar-benefit { border: 1px solid var(--brand-border); border-radius: var(--radius-lg); background: #fff; padding: 1.5rem; }
.comprar-benefit svg { color: var(--brand-primary); margin-bottom: .75rem; }
.comprar-benefit h3 { font-size: 1rem; }
.comprar-benefit p { font-size: .875rem; color: var(--brand-muted); margin-top: .25rem; }
.buyer-tabs { margin-top: 4rem; }
.buyer-tabs h2 { font-size: clamp(1.75rem, 3vw, 2rem); text-align: center; }
.buyer-tabs > p { text-align: center; color: var(--brand-muted); margin-top: .5rem; }
.buyer-tabs__grid { margin-top: 2rem; display: grid; grid-template-columns: repeat(2, 1fr); gap: .75rem; }
@media (min-width: 768px) { .buyer-tabs__grid { grid-template-columns: repeat(4, 1fr); } }
.buyer-tab {
    border: 1px solid var(--brand-border); border-radius: var(--radius-lg); background: #fff;
    padding: 1rem; text-align: left; cursor: pointer; font-family: inherit;
    transition: border-color var(--transition), background var(--transition);
}
.buyer-tab svg { color: var(--brand-muted); }
.buyer-tab div { margin-top: .5rem; font-weight: 700; font-size: .875rem; }
.buyer-tab:hover { border-color: rgba(255,68,56,.5); }
.buyer-tab.is-active { border-color: var(--brand-primary); background: rgba(255,68,56,.05); }
.buyer-tab.is-active svg { color: var(--brand-primary); }
.buyer-tab-panel { margin-top: 1.5rem; border: 1px solid var(--brand-border); border-radius: var(--radius-lg); background: #fff; padding: 1.5rem; display: flex; align-items: center; gap: .75rem; }
.buyer-tab-panel[hidden] { display: none; }
.buyer-tab-panel svg { color: var(--brand-primary); flex-shrink: 0; }
.buyer-tab-panel__title { font-weight: 700; font-size: 1.125rem; }
.buyer-tab-panel__desc { font-size: .875rem; color: var(--brand-muted); }
.orcamento-grid { margin-top: 4rem; display: grid; gap: 2.5rem; align-items: start; }
@media (min-width: 1024px) { .orcamento-grid { grid-template-columns: 1fr 1fr; } }
.orcamento-grid h2 { font-size: clamp(1.75rem, 3vw, 2rem); }
.orcamento-grid > div > p { color: var(--brand-muted); margin-top: .75rem; }
.orcamento-list { margin-top: 1.5rem; display: flex; flex-direction: column; gap: .5rem; font-size: .875rem; }

/* Lead form */
.lead-form { display: grid; gap: 1rem; border: 1px solid var(--brand-border); border-radius: var(--radius-lg); background: #fff; padding: 1.5rem; }
.lead-form__hp { position: absolute !important; left: -9999px; width: 1px; height: 1px; opacity: 0; }
.lead-form__grid { display: grid; gap: 1rem; }
@media (min-width: 640px) { .lead-form__grid { grid-template-columns: 1fr 1fr; } }
.lead-form__field label { display: block; font-size: .875rem; font-weight: 500; margin-bottom: .25rem; }
.lead-form__field input, .lead-form__field select, .lead-form__field textarea {
    width: 100%; border: 1px solid var(--brand-border); border-radius: var(--radius-md);
    background: #fff; padding: .5rem .75rem; font-size: .875rem; font-family: inherit;
}
.lead-form__field input:focus, .lead-form__field select:focus, .lead-form__field textarea:focus {
    outline: 2px solid var(--brand-primary); outline-offset: 0; border-color: var(--brand-primary);
}
.lead-form__error { background: rgba(255,68,56,.08); border: 1px solid rgba(255,68,56,.35); color: #b91c1c; border-radius: var(--radius-md); padding: .625rem .875rem; font-size: .875rem; }
.lead-form__note { font-size: .75rem; color: var(--brand-muted); }

/* Suporte */
.suporte-page { padding-top: 4rem; padding-bottom: 4rem; }
.suporte-page h1 { font-size: clamp(2rem, 4vw, 2.5rem); }
.suporte-page__sub { color: var(--brand-muted); margin-top: .75rem; max-width: 42rem; }
.suporte-cards { margin-top: 2.5rem; display: grid; gap: 1.25rem; grid-template-columns: 1fr; }
@media (min-width: 768px) { .suporte-cards { grid-template-columns: repeat(4, 1fr); } }
.suporte-card { display: block; border: 1px solid var(--brand-border); border-radius: var(--radius-lg); background: #fff; padding: 1.25rem; transition: border-color var(--transition); }
.suporte-card:hover { border-color: var(--brand-primary); }
.suporte-card svg { color: var(--brand-primary); margin-bottom: .75rem; }
.suporte-card__title { font-weight: 700; color: var(--brand-text); }
.suporte-card__desc { font-size: .75rem; color: var(--brand-muted); margin-top: .25rem; }
.suporte-contacts { margin-top: 2.5rem; display: grid; gap: 1.25rem; }
@media (min-width: 768px) { .suporte-contacts { grid-template-columns: 1fr 1fr; } }
.suporte-contact { display: flex; align-items: center; gap: 1rem; border-radius: var(--radius-lg); padding: 1.5rem; }
.suporte-contact--wa { background: var(--brand-accent); color: #fff; }
.suporte-contact--wa:hover { color: #fff; opacity: .95; }
.suporte-contact--email { background: var(--brand-dark); color: #fff; }
.suporte-contact--email:hover { color: #fff; opacity: .95; }
.suporte-contact__title { font-weight: 700; }
.suporte-contact__desc { font-size: .875rem; opacity: .9; }
.suporte-faq { margin-top: 4rem; padding: 0; }

/* Páginas estreitas (garantia / rma) */
.narrow-page { padding-top: 4rem; padding-bottom: 4rem; max-width: 48rem; }
.narrow-page h1 { font-size: clamp(2rem, 4vw, 2.5rem); }
.narrow-page__sub { color: var(--brand-muted); margin-top: .75rem; }
.narrow-page__content { margin-top: 2.5rem; display: flex; flex-direction: column; gap: 1.25rem; font-size: .875rem; }
.narrow-page__content h2 { font-size: 1.25rem; margin-bottom: .5rem; }
.narrow-page__content ul { list-style: disc; padding-left: 1.25rem; display: flex; flex-direction: column; gap: .25rem; color: var(--brand-muted); }
.narrow-page__content p { color: var(--brand-muted); }
.narrow-page__content a { font-weight: 600; }
.rma-steps { margin-top: 2.5rem; display: flex; flex-direction: column; gap: 1rem; }
.rma-steps li { border: 1px solid var(--brand-border); border-radius: var(--radius-lg); background: #fff; padding: 1.25rem; display: flex; gap: 1rem; }
.rma-steps__num { width: 32px; height: 32px; border-radius: 50%; background: var(--brand-primary); color: #fff; font-weight: 700; display: flex; align-items: center; justify-content: center; flex-shrink: 0; }
.rma-steps p { font-size: .875rem; }
.rma-cta { margin-top: 2.5rem; border-radius: var(--radius-lg); background: var(--brand-surface); padding: 1.5rem; text-align: center; }
.rma-cta p { font-size: .875rem; margin-bottom: 1rem; }
.rma-cta__actions { display: flex; justify-content: center; gap: .75rem; flex-wrap: wrap; }

/* Downloads */
.downloads-page { padding-top: 4rem; padding-bottom: 4rem; }
.downloads-header { max-width: 48rem; margin-bottom: 2.5rem; }
.downloads-header h1 { font-size: clamp(2rem, 4vw, 2.5rem); }
.downloads-header p { color: var(--brand-muted); margin-top: .75rem; }
.downloads-nav { margin-top: 1.25rem; display: flex; flex-wrap: wrap; gap: .5rem; font-size: .875rem; }
.downloads-nav a { border: 1px solid var(--brand-border); border-radius: var(--radius-md); padding: .375rem .75rem; color: var(--brand-text); }
.downloads-nav a:hover { border-color: var(--brand-primary); color: var(--brand-primary); }
.downloads-section { margin-bottom: 3.5rem; scroll-margin-top: 6rem; }
.downloads-section h2 { font-size: 1.5rem; margin-bottom: 1.5rem; }
.downloads-section__sub { font-size: .875rem; color: var(--brand-muted); margin: -1rem 0 1.5rem; }
.downloads-grid { display: grid; gap: 1.25rem; }
@media (min-width: 1024px) { .downloads-grid { grid-template-columns: 1fr 1fr; } }
.soft-card { border: 1px solid var(--brand-border); border-radius: var(--radius-lg); background: #fff; padding: 1.5rem; }
.soft-card__head { display: flex; align-items: flex-start; gap: 1rem; margin-bottom: 1rem; }
.soft-card__head img { height: 64px; width: 64px; object-fit: contain; flex-shrink: 0; }
.soft-card__head h3 { font-size: 1.25rem; }
.soft-card__head p { font-size: .875rem; color: var(--brand-muted); margin-top: .25rem; }
.soft-card__meta { font-size: .75rem; color: var(--brand-muted); margin-bottom: .5rem; }
.soft-card__meta strong { color: var(--brand-text); }
.soft-card__manuals { display: flex; flex-wrap: wrap; gap: .5rem; margin: .75rem 0 1rem; }
.soft-card__manuals a { display: inline-flex; align-items: center; gap: .375rem; font-size: .75rem; border: 1px solid var(--brand-border); border-radius: var(--radius-md); padding: .25rem .625rem; color: var(--brand-text); }
.soft-card__manuals a:hover { border-color: var(--brand-primary); color: var(--brand-primary); }
.soft-card__downloads { display: grid; gap: .75rem; }
@media (min-width: 640px) { .soft-card__downloads { grid-template-columns: 1fr 1fr; } }
.soft-dl { border: 1px solid var(--brand-border); border-radius: var(--radius-md); padding: .75rem; }
.soft-dl__label { display: flex; align-items: center; gap: .5rem; font-weight: 600; font-size: .875rem; }
.soft-dl__date { font-size: .6875rem; color: var(--brand-muted); margin: .25rem 0 .5rem; }
.soft-dl__actions { display: flex; flex-wrap: wrap; gap: .5rem; }
.soft-dl__main { font-size: .75rem; font-weight: 600; border-radius: var(--radius-md); background: var(--brand-primary); color: #fff; padding: .375rem .75rem; }
.soft-dl__main:hover { color: #fff; opacity: .9; }
.soft-dl__alt { font-size: .75rem; border: 1px solid var(--brand-border); border-radius: var(--radius-md); padding: .375rem .75rem; color: var(--brand-text); }
.soft-dl__alt:hover { border-color: var(--brand-primary); color: var(--brand-primary); }
.product-support-grid { display: grid; gap: .75rem; grid-template-columns: 1fr; }
@media (min-width: 640px)  { .product-support-grid { grid-template-columns: repeat(2, 1fr); } }
@media (min-width: 768px)  { .product-support-grid { grid-template-columns: repeat(3, 1fr); } }
@media (min-width: 1024px) { .product-support-grid { grid-template-columns: repeat(4, 1fr); } }
.product-support-grid a { border: 1px solid var(--brand-border); border-radius: var(--radius-md); background: #fff; padding: .75rem 1rem; font-size: .875rem; font-weight: 600; color: var(--brand-text); }
.product-support-grid a:hover { border-color: var(--brand-primary); color: var(--brand-primary); }
.downloads-source { font-size: .75rem; color: var(--brand-muted); margin-top: 2.5rem; }
.downloads-source a { text-decoration: underline; color: var(--brand-muted); }

/* Vídeos */
.videos-page { padding-top: 3rem; padding-bottom: 3.5rem; }
.videos-header { display: flex; flex-direction: column; gap: 1rem; margin-bottom: 2rem; }
@media (min-width: 768px) { .videos-header { flex-direction: row; align-items: flex-end; justify-content: space-between; } }
.videos-header h1 { font-size: clamp(1.875rem, 4vw, 2.25rem); }
.videos-header p { color: var(--brand-muted); margin-top: .75rem; max-width: 42rem; }
.videos-layout { display: grid; gap: 2rem; }
@media (min-width: 768px) { .videos-layout { grid-template-columns: 220px 1fr; gap: 3rem; } }
.videos-sidebar { align-self: start; }
@media (min-width: 768px) { .videos-sidebar { position: sticky; top: 6rem; } }
.videos-sidebar__title { border-left: 2px solid var(--brand-primary); padding-left: 1rem; margin-bottom: 1rem; font-size: 1.125rem; font-weight: 700; }
.videos-sidebar nav { display: flex; gap: .25rem; overflow-x: auto; padding-bottom: .5rem; }
@media (min-width: 768px) { .videos-sidebar nav { flex-direction: column; overflow: visible; padding-bottom: 0; } }
.videos-sidebar nav a { white-space: nowrap; border-radius: var(--radius-md); padding: .5rem .75rem; font-size: .875rem; color: var(--brand-muted); }
@media (min-width: 768px) { .videos-sidebar nav a { white-space: normal; } }
.videos-sidebar nav a:hover { background: var(--brand-surface); color: var(--brand-text); }
.videos-sidebar nav a span { font-size: .75rem; opacity: .6; }
.videos-content { display: flex; flex-direction: column; gap: 4rem; min-width: 0; }
.videos-cat h2 { font-size: clamp(1.25rem, 2.5vw, 1.5rem); padding-bottom: .75rem; margin-bottom: 1.5rem; border-bottom: 1px solid var(--brand-border); }
.videos-grid { display: grid; gap: 1.25rem; grid-template-columns: 1fr; }
@media (min-width: 640px)  { .videos-grid { grid-template-columns: repeat(2, 1fr); } }
@media (min-width: 1024px) { .videos-grid { grid-template-columns: repeat(3, 1fr); } }
.video-card { display: flex; flex-direction: column; border: 1px solid var(--brand-border); border-radius: var(--radius-md); background: #fff; overflow: hidden; transition: border-color var(--transition), box-shadow var(--transition); }
.video-card:hover { border-color: var(--brand-primary); box-shadow: var(--shadow-lg); }
.video-card__thumb { position: relative; aspect-ratio: 16/9; width: 100%; overflow: hidden; background: #171717; }
.video-card__thumb img { position: absolute; inset: 0; height: 100%; width: 100%; object-fit: cover; transition: transform var(--transition); }
.video-card:hover .video-card__thumb img { transform: scale(1.05); }
.video-card__brand { position: absolute; top: .5rem; left: .5rem; border-radius: 999px; background: rgba(0,0,0,.6); backdrop-filter: blur(4px); padding: .25rem .5rem; font-size: .625rem; font-weight: 600; color: #fff; }
.video-card__play {
    position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%);
    display: flex; height: 56px; width: 80px; align-items: center; justify-content: center;
    border-radius: var(--radius-lg); background: #dc2626; box-shadow: var(--shadow-lg);
    transition: transform var(--transition), background var(--transition);
}
.video-card:hover .video-card__play { transform: translate(-50%, -50%) scale(1.1); background: #ef4444; }
.video-card__yt { position: absolute; bottom: .5rem; right: .5rem; border-radius: .25rem; background: rgba(0,0,0,.7); padding: .125rem .375rem; font-size: .625rem; font-weight: 500; color: #fff; }
.video-card p { padding: 1rem; font-size: .875rem; font-weight: 500; line-height: 1.4; color: var(--brand-text); transition: color var(--transition); }
.video-card:hover p { color: var(--brand-primary); }

/* Galeria */
.galeria-hero { background: #171717; color: #fff; text-align: center; padding: 4.5rem 0; }
.galeria-hero h1 { color: #fff; font-size: clamp(2.25rem, 4vw, 3rem); }
.galeria-hero p { margin: 1rem auto 0; max-width: 48rem; color: #d4d4d4; }
.galeria-page { padding-top: 3rem; padding-bottom: 3rem; }
.galeria-layout { display: grid; gap: 2.5rem; }
@media (min-width: 768px) { .galeria-layout { grid-template-columns: 240px 1fr; } }
.galeria-sidebar { display: none; }
@media (min-width: 768px) {
    .galeria-sidebar { display: block; }
    .galeria-sidebar > div, .galeria-sidebar__inner { position: sticky; top: 6rem; }
}
.galeria-sidebar__group { border: 1px solid var(--brand-border); border-radius: var(--radius-md); background: #fff; padding: 1rem; margin-bottom: 1rem; }
.galeria-sidebar__group h3 { font-size: .875rem; margin-bottom: .75rem; }
.galeria-sidebar__group ul { display: flex; flex-direction: column; gap: .25rem; }
.galeria-sidebar__group a { display: block; padding: .375rem .5rem; font-size: .875rem; color: var(--brand-muted); border-radius: .25rem; }
.galeria-sidebar__group a:hover { color: var(--brand-text); }
.galeria-content { display: flex; flex-direction: column; gap: 5rem; }
.galeria-section { scroll-margin-top: 6rem; }
.galeria-section__header { text-align: center; margin-bottom: 2rem; }
.galeria-section__header h2 { font-size: clamp(1.75rem, 3.5vw, 2.25rem); }
.galeria-section__header p { margin-top: .5rem; color: var(--brand-muted); }
.galeria-grid { display: grid; gap: 1.5rem; grid-template-columns: 1fr; }
@media (min-width: 640px)  { .galeria-grid { grid-template-columns: repeat(2, 1fr); } }
@media (min-width: 1024px) { .galeria-grid { grid-template-columns: repeat(3, 1fr); } }
.galeria-card { display: flex; flex-direction: column; border: 1px solid var(--brand-border); border-radius: var(--radius-md); background: #fff; overflow: hidden; transition: box-shadow var(--transition); }
.galeria-card:hover { box-shadow: var(--shadow-lg); }
.galeria-card__thumb { position: relative; aspect-ratio: 4/3; background: #171717; overflow: hidden; }
.galeria-card__thumb > img { position: absolute; inset: 0; height: 100%; width: 100%; object-fit: cover; transition: transform var(--transition); }
.galeria-card:hover .galeria-card__thumb > img { transform: scale(1.05); }
.galeria-card__brand { position: absolute; top: .75rem; left: .75rem; z-index: 10; display: inline-flex; align-items: center; border-radius: .25rem; background: rgba(23,23,23,.85); padding: .25rem .5rem; }
.galeria-card__brand img { height: 16px; width: auto; }
.galeria-card__play {
    position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%);
    display: inline-flex; height: 56px; width: 56px; align-items: center; justify-content: center;
    border-radius: 50%; background: rgba(0,0,0,.6); backdrop-filter: blur(4px);
    box-shadow: inset 0 0 0 1px rgba(255,255,255,.2);
}
.galeria-card__body { padding: 1.25rem; }
.galeria-card__body h3 { font-size: 1.125rem; margin-bottom: .5rem; color: var(--brand-text); }
.galeria-card__body p { font-size: .875rem; color: var(--brand-muted); line-height: 1.6; }
.galeria-section__more { margin-top: 2rem; display: flex; justify-content: center; }

/* Blog */
.blog-page { padding-top: 4rem; padding-bottom: 4rem; }
.blog-page h1 { font-size: clamp(2rem, 4vw, 2.5rem); }
.blog-page__sub { color: var(--brand-muted); margin-top: .75rem; max-width: 42rem; }
.blog-cards { margin-top: 2.5rem; display: grid; gap: 1.5rem; grid-template-columns: 1fr; }
@media (min-width: 768px)  { .blog-cards { grid-template-columns: repeat(2, 1fr); } }
@media (min-width: 1024px) { .blog-cards { grid-template-columns: repeat(3, 1fr); } }
.blog-card-item { border: 1px solid var(--brand-border); border-radius: var(--radius-lg); background: #fff; overflow: hidden; display: flex; flex-direction: column; }
.blog-card-item__img { display: block; aspect-ratio: 16/9; background: var(--brand-surface); overflow: hidden; }
.blog-card-item__img img { height: 100%; width: 100%; object-fit: contain; }
.blog-card-item__body { padding: 1.5rem; display: flex; flex-direction: column; flex: 1; }
.blog-card-item__meta { display: flex; align-items: center; gap: .5rem; font-size: .75rem; }
.blog-card-item__cat { border-radius: 999px; background: rgba(255,68,56,.1); color: var(--brand-primary); padding: .125rem .5rem; font-weight: 600; }
.blog-card-item__date { color: var(--brand-muted); }
.blog-card-item__body h2 { font-size: 1.125rem; margin-top: .75rem; }
.blog-card-item__body h2 a { color: var(--brand-text); }
.blog-card-item__body h2 a:hover { color: var(--brand-primary); }
.blog-card-item__body > p { font-size: .875rem; color: var(--brand-muted); margin-top: .5rem; flex: 1; }
.blog-card-item__cta { margin-top: 1rem; color: var(--brand-primary); font-weight: 600; font-size: .875rem; }
.blog-suggest { margin-top: 4rem; border: 1px solid var(--brand-border); border-radius: var(--radius-lg); background: var(--brand-surface); padding: 2rem; text-align: center; }
.blog-suggest h2 { font-size: 1.5rem; }
.blog-suggest p { color: var(--brand-muted); margin: .5rem 0 1rem; }

/* Sobre */
.sobre-motivos { background: var(--brand-surface); padding: 4rem 0; }
.sobre-motivos h2 { font-size: 1.5rem; text-align: center; margin-bottom: 2.5rem; }
.sobre-motivos__grid { display: grid; gap: 1.25rem; grid-template-columns: 1fr; }
@media (min-width: 640px)  { .sobre-motivos__grid { grid-template-columns: repeat(2, 1fr); } }
@media (min-width: 1024px) { .sobre-motivos__grid { grid-template-columns: repeat(4, 1fr); } }
.sobre-motivo { border: 1px solid var(--brand-border); border-radius: var(--radius-lg); background: #fff; padding: 1.5rem; }
.sobre-motivo svg { color: var(--brand-primary); margin-bottom: .75rem; }
.sobre-motivo__title { font-weight: 700; }
.sobre-motivo__desc { font-size: .875rem; color: var(--brand-muted); margin-top: .25rem; }
.sobre-contato-wrap { padding-top: 4rem; padding-bottom: 4rem; }
.sobre-contato__actions { display: flex; justify-content: center; gap: .75rem; flex-wrap: wrap; }

/* Política */
.politica-page { padding-top: 4rem; padding-bottom: 4rem; max-width: 56rem; }
.politica-section { scroll-margin-top: 6rem; margin-bottom: 4rem; }
.politica-section h2 { font-size: 1.5rem; margin-bottom: 1rem; }
.politica-section p { color: var(--brand-muted); line-height: 1.75; margin-bottom: 1rem; }
.politica-section a { text-decoration: underline; }

/* Obrigado */
.obrigado-page { padding-top: 6rem; padding-bottom: 6rem; text-align: center; max-width: 42rem; }
.obrigado-page__icon { margin: 0 auto; color: var(--brand-accent); }
.obrigado-page h1 { margin-top: 1.5rem; font-size: clamp(2rem, 4vw, 2.5rem); }
.obrigado-page p { margin-top: 1rem; color: var(--brand-muted); }
.obrigado-page__actions { margin-top: 2rem; display: flex; justify-content: center; gap: .75rem; flex-wrap: wrap; }
