/* Indice de praias — /praias/ e /en/praias/ — Portal Turismo Portugal — 15/10/2026
 * Gerado por _scripts/seo/gen_indice_praias.py. Assenta em css/praia-v2.css (main.pv2, .pv2-wrap, .pv2-crumbs, .pv2-kicker, .pv2-note, barra de baixo).
 * ATENCAO style.css ate 768px: main/section com padding 16px !important e [class*="-grid"]/[class*="-card"] com !important.
 * Por isso: nenhuma classe contem "-grid" nem "-card"; paddings verticais das seccoes com !important.
 */
main.ip > .ip-hero{position:relative; isolation:isolate; padding-top:clamp(104px,14vh,150px) !important; padding-bottom:clamp(34px,5vw,60px) !important;
  background:radial-gradient(90% 120% at 100% 0%,rgba(201,168,76,.16) 0%,rgba(201,168,76,0) 50%),radial-gradient(80% 100% at 0% 100%,rgba(41,128,212,.18) 0%,rgba(41,128,212,0) 55%),linear-gradient(150deg,#07152A 0%,#0B1B2B 55%,#0F2a47 100%);
  border-bottom:1px solid var(--line);}
.ip-hero__top{display:flex; align-items:flex-end; gap:clamp(16px,3vw,36px); flex-wrap:wrap;}
.ip-big{margin:0; font-family:'Fraunces',Georgia,serif; font-weight:300; font-size:clamp(96px,16vw,196px); line-height:.8; letter-spacing:-.04em;
  background:linear-gradient(135deg,#e8c97a 0%,#c9a84c 55%,#E07A26 100%); -webkit-background-clip:text; background-clip:text; color:transparent;}
.ip-hero .pv2-kicker{margin:0 0 10px;}
.ip-hero h1{margin:0; font-family:'Bodoni Moda',Georgia,serif; font-weight:600; color:#fff; font-size:clamp(2.1rem,4.6vw,3.6rem); line-height:1.02; letter-spacing:-.02em;}
.ip-hero h1 em{font-style:italic; font-weight:400; color:var(--gold-l);}
.ip-lead{max-width:62ch; margin:22px 0 0; font-size:clamp(1rem,1.4vw,1.1rem); line-height:1.6; color:var(--txt);}
.ip-facts{display:flex; flex-wrap:wrap; gap:8px 26px; margin:22px 0 0; padding:0; list-style:none; font-size:.9rem; color:var(--mut);}
.ip-facts b{font-family:'Fraunces',Georgia,serif; font-weight:400; font-size:1.25rem; color:var(--gold-l); margin-right:4px;}
.ip-jump{margin-top:28px;}
.ip-jump ul{display:flex; flex-wrap:wrap; gap:8px; margin:0; padding:0; list-style:none;}
.ip-jump a{display:inline-flex; align-items:center; gap:8px; min-height:40px; padding:0 15px; border-radius:999px; border:1px solid rgba(232,201,122,.35); color:#fff; text-decoration:none; font-size:.88rem; transition:background .2s ease,border-color .2s ease;}
.ip-jump a b{font-weight:600; font-size:.78rem; color:var(--gold-l);}
.ip-jump a:hover{background:rgba(232,201,122,.12); border-color:var(--gold-l);}

main.ip > .ip-reg{padding-top:clamp(40px,6vw,64px) !important; padding-bottom:0 !important; scroll-margin-top:72px;}
.ip-reg + .ip-reg .pv2-wrap{border-top:1px solid var(--line); padding-top:clamp(40px,6vw,64px);}
main.ip > .ip-reg + .ip-reg{padding-top:0 !important;}
.ip-reg__head{display:flex; align-items:baseline; justify-content:space-between; gap:10px 24px; flex-wrap:wrap; margin-bottom:6px;}
.ip-reg__head h2{margin:0;}
.ip-reg__head h2 small{font-family:'Inter',system-ui,sans-serif; font-size:.85rem; font-weight:500; color:var(--mut); letter-spacing:0; margin-left:6px;}
.ip-reg__links{margin:0; font-size:.9rem; color:var(--mut);}
.ip-reg__links a{color:var(--gold-l); text-decoration:none;}
.ip-reg__links a:hover{text-decoration:underline;}
.ip-sub{margin:26px 0 12px; font-size:.78rem; font-weight:600; letter-spacing:.12em; text-transform:uppercase; color:var(--mut);}
.ip-sub small{font-size:inherit; color:var(--gold-l); margin-left:4px;}
.ip-list{margin:0; padding:0; list-style:none; columns:3; column-gap:32px;}
.ip-list li{break-inside:avoid; border-bottom:1px solid var(--line);}
.ip-list a{display:flex; flex-wrap:wrap; align-items:baseline; gap:2px 8px; padding:9px 0; text-decoration:none; color:var(--txt);}
.ip-list a:hover .ip-n{color:var(--gold-l); text-decoration:underline; text-underline-offset:3px;}
.ip-n{font-size:.95rem; line-height:1.35; color:#fff;}
.ip-t{font-size:.78rem; color:var(--mut);}
.ip-tag{display:inline-block; padding:1px 7px; border-radius:999px; font-size:.66rem; font-weight:600; letter-spacing:.02em; line-height:1.6; white-space:nowrap;}
.ip-tag--cam{color:#07152A; background:var(--gold-l);}
.ip-tag--ba{color:#cfe5ff; border:1px solid rgba(120,180,255,.45);}
.ip-top{margin:18px 0 0; font-size:.82rem;}
.ip-top a{color:var(--mut); text-decoration:none;}
.ip-top a:hover{color:#fff;}

main.ip > .ip-more{padding-top:clamp(48px,7vw,80px) !important; padding-bottom:clamp(8px,2vw,16px) !important;}
.ip-more__list{display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:14px; margin:0; padding:0; list-style:none;}
.ip-more__list a{display:block; height:100%; padding:18px 18px 20px; border-radius:4px 28px 4px 28px; border:1px solid var(--line); background:#0B1B2B; text-decoration:none; transition:border-color .2s ease,transform .2s ease;}
.ip-more__list a:hover{border-color:rgba(232,201,122,.5); transform:translateY(-2px);}
.ip-more__list b{display:block; font-family:'Bodoni Moda',Georgia,serif; font-size:1.15rem; color:#fff; margin-bottom:6px;}
.ip-more__list span{display:block; font-size:.84rem; line-height:1.45; color:var(--mut);}
main.ip > .pv2-note{max-width:1120px; margin:36px auto 0 !important; box-sizing:content-box;}

@media (max-width:1020px){ .ip-list{columns:2;} .ip-more__list{grid-template-columns:repeat(2,minmax(0,1fr));} }
@media (max-width:600px){
  .ip-list{columns:1;}
  .ip-hero__top{align-items:flex-start; flex-direction:column; gap:6px;}
  .ip-big{font-size:96px;}
  .ip-jump a{min-height:38px; padding:0 12px; font-size:.84rem;}
  .ip-more__list{grid-template-columns:minmax(0,1fr);}
}
@media (prefers-reduced-motion:reduce){ .ip-jump a,.ip-more__list a{transition:none;} }
html{scroll-behavior:smooth;}
@media (prefers-reduced-motion:reduce){ html{scroll-behavior:auto;} }
