:root {
  /* Layout: faixa vinho fixa no topo; abertura com o logo e o "Quem somos"; notícias em linha do tempo,
     com a data na margem, o texto ao centro e folders e fotos na coluna da direita. */
  --vinho: #590000;
  --vinho-profundo: #3d0101;
  --vermelho: #b30000;
  --terracota: #d95934;
  --marrom: #783f04;
  --papel: #ffffff;
  --papel-rosado: #f8f2f0;
  --tinta: #2b1f1d;
  --tinta-suave: #6d5a56;
  --linha: #ecdfdb;
  --sobre-vinho: #ffffff;
  --sobre-vinho-suave: #f0d9d3;
  --sombra: rgba(43, 31, 29, 0.16);
  --sombra-barra: rgba(20, 0, 0, 0.55);
  --vidro: rgba(255, 255, 255, 0.14);
  --sobre-vinho-borda: rgba(255, 255, 255, 0.5);
  --veu: rgba(28, 8, 6, 0.86);

  --fonte-titulo: "Newsreader", Georgia, "Times New Roman", serif;
  --fonte-texto: "Source Sans 3", "Trebuchet MS", "Segoe UI", system-ui, sans-serif;

  --t-1: 0.875rem;
  --t-2: 1rem;
  --t-3: 1.1875rem;
  --t-4: 1.375rem;
  --t-5: 1.75rem;
  --t-6: 2.5rem;
  --t-7: clamp(2rem, 8.5vw, 4rem);

  --largura: 1200px;
  --gutter: clamp(16px, 4vw, 32px);
  --barra-h: 68px;
  color-scheme: light;
}

*, *::before, *::after { box-sizing: border-box; }

html {
  scroll-behavior: smooth;
  scroll-padding-top: calc(var(--barra-h) + 16px);
  -webkit-text-size-adjust: 100%;
}

body {
  margin: 0;
  background: var(--papel);
  color: var(--tinta);
  font-family: var(--fonte-texto);
  font-size: var(--t-3);
  line-height: 1.65;
}

img { max-width: 100%; height: auto; }

a { color: var(--vermelho); text-underline-offset: 3px; text-decoration-thickness: 1px; }
a:hover { color: var(--vinho); }
:focus-visible { outline: 3px solid var(--terracota); outline-offset: 3px; border-radius: 2px; }

.conteiner {
  max-width: var(--largura);
  margin-inline: auto;
  padding-inline: var(--gutter);
}

.pular {
  position: absolute;
  left: -9999px;
  top: 8px;
  z-index: 50;
  background: var(--papel);
  color: var(--vinho);
  padding: 8px 14px;
  font-weight: 700;
}
.pular:focus { left: 16px; }

/* ---------- Faixa de navegação (vinho refinada) ---------- */

.barra {
  position: sticky;
  top: env(safe-area-inset-top, 0px);
  z-index: 20;
  background: var(--vinho);
  color: var(--sobre-vinho);
  box-shadow: 0 12px 26px -18px var(--sombra-barra);
}
.barra .conteiner {
  min-height: var(--barra-h);
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
}
.marca {
  font-family: var(--fonte-titulo);
  font-style: italic;
  font-weight: 500;
  font-size: 1.45rem;
  letter-spacing: 0.005em;
  color: var(--sobre-vinho);
  text-decoration: none;
  white-space: nowrap;
}
.marca:hover { color: var(--sobre-vinho); }
.barra nav {
  display: flex;
  align-items: center;
  gap: 4px 6px;
  min-width: 0;
}
.barra nav a {
  color: var(--sobre-vinho-suave);
  text-decoration: none;
  font-size: var(--t-2);
  font-weight: 500;
  letter-spacing: 0.01em;
  padding: 8px 15px;
  border-radius: 999px;
  white-space: nowrap;
  transition: background-color 150ms ease, color 150ms ease;
}
.barra nav a:hover,
.barra nav a[aria-current] { background: var(--vidro); color: var(--sobre-vinho); }
.barra nav a.idioma { border: 1px solid var(--sobre-vinho-borda); margin-left: 8px; padding-block: 7px; }
.barra nav a.idioma:hover { border-color: var(--sobre-vinho); }

/* Botão do menu no celular: MENU em letras pequenas e espaçadas, com três linhas de tamanhos diferentes;
   aberto, vira FECHAR com um X */
.menu-botao {
  display: none;
  align-items: center;
  gap: 12px;
  min-height: 44px;
  padding: 0 0 0 6px;
  font-family: var(--fonte-texto);
  font-size: 0.75rem;
  font-weight: 600;
  line-height: 1;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: var(--sobre-vinho);
  background: transparent;
  border: 0;
  cursor: pointer;
}
.ham { display: grid; gap: 5px; justify-items: end; }
.ham i { display: block; width: 22px; height: 1.5px; border-radius: 2px; background: currentColor; transition: transform 200ms ease, opacity 200ms ease, width 200ms ease; }
.ham i:nth-child(2) { width: 15px; }
.ham i:nth-child(3) { width: 9px; }
.menu-botao[aria-expanded="false"]:hover .ham i { width: 22px; }
.menu-botao[aria-expanded="true"] .ham i:nth-child(1) { width: 18px; transform: translateY(6.5px) rotate(45deg); }
.menu-botao[aria-expanded="true"] .ham i:nth-child(2) { opacity: 0; }
.menu-botao[aria-expanded="true"] .ham i:nth-child(3) { width: 18px; transform: translateY(-6.5px) rotate(-45deg); }

/* ---------- Abertura ---------- */

.abertura { padding-block: clamp(36px, 6vw, 72px) clamp(40px, 6vw, 64px); }
.abertura .conteiner {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 300px);
  gap: clamp(28px, 5vw, 64px);
  align-items: center;
}
/* Selo: a ilustração do logo num círculo rosado claro, à direita do texto */
.abertura-selo {
  justify-self: end;
  width: 100%;
  max-width: 300px;
  aspect-ratio: 1;
  border-radius: 50%;
  background: var(--papel-rosado);
  box-shadow: inset 0 0 0 1px var(--linha);
  display: grid;
  place-items: center;
}
.abertura-selo img { display: block; width: 74%; height: auto; }
.abertura h1 {
  font-family: var(--fonte-titulo);
  font-style: italic;
  font-weight: 600;
  font-size: var(--t-7);
  line-height: 1.04;
  letter-spacing: -0.01em;
  color: var(--vinho);
  margin: 0;
  text-wrap: balance;
}
.frase {
  font-family: var(--fonte-titulo);
  font-style: italic;
  font-size: var(--t-5);
  line-height: 1.3;
  color: var(--vinho);
  margin: 14px 0 30px;
  text-wrap: balance;
  max-width: 30ch;
}
.rotulo {
  font-family: var(--fonte-texto);
  font-size: var(--t-1);
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.12em;
  color: var(--vermelho);
  margin: 0 0 8px;
}
.quem-somos p { font-size: var(--t-4); line-height: 1.55; margin: 0; max-width: 58ch; text-wrap: pretty; }

/* ---------- Faixa de seção ---------- */

.faixa { background: var(--vinho); color: var(--sobre-vinho); }
.faixa h2 {
  font-family: var(--fonte-titulo);
  font-style: italic;
  font-weight: 500;
  font-size: var(--t-6);
  line-height: 1.15;
  margin: 0;
  padding-block: 26px 28px;
}

/* ---------- Notícias ---------- */

.noticia {
  display: grid;
  grid-template-columns: 150px minmax(0, 1fr) minmax(0, 360px);
  grid-template-areas:
    "data cabeca cabeca"
    "data texto  folders"
    "data fotos  fotos";
  grid-template-rows: auto auto auto;
  column-gap: clamp(24px, 3.5vw, 48px);
  row-gap: 18px;
  padding-block: 44px;
  border-top: 1px solid var(--linha);
}
.noticia:first-child { border-top: 0; }
.noticia.sem-midia {
  grid-template-areas:
    "data cabeca cabeca"
    "data texto  texto";
  grid-template-rows: auto auto;
}
.noticia.sem-fotos {
  grid-template-areas:
    "data cabeca cabeca"
    "data texto  folders";
  grid-template-rows: auto auto;
}

.data {
  grid-area: data;
  align-self: start;
  position: sticky;
  top: calc(var(--barra-h) + 24px);
  margin: 0;
  padding-top: 14px;
  border-top: 3px solid var(--vinho);
  font-family: var(--fonte-texto);
  color: var(--vinho);
}
.data .dm {
  display: block;
  font-size: var(--t-1);
  font-weight: 700;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--vermelho);
  white-space: nowrap;
}
.data .ano {
  display: block;
  margin-top: 4px;
  font-size: 2.125rem;
  font-weight: 600;
  line-height: 1;
  letter-spacing: -0.01em;
  font-variant-numeric: tabular-nums lining-nums;
}
.data:empty { border-top-color: var(--linha); }
.data.intervalo .dm { text-transform: none; }

.cabeca { grid-area: cabeca; }
.cabeca h3 {
  font-family: var(--fonte-titulo);
  font-weight: 600;
  font-size: clamp(1.625rem, 2.8vw, 2.0625rem);
  line-height: 1.18;
  color: var(--vinho);
  margin: 0;
  text-wrap: balance;
}
.cabeca h3 em { font-weight: 500; }
.local {
  font-family: var(--fonte-titulo);
  font-style: italic;
  font-size: var(--t-4);
  color: var(--marrom);
  margin: 4px 0 0;
}

.texto { grid-area: texto; min-width: 0; }
.texto p { margin: 0 0 16px; max-width: 64ch; text-wrap: pretty; }
.texto p:last-child { margin-bottom: 0; }
/* Links no meio do texto: cor do texto com sublinhado fino terracota */
.texto a:not(.ver-site),
.sub-texto a:not(.midia-item) {
  color: inherit;
  text-decoration-color: var(--terracota);
  text-decoration-thickness: 1.5px;
  text-underline-offset: 4px;
}
.texto a:not(.ver-site):hover,
.sub-texto a:not(.midia-item):hover { color: var(--vermelho); }
.ver-site {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  margin-top: 12px;
  padding: 9px 18px 9px 20px;
  border: 1px solid var(--vinho);
  border-radius: 999px;
  color: var(--vinho);
  font-weight: 600;
  font-size: var(--t-2);
  line-height: 1.3;
  text-decoration: none;
  letter-spacing: 0.01em;
  transition: background-color 150ms ease, color 150ms ease;
}
.ver-site:hover { background: var(--vinho); color: var(--sobre-vinho); }
.ver-site span { transition: transform 150ms ease; }
.ver-site:hover span { transform: translateX(3px); }

.midia {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-end;
  gap: 12px;
  min-width: 0;
}
.midia.folders { grid-area: folders; align-self: start; gap: 8px; }
/* Fotos no tamanho do arquivo, numa faixa embaixo do texto */
.midia.fotos { grid-area: fotos; align-content: flex-start; gap: 8px; margin-top: 6px; }
.midia-item {
  display: block;
  flex: none;
  max-width: 100%;
  line-height: 0;
  border-radius: 2px;
  background: var(--papel-rosado);
  transition: transform 150ms ease, box-shadow 150ms ease;
}
.midia-item img { display: block; max-width: 100%; height: auto; }
.midia.folders .midia-item {
  background: var(--papel);
  border: 1px solid var(--linha);
  box-shadow: 0 1px 2px var(--sombra), 0 10px 18px -12px var(--sombra);
}
.midia.fotos .midia-item img { border-radius: 2px; }
.midia-item:hover { transform: translateY(-2px); }
.midia.folders .midia-item:hover { box-shadow: 0 2px 4px var(--sombra), 0 14px 22px -12px var(--sombra); }

/* Lista de palestras da Amoris Laetitia */
.palestras {
  list-style: none;
  counter-reset: palestra;
  margin: 8px 0 0;
  padding: 0;
  columns: 2 300px;
  column-gap: 40px;
}
.palestras li {
  counter-increment: palestra;
  break-inside: avoid;
  display: grid;
  grid-template-columns: 2.2em minmax(0, 1fr);
  padding-block: 9px;
  border-bottom: 1px solid var(--linha);
}
.palestras li::before {
  content: counter(palestra);
  font-variant-numeric: tabular-nums;
  font-size: var(--t-1);
  color: var(--tinta-suave);
  padding-top: 3px;
}
.palestras strong { font-weight: 700; color: var(--tinta); }
.palestras .det { display: block; grid-column: 2; font-size: var(--t-2); color: var(--tinta-suave); line-height: 1.45; }

/* ---------- Rodapé ---------- */

.rodape {
  background: var(--vinho-profundo);
  color: var(--sobre-vinho-suave);
  padding-block: 44px calc(44px + env(safe-area-inset-bottom, 0px));
}
.rodape .conteiner {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  gap: 28px 48px;
}
.rodape-marca {
  font-family: var(--fonte-titulo);
  font-style: italic;
  font-size: 1.6rem;
  color: var(--sobre-vinho);
  margin: 0 0 6px;
}
.rodape p { margin: 0; max-width: 46ch; }
.rodape .rotulo { color: var(--sobre-vinho-suave); opacity: 0.85; }
.rodape a { color: var(--sobre-vinho); font-weight: 600; overflow-wrap: anywhere; }

/* ---------- Visor de imagens ---------- */

.visor {
  border: 0;
  padding: 0;
  background: transparent;
  max-width: 100vw;
  max-height: 100vh;
  width: 100vw;
  height: 100vh;
  color: var(--sobre-vinho);
}
.visor::backdrop { background: var(--veu); }
.visor[open] { display: grid; place-items: center; }
.visor figure {
  margin: 0;
  display: grid;
  justify-items: center;
  gap: 12px;
  padding: 56px 16px 24px;
  max-width: 100%;
}
.visor img {
  display: block;
  max-width: min(92vw, 1100px);
  max-height: 76vh;
  width: auto;
  height: auto;
  background: var(--papel);
  box-shadow: 0 20px 50px -20px var(--veu);
}
.visor figcaption { font-size: var(--t-2); text-align: center; max-width: 60ch; color: var(--sobre-vinho-suave); }
.visor-botoes { display: flex; gap: 10px; }
.visor button {
  font: inherit;
  font-size: var(--t-2);
  font-weight: 600;
  color: var(--sobre-vinho);
  background: transparent;
  border: 1px solid var(--sobre-vinho-suave);
  border-radius: 999px;
  padding: 8px 18px;
  cursor: pointer;
}
.visor button:hover { background: var(--vinho); border-color: var(--vinho); }
.visor .visor-fechar { position: fixed; top: calc(14px + env(safe-area-inset-top, 0px)); right: 16px; }

/* Aviso curto (usado na amostra) */
.aviso {
  position: fixed;
  left: 50%;
  bottom: calc(20px + env(safe-area-inset-bottom, 0px));
  transform: translateX(-50%);
  z-index: 60;
  background: var(--tinta);
  color: var(--papel);
  padding: 12px 18px;
  border-radius: 6px;
  font-size: var(--t-2);
  max-width: calc(100vw - 32px);
  box-shadow: 0 10px 30px -10px var(--sombra);
}

/* ---------- Telas menores ---------- */

@media (max-width: 900px) {
  .noticia,
  .noticia.sem-midia,
  .noticia.sem-fotos {
    grid-template-columns: minmax(0, 1fr);
    grid-template-areas: "data" "cabeca" "folders" "texto" "fotos";
    grid-template-rows: auto;
    padding-block: 36px;
  }
  .noticia.sem-midia { grid-template-areas: "data" "cabeca" "texto"; }
  .noticia.sem-fotos { grid-template-areas: "data" "cabeca" "folders" "texto"; }
  .data {
    position: static;
    display: inline-flex;
    justify-self: start;
    align-items: baseline;
    gap: 8px;
    padding-top: 10px;
  }
  .data .ano {
    margin-top: 0;
    font-size: var(--t-1);
    font-weight: 700;
    letter-spacing: 0.14em;
  }
  .data:empty { display: none; }
}

@media (max-width: 900px) {
  .abertura .conteiner { grid-template-columns: minmax(0, 1fr); }
  .abertura-selo { order: -1; justify-self: start; max-width: 220px; }
}

@media (max-width: 720px) {
  .abertura-selo { max-width: 200px; }
  .frase { margin-bottom: 24px; }
  .quem-somos p { font-size: var(--t-3); }
}

/* Celular e tablet estreito: barra numa linha só, com botão Menu que abre a lista de links */
@media (max-width: 860px) {
  :root { --barra-h: 60px; }
  .marca { font-size: 1.2rem; }
  .js .menu-botao { display: inline-flex; }
  .js .barra nav {
    display: none;
    position: absolute;
    top: 100%;
    left: 0;
    right: 0;
    flex-direction: column;
    align-items: stretch;
    gap: 2px;
    padding: 8px var(--gutter) 18px;
    background: var(--vinho);
    border-top: 1px solid var(--vidro);
    box-shadow: 0 18px 30px -18px var(--sombra-barra);
  }
  .js .barra nav.aberto { display: flex; }
  .js .barra nav a { padding: 12px 14px; border-radius: 10px; font-size: var(--t-3); }
  .js .barra nav a.idioma { margin: 10px 0 0; text-align: center; }
  /* sem JavaScript, os links continuam abertos embaixo do nome */
  html:not(.js) .barra .conteiner { flex-direction: column; align-items: flex-start; gap: 4px; padding-block: 10px 8px; }
  html:not(.js) .barra nav { flex-wrap: wrap; margin-inline: -15px; }
  html:not(.js) .barra { position: relative; }
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  .barra nav a, .ham i { transition: none; }
  .midia-item, .ver-site span { transition: none; }
  .midia-item:hover { transform: none; }
}

/* ---------- Sub-sites dos seminários ---------- */

.sub-cabeca {
  background: var(--papel-rosado);
  border-bottom: 1px solid var(--linha);
  padding-block: clamp(28px, 5vw, 52px) 0;
}
.sub-meta {
  margin: 0 0 12px;
  padding-top: 12px;
  border-top: 3px solid var(--vinho);
  display: inline-block;
  font-size: var(--t-1);
  font-weight: 700;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--vermelho);
}
.sub-cabeca h1 {
  font-family: var(--fonte-titulo);
  font-weight: 600;
  font-size: clamp(1.875rem, 4.2vw, 2.875rem);
  line-height: 1.12;
  color: var(--vinho);
  margin: 0;
  text-wrap: balance;
}
.sub-cabeca h1 em { font-weight: 500; }
.abas {
  display: flex;
  flex-wrap: wrap;
  gap: 0 28px;
  margin-top: 26px;
}
.abas a {
  padding-block: 12px 10px;
  font-weight: 600;
  font-size: var(--t-2);
  color: var(--tinta-suave);
  text-decoration: none;
  border-bottom: 3px solid transparent;
}
.abas a:hover { color: var(--vinho); border-bottom-color: var(--linha); }
.abas a[aria-current] { color: var(--vinho); border-bottom-color: var(--vinho); }
.aba-icone { display: none; }

/* Versão com as abas juntas (cada seminário numa página só): as abas viram atalhos fixos embaixo da barra */
html.pagina-unica { scroll-padding-top: calc(var(--barra-h) + 72px); }
.pagina-unica .sub-cabeca { border-bottom: 0; padding-bottom: 4px; }
.abas-faixa {
  position: sticky;
  top: calc(env(safe-area-inset-top, 0px) + var(--barra-h));
  z-index: 15;
  background: var(--papel-rosado);
  border-bottom: 1px solid var(--linha);
}
.pagina-sub .abas-faixa .conteiner { max-width: calc(800px + 2 * var(--gutter)); }
.abas-faixa .abas { margin-top: 0; }
.parte + .parte { margin-top: 64px; }

/* Cabeçalho e texto dos sub-sites no meio da tela, na largura de leitura */
.pagina-sub .sub-cabeca .conteiner,
.pagina-sub .sub-conteudo .conteiner { max-width: calc(800px + 2 * var(--gutter)); }

.sub-conteudo { padding-block: 40px 72px; }
.sub-texto { max-width: 800px; min-width: 0; }
.sub-texto > :first-child { margin-top: 0; }
.sub-texto p { margin: 0 0 16px; max-width: 66ch; text-wrap: pretty; overflow-wrap: break-word; }
.sub-texto .destaque {
  font-family: var(--fonte-titulo);
  font-style: italic;
  font-size: var(--t-4);
  line-height: 1.45;
  color: var(--vinho);
  margin-bottom: 22px;
}
.sub-texto h2.secao {
  font-family: var(--fonte-titulo);
  font-style: italic;
  font-weight: 500;
  font-size: var(--t-5);
  line-height: 1.2;
  color: var(--vinho);
  margin: 48px 0 16px;
  padding-top: 14px;
  border-top: 3px solid var(--vinho);
  text-wrap: balance;
}
.sub-texto h2.secao:first-child { margin-top: 0; }
.sub-texto h3 {
  font-family: var(--fonte-titulo);
  font-weight: 600;
  font-size: var(--t-4);
  line-height: 1.25;
  color: var(--vinho);
  margin: 32px 0 8px;
  text-wrap: balance;
}
.sub-texto h4 {
  font-family: var(--fonte-texto);
  font-weight: 700;
  font-size: var(--t-3);
  line-height: 1.35;
  color: var(--tinta);
  margin: 28px 0 6px;
  text-wrap: balance;
}
.sub-texto ul, .sub-texto ol { margin: 0 0 16px; padding-left: 1.3em; }
.sub-texto .midia { margin: 10px 0 26px; gap: 8px; }
.sub-texto .midia + .midia { margin-top: -18px; }
.sub-texto .midia .midia-item { background: var(--papel); border: 1px solid var(--linha); }
.midia-externa, .logo-img { display: inline-block; line-height: 0; }
.sub-texto .endereco { line-height: 1.55; }

/* Programação */
.sub-texto ul.agenda { list-style: none; margin: 8px 0 26px; padding: 0; border-top: 1px solid var(--linha); max-width: 620px; }
.agenda li {
  display: grid;
  grid-template-columns: 8.5em minmax(0, 1fr);
  gap: 14px;
  padding-block: 9px;
  border-bottom: 1px solid var(--linha);
}
.agenda .hora { font-variant-numeric: tabular-nums; color: var(--tinta-suave); font-size: var(--t-2); padding-top: 2px; white-space: nowrap; }
.agenda strong { color: var(--vinho); }
.agenda .obs { display: block; font-size: var(--t-2); color: var(--tinta-suave); }
.agenda .atividade { min-width: 0; overflow-wrap: anywhere; }
.dias {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 300px), 1fr));
  gap: 8px 40px;
  margin: 12px 0 26px;
}
.dia { min-width: 0; }
.dia h4 { margin-top: 0; font-size: var(--t-2); letter-spacing: 0.08em; text-transform: uppercase; color: var(--vermelho); }

/* Créditos (realização, apoio, promoção) */
.creditos { margin: 8px 0 26px; }
.creditos .midia { margin: 6px 0 6px; }
.creditos-colunas {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 180px), 1fr));
  gap: 24px;
  padding: 20px 0;
  border-top: 1px solid var(--linha);
  border-bottom: 1px solid var(--linha);
}
.credito p { margin: 0 0 6px; }

/* Imagem que ainda vai chegar no pacote do Instinct: quadro rosado com ícone de imagem e a legenda */
.ph {
  display: inline-grid;
  place-items: center;
  align-content: center;
  gap: 6px;
  max-width: 100%;
  padding: 4px;
  background: var(--papel-rosado);
  border-radius: 6px;
  color: var(--tinta-suave);
  font-size: 0.75rem;
  line-height: 1.2;
  text-align: center;
  overflow: hidden;
}
.ph::before {
  content: "";
  width: 22px;
  height: 22px;
  opacity: 0.6;
  background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%236d5a56' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='4' width='18' height='16' rx='2'/%3E%3Ccircle cx='9' cy='10' r='1.8'/%3E%3Cpath d='M21 16l-5-5-9 9'/%3E%3C/svg%3E") center / contain no-repeat;
}

@media (max-width: 900px) {
  .abas { gap: 0 20px; }
}

/* Celular: as abas viram uma linha de ícones com o nome embaixo, todas cabendo na largura da tela */
@media (max-width: 680px) {
  .abas {
    display: grid;
    grid-auto-flow: column;
    grid-auto-columns: minmax(0, 1fr);
    gap: 0;
    margin: 18px calc(-1 * var(--gutter)) 0;
  }
  .abas a {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 5px;
    min-width: 0;
    padding: 10px 2px 8px;
    font-size: min(0.75rem, calc((100vw / var(--n, 6) - 4px) / 6.1));
    line-height: 1.15;
    text-align: center;
  }
  .aba-icone { display: block; width: 22px; height: 22px; }
  .aba-icone svg { display: block; width: 100%; height: 100%; }
  html.pagina-unica { scroll-padding-top: calc(var(--barra-h) + 88px); }
  .abas-faixa .abas { margin: 0 calc(-1 * var(--gutter)); }
}

@media (max-width: 560px) {
  .agenda li { grid-template-columns: 7.2em minmax(0, 1fr); gap: 10px; }
}

/* Mapa do Google embutido (aba Local e mapa) */
.mapa {
  margin: 8px 0 14px;
  max-width: 680px;
  aspect-ratio: 16 / 10;
  border: 1px solid var(--linha);
  background: var(--papel-rosado);
}
.mapa iframe { display: block; width: 100%; height: 100%; border: 0; }
