/* =========================================================
   Casa Roma Repuestos — Home (tema claro)
   Carregado depois de style.css e aplicado só com body.theme-light.
   Paleta: Branco (base) / Vermelho #E10600 (marca) / Grafite (texto)
   ========================================================= */

body.theme-light {
    --red:        #E10600;
    --red-2:      #FF2A1F;
    --red-dark:   #B30500;
    --red-50:     #FFF3F2;
    --red-100:    #FFE1DE;

    /* Fundo cinza-claro + superfícies brancas = profundidade sem perder a leveza */
    --bg:         #EBECEF;
    --surface:    #FFFFFF;
    --surface-2:  #F1F2F5;
    --surface-3:  #E6E8EC;
    --ink:        #121316;
    --ink-2:      #34373E;
    --muted:      #5F636C;
    --line:       #DDE0E5;
    --line-2:     #C6CBD2;

    /* Reaproveita os nomes do style.css para que regras herdadas funcionem */
    --white:      #FFFFFF;
    --gray:       var(--muted);
    --border:     var(--line);
    --border-red: rgba(225, 6, 0, 0.22);

    --shadow-xs:  0 1px 3px rgba(16, 18, 24, 0.08), 0 1px 2px rgba(16, 18, 24, 0.04);
    --shadow-sm:  0 3px 10px rgba(16, 18, 24, 0.08), 0 1px 2px rgba(16, 18, 24, 0.05);
    --shadow-md:  0 10px 28px rgba(16, 18, 24, 0.08), 0 2px 6px rgba(16, 18, 24, 0.04);
    --shadow-lg:  0 20px 44px rgba(16, 18, 24, 0.12), 0 4px 10px rgba(16, 18, 24, 0.05);
    --shadow-red: 0 8px 22px rgba(225, 6, 0, 0.25);
    /* Elevações Material (cards e busca) */
    --elev-2:     0 1px 2px rgba(0, 0, 0, 0.12), 0 2px 8px rgba(0, 0, 0, 0.10);
    --elev-4:     0 2px 4px rgba(0, 0, 0, 0.10), 0 4px 14px rgba(0, 0, 0, 0.12);
    --elev-8:     0 6px 12px rgba(0, 0, 0, 0.10), 0 12px 28px rgba(0, 0, 0, 0.16);

    --radius:     16px;
    --radius-sm:  12px;
    --header-h:   76px;
    --nav-h:      44px;
    /* Mercado Pago: só no botão de pagamento, para o cliente reconhecer a marca */
    --mp:         #009EE3;
    --mp-dark:    #0079B8;

    --font-body:    'Inter', system-ui, -apple-system, 'Segoe UI', Roboto, Arial, sans-serif;
    --font-display: 'Poppins', 'Inter', system-ui, -apple-system, 'Segoe UI', Arial, sans-serif;

    background: var(--bg);
    color: var(--ink);
    font-family: var(--font-body);
    font-size: 16px;
    line-height: 1.55;
    text-rendering: optimizeLegibility;
}

/* ---------- Tipografia ---------- */
.theme-light :is(h1, h2, h3, h4),
.theme-light .card-title,
.theme-light .price-value,
.theme-light .footer-col h4,
.theme-light .product-modal-body h2,
.theme-light .product-modal-price,
.theme-light .product-modal-price .price-label {
    font-family: var(--font-display);
}
.theme-light .product-modal-share-link input,
.theme-light .card-foot .btn-whatsapp::after,
.theme-light .card-foot .btn-buy::after {
    font-family: var(--font-body);
}
.theme-light h2 {
    color: var(--ink);
    font-weight: 800;
    letter-spacing: -0.025em;
    font-size: clamp(1.6rem, 3.4vw, 2.4rem);
}
.theme-light h2 span {
    background: none;
    -webkit-text-fill-color: currentColor;
    color: var(--red);
}
.theme-light .section-title p { color: var(--muted); font-size: 1rem; }

.theme-light .kicker {
    color: var(--red);
    background: var(--red-50);
    border: 1px solid var(--red-100);
    font-size: 0.72rem;
    letter-spacing: 0.14em;
    padding: 6px 12px;
    font-weight: 700;
}

/* Foco visível e acessível em todo o site */
.theme-light :is(a, button, input, [tabindex]):focus-visible {
    outline: 3px solid rgba(225, 6, 0, 0.45);
    outline-offset: 2px;
}

/* nas buscas, o anel de foco já está no formulário inteiro */
.theme-light .header-search input:focus-visible,
.theme-light .mobile-search-bar input:focus-visible { outline: none; }

.theme-light ::selection { background: var(--red-100); color: var(--ink); }

/* ---------- Botões ---------- */
.theme-light .btn { font-weight: 600; letter-spacing: 0.005em; min-height: 44px; }
.theme-light .btn-primary {
    background: var(--red);
    box-shadow: var(--shadow-red);
}
.theme-light .btn-primary:hover { background: var(--red-dark); box-shadow: 0 12px 28px rgba(225, 6, 0, 0.32); }
.theme-light .btn-ghost {
    color: var(--ink);
    background: var(--surface);
    border: 1px solid var(--line-2);
}
.theme-light .btn-ghost:hover { background: var(--ink); color: #fff; border-color: var(--ink); }
.theme-light .btn-whatsapp {
    background: #1FAF55;
    box-shadow: 0 6px 16px rgba(31, 175, 85, 0.28);
}
.theme-light .btn-whatsapp:hover { background: #179247; transform: translateY(-2px); box-shadow: 0 10px 22px rgba(31, 175, 85, 0.34); }
.theme-light .btn-whatsapp.disabled { background: var(--surface-3); color: var(--muted); }

/* ================= HEADER ================= */
/* Barra superior escura com mensagens de confiança (rola junto com a página) */
.theme-light .topbar {
    background: #111214;
    color: #D4D7DD;
    font-size: 0.78rem;
    font-weight: 500;
    border-bottom: 2px solid var(--red);
}
.theme-light .topbar-inner {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 28px;
    min-height: 36px;
}
.theme-light .topbar-item {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    color: inherit;
    white-space: nowrap;
}
.theme-light .topbar-item i { color: var(--red-2); font-size: 0.82rem; }
.theme-light a.topbar-item:hover { color: #fff; }

.theme-light .site-header-v2 {
    background: #fff;
    border-bottom: 1px solid var(--line);
    box-shadow: 0 2px 10px rgba(16, 18, 24, 0.06);
    transition: box-shadow .25s ease;
}
.theme-light .site-header-v2.scrolled { box-shadow: 0 6px 20px rgba(16, 18, 24, 0.10); }
.theme-light .site-header-v2 .header-bg { display: none; }
.theme-light .site-header-v2 .header-container { height: var(--header-h); gap: 20px; }

.theme-light .site-header-v2 .logo {
    gap: 12px;
    border-radius: 999px;
    padding: 3px 12px 3px 3px;
    margin-left: -3px;
}
.theme-light .site-header-v2 .logo img {
    width: 56px;
    height: 56px;
    border-radius: 50%;
    object-fit: cover;
    filter: none;
    box-shadow: 0 0 0 2px #fff, 0 0 0 3px var(--red-100), var(--shadow-sm);
}
.theme-light .site-header-v2 .logo:hover img { transform: rotate(-6deg) scale(1.04); }
.theme-light .logo-text {
    display: flex;
    flex-direction: column;
    line-height: 1;
    white-space: nowrap;
}
.theme-light .logo-text strong {
    font-family: var(--font-display);
    font-weight: 800;
    font-size: 1.2rem;
    letter-spacing: -0.02em;
    color: var(--ink);
    text-transform: uppercase;
}
.theme-light .logo-text strong em { font-style: normal; color: var(--red); }
.theme-light .logo-text small {
    margin-top: 4px;
    font-size: 0.66rem;
    font-weight: 600;
    letter-spacing: 0.32em;
    text-transform: uppercase;
    color: var(--muted);
}

/* Busca */
/* Busca elevada (ref. Mercado Livre): campo branco "flutuando" sobre o header */
.theme-light .header-search {
    background: #fff;
    border: 1.5px solid transparent;
    box-shadow: var(--elev-4);
    padding: 0 6px 0 20px;
    min-height: 54px;
    transition: box-shadow .2s ease, border-color .2s ease;
}
.theme-light .header-search:hover { box-shadow: var(--elev-8); }
.theme-light .header-search:focus-within {
    background: #fff;
    border-color: var(--red);
    box-shadow: 0 0 0 4px rgba(225, 6, 0, 0.14), var(--elev-8);
}
.theme-light .header-search input { color: var(--ink); font-size: 1rem; font-weight: 500; }
.theme-light .header-search input::placeholder { color: var(--muted); font-weight: 400; }
.theme-light .header-search-icon { color: var(--red); font-size: 1.05rem; }
.theme-light .header-search-go { width: 42px; height: 42px; background: var(--red); box-shadow: var(--shadow-red); }
.theme-light .header-search-go:hover { background: var(--red-dark); transform: none; }
.theme-light .header-search-clear:hover { background: var(--surface-3); color: var(--ink); }

/* Ações */
.theme-light .header-action {
    width: 44px; height: 44px;
    background: #EDEFF2;
    border: 1px solid var(--line-2);
    color: var(--ink);
    border-radius: 12px;
}
.theme-light .header-action:hover {
    background: var(--red-50);
    border-color: var(--red-100);
    color: var(--red);
    box-shadow: none;
}
.theme-light .header-action.active { background: var(--red); border-color: var(--red); color: #fff; }

/* Busca mobile (overlay) */
/* sticky (e não fixed): fica sempre logo abaixo do header, com ou sem a topbar visível */
.theme-light .mobile-search-bar {
    position: sticky;
    top: var(--header-h);
    z-index: 998;
    background: #fff;
    border-bottom: 1px solid var(--line);
    box-shadow: var(--shadow-md);
}
.theme-light .mobile-search-bar form { background: #fff; border: 1.5px solid transparent; box-shadow: var(--elev-4); }
.theme-light .mobile-search-bar form:focus-within { background: #fff; border-color: var(--red); box-shadow: 0 0 0 4px rgba(225, 6, 0, 0.14), var(--elev-4); }
.theme-light .mobile-search-bar form i.fa-search { color: var(--red); }
.theme-light .mobile-search-bar form input { color: var(--ink); font-size: 16px; /* evita zoom no iOS */ }
.theme-light .mobile-search-bar form input::placeholder { color: var(--muted); }
.theme-light .mobile-search-bar form .btn-icon { width: 40px; height: 40px; }

/* Resultados do typeahead */
.theme-light .header-search-results {
    background: #fff;
    border-bottom: 1px solid var(--line);
    box-shadow: var(--shadow-lg);
}
.theme-light .header-search-results-head { border-bottom-color: var(--line); }
.theme-light .header-search-results-count { background: var(--surface-2); color: var(--muted); border-color: var(--line); }
.theme-light .hsr-item { background: #fff; border-color: var(--line); color: var(--ink); }
.theme-light .hsr-item:hover,
.theme-light .hsr-item:focus-visible { background: var(--red-50); border-color: var(--red-100); }
.theme-light .hsr-item-img { background: var(--surface-2); border-color: var(--line); }
.theme-light .hsr-item-name,
.theme-light .hsr-item-price { color: var(--ink); }
.theme-light .hsr-item-name mark { background: var(--red-100); color: var(--red-dark); }
.theme-light .hsr-item-cat { background: var(--red-50); color: var(--red-dark); border-color: var(--red-100); }
.theme-light .header-search-results-more { background: var(--red-50); color: var(--red); border-color: var(--red-100); }
.theme-light .header-search-results-more:hover { background: var(--red); color: #fff; }
.theme-light .hsr-related { background: var(--surface-2); border-color: var(--line-2); }
.theme-light .chip-related { background: var(--red-50); color: var(--red-dark); border-color: var(--red-100); }
.theme-light .chip-related:hover { background: var(--red); color: #fff; }

/* ================= DESTAQUES ================= */
.theme-light .destaques-section {
    background: var(--bg);
    padding: 48px 0 28px;
}
.theme-light .destaques-head { align-items: flex-end; margin-bottom: 24px; }
.theme-light .destaques-title { color: var(--ink); font-size: clamp(1.5rem, 2.8vw, 2rem); font-weight: 800; }
.theme-light .destaques-arrow {
    width: 44px; height: 44px;
    background: #fff;
    border: 1px solid var(--line-2);
    color: var(--ink);
    box-shadow: var(--shadow-xs);
}
.theme-light .destaques-arrow:hover { background: var(--red); border-color: var(--red); color: #fff; }
.theme-light .destaques-arrow:disabled { background: var(--surface-2); color: #A9ADB4; border-color: var(--line); box-shadow: none; }
/* Folga extra (compensada na margem) para a sombra/hover dos cards não serem cortados pelo overflow */
.theme-light .destaques-rail {
    gap: 20px;
    padding: 12px 12px 32px;
    margin: -4px -12px 0;
    width: calc(100% + 24px);
    max-width: calc(100% + 24px);
    scroll-padding-inline: 12px;
    scrollbar-color: var(--line-2) transparent;
}
.theme-light .destaques-rail::-webkit-scrollbar-thumb { background: var(--line-2); }
.theme-light .destaques-rail::-webkit-scrollbar-thumb:hover { background: var(--red); }

/* ================= CARDS DE PRODUTO ================= */
/* Elevação estilo Material (ref. Mercado Livre): sem borda, a sombra separa o card do fundo */
.theme-light .card {
    background: var(--surface);
    border: 0;
    border-radius: var(--radius);
    box-shadow: var(--elev-2);
    transition: transform .25s ease, box-shadow .25s ease;
}
.theme-light .card::before { display: none; }
.theme-light .card:hover {
    transform: translateY(-4px);
    box-shadow: var(--elev-8);
}
.theme-light .card-media {
    background: var(--surface-2);
    aspect-ratio: 1 / 1;
}
.theme-light .card-media img { transition: transform .5s ease; }
.theme-light .card:hover .card-media img { transform: scale(1.05); }

.theme-light .card-badge {
    background: var(--red);
    box-shadow: 0 4px 10px rgba(225, 6, 0, 0.25);
    padding: 5px 10px;
    font-size: 0.66rem;
    letter-spacing: 0.06em;
}
.theme-light .card-stock,
.theme-light .card-fotos-badge {
    background: rgba(255, 255, 255, 0.94);
    color: var(--ink-2);
    border: 1px solid var(--line);
    box-shadow: var(--shadow-xs);
    backdrop-filter: blur(6px);
}
.theme-light .card-fotos-badge i { color: var(--red); }
.theme-light .card-stock.low { color: #A45A00; background: #FFF6E8; border-color: #FBDDAE; }
.theme-light .card-stock.out { color: var(--red-dark); background: var(--red-50); border-color: var(--red-100); }
.theme-light .card-share-btn {
    width: 38px; height: 38px;
    background: rgba(255, 255, 255, 0.94);
    color: var(--ink-2);
    border: 1px solid var(--line);
    box-shadow: var(--shadow-sm);
}
.theme-light .card-share-btn:hover { background: var(--red); color: #fff; border-color: var(--red); box-shadow: var(--shadow-red); }

.theme-light .card-body { padding: 16px 16px 18px; gap: 8px; }
.theme-light .card-title {
    color: var(--ink);
    font-size: 1rem;
    font-weight: 600;
    line-height: 1.35;
    letter-spacing: -0.01em;
}
.theme-light .card-desc { color: var(--muted); font-size: 0.85rem; }
.theme-light .card-foot { border-top: 1px solid var(--line); padding-top: 14px; gap: 12px; }
.theme-light .card-foot .card-price { align-items: flex-start; text-align: left; }
.theme-light .price-label { color: var(--muted); font-size: 0.68rem; font-weight: 600; }
.theme-light .price-value { color: var(--ink); font-size: 1.45rem; font-weight: 800; letter-spacing: -0.02em; }
.theme-light .card-foot .btn-buy {
    padding: 12px 18px;
    font-size: 0.95rem;
    font-weight: 600;
    border-radius: 12px;
    box-shadow: 0 6px 16px rgba(31, 175, 85, 0.25);
    animation: none;
}
.theme-light .card-foot .btn-buy:hover { transform: translateY(-2px); box-shadow: 0 10px 22px rgba(31, 175, 85, 0.32); }
.theme-light .card-foot .btn-buy.disabled:hover { transform: none; box-shadow: none; }

/* ================= CATEGORIAS ================= */
/* faixa branca entre seções cinza: cria ritmo visual */
.theme-light .categories-cta {
    background: #fff;
    padding: 64px 0 56px;
    border-top: 1px solid var(--line);
    border-bottom: 1px solid var(--line);
}
.theme-light .categories-cta .section-title { margin-bottom: 36px; }
.theme-light .cat-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 12px;
    max-width: 1180px;
}
@media (min-width: 760px) {
    .theme-light .cat-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; }
}

/* Cada categoria tem um tom de destaque só no ícone; vermelho segue como cor de ação */
.theme-light .cat-tile--moto        { --cat: #E10600; --cat-bg: #FFF1F0; }
.theme-light .cat-tile--motosserra  { --cat: #E8630A; --cat-bg: #FFF3EA; }
.theme-light .cat-tile--ferramenta  { --cat: #2563EB; --cat-bg: #EEF4FF; }
.theme-light .cat-tile--hogar       { --cat: #0F9D6B; --cat-bg: #EAF8F2; }
.theme-light .cat-tile--tecnologia  { --cat: #7C3AED; --cat-bg: #F4EFFF; }
.theme-light .cat-tile--accesorios  { --cat: #C2410C; --cat-bg: #FFF4EC; }

.theme-light .cat-tile {
    min-height: 0;
    padding: 20px;
    border-radius: 18px;
    color: var(--ink);
    background: #F7F8FA;
    border: 1px solid var(--line);
    box-shadow: var(--shadow-xs);
}
.theme-light .cat-tile:hover,
.theme-light .cat-tile:focus-visible { background: #fff; }
.theme-light .cat-tile-bg {
    background: radial-gradient(circle at 100% 0%, var(--cat-bg) 0%, transparent 60%) !important;
    opacity: 1;
}
.theme-light .cat-tile-content {
    grid-template-columns: 56px 1fr 36px;
    gap: 16px;
}
.theme-light .cat-tile-icon {
    background: var(--cat-bg);
    border: 1px solid transparent;
    color: var(--cat) !important;
    font-size: 1.45rem;
    backdrop-filter: none;
}
.theme-light .cat-tile-text h3 {
    color: var(--ink);
    font-size: 1.15rem;
    font-weight: 700;
    letter-spacing: -0.015em;
}
.theme-light .cat-tile-text p { color: var(--muted); font-size: 0.85rem; line-height: 1.4; }
.theme-light .cat-tile-arrow {
    width: 36px; height: 36px;
    background: #fff;
    border: 1px solid var(--line);
    color: var(--ink-2);
}
.theme-light .cat-tile:hover,
.theme-light .cat-tile:focus-visible {
    transform: translateY(-3px);
    border-color: var(--line-2);
    box-shadow: var(--shadow-md);
}
.theme-light .cat-tile:hover .cat-tile-bg,
.theme-light .cat-tile:focus-visible .cat-tile-bg { transform: none; }
.theme-light .cat-tile:hover .cat-tile-icon,
.theme-light .cat-tile:focus-visible .cat-tile-icon {
    background: var(--cat);
    color: #fff !important;
    transform: scale(1.05);
}
.theme-light .cat-tile:hover .cat-tile-arrow,
.theme-light .cat-tile:focus-visible .cat-tile-arrow {
    background: var(--red);
    border-color: var(--red);
    color: #fff;
}

.theme-light .cat-tile-all {
    width: auto;
    display: flex;
    max-width: 340px;
    margin: 28px auto 0;
    padding: 14px 28px;
    border: 0;
    border-radius: 999px;
    color: #fff;
    background: var(--ink);
    font-weight: 600;
    box-shadow: var(--shadow-md);
}
.theme-light .cat-tile-all:hover,
.theme-light .cat-tile-all:focus-visible {
    color: #fff;
    background: var(--red);
    box-shadow: var(--shadow-red);
}

/* Mobile: tiles compactos em 2 colunas, ícone em cima */
@media (max-width: 759px) {
    .theme-light .categories-cta { padding: 44px 0 40px; }
    .theme-light .cat-tile { padding: 16px 14px; border-radius: 16px; }
    .theme-light .cat-tile-content {
        grid-template-columns: 1fr;
        gap: 10px;
        align-items: start;
    }
    .theme-light .cat-tile-icon { width: 46px; height: 46px; font-size: 1.2rem; border-radius: 12px; }
    .theme-light .cat-tile-text h3 { font-size: 1rem; margin-bottom: 2px; }
    .theme-light .cat-tile-text p {
        font-size: 0.76rem;
        display: -webkit-box;
        -webkit-line-clamp: 2;
        -webkit-box-orient: vertical;
        overflow: hidden;
    }
    .theme-light .cat-tile-arrow {
        position: absolute;
        top: 14px; right: 14px;
        width: 28px; height: 28px;
        font-size: 0.75rem;
    }
    .theme-light .cat-tile-all { max-width: none; width: 100%; }
}

/* ================= SOBRE ================= */
.theme-light .about { background: var(--bg); padding: 64px 0; }
.theme-light .about::before { display: none; }
.theme-light .about-card {
    max-width: 880px;
    grid-template-columns: 150px 1fr;
    gap: 32px;
    padding: 28px 32px;
    background: var(--surface);
    border: 1px solid var(--line);
    border-left: 4px solid var(--red);
    box-shadow: var(--shadow-sm);
    backdrop-filter: none;
}
.theme-light .about-card-img {
    border: 3px solid #fff;
    background: var(--surface-2);
    box-shadow: 0 0 0 1px var(--line), var(--shadow-sm);
}
.theme-light .about-card-text h2 { color: var(--ink); font-size: 1.55rem; }
.theme-light .about-card-text p { color: var(--ink-2); font-size: 0.97rem; line-height: 1.7; }

/* ================= FOOTER (escuro, ancora a página) ================= */
.theme-light .site-footer {
    background: #111214;
    border-top: 3px solid var(--red);
    margin-top: 0;
    color: #fff;
}
.theme-light .footer-top { grid-template-columns: 1.1fr 0.8fr 1fr 1.5fr; gap: 36px; }
.theme-light .footer-col h4 { color: #fff; font-size: 0.85rem; font-weight: 700; letter-spacing: 0.12em; }
.theme-light .footer-col a,
.theme-light .footer-col p { color: #B4B8C0; }
.theme-light .footer-col a:hover { color: #fff; }
.theme-light .footer-col i { color: var(--red-2); }
.theme-light .footer-logo {
    width: 88px; height: 88px;
    border-radius: 50%;
    object-fit: cover;
    filter: none;
    box-shadow: 0 0 0 1px rgba(255, 255, 255, 0.08);
}
.theme-light .footer-map-lead { color: #9AA0A9; }
.theme-light .footer-map-wrap { border-color: rgba(255, 255, 255, 0.08); }
.theme-light .footer-bottom { border-top-color: rgba(255, 255, 255, 0.08); color: #8A9099; }
.theme-light .footer-bottom .footer-admin-link { color: #5E636B; border-left-color: rgba(255, 255, 255, 0.1); }
@media (max-width: 1100px) {
    .theme-light .footer-top { grid-template-columns: 1fr 1fr; }
}
@media (max-width: 900px) {
    .theme-light .footer-top { grid-template-columns: 1fr; gap: 28px; }
}

/* ================= COOKIE BAR ================= */
.theme-light .cookie-bar {
    background: #fff;
    color: var(--ink);
    border: 1px solid var(--line);
    box-shadow: var(--shadow-lg);
}
.theme-light .cookie-inner p { color: var(--ink-2); font-size: 0.92rem; }
.theme-light .cookie-inner a { color: var(--red); }

/* ================= MODAL DO PRODUTO ================= */
.theme-light .product-modal { background: rgba(17, 18, 20, 0.55); }
.theme-light .product-modal-content {
    background: #fff;
    border: 1px solid var(--line);
    box-shadow: 0 30px 80px rgba(16, 18, 24, 0.3);
    color: var(--ink);
}
.theme-light .product-modal-img { background: var(--surface-2); }
.theme-light .product-modal-close {
    background: rgba(255, 255, 255, 0.95);
    color: var(--ink);
    border-color: var(--line);
    box-shadow: var(--shadow-sm);
}
.theme-light .product-modal-close:hover { background: var(--red); color: #fff; border-color: var(--red); }
.theme-light .product-modal-img .pm-nav { background: rgba(255, 255, 255, 0.95); color: var(--ink); border-color: var(--line); }
.theme-light .product-modal-img .pm-nav:hover { background: var(--red); color: #fff; }
.theme-light .product-modal-img .pm-dots button { background: rgba(17, 18, 20, 0.25); }
.theme-light .product-modal-img .pm-dots button.active { background: var(--red); box-shadow: none; }
.theme-light .product-modal-img .pm-counter { background: rgba(255, 255, 255, 0.95); color: var(--ink); border-color: var(--line); }
.theme-light .product-modal-cat { background: var(--surface-2); color: var(--ink-2); border-color: var(--line); }
.theme-light .product-modal-stock { background: #EAF8F2; color: #0B7A52; border-color: #C5EBDA; }
.theme-light .product-modal-stock.low { color: #A45A00; background: #FFF6E8; border-color: #FBDDAE; }
.theme-light .product-modal-stock.out { color: var(--red-dark); background: var(--red-50); border-color: var(--red-100); }
.theme-light .product-modal-body h2 { color: var(--ink); font-weight: 700; }
.theme-light .product-modal-desc { color: var(--ink-2); }
.theme-light .product-modal-tags .modal-tag { background: var(--surface-2); color: var(--ink-2); border-color: var(--line); }
.theme-light .product-modal-price { color: var(--ink); font-weight: 800; }
.theme-light .product-modal-price .price-label { color: var(--muted); }
.theme-light .product-modal-trust { background: var(--surface-2); border-color: var(--line); }
.theme-light .product-modal-trust li { color: var(--ink-2); }
.theme-light .product-modal-trust i { color: var(--red); }
.theme-light .product-modal-share-link { background: var(--surface-2); border-color: var(--line); }
.theme-light .product-modal-share-link input { color: var(--ink-2); }
.theme-light #pmCopyBtn { background: #fff; color: var(--ink-2); border-color: var(--line); }
.theme-light #pmCopyBtn:hover { background: var(--red); color: #fff; border-color: var(--red); }
.theme-light .product-modal-actions .btn-whatsapp { background: #1FAF55; }
.theme-light .product-modal-actions .btn-whatsapp:hover { background: #179247; }

/* ================= SCROLLBAR ================= */
.theme-light::-webkit-scrollbar-track,
html:has(body.theme-light)::-webkit-scrollbar-track { background: var(--surface-2); }
html:has(body.theme-light)::-webkit-scrollbar-thumb { background: #C9CDD3; border: 2px solid var(--surface-2); }
html:has(body.theme-light)::-webkit-scrollbar-thumb:hover { background: var(--red); }

/* ================= RESPONSIVO ================= */
@media (max-width: 900px) {
    body.theme-light { --header-h: 68px; }
    .theme-light .site-header-v2 .header-container { gap: 12px; }
    .theme-light .site-header-v2 .logo img { width: 48px; height: 48px; }
    .theme-light .logo-text strong { font-size: 1.05rem; }
    .theme-light .header-action { width: 42px; height: 42px; }
}
@media (max-width: 768px) {
    /* Busca escondida no header: logo à esquerda, ações à direita */
    .theme-light .site-header-v2 .header-container { grid-template-columns: 1fr auto; }
    .theme-light .destaques-section { padding: 32px 0 16px; }
    .theme-light .about { padding: 44px 0; }
    .theme-light .topbar-inner { gap: 18px; min-height: 32px; }
    .theme-light .topbar { font-size: 0.72rem; }
    .theme-light .topbar-item--wa { display: none; } /* já existe WhatsApp nos cards e no rodapé */
}
@media (max-width: 600px) {
    .theme-light .about-card { grid-template-columns: 1fr; text-align: center; padding: 24px 20px; gap: 18px; border-left-width: 1px; border-top: 4px solid var(--red); }
    .theme-light .about-card-img { width: 104px; }
    .theme-light .destaques-nav { display: none; } /* no touch o gesto é deslizar */
    .theme-light .destaques-head { margin-bottom: 16px; }
    .theme-light .card-body { padding: 10px 12px 12px; gap: 6px; }
    .theme-light .card-title { font-size: 0.88rem; }
    .theme-light .price-value { font-size: 1.1rem; }
    .theme-light .card-foot { padding-top: 10px; }
    .theme-light .card-foot .card-price { align-items: center; text-align: center; }
    .theme-light .card-foot .btn-buy { padding: 10px 6px; border-radius: 10px; }
}
@media (max-width: 380px) {
    .theme-light .logo-text small { letter-spacing: 0.22em; }
    .theme-light .site-header-v2 .logo { padding-right: 4px; }
}

/* Respeita quem prefere menos movimento */
@media (prefers-reduced-motion: reduce) {
    .theme-light *,
    .theme-light *::before,
    .theme-light *::after {
        animation-duration: 0.01ms !important;
        animation-iteration-count: 1 !important;
        transition-duration: 0.01ms !important;
        scroll-behavior: auto !important;
    }
}

/* =========================================================
   LAYOUT COMPARTILHADO (todas as páginas públicas)
   ========================================================= */
.theme-light .site-header.site-header-v2 { position: sticky; top: 0; z-index: 999; }

.sr-only {
    position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px;
    overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; border: 0;
}
.skip-link {
    position: absolute; left: 12px; top: -60px; z-index: 2000;
    background: var(--red); color: #fff; padding: 10px 16px; border-radius: 10px;
    font-weight: 600; transition: top .2s ease;
}
.skip-link:focus { top: 12px; }

.theme-light .topbar-item--mp i { color: #7FD3FF; }

/* Navegação por categorias (linha abaixo do header, estilo marketplace) */
.theme-light .site-nav { border-top: 1px solid var(--line); background: #fff; }
.theme-light .site-nav-inner {
    display: flex; align-items: center; gap: 4px;
    min-height: var(--nav-h);
    overflow-x: auto; scrollbar-width: none;
    -webkit-overflow-scrolling: touch;
}
.theme-light .site-nav-inner::-webkit-scrollbar { display: none; }
.theme-light .site-nav-link {
    position: relative;
    display: inline-flex; align-items: center; gap: 7px;
    flex: 0 0 auto;
    padding: 0 12px; height: var(--nav-h);
    color: var(--ink-2); font-size: 0.88rem; font-weight: 500;
    white-space: nowrap;
    transition: color .2s ease;
}
.theme-light .site-nav-link i { color: var(--muted); font-size: 0.85rem; transition: color .2s ease; }
.theme-light .site-nav-link::after {
    content: ""; position: absolute; left: 12px; right: 12px; bottom: 0;
    height: 3px; border-radius: 3px 3px 0 0;
    background: var(--red); transform: scaleX(0); transition: transform .2s ease;
}
.theme-light .site-nav-link:hover { color: var(--ink); }
.theme-light .site-nav-link:hover i,
.theme-light .site-nav-link.active i { color: var(--red); }
.theme-light .site-nav-link.active { color: var(--ink); font-weight: 600; }
.theme-light .site-nav-link.active::after,
.theme-light .site-nav-link:hover::after { transform: scaleX(1); }
.theme-light .site-nav-link--end { margin-left: auto; }

/* A barra de busca mobile fica logo abaixo do header + navegação */
.theme-light .mobile-search-bar { top: calc(var(--header-h) + var(--nav-h)); }

/* ---------- Botão Mercado Pago ---------- */
.theme-light .btn-mp {
    display: inline-flex; align-items: center; justify-content: center; gap: 8px;
    background: var(--mp); color: #fff; border: 0;
    box-shadow: 0 6px 16px rgba(0, 158, 227, 0.28);
}
.theme-light .btn-mp:hover { background: var(--mp-dark); color: #fff; transform: translateY(-2px); box-shadow: 0 10px 22px rgba(0, 158, 227, 0.34); }
.theme-light .btn-mp.disabled { background: var(--surface-3); color: var(--muted); box-shadow: none; cursor: not-allowed; transform: none; }

.theme-light .card-actions { display: flex; flex-direction: column; gap: 8px; }
.theme-light .card-foot .btn-buy { width: 100%; justify-content: center; }
.theme-light .card-foot .btn-mp.btn-buy { box-shadow: 0 6px 16px rgba(0, 158, 227, 0.28); }
.theme-light .card-foot .btn-mp.btn-buy:hover { box-shadow: 0 10px 22px rgba(0, 158, 227, 0.34); }
.theme-light .card-foot .btn-mp.btn-buy.disabled { box-shadow: none; }
/* Com Mercado Pago presente, o WhatsApp vira ação secundária (contorno verde) */
.theme-light .btn-whatsapp.btn-buy--secondary {
    background: #fff; color: #148A43;
    border: 1.5px solid #1FAF55; box-shadow: none;
}
.theme-light .btn-whatsapp.btn-buy--secondary:hover { background: #EAF8F0; color: #0F6E35; box-shadow: none; }
.theme-light .card-foot .btn-whatsapp.btn-buy--secondary { padding-top: 10px; padding-bottom: 10px; box-shadow: none; }
.theme-light .card-foot .btn-whatsapp.btn-buy--secondary:hover { box-shadow: none; }

.theme-light .card-tags { display: flex; flex-wrap: wrap; gap: 4px; }
.theme-light .card-tag {
    font-size: 0.7rem; font-weight: 600;
    background: var(--surface-2); color: var(--ink-2);
    border-radius: 999px; padding: 3px 8px;
}

/* Modal: bloco de compra logo abaixo do preço */
.theme-light .product-modal-actions--buy { display: grid; gap: 10px; margin: 6px 0 4px; }
.theme-light .product-modal-actions--buy .btn { width: 100%; justify-content: center; min-height: 48px; font-size: 1rem; }
.theme-light .product-modal-actions .btn-mp { background: var(--mp); }
.theme-light .product-modal-actions .btn-mp.disabled { background: var(--surface-3); }
.theme-light .product-modal-actions .btn-whatsapp.btn-buy--secondary { background: #fff; }
.theme-light .product-modal-actions .btn-whatsapp.btn-buy--secondary:hover { background: #EAF8F0; }
.theme-light .product-modal-actions [hidden] { display: none !important; }

/* ---------- Páginas internas (catálogo, contato, privacidade) ---------- */
.theme-light .page-main { padding: 28px 0 72px; min-height: 50vh; }
.theme-light .catalog-top { padding: 28px 0 8px; background: var(--bg); }
.theme-light .catalog { padding: 8px 0 72px; background: var(--bg); }
.theme-light .breadcrumb { color: var(--muted); margin-bottom: 14px; }
.theme-light .breadcrumb a { color: var(--muted); padding: 4px 8px; }
.theme-light .breadcrumb a:hover { color: var(--ink); background: var(--surface-3); }
.theme-light .breadcrumb-sep { color: var(--line-2); opacity: 1; }
.theme-light .breadcrumb-current { color: var(--ink); background: transparent; border: 0; padding: 4px 8px; }
.theme-light .catalog-title { text-align: left; margin-bottom: 18px; }
.theme-light .catalog-title h2 { margin: 6px 0 4px; }

.theme-light .cat-quick { gap: 8px; margin: 0 0 16px; padding: 0; }
.theme-light .cat-quick-chip {
    background: #fff; color: var(--ink-2); border: 1px solid var(--line);
    box-shadow: var(--shadow-xs); font-weight: 500;
}
.theme-light .cat-quick-chip i { color: var(--muted); }
.theme-light .cat-quick-chip:hover { color: var(--ink); border-color: var(--line-2); background: #fff; box-shadow: var(--elev-2); }
.theme-light .cat-quick-chip.active { background: var(--ink); color: #fff; border-color: var(--ink); box-shadow: var(--elev-2); }
.theme-light .cat-quick-chip.active i { color: #fff; }

.theme-light .catalog-toolbar {
    background: #fff; border: 0; border-radius: var(--radius);
    box-shadow: var(--elev-2);
    padding: 12px; gap: 12px; margin-bottom: 22px;
}
.theme-light .catalog-toolbar .search-box { max-width: none; }
.theme-light .search-box input {
    background: var(--surface-2); color: var(--ink);
    border: 1.5px solid transparent; border-radius: 12px;
    padding: 13px 52px 13px 46px; font-size: 0.95rem;
}
.theme-light .search-box input::placeholder { color: var(--muted); }
.theme-light .search-box input:focus { background: #fff; border-color: var(--red); box-shadow: 0 0 0 4px rgba(225, 6, 0, 0.12); }
.theme-light .search-box i.fa-search { color: var(--red); left: 17px; }
.theme-light .search-box .btn-ghost { border: 0; background: transparent; color: var(--muted); min-height: 0; width: 36px; height: 36px; }
.theme-light .search-box .btn-ghost:hover { background: var(--surface-3); color: var(--ink); }
.theme-light .sort-label { color: var(--muted); }
.theme-light .chip {
    background: #fff; color: var(--ink-2); border: 1px solid var(--line);
    padding: 8px 14px; font-size: 0.86rem;
}
.theme-light .chip:hover { color: var(--ink); border-color: var(--line-2); }
.theme-light .chip.active { background: var(--red-50); color: var(--red-dark); border-color: var(--red-100); box-shadow: none; }

.theme-light .search-summary {
    background: #fff; border: 0; border-left: 4px solid var(--red);
    box-shadow: var(--elev-2); backdrop-filter: none;
}
.theme-light .search-summary-main,
.theme-light .search-summary-main strong { color: var(--ink); }
.theme-light .search-summary-related { border-top-color: var(--line); }
.theme-light .search-summary-related-label { color: var(--muted); }

.theme-light .cards-grid { grid-template-columns: repeat(auto-fill, minmax(240px, 1fr)); gap: 18px; }
.theme-light .empty, .theme-light .no-results {
    background: #fff; border-radius: var(--radius); box-shadow: var(--elev-2); color: var(--muted);
}
.theme-light .empty h3, .theme-light .no-results h3 { color: var(--ink); font-family: var(--font-display); }
.theme-light .similar-section { background: #fff; padding: 48px 0 64px; }
.theme-light .similar-section::before { display: none; }
.theme-light .similar-section .section-title p { color: var(--muted); }

/* Contato */
.theme-light .contact-grid {
    display: grid; grid-template-columns: 1fr 1.4fr; gap: 24px;
    max-width: 1000px; margin: 0 auto;
}
.theme-light .contact-info,
.theme-light .contact-form,
.theme-light .legal-card {
    background: #fff; border-radius: var(--radius); box-shadow: var(--elev-2); padding: 28px;
}
.theme-light .contact-info h3 { font-family: var(--font-display); font-size: 1.2rem; color: var(--ink); margin-bottom: 8px; }
.theme-light .contact-info p { color: var(--ink-2); }
.theme-light .contact-info .btn-buy { margin-top: 16px; width: 100%; justify-content: center; }
.theme-light .contact-secondary { font-size: 0.85rem; margin-top: 16px; color: var(--muted) !important; }
.theme-light .contact-list { list-style: none; margin-top: 18px; padding: 0; }
.theme-light .contact-list li {
    display: flex; align-items: center; gap: 12px;
    padding: 12px 0; border-top: 1px solid var(--line); color: var(--ink-2);
}
.theme-light .contact-list li i { color: var(--red); width: 20px; text-align: center; }
.theme-light .contact-list a { color: var(--ink-2); text-decoration: underline; text-decoration-color: var(--line-2); text-underline-offset: 3px; }
.theme-light .contact-list a:hover { color: var(--red); }
.theme-light .contact-form .form-group { margin-bottom: 16px; }
.theme-light .contact-form .grid-2 { display: grid; grid-template-columns: 1fr 1fr; gap: 0 16px; }
.theme-light .contact-form label { display: block; font-size: 0.85rem; font-weight: 600; color: var(--ink-2); margin-bottom: 6px; }
.theme-light .contact-form input,
.theme-light .contact-form textarea {
    width: 100%; padding: 12px 14px;
    background: var(--surface-2); color: var(--ink);
    border: 1.5px solid transparent; border-radius: 12px;
    font: inherit; font-size: 1rem;
    transition: border-color .2s ease, background .2s ease, box-shadow .2s ease;
}
.theme-light .contact-form input:focus,
.theme-light .contact-form textarea:focus {
    outline: none; background: #fff; border-color: var(--red); box-shadow: 0 0 0 4px rgba(225, 6, 0, 0.12);
}
.theme-light .contact-form .btn-primary { width: 100%; justify-content: center; }
.theme-light .alert { padding: 12px 14px; border-radius: 12px; margin-bottom: 16px; font-weight: 500; display: flex; gap: 10px; align-items: center; }
.theme-light .alert-success { background: #EAF8F2; color: #0B7A52; }
.theme-light .alert-error { background: var(--red-50); color: var(--red-dark); }
@media (max-width: 800px) {
    .theme-light .contact-grid { grid-template-columns: 1fr; }
    .theme-light .contact-form .grid-2 { grid-template-columns: 1fr; }
}

/* Privacidade */
.theme-light .legal-card { max-width: 820px; margin: 0 auto; padding: 36px; }
.theme-light .legal-card h1 { font-family: var(--font-display); font-size: clamp(1.6rem, 3vw, 2.1rem); color: var(--ink); margin-bottom: 4px; }
.theme-light .legal-card h2 { font-size: 1.15rem; margin: 28px 0 8px; text-align: left; }
.theme-light .legal-card p,
.theme-light .legal-card li { color: var(--ink-2); line-height: 1.7; }
.theme-light .legal-card ul { padding-left: 20px; margin: 8px 0; }
.theme-light .legal-card a:not(.btn) { color: var(--red); text-decoration: underline; }
.theme-light .legal-updated { color: var(--muted) !important; font-size: 0.88rem; }
.theme-light .legal-back { margin-top: 28px; }
@media (max-width: 600px) { .theme-light .legal-card { padding: 22px 18px; } }

/* Rodapé: meios de pagamento */
.theme-light .footer-pay { display: flex; flex-wrap: wrap; gap: 6px; margin-top: 16px; }
.theme-light .footer-pay-label { width: 100%; color: #8A9099; font-size: 0.75rem; font-weight: 600; letter-spacing: 0.08em; text-transform: uppercase; }
.theme-light .footer-pay-chip {
    display: inline-flex; align-items: center; gap: 6px;
    padding: 5px 10px; border-radius: 999px;
    background: rgba(255, 255, 255, 0.06); color: #D5D8DD; font-size: 0.78rem; font-weight: 500;
}
.theme-light .footer-pay-chip--mp { background: rgba(0, 158, 227, 0.16); color: #9EDCFF; }
.theme-light .footer-pay-chip--mp i { color: #7FD3FF !important; }

/* Voltar ao topo */
.theme-light .back-to-top {
    position: fixed; right: 30px; bottom: 96px; z-index: 89;
    width: 44px; height: 44px; border-radius: 50%;
    background: #fff; color: var(--ink); border: 0;
    box-shadow: var(--elev-4); cursor: pointer;
    display: flex; align-items: center; justify-content: center;
    transition: transform .2s ease, box-shadow .2s ease, color .2s ease;
}
.theme-light .back-to-top:hover { color: var(--red); transform: translateY(-2px); box-shadow: var(--elev-8); }
.theme-light .back-to-top[hidden] { display: none; }

/* Barra mobile de WhatsApp no tema claro */
.theme-light .mobile-cta { background: linear-gradient(180deg, rgba(235, 236, 239, 0) 0%, rgba(235, 236, 239, 0.95) 40%, var(--bg) 100%); }
.theme-light .float-wa { animation: none; box-shadow: 0 8px 22px rgba(37, 211, 102, 0.4); }

@media (max-width: 1100px) {
    .theme-light .footer-top { grid-template-columns: 1fr 1fr; }
}
@media (max-width: 768px) {
    body.theme-light { --nav-h: 42px; }
    .theme-light .topbar-item--mp { display: none; }
    .theme-light .site-nav-link { padding: 0 10px; font-size: 0.84rem; }
    .theme-light .site-nav-link--end { margin-left: 0; }
    .theme-light .catalog-toolbar { position: static; margin: 0 0 16px; backdrop-filter: none; }
    /* no celular o WhatsApp flutuante e a barra inferior ficam ocultos (style.css) */
    .theme-light .back-to-top { right: 16px; bottom: 20px; }
}
@media (max-width: 600px) {
    .theme-light .cards-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
    .theme-light .card-actions { gap: 6px; }
    .theme-light .card-foot .btn-buy { font-size: 0.8rem; gap: 6px; }
    .theme-light .card-foot .btn-buy span { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
    .theme-light .card-desc, .theme-light .card-tags { display: none; }
    .theme-light .page-main { padding-top: 18px; }
    .theme-light .contact-info, .theme-light .contact-form { padding: 20px 16px; }
}

/* Rolagem do modal no tema claro (antes herdava o vermelho do tema escuro) */
.theme-light .product-modal-content { scrollbar-width: thin; scrollbar-color: #C9CDD3 transparent; }
.theme-light .product-modal-content::-webkit-scrollbar { width: 8px; }
.theme-light .product-modal-content::-webkit-scrollbar-track { background: transparent; }
.theme-light .product-modal-content::-webkit-scrollbar-thumb { background: #C9CDD3; border-radius: 8px; }
.theme-light .pm-counter[hidden] { display: none; }

/* Catálogo no celular: chips em uma linha rolável e topo mais enxuto, produtos aparecem antes */
@media (max-width: 600px) {
    .theme-light .catalog-top { padding-top: 14px; }
    .theme-light .catalog-title .kicker { display: none; }
    .theme-light .catalog-title h2 { font-size: 1.5rem; }
    .theme-light .catalog-title p { font-size: 0.9rem; }
    .theme-light .cat-quick {
        flex-wrap: nowrap; overflow-x: auto; scrollbar-width: none;
        margin: 0 -16px 12px; padding: 4px 16px 8px;
    }
    .theme-light .cat-quick::-webkit-scrollbar { display: none; }
    .theme-light .cat-quick-chip { flex: 0 0 auto; padding: 8px 14px; font-size: 0.85rem; }
    .theme-light .catalog-toolbar { padding: 10px; gap: 10px; }
    .theme-light .sort-bar { flex-wrap: nowrap; overflow-x: auto; justify-content: flex-start; scrollbar-width: none; gap: 6px; }
    .theme-light .sort-bar::-webkit-scrollbar { display: none; }
    .theme-light .sort-bar .chip { flex: 0 0 auto; padding: 7px 12px; font-size: 0.82rem; }
    .theme-light .sort-label { display: none; }
}

/* Rótulos dos botões do card: completos no desktop, curtos no celular (2 colunas) */
.theme-light .card-foot .btn-buy .lbl-short { display: none; }
@media (max-width: 600px) {
    .theme-light .card-foot .btn-whatsapp,
    .theme-light .card-foot .btn-buy { font-size: 0.82rem !important; padding: 9px 6px; }
    .theme-light .card-foot .btn-whatsapp::after,
    .theme-light .card-foot .btn-buy::after { content: none; }
    .theme-light .card-foot .btn-buy .lbl-full { display: none; }
    .theme-light .card-foot .btn-buy .lbl-short { display: inline; }
}

/* Sobre Nosotros: título em caixa alta e espaço entre parágrafos (texto editável no admin) */
.theme-light .about-card-text h2 { text-transform: uppercase; font-size: 1.35rem; letter-spacing: 0.01em; line-height: 1.25; }
.theme-light .about-card-text p + p { margin-top: 12px; }
