/* GUIA VETERINARIO — Ajustes responsivos 1.0
 * Apenas apresentação: não altera login, compra, leitor nem permissões.
 */
.gv-home .gv-topbar,
.gv-internal-header {
  transition: transform .3s cubic-bezier(.22,1,.36,1);
  will-change: transform;
}
.gv-home .gv-topbar.gv-smart-hidden {
  transform: translate3d(0,-105%,0);
}
.gv-internal-header.gv-smart-hidden {
  transform: translate3d(0,calc(-1 * var(--gv-top-height, 78px)),0);
}
/* Protege a navegação sticky da barra de administração. */
body.admin-bar .gv-internal-header,
body.admin-bar .gv-home .gv-topbar {top:32px}

/* O aviso público precisa respeitar a área disponível sem compressão. */
.gvl-shell .gvl-public-note > div,
.gvl-shell .gvl-public-note p,
.gvl-shell .gvl-public-note strong {
  overflow-wrap:break-word;
}

@media (max-width:860px) {
  /* CABEÇALHO INTERNO: logo em cima, autenticação em linha própria,
     CTA em linha própria, navegação sempre legível. */
  .gv-internal-header .gv-internal-top {
    display:grid !important;
    grid-template-columns:minmax(0,1fr) auto !important;
    grid-template-rows:auto auto auto;
    gap:10px !important;
    align-items:center !important;
    justify-items:stretch !important;
    min-height:0 !important;
    height:auto !important; /* substitui header .w { height:58px } do tema */
    padding:11px 0 8px !important;
  }
  .gv-internal-header .gv-internal-top > .gv-brand {
    grid-column:1;grid-row:1;min-width:0;
    justify-self:start;
    gap:8px;
  }
  .gv-internal-header .gv-brand-mark {
    width:38px;height:38px;flex:0 0 38px;
  }
  .gv-internal-header .gv-brand-mark svg {width:27px;height:27px}
  .gv-internal-header .gv-brand-copy{min-width:0}
  .gv-internal-header .gv-brand-copy strong {
    font-size:clamp(13px,3.8vw,17px);line-height:1.15;
  }
  .gv-internal-header .gv-brand-copy small {display:none}
  .gv-internal-header .gv-internal-top > .gv-internal-actions {
    display:contents !important;
  }
  .gv-internal-header .gv-internal-actions > .gv-theme-toggle {
    grid-column:2;grid-row:1;justify-self:end;
    width:38px;height:38px;min-width:38px;
  }
  .gv-internal-header .gv-internal-actions > .gv-auth-links {
    grid-column:1/-1;grid-row:2;
    display:flex !important;
    align-items:stretch;
    flex-wrap:nowrap !important;
    justify-content:stretch !important;
    gap:10px;
    min-width:0;
  }
  .gv-internal-header .gv-internal-actions > .gv-auth-links .b {
    flex:1 1 0;min-width:0;
    text-align:center;
  }
  .gv-internal-header .gv-internal-actions > .gv-profile-link {
    grid-column:1;grid-row:2;justify-self:stretch;
    min-width:0;
  }
  .gv-internal-header .gv-internal-actions > .gvbs-logout {
    grid-column:2;grid-row:2;align-self:center;
  }
  .gv-internal-header .gv-internal-top > .gv-internal-cta-wrap {
    grid-column:1/-1;grid-row:3;
    display:flex !important;
    justify-content:stretch !important;
    width:100%;min-width:0;gap:8px;
  }
  .gv-internal-header .gv-internal-cta-wrap > .b {
    flex:1 1 140px;min-width:0;
    padding:11px 9px;
    white-space:normal !important;
    text-align:center;
  }
  .gv-internal-header .gv-internal-subnav {
    display:grid !important;
    grid-template-columns:repeat(4,minmax(0,1fr));
    gap:4px !important;
    align-items:center;
    justify-items:center;
    min-height:0;
    height:auto !important;
    padding:8px 0 10px !important;
    border-top:1px solid var(--ln,rgba(80,150,130,.2));
  }
  .gv-internal-header .gv-internal-subnav a {
    font-size:clamp(11px,3vw,13px);
    white-space:nowrap;
    text-align:center;
    padding:6px 2px;
  }
  .gv-page-shell,.gv-area-membros,.gv-materials-page {
    padding-inline:16px;
  }
}

@media (max-width:760px) {
  /* HOME: não deixa o botão central e os botões de acesso sobreporem
     título, marca ou banner da página. */
  .gv-home .gv-topbar .w {
    display:grid !important;
    grid-template-columns:minmax(0,1fr) auto !important;
    grid-template-rows:auto auto auto !important;
    column-gap:10px !important;
    row-gap:10px !important;
    align-items:center !important;
    justify-items:stretch !important;
    min-height:0 !important;
    height:auto !important; /* substitui header .w { height:58px } do tema */
    padding:12px 16px 13px !important;
  }
  .gv-home .gv-topbar .gv-brand {
    grid-column:1;grid-row:1;
    justify-self:start;min-width:0;max-width:100%;
    gap:9px;
  }
  .gv-home .gv-topbar .gv-brand-mark {
    width:40px;height:40px;flex:0 0 40px;
  }
  .gv-home .gv-topbar .gv-brand-mark svg{width:29px;height:29px}
  .gv-home .gv-topbar .gv-brand-copy {min-width:0}
  .gv-home .gv-topbar .gv-brand-copy strong {
    font-size:clamp(14px,3.8vw,18px);
    line-height:1.15;
    overflow-wrap:normal;
  }
  .gv-home .gv-topbar .gv-brand-copy small {display:none}
  .gv-home .gv-topbar .gv-right-actions {
    display:contents !important;
  }
  .gv-home .gv-topbar .gv-right-actions > .gv-theme-toggle {
    grid-column:2;grid-row:1;justify-self:end;
    width:40px;height:40px;min-width:40px;
  }
  .gv-home .gv-topbar .gv-right-actions > a.b.o {
    grid-column:1;grid-row:2;
  }
  .gv-home .gv-topbar .gv-right-actions > a.b.soft {
    grid-column:2;grid-row:2;
  }
  .gv-home .gv-topbar .gv-right-actions > a.b {
    width:100%;min-width:0;
    padding:11px 14px;
    text-align:center;
  }
  .gv-home .gv-topbar .gv-right-actions > .gv-profile {
    grid-column:1;grid-row:2;
    justify-self:stretch;min-width:0;
    box-shadow:none;
  }
  .gv-home .gv-topbar .gv-right-actions > .gvbs-logout {
    grid-column:2;grid-row:2;justify-self:end;
  }
  .gv-home .gv-topbar .gv-mid-actions {
    grid-column:1/-1;grid-row:3;
    display:flex !important;
    justify-content:stretch !important;
    align-items:stretch;
    flex-wrap:wrap;
    width:100%;min-width:0;
    gap:8px;
  }
  .gv-home .gv-topbar .gv-mid-actions > .b {
    flex:1 1 140px;
    min-width:0;
    width:auto;
    text-align:center;
    padding:11px 9px;
    white-space:normal;
  }
  .gv-home .hero {padding-top:26px !important}
  .gv-home .hero-grid {gap:24px;min-width:0}
  .gv-home .hero h1 {
    font-size:clamp(30px,8.5vw,52px);
    line-height:1.12;
    overflow-wrap:break-word;
  }
  .gv-home .eyebrow {
    max-width:100%;
    font-size:12px;
    line-height:1.35;
    white-space:normal;
  }
  .gv-home .w{padding-left:16px;padding-right:16px}
  .gv-home .hero .cta-row > .b {flex:1 1 140px;min-width:0;text-align:center}
  .gv-home .floating-card:nth-child(2){margin-left:8px}
  .gv-home .floating-card:nth-child(3){margin-right:8px}
  .gv-home .gv-footer{padding-bottom:52px}

  /* MATERIAIS: aviso em duas colunas (ícone + texto), com ação abaixo. */
  .gvl-shell .gvl-public-note {
    display:grid !important;
    grid-template-columns:26px minmax(0,1fr) !important;
    grid-template-rows:auto auto;
    align-items:start !important;
    justify-items:stretch;
    gap:10px 12px !important;
    padding:18px 16px;
  }
  .gvl-shell .gvl-public-note > .gvl-svg {
    grid-column:1;grid-row:1;
    width:24px;height:24px;
  }
  .gvl-shell .gvl-public-note > div {
    grid-column:2;grid-row:1;
    display:block;
    flex:none;
    width:100%;min-width:0;
    overflow-wrap:normal;
  }
  .gvl-shell .gvl-public-note > div p,
  .gvl-shell .gvl-public-note > div strong {
    white-space:normal;
    overflow-wrap:break-word;
    word-break:normal;
  }
  .gvl-shell .gvl-public-note > a {
    grid-column:1/-1;grid-row:2;
    justify-self:start;
    margin:2px 0 0 !important;
    white-space:normal !important;
    line-height:1.4;
  }
  .gvl-shell {min-width:0;padding:24px 16px 64px}
  .gvl-shell .gvl-showcase-hero {padding:24px 19px;min-width:0}
  .gvl-shell .gvl-showcase-hero h1 {font-size:clamp(28px,8.1vw,39px);overflow-wrap:break-word}
  .gvl-shell .gvl-product-grid,
  .gvl-shell .gvl-card {min-width:0}
  .gvl-shell .gvl-card {padding:18px}
}
@media (max-width:782px) {
  body.admin-bar .gv-internal-header,
  body.admin-bar .gv-home .gv-topbar {top:46px}
}
@media (max-width:360px) {
  .gv-home .gv-topbar .w {padding-inline:11px !important}
  .gv-internal-header .gv-internal-cta-wrap {flex-direction:column}
  .gv-home .gv-topbar .gv-mid-actions {flex-direction:column}
  .gv-home .gv-topbar .gv-mid-actions > .b {flex:auto}
}
@media (prefers-reduced-motion:reduce) {
  .gv-home .gv-topbar,.gv-internal-header {transition:none !important}
}
