/* Mapas das praias por regiao — /mapa-praias-<regiao> e /en/<regiao>-beaches-map — Portal Turismo Portugal — 2026-10-11
 * Gerado por _scripts/gen_mapas_regiao.py; comportamento em js/mapa-regiao.js. Tema escuro (navy + dourado) igual a praia-v2.
 * ATENCAO style.css ate 768px: main/section com padding 16px + overflow-x hidden !important; [class*="-grid"] e [class*="-card"]
 * com regras !important -> nenhuma classe aqui contem "-grid" nem "-card"; so <section> filhas diretas de main.mr (padding anulado).
 */
.mr-page{background:#07152A;}
main.mr{
  --ink:#07152A; --ink2:#0B1B2B; --gold:#c9a84c; --gold-l:#e8c97a; --sea:#7dd3fc; --rio:#4ade80; --cam:#ff4d6d;
  --calm:#4ade80; --mod:#fbbf24; --rough:#f87171; --na:#64748b;
  --txt:rgba(255,255,255,.92); --mut:rgba(255,255,255,.62); --line:rgba(255,255,255,.09);
  display:block; background:var(--ink); color:var(--txt); font-family:'Inter',system-ui,sans-serif;
  padding:0 0 clamp(40px,6vw,72px) !important; margin:0; max-width:none !important; overflow:hidden;
}
main.mr > header, main.mr > section, main.mr > nav, main.mr > p{padding-left:clamp(16px,4vw,48px) !important; padding-right:clamp(16px,4vw,48px) !important; max-width:none !important;}
.mr a{color:inherit;}
.mr h2{font-family:'Bodoni Moda',Georgia,serif; font-weight:600; letter-spacing:-.01em; color:#fff; font-size:clamp(1.55rem,3vw,2.15rem); line-height:1.12; margin:0 0 14px;}
.mr h2 em,.mr h1 em{font-style:italic; font-weight:400; color:var(--gold-l);}
.mr-wrap{max-width:1240px; margin:0 auto;}
.mr [hidden]{display:none !important;}
.mr .sr-only{position:absolute; width:1px; height:1px; overflow:hidden; clip:rect(0 0 0 0); white-space:nowrap;}
.mr-kicker{display:flex; align-items:center; gap:12px; margin:0 0 10px; font-size:.7rem; font-weight:600; letter-spacing:.2em; text-transform:uppercase; color:var(--gold-l);}
.mr-kicker::before{content:''; flex:0 0 28px; height:1px; background:linear-gradient(90deg,var(--gold-l),rgba(232,201,122,0));}

/* ── Hero (o proprio mapa) ────────────────────────────────────────────── */
main.mr > .mr-hero{padding-top:clamp(92px,11vh,118px) !important; padding-bottom:clamp(28px,4vw,48px) !important;
  background:radial-gradient(70% 90% at 100% 0%,rgba(201,168,76,.12) 0%,rgba(201,168,76,0) 55%),radial-gradient(60% 80% at 0% 30%,rgba(41,128,212,.16) 0%,rgba(41,128,212,0) 60%),linear-gradient(170deg,#07152A 0%,#0B1B2B 70%,#07152A 100%);}
.mr-hero__in{max-width:1240px; margin:0 auto; display:flex; flex-direction:column;}
.mr-crumbs{display:flex; flex-wrap:wrap; align-items:center; gap:6px; margin:0 0 14px; font-size:.76rem; line-height:1.4; color:var(--mut);}
.mr-crumbs a{text-decoration:none; color:var(--mut);} .mr-crumbs a:hover{color:#fff;}
.mr-crumbs span[aria-hidden]{opacity:.5;}
.mr-head{display:grid; grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr); gap:10px 44px; align-items:end; margin:0;}
.mr-hero h1{margin:0; font-family:'Bodoni Moda',Georgia,serif; font-weight:600; color:#fff; font-size:clamp(2rem,3.9vw,3.25rem); line-height:1.04; letter-spacing:-.02em;}
.mr-lead{margin:0; max-width:60ch; font-size:.98rem; line-height:1.6; color:rgba(255,255,255,.76);}
.mr-stats{display:flex; flex-wrap:wrap; gap:6px; list-style:none; margin:18px 0 16px; padding:0;}
.mr-stat{display:inline-flex; align-items:baseline; gap:7px; padding:6px 12px; border-radius:999px; background:rgba(255,255,255,.05); border:1px solid var(--line); font-size:.8rem; color:var(--mut);}
.mr-stat b{font-family:'Fraunces',Georgia,serif; font-weight:600; font-size:1.05rem; color:#fff; font-variant-numeric:tabular-nums;}
.mr-stat--ok b{color:#86efac;} .mr-stat--cam b{color:#fda4af;} .mr-stat--rio b{color:#86efac;}
.mr-stat--live{border-color:rgba(74,222,128,.35); background:rgba(74,222,128,.08);}
.mr-stat--live b{color:#86efac;}
.mr-stat--live.is-rough{border-color:rgba(125,211,252,.3); background:rgba(125,211,252,.07);} .mr-stat--live.is-rough b{color:#7dd3fc;}
.mr-stat--live::before{content:''; align-self:center; width:7px; height:7px; border-radius:50%; background:var(--cam); animation:mr-pulse 2s infinite;}

.mr-app{min-width:0;}
.mr-tools{display:flex; flex-wrap:wrap; align-items:center; gap:10px 14px; margin:0 0 12px;}
.mr-find{display:flex; gap:8px; flex:0 1 430px; min-width:0;}
.mr-tools .mr-chips{flex:1 1 300px; min-width:0;}
.mr-search{position:relative; flex:1 1 auto; min-width:0; display:block;}
.mr-search svg{position:absolute; left:14px; top:50%; width:18px; height:18px; transform:translateY(-50%); stroke:var(--mut); fill:none; stroke-width:2; pointer-events:none;}
.mr-search input,.mr-zone select{width:100%; height:46px; min-height:46px; border-radius:999px; border:1px solid rgba(255,255,255,.16); background:rgba(255,255,255,.06); color:#fff; font:500 .92rem 'Inter',system-ui,sans-serif; padding:0 16px 0 42px; outline:none; -webkit-appearance:none; appearance:none;}
.mr-search input::placeholder{color:rgba(255,255,255,.5);}
.mr-search input:focus,.mr-zone select:focus{border-color:var(--gold-l); box-shadow:0 0 0 3px rgba(232,201,122,.18);}
.mr-zone{flex:0 0 auto; width:min(220px,42%); position:relative; display:block;}
.mr-zone select{padding:0 34px 0 16px; text-overflow:ellipsis; background-image:linear-gradient(45deg,transparent 50%,rgba(255,255,255,.7) 50%),linear-gradient(135deg,rgba(255,255,255,.7) 50%,transparent 50%); background-position:calc(100% - 20px) 21px,calc(100% - 15px) 21px; background-size:5px 5px; background-repeat:no-repeat;}
.mr-zone select option{color:#07152A;}
.mr-chips{display:flex; gap:8px; flex:1 1 auto; overflow-x:auto; scrollbar-width:none; -webkit-overflow-scrolling:touch; padding:2px 0;}
.mr-chips::-webkit-scrollbar{display:none;}
.mr-chip{flex:0 0 auto; display:inline-flex; align-items:center; gap:6px; min-height:40px; padding:0 15px; border-radius:999px; border:1px solid rgba(255,255,255,.16); background:rgba(255,255,255,.04); color:#fff; font:500 .84rem 'Inter',system-ui,sans-serif; cursor:pointer; transition:background .2s,border-color .2s;}
.mr-chip small{font-size:.74rem; color:var(--mut); font-variant-numeric:tabular-nums;}
.mr-chip:hover{background:rgba(255,255,255,.1);}
.mr-chip[aria-pressed="true"]{background:var(--gold-l); border-color:var(--gold-l); color:#07152A;}
.mr-chip[aria-pressed="true"] small{color:rgba(7,21,42,.7);}
.mr-chip:focus-visible,.mr-ctl button:focus-visible,.mr-mode button:focus-visible,.mr-btn:focus-visible{outline:2px solid var(--gold-l); outline-offset:2px;}

.mr-stage{display:grid; grid-template-columns:minmax(0,1fr) 360px; gap:16px; align-items:start;}
.mr-map{position:relative; width:100%; aspect-ratio:var(--ar,1.4); min-height:460px; max-height:min(74vh,700px); border-radius:22px; overflow:hidden; isolation:isolate;
  border:1px solid rgba(255,255,255,.1); box-shadow:inset 0 1px 0 rgba(255,255,255,.05),0 30px 70px -36px rgba(0,0,0,.9);
  background:radial-gradient(90% 80% at 30% 20%,rgba(41,128,212,.22) 0%,rgba(41,128,212,0) 60%),radial-gradient(1.1px 1.1px at 1px 1px,rgba(125,211,252,.16) 99%,transparent 100%) 0 0/22px 22px,linear-gradient(180deg,#081a30 0%,#06182b 100%);
  touch-action:pan-y; user-select:none; -webkit-user-select:none; cursor:grab;}
.mr-map.is-zoomed{touch-action:none;}
.mr-map.is-drag{cursor:grabbing;}
.mr-svg{position:absolute; inset:0; width:100%; height:100% !important; display:block; max-width:none;}
.mr-svg .m-sea{fill:transparent;}
.mr-svg .m-es{fill:#0c1f33; stroke:none;}
.mr-svg .m-land{fill:#10263d; stroke:rgba(125,211,252,.14); stroke-width:.8; vector-effect:non-scaling-stroke;}
.mr-svg .m-reg{fill:#1a3c5f; stroke:rgba(232,201,122,.42); stroke-width:1; vector-effect:non-scaling-stroke;}
.mr-svg .m-bd{fill:none; stroke:rgba(255,255,255,.11); stroke-width:.7; vector-effect:non-scaling-stroke; stroke-linejoin:round;}
.mr-svg .m-sep{fill:none; stroke:rgba(232,201,122,.35); stroke-width:1; stroke-dasharray:4 6; vector-effect:non-scaling-stroke;}
.mr-svg .m-lab text{fill:rgba(214,226,240,.5); font-family:'Inter',system-ui,sans-serif; font-weight:600; letter-spacing:.08em; text-transform:uppercase; text-anchor:middle; dominant-baseline:middle; paint-order:stroke; stroke:#10263d; stroke-width:3px; stroke-linejoin:round; pointer-events:none;}
.mr-svg .m-lab text.is-off{display:none;}
.mr-svg .p{fill:var(--sea); stroke:#07152A; stroke-width:1.3; vector-effect:non-scaling-stroke; transition:opacity .25s, fill .3s;}
.mr-svg .p--rio{fill:var(--rio);}
.mr-svg .p--cam{stroke:var(--cam); stroke-width:2.4;}
.mr-svg .p.is-off{opacity:.13;}
.mr-map[data-mode="sea"] .p--mar{fill:var(--na);}
.mr-map[data-mode="sea"] .p--mar[data-lv="calm"]{fill:var(--calm);}
.mr-map[data-mode="sea"] .p--mar[data-lv="moderate"]{fill:var(--mod);}
.mr-map[data-mode="sea"] .p--mar[data-lv="rough"]{fill:var(--rough);}
.mr-map[data-mode="sea"] .p--rio{fill:#94a3b8;}
.mr-svg .m-sel circle{fill:none; stroke:var(--gold-l); stroke-width:2; vector-effect:non-scaling-stroke;}
.mr-svg .m-sel circle.dot{fill:var(--gold-l); stroke:#07152A; stroke-width:1.5;}
.mr-svg .m-sel circle.ring{animation:mr-ring 1.8s ease-out infinite; transform-box:fill-box; transform-origin:center;}
.mr-svg .m-sel text{fill:#fff; font-family:'Inter',system-ui,sans-serif; font-weight:600; paint-order:stroke; stroke:#07152A; stroke-width:4px; stroke-linejoin:round;}

.mr-ctl{position:absolute; right:12px; top:12px; z-index:2; display:flex; flex-direction:column; border-radius:14px; overflow:hidden; background:rgba(7,21,42,.82); border:1px solid rgba(255,255,255,.14); backdrop-filter:blur(8px); -webkit-backdrop-filter:blur(8px);}
.mr-ctl button{width:42px; height:42px; display:grid; place-items:center; color:#fff; border-bottom:1px solid rgba(255,255,255,.1);}
.mr-ctl button:last-child{border-bottom:0;}
.mr-ctl button:hover{background:rgba(255,255,255,.08);}
.mr-ctl svg{width:18px; height:18px; stroke:currentColor; fill:none; stroke-width:2.2; stroke-linecap:round; stroke-linejoin:round;}
.mr-legend{position:absolute; left:12px; bottom:12px; z-index:2; display:flex; flex-wrap:wrap; gap:4px 12px; max-width:calc(100% - 24px); padding:7px 12px; border-radius:12px; background:rgba(7,21,42,.8); border:1px solid rgba(255,255,255,.1); font-size:.72rem; color:rgba(255,255,255,.8); backdrop-filter:blur(8px); -webkit-backdrop-filter:blur(8px); pointer-events:none;}
.mr-legend span{display:inline-flex; align-items:center; gap:6px; white-space:nowrap;}
.mr-legend .mr-legend__live{display:none;}
.lg{display:inline-block; width:9px; height:9px; border-radius:50%; background:var(--sea);}
.lg--rio{background:var(--rio);} .lg--cam{background:transparent; border:2px solid var(--cam); width:10px; height:10px;}
.lg--calm{background:var(--calm);} .lg--mod{background:var(--mod); margin-left:6px;} .lg--rough{background:var(--rough); margin-left:6px;}
.mr-map[data-mode="sea"] .mr-legend > span:not(.mr-legend__live){display:none;}
.mr-map[data-mode="sea"] .mr-legend__live{display:inline-flex !important;}
.mr-mode{position:absolute; left:12px; top:12px; z-index:2; display:flex; align-items:center; gap:2px; padding:4px; border-radius:999px; background:rgba(7,21,42,.82); border:1px solid rgba(255,255,255,.14); font-size:.74rem; backdrop-filter:blur(8px); -webkit-backdrop-filter:blur(8px);}
.mr-mode span{padding:0 6px 0 8px; color:var(--mut);}
.mr-mode button{min-height:32px; padding:0 12px; border-radius:999px; color:rgba(255,255,255,.85); font-weight:600; font-size:.74rem;}
.mr-mode button[aria-pressed="true"]{background:rgba(232,201,122,.95); color:#07152A;}
.mr-mode button:disabled{opacity:.45; cursor:default;}
.mr-hint{position:absolute; left:50%; top:58px; z-index:1; transform:translateX(-50%); margin:0; padding:6px 12px; border-radius:999px; font-size:.72rem; color:rgba(255,255,255,.75); background:rgba(7,21,42,.7); pointer-events:none; transition:opacity .4s; white-space:nowrap;}
.mr-hint.is-off{opacity:0;}

/* painel / cartao */
.mr-panel{position:sticky; top:88px; min-height:300px; border-radius:22px; border:1px solid var(--line); overflow:hidden;
  background:radial-gradient(120% 100% at 100% 0%,rgba(41,128,212,.14) 0%,rgba(41,128,212,0) 55%),linear-gradient(165deg,#0B1B2B 0%,#0D2540 100%);}
.mr-empty{padding:26px 24px; font-size:.9rem; line-height:1.6; color:var(--mut);}
.mr-empty p{margin:0 0 10px;}
.mr-empty__t{font-family:'Bodoni Moda',Georgia,serif; font-size:1.4rem !important; color:#fff; line-height:1.2;}
.mr-count{font-size:.8rem; color:rgba(255,255,255,.5);}
.mr-calmest{margin:0 24px 24px; padding:16px 16px 12px; border-radius:16px; background:rgba(74,222,128,.06); border:1px solid rgba(74,222,128,.22);}
.mr-calmest__t{margin:0 0 8px; font-size:.7rem; font-weight:600; letter-spacing:.16em; text-transform:uppercase; color:#86efac;}
.mr-calmest ol{list-style:none; margin:0; padding:0;}
.mr-calmest li button{display:flex; width:100%; align-items:center; gap:10px; padding:8px 0; border-top:1px solid var(--line); color:#fff; font-size:.88rem; text-align:left;}
.mr-calmest li:first-child button{border-top:0;}
.mr-calmest li button:hover{color:var(--gold-l);}
.mr-calmest li i{flex:0 0 8px; height:8px; border-radius:50%; background:var(--calm);}
.mr-calmest li i[data-lv="moderate"]{background:var(--mod);} .mr-calmest li i[data-lv="rough"]{background:var(--rough);}
.mr-calmest li i[data-lv="moderate"] ~ b{color:#fcd34d;} .mr-calmest li i[data-lv="rough"] ~ b{color:#fca5a5;}
.mr-calmest li b{margin-left:auto; white-space:nowrap; font-weight:600; color:#86efac; font-variant-numeric:tabular-nums;}
.mr-calmest__n{margin:6px 0 0; font-size:.7rem; color:rgba(255,255,255,.4);}
.mr-panel.has-sel .mr-calmest{display:none;}
.mr-panel.has-sel .mr-empty{display:none;}
.mr-sheet{position:relative;}
.mr-sheet__ph{position:relative; aspect-ratio:16/10; background:linear-gradient(150deg,#0B1B2B,#10304F); overflow:hidden;}
.mr-sheet__ph img{width:100%; height:100% !important; object-fit:cover; display:block;}
.mr-sheet__cr{position:absolute; right:10px; bottom:7px; margin:0; font-size:9px; line-height:1.2; color:#fff; opacity:.28; max-width:calc(100% - 20px); white-space:nowrap; overflow:hidden; text-overflow:ellipsis;}
.mr-sheet__x{position:absolute; right:10px; top:10px; z-index:2; width:36px; height:36px; border-radius:50%; display:grid; place-items:center; color:#fff; background:rgba(7,21,42,.75); border:1px solid rgba(255,255,255,.18); font-size:1.2rem; line-height:1;}
.mr-sheet__hd{padding:16px 20px 0;}
.mr-sheet__bd{padding:12px 20px 20px;}
.mr-sheet__k{margin:0 0 4px; font-size:.68rem; font-weight:600; letter-spacing:.16em; text-transform:uppercase; color:var(--gold-l);}
.mr-sheet h3{margin:0 0 8px; font-family:'Bodoni Moda',Georgia,serif; font-weight:600; font-size:1.5rem; line-height:1.12; color:#fff;}
.mr-sheet__tags{display:flex; flex-wrap:wrap; gap:6px; margin:0 0 10px;}
.mr-sheet__now{display:flex; align-items:center; gap:8px; margin:0 0 10px; padding:9px 12px; border-radius:12px; background:rgba(255,255,255,.05); border:1px solid var(--line); font-size:.84rem; color:#fff;}
.mr-sheet__now i{flex:0 0 9px; width:9px; height:9px; border-radius:50%; background:var(--na);}
.mr-sheet__now[data-lv="calm"] i{background:var(--calm);} .mr-sheet__now[data-lv="moderate"] i{background:var(--mod);} .mr-sheet__now[data-lv="rough"] i{background:var(--rough);}
.mr-sheet__now small{color:var(--mut); margin-left:auto; font-size:.72rem;}
.mr-sheet__d{margin:0 0 14px; font-size:.86rem; line-height:1.55; color:rgba(255,255,255,.74); display:-webkit-box; -webkit-line-clamp:3; -webkit-box-orient:vertical; overflow:hidden;}
.mr-sheet__act{display:flex; flex-wrap:wrap; gap:8px;}
.mr-sheet__act .mr-btn{flex:1 1 auto; min-height:44px; padding:10px 16px; font-size:.86rem;}
.mr-sheet__more{display:flex; flex-wrap:wrap; gap:6px 16px; margin:12px 0 0; font-size:.8rem;}
.mr-sheet__more a{color:rgba(255,255,255,.75); text-decoration:none; border-bottom:1px solid rgba(232,201,122,.35);}
.t{display:inline-flex; align-items:center; gap:5px; padding:3px 9px; border-radius:999px; font-size:.7rem; font-weight:500; color:rgba(255,255,255,.85); background:rgba(255,255,255,.06); border:1px solid rgba(255,255,255,.1); white-space:nowrap;}
.t--ok{color:#86efac; border-color:rgba(74,222,128,.3);} .t--warn{color:#fcd34d; border-color:rgba(251,191,36,.3);} .t--bad{color:#fca5a5; border-color:rgba(248,113,113,.3);}
.t--cam{color:#fda4af; border-color:rgba(255,77,109,.35);} .t--rio{color:#86efac;}
a.t{text-decoration:none;} a.t--cam::before{content:''; width:6px; height:6px; border-radius:50%; background:var(--cam); animation:mr-pulse 2s infinite;}

.mr-btn{display:inline-flex; align-items:center; justify-content:center; gap:9px; min-height:48px; padding:12px 22px; border-radius:999px; font-weight:600; font-size:.92rem; text-decoration:none; color:#fff !important; background:rgba(255,255,255,.07); border:1px solid rgba(255,255,255,.22); transition:transform .2s ease, background .2s ease;}
.mr-btn:hover{transform:translateY(-2px); background:rgba(255,255,255,.13);}
.mr-btn svg{width:18px; height:18px; stroke:currentColor; fill:none; stroke-width:2.2; stroke-linecap:round; stroke-linejoin:round;}
.mr-btn--gold{color:#07152A !important; border:0; background:linear-gradient(135deg,var(--gold) 0%,var(--gold-l) 100%); box-shadow:0 12px 30px -12px rgba(201,168,76,.85), inset 0 1px 0 rgba(255,255,255,.45);}
.mr-btn--gold:hover{background:linear-gradient(135deg,var(--gold) 0%,var(--gold-l) 100%);}
.mr-src{margin:12px 0 0; font-size:.7rem; line-height:1.5; color:rgba(255,255,255,.4);}
.mr-src a{text-decoration:underline;}

/* ── Lista ────────────────────────────────────────────────────────────── */
main.mr > .mr-list{padding-top:clamp(40px,6vw,72px) !important;}
.mr-list__lead{margin:0 0 26px; max-width:70ch; color:var(--mut); line-height:1.6;}
.mr-groups{columns:3 320px; column-gap:22px;}
.mr-grp{break-inside:avoid; margin:0 0 22px; padding:16px 18px 6px; border-radius:18px; background:rgba(255,255,255,.03); border:1px solid var(--line);}
.mr-grp.is-off{display:none;}
.mr-grp h3{display:flex; align-items:baseline; justify-content:space-between; gap:10px; margin:0 0 6px; font-family:'Bodoni Moda',Georgia,serif; font-size:1.18rem; font-weight:600; color:#fff;}
.mr-grp h3 small{font-family:'Inter',system-ui,sans-serif; font-size:.72rem; font-weight:500; color:var(--mut); letter-spacing:.04em;}
.mr-grp ul{list-style:none; margin:0; padding:0;}
.mr-grp li{position:relative; padding:11px 74px 11px 0; border-top:1px solid var(--line);}
.mr-grp li:first-child{border-top:0;}
.mr-grp li.is-off{display:none;}
.mr-grp li > a{display:block; text-decoration:none;}
.mr-grp li > a strong{font-size:.95rem; font-weight:600; color:#fff;}
.mr-grp li > a:hover strong{color:var(--gold-l);}
.mr-grp li > a small{display:inline; margin-left:6px; font-size:.76rem; color:var(--mut);}
.mr-tags{display:flex; flex-wrap:wrap; gap:4px; margin:5px 0 0;}
.mr-grp li p{margin:5px 0 0; font-size:.8rem; line-height:1.5; color:rgba(255,255,255,.6);}
.mr-onmap{position:absolute; right:0; top:10px; min-height:32px; padding:0 11px; border-radius:999px; font-size:.72rem; font-weight:600; color:var(--gold-l); border:1px solid rgba(232,201,122,.35) !important;}
.mr-onmap:hover{background:rgba(232,201,122,.1);}
.mr-grp li.is-sel{background:linear-gradient(90deg,rgba(232,201,122,.08),rgba(232,201,122,0));}

/* ── Onde ficar ───────────────────────────────────────────────────────── */
main.mr > .mr-stay{padding-top:clamp(28px,5vw,56px) !important;}
.mr-stay__in{display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:20px 48px; align-items:center; padding:clamp(22px,3.4vw,40px); border-radius:24px; border:1px solid rgba(232,201,122,.25);
  background:radial-gradient(110% 120% at 0% 0%,rgba(201,168,76,.14) 0%,rgba(201,168,76,0) 55%),linear-gradient(160deg,#0B1B2B 0%,#0E2744 100%);}
.mr-stay__in p{margin:0; color:rgba(255,255,255,.74); line-height:1.6;}
.mr-stay__links{display:flex; flex-wrap:wrap; gap:10px;}
.mr-stay__links .mr-btn{flex:1 1 240px;}
.mr-stay__note{flex:1 1 100%; font-size:.72rem; color:rgba(255,255,255,.42) !important;}

/* ── FAQ ──────────────────────────────────────────────────────────────── */
main.mr > .mr-faq{padding-top:clamp(40px,6vw,72px) !important;}
.mr-faq .mr-wrap{max-width:880px;}
.mr-faq details{border-top:1px solid var(--line);}
.mr-faq details:last-child{border-bottom:1px solid var(--line);}
.mr-faq summary{list-style:none; cursor:pointer; padding:18px 40px 18px 0; position:relative; font-weight:600; font-size:1rem; color:#fff;}
.mr-faq summary::-webkit-details-marker{display:none;}
.mr-faq summary::after{content:'+'; position:absolute; right:6px; top:50%; transform:translateY(-50%); font-size:1.4rem; font-weight:300; color:var(--gold-l);}
.mr-faq details[open] summary::after{content:'−';}
.mr-faq details p{margin:0 0 18px; color:rgba(255,255,255,.74); line-height:1.65;}
.mr-faq details a{color:var(--gold-l); text-decoration:underline;}

main.mr > .mr-other{padding-top:clamp(36px,5vw,56px) !important;}
.mr-other .mr-wrap{display:flex; flex-wrap:wrap; align-items:center; gap:8px;}
.mr-other span{font-size:.8rem; color:var(--mut); margin-right:4px;}
.mr-other a{padding:8px 14px; border-radius:999px; font-size:.82rem; text-decoration:none; color:#fff; background:rgba(255,255,255,.05); border:1px solid var(--line);}
.mr-other a:hover{border-color:rgba(232,201,122,.5);}
main.mr > .mr-note{max-width:1240px !important; margin:clamp(32px,5vw,52px) auto 0; font-size:.74rem; line-height:1.6; color:rgba(255,255,255,.42);}

@keyframes mr-pulse{0%{box-shadow:0 0 0 0 rgba(255,77,109,.55);}70%{box-shadow:0 0 0 7px rgba(255,77,109,0);}100%{box-shadow:0 0 0 0 rgba(255,77,109,0);}}
@keyframes mr-ring{0%{transform:scale(1); opacity:.9;}100%{transform:scale(2.6); opacity:0;}}

@media (max-width:1100px){
  .mr-stage{grid-template-columns:minmax(0,1fr) 320px;}
}
@media (max-width:900px){
  .mr-head,.mr-intro{display:contents;}
  .mr-crumbs{order:1;} .mr-title{order:2;} .mr-stats{order:3;} .mr-app{order:4;} .mr-lead{order:5; margin-top:16px;}
  .mr-stage{grid-template-columns:1fr;}
  .mr-map{min-height:340px; max-height:66svh; border-radius:18px;}
  /* telemovel: cartao em folha fixa por cima da barra de baixo */
  .mr-panel{position:fixed; left:8px; right:8px; bottom:calc(68px + env(safe-area-inset-bottom,0px)); top:auto; z-index:95; min-height:0; max-height:min(58svh,440px); overflow-y:auto; border-radius:20px; box-shadow:0 -18px 50px -10px rgba(0,0,0,.75); transform:translateY(calc(100% + 90px)); transition:transform .32s cubic-bezier(.22,1,.36,1); border-color:rgba(232,201,122,.3); background:linear-gradient(165deg,#0B1B2B 0%,#0D2540 100%);}
  .mr-panel.has-sel{transform:none;}
  .mr-empty{display:none;}
  .mr-sheet__top{display:flex; gap:12px; align-items:flex-start; padding:12px 50px 0 12px;}
  .mr-sheet__ph{flex:0 0 68px; width:68px; height:68px; aspect-ratio:auto; border-radius:14px;}
  .mr-sheet__cr{display:none;}
  .mr-sheet__hd{flex:1 1 auto; min-width:0; padding:0;}
  .mr-sheet__k{font-size:.62rem; letter-spacing:.12em; white-space:nowrap; overflow:hidden; text-overflow:ellipsis;}
  .mr-sheet h3{font-size:1.18rem; margin:0 0 6px; white-space:nowrap; overflow:hidden; text-overflow:ellipsis;}
  .mr-sheet__tags{margin:0;}
  .mr-sheet__bd{padding:10px 12px 12px;}
  .mr-sheet__now{margin:0 0 10px; padding:7px 10px; font-size:.78rem;}
  .mr-sheet__now small{display:none;}
  .mr-sheet__d{display:none;}
  .mr-sheet__act{flex-wrap:nowrap;}
  .mr-sheet__act .mr-btn{flex:1 1 50%; min-height:44px; padding:8px 10px; font-size:.84rem;}
  .mr-sheet__more{margin:8px 0 0; justify-content:center;}
  .mr-sheet__x{right:8px; top:8px; width:34px; height:34px;}
  .mr-sheet--noph .mr-sheet__top{padding-left:14px;}
  .mr-stay__in{grid-template-columns:1fr;}
}
@media (max-width:768px){
  main.mr > header, main.mr > section, main.mr > nav, main.mr > p{padding-left:16px !important; padding-right:16px !important;}
  main.mr > .mr-hero{padding-top:88px !important;}
  .mr-hero h1{font-size:clamp(2rem,9.4vw,2.6rem);}
  .mr-lead{font-size:.94rem;}
  .mr-stats{margin:14px 0 14px; gap:6px; flex-wrap:nowrap; overflow-x:auto; scrollbar-width:none;}
  .mr-stats::-webkit-scrollbar{display:none;}
  .mr-stat{flex:0 0 auto; padding:6px 12px; font-size:.76rem;}
  .mr-tools{gap:8px;}
  .mr-find{flex:1 1 100%;}
  .mr-zone{width:42%;}
  .mr-chips{flex:1 1 100%; margin:0 -16px; padding:2px 16px;}
  .mr-ctl{right:8px; top:8px;}
  .mr-ctl button{width:40px; height:40px;}
  .mr-mode{left:8px; top:8px;}
  .mr-mode span{display:none;}
  .mr-legend{left:8px; bottom:8px; padding:6px 10px; font-size:.68rem;}
  .mr-hint{top:auto; bottom:44px;}
  .mr-groups{columns:1;}
  .mr-grp{padding:14px 14px 4px;}
  body.mr-page.mr-sheet-open{padding-bottom:calc(80px + env(safe-area-inset-bottom,0px));}
}
@media (prefers-reduced-motion:reduce){
  .mr-stat--live::before,.mr-svg .m-sel circle.ring,a.t--cam::before{animation:none;}
  .mr-panel,.mr-btn,.mr-svg .p{transition:none;}
}

/* ── Barra de baixo no telemovel (.mobile-bottom-nav) — copiada de css/praia-v2.css (estas paginas nao carregam esse ficheiro) ── */
.mobile-bottom-nav{display:none; position:fixed; bottom:0; left:0; right:0; z-index:90; background:rgba(10,61,107,.97); backdrop-filter:blur(20px) saturate(1.5); -webkit-backdrop-filter:blur(20px) saturate(1.5); border-top:1px solid rgba(255,255,255,.2);}
.mobile-bottom-nav-inner{display:flex; height:60px; align-items:stretch; padding-bottom:env(safe-area-inset-bottom,0px);}
.mobile-nav-item{flex:1; display:flex; flex-direction:column; align-items:center; justify-content:center; gap:3px; color:rgba(255,255,255,.6); font-size:.58rem; font-weight:500; letter-spacing:.05em; text-transform:uppercase; text-decoration:none;}
.mobile-nav-item svg{width:22px; height:22px; stroke:currentColor; fill:none; stroke-width:1.8; stroke-linecap:round; stroke-linejoin:round; max-width:none;}
.mobile-nav-item.active,.mobile-nav-item:hover{color:#c9a84c;}
@media (max-width:768px){
  .mobile-bottom-nav{display:block;}
  body.mr-page{padding-bottom:calc(80px + env(safe-area-inset-bottom,0px));}
}
