/* Estilos próprios da home. Depende de tokens.css e chrome.css, carregados antes.
   Extraído do index.html quando a home passou a ser gerada em três idiomas. */
:root{ --maxw:1120px; }
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--crema);color:var(--tinta);font-family:var(--sans);line-height:1.55;-webkit-font-smoothing:antialiased}
a{color:inherit;text-decoration:none}
.wrap{max-width:var(--maxw);margin:0 auto;padding:0 22px}
h1,h2,h3{font-family:var(--disp);font-weight:600;line-height:1.1;margin:0}
.eyebrow{font:600 12px/1 var(--sans);letter-spacing:.18em;text-transform:uppercase;color:var(--terra)}
:focus-visible{outline:3px solid var(--or);outline-offset:2px;border-radius:4px}

/* ---------- BANNER ----------
   A barra de navegação e o rodapé vivem em /assets/chrome.css, injetados
   pelos marcadores NAV e FOOT a partir de scripts/lib/layout.mjs. */
.siteheader{position:relative;background:var(--verd-900)}
.siteheader img{display:block;width:100%;height:clamp(300px,52vw,600px);object-fit:cover;object-position:center 40%}
.siteheader .cap{position:absolute;left:0;right:0;bottom:0;padding:34px 0 18px;background:linear-gradient(0deg,rgba(33,48,42,.78),rgba(33,48,42,0));color:#f4efe3}
.siteheader .cap b{font-family:var(--disp);font-weight:600;font-size:clamp(20px,2.8vw,30px);display:block}
.siteheader .cap span{font-size:14px;color:#dfe6df}

/* ---------- HERO ---------- */
.hero{background:var(--crema);padding:46px 0 26px;border-bottom:1px solid var(--linia)}
.hero .eyebrow{margin-bottom:12px}
.hero h1{font-size:clamp(34px,6vw,60px);letter-spacing:-.01em}
.hero h1 em{font-style:italic;color:var(--terra)}
.hero p.sub{max-width:52ch;font-size:18px;color:var(--tinta-60);margin:14px 0 22px}
.stats{display:flex;gap:34px;flex-wrap:wrap}
.stat .n{font-family:var(--disp);font-weight:700;font-size:30px;color:var(--verd-700);line-height:1}
.stat .l{font-size:13px;color:var(--tinta-60);margin-top:3px}

/* ---------- FILTRES ---------- */
.parro{background:var(--crema-2);border-bottom:1px solid var(--linia);position:sticky;top:0;z-index:30}
.parro .wrap{display:flex;align-items:center;gap:8px;padding:12px 22px;flex-wrap:wrap}
.chip{display:inline-flex;align-items:center;gap:7px;border:1px solid var(--linia);background:#fff;border-radius:99px;padding:7px 14px;font-size:13.5px;font-weight:600;cursor:pointer;color:var(--tinta);font-family:inherit}
.chip .dot{width:9px;height:9px;border-radius:50%}
.chip:hover{border-color:var(--verd-500)}
.chip.is-on{background:var(--verd-900);color:#f4efe3;border-color:var(--verd-900)}
.chip.ghost{margin-left:auto;background:transparent;border-style:dashed}
.chip.ghost.is-on{background:var(--verd-900);border-style:solid}

/* ---------- CALENDARI ---------- */
section{padding:40px 0}
.month-head{display:flex;align-items:baseline;gap:12px;margin:26px 0 18px}
.month-head:first-child{margin-top:8px}
.month-head h2{font-size:26px}
.month-head .count{font-size:13px;font-weight:700;color:#fff;background:var(--verd-500);padding:3px 10px;border-radius:99px}
.month-head[hidden]{display:none}
.flist{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:12px}
.flist[hidden]{display:none}
.fitem{display:flex;gap:14px;background:#fff;border:1px solid var(--linia);border-left:5px solid var(--linia);border-radius:12px;padding:14px 15px;transition:transform .16s ease,box-shadow .16s ease}
.fitem:hover{transform:translateY(-3px);box-shadow:0 12px 26px -16px rgba(33,48,42,.4)}
.fitem[hidden]{display:none}
.fitem .when{font-family:var(--disp);font-weight:700;color:var(--verd-700);font-size:13px;letter-spacing:.04em;white-space:nowrap;min-width:74px;text-transform:uppercase}
.fitem h3{font-size:17.5px;margin-bottom:3px}
.fitem .loc{font-size:13.5px;color:var(--tinta-60)}
.fitem .nou{display:inline-block;margin-left:6px;font-size:10.5px;font-weight:800;letter-spacing:.06em;color:#fff;background:var(--terra);padding:2px 7px;border-radius:99px;vertical-align:middle}
.fitem .tbc{display:inline-block;margin-left:6px;font-size:10.5px;font-weight:800;letter-spacing:.04em;color:var(--verd-700);border:1px dashed var(--verd-500);padding:2px 7px;border-radius:99px;vertical-align:middle}
.fitem .past{display:inline-block;margin-left:6px;color:var(--tinta-60);font-size:11px;font-weight:700;border:1px solid var(--linia);border-radius:99px;padding:2px 8px;vertical-align:middle}
.fitem .past[hidden]{display:none}
.fitem.is-past{opacity:.55}
.empty{text-align:center;color:var(--tinta-60);padding:30px 0;display:none}

/* ---------- CABEÇALHO DE SECÇÃO ---------- */
.sect-head{display:flex;align-items:baseline;gap:14px;flex-wrap:wrap;margin:0 0 18px}
.sect-head h2{font-size:clamp(23px,2.8vw,30px)}
.sect-head .eyebrow{margin-bottom:8px}
.sect-head .more{margin-left:auto;font:600 13.5px var(--sans);color:var(--verd-700);
  border-bottom:1px solid var(--linia);padding-bottom:2px}
.sect-head .more:hover{border-bottom-color:var(--verd-500)}

/* ---------- ESTAÇÕES ---------- */
.seasons{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:12px}
.season{background:#fff;border:1px solid var(--linia);border-radius:13px;padding:18px;
  transition:transform .16s ease,border-color .16s ease}
.season:hover{transform:translateY(-3px);border-color:var(--verd-500)}
.season .sicon{font-size:22px;line-height:1;display:block;margin-bottom:9px}
.season h3{font-size:19px}
.season .smesos{margin:6px 0 0;font-size:13px;color:var(--tinta-60)}
.season .scount{margin:8px 0 0;font:700 12.5px var(--sans);color:var(--verd-500)}

/* ---------- PATRIMONI VIU ---------- */
.feat-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:16px}
.feat{position:relative;border-radius:14px;padding:24px;color:#f4efe3;min-height:190px;display:flex;flex-direction:column;justify-content:flex-end;overflow:hidden;transition:transform .16s ease}
.feat:hover{transform:translateY(-3px)}
.feat.foc{background:linear-gradient(150deg,var(--terra),#8f3f1c)}
.feat.can{background:linear-gradient(150deg,var(--verd-500),#233f30)}
.feat.tam{background:linear-gradient(150deg,var(--p-ordino),#33264d)}
.feat .kicker{font:600 11.5px var(--sans);letter-spacing:.14em;text-transform:uppercase;opacity:.9;margin-bottom:6px}
.feat h3{font-size:23px}
.feat p{margin:7px 0 0;font-size:13.5px;color:rgba(255,255,255,.92)}
.feat .u{position:absolute;top:16px;right:16px;background:rgba(255,255,255,.16);border:1px solid rgba(255,255,255,.4);padding:4px 10px;border-radius:99px;font-size:11px;font-weight:800;letter-spacing:.06em}

/* ---------- HUB ANDORRA ---------- */
.hub{background:var(--verd-900);color:#f4efe3;border-radius:18px;padding:36px}
.hub .eyebrow{color:var(--or)}
.hub h2{font-size:clamp(23px,3vw,30px);margin:8px 0 20px;max-width:22ch}
.hub-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:12px}
.hub-card{background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.12);border-radius:12px;padding:16px;transition:background .16s ease}
.hub-card:hover{background:rgba(255,255,255,.12)}
.hub-card h3{font-size:17px;color:#fff}
.hub-card p{font-size:12.5px;color:#c2ccc2;margin:5px 0 0}

/* ---------- FAQ ---------- */
.faq h2{font-size:28px;margin-bottom:16px}
details{background:#fff;border:1px solid var(--linia);border-radius:12px;padding:14px 16px;margin-bottom:10px}
details summary{font-family:var(--disp);font-weight:600;font-size:17px;cursor:pointer;list-style:none}
details summary::-webkit-details-marker{display:none}
details p{margin:10px 0 0;font-size:14.5px;color:var(--tinta-60)}


@media(max-width:760px){ .stats{gap:22px} .chip.ghost{margin-left:0} }
@media(prefers-reduced-motion:reduce){ *{transition:none !important; scroll-behavior:auto !important} }
