@font-face { font-family: 'Inter SB'; src: url('/assets/site-d/letras/inter.woff2') format('woff2'); font-weight: 100 900; font-display: swap; }
@font-face { font-family: 'Archivo SB'; src: url('/assets/site-d/letras/archivo.woff2') format('woff2'); font-weight: 300 900; font-stretch: 62% 125%; font-display: swap; }

[data-tema=d] {
  --sbd-abismo: #03070F; --sbd-noite: #060E1A; --sbd-sup: #0B1120; --sbd-elev: #0B1929;
  --sbd-espuma: #F1F5F9; --sbd-fraco: #94A3B8; --sbd-claro: #CBD5E1; --sbd-linha: rgba(255,255,255,.1);
  --sbd-ciano: #22D3EE; --sbd-ciano-f: #06B6D4; --sbd-ciano-e: #0891B2;
  --sbd-vazia: #34D399; --sbd-cheia: #60A5FA;
  --sbd-ease: cubic-bezier(.16,1,.3,1); --sbd-ease-io: cubic-bezier(.77,0,.18,1);
  --sbd-vidro: linear-gradient(180deg, rgba(11,17,32,.62), rgba(11,17,32,.56)); /* a barra final da d2 (d2.css:722) */
  --sbd-vidro-claro: rgba(6,14,26,.50); /* o vidro claro da d2 (d2.css:1454), blur 20 */
  --sbd-letra: 'Inter SB', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
}
[data-tema=d] body { font-family: var(--sbd-letra); }

[data-tema=d].lenis, [data-tema=d].lenis body { height: auto; }
[data-tema=d].lenis.lenis-smooth { scroll-behavior: auto !important; }
[data-tema=d].lenis.lenis-smooth [data-lenis-prevent] { overscroll-behavior: contain; }
[data-tema=d].lenis.lenis-stopped { overflow: hidden; }

[data-tema=d] .sbd-barra { position: sticky; top: 12px; z-index: 60; width: min(1120px, calc(100% - 24px)); margin: 12px auto 0; font-family: var(--sbd-letra); }
[data-tema=d] .sbd-nav { position: relative; display: flex; align-items: center; gap: 6px; min-height: 64px; padding: 8px 8px 8px 20px; border-radius: 9999px;
  background: var(--sbd-vidro); -webkit-backdrop-filter: blur(26px) saturate(190%) brightness(.92); backdrop-filter: blur(26px) saturate(190%) brightness(.92);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.12), 0 10px 30px -12px rgba(0,0,0,.6); transition: box-shadow .3s var(--sbd-ease); }
[data-tema=d] .sbd-barra.sbd-rolou .sbd-nav { box-shadow: inset 0 1px 0 rgba(255,255,255,.14), 0 16px 40px -14px rgba(0,0,0,.85); }
[data-tema=d] .sbd-brilho { position: absolute; inset: 0; border-radius: inherit; overflow: hidden; pointer-events: none; }
[data-tema=d] .sbd-brilho i { position: absolute; top: 0; bottom: 0; left: 0; width: 22%; background: linear-gradient(100deg, transparent, rgba(255,255,255,.10) 45%, rgba(34,211,238,.14) 55%, transparent); transform: translateX(-120%); }
[data-tema=d] .sbd-nav a { text-decoration: none; }
[data-tema=d] .sbd-nav a:focus-visible, [data-tema=d] .sbd-mais-bt:focus-visible, [data-tema=d] .sbd-rodape a:focus-visible, [data-tema=d] .sbd-mais:focus-visible { outline: 2px solid var(--sbd-ciano); outline-offset: 3px; border-radius: 9999px; }
[data-tema=d] .sbd-marca { position: relative; display: inline-flex; align-items: center; min-height: 44px; color: #fff; font-weight: 800; font-size: 18px; letter-spacing: -.02em; white-space: nowrap; }
[data-tema=d] .sbd-marca b { color: var(--sbd-ciano); font-weight: 800; }
[data-tema=d] .sbd-marca sup { font-size: 8px; opacity: .55; margin-left: 2px; align-self: flex-start; margin-top: 10px; }
[data-tema=d] .sbd-st { position: relative; display: inline-flex; align-items: center; gap: 8px; min-height: 44px; margin-left: 14px; padding: 0 16px; border-radius: 9999px; color: #fff; font-size: 14px; font-weight: 600;
  background: linear-gradient(180deg, rgba(255,255,255,.13), rgba(255,255,255,.05)); box-shadow: inset 0 1px 0 rgba(255,255,255,.42), inset 0 0 0 1px rgba(255,255,255,.08), 0 4px 12px -4px rgba(0,0,0,.6); }
[data-tema=d] .sbd-ponto { width: 7px; height: 7px; flex: none; border-radius: 9999px; background: var(--sbd-vazia); }
[data-tema=d] .sbd-links { display: flex; gap: 2px; margin-left: auto; }
[data-tema=d] .sbd-link { display: inline-flex; align-items: center; min-height: 44px; padding: 0 12px; border-radius: 9999px; font-size: 14px; color: #DCE3EC; transition: color .2s, background-color .2s; }
[data-tema=d] .sbd-link:hover, [data-tema=d] .sbd-link[aria-current] { color: #fff; background: rgba(255,255,255,.06); }

[data-tema=d] .sbd-mais { position: static; }
[data-tema=d] .sbd-mais-bt { display: inline-flex; align-items: center; gap: 8px; min-height: 44px; padding: 0 14px; border-radius: 9999px; list-style: none; cursor: pointer; color: #DCE3EC; font-size: 14px; user-select: none; -webkit-user-select: none; }
[data-tema=d] .sbd-mais-bt::-webkit-details-marker { display: none; }
[data-tema=d] .sbd-mais-bt:hover, [data-tema=d] .sbd-mais[open] > .sbd-mais-bt { color: #fff; background: rgba(255,255,255,.06); }
[data-tema=d] .sbd-painel { position: absolute; top: calc(100% + 10px); right: 0; width: min(840px, calc(100vw - 24px)); max-height: calc(100vh - 110px); max-height: calc(100dvh - 110px); overflow: auto; overscroll-behavior: contain;
  display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.25fr) minmax(0, 1fr) minmax(0, 1fr); gap: 8px 18px; padding: 18px; border-radius: 24px;
  background: rgba(8,13,26,.985); -webkit-backdrop-filter: blur(16px) saturate(160%); backdrop-filter: blur(16px) saturate(160%);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.12), 0 24px 50px -20px rgba(0,0,0,.8); }
[data-tema=d] .sbd-grupo { min-width: 0; }
[data-tema=d] .sbd-grupo-t { margin: 0 0 6px; padding: 0 10px; font-size: 12px; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; color: var(--sbd-ciano); }
[data-tema=d] .sbd-grupo ul { list-style: none; margin: 0; padding: 0; display: grid; gap: 2px; }
[data-tema=d] .sbd-mi { display: flex; flex-direction: column; justify-content: center; min-height: 44px; padding: 6px 10px; border-radius: 14px; color: var(--sbd-espuma); font-size: 14px; line-height: 1.3; }
[data-tema=d] .sbd-mi:hover, [data-tema=d] .sbd-mi[aria-current] { background: rgba(255,255,255,.06); color: #fff; }
[data-tema=d] .sbd-mi-perfil .sbd-mi-t { font-weight: 700; }
[data-tema=d] .sbd-sub { font-size: 12px; color: var(--sbd-fraco); }
[data-tema=d] .sbd-grupo-linguas ul { grid-template-columns: 1fr; }
[data-tema=d] .sbd-lingua { display: flex; align-items: center; gap: 8px; min-height: 44px; padding: 0 10px; border-radius: 14px; color: var(--sbd-claro); font-size: 14px; }
[data-tema=d] .sbd-lingua b { font-size: 12px; color: var(--sbd-fraco); width: 22px; }
[data-tema=d] .sbd-lingua span { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
[data-tema=d] .sbd-lingua[aria-current] { background: rgba(34,211,238,.10); color: #fff; }

[data-tema=d] .sbd-bt { display: inline-flex; align-items: center; gap: 10px; min-height: 48px; padding: 6px 6px 6px 18px; border-radius: 9999px; font-weight: 700; font-size: 14px; color: #fff;
  background: linear-gradient(135deg, var(--sbd-ciano-e), var(--sbd-ciano-f)); box-shadow: 0 4px 20px rgba(6,182,212,.22); transition: transform .16s var(--sbd-ease), box-shadow .3s var(--sbd-ease); white-space: nowrap; }
[data-tema=d] .sbd-bt:hover { color: #fff; box-shadow: 0 8px 28px rgba(6,182,212,.34); }
[data-tema=d] .sbd-bt:active { transform: scale(.97); }
[data-tema=d] .sbd-bt-ic { width: 36px; height: 36px; border-radius: 9999px; display: grid; place-items: center; background: rgba(255,255,255,.18); transition: transform .3s var(--sbd-ease); }
[data-tema=d] .sbd-bt:hover .sbd-bt-ic { transform: translate(2px, -1px) scale(1.05); }
[data-tema=d] .sbd-bt-2 { min-height: 44px; padding: 6px 18px; color: var(--sbd-espuma); background: rgba(6,14,26,.18); box-shadow: inset 0 0 0 1px rgba(255,255,255,.28); }
[data-tema=d] .sbd-bt-2:hover { background: rgba(255,255,255,.08); box-shadow: inset 0 0 0 1px rgba(255,255,255,.4); }

@media (max-width: 980px) {
  [data-tema=d] .sbd-links, [data-tema=d] .sbd-st { display: none; }
  [data-tema=d] .sbd-mais { margin-left: auto; }
  [data-tema=d] .sbd-painel { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  [data-tema=d] .sbd-grupo-linguas ul { grid-template-columns: 1fr 1fr; }
}
@media (max-width: 560px) {
  [data-tema=d] .sbd-barra { top: 8px; margin-top: 8px; width: calc(100% - 16px); }
  [data-tema=d] .sbd-nav { padding-left: 16px; min-height: 60px; gap: 2px; }
  [data-tema=d] .sbd-marca { font-size: 17px; }
  [data-tema=d] .sbd-mais-bt { padding: 0 10px; }
  [data-tema=d] .sbd-mais-bt span { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
  [data-tema=d] .sbd-bt { padding-left: 14px; gap: 8px; }
  [data-tema=d] .sbd-bt-ic { width: 32px; height: 32px; }
  [data-tema=d] .sbd-painel { left: 0; right: 0; width: auto; grid-template-columns: 1fr 1fr; padding: 14px; border-radius: 22px; }
  [data-tema=d] .sbd-grupo-linguas { grid-column: 1 / -1; }
}
@media (max-width: 380px) {
  [data-tema=d] .sbd-bt > span:first-child { font-size: 13px; }
  [data-tema=d] .sbd-painel { grid-template-columns: 1fr; }
}

[data-tema=d] footer.sbd-rodape { position: relative; margin-top: 72px; padding: 64px 0 40px; background: var(--sbd-abismo); border-top: 1px solid var(--sbd-linha); color: var(--sbd-fraco); font-family: var(--sbd-letra); font-size: 14px; overflow: visible; }
[data-tema=d] footer.sbd-rodape::before { content: none; }
[data-tema=d] .sbd-wrap { width: min(1200px, calc(100% - 2 * clamp(16px, 4vw, 48px))); margin-inline: auto; }
[data-tema=d] .sbd-rodape a { color: var(--sbd-claro); text-decoration: none; transition: color .2s; }
[data-tema=d] .sbd-rodape a:hover { color: #fff; }
[data-tema=d] .sbd-rp-topo { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: flex-start; gap: 24px; padding-bottom: 32px; border-bottom: 1px solid var(--sbd-linha); }
[data-tema=d] .sbd-rodape .sbd-marca { color: var(--sbd-espuma); }
[data-tema=d] .sbd-rp-tag { max-width: 360px; margin: 8px 0 14px; color: var(--sbd-fraco); font-size: 14px; line-height: 1.6; }
[data-tema=d] .sbd-pin { display: inline-flex; align-items: center; gap: 6px; padding: 5px 12px; border-radius: 9999px; font-size: 12px; font-weight: 700; color: var(--sbd-ciano); background: rgba(34,211,238,.10); box-shadow: inset 0 0 0 1px rgba(34,211,238,.28); }
[data-tema=d] .sbd-pin svg { width: 12px; height: 12px; }
[data-tema=d] .sbd-rp-lojas { display: flex; flex-wrap: wrap; gap: 10px; }
[data-tema=d] .sbd-rp-cols { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 24px; padding: 32px 0; }
[data-tema=d] .sbd-rp-col h4 { margin: 0 0 14px; font-size: 12px; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; color: var(--sbd-ciano); }
[data-tema=d] .sbd-rp-col ul { list-style: none; margin: 0; padding: 0; display: grid; gap: 4px; }
[data-tema=d] .sbd-rp-col li { display: flex; }
[data-tema=d] .sbd-rl { display: inline-flex; align-items: center; min-height: 32px; font-size: 14px; color: var(--sbd-claro); }
[data-tema=d] .sbd-mais-cb { position: absolute; width: 1px; height: 1px; opacity: 0; pointer-events: none; }
[data-tema=d] .sbd-rodape label.sbd-mais { display: none; align-items: center; justify-content: center; min-height: 44px; margin: 0 0 24px; border-radius: 9999px; box-shadow: inset 0 0 0 1px rgba(148,163,184,.3); color: var(--sbd-claro); font-size: 14px; font-weight: 700; cursor: pointer; }
[data-tema=d] .sbd-rp-linha { display: flex; flex-wrap: wrap; gap: 16px 40px; align-items: center; justify-content: space-between; padding: 24px 0; border-top: 1px solid var(--sbd-linha); }
[data-tema=d] .sbd-rp-linguas { display: flex; flex-wrap: wrap; gap: 4px; }
[data-tema=d] .sbd-rp-linguas a { justify-content: center; min-width: 44px; min-height: 44px; padding: 0 10px; border-radius: 9999px; }
[data-tema=d] .sbd-rp-linguas a[aria-current] { background: rgba(255,255,255,.08); color: #fff; }
[data-tema=d] .sbd-rp-redes { display: flex; flex-wrap: wrap; gap: 4px 20px; margin: 0; }
[data-tema=d] .sbd-rp-redes a { min-height: 44px; }
[data-tema=d] .sbd-rp-parc { display: flex; flex-wrap: wrap; align-items: center; gap: 10px 16px; padding: 0 0 24px; }
[data-tema=d] .sbd-rp-parc > span { font-size: 12px; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; color: var(--sbd-fraco); }
[data-tema=d] .sbd-parceiro { display: inline-flex; align-items: center; justify-content: center; min-height: 44px; padding: 6px 12px; border-radius: 10px; background: #fff; }
[data-tema=d] .sbd-parceiro img { display: block; height: 18px; width: auto; }
[data-tema=d] .sbd-rp-legal { display: flex; flex-wrap: wrap; gap: 4px 20px; align-items: center; padding-top: 20px; border-top: 1px solid var(--sbd-linha); font-size: 12px; line-height: 1.7; color: var(--sbd-fraco); }
[data-tema=d] .sbd-rp-legal sup { font-size: 8px; }
[data-tema=d] .sbd-rp-legal a { display: inline-flex; align-items: center; min-height: 44px; font-size: 12px; color: var(--sbd-fraco); }

@media (max-width: 860px) {
  [data-tema=d] .sbd-rp-cols { grid-template-columns: 1fr 1fr; gap: 28px 16px; }
  [data-tema=d] .sbd-rl { min-height: 44px; }
  [data-tema=d] .sbd-mais-cb:not(:checked) ~ .sbd-wrap .sbd-sec { display: none; }
  [data-tema=d] .sbd-rodape label.sbd-mais { display: flex; }
  [data-tema=d] .sbd-mais-cb:checked ~ .sbd-wrap label.sbd-mais { display: none; }
}

[data-tema=d] .sbd-selo { position: fixed; left: 12px; bottom: 12px; z-index: 70; padding: 8px 14px; border-radius: 9999px; font: 600 12px/1.4 var(--sbd-letra); color: #04222B; background: var(--sbd-ciano); box-shadow: 0 8px 24px rgba(0,0,0,.4); }
[data-tema=d] .sbd-selo a { color: #04222B; text-decoration: underline; }

@media (prefers-reduced-motion: no-preference) {
  [data-tema=d] .sbd-barra.sbd-entra .sbd-nav { animation: sbd-desce 1s var(--sbd-ease) both; }
  [data-tema=d] .sbd-barra.sbd-entra .sbd-brilho i { animation: sbd-brilho 1.8s var(--sbd-ease-io) .5s both; }
  [data-tema=d] .sbd-mais[open] > .sbd-painel { animation: sbd-abre .35s var(--sbd-ease) both; }
}
@keyframes sbd-desce { from { transform: translateY(-40%); opacity: 0; } to { transform: none; opacity: 1; } }
@keyframes sbd-brilho { to { transform: translateX(520%); } }
@keyframes sbd-abre { from { transform: translateY(-6px); opacity: 0; } to { transform: none; opacity: 1; } }

/* O blog ganha o vidro claro da d2 só por CSS, sobre a marcação de hoje: os textos, as ligações e o
   JSON-LD não mudam. Só fundo, borda e desfoque; nenhuma regra mexe em tamanho, ordem ou visibilidade. */
[data-tema=d] .blogx-feat, [data-tema=d] .blogx-schoolday, [data-tema=d] .blogx-tema, [data-tema=d] .bse-section {
  background: var(--sbd-vidro-claro); -webkit-backdrop-filter: blur(20px) saturate(1.4); backdrop-filter: blur(20px) saturate(1.4);
  border-color: rgba(255,255,255,.12); box-shadow: inset 0 1px 0 rgba(255,255,255,.08); }
@media (prefers-reduced-transparency: reduce) {
  [data-tema=d] .blogx-feat, [data-tema=d] .blogx-schoolday, [data-tema=d] .blogx-tema, [data-tema=d] .bse-section { background: rgba(6,14,26,.92); -webkit-backdrop-filter: none; backdrop-filter: none; }
}

/* A INICIAL e o SURF TODAY (15/10): a marcação é a de hoje (os ganchos de JS das seis línguas
   vivem nela), e a pele só a veste. A barra passa a cápsula de vidro da d2, a flutuar; o rodapé
   ganha o fundo da d2. Nenhuma regra esconde, reordena ou troca texto. */
[data-tema=d][data-sbd-molde=inicio] body > nav {
  top: 12px; left: 12px; right: 12px; margin-inline: auto; max-width: 1120px; height: 64px; padding: 0 8px 0 18px;
  border: 0; border-radius: 9999px; font-family: var(--sbd-letra);
  background: var(--sbd-vidro); -webkit-backdrop-filter: blur(26px) saturate(190%) brightness(.92); backdrop-filter: blur(26px) saturate(190%) brightness(.92);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.12), 0 10px 30px -12px rgba(0,0,0,.6); }
[data-tema=d][data-sbd-molde=inicio] footer { background: var(--sbd-abismo); border-top: 1px solid var(--sbd-linha); font-family: var(--sbd-letra); }
[data-tema=d][data-sbd-molde=surf-today] .nav {
  top: 12px; width: min(1120px, calc(100% - 24px)); margin: 12px auto 0; border: 0; border-radius: 28px; font-family: var(--sbd-letra);
  background: var(--sbd-vidro); -webkit-backdrop-filter: blur(26px) saturate(190%) brightness(.92); backdrop-filter: blur(26px) saturate(190%) brightness(.92);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.12), 0 10px 30px -12px rgba(0,0,0,.6); }
@media (max-width: 640px) {
  [data-tema=d][data-sbd-molde=inicio] body > nav { top: 8px; left: 8px; right: 8px; height: 56px; padding: 0 6px 0 12px; }
  [data-tema=d][data-sbd-molde=surf-today] .nav { top: 8px; width: calc(100% - 16px); margin-top: 8px; border-radius: 24px; }
}
@media (prefers-reduced-transparency: reduce) {
  [data-tema=d][data-sbd-molde=inicio] body > nav, [data-tema=d][data-sbd-molde=surf-today] .nav { background: rgba(8,13,26,.97); -webkit-backdrop-filter: none; backdrop-filter: none; }
}

/* O movimento da d2: as secções abaixo da dobra sobem ao entrar no ecrã. Quem põe a classe é o
   pele.js, e só sem «reduzir movimento»: sem JS (e para os motores de busca) nada fica escondido. */
[data-tema=d] .sbd-por-revelar { opacity: 0; transform: translateY(28px); }
[data-tema=d] .sbd-por-revelar.sbd-revelado { opacity: 1; transform: none; transition: opacity .9s var(--sbd-ease), transform .9s var(--sbd-ease); }
@media (prefers-reduced-motion: reduce) {
  [data-tema=d] .sbd-por-revelar { opacity: 1; transform: none; transition: none; }
}
@media print { [data-tema=d] .sbd-por-revelar { opacity: 1; transform: none; } }

/* Surf Today: as aulas à venda destacam-se MAIS do que hoje (é aí que se vende). Só aspecto: o
   cartão, o chip das aulas de hoje e o botão de reservar levam o ciano da d2 e um brilho; o
   texto, os preços, as vagas, as ligações e o caminho da compra são os de hoje. */
[data-tema=d][data-sbd-molde=surf-today] .beach-card:has(.lessons-today-chip-active) {
  outline: 1px solid rgba(34,211,238,.55); outline-offset: -1px;
  box-shadow: 0 0 0 1px rgba(34,211,238,.18), 0 18px 44px -18px rgba(6,182,212,.55); }
[data-tema=d][data-sbd-molde=surf-today] .lessons-today-chip-active {
  background: linear-gradient(135deg, var(--sbd-ciano-e), var(--sbd-ciano-f)); color: #04121A; border-color: transparent;
  box-shadow: 0 6px 22px -6px rgba(6,182,212,.7), inset 0 1px 0 rgba(255,255,255,.35); }
[data-tema=d][data-sbd-molde=surf-today] .lessons-today-chip-active svg { stroke: #04121A; }
[data-tema=d][data-sbd-molde=surf-today] .beach-cta:not(.beach-cta-soon),
[data-tema=d][data-sbd-molde=surf-today] .cta-btn {
  border-radius: 9999px; box-shadow: 0 4px 20px rgba(6,182,212,.32), inset 0 1px 0 rgba(255,255,255,.25); }
[data-tema=d][data-sbd-molde=surf-today] .school-card { box-shadow: inset 0 1px 0 rgba(255,255,255,.06), 0 10px 30px -16px rgba(0,0,0,.7); }

/* ── 18/10 · «Entrar» à vista no cabeçalho (decisão do dono). Abre as três portas de entrada. ── */
[data-tema=d] .sbd-entrar { position: relative; }
[data-tema=d] .sbd-entrar-bt { display: inline-flex; align-items: center; min-height: 44px; padding: 0 14px; border-radius: 9999px; list-style: none; cursor: pointer; color: #fff; font-size: 14px; font-weight: 600; box-shadow: inset 0 0 0 1px rgba(255,255,255,.22); user-select: none; -webkit-user-select: none; }
[data-tema=d] .sbd-entrar-bt::-webkit-details-marker { display: none; }
[data-tema=d] .sbd-entrar-bt:hover, [data-tema=d] .sbd-entrar[open] > .sbd-entrar-bt { background: rgba(255,255,255,.08); }
[data-tema=d] .sbd-entrar-bt:focus-visible { outline: 2px solid var(--sbd-ciano); outline-offset: 3px; }
[data-tema=d] .sbd-entrar-painel { position: absolute; top: calc(100% + 14px); right: 0; width: 300px; padding: 10px; border-radius: 20px; background: rgba(8,13,26,.985); -webkit-backdrop-filter: blur(16px) saturate(160%); backdrop-filter: blur(16px) saturate(160%); box-shadow: inset 0 1px 0 rgba(255,255,255,.12), 0 24px 50px -20px rgba(0,0,0,.8); }
[data-tema=d] .sbd-entrar-painel ul { list-style: none; margin: 0; padding: 0; display: grid; gap: 2px; }
@media (prefers-reduced-motion: no-preference) { [data-tema=d] .sbd-entrar[open] > .sbd-entrar-painel { animation: sbd-abre .35s var(--sbd-ease) both; } }
@media (max-width: 980px) { [data-tema=d] .sbd-entrar { display: none; } }

/* ── 18/10 · AS TRÊS PORTAS e AS REGRAS SB (server/siteD/moldes/portas.ts). Inicial e páginas de público. ── */
[data-tema=d] .sbd-portas, [data-tema=d] .sbd-garantias { position: relative; padding: clamp(64px, 9vw, 112px) 0; font-family: var(--sbd-letra); color: var(--sbd-espuma); background: var(--sbd-noite); text-align: left; }
[data-tema=d] .sbd-garantias { padding-top: 0; }
[data-tema=d] .sbd-portas .sbd-ey, [data-tema=d] .sbd-garantias .sbd-ey { margin: 0 0 14px; font-size: 12px; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; color: var(--sbd-ciano); }
[data-tema=d] .sbd-portas .sbd-h2, [data-tema=d] .sbd-garantias .sbd-h2 { margin: 0 0 clamp(28px, 4vw, 44px); max-width: 20ch; font-size: clamp(34px, 4.6vw, 64px); line-height: 1.04; letter-spacing: -.035em; font-weight: 800; color: #fff; text-wrap: balance; }
[data-tema=d] .sbd-garantias .sbd-h2 { font-size: clamp(28px, 3.4vw, 44px); }
[data-tema=d] .sbd-portas-grelha { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 14px; }
[data-tema=d] a.sbd-porta { position: relative; display: flex; flex-direction: column; min-width: 0; border-radius: 24px; overflow: hidden; text-decoration: none; color: inherit; background: var(--sbd-sup);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.08), 0 30px 60px -30px rgba(0,0,0,.8); transition: transform .5s var(--sbd-ease), box-shadow .5s var(--sbd-ease); }
[data-tema=d] a.sbd-porta:hover { transform: translateY(-4px); box-shadow: inset 0 1px 0 rgba(255,255,255,.12), 0 36px 70px -30px rgba(6,182,212,.35); }
[data-tema=d] a.sbd-porta:focus-visible { outline: 2px solid var(--sbd-ciano); outline-offset: 4px; }
[data-tema=d] a.sbd-porta[aria-current] { box-shadow: inset 0 0 0 1px rgba(34,211,238,.55), 0 30px 60px -30px rgba(0,0,0,.8); }
[data-tema=d] .sbd-porta-foto { display: block; aspect-ratio: 4 / 5; overflow: hidden; background: var(--sbd-elev); }
[data-tema=d] .sbd-porta-foto img { display: block; width: 100%; height: 100%; object-fit: cover; transform: scale(1.02); transition: transform 1.2s var(--sbd-ease); }
[data-tema=d] a.sbd-porta:hover .sbd-porta-foto img { transform: scale(1.07); }
[data-tema=d] .sbd-porta-txt { display: flex; flex-direction: column; gap: 10px; flex: 1; padding: 22px 22px 24px; }
[data-tema=d] .sbd-porta-quem { font-size: 12px; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; color: var(--sbd-ciano); }
[data-tema=d] .sbd-porta-h { font-size: clamp(22px, 2vw, 26px); line-height: 1.12; letter-spacing: -.025em; font-weight: 800; color: #fff; text-wrap: balance; }
[data-tema=d] .sbd-porta-p { font-size: 15px; line-height: 1.55; color: var(--sbd-claro); }
[data-tema=d] .sbd-porta-cta { margin-top: auto; padding-top: 8px; display: inline-flex; align-items: center; gap: 8px; font-size: 15px; font-weight: 700; color: var(--sbd-ciano); }
[data-tema=d] .sbd-portas-um { max-width: 760px; margin: clamp(28px, 4vw, 44px) 0 0; font-size: clamp(16px, 1.5vw, 19px); line-height: 1.6; color: var(--sbd-claro); }
[data-tema=d] .sbd-portas-um b { color: #fff; }
[data-tema=d] .sbd-g-lista { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(auto-fit, minmax(210px, 1fr)); gap: 14px; }
[data-tema=d] .sbd-g { display: flex; flex-direction: column; gap: 8px; padding: 22px; border-radius: 22px; background: rgba(11,25,41,.66); box-shadow: inset 0 1px 0 rgba(255,255,255,.08), inset 0 0 0 1px rgba(255,255,255,.06); }
[data-tema=d] .sbd-g svg { color: var(--sbd-ciano); margin-bottom: 4px; }
[data-tema=d] .sbd-g-h { font-size: 17px; font-weight: 800; letter-spacing: -.01em; color: #fff; }
[data-tema=d] .sbd-g-p { font-size: 14px; line-height: 1.55; color: var(--sbd-claro); }
[data-tema=d] .sbd-g-ler { margin: 28px 0 0; }
[data-tema=d] .sbd-g-ler .sbd-bt { text-decoration: none; }
@media (max-width: 860px) {
  [data-tema=d] .sbd-portas-grelha { grid-template-columns: 1fr; gap: 12px; }
  [data-tema=d] a.sbd-porta { flex-direction: row; border-radius: 22px; }
  [data-tema=d] .sbd-porta-foto { flex: 0 0 34%; aspect-ratio: auto; min-height: 100%; }
  [data-tema=d] .sbd-porta-txt { padding: 16px 16px 18px; gap: 6px; }
  [data-tema=d] .sbd-porta-h { font-size: 19px; }
  [data-tema=d] .sbd-porta-p { font-size: 14px; }
}
@media (max-width: 420px) {
  [data-tema=d] a.sbd-porta { flex-direction: column; }
  [data-tema=d] .sbd-porta-foto { flex: none; aspect-ratio: 16 / 9; min-height: 0; }
}
@media (prefers-reduced-motion: reduce) {
  [data-tema=d] a.sbd-porta, [data-tema=d] .sbd-porta-foto img { transition: none; }
  [data-tema=d] a.sbd-porta:hover { transform: none; }
}

/* ── 18/10 · as peças D vivem dentro de páginas com folhas próprias, e há folhas com regras na
   etiqueta crua (o /compromisso-escolas tem `nav{position:fixed;top:0;height:64px;…}`, que puxava
   as seis línguas do rodapé D para o topo do ecrã). Repõe-se nas <nav> D só o que a D não diz. ── */
[data-tema=d] .sbd-nav { top: auto; left: auto; right: auto; height: auto; z-index: auto; border-bottom: 0; justify-content: flex-start; }
/* e o mesmo para o <header> D: as páginas técnicas têm `header{padding:92px 0 60px;text-align:center}` na etiqueta crua */
[data-tema=d] header.sbd-barra { padding: 0; text-align: left; background: none; border: 0; height: auto; }
[data-tema=d] .sbd-rp-linguas { position: static; top: auto; left: auto; right: auto; height: auto; padding: 0; z-index: auto; background: none; border: 0; -webkit-backdrop-filter: none; backdrop-filter: none; justify-content: flex-start; align-items: center; }
/* o /compromisso-escolas guardava 96 px no topo para a barra fixa de hoje; a barra D ocupa o seu lugar no fluxo */
[data-tema=d][data-sbd-pagina=compromisso-escolas] body > .wrap { padding-top: 40px; }

/* 18/10 · as ligações de hoje que a D não mostra (server/siteD/semPerderSeo.ts): recolhidas antes do rodapé */
[data-tema=d] .sbd-mais { padding: 8px 0 32px; }
[data-tema=d] .sbd-mais details { border-top: 1px solid rgba(255,255,255,.1); padding-top: 16px; }
[data-tema=d] .sbd-mais summary { cursor: pointer; font-size: 15px; font-weight: 600; color: #E2E8F0; list-style-position: inside; }
[data-tema=d] .sbd-mais ul { list-style: none; margin: 14px 0 0; padding: 0; columns: 3 220px; column-gap: 24px; }
[data-tema=d] .sbd-mais li { break-inside: avoid; margin: 0 0 8px; font-size: 14px; }
[data-tema=d] .sbd-mais a { color: #CBD5E1; text-decoration: underline; text-underline-offset: 2px; }

/* 18/10 · as praias do Surf Today escritas pelo servidor, recolhidas (server/siteD/praiasDoSurfToday.ts) */
[data-tema=d] .sbd-praias { padding: 24px 0 8px; }
[data-tema=d] .sbd-praias details { border-top: 1px solid rgba(255,255,255,.1); padding-top: 16px; }
[data-tema=d] .sbd-praias summary { cursor: pointer; font-size: 16px; font-weight: 600; color: #F1F5F9; }
[data-tema=d] .sbd-praias ul { list-style: none; margin: 14px 0 0; padding: 0; display: grid; grid-template-columns: repeat(auto-fill, minmax(280px, 1fr)); gap: 10px 24px; }
[data-tema=d] .sbd-praias li { display: grid; gap: 2px; font-size: 14px; }
[data-tema=d] .sbd-praias li a { color: #F1F5F9; font-weight: 600; text-decoration: underline; text-underline-offset: 2px; }
[data-tema=d] .sbd-praias li span { color: #94A3B8; font-size: 13px; }
/* 18/10 · no fim do artigo do blog, o Surf Today da zona (escolha do dono nas decisões) */
[data-tema=d] .sbd-zona-blog { padding: 56px 0 24px; }
[data-tema=d] .sbd-zona-blog .wrap { max-width: 1160px; margin: 0 auto; padding: 32px clamp(16px, 4vw, 40px) 0; box-sizing: border-box; border-top: 1px solid rgba(255,255,255,.1); }
[data-tema=d] .sbd-zb-etq { margin: 0; font-size: 12px; font-weight: 700; letter-spacing: .14em; text-transform: uppercase; color: #CBD5E1; }
[data-tema=d] .sbd-zb-t { margin: 6px 0 4px; font-size: clamp(28px, 3vw, 40px); line-height: 1.1; color: #F1F5F9; }
[data-tema=d] .sbd-zb-conta { margin: 0 0 18px; font-size: 15px; color: #94A3B8; }
[data-tema=d] .sbd-zona-blog ul { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(auto-fill, minmax(260px, 1fr)); gap: 12px; }
[data-tema=d] .sbd-zona-blog li { display: grid; gap: 4px; padding: 16px 18px; border-radius: 18px; background: rgba(255,255,255,.04); box-shadow: inset 0 0 0 1px rgba(255,255,255,.08); }
[data-tema=d] .sbd-zona-blog li a { color: #F1F5F9; font-size: 17px; font-weight: 700; text-decoration: none; }
[data-tema=d] .sbd-zona-blog li span { color: #CBD5E1; font-size: 14px; }
[data-tema=d] .sbd-zona-blog li small { color: #94A3B8; font-size: 13px; }
[data-tema=d] .sbd-zb-ir { display: inline-flex; align-items: center; min-height: 44px; margin-top: 18px; padding: 0 20px; border-radius: 9999px; color: #F1F5F9; font-weight: 600; text-decoration: none; box-shadow: inset 0 0 0 1px rgba(255,255,255,.22); }
/* 18/10 · o dono, na zona da Ericeira: ao rolar, o «Reservar aula em Ericeira» espreitava ao lado do logótipo, por fora
   da barra em pílula. Uma faixa escura e fixa por trás da barra (por baixo dela, por cima do conteúdo) apaga o que passa
   ali, de ponta a ponta (a pele só se carrega nas páginas vestidas; as d2 têm a sua própria cabeça). */
[data-tema=d] body::before { content: ""; position: fixed; left: 0; right: 0; top: 0; height: 96px; z-index: 39; pointer-events: none;
  background: linear-gradient(180deg, rgba(6,14,26,.94) 0%, rgba(6,14,26,.82) 62%, rgba(6,14,26,0) 100%); }
/* 18/10 · telemóvel: a barra igual à da d2 (marca + «Reservar aula», sem o «≡») e o menu flutuante de baixo da d2
   («Reservar · Início · Surf Today») em todas as páginas vestidas; no computador nada muda */
[data-tema=d] .sbd-pilula { display: none; }
@media (max-width: 860px) {
  [data-tema=d] .sbd-barra .sbd-mais { display: none; }
  [data-tema=d] .sbd-barra .sbd-nav > .sbd-bt { margin-left: auto; }
  [data-tema=d] .sbd-pilula { display: flex; align-items: center; gap: 6px; position: fixed; z-index: 40; left: 0; right: 0; margin-inline: auto; width: max-content;
    bottom: calc(14px + env(safe-area-inset-bottom)); padding: 6px; border-radius: 9999px;
    background: linear-gradient(180deg, rgba(11,17,32,.62), rgba(11,17,32,.56)); -webkit-backdrop-filter: blur(26px) saturate(190%) brightness(.92); backdrop-filter: blur(26px) saturate(190%) brightness(.92);
    box-shadow: inset 0 1px 0 rgba(255,255,255,.26), inset 0 0 0 1px rgba(255,255,255,.08), 0 14px 40px -16px rgba(0,0,0,.7); }
  [data-tema=d] .sbd-pil-cta { display: inline-flex; align-items: center; min-height: 48px; padding: 0 18px; border-radius: 9999px; font-size: 14px; font-weight: 700; color: #fff; text-decoration: none; background: linear-gradient(135deg, var(--sbd-ciano-e), var(--sbd-ciano-f)); }
  [data-tema=d] .sbd-pil-troca { display: grid; grid-template-columns: 1fr 1fr; align-items: center; padding: 4px; height: 48px; min-width: 196px; border-radius: 9999px; box-shadow: inset 0 0 0 1px rgba(255,255,255,.12); }
  [data-tema=d] .sbd-pil-troca a { display: flex; align-items: center; justify-content: center; gap: 7px; height: 100%; padding: 0 10px; border-radius: 9999px; font-size: 14px; font-weight: 600; color: #F1F5F9; text-decoration: none; white-space: nowrap; }
  [data-tema=d] .sbd-pil-troca a[aria-current] { background: linear-gradient(180deg, rgba(255,255,255,.13), rgba(255,255,255,.05)); box-shadow: inset 0 1px 0 rgba(255,255,255,.42), 0 4px 12px -4px rgba(0,0,0,.6); }
  [data-tema=d] body { padding-bottom: calc(84px + env(safe-area-inset-bottom)); }
}
[data-tema=d] .sbd-marca, [data-tema=d] .sbd-marca:hover { text-decoration: none; }

/* 19/10 · a barra das páginas vestidas igual à da inicial D2 (o dono: «a barra em cima errada» na /para-instrutores).
   O interruptor Início | Surf Today, as ligações a branco, o «Entrar» como texto, e o menu só no telemóvel. */
[data-tema=d] .sbd-nav a.sbd-marca, [data-tema=d] .sbd-nav a.sbd-marca b, [data-tema=d] .sbd-nav a.sbd-op, [data-tema=d] .sbd-nav a.sbd-link { text-decoration: none !important; }
[data-tema=d] .sbd-troca { position: relative; display: grid; grid-template-columns: 1fr 1fr; align-items: center; margin-left: 20px; padding: 4px; height: 44px; min-width: 214px; border-radius: 9999px; box-shadow: inset 0 0 0 1px rgba(255,255,255,.12); }
[data-tema=d] .sbd-op { position: relative; z-index: 1; display: flex; align-items: center; justify-content: center; gap: 7px; height: 36px; padding: 0 14px; border-radius: 9999px; font-size: 14px; font-weight: 600; color: #F1F5F9; white-space: nowrap; }
[data-tema=d] .sbd-polegar { position: absolute; z-index: 0; top: 4px; bottom: 4px; left: 4px; width: calc(50% - 4px); border-radius: 9999px; background: linear-gradient(180deg, rgba(255,255,255,.13), rgba(255,255,255,.05)); box-shadow: inset 0 1px 0 rgba(255,255,255,.42), inset 0 -1px 0 rgba(255,255,255,.06), 0 4px 12px -4px rgba(0,0,0,.6); }
[data-tema=d] .sbd-troca.sbd-em-st .sbd-polegar { transform: translateX(100%); }
[data-tema=d] .sbd-link { color: #fff; }
[data-tema=d] .sbd-entrar-bt { box-shadow: none; font-weight: 400; padding: 0 12px; color: #fff; }
@media (min-width: 861px) { [data-tema=d] .sbd-mais { display: none; } }
@media (max-width: 860px) { [data-tema=d] .sbd-troca { display: none; } }
