/* /praias-secretas-algarve e /en/hidden-beaches-algarve — Portal Turismo Portugal — 2026-10-12
 * Carrega depois de css/praia-v2.css (reutiliza .pv2-crumbs, .pv2-kicker, .pv2-chips, .pv2-btn, .pv2-note).
 * Tema proprio: "caderno de campo" noturno — tinta azul-noite, ocre de arriba, coordenadas em monoespaçada,
 * mapa do Algarve com os 15 pontos, entradas numeradas alternadas, cores por costa (rocha, calcario, areia).
 * ATENCAO style.css ate 768px: nenhuma classe contem "-grid" nem "-card"; main.pv2 anula o padding com !important.
 */
.sc-page{background:#0b1018;}
main.pv2.sc{
  --ink:#0b1018; --ink2:#111824; --ink3:#18222f; --ochre:#e0784a; --sand:#e8c36a; --lagoon:#5cc6c0; --line:rgba(255,255,255,.09);
  --mono:'JetBrains Mono',ui-monospace,SFMono-Regular,Menlo,monospace;
  background:var(--ink);
}
.sc .z-vicentina{--z:var(--ochre);} .sc .z-barlavento{--z:var(--sand);} .sc .z-ria{--z:var(--lagoon);}
.sc-wrap{max-width:1120px; margin:0 auto;}
.sc-intro{margin:0 0 24px; max-width:62ch; color:var(--mut); line-height:1.65;}
.sc-src{margin:12px 0 0; font-size:.75rem; color:rgba(255,255,255,.4);}

/* ── Hero: foto a toda a largura ─────────────────────────────────────── */
main.pv2.sc > .sc-hero{position:relative; isolation:isolate; min-height:min(92vh,820px); display:flex; align-items:flex-end;
  padding-top:clamp(110px,16vh,170px) !important; padding-bottom:clamp(40px,7vw,88px) !important; overflow:hidden;}
.sc-hero__bg{position:absolute; inset:0; z-index:-2;}
.sc-hero__bg img{width:100%; height:100% !important; object-fit:cover; object-position:60% 50%; display:block; animation:sc-drift 22s ease-out both;}
main.pv2.sc > .sc-hero::after{content:''; position:absolute; inset:0; z-index:-1; pointer-events:none;
  background:linear-gradient(90deg,rgba(11,16,24,.94) 0%,rgba(11,16,24,.78) 38%,rgba(11,16,24,.25) 70%,rgba(11,16,24,.35) 100%),linear-gradient(0deg,#0b1018 0%,rgba(11,16,24,0) 30%);}
.sc-hero__in{position:relative; max-width:1120px; width:100%; margin:0 auto; animation:pv2-rise .8s cubic-bezier(.22,1,.36,1) both;}
.sc-hero h1{margin:0 0 18px; max-width:12ch; font-family:'Bodoni Moda',Georgia,serif; font-weight:600; color:#fff; font-size:clamp(2.8rem,7vw,5.6rem); line-height:.95; letter-spacing:-.02em;}
.sc-hero h1 em{display:block; font-style:italic; font-weight:400; color:var(--ochre);}
.sc-lead{margin:0 0 24px; max-width:50ch; font-size:1.05rem; line-height:1.7; color:rgba(255,255,255,.82);}
.sc-hero__cr{position:absolute; right:clamp(16px,5vw,64px); bottom:12px; margin:0; font-size:9px; color:#fff; opacity:.35;}
.sc-hero__cr a{text-decoration:none;}
@keyframes sc-drift{from{transform:scale(1.08);} to{transform:scale(1);}}

/* ── Mapa ────────────────────────────────────────────────────────────── */
main.pv2.sc > .sc-mapsec{padding-top:clamp(48px,6vw,88px) !important;}
.sc h2{margin-bottom:12px;}
.sc-mapbox{display:grid; grid-template-columns:minmax(0,1fr); gap:18px; align-items:start; padding:18px; border-radius:24px; border:1px solid var(--line);
  background:radial-gradient(80% 120% at 20% 0%,rgba(92,198,192,.07),rgba(92,198,192,0) 60%),#0e1520;}
.sc-map{width:100%; height:auto; display:block;}
.sc-map .m-es{fill:#121b26;} .sc-map .m-land{fill:#16212d;} .sc-map .m-reg{fill:#1c2a38; stroke:rgba(232,195,106,.35); stroke-width:6;} .sc-map .m-bd{fill:none; stroke:rgba(255,255,255,.07); stroke-width:4;}
.sc-town{font:500 60px 'Inter',system-ui,sans-serif; fill:rgba(255,255,255,.42); text-anchor:middle; letter-spacing:.04em;}
.sc-pin circle{fill:var(--z); stroke:#0b1018; stroke-width:8; transition:r .15s;}
.sc-pin text{font:700 50px 'Inter',system-ui,sans-serif; fill:#0b1018; text-anchor:middle; pointer-events:none;}
.sc-pin:hover circle,.sc-pin:focus circle{r:58;}
.sc-pin:focus{outline:none;} .sc-pin:focus-visible circle{stroke:#fff;}
.sc-maplist{list-style:none; margin:0; padding:14px 0 0; display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:2px 12px; border-top:1px solid var(--line);}
.sc-maplist a{display:flex; align-items:center; gap:10px; padding:6px 8px; border-radius:10px; font-size:.84rem; color:rgba(255,255,255,.82); text-decoration:none;}
.sc-maplist a:hover{background:rgba(255,255,255,.05); color:#fff;}
.sc-maplist b{flex:none; width:24px; height:24px; border-radius:50%; display:grid; place-items:center; font-size:.72rem; color:#0b1018; background:var(--z);}

/* ── Capítulos por costa ─────────────────────────────────────────────── */
main.pv2.sc > .sc-zone{padding-top:clamp(56px,7vw,104px) !important;}
.sc-zone__h{margin:0 0 30px; padding:0 0 22px; border-bottom:1px solid var(--line);}
.sc-zone__k{margin:0 0 10px; font-family:var(--mono); font-size:.74rem; letter-spacing:.18em; text-transform:uppercase; color:var(--z);}
.sc-zone__h h2{font-size:clamp(2rem,4.4vw,3.2rem);}
.sc-zone__i{margin:0; max-width:64ch; font-size:1.02rem; line-height:1.7; color:rgba(255,255,255,.74);}

.sc-j{display:grid; grid-template-columns:minmax(0,1.05fr) minmax(0,1fr); gap:clamp(22px,4vw,48px); align-items:center; margin:0 0 clamp(36px,5vw,64px); scroll-margin-top:90px;}
.sc-j:nth-of-type(even) .sc-j__ph{order:2;}
.sc-j.is-hl .sc-j__ph{box-shadow:0 0 0 3px var(--z), 0 30px 70px -30px rgba(0,0,0,.9);}
.sc-j__ph{position:relative; margin:0; aspect-ratio:3/2; border-radius:4px 40px 4px 40px; overflow:hidden; background:var(--ink3); box-shadow:0 30px 70px -30px rgba(0,0,0,.9);}
.sc-j__ph img{width:100%; height:100% !important; object-fit:cover; display:block; transition:transform 1.2s cubic-bezier(.22,1,.36,1);}
.sc-j:hover .sc-j__ph img{transform:scale(1.03);}
.sc-j__ph::before{content:''; position:absolute; inset:0; z-index:1; border-left:4px solid var(--z); pointer-events:none;}
.sc-j__ph--none{display:flex; flex-direction:column; align-items:center; justify-content:center; gap:10px; color:var(--z);
  background:repeating-linear-gradient(0deg,rgba(255,255,255,.03) 0 1px,transparent 1px 22px),repeating-linear-gradient(90deg,rgba(255,255,255,.03) 0 1px,transparent 1px 22px),var(--ink3);}
.sc-j__ph--none svg{width:42px; height:42px; stroke:currentColor; fill:none; stroke-width:1.5;}
.sc-j__ph--none span{font-family:var(--mono); font-size:.78rem; color:rgba(255,255,255,.6);}
.sc-credit{position:absolute; z-index:2; right:10px; bottom:8px; margin:0; max-width:calc(100% - 20px); font-size:9px; line-height:1.2; color:#fff; opacity:.3; white-space:nowrap; overflow:hidden; text-overflow:ellipsis;}
.sc-credit:hover{opacity:.75;} .sc-credit a{text-decoration:none;}
.sc-j__b{min-width:0;}
.sc-j__k{display:flex; flex-wrap:wrap; align-items:center; gap:10px; margin:0 0 10px;}
.sc-j__n{font-family:var(--mono); font-size:.78rem; color:var(--z); letter-spacing:.06em;}
.sc-j__t{padding:3px 10px; border-radius:999px; font-size:.72rem; font-weight:600; letter-spacing:.06em; text-transform:uppercase; color:var(--z); border:1px solid color-mix(in srgb,var(--z) 45%,transparent);}
.sc-j h3{margin:0 0 6px; font-family:'Bodoni Moda',Georgia,serif; font-weight:600; font-size:clamp(1.6rem,3vw,2.2rem); line-height:1.08; color:#fff;}
.sc-j h3 a{text-decoration:none; color:inherit;} .sc-j h3 a:hover{color:var(--z);}
.sc-j__c{margin:0 0 16px; font-family:var(--mono); font-size:.74rem; color:rgba(255,255,255,.45);}
.sc-j__hook{margin:0 0 12px; padding-left:14px; border-left:2px solid var(--z); font-family:'Bodoni Moda',Georgia,serif; font-style:italic; font-size:1.18rem; line-height:1.45; color:#fff;}
.sc-j__txt{margin:0 0 14px; font-size:.95rem; line-height:1.72; color:rgba(255,255,255,.76);}
.sc-j__acc,.sc-j__warn{display:flex; gap:9px; align-items:flex-start; margin:0 0 8px; font-size:.86rem; line-height:1.5;}
.sc-j__acc{color:#fff; font-weight:500;}
.sc-j__warn{color:rgba(255,255,255,.6);}
.sc-j__acc svg,.sc-j__warn svg{flex:none; width:18px; height:18px; margin-top:1px; stroke:var(--z); fill:none; stroke-width:2; stroke-linecap:round; stroke-linejoin:round;}
.sc-j__warn svg{stroke:#f4a259;}
.sc-j__acts{display:flex; flex-wrap:wrap; gap:10px; margin-top:16px;}
.sc-j__acts a{display:inline-flex; align-items:center; gap:8px; min-height:42px; padding:9px 16px; border-radius:999px; font-size:.85rem; font-weight:600; text-decoration:none; color:#fff; border:1px solid rgba(255,255,255,.18); transition:border-color .2s, background .2s;}
.sc-j__acts a:first-child{background:rgba(255,255,255,.06);}
.sc-j__acts a:hover{border-color:var(--z);}
.sc-j__acts svg{width:16px; height:16px; stroke:currentColor; fill:none; stroke-width:2; stroke-linecap:round; stroke-linejoin:round;}

.sc-stay{display:flex; align-items:center; gap:14px; margin:4px 0 0; padding:16px 20px; border-radius:18px; text-decoration:none; color:#fff; border:1px solid rgba(232,201,122,.35); background:linear-gradient(120deg,rgba(232,201,122,.10),rgba(232,201,122,.02));}
.sc-stay:hover{border-color:var(--gold-l);}
.sc-stay > svg{flex:none; width:26px; height:26px; stroke:var(--gold-l); fill:none; stroke-width:2; stroke-linecap:round; stroke-linejoin:round;}
.sc-stay span{display:flex; flex-direction:column; flex:1;} .sc-stay small{color:var(--mut); font-size:.8rem;}
.sc-stay > svg:last-child{width:20px; height:20px;}

.sc-gyg{margin:28px 0 0; padding:clamp(18px,3vw,28px); border-radius:24px; background:#f6f4ef; color:#0a1a2b;}
.sc-gyg__k{margin:0 0 6px; font-family:var(--mono); font-size:.7rem; letter-spacing:.16em; text-transform:uppercase; color:#8a6d2f;}
.sc-gyg h3{margin:0 0 6px; font-family:'Bodoni Moda',Georgia,serif; font-size:1.5rem; color:#0a1a2b;}
.sc-gyg__h p{margin:0 0 16px; max-width:60ch; font-size:.9rem; line-height:1.6; color:#3a4656;}
.sc-gyg__frame{min-height:260px;}
.sc-gyg__all{display:inline-flex; align-items:center; gap:8px; margin-top:12px; font-weight:600; font-size:.88rem; color:#0a3d6b !important; text-decoration:none;}
.sc-gyg__all svg{width:16px; height:16px; stroke:currentColor; fill:none; stroke-width:2;}

/* ── Mais duas, kit, regras ──────────────────────────────────────────── */
main.pv2.sc > .sc-more,main.pv2.sc > .sc-kitsec,main.pv2.sc > .sc-rules,main.pv2.sc > .sc-faqs,main.pv2.sc > .sc-rel{padding-top:clamp(56px,7vw,96px) !important;}
.sc-tamb{display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:14px; list-style:none; margin:0; padding:0;}
.sc-tamb a{display:flex; flex-direction:column; gap:6px; height:100%; padding:20px; border-radius:18px; text-decoration:none; color:#fff; border:1px solid var(--line); background:rgba(255,255,255,.025);}
.sc-tamb a:hover{border-color:rgba(232,195,106,.5);}
.sc-tamb span{font-size:.9rem; line-height:1.55; color:var(--mut);}
.sc-kit{display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:14px;}
.sc-kit__i{display:flex; flex-direction:column; gap:8px; padding:20px; border-radius:18px; text-decoration:none; color:#fff; border:1px solid var(--line); background:rgba(255,255,255,.025); transition:border-color .2s, transform .2s;}
.sc-kit__i:hover{border-color:rgba(232,201,122,.55); transform:translateY(-2px);}
.sc-kit__i span{flex:1; font-size:.86rem; line-height:1.55; color:var(--mut);}
.sc-kit__i small{font-size:.78rem; font-weight:600; color:var(--gold-l);}
.sc-car{display:flex; align-items:center; gap:14px; margin-top:16px; padding:16px 20px; border-radius:18px; text-decoration:none; color:#fff; border:1px solid var(--line); background:rgba(255,255,255,.03);}
.sc-car:hover{border-color:rgba(232,201,122,.55);}
.sc-car > svg{flex:none; width:28px; height:28px; stroke:var(--gold-l); fill:none; stroke-width:2; stroke-linecap:round; stroke-linejoin:round;}
.sc-car span{display:flex; flex-direction:column; flex:1;} .sc-car small{color:var(--mut); font-size:.82rem;}
.sc-car em{display:inline-flex; align-items:center; gap:6px; font-style:normal; font-weight:600; font-size:.86rem; color:var(--gold-l); white-space:nowrap;}
.sc-car em svg{width:16px; height:16px; stroke:currentColor; fill:none; stroke-width:2;}
.sc-rl{display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:14px; list-style:none; margin:0; padding:0; counter-reset:r;}
.sc-rl li{counter-increment:r; padding:20px; border-radius:18px; border:1px solid var(--line); background:rgba(255,255,255,.025);}
.sc-rl li::before{content:'0' counter(r); display:block; margin-bottom:10px; font-family:var(--mono); font-size:.78rem; color:var(--ochre);}
.sc-rl h3{margin:0 0 8px; font-size:1rem; color:#fff;}
.sc-rl p{margin:0; font-size:.88rem; line-height:1.6; color:rgba(255,255,255,.7);}
.sc-faq{border-top:1px solid var(--line);} .sc-faq:last-of-type{border-bottom:1px solid var(--line);}
.sc-faq summary{cursor:pointer; list-style:none; padding:18px 36px 18px 0; position:relative; font-weight:600; color:#fff;}
.sc-faq summary::-webkit-details-marker{display:none;}
.sc-faq summary::after{content:'+'; position:absolute; right:4px; top:50%; transform:translateY(-50%); font-size:1.3rem; color:var(--ochre);}
.sc-faq[open] summary::after{content:'–';}
.sc-faq p{margin:0 0 18px; max-width:70ch; line-height:1.7; color:rgba(255,255,255,.74);}
.sc-links{display:flex; flex-wrap:wrap; gap:10px; list-style:none; margin:0; padding:0;}
.sc-links a{display:inline-block; padding:10px 16px; border-radius:999px; border:1px solid rgba(255,255,255,.16); text-decoration:none; font-size:.88rem;}
.sc-links a:hover{border-color:var(--ochre); color:var(--ochre);}
main.pv2.sc > .pv2-note{max-width:1120px; margin:clamp(40px,5vw,64px) auto 0;}

/* ── Responsivo ──────────────────────────────────────────────────────── */
@media (max-width:980px){
  .sc-kit,.sc-rl{grid-template-columns:repeat(2,minmax(0,1fr));}
  .sc-maplist{grid-template-columns:repeat(2,minmax(0,1fr));}
}
@media (max-width:760px){
  main.pv2.sc > .sc-hero{min-height:auto;}
  main.pv2.sc > .sc-hero::after{background:linear-gradient(0deg,#0b1018 0%,rgba(11,16,24,.86) 45%,rgba(11,16,24,.45) 100%);}
  .sc-j{grid-template-columns:minmax(0,1fr); gap:16px;}
  .sc-j:nth-of-type(even) .sc-j__ph{order:0;}
  .sc-j__ph{border-radius:4px 28px 4px 28px;}
  .sc-tamb{grid-template-columns:minmax(0,1fr);}
  .sc-car{flex-wrap:wrap;} .sc-car em{margin-left:42px;}
  .sc-mapbox{padding:10px;}
  .sc-pin text{display:none;} .sc-town{font-size:90px;}
}
@media (max-width:480px){
  .sc-kit,.sc-rl{grid-template-columns:minmax(0,1fr);}
  .sc-maplist{grid-template-columns:minmax(0,1fr);}
}
@media (prefers-reduced-motion:reduce){ .sc-hero__bg img{animation:none;} .sc-j__ph img{transition:none;} }
