/* ============================================================
   galvo.css — overrides do tema Industris para a marca Galvo Arte Inox.
   Carregado DEPOIS do style.css do tema. So ajustes, sem reescrever o tema.

   Paleta do tema (ja proxima da marca):
     amarelo primario  #ffd100   (= "amarelo" da marca)
     azul-marinho      #03132b   (= "azul" escuro da marca)
   Introduzimos:
     vermelho Galvo    #d62828   (CTAs de orcamento)
     azul Galvo        #0b3d91   (acentos)
   ============================================================ */

:root {
    --galvo-vermelho: #d62828;
    --galvo-vermelho-h: #b81f1f;
    --galvo-azul: #0b3d91;
    --galvo-amarelo: #ffd100;
    --galvo-navy: #03132b;
}

/* ============================================================
   CORRECAO CRITICA: o bootstrap.css do tema define html{font-size:10px},
   o que encolhe TODO valor em rem para 62%. O tema usa apenas px (nao usa
   rem em lugar nenhum), entao restaurar a raiz para 16px conserta as nossas
   secoes (menu, hero, cards) SEM nenhum efeito colateral no tema.
   ============================================================ */
html { font-size: 16px; }
body { font-size: 16px; }

/* Acento sobre fundo escuro: amarelo da marca (positivo), nao laranja/vermelho */
.text-white .text-primary { color: var(--galvo-amarelo) !important; }

/* Botao de ORCAMENTO: azul da marca (confianca). Vermelho fica reservado
   so a micro-detalhes, nunca como cor de acao. */
.btn-galvo {
    background-color: var(--galvo-azul);
    color: #fff !important;
    border: none;
}
.btn-galvo:hover,
.btn-galvo:focus {
    background-color: #082c68;
    color: #fff !important;
}
.btn-galvo i { margin-left: 8px; }

/* ===== Header: fixo no topo + esconde no scroll pra baixo, aparece pra cima ===== */
#site-header {
    position: -webkit-sticky;
    position: sticky;
    top: 0;
    z-index: 1000;
    background: #fff;
    box-shadow: 0 2px 12px rgba(3, 19, 43, .10);
    transition: transform .3s ease;
}
#site-header.galvo-header--hidden { transform: translateY(-100%); }

.galvo-header__inner { display: flex; align-items: center; height: 90px; gap: 30px; }
.galvo-logo { display: flex; align-items: center; gap: 12px; text-decoration: none; }
.galvo-logo__mark { width: 48px; height: 48px; flex-shrink: 0; }
.galvo-logo__txt { display: flex; flex-direction: column; line-height: 1.04; }
.galvo-logo__txt b { font-size: 1.42rem; font-weight: 900; color: var(--galvo-navy); letter-spacing: .3px; }
.galvo-logo__txt span { font-size: .62rem; letter-spacing: 2.2px; text-transform: uppercase; color: var(--galvo-azul); font-weight: 700; }

.galvo-nav { display: flex; align-items: center; gap: 34px; margin-left: auto; }
.galvo-nav > a, .galvo-nav__sub > a {
    color: var(--galvo-navy); font-weight: 600; font-size: 1.12rem; text-decoration: none;
    display: inline-flex; align-items: center; gap: 5px; white-space: nowrap;
}
.galvo-nav > a:hover, .galvo-nav__sub > a:hover, .galvo-nav > a.ativo { color: var(--galvo-azul); }

.galvo-nav__sub { position: relative; }
.galvo-nav__drop {
    position: absolute; top: 100%; left: 0; min-width: 240px;
    background: #fff; border-radius: 8px; padding: 8px 0;
    box-shadow: 0 12px 30px rgba(3, 19, 43, .14);
    opacity: 0; visibility: hidden; transform: translateY(8px); transition: .16s;
}
.galvo-nav__sub:hover .galvo-nav__drop { opacity: 1; visibility: visible; transform: none; }
.galvo-nav__drop a { display: block; padding: 10px 18px; color: #33404f; font-weight: 500; font-size: .94rem; text-decoration: none; }
.galvo-nav__drop a:hover { background: #f4f6fa; color: var(--galvo-azul); }

.galvo-header__cta { margin-left: 8px; padding: 14px 28px; font-size: 1.05rem; }

/* Header mobile (escondido no desktop) */
.galvo-mobile { display: none; }
.galvo-mobile__bar { display: flex; align-items: center; justify-content: space-between; height: 64px; padding: 0 18px; }
.galvo-burger { background: none; border: 0; padding: 8px; cursor: pointer; display: flex; flex-direction: column; gap: 5px; }
.galvo-burger span { width: 26px; height: 3px; background: var(--galvo-navy); border-radius: 3px; transition: .2s; }
.galvo-mobile__nav { display: none; flex-direction: column; padding: 8px 18px 18px; border-top: 1px solid #eef1f6; }
.galvo-mobile__nav.aberto { display: flex; }
.galvo-mobile__nav a { padding: 12px 4px; color: var(--galvo-navy); font-weight: 600; text-decoration: none; border-bottom: 1px solid #f0f2f6; }
.galvo-mobile__nav a.galvo-mobile__subitem { padding-left: 18px; font-weight: 500; color: #5b6470; font-size: .94rem; }
.galvo-mobile__nav .btn-galvo { margin-top: 14px; text-align: center; border-bottom: 0; }

@media (max-width: 991px) {
    .galvo-header__desktop { display: none; }
    .galvo-mobile { display: block; }
}

/* ===== HERO (CSS, sem depender de imagem) ===== */
.galvo-hero {
    background: linear-gradient(125deg, var(--galvo-navy) 0%, #0a2b6b 55%, var(--galvo-azul) 100%);
    color: #fff;
    padding: 124px 0 116px;
}
.galvo-hero__inner { max-width: 900px; }
.galvo-hero__eyebrow { color: var(--galvo-amarelo); font-weight: 700; text-transform: uppercase; letter-spacing: 1.8px; font-size: 1.02rem; margin: 0 0 20px; }
.galvo-hero__titulo { font-size: clamp(2.6rem, 5.6vw, 4.6rem); line-height: 1.08; margin: 0 0 22px; color: #fff; font-weight: 900; }
.galvo-hero__sub { font-size: 1.32rem; line-height: 1.55; color: #d4def0; margin: 0 0 36px; }
.galvo-hero__sub strong { color: #fff; }
.galvo-hero__acoes { display: flex; flex-wrap: wrap; gap: 16px; }
.galvo-hero__acoes .btn { padding: 17px 34px; font-size: 1.12rem; font-weight: 700; }
.btn-hero-ghost { background: transparent; color: #fff !important; border: 2px solid rgba(255,255,255,.65); }
.btn-hero-ghost:hover { background: #fff; color: var(--galvo-navy) !important; border-color: #fff; }

/* ===== Secao + grid de categorias (cards de altura IGUAL) ===== */
.galvo-sec { padding: 88px 0; }
.galvo-sec__head { margin-bottom: 46px; }
.galvo-cats { display: grid; grid-template-columns: repeat(5, 1fr); gap: 26px; align-items: stretch; }
.galvo-cat {
    display: flex; flex-direction: column; text-align: center; align-items: center;
    background: #fff; border: 1px solid #e4e8f0; border-radius: 14px;
    padding: 38px 24px; text-decoration: none; color: var(--galvo-navy);
    transition: transform .15s ease, box-shadow .15s ease, border-color .15s ease;
}
.galvo-cat:hover { transform: translateY(-6px); box-shadow: 0 18px 36px rgba(3,19,43,.12); border-color: var(--galvo-azul); }
.galvo-cat__ico { font-size: 3.2rem; color: var(--galvo-azul); margin-bottom: 18px; line-height: 1; }
.galvo-cat__nome { font-size: 1.3rem; color: var(--galvo-navy); margin: 0 0 12px; font-weight: 800; line-height: 1.25; }
.galvo-cat__desc { color: #5b6470; font-size: 1rem; line-height: 1.55; flex: 1 1 auto; margin: 0 0 20px; }
.galvo-cat__link { color: var(--galvo-azul); font-weight: 700; font-size: 1rem; }

@media (max-width: 1100px) { .galvo-cats { grid-template-columns: repeat(3, 1fr); } }
@media (max-width: 760px)  { .galvo-cats { grid-template-columns: 1fr 1fr; } .galvo-sec { padding: 60px 0; } .galvo-hero { padding: 72px 0 64px; } }
@media (max-width: 460px)  { .galvo-cats { grid-template-columns: 1fr; } }

/* Topbar: deixar o contato legivel e clicavel */
.topbar-left li a { color: inherit; }

/* Logo em texto (sem usar a logo "industris" do tema) */
.logo-galvo { display: inline-flex; flex-direction: column; line-height: 1.04; }
.logo-galvo .lg-marca { font-weight: 900; font-size: 1.45rem; color: #fff; letter-spacing: .5px; }
.logo-galvo .lg-sub { font-size: .68rem; letter-spacing: 2px; text-transform: uppercase; color: var(--galvo-amarelo); font-weight: 700; }
.main-header .logo-galvo .lg-marca { color: var(--galvo-navy); }

/* Banda de numeros (selos) */
.galvo-stats { background: var(--galvo-navy); }
.galvo-stats .stat { text-align: center; padding: 18px 8px; color: #fff; }
.galvo-stats .stat-num { font-size: 2.1rem; font-weight: 900; color: var(--galvo-amarelo); display: block; }
.galvo-stats .stat-lbl { font-size: .92rem; color: #cdd8ee; }

/* Cards de categoria reaproveitando o estilo de servicos */
.cat-ico { font-size: 2.6rem; color: var(--galvo-azul); }

/* FAQ accordion simples */
.galvo-faq { max-width: 820px; margin: 0 auto; }
.galvo-faq details {
    background: #fff; border: 1px solid #e4e8f0; border-radius: 8px;
    margin-bottom: 12px; overflow: hidden;
}
.galvo-faq summary {
    cursor: pointer; padding: 18px 22px; font-weight: 700; color: var(--galvo-navy);
    list-style: none; position: relative;
}
.galvo-faq summary::-webkit-details-marker { display: none; }
.galvo-faq summary::after { content: "+"; position: absolute; right: 22px; top: 14px; font-size: 1.5rem; color: var(--galvo-azul); }
.galvo-faq details[open] summary::after { content: "\2013"; }
.galvo-faq .faq-corpo { padding: 0 22px 18px; color: #5b6470; }

/* CTA final em azul-marinho da marca (confianca), botao amarelo */
.galvo-cta-final { background: linear-gradient(135deg, var(--galvo-navy) 0%, var(--galvo-azul) 100%); color: #fff; text-align: center; }
.galvo-cta-final h2 { color: #fff; }
.galvo-cta-final p { color: #cdd8ee; }
.galvo-cta-final .btn-galvo { background: var(--galvo-amarelo); color: var(--galvo-navy) !important; }
.galvo-cta-final .btn-galvo:hover { background: #ffdb33; color: var(--galvo-navy) !important; }

/* WhatsApp flutuante */
.whats-float {
    position: fixed; right: 20px; bottom: 20px; z-index: 999;
    width: 56px; height: 56px; border-radius: 50%;
    background: #25d366; color: #fff; display: grid; place-items: center;
    box-shadow: 0 6px 18px rgba(0,0,0,.25); transition: transform .15s;
}
.whats-float:hover { transform: scale(1.08); color: #fff; }
.whats-float svg { width: 28px; height: 28px; }

/* Hero: garantir leitura sobre a imagem */
.slider-content h1, .slider-content h4 { color: #fff; }

/* ============================================================
   RODAPÉ + SUBRODAPÉ (padrão da agência)
   ============================================================ */
.galvo-rodape { background: var(--galvo-navy); color: #cdd8ee; padding: 64px 0 44px; }
.galvo-rodape__grid { display: grid; grid-template-columns: 1.7fr 1fr 1fr 1.5fr; gap: 40px; }
.galvo-rodape__logo { width: 240px; max-width: 78%; display: block; margin-bottom: 18px; }
.galvo-rodape__brand p { color: #aebbd8; max-width: 340px; line-height: 1.65; margin: 0; }
.galvo-rodape__social { display: flex; gap: 12px; margin-top: 20px; }
.galvo-rodape__social a { width: 40px; height: 40px; border-radius: 50%; background: rgba(255,255,255,.08); display: grid; place-items: center; color: #fff; font-size: 1.25rem; transition: transform .15s ease, background .15s ease, color .15s ease; }
.galvo-rodape__social a:hover { background: var(--galvo-amarelo); color: var(--galvo-navy); transform: translateY(-2px); }
.galvo-rodape__col h3 { color: #fff; font-size: .95rem; text-transform: uppercase; letter-spacing: 1.2px; margin: 4px 0 18px; }
.galvo-rodape__col ul { list-style: none; margin: 0; padding: 0; display: grid; gap: 11px; }
.galvo-rodape__col a { color: #cdd8ee; }
.galvo-rodape__col a:hover { color: var(--galvo-amarelo); }
.galvo-rodape__contato ul li { display: flex; gap: 10px; align-items: flex-start; color: #aebbd8; }
.galvo-rodape__contato .icon { color: var(--galvo-amarelo); margin-top: 3px; flex-shrink: 0; }

.galvo-subrodape { background: #020c1c; padding: 20px 0; text-align: center; border-top: 1px solid rgba(255,255,255,.06); }
.galvo-subrodape__linha { margin: 0; font-size: 13px; color: rgba(255,255,255,.6); line-height: 1.95; letter-spacing: .3px; }
.galvo-subrodape__linha a { color: var(--galvo-amarelo); font-weight: 600; }
.galvo-subrodape__linha a:hover { text-decoration: underline; }

@media (max-width: 900px) { .galvo-rodape__grid { grid-template-columns: 1fr 1fr; gap: 32px; } }
@media (max-width: 560px) { .galvo-rodape__grid { grid-template-columns: 1fr; } .galvo-rodape { padding: 48px 0 32px; } }

/* Defesa: o .container do tema (Bootstrap) injeta ::before/::after (clearfix)
   que viram itens fantasma em flex/grid. Neutralizamos onde usamos layout. */
.galvo-header__inner::before, .galvo-header__inner::after { content: none; }
.galvo-rodape__contato small { font-size: .68rem; background: rgba(37,211,102,.18); color: #34d97a; padding: 2px 7px; border-radius: 10px; font-weight: 700; margin-left: 4px; vertical-align: middle; }

/* ============================================================
   HERO com BANNERS editáveis (imagem/vídeo)
   ============================================================ */
.galvo-herob { position: relative; min-height: 560px; overflow: hidden; background: var(--galvo-navy); display: flex; }
.galvo-herob__slide { position: absolute; inset: 0; opacity: 0; transition: opacity .8s ease; background-size: cover; background-position: center; display: flex; align-items: center; }
.galvo-herob__slide.ativo { opacity: 1; }
.galvo-herob__video { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.galvo-herob__overlay { position: absolute; inset: 0; background: linear-gradient(90deg, rgba(3,19,43,.85) 0%, rgba(3,19,43,.55) 55%, rgba(3,19,43,.25) 100%); }
.galvo-herob .container { position: relative; z-index: 2; width: 100%; }
.galvo-herob__inner { max-width: 780px; color: #fff; padding: 48px 0; }
.galvo-herob__eyebrow { color: var(--galvo-amarelo); font-weight: 700; text-transform: uppercase; letter-spacing: 1.8px; font-size: 1rem; margin: 0 0 16px; }
.galvo-herob__titulo { font-size: clamp(2.2rem, 5.2vw, 4.2rem); line-height: 1.08; font-weight: 900; margin: 0 0 18px; color: #fff; }
.galvo-herob__sub { font-size: 1.28rem; line-height: 1.5; color: #d4def0; margin: 0 0 32px; }
.galvo-herob__acoes { display: flex; flex-wrap: wrap; gap: 14px; }
.galvo-herob__acoes .btn { padding: 16px 32px; font-size: 1.1rem; font-weight: 700; }
.galvo-herob__dots { position: absolute; bottom: 22px; left: 0; right: 0; z-index: 3; display: flex; gap: 10px; justify-content: center; }
.galvo-herob__dots button { width: 12px; height: 12px; border-radius: 50%; border: 0; background: rgba(255,255,255,.4); cursor: pointer; padding: 0; transition: background .15s; }
.galvo-herob__dots button.ativo { background: var(--galvo-amarelo); }
@media (max-width: 600px) { .galvo-herob { min-height: 480px; } }

/* ============================================================
   CARROSSEL (categorias da home)
   ============================================================ */
.galvo-carousel__nav { display: flex; gap: 10px; }
.galvo-carousel__btn { width: 46px; height: 46px; border-radius: 50%; border: 1px solid #e4e8f0; background: #fff; color: var(--galvo-azul); font-size: 1.3rem; cursor: pointer; display: grid; place-items: center; transition: background .15s ease, color .15s ease, border-color .15s ease; }
.galvo-carousel__btn:hover { background: var(--galvo-azul); color: #fff; border-color: var(--galvo-azul); }
.galvo-carousel__track { display: flex; gap: 22px; overflow-x: auto; scroll-snap-type: x mandatory; scroll-behavior: smooth; padding: 8px 2px 20px; scrollbar-width: none; -ms-overflow-style: none; }
.galvo-carousel__track::-webkit-scrollbar { display: none; }
/* largura responsiva: encaixa um numero INTEIRO de cards por vista (sem cortar) */
.galvo-carousel__item { flex: 0 0 calc((100% - 3 * 22px) / 4); scroll-snap-align: start; }
@media (max-width: 1100px) { .galvo-carousel__item { flex-basis: calc((100% - 2 * 22px) / 3); } }
@media (max-width: 760px)  { .galvo-carousel__item { flex-basis: calc((100% - 22px) / 2); } }
@media (max-width: 480px)  { .galvo-carousel__item { flex-basis: 100%; } }

/* Ícones sociais (SVG) no rodapé */
.galvo-rodape__social a svg { width: 20px; height: 20px; fill: currentColor; display: block; }

/* Aviso de cookies (LGPD) */
.galvo-cookies { position: fixed; left: 16px; right: 16px; bottom: 16px; z-index: 998; max-width: 780px; margin: 0 auto; background: #fff; border: 1px solid #e4e8f0; border-radius: 14px; box-shadow: 0 14px 44px rgba(3,19,43,.20); padding: 18px 22px; display: flex; align-items: center; gap: 18px; flex-wrap: wrap; }
.galvo-cookies p { margin: 0; color: #45505f; font-size: .95rem; line-height: 1.5; flex: 1 1 320px; }
.galvo-cookies a { color: var(--galvo-azul); font-weight: 700; }
.galvo-cookies .btn { white-space: nowrap; padding: 12px 26px; }
body.tem-cookies .whats-float { bottom: 96px; }
@media (max-width: 600px) { .galvo-cookies { padding: 16px; } .galvo-cookies .btn { width: 100%; } }

/* FIX cookie banner: o display:flex vencia o [hidden]; forcamos esconder */
.galvo-cookies[hidden] { display: none !important; }

/* Subrodape com letras mais grossas (override) */
.galvo-subrodape__linha { font-size: 13.5px; color: rgba(255,255,255,.9); font-weight: 600; letter-spacing: .2px; }
.galvo-subrodape__linha a { color: var(--galvo-amarelo); font-weight: 800; }

/* Video da secao Sobre na home */
.galvo-sobre-video { width: 100%; border-radius: 14px; display: block; background: #03132b; aspect-ratio: 16 / 11; object-fit: cover; }

/* Bloco de video na pagina Sobre */
.galvo-sobre-videowrap { max-width: 820px; margin: 0 auto; }
.galvo-sobre-videowrap .galvo-sobre-video { aspect-ratio: auto; object-fit: contain; height: auto; box-shadow: 0 18px 40px rgba(3,19,43,.18); }

/* Logo do header (imagem unica horizontal) */
.galvo-logo__img { height: 52px; width: auto; display: block; }
@media (max-width: 991px) { .galvo-logo__img { height: 42px; } }

/* Selos (stats): flexbox p/ alinhar rotulos e nao quebrar com valores de 2 linhas */
.galvo-stats .row { display: flex; flex-wrap: wrap; justify-content: center; }
.galvo-stats [class*="col-"] { float: none; display: flex; }
.galvo-stats .stat { display: flex; flex-direction: column; align-items: center; justify-content: flex-start; width: 100%; }
.galvo-stats .stat-num { min-height: 2.4em; display: flex; align-items: center; justify-content: center; line-height: 1.1; margin-bottom: 4px; }
.galvo-stats .stat-lbl { line-height: 1.3; }

/* "Como funciona": bolinha centralizada sob o icone (o tema fixa left:139px) */
.process .process-icon:before { left: 50% !important; margin-left: 0 !important; transform: translateX(-50%); }

/* Link "Ver no mapa" nos cards de contato */
.contato-card__link { display: inline-block; margin-top: 8px; color: var(--galvo-azul); font-weight: 700; font-size: .9rem; }

/* Selos: numeros em UMA linha (sem quebra feia tipo "ate 1.500 kg") */
.galvo-stats .stat-num { font-size: 1.55rem; white-space: nowrap; min-height: 1.5em; }
@media (max-width: 991px) { .galvo-stats .stat-num { font-size: 1.4rem; } }

/* Popup de contato (nome + telefone) antes do WhatsApp */
.galvo-modal { position: fixed; inset: 0; z-index: 2000; display: flex; align-items: center; justify-content: center; padding: 18px; }
.galvo-modal[hidden] { display: none; }
.galvo-modal__bg { position: absolute; inset: 0; background: rgba(3,19,43,.6); }
.galvo-modal__box { position: relative; z-index: 1; background: #fff; border-radius: 16px; padding: 34px 30px 30px; width: 420px; max-width: 100%; box-shadow: 0 30px 70px rgba(0,0,0,.35); text-align: center; animation: galvoModalIn .2s ease; }
@keyframes galvoModalIn { from { opacity: 0; transform: translateY(14px); } to { opacity: 1; transform: none; } }
.galvo-modal__x { position: absolute; top: 10px; right: 16px; background: none; border: 0; font-size: 1.9rem; line-height: 1; color: #9aa4b2; cursor: pointer; }
.galvo-modal__x:hover { color: var(--galvo-navy); }
.galvo-modal__ico { width: 62px; height: 62px; margin: 0 auto 14px; border-radius: 50%; background: #25d366; color: #fff; display: grid; place-items: center; font-size: 2rem; }
.galvo-modal__box h3 { margin: 0 0 8px; color: var(--galvo-navy); font-size: 1.5rem; font-weight: 800; }
.galvo-modal__box p { margin: 0 0 22px; color: #5b6470; font-size: .98rem; line-height: 1.5; }
.galvo-modal__box label { display: block; text-align: left; font-weight: 700; color: var(--galvo-navy); font-size: .88rem; margin-bottom: 14px; }
.galvo-modal__box input { width: 100%; margin-top: 6px; padding: 13px; border: 1px solid #cfd6e2; border-radius: 10px; font-size: 1rem; font-family: inherit; color: var(--galvo-navy); }
.galvo-modal__box input:focus { outline: none; border-color: var(--galvo-azul); box-shadow: 0 0 0 3px rgba(11,61,145,.12); }
.galvo-modal__box input.erro { border-color: var(--galvo-vermelho); box-shadow: 0 0 0 3px rgba(214,40,40,.12); }
.galvo-modal__box .btn-full { width: 100%; margin-top: 8px; padding: 14px; }

/* Logo do rodape um pouco maior */
.galvo-rodape__logo { width: 300px; max-width: 100%; margin-bottom: 20px; }

/* ============================================================
   FIX header sticky: o tema Industris poe overflow-x:hidden no html/body,
   o que QUEBRA o position:sticky do #site-header (ele rola junto e some).
   overflow-x:clip evita o scroll horizontal SEM criar contexto de rolagem,
   entao o sticky volta a funcionar (esconde no scroll, volta no scroll-up).
   ============================================================ */
html, body { overflow-x: clip; }

/* ============================================================
   ADAPTACAO MOBILE — header, centralizacao e botoes (<= 600px)
   ============================================================ */
@media (max-width: 600px) {
    /* Header: logo menor pra CABER o carrinho + o menu (burger nao some) */
    .galvo-mobile__bar { padding: 0 14px; gap: 10px; }
    .galvo-mobile__bar .galvo-logo { min-width: 0; flex: 0 1 auto; overflow: hidden; }
    .galvo-mobile__bar .galvo-logo__img { height: 32px; }
    .galvo-mobile__acoes { display: flex; align-items: center; gap: 16px; flex-shrink: 0; }
    .galvo-mobile__acoes .galvo-cart { font-size: 1.6rem; color: var(--galvo-navy); position: relative; }

    /* Hero centralizado + botoes full-width (toque facil) */
    .galvo-hero { padding: 52px 0 48px; }
    .galvo-hero__inner, .galvo-herob__inner { text-align: center; margin-left: auto; margin-right: auto; }
    .galvo-hero__titulo { font-size: clamp(1.9rem, 8.5vw, 2.5rem); }
    .galvo-hero__sub, .galvo-herob__sub { font-size: 1.08rem; }
    .galvo-hero__acoes, .galvo-herob__acoes { flex-direction: column; align-items: stretch; }
    .galvo-hero__acoes .btn, .galvo-herob__acoes .btn { width: 100%; }

    /* Titulos de secao centralizados + secoes mais justas */
    .galvo-sec { padding: 46px 0; }
    .galvo-sec__head { text-align: center; margin-bottom: 28px; }
    .galvo-sec__head--row { flex-direction: column; gap: 14px; align-items: center; }
    .galvo-vermais { align-self: center; }
    .galvo-pagehead { text-align: center; }

    /* CTAs grandes em largura cheia */
    .galvo-cta-final .btn, .btn-grande, .btn-full { width: 100%; }
    .galvo-cta-final .btn { display: flex; justify-content: center; }

    /* Cards de contato centralizados */
    .contato-card { text-align: center; align-items: center; }

    /* Rodape: centraliza a coluna da marca */
    .galvo-rodape__brand { text-align: center; }
    .galvo-rodape__brand p { margin-left: auto; margin-right: auto; }
    .galvo-rodape__logo { margin-left: auto; margin-right: auto; }
    .galvo-rodape__social { justify-content: center; }
}

/* Mobile: garantir que nada passe da largura da tela (sem overflow horizontal) */
@media (max-width: 600px) {
    .container { max-width: 100%; padding-left: 18px; padding-right: 18px; }
    .galvo-hero__inner, .galvo-herob__inner { max-width: 100%; width: auto; }
    .galvo-hero__titulo, .galvo-herob__titulo, .galvo-pagehead h1 { overflow-wrap: break-word; word-break: break-word; }
    img, video, table { max-width: 100%; }
}

/* Hero com FOTO clara: overlay mais escuro pra leitura do texto branco */
.galvo-herob__overlay { background: linear-gradient(90deg, rgba(3,19,43,.92) 0%, rgba(3,19,43,.7) 55%, rgba(3,19,43,.52) 100%); }
@media (max-width: 600px) { .galvo-herob__overlay { background: rgba(3,19,43,.74); } }

/* Hero com FOTO/VIDEO de fundo — MESMA estrutura bonita do hero gradiente,
   só troca o fundo (foto sorteada) e poe um overlay navy por cima. */
.galvo-hero--midia { position: relative; background-size: cover; background-position: center; }
.galvo-hero--midia .container { position: relative; z-index: 2; }
.galvo-hero__video { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; z-index: 0; }
.galvo-hero__overlay { position: absolute; inset: 0; z-index: 1; background: linear-gradient(90deg, rgba(3,19,43,.92) 0%, rgba(3,19,43,.7) 55%, rgba(3,19,43,.5) 100%); }
@media (max-width: 600px) { .galvo-hero--midia .galvo-hero__overlay { background: rgba(3,19,43,.76); } }

/* ============================================================
   CORREÇÕES MOBILE (carrossel, rodapé, cards, sobre, processo)
   ============================================================ */
@media (max-width: 600px) {
    /* 1) Carrossel "Para cada setor": empilha título + setas, AMBOS centralizados */
    .galvo-sec__head--row { flex-direction: column; gap: 16px; align-items: center; text-align: center; }
    .galvo-sec__head--row > div:first-child { width: 100%; }
    .galvo-carousel__nav { justify-content: center; }

    /* 2) Rodapé: TODAS as colunas centralizadas */
    .galvo-rodape__grid { text-align: center; }
    .galvo-rodape__col ul { justify-items: center; }
    .galvo-rodape__contato ul li { justify-content: center; }
    .galvo-rodape__social { justify-content: center; }

    /* 3) Card de produto (home destaque + catálogo): botão "Adicionar" cabe no card */
    .prod-card__add-extra { display: none; }
    .prod-card__add { font-size: .9rem; padding: 11px 8px; white-space: nowrap; }

    /* 4+5) Seção Sobre da home: título/texto/botão centralizados + respiro da foto */
    .galvo-sobre-home { text-align: center; }
    .galvo-sobre-home .col-md-6:first-child { margin-bottom: 6px; }
    .galvo-sobre-home .btn { display: inline-block; margin-bottom: 28px; }

    /* 6) Como funciona: esconde a linha/bolinhas/setas (feias empilhadas), centraliza */
    .process:after,
    .process .process-icon:before,
    .process .process-icon:after { display: none !important; }
    .process .process-icon { margin-bottom: 14px; }
    .process { margin-bottom: 30px; }
    .process:last-child { margin-bottom: 0; }
}

/* Como funciona: no mobile o tema deixa os passos a ESQUERDA; centraliza tudo */
@media (max-width: 600px) {
    .process, .process .process-icon, .process h4 { text-align: center !important; }
}
