/* ==========================================================================
   Eletrolar Home — folha de estilos principal
   Tokens de cor em oklch, replicando o design original.
   ========================================================================== */

:root {
    --radius: 0.75rem;
    --background: oklch(0.985 0.008 85);
    --foreground: oklch(0.24 0.04 25);
    --card: oklch(1 0 0);
    --primary: oklch(0.53 0.22 27);
    --primary-foreground: oklch(0.98 0.01 85);
    --muted: oklch(0.95 0.015 70);
    --muted-foreground: oklch(0.5 0.03 40);
    --accent: oklch(0.85 0.17 88);
    --destructive: oklch(0.577 0.245 27.325);
    --border: oklch(0.9 0.02 60);
    --wine: oklch(0.51 0.22 27);
    --wine-deep: oklch(0.42 0.19 27);
    --gold: oklch(0.85 0.17 88);
    --sand: oklch(0.95 0.03 70);
    --wood: oklch(0.58 0.12 45);
    --azul: oklch(0.33 0.13 265);
    --preto: oklch(0.2 0.01 60);
    --gradient-hero: linear-gradient(120deg, var(--wine-deep), var(--wine) 55%, oklch(0.56 0.21 32));
    --gradient-gold: linear-gradient(100deg, var(--gold), oklch(0.9 0.15 95));
    --shadow-soft: 0 10px 30px -12px oklch(0.51 0.22 27 / 0.3);
    --shadow-card: 0 18px 40px -20px oklch(0.51 0.22 27 / 0.42);
    --font-sans: "Plus Jakarta Sans", ui-sans-serif, system-ui, sans-serif;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; scroll-padding-top: 6rem; }
body {
    margin: 0;
    background: var(--background);
    color: var(--foreground);
    font-family: var(--font-sans);
    -webkit-font-smoothing: antialiased;
}
img { max-width: 100%; display: block; }
a { color: inherit; text-decoration: none; }
button { font-family: inherit; cursor: pointer; }
ul { margin: 0; padding: 0; list-style: none; }
h1, h2, h3, p { margin: 0; }

.elh-container { max-width: 80rem; margin: 0 auto; padding: 0 1rem; }
@media (min-width: 1024px) { .elh-container { padding: 0 2rem; } }

.elh-icon { flex-shrink: 0; }
.elh-gold { color: var(--gold); }
.elh-italic { font-style: italic; }
.elh-text-center { text-align: center; }
.elh-hide-mobile { display: none; }
.elh-hide-mobile-inline { display: none; }
.elh-hide-tablet { display: none; }
@media (min-width: 640px) { .elh-hide-mobile { display: inline-flex; } .elh-hide-mobile-inline { display: inline; } }
@media (min-width: 1024px) { .elh-hide-tablet { display: flex; gap: .75rem; } }

/* ---------------- Buttons ---------------- */
.elh-btn-gold, .elh-btn-outline, .elh-btn-outline-light {
    display: inline-flex; align-items: center; justify-content: center; gap: .5rem;
    padding: .75rem 1.5rem; border-radius: .5rem;
    font-size: .75rem; font-weight: 900; text-transform: uppercase; letter-spacing: .05em;
    border: none; transition: transform .15s ease;
}
.elh-btn-gold { background-image: var(--gradient-gold); color: var(--wine); box-shadow: var(--shadow-soft); }
.elh-btn-gold:hover { transform: translateY(-2px); }
.elh-btn-sm { padding: .5rem 1.25rem; font-size: .625rem; }
.elh-btn-outline { border: 1px solid var(--border); background: var(--card); color: var(--wine); box-shadow: var(--shadow-soft); }
.elh-btn-outline:hover { transform: translateY(-2px); }
.elh-btn-outline-light { border: 1px solid oklch(0.98 0.01 85 / 0.4); color: var(--primary-foreground); background: transparent; }
.elh-btn-outline-light:hover { background: oklch(0.98 0.01 85 / 0.1); }

/* ---------------- Top bar ---------------- */
.elh-header-sticky { position: sticky; top: 0; z-index: 50; }
.elh-topbar { background: var(--wine-deep); color: var(--primary-foreground); }
.elh-topbar-inner {
    display: flex; flex-wrap: wrap; align-items: center; justify-content: center; gap: .25rem 1.5rem;
    padding: .5rem 1rem; font-size: 11px; font-weight: 500;
}
@media (min-width: 1024px) { .elh-topbar-inner { justify-content: space-between; } }
.elh-topbar-link, .elh-topbar-item { display: inline-flex; align-items: center; gap: .4rem; }
.elh-topbar-link:hover { color: var(--gold); }
.elh-topbar-social { display: none; }
.elh-topbar-social a:hover { color: var(--gold); }

/* ---------------- Header ---------------- */
.elh-header { background: var(--card); box-shadow: var(--shadow-soft); }
.elh-header-inner { display: flex; align-items: center; justify-content: space-between; gap: 1rem; padding: .75rem 1rem; }
@media (min-width: 1024px) { .elh-header-inner { padding: .75rem 2rem; } }
.elh-logo { color: var(--wine); display: flex; align-items: center; min-width: 0; }
.elh-logo img { height: 2.75rem; width: auto; max-width: 220px; object-fit: contain; }
.elh-logo-text { font-size: 1.5rem; font-weight: 900; color: var(--wine); letter-spacing: -.02em; }
.elh-logo-text-light { color: var(--primary-foreground); }

.elh-nav-desktop { display: none; align-items: center; gap: 1.25rem; }
@media (min-width: 1280px) { .elh-nav-desktop { display: flex; } }
.elh-nav-link { font-size: 11px; font-weight: 700; text-transform: uppercase; letter-spacing: .05em; color: var(--muted-foreground); position: relative; }
.elh-nav-link:hover, .elh-nav-link.is-active { color: var(--primary); }

.elh-header-actions { display: flex; align-items: center; gap: .5rem; }
.elh-menu-toggle {
    display: grid; place-items: center; width: 2.5rem; height: 2.5rem; flex-shrink: 0;
    border-radius: .5rem; border: 1px solid var(--border); background: transparent; color: var(--primary);
}
@media (min-width: 1280px) { .elh-menu-toggle { display: none; } }

.elh-nav-mobile { border-top: 1px solid var(--border); background: var(--card); padding: 0 1rem 1rem; }
@media (min-width: 1280px) { .elh-nav-mobile { display: none !important; } }
.elh-nav-mobile[hidden] { display: none; }
.elh-nav-mobile li a {
    display: block; padding: .75rem 0; border-bottom: 1px solid oklch(0.9 0.02 60 / 0.6);
    font-size: 12px; font-weight: 700; text-transform: uppercase; letter-spacing: .05em; color: var(--foreground);
}

/* ---------------- Hero ---------------- */
.elh-hero { position: relative; overflow: hidden; background-image: var(--gradient-hero); padding-bottom: 6rem; }
@media (min-width: 1024px) { .elh-hero { padding-bottom: 7rem; } }
.elh-hero-media { position: absolute; inset: 0 0 0 auto; width: 52%; display: none; }
@media (min-width: 1024px) { .elh-hero-media { display: block; } }
.elh-hero-media img { height: 100%; width: 100%; object-fit: cover; }
.elh-hero-media::after {
    content: ""; position: absolute; inset: 0;
    background: linear-gradient(90deg, var(--wine) 0%, transparent 45%);
}
.elh-hero-inner {
    position: relative; display: grid; gap: 2rem; padding: 3rem 1rem;
}
@media (min-width: 1024px) { .elh-hero-inner { grid-template-columns: 1fr auto; padding: 5rem 2rem; } }
.elh-hero-text { max-width: 36rem; color: var(--primary-foreground); }
.elh-hero-text h1 { font-size: 2.5rem; font-weight: 900; line-height: 1.05; }
@media (min-width: 640px) { .elh-hero-text h1 { font-size: 3rem; } }
@media (min-width: 1024px) { .elh-hero-text h1 { font-size: 3.75rem; } }
.elh-hero-text p { margin-top: 1.5rem; max-width: 28rem; font-size: .875rem; line-height: 1.6; color: oklch(0.98 0.01 85 / 0.85); }
.elh-hero-cta { margin-top: 2rem; display: flex; flex-wrap: wrap; gap: .75rem; }

.elh-hero-card {
    position: relative; margin: 0 auto; width: 100%; max-width: 280px; border-radius: 1rem;
    background: oklch(0.51 0.22 27 / 0.95); padding: 2.5rem 1.5rem 1.5rem; text-align: center;
    color: var(--primary-foreground); box-shadow: var(--shadow-card);
    border: 1px solid oklch(0.98 0.01 85 / 0.15);
}
.elh-hero-card-symbol { position: absolute; top: -1.75rem; left: 50%; transform: translateX(-50%); height: 3.5rem; width: auto; filter: drop-shadow(0 4px 6px rgb(0 0 0 / .3)); }
.elh-hero-card-label { font-size: .875rem; font-weight: 600; }
.elh-hero-card-number { margin-top: .25rem; font-size: 3.75rem; font-weight: 900; line-height: 1; }
.elh-hero-card-sub { font-size: 1.125rem; font-weight: 700; }
.elh-hero-card-features {
    margin-top: 1.25rem; display: grid; grid-template-columns: 1fr 1fr; gap: .75rem;
    border-top: 1px solid oklch(0.98 0.01 85 / 0.2); padding-top: 1rem; font-size: 10px; font-weight: 700; text-transform: uppercase;
}
.elh-hero-card-features span { display: flex; flex-direction: column; align-items: center; gap: .25rem; }
.elh-hero-card-features b { color: var(--gold); font-weight: 800; }

/* ---------------- Benefits ---------------- */
.elh-benefits-wrap { position: relative; z-index: 10; margin-top: -4rem; }
.elh-benefits {
    display: grid; gap: 1.5rem; border-radius: 1rem; background: var(--card); padding: 1.5rem;
    box-shadow: var(--shadow-card);
}
@media (min-width: 640px) { .elh-benefits { grid-template-columns: repeat(2, 1fr); } }
@media (min-width: 1024px) { .elh-benefits { grid-template-columns: repeat(4, 1fr); padding: 2rem; } }
.elh-benefit { display: flex; align-items: flex-start; gap: .75rem; }
.elh-benefit .elh-icon { color: var(--primary); }
.elh-benefit h3 { font-size: 11px; font-weight: 900; text-transform: uppercase; letter-spacing: .05em; color: var(--wine); }
.elh-benefit p { margin-top: .25rem; font-size: 12px; line-height: 1.4; color: var(--muted-foreground); }

/* ---------------- Sections ---------------- */
.elh-section { padding: 3.5rem 0; }
.elh-section-head { margin-bottom: 1.5rem; display: flex; align-items: flex-end; justify-content: space-between; gap: 1rem; flex-wrap: wrap; }
.elh-section-head h2 { font-size: 1.25rem; font-weight: 900; text-transform: uppercase; letter-spacing: .02em; color: var(--wine); }
@media (min-width: 640px) { .elh-section-head h2 { font-size: 1.5rem; } }
.elh-underline { margin-top: .5rem; display: block; height: 4px; width: 2rem; border-radius: 4px; background: var(--gold); }
.elh-underline-center { margin-left: auto; margin-right: auto; }
.elh-section-link { display: inline-flex; align-items: center; gap: .25rem; font-size: 11px; font-weight: 700; text-transform: uppercase; letter-spacing: .03em; color: var(--muted-foreground); }
.elh-section-link:hover { color: var(--primary); }
.elh-centered-link { display: flex; justify-content: center; margin-top: 1.5rem; }

/* ---------------- Categorias ---------------- */
.elh-categorias-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 1rem; }
@media (min-width: 640px) { .elh-categorias-grid { grid-template-columns: repeat(3, 1fr); } }
@media (min-width: 1024px) { .elh-categorias-grid { grid-template-columns: repeat(6, 1fr); } }
.elh-cat-card { display: block; text-align: center; }
.elh-cat-img { display: block; overflow: hidden; border-radius: .75rem; box-shadow: var(--shadow-soft); }
.elh-cat-img img { height: 7rem; width: 100%; object-fit: cover; transition: transform .5s ease; }
@media (min-width: 640px) { .elh-cat-img img { height: 8rem; } }
.elh-cat-card:hover .elh-cat-img img { transform: scale(1.1); }
.elh-cat-label { margin-top: .75rem; display: block; font-size: 11px; font-weight: 900; text-transform: uppercase; letter-spacing: .04em; color: var(--wine); }

/* ---------------- Campanhas (cores) ---------------- */
.elh-campanhas-grid { display: grid; gap: 1.25rem; grid-template-columns: 1fr; }
@media (min-width: 640px) { .elh-campanhas-grid { grid-template-columns: repeat(2, 1fr); } }
@media (min-width: 1024px) { .elh-campanhas-grid { grid-template-columns: repeat(4, 1fr); } }
.elh-campanhas-grid-3 { grid-template-columns: 1fr; }
@media (min-width: 640px) { .elh-campanhas-grid-3 { grid-template-columns: repeat(2, 1fr); } }
@media (min-width: 1024px) { .elh-campanhas-grid-3 { grid-template-columns: repeat(3, 1fr); } }

.elh-campanha-card {
    display: flex; height: 13rem; flex-direction: column; justify-content: space-between;
    overflow: hidden; border-radius: 1rem; padding: 1.5rem; box-shadow: var(--shadow-soft);
    transition: transform .15s ease; color: var(--primary-foreground);
}
.elh-campanha-card:hover { transform: translateY(-4px); }
.elh-campanha-card h3 { font-size: 1.5rem; font-weight: 900; font-style: italic; text-transform: uppercase; line-height: 1; letter-spacing: -.01em; }
.elh-campanha-card p { margin-top: .5rem; font-size: 12px; font-weight: 500; opacity: .9; }
.elh-campanha-card .elh-btn-gold { width: fit-content; }
.elh-badge-inativa { margin-top: .75rem; display: inline-block; border-radius: 4px; background: oklch(0.985 0.008 85 / 0.25); padding: .125rem .5rem; font-size: 10px; font-weight: 900; text-transform: uppercase; }

.elh-cor-wine { background-image: var(--gradient-hero); }
.elh-cor-gold { background-image: var(--gradient-gold); color: var(--wine) !important; }
.elh-cor-azul { background: var(--azul); }
.elh-cor-preto { background: var(--preto); }
.elh-cor-madeira { background: var(--wood); }

/* ---------------- Quem somos ---------------- */
.elh-quemsomos { display: grid; align-items: center; gap: 2.5rem; }
@media (min-width: 1024px) { .elh-quemsomos { grid-template-columns: minmax(0, 340px) 1fr; } }
.elh-quemsomos > div:first-child p { font-size: .875rem; line-height: 1.7; color: var(--muted-foreground); }
.elh-quemsomos > div:first-child .elh-btn-outline { margin-top: 1.5rem; }
.elh-indicadores { display: grid; grid-template-columns: repeat(2, 1fr); gap: 1.5rem; }
@media (min-width: 1024px) { .elh-indicadores { grid-template-columns: repeat(4, 1fr); } }
.elh-indicadores > div { text-align: center; }
.elh-indicadores .elh-icon { margin: 0 auto; color: var(--primary); }
.elh-indicador-valor { margin-top: .75rem; font-size: 1.25rem; font-weight: 900; color: var(--primary); }
@media (min-width: 640px) { .elh-indicador-valor { font-size: 1.5rem; } }
.elh-indicadores p:last-child { font-size: 11px; font-weight: 500; color: var(--muted-foreground); }

/* ---------------- Lojas (mini grid na home) ---------------- */
.elh-lojas-grid-mini { display: grid; grid-template-columns: repeat(2, 1fr); gap: 1rem; }
@media (min-width: 640px) { .elh-lojas-grid-mini { grid-template-columns: repeat(3, 1fr); } }
@media (min-width: 1024px) { .elh-lojas-grid-mini { grid-template-columns: repeat(6, 1fr); } }
.elh-loja-mini a { display: block; overflow: hidden; border-radius: .75rem; box-shadow: var(--shadow-soft); }
.elh-loja-mini img { height: 7rem; width: 100%; object-fit: cover; transition: transform .5s ease; }
@media (min-width: 640px) { .elh-loja-mini img { height: 8rem; } }
.elh-loja-mini a:hover img { transform: scale(1.1); }
.elh-loja-mini-info { margin-top: .75rem; display: flex; gap: .5rem; }
.elh-loja-mini-info .elh-icon { margin-top: 2px; flex-shrink: 0; color: var(--primary); }
.elh-loja-mini-info h3 { display: flex; flex-wrap: wrap; align-items: center; gap: .375rem; font-size: 11px; font-weight: 900; text-transform: uppercase; line-height: 1.3; color: var(--wine); }
.elh-loja-mini-info p { font-size: 11px; color: var(--muted-foreground); }
.elh-loja-mini-links { margin-top: .25rem; display: flex; flex-wrap: wrap; gap: .5rem; font-size: 10px; font-weight: 700; text-transform: uppercase; }
.elh-loja-mini-links a:first-child { color: var(--primary); }
.elh-loja-mini-links a:last-child { color: var(--wood); }
.elh-loja-mini-links a:hover { text-decoration: underline; }

.elh-badge-design {
    display: inline-flex; align-items: center; gap: .25rem; border-radius: 4px; background-image: var(--gradient-gold);
    padding: .125rem .375rem; font-size: 10px; font-weight: 900; text-transform: uppercase; color: var(--wine); box-shadow: var(--shadow-soft);
}

/* ---------------- Contato ---------------- */
.elh-contato-section { background: var(--sand); padding: 3.5rem 0; }
.elh-contato-grid { display: grid; gap: 2.5rem; }
@media (min-width: 1024px) { .elh-contato-grid { grid-template-columns: repeat(2, 1fr); } }
.elh-contato-grid > div:first-child p { max-width: 28rem; font-size: .875rem; line-height: 1.6; color: var(--muted-foreground); }
.elh-contato-lista { margin-top: 1.5rem; display: flex; flex-direction: column; gap: .75rem; font-size: .875rem; font-weight: 500; }
.elh-contato-lista li { display: flex; align-items: center; gap: .5rem; }
.elh-contato-lista .elh-icon { color: var(--primary); }

.elh-form { display: grid; gap: 1rem; border-radius: 1rem; background: var(--card); padding: 1.5rem; box-shadow: var(--shadow-card); }
.elh-form label { font-size: 11px; font-weight: 700; text-transform: uppercase; letter-spacing: .03em; display: flex; flex-direction: column; gap: .25rem; }
.elh-form input, .elh-form textarea, .elh-form select {
    margin-top: .25rem; width: 100%; border-radius: .5rem; border: 1px solid var(--border); background: var(--background);
    padding: .65rem .75rem; font-size: .875rem; font-weight: 400; text-transform: none; font-family: inherit; outline: none;
}
.elh-form input:focus, .elh-form textarea:focus, .elh-form select:focus { box-shadow: 0 0 0 2px var(--primary); }
.elh-form-status { font-size: .875rem; font-weight: 600; color: var(--primary); }
.elh-form-status-erro { color: var(--destructive); }
.elh-form-2col { grid-template-columns: 1fr 1fr; display: grid; }
.elh-span-2 { grid-column: span 2; }
@media (max-width: 640px) { .elh-form-2col { grid-template-columns: 1fr; } .elh-span-2 { grid-column: span 1; } }
.elh-file-field {
    display: flex; align-items: center; gap: .5rem; border: 1px dashed var(--border); border-radius: .5rem;
    background: var(--background); padding: .6rem .75rem; font-size: 12px; color: var(--muted-foreground);
}
.elh-file-field .elh-icon { color: var(--primary); }
.elh-file-field input { border: none; background: none; padding: 0; margin: 0; width: 100%; font-size: 11px; }

/* ---------------- Footer ---------------- */
.elh-footer { position: relative; background-image: var(--gradient-hero); color: var(--primary-foreground); }
.elh-footer-grid { display: grid; gap: 2.5rem; padding: 3rem 0; grid-template-columns: 1fr; }
@media (min-width: 640px) { .elh-footer-grid { grid-template-columns: repeat(2, 1fr); } }
@media (min-width: 1024px) { .elh-footer-grid { grid-template-columns: repeat(4, 1fr); } }
.elh-footer-tagline { margin-top: 1rem; font-size: .875rem; color: oklch(0.98 0.01 85 / 0.8); }
.elh-footer-social { margin-top: 1rem; display: flex; gap: .75rem; }
.elh-footer-social a { border-radius: 999px; border: 1px solid oklch(0.98 0.01 85 / 0.25); padding: .5rem; display: inline-flex; }
.elh-footer-heading { font-size: 11px; font-weight: 900; text-transform: uppercase; letter-spacing: .08em; color: var(--gold); }
.elh-footer-list { margin-top: 1rem; display: flex; flex-direction: column; gap: .5rem; font-size: .875rem; color: oklch(0.98 0.01 85 / 0.8); }
.elh-footer-list a:hover { color: var(--gold); }
.elh-footer-inline { display: flex; align-items: center; gap: .5rem; }
.elh-footer-pt { padding-top: .5rem; }
.elh-footer-bottom { border-top: 1px solid oklch(0.98 0.01 85 / 0.15); }
.elh-footer-bottom-inner { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: .75rem; padding: 1.25rem 0; font-size: 11px; color: oklch(0.98 0.01 85 / 0.6); }
.elh-back-to-top { display: grid; place-items: center; width: 2.25rem; height: 2.25rem; border-radius: .5rem; background: oklch(0.98 0.01 85 / 0.1); }
.elh-back-to-top:hover { background: oklch(0.98 0.01 85 / 0.2); }

/* ---------------- Página interna: hero colorido, subnav, listas ---------------- */
.elh-page-hero { background-image: var(--gradient-hero); color: var(--primary-foreground); padding: 2.5rem 0; }
.elh-page-hero h1 { margin-top: .75rem; font-size: 1.875rem; font-weight: 900; text-transform: uppercase; letter-spacing: -.01em; }
@media (min-width: 640px) { .elh-page-hero h1 { font-size: 2.25rem; } }
.elh-page-hero p { margin-top: .5rem; max-width: 42rem; font-size: .875rem; color: oklch(0.98 0.01 85 / 0.85); }
.elh-page-hero-sub { font-weight: 600; opacity: .9; }
.elh-back-link { display: inline-flex; align-items: center; gap: .375rem; font-size: 11px; font-weight: 700; text-transform: uppercase; letter-spacing: .04em; color: oklch(0.98 0.01 85 / 0.8); }
.elh-back-link:hover { color: var(--gold); }

.elh-subnav { border-bottom: 1px solid var(--border); background: var(--card); }
.elh-subnav-inner { display: flex; gap: .5rem; overflow-x: auto; padding: .75rem 1rem; }
@media (min-width: 1024px) { .elh-subnav-inner { padding: .75rem 2rem; } }
.elh-subnav-pill { white-space: nowrap; border-radius: 999px; padding: .375rem 1rem; font-size: 11px; font-weight: 900; text-transform: uppercase; letter-spacing: .04em; background: var(--muted); color: var(--muted-foreground); }
.elh-subnav-pill:hover { color: var(--primary); }
.elh-subnav-pill.is-active { background-image: var(--gradient-gold); color: var(--wine); }

.elh-page-main { padding: 2.5rem 1rem; }
.elh-list-title { margin-bottom: 1.5rem; font-size: 13px; font-weight: 900; text-transform: uppercase; letter-spacing: .04em; color: var(--wine); }
.elh-empty { border: 1px dashed var(--border); border-radius: 1rem; padding: 2.5rem; text-align: center; color: var(--muted-foreground); }
.elh-empty-sucesso { border-style: solid; background: var(--card); }
.elh-prose { line-height: 1.7; }

/* ---------------- Produtos ---------------- */
.elh-produtos-grid { display: grid; gap: 1.25rem; grid-template-columns: 1fr; }
@media (min-width: 640px) { .elh-produtos-grid { grid-template-columns: repeat(2, 1fr); } }
@media (min-width: 1024px) { .elh-produtos-grid { grid-template-columns: repeat(4, 1fr); } }
.elh-produto-card { display: flex; height: 100%; flex-direction: column; overflow: hidden; border-radius: 1rem; background: var(--card); box-shadow: var(--shadow-soft); }
.elh-produto-card-solo { max-width: 28rem; margin: 0 auto; }
.elh-produto-img { aspect-ratio: 4 / 3; width: 100%; overflow: hidden; background: var(--muted); }
.elh-produto-img img { width: 100%; height: 100%; object-fit: cover; }
.elh-produto-sem-img { display: grid; height: 100%; width: 100%; place-items: center; font-size: 11px; text-transform: uppercase; letter-spacing: .04em; color: var(--muted-foreground); }
.elh-produto-info { display: flex; flex: 1; flex-direction: column; padding: 1rem; }
.elh-produto-info h3 { font-size: 13px; font-weight: 900; text-transform: uppercase; letter-spacing: .02em; color: var(--wine); }
.elh-produto-info p { margin-top: .25rem; flex: 1; font-size: 12px; line-height: 1.5; color: var(--muted-foreground); }
.elh-produto-preco { margin-top: .75rem; font-size: 1.125rem; font-weight: 900; color: var(--primary); }
.elh-produto-parcelamento { font-size: 11px; font-weight: 600; color: var(--muted-foreground); }

/* ---------------- Lojas (grid completo) ---------------- */
.elh-lojas-grid { display: grid; gap: 1.25rem; grid-template-columns: 1fr; }
@media (min-width: 640px) { .elh-lojas-grid { grid-template-columns: repeat(2, 1fr); } }
@media (min-width: 1024px) { .elh-lojas-grid { grid-template-columns: repeat(3, 1fr); } }
.elh-loja-card { display: flex; height: 100%; flex-direction: column; overflow: hidden; border-radius: 1rem; border: 1px solid var(--border); background: var(--card); box-shadow: var(--shadow-soft); }
.elh-loja-card img { height: 10rem; width: 100%; object-fit: cover; transition: transform .5s ease; }
.elh-loja-card a:hover img { transform: scale(1.05); }
.elh-loja-card-body { display: flex; flex: 1; flex-direction: column; gap: .5rem; padding: 1rem; }
.elh-loja-card-body h3 { display: flex; flex-wrap: wrap; align-items: center; gap: .5rem; font-size: 13px; font-weight: 900; text-transform: uppercase; color: var(--wine); }
.elh-loja-endereco { display: flex; align-items: flex-start; gap: .375rem; font-size: 12px; color: var(--muted-foreground); }
.elh-loja-tel { display: flex; align-items: center; gap: .375rem; font-size: 12px; font-weight: 700; color: var(--foreground); }
.elh-loja-tel:hover { color: var(--primary); }
.elh-loja-card-links { margin-top: auto; display: flex; flex-wrap: wrap; gap: .75rem; padding-top: .5rem; font-size: 10px; font-weight: 900; text-transform: uppercase; }
.elh-loja-card-links a:first-child { color: var(--primary); }
.elh-loja-card-links a:last-child { color: var(--wood); }
.elh-loja-card-links a:hover { text-decoration: underline; }

/* ---------------- Loja: detalhe / galeria ---------------- */
.elh-loja-detalhe { display: grid; gap: 2rem; }
@media (min-width: 1024px) { .elh-loja-detalhe { grid-template-columns: 1.4fr 1fr; } }
.elh-loja-galeria-principal { overflow: hidden; border-radius: 1rem; border: 1px solid var(--border); box-shadow: var(--shadow-soft); }
.elh-loja-galeria-principal img { aspect-ratio: 4 / 3; width: 100%; object-fit: cover; }
.elh-loja-galeria-thumbs { margin-top: .75rem; display: flex; flex-wrap: wrap; gap: .5rem; }
.elh-galeria-thumb { overflow: hidden; border-radius: .5rem; border: 2px solid transparent; opacity: .7; padding: 0; background: none; }
.elh-galeria-thumb:hover, .elh-galeria-thumb.is-active { opacity: 1; border-color: var(--gold); }
.elh-galeria-thumb img { height: 4rem; width: 6rem; object-fit: cover; }
.elh-loja-aside { height: fit-content; border-radius: 1rem; border: 1px solid var(--border); background: var(--card); padding: 1.5rem; box-shadow: var(--shadow-soft); }
.elh-loja-aside h2 { font-size: 13px; font-weight: 900; text-transform: uppercase; letter-spacing: .03em; color: var(--wine); }
.elh-loja-info-list { margin-top: 1rem; display: flex; flex-direction: column; gap: 1rem; font-size: .875rem; }
.elh-loja-info-list p { display: flex; align-items: flex-start; gap: .625rem; }
.elh-loja-info-list .elh-icon { margin-top: 2px; color: var(--primary); }
.elh-loja-info-list strong { display: block; color: var(--foreground); }
.elh-loja-info-list a { color: var(--muted-foreground); }
.elh-loja-info-list a:hover { color: var(--primary); }
.elh-loja-aside-actions { margin-top: 1.5rem; display: flex; flex-direction: column; gap: .5rem; }
.elh-loja-aside-actions .elh-btn-gold, .elh-loja-aside-actions .elh-btn-outline { width: 100%; }

/* ---------------- Vagas / trabalhe conosco ---------------- */
.elh-vagas-grid { display: grid; gap: 1.25rem; grid-template-columns: 1fr; }
@media (min-width: 640px) { .elh-vagas-grid { grid-template-columns: repeat(2, 1fr); } }
@media (min-width: 1024px) { .elh-vagas-grid { grid-template-columns: repeat(3, 1fr); } }
.elh-vaga-card { display: flex; height: 100%; flex-direction: column; gap: .5rem; border-radius: 1rem; border: 1px solid var(--border); background: var(--card); padding: 1.25rem; box-shadow: var(--shadow-soft); }
.elh-vaga-area { display: inline-flex; width: fit-content; align-items: center; gap: .375rem; border-radius: .5rem; background: oklch(0.85 0.17 88 / 0.2); padding: .25rem .5rem; font-size: 10px; font-weight: 900; text-transform: uppercase; letter-spacing: .03em; color: var(--wine); }
.elh-vaga-card h3 { display: flex; align-items: center; gap: .375rem; font-size: 13px; font-weight: 900; text-transform: uppercase; color: var(--wine); }
.elh-vaga-card p { font-size: 12px; color: var(--muted-foreground); }
.elh-vaga-qtd { font-size: 11px; font-weight: 700; text-transform: uppercase; letter-spacing: .03em; color: var(--wood); }
.elh-vaga-link { margin-top: auto; padding-top: .75rem; width: fit-content; font-size: 10px; font-weight: 900; text-transform: uppercase; letter-spacing: .03em; color: var(--primary); }
.elh-vaga-link:hover { text-decoration: underline; }
.elh-candidatura-section { margin-top: 3.5rem; scroll-margin-top: 7rem; }
.elh-candidatura-section > p { margin-top: .25rem; font-size: .875rem; color: var(--muted-foreground); }
.elh-candidatura-section .elh-form { margin-top: 1.25rem; }

/* ---------------- Crediário ---------------- */
.elh-crediario-hero { position: relative; overflow: hidden; background-image: var(--gradient-hero); padding: 3.5rem 0 5rem; color: var(--primary-foreground); }
@media (min-width: 1024px) { .elh-crediario-hero { padding: 5rem 0 6rem; } }
.elh-tag { display: inline-flex; align-items: center; gap: .5rem; border-radius: 999px; background: oklch(0.98 0.01 85 / 0.1); padding: .375rem 1rem; font-size: 11px; font-weight: 700; text-transform: uppercase; letter-spacing: .04em; color: var(--gold); }
.elh-crediario-hero h1 { margin: 1.5rem auto 0; max-width: 48rem; font-size: 1.875rem; font-weight: 900; line-height: 1.2; }
@media (min-width: 640px) { .elh-crediario-hero h1 { font-size: 2.25rem; } }
@media (min-width: 1024px) { .elh-crediario-hero h1 { font-size: 3rem; } }
.elh-crediario-hero p { margin: 1.25rem auto 0; max-width: 42rem; font-size: .875rem; line-height: 1.6; color: oklch(0.98 0.01 85 / 0.85); }
@media (min-width: 640px) { .elh-crediario-hero p { font-size: 1rem; } }
.elh-crediario-hero .elh-hero-cta { justify-content: center; margin-top: 2rem; }
.elh-crediario-card-wrap { position: relative; z-index: 10; margin-top: -3rem; }
.elh-crediario-card { border-radius: 1rem; background: var(--card); padding: 1.5rem; box-shadow: var(--shadow-card); }
@media (min-width: 1024px) { .elh-crediario-card { padding: 2.5rem; } }
.elh-crediario-card h2 { font-size: 1.25rem; font-weight: 900; text-transform: uppercase; color: var(--wine); }
@media (min-width: 640px) { .elh-crediario-card h2 { font-size: 1.5rem; } }
.elh-crediario-resumo { margin-top: 2rem; border-radius: .75rem; background: var(--sand); padding: 1.25rem; text-align: center; }
@media (min-width: 1024px) { .elh-crediario-resumo { padding: 2rem; } }
.elh-crediario-resumo p { max-width: 48rem; margin: 0 auto; font-size: .875rem; font-weight: 500; line-height: 1.6; }
@media (min-width: 640px) { .elh-crediario-resumo p { font-size: 1rem; } }
.elh-requisitos-grid { margin-top: 2rem; display: grid; gap: 1.25rem; grid-template-columns: 1fr; }
@media (min-width: 640px) { .elh-requisitos-grid { grid-template-columns: repeat(2, 1fr); } }
@media (min-width: 1024px) { .elh-requisitos-grid { grid-template-columns: repeat(4, 1fr); } }
.elh-requisito { height: 100%; border-radius: .75rem; border: 1px solid var(--border); background: var(--background); padding: 1.25rem; transition: box-shadow .15s ease; }
.elh-requisito:hover { box-shadow: var(--shadow-soft); }
.elh-requisito-icon { display: flex; height: 2.5rem; width: 2.5rem; align-items: center; justify-content: center; border-radius: .5rem; background: oklch(0.51 0.22 27 / 0.1); color: var(--wine); }
.elh-requisito h3 { margin-top: 1rem; font-size: 11px; font-weight: 900; text-transform: uppercase; letter-spacing: .03em; color: var(--wine); }
.elh-requisito ul { margin-top: .75rem; display: flex; flex-direction: column; gap: .375rem; font-size: 11px; color: var(--muted-foreground); }
.elh-requisito li { display: flex; align-items: flex-start; gap: .5rem; }
.elh-requisito li::before { content: ""; margin-top: 6px; height: 6px; width: 6px; flex-shrink: 0; border-radius: 999px; background: var(--gold); }

.elh-cta-banner { display: grid; align-items: center; gap: 2rem; border-radius: 1rem; background-image: var(--gradient-hero); padding: 1.5rem; color: var(--primary-foreground); }
@media (min-width: 1024px) { .elh-cta-banner { grid-template-columns: 1fr auto; padding: 2.5rem; } }
.elh-cta-banner h2 { font-size: 1.25rem; font-weight: 900; text-transform: uppercase; }
@media (min-width: 640px) { .elh-cta-banner h2 { font-size: 1.5rem; } }
.elh-cta-banner p { margin-top: .75rem; max-width: 36rem; font-size: .875rem; line-height: 1.6; color: oklch(0.98 0.01 85 / 0.85); }
.elh-crediario-final-title { margin-top: 1rem; font-size: 1.125rem; font-weight: 900; text-transform: uppercase; color: var(--wine); }
@media (min-width: 640px) { .elh-crediario-final-title { font-size: 1.25rem; } }
.elh-crediario-final-text { margin: .75rem auto 0; max-width: 42rem; font-size: .875rem; color: var(--muted-foreground); }

/* ---------------- Minha Eletrolar ---------------- */
.elh-minha-eletrolar { display: flex; min-height: 70vh; flex-direction: column; align-items: center; justify-content: center; background: var(--wine); padding: 3rem 1rem; text-align: center; }
.elh-minha-eletrolar-card { width: 100%; max-width: 28rem; border-radius: 1rem; background: var(--card); padding: 2rem; box-shadow: var(--shadow-soft); }
.elh-minha-eletrolar-icon { margin: 0 auto 1.5rem; display: grid; height: 4rem; width: 4rem; place-items: center; border-radius: 999px; background: oklch(0.85 0.17 88 / 0.2); color: var(--gold); }
.elh-minha-eletrolar-card h1 { font-size: 1.5rem; font-weight: 700; }
.elh-minha-eletrolar-card > p { margin-top: .5rem; font-size: .875rem; color: var(--muted-foreground); }
.elh-minha-eletrolar-links { margin-top: 2rem; display: flex; flex-direction: column; gap: .75rem; }
.elh-minha-eletrolar-links a { justify-content: center; }

/* ---------------- Reveal on scroll ---------------- */
.elh-reveal { opacity: 0; transform: translateY(20px); transition: opacity .6s ease, transform .6s ease; }
.elh-reveal.is-visible { opacity: 1; transform: none; }
