/**
 * Levhaus — CSS de alta fidelidade (carrega depois de theme-clean.css).
 * 1) Neutraliza espaçamentos do core Gutenberg  2) Cabeçalho desktop/mobile
 * 3) Rodapé equalizado  4) Revelação suave com prefers-reduced-motion.
 */

/* ---------- 1. Neutralização do core ---------- */
.wp-site-blocks { padding: 0 !important; }
.wp-site-blocks > *,
.wp-site-blocks > * + *,
main.wp-block-group > *,
main .is-layout-flow > *,
main .is-layout-constrained > * { margin-block-start: 0; margin-block-end: 0; }
main.wp-block-group,
main .wp-block-group.has-global-padding,
.wp-block-template-part { padding-inline: 0; padding-block: 0; gap: 0; }
.is-layout-constrained > .alignfull { margin-inline: 0 !important; max-width: none; }
main :where(section) :where(h1, h2, h3) { overflow-wrap: normal; word-break: normal; hyphens: manual; }

.lev-balance, main :where(h1, h2, h3), .lev-site-footer :where(h2, p, address) { text-wrap: balance; }
main :where(p) { text-wrap: pretty; }

/* ---------- 2. Cabeçalho ---------- */
.lev-only-mobile { display: inline-flex; }
.lev-desk-nav { display: none; }

@media (min-width: 1024px) {
  .lev-only-mobile { display: none !important; }
  .lev-desk-nav { display: flex; align-items: center; gap: 2rem; }
}
.lev-desk-nav__list { display: flex; gap: 1.75rem; list-style: none; margin: 0; padding: 0; }
.lev-desk-nav__item { position: relative; }
.lev-desk-nav__link {
  display: inline-flex; align-items: center; gap: .4rem; padding-block: .5rem;
  font-weight: 600; font-size: .9375rem; color: var(--wp--preset--color--lev-light); text-decoration: none;
  transition: color .2s ease;
}
[data-scrolled="true"] .lev-desk-nav__link { color: var(--wp--preset--color--lev-dark); }
.lev-desk-nav__link:hover, .lev-desk-nav__link[aria-current] { color: var(--wp--preset--color--lev-accent); }
.lev-desk-nav__cta {
  display: inline-flex; align-items: center; height: 2.75rem; padding-inline: 1.25rem; border-radius: .375rem;
  background: var(--wp--preset--color--lev-accent); color: var(--wp--preset--color--lev-light);
  font-weight: 700; text-decoration: none; white-space: nowrap;
}
.lev-chevron {
  width: .45rem; height: .45rem; border-right: 2px solid currentColor; border-bottom: 2px solid currentColor;
  transform: translateY(-2px) rotate(45deg); transition: transform .2s ease;
}

/* Mega menu: atraso suave na saída + ponte invisível */
.lev-mega {
  position: absolute; top: 100%; left: 50%; min-width: 22rem; padding-top: .75rem;
  opacity: 0; visibility: hidden; transform: translate(-50%, 6px);
  transition: opacity .18s ease .18s, transform .18s ease .18s, visibility 0s linear .36s;
}
.lev-mega__bridge { position: absolute; inset: -1rem -1.5rem auto; height: 1.75rem; }
.lev-mega__grid {
  list-style: none; margin: 0; padding: .75rem; display: grid; gap: .25rem;
  background: var(--wp--preset--color--lev-surface); border-radius: .75rem;
  box-shadow: 0 24px 48px -12px rgb(43 52 64 / .28);
}
.lev-mega__link { display: grid; gap: .15rem; padding: .75rem 1rem; border-radius: .5rem; text-decoration: none; color: var(--wp--preset--color--lev-dark); }
.lev-mega__link span { font-size: .8125rem; color: var(--wp--preset--color--lev-navy); }
.lev-mega__link:hover, .lev-mega__link:focus-visible { background: var(--wp--preset--color--lev-surface-muted); }
.has-sub:hover > .lev-mega, .has-sub:focus-within > .lev-mega, .has-sub.is-open > .lev-mega {
  opacity: 1; visibility: visible; transform: translate(-50%, 0);
  transition: opacity .18s ease, transform .18s ease, visibility 0s;
}
.has-sub:hover .lev-chevron, .has-sub.is-open .lev-chevron { transform: translateY(1px) rotate(225deg); }

/* Gaveta mobile em <details class="sc-mobile"> */
.sc-mobile > summary { list-style: none; cursor: pointer; }
.sc-mobile > summary::-webkit-details-marker { display: none; }
.sc-mobile__overlay {
  position: fixed; inset: 0; z-index: 9998; background: rgb(43 52 64 / .6);
  opacity: 0; pointer-events: none; transition: opacity .3s ease;
}
.sc-mobile__panel {
  position: fixed; inset-block: 0; right: 0; z-index: 9999; display: flex; flex-direction: column;
  width: min(85vw, 24rem); height: 100dvh; overflow-y: auto; padding: 1.5rem;
  background: var(--wp--preset--color--lev-light); box-shadow: -16px 0 40px rgb(0 0 0 / .2);
  transform: translateX(100%); transition: transform .35s cubic-bezier(.22,.61,.36,1);
}
.sc-mobile[open] .sc-mobile__overlay { opacity: 1; pointer-events: auto; }
.sc-mobile[open] .sc-mobile__panel { transform: translateX(0); }
.sc-mobile.is-closing .sc-mobile__overlay { opacity: 0; }
.sc-mobile.is-closing .sc-mobile__panel { transform: translateX(100%); }
.sc-mobile__footer { margin-top: auto; padding-top: 1.5rem; padding-bottom: 1rem; }
html.lev-scroll-lock { overflow: hidden; }

.sc-acc__summary {
  display: flex; align-items: center; justify-content: space-between; cursor: pointer; list-style: none;
  font-size: 1.125rem; font-weight: 600; color: var(--wp--preset--color--lev-dark);
}
.sc-acc__summary::-webkit-details-marker { display: none; }
.sc-acc[open] .lev-chevron { transform: translateY(1px) rotate(225deg); }
.sc-acc__list { list-style: none; margin: .75rem 0 0; padding: 0 0 0 1rem; display: grid; gap: .75rem; border-left: 2px solid var(--wp--preset--color--lev-soft); }
.sc-acc__list a { color: var(--wp--preset--color--lev-navy); text-decoration: none; font-weight: 500; }

/* ---------- 3. Rodapé equalizado ---------- */
.lev-site-footer { --lev-seal-w: clamp(10rem, 40vw, 15rem); }
.lev-brand-seal-wrap { display: inline-flex; width: auto; }
.lev-site-footer .lev-brand-seal-wrap .lev-brand-seal { width: auto; height: 6rem; }
@media (min-width: 640px) { .lev-site-footer .lev-brand-seal-wrap .lev-brand-seal { height: 120px; } }
.lev-site-footer svg.text-lev-accent { color: var(--color-lev-accent) !important; }
.lev-brand-seal { display: block; width: var(--lev-seal-w); max-width: 100%; height: auto; aspect-ratio: auto; object-fit: contain; }
.lev-brand-seal--decor { width: var(--lev-seal-w); }

/* ---------- 4. Revelação suave ---------- */
.lev-reveal-ready [data-lev-reveal] {
  opacity: 0; transform: translateY(16px);
  transition: opacity .6s ease var(--lev-reveal-delay, 0ms), transform .6s ease var(--lev-reveal-delay, 0ms);
}
.lev-reveal-ready [data-lev-reveal].is-visible { opacity: 1; transform: none; }

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; transition-delay: 0s !important; scroll-behavior: auto !important; }
  .lev-reveal-ready [data-lev-reveal] { opacity: 1; transform: none; }
}

/* ---------- v1.8.0: ficha técnica, relacionados, catálogo, editorial ---------- */
.lev-specs,.lev-related,.lev-catalog{max-width:var(--wp--style--global--wide-size,1280px);margin-inline:auto;padding:clamp(3rem,6vw,5rem) 1rem}
.lev-specs__title,.lev-related__title,.lev-catalog__title{font-size:clamp(1.5rem,3vw,2.25rem);font-weight:600;margin:0 0 1.5rem;text-wrap:balance}
.lev-specs__list{display:grid;gap:1rem;grid-template-columns:repeat(auto-fit,minmax(12rem,1fr));margin:0}
.lev-specs__row{border-top:1px solid color-mix(in srgb,currentColor 20%,transparent);padding-top:.75rem}
.lev-specs__row dt{font-size:.75rem;text-transform:uppercase;letter-spacing:.08em;opacity:.7}
.lev-specs__row dd{margin:.25rem 0 0;font-weight:600}
.lev-related__grid,.lev-catalog__grid{list-style:none;margin:0;padding:0;display:grid;gap:1.5rem;grid-template-columns:repeat(auto-fill,minmax(16rem,1fr))}
.lev-related__img,.lev-catalog__img{width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:1rem}
.lev-related__name,.lev-catalog__name{font-size:1.125rem;margin:.75rem 0 .25rem;text-wrap:balance}
.lev-related__name a,.lev-catalog__name a{color:inherit;text-decoration:none}
.lev-catalog__filters,.lev-catalog__pager{display:flex;flex-wrap:wrap;gap:.5rem;margin:0 0 1.5rem}
.lev-chip{display:inline-flex;align-items:center;min-height:2.75rem;padding:0 1rem;border-radius:999px;border:1px solid color-mix(in srgb,currentColor 25%,transparent);color:inherit;text-decoration:none;font-size:.875rem}
.lev-chip[aria-current]{background:var(--wp--preset--color--accent,currentColor);border-color:transparent;color:var(--wp--preset--color--surface,#fff)}
.lev-editorial{padding:clamp(3rem,6vw,5rem) 1rem;line-height:1.7}
.lev-editorial h1,.lev-editorial h2{text-wrap:balance}
.lev-legal__meta{opacity:.7;font-size:.875rem}
.lev-legal code{font:inherit;background:none;padding:0}

/* Endereço do rodapé: uma informação por linha, com respiro. */
.lev-address { display: flex; flex-direction: column; gap: .35rem; line-height: 1.5; }
.lev-address .block { display: block; }

/* Status do formulário: oculto enquanto vazio (evita "campo fantasma"). */
.levhaus-form-response:empty { display: none !important; }

/* Link ativo do menu: sem destaque colorido, fiel ao site original.
   O realce por seção em vista prendia no último link (FAQ) e não se apagava. */
.lev-desk-nav__link[aria-current] { color: var(--wp--preset--color--lev-light, #f4f4f4); }
[data-scrolled="true"] .lev-desk-nav__link[aria-current] { color: var(--wp--preset--color--lev-dark, #2b3440); }

/* Lista do seletor: texto escuro legível sobre fundo claro. */
.levhaus-form select option { background-color: #f4f4f4; color: #2b3440; -webkit-text-fill-color: #2b3440; }
.levhaus-form select option[value=''] { color: #5a6b80; -webkit-text-fill-color: #5a6b80; }
