/* FotoHoliday — guide locali. Oceano, luce e spazio per leggere. */
.seo-page{--seo-paper:#f5fbfc;background:#fbfdfd;color:#214b63}
.seo-page .container{width:min(100% - 4rem,78rem)}
.seo-page .site-header{border-bottom:1px solid #dbeaf0}
.seo-breadcrumb{padding-top:1.4rem;font-size:.73rem;color:#648393}
.seo-breadcrumb ol{display:flex;flex-wrap:wrap;gap:.4rem .65rem;list-style:none;padding:0;margin:0}
.seo-breadcrumb li+li:before{content:'↗';margin-right:.65rem;color:#92acb9}
.seo-breadcrumb a{text-decoration:none}
.seo-breadcrumb [aria-current]{color:#075888}
.seo-hero{display:grid;grid-template-columns:1.05fr 1fr;gap:3.5rem;align-items:center;padding-block:3rem 4rem}
.seo-hero__copy{max-width:42rem}
.seo-hero h1{font-size:clamp(2.35rem,4vw,4.05rem);line-height:1.075;letter-spacing:-.055em;color:#075888;margin:.9rem 0 1.4rem;text-wrap:balance;overflow-wrap:anywhere}
.seo-lead{font-size:1.08rem;line-height:1.8;color:#456b7d;max-width:37rem;margin-bottom:1.7rem}
.seo-hero__image{margin:0;position:relative;min-width:0}
.seo-hero__image img{width:100%;height:25rem;object-fit:cover;border-radius:8rem 1.4rem 1.4rem 1.4rem;background:#e0f0f3;box-shadow:0 20px 50px #073d6114}
.seo-hero__image figcaption{font-size:.68rem;line-height:1.6;color:#648393;padding:.8rem .3rem 0}
.seo-hero__image figcaption a,.seo-credit a{text-underline-offset:3px}
.seo-facts{display:flex;gap:.6rem;flex-wrap:wrap;margin:1.4rem 0 0;padding:0;list-style:none}
.seo-facts>*{font-size:.69rem;line-height:1.4;border-radius:40px;border:1px solid #c9e4ed;background:#edf8fa;padding:.55rem .85rem;color:#21617d}
.seo-facts>*:first-child{background:#fff1ae;border-color:#fff1ae;color:#075888}
.seo-layout{display:grid;grid-template-columns:minmax(0,1fr) 19rem;gap:5rem;padding-bottom:5rem;align-items:start}
.seo-article{min-width:0;max-width:54rem}
.seo-section{margin-bottom:3rem;scroll-margin-top:7rem}
.seo-section h2,.seo-faq h2,.seo-related h2{font-size:clamp(1.55rem,2.3vw,2.2rem);line-height:1.2;color:#075888;letter-spacing:-.035em;margin:0 0 1.15rem}
.seo-section h3{color:#075888;font-size:1.12rem;line-height:1.35}
.seo-section p,.seo-section li{font-size:.98rem;line-height:1.9;color:#426477}
.seo-section p+p{margin-top:1rem}
.seo-section ul{padding-left:1.25rem;margin-top:1rem}
.seo-section li{padding-left:.25rem;margin-bottom:.5rem}
.seo-section li::marker{color:#10a0b9}
.seo-aside{display:grid;gap:1.25rem;position:sticky;top:7rem}
.seo-toc{background:#edf7fa;border-radius:1.25rem;padding:1.5rem;border:1px solid #d7eaf0}
.seo-toc h2,.seo-toc h3{font-size:.73rem;letter-spacing:.1em;text-transform:uppercase;margin:0 0 1rem;color:#075888}
.seo-toc ol,.seo-toc ul{margin:0;padding:0;list-style:none;display:grid;gap:.75rem}
.seo-toc a{font-size:.82rem;line-height:1.6;text-decoration:none;color:#3c667b;display:block}
.seo-toc a:hover{color:#007faf;text-decoration:underline;text-underline-offset:4px}
.seo-price-card{background:#075888;color:white;border-radius:1.25rem;padding:1.5rem;box-shadow:0 12px 24px #07588813}
.seo-price-card h2,.seo-price-card h3{color:white;font-size:1.25rem;margin-bottom:1rem}
.seo-price-card p,.seo-price-card li{color:#d8eaf2;font-size:.82rem;line-height:1.65}
.seo-price-card strong{color:#fff1a1}
.seo-price-card a{color:white}
.seo-price-card .btn,.seo-price-card .ocean-button{margin-top:.8rem;background:#ffe16b;color:#075888;display:flex}
.seo-price-card .ocean-button>span{background:white}
.seo-price-card ul{padding-left:1rem}
.seo-faq{margin:3rem 0}
.seo-faq details{border-bottom:1px solid #d5e6ed;padding:1.1rem 0}
.seo-faq summary{cursor:pointer;font-size:.97rem;font-weight:650;color:#075888;line-height:1.6;list-style:none;position:relative;padding-right:2rem}
.seo-faq summary:after{content:'+';position:absolute;right:0;top:0;color:#087fae;font-size:1.4rem;font-weight:400}
.seo-faq details[open] summary:after{content:'−'}
.seo-faq details p{font-size:.91rem;line-height:1.8;padding-top:.9rem;color:#486d80}
.seo-sources{padding:1.3rem;background:#f0f7f9;border-radius:1rem;font-size:.74rem;color:#5e7e90;margin-top:2rem}
.seo-sources h2,.seo-sources h3{font-size:.83rem;letter-spacing:0;margin-bottom:.7rem}
.seo-sources ul{margin:0;padding-left:1rem;line-height:1.8}
.seo-sources a{overflow-wrap:anywhere}
.seo-credit{font-size:.7rem;line-height:1.65;color:#638091;margin-top:1rem}
.seo-related{padding-block:2.5rem 4rem;background:#f0f8fa}
.seo-related>.container>p{color:#5c7c8f;max-width:42rem;margin-bottom:1.8rem}
.seo-related-grid,.seo-card-grid,.seo-directory-grid,.seo-directory__grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1.35rem}
.seo-related:not(:has(>.container)){display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1.1rem;padding:2rem;border-radius:1.5rem}
.seo-related:not(:has(>.container))>h2{grid-column:1/-1}
.seo-card{display:flex;flex-direction:column;overflow:hidden;min-width:0;border:1px solid #dcebf0;border-radius:1.2rem;background:white;text-decoration:none;box-shadow:0 5px 18px #073d6106;transition:transform .2s,box-shadow .2s;position:relative}
.seo-card:hover{transform:translateY(-4px);box-shadow:0 15px 35px #073d6110}
.seo-card img{height:12rem;width:100%;object-fit:cover;background:#e3f0f4;display:block;flex-shrink:0}
.seo-card>div,.seo-card__body{padding:1.25rem;display:flex;flex-direction:column;flex:1}
.seo-card h2,.seo-card h3{font-size:1.16rem;line-height:1.3;letter-spacing:-.025em;margin:0 0 .65rem;color:#075888}
.seo-card h2 a,.seo-card h3 a{text-decoration:none;color:inherit}
.seo-card p{font-size:.83rem;line-height:1.7;color:#5d7e90;margin:0}
.seo-card small,.seo-card__eyebrow{font-size:.64rem;font-weight:650;letter-spacing:.09em;text-transform:uppercase;color:#0086a4;margin-bottom:.6rem}
.seo-card__link{display:flex;justify-content:space-between;align-items:center;margin-top:1rem;font-size:.77rem;font-weight:650;color:#075888;text-decoration:none}
.seo-directory{padding-bottom:5rem}
.seo-directory-controls{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(0,1fr);gap:1rem;padding:1.3rem;background:#eaf5f8;border-radius:1.3rem;margin-bottom:1.3rem}
.seo-directory-controls label{display:block;font-size:.73rem;font-weight:650;color:#2f627d;margin-bottom:.4rem}
.seo-directory-controls input,.seo-directory-controls select{display:block;width:100%;min-width:0;border:1px solid #c6dfe9;border-radius:.7rem;background:white;color:#174f6c;padding:.8rem 1rem;font:inherit;font-size:.88rem;min-height:3rem}
.seo-directory-controls input:focus,.seo-directory-controls select:focus{outline:3px solid #b9e6ef;outline-offset:2px;border-color:#0884a9}
.seo-directory-count{font-size:.8rem;color:#5c7c8c;margin:1.2rem 0}
.seo-empty{padding:2rem;text-align:center;border:1px dashed #a5c9d8;border-radius:1rem;color:#486c80}
.seo-page [hidden]{display:none!important}
.seo-footer{background:#053f65;color:#bfdce9;padding-block:3rem;font-size:.81rem;line-height:1.8}
.seo-footer a{color:#e4f2f7;text-underline-offset:4px}
.seo-footer .container{display:flex;flex-wrap:wrap;justify-content:space-between;gap:2rem}
.seo-footer nav{display:flex;gap:1.3rem;flex-wrap:wrap}
.seo-footer p{max-width:35rem;margin:0}
.seo-page :focus-visible{outline:3px solid #188cab;outline-offset:4px}
.seo-launch-note{padding:1rem 1.2rem;background:#fff6d6;border-left:3px solid #efcb4b;border-radius:0 .75rem .75rem 0;font-size:.8rem;line-height:1.6;color:#5b6b63;margin:1.5rem 0}
.seo-home-links{background:#eaf6f9;border-radius:1.5rem;padding:2rem;display:grid;grid-template-columns:1.3fr 2fr;gap:2.5rem;align-items:center}
.seo-home-links h2{font-size:2.3rem;margin:.7rem 0;color:#075888}
.seo-home-links p{font-size:.92rem;line-height:1.8;color:#4b7084}
.seo-home-links nav{display:grid;grid-template-columns:1fr 1fr;gap:.85rem}
.seo-home-links a{background:white;padding:1.2rem;border-radius:.85rem;text-decoration:none;font-weight:650;color:#075888;border:1px solid #d0e7f0;display:flex;justify-content:space-between;align-items:center;gap:.5rem}
@media(min-width:1500px){.seo-hero__image img{height:28rem}}
@media(max-width:1050px){.seo-layout{gap:2.5rem;grid-template-columns:minmax(0,1fr) 16rem}.seo-hero{gap:2rem}.seo-hero__image img{height:23rem}.seo-page .nav__list{gap:.9rem}.seo-page .nav{gap:1rem}.seo-related-grid,.seo-card-grid,.seo-directory-grid,.seo-directory__grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:760px){.seo-page .container{width:calc(100% - 2rem)}.seo-hero{grid-template-columns:1fr;gap:1.8rem;padding-block:1.7rem 2.5rem}.seo-hero h1{font-size:2.5rem;max-width:38rem}.seo-lead{font-size:.96rem;line-height:1.75}.seo-hero__image img{height:20rem;border-radius:5rem 1rem 1rem 1rem}.seo-layout{grid-template-columns:1fr;gap:1.8rem;padding-bottom:2.8rem}.seo-aside{position:static;grid-template-columns:1fr 1fr;align-items:start}.seo-section{margin-bottom:2.4rem}.seo-section p,.seo-section li{font-size:.94rem;line-height:1.85}.seo-related:not(:has(>.container)){grid-template-columns:1fr 1fr;padding:1.2rem}.seo-home-links{grid-template-columns:1fr;gap:1.5rem}.seo-home-links h2{font-size:1.9rem}}
@media(max-width:480px){.seo-breadcrumb{font-size:.64rem;padding-top:1rem}.seo-hero h1{font-size:2.18rem;line-height:1.1}.seo-hero .eyebrow{font-size:.63rem}.seo-hero__image img{height:17rem}.seo-hero__image figcaption{font-size:.62rem}.seo-related-grid,.seo-card-grid,.seo-directory-grid,.seo-directory__grid,.seo-related:not(:has(>.container)){grid-template-columns:1fr}.seo-aside{grid-template-columns:1fr}.seo-directory-controls{grid-template-columns:1fr;padding:1rem}.seo-card img{height:13rem}.seo-directory{padding-bottom:3rem}.seo-home-links{padding:1.2rem}.seo-home-links nav{grid-template-columns:1fr}.seo-footer .container{gap:1.3rem}.seo-footer nav{gap:.75rem 1.2rem}.seo-facts>*{font-size:.63rem}.seo-section h2,.seo-faq h2{font-size:1.62rem}}
@media(prefers-reduced-motion:reduce){.seo-card{transition:none}.seo-card:hover{transform:none}}

.ocean-home .island-zones a{display:inline-flex;padding:.5rem .8rem;border-radius:999px;border:1px solid #b9dce9;color:#075888;font-size:.76rem;text-decoration:none;background:#f1f9fc}.ocean-home .island-zones a:hover{background:#dceff5}.seo-home-links a:focus-visible{outline:3px solid #118cab;outline-offset:4px}

/* Thirty island areas: give Morro Jable and Costa Calma the first two places. */
.seo-page--zone-directory .seo-directory-grid{grid-template-columns:repeat(6,minmax(0,1fr))}
.seo-page--zone-directory .seo-directory-grid>.seo-card{grid-column:span 2}
.seo-page--zone-directory .seo-directory-grid>.seo-card:nth-child(-n+2){grid-column:span 3;border-color:#a8d5e5;background:linear-gradient(150deg,#fff 45%,#eef9fc)}
.seo-page--zone-directory .seo-directory-grid>.seo-card:nth-child(-n+2) img{height:16rem}
.seo-page--zone-directory .seo-directory-grid>.seo-card:nth-child(-n+2) h3{font-size:1.5rem}
.seo-page--zone-directory .seo-directory-grid>.seo-card:nth-child(-n+2) .seo-card__body{border-top:4px solid #f5d85f}
.seo-page--zone-directory .seo-directory-grid>.seo-card[hidden]{display:none}
@media(max-width:1050px){.seo-page--zone-directory .seo-directory-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.seo-page--zone-directory .seo-directory-grid>.seo-card,.seo-page--zone-directory .seo-directory-grid>.seo-card:nth-child(-n+2){grid-column:span 1}.seo-page--zone-directory .seo-directory-grid>.seo-card:nth-child(-n+2) img{height:13rem}}
@media(max-width:480px){.seo-page--zone-directory .seo-directory-grid{grid-template-columns:1fr}.seo-page--zone-directory .seo-directory-grid>.seo-card:nth-child(-n+2) h3{font-size:1.3rem}}
