:root { --md-code-font: "JetBrains Mono", monospace; }
.md-typeset table:not([class]) { font-size: .78rem; }
.md-typeset table:not([class]) td strong { color: var(--md-accent-fg-color); }
.filtro {
  width: 100%; padding: .6rem .8rem; margin: .4rem 0 1rem;
  border: 1px solid var(--md-default-fg-color--lightest); border-radius: 6px;
  background: var(--md-code-bg-color); color: var(--md-default-fg-color); font-size: .8rem;
}
.cards { display: grid; grid-template-columns: repeat(auto-fit, minmax(14rem, 1fr)); gap: 1rem; }
.cards a.card {
  display: block; padding: 1rem; border-radius: 8px; text-decoration: none;
  border: 1px solid var(--md-default-fg-color--lightest); color: inherit;
}
.cards a.card:hover { border-color: var(--md-accent-fg-color); }
.cards .card strong { display: block; font-size: .95rem; margin-bottom: .3rem; }
.md-typeset table:not([class]) td, .md-typeset table:not([class]) th { padding: .45em .8em; white-space: nowrap; }
.md-typeset table:not([class]) td:nth-child(5) { white-space: normal; }

/* ---------- Paleta quente (entardecer) ---------- */
:root {
  --md-primary-fg-color: #3a1d33;
  --md-primary-fg-color--light: #5a2f5e;
  --md-primary-fg-color--dark: #24121f;
  --md-accent-fg-color: #f28f3b;
  --md-accent-fg-color--transparent: rgba(242,143,59,.12);
}
[data-md-color-scheme="default"] {
  --md-default-bg-color: #fffaf3;
  --md-typeset-a-color: #b5462f;
}
[data-md-color-scheme="slate"] {
  --md-hue: 320;
  --md-default-bg-color: #1f1620;
  --md-typeset-a-color: #ffb067;
}
.md-header, .md-tabs { background: linear-gradient(90deg, #24121f, #3a1d33 55%, #6e2f45); }
.md-typeset h1, .md-typeset h2 { color: var(--md-accent-fg-color); }
.md-typeset table:not([class]) th { background: var(--md-accent-fg-color--transparent); }
.md-footer { background: #24121f; }
.md-footer-meta { background: #1a0e1c; }

/* ---------- Capa da página inicial ---------- */
.hero {
  position: relative; margin: -1.2rem -1.2rem 2rem; min-height: 22rem;
  border-radius: 0 0 14px 14px; overflow: hidden;
  background: url("../assets/img/hero.svg") center 70% / cover no-repeat, #5a2f5e;
  display: flex; align-items: flex-start;
}
.hero::after {
  content: ""; position: absolute; inset: 0;
  background: linear-gradient(90deg, rgba(27,31,59,.78) 0%, rgba(27,31,59,.35) 45%, rgba(0,0,0,0) 70%);
}
.hero-txt { position: relative; z-index: 1; padding: 2.4rem 2rem; max-width: 30rem; color: #fff3e0; }
.hero-txt p { font-size: .9rem; color: #ffe7c7; }
.hero-call { display: block; font-size: 2.8rem; font-weight: 800; letter-spacing: .12em; color: #ffc857; line-height: 1; text-shadow: 0 2px 18px rgba(0,0,0,.45); }
.hero-sub { display: block; font-size: 1.05rem; letter-spacing: .25em; text-transform: uppercase; color: #ffd9b0; margin: .5rem 0 1rem; }
.hero .md-button { color: #fff3e0; border-color: #ffc857; margin: .3rem .4rem 0 0; }
.hero .md-button--primary { background: #f28f3b; border-color: #f28f3b; color: #24121f; }
.hero .md-button:hover { background: #ffc857; border-color: #ffc857; color: #24121f; }
@media (max-width: 600px) {
  .hero { margin: -1rem -.8rem 1.5rem; min-height: 19rem; border-radius: 0; }
  .hero::after { background: linear-gradient(180deg, rgba(27,31,59,.8), rgba(27,31,59,.2) 75%); }
  .hero-txt { padding: 1.6rem 1.2rem; }
  .hero-call { font-size: 2.2rem; }
}
.cards a.card { background: var(--md-accent-fg-color--transparent); }
.md-typeset .md-button { color: var(--md-accent-fg-color); border-color: var(--md-accent-fg-color); }
.md-typeset .md-button:hover { background: var(--md-accent-fg-color); color: #24121f; }
.md-typeset .hero .md-button { color: #fff3e0; border-color: #ffc857; }
.md-typeset .hero .md-button--primary { background: #f28f3b; border-color: #f28f3b; color: #24121f; }
.md-typeset .hero .md-button:hover { background: #ffc857; border-color: #ffc857; color: #24121f; }

/* ---------- Busca de repetidoras ---------- */
.rep-app { margin: 1.2rem 0; padding: 1rem 1.1rem; border-radius: 10px;
  border: 1px solid var(--md-default-fg-color--lightest); background: var(--md-accent-fg-color--transparent); }
.rep-ctrl { display: flex; flex-wrap: wrap; gap: .8rem 1.2rem; align-items: flex-end; }
.rep-ctrl label { display: flex; flex-direction: column; font-size: .7rem; font-weight: 700;
  text-transform: uppercase; letter-spacing: .06em; color: var(--md-accent-fg-color); gap: .3rem; }
.rep-ctrl select { font-size: .85rem; padding: .45rem .6rem; border-radius: 6px; min-width: 9rem;
  border: 1px solid var(--md-default-fg-color--lighter); background: var(--md-default-bg-color); color: var(--md-default-fg-color); }
#rep-regiao { min-width: 16rem; }
.md-typeset .rep-ctrl .md-button { margin: 0; padding: .45em 1em; font-size: .75rem; }
.rep-app .filtro { margin: 1rem 0 .4rem; }
.rep-resumo { font-size: .8rem; margin: .2rem 0 .6rem; color: var(--md-default-fg-color--light); }
.rep-tabela { overflow-x: auto; }
.md-typeset .rep-tabela table { display: table; width: 100%; font-size: .78rem; border-collapse: collapse; }
.md-typeset .rep-tabela th { text-align: left; padding: .5em .8em; white-space: nowrap;
  background: var(--md-accent-fg-color--transparent); }
.md-typeset .rep-tabela td { padding: .45em .8em; white-space: nowrap; border-top: 1px solid var(--md-default-fg-color--lightest); }
.md-typeset .rep-tabela td:nth-child(5) { white-space: normal; }
.md-typeset .rep-tabela tr.vhf td strong { color: var(--md-accent-fg-color); }
.md-typeset .rep-tabela tr.uhf td strong { color: #e86a8a; }
.md-typeset .rep-tabela td:last-child { text-align: right; }
@media (max-width: 600px) { #rep-regiao { min-width: 100%; } .rep-ctrl label:first-child { width: 100%; } }
@media (max-width: 600px) { .md-typeset .rep-tabela td:nth-child(5) { white-space: nowrap; } }

/* ---------- Brasão ---------- */
.hero { align-items: center; }
.hero-brasao { position: relative; z-index: 1; height: 13rem; width: auto; margin: 1.5rem 0 1.5rem 2.2rem;
  filter: drop-shadow(0 6px 18px rgba(0,0,0,.55)); flex-shrink: 0; }
.hero-txt { padding-left: 1.6rem; }
.hero-call { font-size: 2.3rem; letter-spacing: .04em; }
.hero-sub { font-size: .85rem; letter-spacing: .18em; }
.md-header__button.md-logo img { height: 1.9rem; width: auto; }
.brasao-sobre { text-align: center; margin: 1rem 0 2rem; }
.brasao-sobre img { border-radius: 14px; box-shadow: 0 8px 28px rgba(0,0,0,.35); }
@media (max-width: 760px) {
  .hero { flex-direction: column; align-items: center; text-align: center; }
  .hero-brasao { height: 12rem; margin: 1.4rem 0 0; }
  .hero-txt { padding: .6rem 1.2rem 1.6rem; }
  .hero::after { background: linear-gradient(180deg, rgba(27,31,59,.55), rgba(27,31,59,.75) 60%, rgba(27,31,59,.4)); }
  .hero-call { font-size: 1.8rem; }
}
.md-typeset .hero-brasao { height: 15rem; width: auto; max-width: none; }
@media (max-width: 760px) { .md-typeset .hero-brasao { height: 11rem; } }

/* ---------- Ficha de roteiro ---------- */
.ficha table { border-left: 4px solid var(--md-accent-fg-color); }
.ficha table thead { display: none; }
.ficha td:first-child { white-space: nowrap; color: var(--md-accent-fg-color); }
.md-typeset .ficha table:not([class]) td:nth-child(2) { white-space: normal; }

/* ---------- Galeria e capa de roteiro ---------- */
.md-typeset .capa-roteiro { width: 100%; border-radius: 12px; margin: .4rem 0 1rem; box-shadow: 0 6px 24px rgba(0,0,0,.3); }
.galeria p { display: grid; grid-template-columns: repeat(auto-fill, minmax(10rem, 1fr)); gap: .6rem; margin: 0; }
.galeria a { display: block; overflow: hidden; border-radius: 8px; aspect-ratio: 1 / 1; }
.md-typeset .galeria img { width: 100%; height: 100%; object-fit: cover; transition: transform .25s; }
.galeria a:hover img { transform: scale(1.06); }
.cards a.card-foto img { width: 100%; aspect-ratio: 16 / 9; object-fit: cover; border-radius: 6px; margin-bottom: .6rem; }
.md-typeset .tabela-livre table:not([class]) td, .md-typeset .tabela-livre table:not([class]) th { white-space: normal; }
.md-typeset .tabela-livre td:nth-child(2) { white-space: nowrap !important; }
.md-typeset .capa-roteiro { max-height: 26rem; object-fit: cover; }

/* ---------- Campings ---------- */
.camp-form { display: flex; gap: .6rem; align-items: center; margin-top: 1rem; }
.camp-form .filtro { margin: 0; flex: 1; }
.md-typeset .camp-form .md-button { margin: 0; padding: .45em 1.2em; font-size: .75rem; }
.camp-mapa { height: 26rem; border-radius: 10px; margin: .4rem 0 1rem; overflow: hidden;
  border: 1px solid var(--md-default-fg-color--lightest); background: var(--md-code-bg-color); z-index: 0; position: relative; }
.camp-aviso { padding: 1rem; font-size: .8rem; }
.md-typeset ul.camp-lista { list-style: none; margin: 0; padding: 0; display: grid; gap: .5rem; }
.md-typeset ul.camp-lista li.camp-item { margin: 0; padding: .7rem .9rem; border-radius: 8px; cursor: pointer;
  border: 1px solid var(--md-default-fg-color--lightest); background: var(--md-default-bg-color); }
.camp-item:hover { border-color: var(--md-accent-fg-color) !important; }
.camp-item.sem-nome { opacity: .7; }
.camp-topo { display: flex; justify-content: space-between; gap: 1rem; font-size: .85rem; }
.camp-dist { color: var(--md-accent-fg-color); font-weight: 700; white-space: nowrap; }
.camp-info { font-size: .72rem; color: var(--md-default-fg-color--light); margin-top: .2rem; }
.camp-tag { display: inline-block; font-size: .65rem; padding: .05rem .45rem; margin: .15rem .25rem 0 0; border-radius: 99px;
  background: var(--md-accent-fg-color--transparent); color: var(--md-accent-fg-color); }
.camp-acoes { font-size: .72rem; margin-top: .35rem; }
.camp-rota { font-weight: 700; }
.leaflet-popup-content { font-size: .75rem; }
@media (max-width: 600px) { .camp-mapa { height: 20rem; } #camp-regiao { min-width: 100%; } }
.md-typeset .video-roteiro { width: 100%; border-radius: 12px; margin: 1rem 0 .2rem; background: #000; box-shadow: 0 6px 24px rgba(0,0,0,.3); }

/* ---------- Consulta de indicativos ---------- */
.ind-card { margin-top: 1rem; padding: 1rem 1.2rem; border-radius: 10px; background: var(--md-default-bg-color);
  border: 1px solid var(--md-default-fg-color--lightest); border-left: 4px solid var(--md-accent-fg-color); }
.ind-call { font-size: 1.8rem; font-weight: 800; letter-spacing: .08em; color: var(--md-accent-fg-color); font-family: var(--md-code-font-family); }
.ind-extra { font-size: 1.1rem; opacity: .7; }
.ind-titulo { font-weight: 700; margin: .1rem 0 .6rem; }
.ind-card dl { display: grid; grid-template-columns: max-content 1fr; gap: .25rem 1rem; margin: 0; font-size: .8rem; }
.ind-card dt { color: var(--md-default-fg-color--light); }
.md-typeset .ind-card dd { margin: 0; }
.ind-alerta { color: #e86a8a; font-size: .78rem; margin: .5rem 0 0; }
.ind-nota { font-size: .75rem; margin: .5rem 0 0; color: var(--md-default-fg-color--light); }
.ind-sub { font-size: .75rem; margin: 1rem 0 .4rem; color: var(--md-default-fg-color--light); }
.ind-links { display: grid; grid-template-columns: repeat(auto-fit, minmax(11rem, 1fr)); gap: .5rem; }
.md-typeset .ind-links a { display: block; padding: .6rem .8rem; border-radius: 8px; font-size: .75rem;
  border: 1px solid var(--md-default-fg-color--lightest); color: var(--md-default-fg-color); }
.md-typeset .ind-links a:hover { border-color: var(--md-accent-fg-color); }
.ind-links strong { display: block; color: var(--md-accent-fg-color); }
.ind-links span { color: var(--md-default-fg-color--light); }
/* Vídeo em pé (celular): não ocupa a tela inteira no computador */
.md-typeset .video-roteiro.video-vertical { display: block; width: auto; max-width: 100%; max-height: 80vh; margin-left: auto; margin-right: auto; aspect-ratio: 9 / 16; }
