/* Visita Galeana v3 — fiesta palette on cream. Shared by index.html, cerca.html, creditos.html */
:root{
  --cream:#FBF3E4;--paper:#FFFAF0;--ink:#3B2A20;--pecan:#6B4A2E;
  --lime:#8DBE3F;--lime-ink:#4E7A1B;--lime-soft:#EEF4DC;
  --sun:#F5D04C;--sun-soft:#FBEDB8;
  --clay:#C8623A;--clay-ink:#9E4522;--clay-soft:#F6E1D4;
  --buga:#C8367A;--buga-ink:#B0276A;--buga-soft:#F8DEE9;
  --azul:#2A9D9F;--azul-ink:#1B6E70;--azul-soft:#D8EFEE;
  --mari:#F08A24;--mari-ink:#B5570B;
  --mtn1:#2E5E8C;--mtn2:#3F7FB0;--mtn3:#6FA8D0;--mtn4:#A8CCE3;
  --line:rgba(59,42,32,.14);--muted:rgba(59,42,32,.68);
  --disp:"Yeseva One",Georgia,serif;--sans:"Nunito","Segoe UI",system-ui,sans-serif;
  --wrap:1120px;--gutter:16px;--r:14px;--r-sm:8px;
  --shadow:0 10px 30px -18px rgba(59,42,32,.35);
}
*{box-sizing:border-box;margin:0}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{font:17px/1.55 var(--sans);color:var(--ink);background:var(--cream);overflow-x:hidden}
img{display:block;max-width:100%;height:auto}
a{color:inherit}
p a,li a,dd a,td a{text-decoration-color:var(--clay);text-decoration-thickness:1.5px;text-underline-offset:3px}
p a:hover,li a:hover,dd a:hover{color:var(--clay-ink)}
:focus-visible{outline:3px solid var(--azul-ink);outline-offset:3px;border-radius:4px}
h1,h2,h3,h4{font-family:var(--disp);font-weight:400;line-height:1.12;text-wrap:balance}
h1{font-size:clamp(2.1rem,4.6vw,3.1rem)}
h2{font-size:clamp(1.65rem,3vw,2.3rem)}
h3{font-size:clamp(1.15rem,1.8vw,1.35rem)}
.wrap{max-width:var(--wrap);margin:0 auto;padding:0 var(--gutter)}
[data-en]{display:none!important}
html[data-lang="en"] [data-es]{display:none!important}
html[data-lang="en"] [data-en]{display:revert!important}
.skip{position:absolute;left:var(--gutter);top:-60px;background:var(--ink);color:var(--paper);padding:10px 16px;border-radius:var(--r-sm);z-index:200}
.skip:focus{top:12px}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}

/* ---- motifs ---- */
.serape{height:10px;border-radius:999px;background:repeating-linear-gradient(90deg,var(--buga) 0 36px,var(--sun) 36px 60px,var(--azul) 60px 96px,var(--mari) 96px 120px,var(--lime) 120px 156px,var(--clay) 156px 180px)}
.serape.thin{height:6px}
.picado{display:block;width:100%;height:clamp(44px,6vw,80px)}
.mtns{display:block;width:100%;height:clamp(48px,8vw,110px)}
.mtns{--l1:var(--mtn4);--l2:var(--mtn3);--l3:var(--mtn2);--l4:var(--lime)}
.eyebrow{display:inline-flex;align-items:center;gap:8px;font:700 .78rem/1 var(--sans);letter-spacing:.08em;text-transform:uppercase;color:var(--clay-ink);margin-bottom:10px}
.eyebrow::before{content:"";width:22px;height:4px;border-radius:999px;background:currentColor}
.eyebrow.lime{color:var(--lime-ink)}.eyebrow.buga{color:var(--buga-ink)}.eyebrow.azul{color:var(--azul-ink)}.eyebrow.mari{color:var(--mari-ink)}.eyebrow.pecan{color:var(--pecan)}
.lead{font-size:clamp(1.05rem,1.5vw,1.2rem);color:var(--muted);max-width:52ch;margin-top:8px}
.tag{display:inline-block;font:700 .74rem/1.1 var(--sans);letter-spacing:.02em;border-radius:999px;padding:5px 10px;vertical-align:middle}
.tag.lime{background:var(--lime-soft);color:var(--lime-ink)}.tag.buga{background:var(--buga-soft);color:var(--buga-ink)}.tag.azul{background:var(--azul-soft);color:var(--azul-ink)}.tag.sun{background:var(--sun-soft);color:var(--mari-ink)}.tag.clay{background:var(--clay-soft);color:var(--clay-ink)}
.cf{display:inline-block;font:700 .7rem/1.1 var(--sans);color:var(--clay-ink);background:var(--clay-soft);border-radius:999px;padding:3px 8px;vertical-align:middle;margin:0 2px}
.rv{opacity:1;transform:none}
@media(prefers-reduced-motion:no-preference){.rv{opacity:0;transform:translateY(10px);transition:opacity .6s ease,transform .6s ease}.rv.in{opacity:1;transform:none}}

/* ---- header ---- */
.top{position:sticky;top:0;z-index:40;background:rgba(251,243,228,.92);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border-bottom:1px solid var(--line)}
.top .wrap{display:flex;align-items:center;gap:12px;min-height:64px}
.brand{display:flex;align-items:center;gap:10px;text-decoration:none;font-family:var(--disp);font-size:1.25rem;min-height:44px}
.brand svg{width:34px;height:34px;flex:none}
.brand small{display:block;font:600 .7rem/1 var(--sans);color:var(--muted);letter-spacing:.04em;margin-top:3px}
.nav{margin-left:auto;display:flex;align-items:center;gap:2px}
.nav a{text-decoration:none;font-weight:700;padding:10px 11px;border-radius:999px;min-height:44px;display:inline-flex;align-items:center;font-size:.95rem}
.nav a:hover{background:var(--sun-soft)}
.nav a.near{background:var(--azul-soft);color:var(--azul-ink);margin-left:4px}
.nav a.near:hover{background:var(--azul);color:#fff}
.nav a[aria-current]{background:var(--azul);color:#fff}
.lang{margin-left:6px;border:2px solid var(--ink);background:transparent;color:var(--ink);font:700 .9rem var(--sans);padding:0 14px;min-height:40px;border-radius:999px;cursor:pointer}
.lang:hover{background:var(--ink);color:var(--paper)}
.menu{display:none;margin-left:auto}
.menu summary{list-style:none;cursor:pointer;min-width:44px;min-height:44px;display:flex;align-items:center;justify-content:center;border-radius:999px}
.menu summary::-webkit-details-marker{display:none}
.menu summary svg{width:26px;height:26px}
.menu[open] summary{background:var(--sun-soft)}
.menu .sheet{position:absolute;left:0;right:0;top:100%;background:var(--paper);border-bottom:1px solid var(--line);padding:10px var(--gutter) 18px;display:grid;gap:2px;box-shadow:var(--shadow)}
.menu .sheet a{text-decoration:none;font:700 1.08rem var(--sans);padding:11px 10px;border-radius:var(--r-sm);min-height:44px;display:flex;align-items:center}
.menu .sheet a:hover{background:var(--cream)}
.menu .sheet a.near{color:var(--azul-ink)}
@media(max-width:1080px){.nav{display:none}.menu{display:block}}

/* ---- buttons ---- */
.btn{display:inline-flex;align-items:center;gap:10px;min-height:48px;padding:0 20px;border-radius:999px;text-decoration:none;font:700 1rem var(--sans);border:2px solid transparent;cursor:pointer;transition:transform .15s ease,background .15s ease}
.btn:active{transform:translateY(1px)}
.btn svg{width:18px;height:18px}
.btn-clay{background:var(--clay);color:#fff;border-color:var(--clay)}.btn-clay:hover{background:var(--clay-ink)}
.btn-sun{background:var(--sun);color:var(--ink);border-color:var(--sun)}.btn-sun:hover{background:#F7DA70}
.btn-line{color:var(--ink);border-color:var(--ink)}.btn-line:hover{background:var(--ink);color:var(--paper)}
.btn-azul{background:var(--azul);color:#fff;border-color:var(--azul)}.btn-azul:hover{background:var(--azul-ink)}
.more{display:inline-flex;align-items:center;gap:8px;min-height:44px;font-weight:700;color:var(--azul-ink);text-decoration:none;border-bottom:2px solid var(--azul-soft)}
.more:hover{border-color:var(--azul)}

/* ---- sections ---- */
section[id]{scroll-margin-top:68px}
.sec{padding:clamp(48px,7vw,88px) 0}
.sec.paper{background:var(--paper)}
.head{max-width:58ch;margin-bottom:clamp(24px,4vw,40px)}
.prose{max-width:64ch}
.prose p{margin-bottom:1em}
.prose p:last-child{margin-bottom:0}
.split{display:grid;gap:28px 48px;grid-template-columns:1fr}
@media(min-width:900px){.split{grid-template-columns:minmax(0,5fr) minmax(0,7fr)}}

/* ---- hero ---- */
.hero{position:relative;background:linear-gradient(180deg,var(--sun-soft) 0%,var(--cream) 100%);padding-bottom:0}
.hero .wrap{display:grid;gap:28px;padding-top:12px;padding-bottom:40px;align-items:center}
.hero .hi{font-family:var(--disp);color:var(--clay-ink);font-size:clamp(1.05rem,1.6vw,1.3rem);margin-bottom:6px}
.hero h1{color:var(--ink)}
.hero h1 em{font-style:normal;color:var(--clay)}
.hero p.sub{max-width:50ch;font-size:clamp(1rem,1.4vw,1.15rem);margin-top:14px;color:var(--ink)}
.cta{display:flex;flex-wrap:wrap;gap:10px;margin-top:22px}
.hero .media{display:grid;gap:18px;grid-template-columns:1fr}
.hero-ph{margin:0}
.hero-ph img{width:100%;aspect-ratio:1800/1054;object-fit:cover;border-radius:var(--r);box-shadow:var(--shadow)}
.hero-ph figcaption{font-size:.84rem;line-height:1.4;color:var(--muted);margin-top:8px}
.hero-ph figcaption a{color:inherit}
.hero .mtns{margin-bottom:-1px}
@media(min-width:900px){.hero .wrap{grid-template-columns:minmax(0,6fr) minmax(0,6fr);padding-top:24px;padding-bottom:56px}}

/* polaroid */
.pola{background:#fff;padding:10px 10px 14px;border-radius:6px;box-shadow:0 12px 28px -16px rgba(59,42,32,.45);transform:rotate(-2deg);max-width:300px}
.pola.r{transform:rotate(2deg)}
.pola img{border-radius:3px;width:100%;aspect-ratio:720/540;object-fit:cover}
.pola figcaption{font-size:.84rem;color:var(--muted);margin-top:8px;line-height:1.35}
.pola figcaption a{color:inherit}

/* video facade with generated poster */
.vid{position:relative;aspect-ratio:16/9;border-radius:var(--r);overflow:hidden;display:block;width:100%;border:0;padding:0;cursor:pointer;color:var(--ink);text-align:left;background:linear-gradient(135deg,var(--sun) 0%,var(--mari) 100%);box-shadow:var(--shadow)}
.vid.azul{background:linear-gradient(135deg,var(--mtn3) 0%,var(--mtn1) 100%);color:#fff}
.vid.buga{background:linear-gradient(135deg,#E26A9E 0%,var(--buga) 100%);color:#fff}
.vid.lime{background:linear-gradient(135deg,#B9D87A 0%,var(--lime) 100%)}
.vid.pecan{background:linear-gradient(135deg,#8E6A49 0%,var(--pecan) 100%);color:#fff}
.vid svg.deco{position:absolute;inset:auto 0 0 0;width:100%;height:auto;opacity:.9}
.vid .play{position:absolute;left:16px;top:16px;right:16px;display:flex;align-items:center;gap:12px;font:700 .98rem var(--sans)}
.vid .play i{width:52px;height:52px;border-radius:50%;background:var(--paper);color:var(--ink);display:grid;place-items:center;flex:none;box-shadow:0 6px 16px -6px rgba(59,42,32,.5);transition:transform .15s}
.vid:hover .play i{transform:scale(1.06)}
.vid .play svg{width:20px;height:20px;margin-left:3px}
.vid iframe{position:absolute;inset:0;width:100%;height:100%;border:0}
.vid-wrap{display:grid;gap:8px}
.cap{font-size:.84rem;line-height:1.4;color:var(--muted)}
.cap a{color:inherit}

/* ---- why badges ---- */
.why{display:grid;gap:18px;grid-template-columns:repeat(2,1fr);margin:clamp(24px,4vw,36px) 0}
@media(min-width:800px){.why{grid-template-columns:repeat(4,1fr)}}
.badge{background:var(--paper);border-radius:var(--r);padding:20px 18px 22px;text-align:center;box-shadow:var(--shadow);display:grid;gap:10px;justify-items:center}
.badge i{width:92px;height:92px;border-radius:50%;display:grid;place-items:center}
.badge i svg{width:64px;height:64px}
.badge.lime i{background:var(--lime-soft)}.badge.buga i{background:var(--buga-soft)}.badge.azul i{background:var(--azul-soft)}.badge.mari i{background:var(--sun-soft)}
.badge h3{font-size:1.15rem}
.badge p{font-size:.92rem;color:var(--muted);margin:0}
.intro-side{display:grid;gap:22px;align-content:start}

/* colour tile (photo slot) */
.tile{position:relative;overflow:hidden;display:grid;align-items:end;padding:16px;color:#fff;background:var(--clay);border-radius:var(--r);aspect-ratio:3/2}
.tile.azul{background:var(--azul)}.tile.lime{background:var(--lime);color:var(--ink)}.tile.sun{background:var(--sun);color:var(--ink)}.tile.buga{background:var(--buga)}.tile.mari{background:var(--mari);color:var(--ink)}.tile.pecan{background:var(--pecan)}.tile.mtn{background:linear-gradient(180deg,var(--mtn4),var(--mtn3))}
.tile .word{font-family:var(--disp);font-size:clamp(1.6rem,3vw,2rem);line-height:1;position:relative}
.tile svg.ic{position:absolute;right:12px;top:12px;width:40%;max-width:128px;aspect-ratio:1;height:auto;background:var(--paper);border-radius:50%;padding:3.5%;box-shadow:0 8px 18px -10px rgba(59,42,32,.55)}
.tile svg.full{position:absolute;inset:0;width:100%;height:100%}
.tile .nf{position:absolute;top:12px;left:14px;font:700 .72rem var(--sans);opacity:.8;letter-spacing:.03em}
.tile.mtn .word{color:var(--mtn1)}

/* ---- pecan ---- */
.months{display:flex;gap:6px;flex-wrap:wrap;margin:16px 0 0;font-family:var(--disp);font-size:clamp(1rem,1.8vw,1.25rem)}
.months span{padding:4px 12px;border-radius:999px;border:2px solid var(--line);color:var(--muted)}
.months span.on{background:var(--lime-soft);border-color:var(--lime);color:var(--lime-ink)}
.months span.peak{background:var(--lime);border-color:var(--lime);color:var(--ink)}
.callout{background:var(--sun);color:var(--ink);padding:18px 20px;border-radius:var(--r);font-family:var(--disp);font-size:1.1rem;line-height:1.35;margin:22px 0;max-width:40ch}
.pecan-grid{display:grid;gap:28px 48px;grid-template-columns:1fr}
@media(min-width:900px){.pecan-grid{grid-template-columns:minmax(0,7fr) minmax(0,5fr)}}
.side{display:grid;gap:22px;align-content:start}

/* ---- events ---- */
.coins{display:grid;grid-template-columns:repeat(6,1fr);gap:8px;margin:0 0 10px;list-style:none;padding:0}
.coins li a{display:grid;place-items:center;aspect-ratio:1;border-radius:50%;border:2px dashed var(--line);text-decoration:none;font-family:var(--disp);font-size:clamp(.9rem,1.6vw,1.05rem);color:var(--muted);transition:transform .15s;background:var(--paper)}
.coins li.on a{background:var(--buga);border:0;color:#fff}
.coins li.harvest a{background:var(--lime);border:0;color:var(--ink)}
.coins li.on a:hover,.coins li.harvest a:hover{transform:translateY(-3px)}
@media(min-width:700px){.coins{grid-template-columns:repeat(12,1fr)}}
.legend{display:flex;gap:18px;flex-wrap:wrap;font-size:.88rem;color:var(--muted);margin-bottom:30px}
.legend i{display:inline-block;width:12px;height:12px;border-radius:50%;vertical-align:-1px;margin-right:6px}
.feria{display:grid;gap:22px;grid-template-columns:1fr;background:var(--paper);border-radius:var(--r);padding:20px;box-shadow:var(--shadow);border-top:6px solid var(--buga);margin-bottom:30px}
.feria .tile{aspect-ratio:4/3}
.feria h3{font-size:clamp(1.3rem,2.2vw,1.65rem);margin:6px 0 4px}
.feria .when{font-weight:700;color:var(--buga-ink)}
.feria p{margin-top:8px}
.feria .ig-link{display:inline-flex;align-items:center;gap:8px;min-height:44px;font-weight:700;color:var(--buga-ink);text-decoration:none;margin-top:6px}
.feria .ig-link svg{width:20px;height:20px}
@media(min-width:800px){.feria{grid-template-columns:minmax(0,5fr) minmax(0,7fr);align-items:center;padding:24px}}
.evlist{list-style:none;padding:0;display:grid;gap:12px}
.ev{display:grid;gap:4px 16px;grid-template-columns:52px 1fr;padding:16px 18px;background:var(--paper);border-radius:var(--r);scroll-margin-top:90px;border-left:6px solid var(--sun)}
.ev .evic{width:52px;height:52px;grid-row:1/3;background:var(--sun-soft);border-radius:50%;padding:6px}
.ev.harvest .evic{background:var(--lime-soft)}
.ev>div{grid-column:2}
.ev.harvest{border-left-color:var(--lime)}
.ev .m{font-family:var(--disp);font-size:1.2rem;line-height:1.1;color:var(--buga-ink)}
.ev.harvest .m{color:var(--lime-ink)}
.ev .m small{display:block;font:600 .82rem/1.3 var(--sans);color:var(--muted);margin-top:6px}
.ev h3{font-size:1.15rem;margin-bottom:2px}
.ev .place{color:var(--muted);font-size:.9rem;margin-bottom:4px}
.ev p{max-width:62ch;font-size:.96rem}
@media(min-width:700px){.ev{grid-template-columns:56px 150px 1fr;gap:4px 22px}.ev .evic{width:56px;height:56px;grid-row:1}.ev .m{grid-column:2}.ev>div:last-child{grid-column:3}}

/* ---- cards (things to do) ---- */
.cards{display:grid;gap:22px;grid-template-columns:1fr}
@media(min-width:620px){.cards{grid-template-columns:repeat(2,1fr)}}
@media(min-width:1000px){.cards{grid-template-columns:repeat(3,1fr)}}
.card{display:flex;flex-direction:column;gap:10px;min-width:0;background:var(--paper);border-radius:var(--r);padding:12px 12px 18px;box-shadow:var(--shadow)}
.card .tile,.card .ph{aspect-ratio:3/2;border-radius:var(--r-sm)}
.card .ph{overflow:hidden;background:#E8DCC6}
.card .ph img{width:100%;height:100%;object-fit:cover}
.card h3{font-size:1.2rem;margin:6px 6px 0}
.card p{font-size:.95rem;margin:0 6px}
.card .dist{font-family:var(--disp);color:var(--azul-ink);font-size:1rem;margin-top:-4px}
.card dl{display:grid;grid-template-columns:auto 1fr;gap:5px 12px;font-size:.88rem;border-top:1px solid var(--line);padding-top:10px;margin:4px 6px 0}
.card dt{font-weight:800;color:var(--muted)}
.card dd{min-width:0}
.card .cap{margin:0 6px}
.card .towntags{display:flex;flex-wrap:wrap;gap:6px;margin:6px 6px -6px}
.tag.t-galeana{background:var(--clay-soft);color:var(--clay-ink)}.tag.t-lebaron{background:var(--buga-soft);color:var(--buga-ink)}.tag.t-angostura{background:var(--azul-soft);color:var(--azul-ink)}.tag.t-lagunitas{background:var(--lime-soft);color:var(--lime-ink)}
a.tag{text-decoration:none}a.tag:hover{filter:brightness(.95)}
.nearline{margin-top:clamp(26px,4vw,36px);font-size:1.02rem}

/* ---- directory ---- */
.dir-group{margin-top:clamp(28px,4vw,40px)}
.dir-group h3,.dir-group h4{display:flex;align-items:center;gap:10px;margin-bottom:10px}
.dir-group h4{font-size:1.1rem}
.dir-group h3 i,.dir-group h4 i{width:44px;height:44px;border-radius:50%;display:grid;place-items:center;flex:none}
.dir-group h3 i svg,.dir-group h4 i svg{width:32px;height:32px}
.dir-group[data-cat="food"] i{background:var(--sun-soft)}
.dir-group[data-cat="lodging"] i{background:var(--azul-soft)}
.dir-group[data-cat="shop"] i{background:var(--lime-soft)}
.dir-group[data-cat="service"] i{background:var(--buga-soft)}
.dir-town{margin-top:clamp(30px,5vw,48px);padding-top:18px;border-top:6px solid var(--c)}
.dir-town>h3{display:flex;align-items:center;gap:12px;font-size:clamp(1.4rem,2.4vw,1.8rem)}
.dir-town>h3 svg{width:56px;height:56px;flex:none;background:var(--soft);border-radius:50%;padding:7px}
.dir-town>h3 .cnt{font:700 .8rem var(--sans);color:var(--muted);background:var(--paper);border:1px solid var(--line);border-radius:999px;padding:4px 10px}
.dir-town .dir-group{margin-top:18px}
.vl{list-style:none;padding:0;margin:0;display:grid;gap:10px}
@media(min-width:800px){.vl{grid-template-columns:repeat(2,1fr)}}
.v{display:grid;gap:3px;padding:16px 18px;background:var(--paper);border-radius:var(--r);border:1px solid var(--line)}
.v .n{font-family:var(--disp);font-size:1.1rem;line-height:1.2}
.v .loc{color:var(--muted);font-size:.9rem}
.v .b{font-size:.95rem;margin-top:4px}
.v .hrs{font-size:.88rem;color:var(--muted);margin-top:2px}
.v .act{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px}
.v .act a{display:inline-flex;align-items:center;gap:7px;min-height:40px;padding:0 14px;border-radius:999px;border:2px solid var(--line);text-decoration:none;font-size:.9rem;font-weight:700;color:var(--ink);background:var(--cream)}
.v .act a:hover{border-color:var(--clay);color:var(--clay-ink)}
.v .act a.wa{background:#E6F3E6;border-color:#BFDDBF;color:#1F5E2A}
.v .act a svg{width:16px;height:16px}
.v .pill{display:inline-block;font:700 .7rem/1.1 var(--sans);color:var(--azul-ink);background:var(--azul-soft);border-radius:999px;padding:3px 8px;margin-left:8px;vertical-align:middle}
.empty{color:var(--muted);font-style:italic;padding:10px 0 4px}
body[data-vendors="near"] .v .pill{display:none}

/* ---- instagram ---- */
.ig-grid{display:grid;gap:14px;grid-template-columns:1fr}
@media(min-width:640px){.ig-grid{grid-template-columns:repeat(3,1fr)}}
.ig-grid blockquote.instagram-media{margin:0!important;min-width:0!important;width:100%!important}
.ig-grid>*{max-height:560px;overflow:hidden;border-radius:var(--r)}
.ig-grid blockquote.instagram-media:empty{min-height:420px;background:var(--paper);border:1px solid var(--line)}
.ig-grid iframe.instagram-media{max-height:560px!important;margin:0!important;min-width:0!important;width:100%!important}
.ig-ph{aspect-ratio:1;border-radius:var(--r);display:grid;place-items:center;text-align:center;padding:20px;color:#fff;background:linear-gradient(135deg,var(--buga),var(--mari))}
.ig-ph:nth-child(2){background:linear-gradient(135deg,var(--azul),var(--lime))}
.ig-ph:nth-child(3){background:linear-gradient(135deg,var(--mari),var(--sun));color:var(--ink)}
.ig-ph svg{width:44px;height:44px;margin-bottom:10px}
.ig-ph b{display:block;font-family:var(--disp);font-size:1.1rem}
.ig-ph span{font-size:.9rem;opacity:.9}
.follow{display:flex;flex-wrap:wrap;gap:10px;margin-top:22px;align-items:center}
.follow a{display:inline-flex;align-items:center;gap:8px;min-height:44px;padding:0 16px;border-radius:999px;background:var(--paper);border:2px solid var(--buga-soft);text-decoration:none;font-weight:700;color:var(--buga-ink)}
.follow a:hover{border-color:var(--buga)}
.follow a svg{width:18px;height:18px}
.follow .soon{color:var(--muted);font-size:.92rem}

/* ---- towns ---- */
.townmap{margin:0 0 clamp(24px,4vw,36px);background:var(--cream);border-radius:var(--r);padding:12px 12px 10px;box-shadow:var(--shadow)}
.townmap svg{display:block;width:100%;height:auto}
.townmap text{font-family:var(--sans);font-weight:700;fill:var(--ink)}
.townmap .lbl{font-family:var(--disp);font-weight:400;font-size:21px}
.townmap .lbl-m{font-size:15px}.townmap .lbl-s{font-size:13px;fill:var(--muted)}
.townmap .pill rect{fill:var(--paper);stroke:var(--line)}.townmap .pill text{font-size:13px;fill:var(--azul-ink)}
.townmap .dot circle{stroke:#fff;stroke-width:4}
.townmap figcaption{font-size:.82rem;color:var(--muted);margin-top:8px;text-align:right}
@media(max-width:640px){.townmap{padding:6px}.townmap .lbl{font-size:30px}.townmap .lbl-m{font-size:22px}.townmap .lbl-s{font-size:20px}.townmap .pill text{font-size:21px}}
.towns{display:grid;gap:22px;grid-template-columns:1fr}
@media(min-width:720px){.towns{grid-template-columns:repeat(2,1fr)}}
.town{display:flex;flex-direction:column;gap:14px;min-width:0;background:var(--cream);border-radius:var(--r);padding:20px;box-shadow:var(--shadow);border-top:7px solid var(--c)}
.town header{display:flex;align-items:center;gap:14px}
.town header svg{width:84px;height:84px;flex:none;background:var(--soft);border-radius:50%;padding:9px}
.town h3{font-size:clamp(1.4rem,2.4vw,1.75rem)}
.town .sub{color:var(--muted);font-size:.9rem;margin-top:2px}
.town>p{font-size:.97rem}
.town ul.has{list-style:none;padding:0;margin:0;display:grid;gap:7px;font-size:.93rem}
.town ul.has li{display:flex;align-items:center;gap:9px;min-width:0}
.town ul.has svg{width:26px;height:26px;flex:none}
.town ul.has a{text-decoration-color:var(--line)}.town ul.has a:hover{text-decoration-color:var(--c)}
.town .km{font:700 .86rem/1.6 var(--sans);color:var(--azul-ink);border-top:1px solid var(--line);padding-top:12px;margin-top:2px}
.town .km a{color:inherit;text-decoration:none;border-bottom:1.5px solid var(--azul-soft)}.town .km a:hover{border-color:var(--azul)}
.town .btn.tour{align-self:start;margin-top:auto}
.town .btn.tour svg{width:20px;height:20px}

/* ---- history ---- */
.hist-grid{display:grid;gap:26px 48px;grid-template-columns:1fr}
@media(min-width:900px){.hist-grid{grid-template-columns:minmax(0,7fr) minmax(0,5fr)}}
.lebaron{background:var(--paper);border-left:6px solid var(--pecan);padding:22px 24px;border-radius:0 var(--r) var(--r) 0;max-width:72ch;margin:22px 0 0}
.lebaron h3{margin-bottom:10px;color:var(--pecan)}
.lebaron p{font-size:1rem}
details.tl-box{margin-top:26px;background:var(--paper);border-radius:var(--r);border:1px solid var(--line)}
details.tl-box summary{list-style:none;cursor:pointer;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:16px 20px;font:700 1.05rem var(--sans);min-height:56px;border-radius:var(--r)}
details.tl-box summary::-webkit-details-marker{display:none}
details.tl-box summary::after{content:"+";font-family:var(--disp);font-size:1.6rem;color:var(--clay);line-height:1}
details.tl-box[open] summary::after{content:"–"}
details.tl-box summary:hover{background:var(--cream)}
.tl{list-style:none;padding:6px 20px 22px;margin:0;position:relative}
.tl li{position:relative;display:grid;gap:4px 22px;grid-template-columns:1fr;padding:0 0 22px 24px;border-left:2px solid var(--line);margin-left:6px}
.tl li::before{content:"";position:absolute;left:-7px;top:8px;width:12px;height:12px;border-radius:50%;background:var(--clay);border:2px solid var(--paper)}
.tl li:last-child{padding-bottom:0}
.tl .yr{font-family:var(--disp);font-size:1.2rem;line-height:1.1;color:var(--clay-ink)}
.tl .yr small{display:block;font:600 .82rem/1.3 var(--sans);color:var(--muted);margin-top:2px}
.tl p{max-width:60ch;font-size:.95rem}
@media(min-width:800px){.tl li{grid-template-columns:150px 1fr}}

/* ---- getting here ---- */
.map{position:relative;aspect-ratio:16/9;max-height:460px;border-radius:var(--r);overflow:hidden;background:var(--azul-soft);margin-bottom:28px;box-shadow:var(--shadow)}
.map button{position:absolute;inset:0;width:100%;height:100%;border:0;background:var(--azul-soft);display:grid;place-items:end center;padding-bottom:44px;cursor:pointer;font:inherit;color:var(--ink)}
.map button span.k{background:var(--paper);border:2px solid var(--azul);border-radius:999px;padding:12px 22px;font-weight:700;display:inline-flex;gap:10px;align-items:center;box-shadow:var(--shadow)}
.map button svg.pin{width:20px;height:20px}
.map button small{position:absolute;bottom:12px;left:16px;right:16px;text-align:left;color:var(--muted);font-size:.82rem}
.map svg.bg{position:absolute;inset:0;width:100%;height:100%}
.map iframe{position:absolute;inset:0;width:100%;height:100%;border:0}
.routes{display:grid;gap:16px;grid-template-columns:1fr}
@media(min-width:700px){.routes{grid-template-columns:repeat(2,1fr)}}
.route{background:var(--paper);border-radius:var(--r);padding:16px 18px;border-top:5px solid var(--azul)}
.route:nth-child(2){border-top-color:var(--sun)}.route:nth-child(3){border-top-color:var(--mari)}.route:nth-child(4){border-top-color:var(--lime)}
.route h3{font-size:1.15rem}
.route .km{font-family:var(--disp);color:var(--azul-ink);font-size:.98rem;margin:2px 0 8px}
.route p{font-size:.95rem}
.prac{display:grid;gap:24px 36px;grid-template-columns:1fr;margin-top:clamp(32px,5vw,52px)}
@media(min-width:800px){.prac{grid-template-columns:repeat(2,1fr)}}
.prac h3{font-size:1.15rem;margin-bottom:6px;color:var(--azul-ink)}
.prac p{font-size:.95rem}
.wx{width:100%;border-collapse:collapse;font-size:.93rem;margin-top:6px}
.wx th,.wx td{text-align:left;vertical-align:top;padding:8px 10px 8px 0;border-top:1px solid var(--line)}
.wx th{font-family:var(--disp);font-weight:400;font-size:1rem;white-space:nowrap;width:9em}
.wx tr:last-child td,.wx tr:last-child th{border-bottom:1px solid var(--line)}
.wx caption{text-align:left;color:var(--muted);font-size:.86rem;caption-side:bottom;padding-top:8px}

/* ---- footer ---- */
footer{background:var(--ink);color:rgba(255,250,240,.86);padding:0 0 36px}
footer .mtns{margin-bottom:-1px;background:var(--cream)}
footer .fg{display:grid;gap:24px 40px;grid-template-columns:1fr;padding-top:clamp(28px,5vw,48px)}
@media(min-width:800px){footer .fg{grid-template-columns:1.2fr 1fr 1fr}}
footer h3{font-size:1.35rem;color:var(--paper);margin-bottom:8px}
footer p{font-size:.95rem;margin-bottom:8px}
footer a{color:var(--paper);text-decoration-color:rgba(255,250,240,.4)}
footer .biz{font-family:var(--disp);font-size:1.15rem;color:var(--sun);line-height:1.35}
footer .legal{margin-top:28px;padding-top:18px;border-top:1px solid rgba(255,250,240,.18);font-size:.84rem;color:rgba(255,250,240,.62);display:flex;flex-wrap:wrap;gap:12px 28px;justify-content:space-between;align-items:center}
footer .legal a{color:rgba(255,250,240,.85)}
.top-link{display:inline-flex;align-items:center;gap:8px;min-height:44px;text-decoration:none}
footer .serape{margin-top:26px}

/* ---- cerca page ---- */
.band{background:linear-gradient(180deg,var(--azul-soft),var(--cream));padding:12px 0 0}
.band .wrap{padding-top:16px;padding-bottom:28px}
.band .mtns{margin-bottom:-1px}
