:root { --ip-ink:#17343d; --ip-muted:#5b6b70; --ip-brand:#006d77; --ip-brand-dark:#00555d; --ip-sand:#f6f2e8; --ip-line:#dbe4e5; }
body.tax-localizaciones { color:var(--ip-ink); overflow-x:clip; }
.tax-localizaciones #page > .container:has(.rank-math-breadcrumb) { margin-bottom:0; }
.ip-beach-list, .ip-beach-list *, .ip-beach-list *::before, .ip-beach-list *::after { box-sizing:border-box; }
.ip-beach-list { background:#fff; padding-bottom:clamp(4rem,8vw,7rem); }
.ip-beach-list__shell { margin:0 auto; max-width:75rem; padding-left:1.25rem; padding-right:1.25rem; width:100%; }
.ip-beach-list__hero { background:var(--ip-sand); margin-top:1.5rem; padding:clamp(3.5rem,7vw,6rem) 0; }
.ip-beach-list__hero .ip-beach-list__shell { max-width:62.5rem; }
.ip-beach-list__eyebrow { color:var(--ip-brand); font-size:.78rem; font-weight:700; letter-spacing:.09em; margin:0 0 .65rem; text-transform:uppercase; }
.ip-beach-list__hero h1 { color:var(--ip-ink); font-size:clamp(2.75rem,7vw,5.25rem); font-weight:650; letter-spacing:-.05em; line-height:.98; margin:0; text-transform:none; }
.ip-beach-list__summary { color:var(--ip-brand); font-size:1rem; font-weight:700; margin:1.25rem 0 0; }
.ip-beach-list__description { color:#354f57; font-size:1.05rem; line-height:1.65; margin-top:1rem; max-width:46rem; }
.ip-beach-list__description > *:last-child { margin-bottom:0; }
.ip-location-children, .ip-beach-results, .ip-location-info { padding-top:clamp(3.5rem,7vw,6rem); }
.ip-location-children { border-bottom:1px solid var(--ip-line); padding-bottom:clamp(3.5rem,7vw,5rem); }
.ip-beach-list__section-heading { margin-bottom:1.75rem; }
.ip-beach-list__section-heading h2 { color:var(--ip-ink); font-size:clamp(1.8rem,4vw,2.75rem); font-weight:650; letter-spacing:-.04em; line-height:1.08; margin:0; text-transform:none; }
.ip-location-children ul { display:grid; gap:.65rem; grid-template-columns:repeat(4,minmax(0,1fr)); list-style:none; margin:0; padding:0; }
.ip-location-children a { border:1px solid var(--ip-line); border-radius:.35rem; color:var(--ip-ink); display:flex; flex-direction:column; min-height:4.5rem; padding:.8rem 1rem; text-decoration:none; }
.ip-location-children a:hover, .ip-location-children a:focus { border-color:var(--ip-brand); color:var(--ip-brand); }
.ip-location-children small { color:var(--ip-muted); margin-top:.2rem; }
.ip-beach-list__section-heading--results { align-items:end; display:flex; gap:2rem; justify-content:space-between; }
.ip-beach-list__section-heading--results > p { color:var(--ip-muted); margin:0; white-space:nowrap; }
.ip-beach-grid { display:grid; gap:1.5rem; grid-template-columns:repeat(3,minmax(0,1fr)); }
.ip-beach-card { border:1px solid var(--ip-line); border-radius:.55rem; display:flex; flex-direction:column; min-width:0; overflow:hidden; }
.ip-beach-card__media { background:var(--ip-sand); display:block; overflow:hidden; }
.ip-beach-card__image { aspect-ratio:4/3; display:block; height:auto; object-fit:cover; transition:transform .25s ease; width:100%; }
.ip-beach-card__media:hover .ip-beach-card__image { transform:scale(1.025); }
.ip-beach-card__placeholder { align-items:center; aspect-ratio:4/3; background:linear-gradient(165deg,#c7e3e2 0%,#e8f2ee 48%,#f1dfb9 49%,#f6f2e8 100%); display:flex; justify-content:center; position:relative; }
.ip-beach-card__placeholder::after { border:2px solid rgba(0,109,119,.38); border-left-color:transparent; border-radius:50%; content:''; height:4rem; position:absolute; transform:rotate(-8deg); width:8rem; }
.ip-beach-card__placeholder span { color:var(--ip-brand); font-size:.72rem; font-weight:700; letter-spacing:.1em; position:relative; text-transform:uppercase; z-index:1; }
.ip-beach-card__body { display:flex; flex:1; flex-direction:column; padding:1.25rem; }
.ip-beach-card__location { color:var(--ip-brand); font-size:.75rem; font-weight:700; letter-spacing:.06em; margin-bottom:.55rem; text-transform:uppercase; }
.ip-beach-card h3 { font-size:1.35rem; letter-spacing:-.025em; line-height:1.2; margin:0; text-transform:none; }
.ip-beach-card h3 a { color:var(--ip-ink); text-decoration:none; }
.ip-beach-card__facts { display:flex; flex-wrap:wrap; gap:.5rem 1.25rem; list-style:none; margin:1rem 0; padding:0; }
.ip-beach-card__facts li { color:var(--ip-muted); font-size:.82rem; }
.ip-beach-card__facts span { color:var(--ip-ink); display:block; font-size:.68rem; font-weight:700; letter-spacing:.06em; text-transform:uppercase; }
.ip-beach-card__link { color:var(--ip-brand); font-weight:700; margin-top:auto; text-decoration:none; }
.ip-beach-pagination { margin-top:3rem; text-align:center; }
.ip-beach-pagination .page-numbers { border:1px solid var(--ip-line); border-radius:.25rem; color:var(--ip-ink); display:inline-flex; justify-content:center; margin:.2rem; min-width:2.6rem; padding:.65rem .8rem; text-decoration:none; }
.ip-beach-pagination .current { background:var(--ip-brand); border-color:var(--ip-brand); color:#fff; }
.ip-location-info { border-top:1px solid var(--ip-line); margin-top:clamp(3.5rem,7vw,6rem); }
.ip-location-info__content { color:#354f57; font-size:1.05rem; line-height:1.7; max-width:50rem; }
.ip-location-info__content img { height:auto; max-width:100%; }
.ip-location-info__faq { margin-top:2rem; max-width:50rem; }
.ip-beach-list__empty { background:var(--ip-sand); border-radius:.5rem; padding:2rem; }
.ip-beach-cluster__hero { background:var(--ip-sand); margin-top:1.5rem; padding:clamp(3rem,6vw,5rem) 0; }
.ip-beach-cluster__hero-grid { align-items:center; display:grid; gap:clamp(2rem,6vw,5rem); grid-template-columns:minmax(0,.9fr) minmax(22rem,1.1fr); }
.ip-beach-cluster__hero--plain .ip-beach-cluster__hero-grid { grid-template-columns:minmax(0,48rem); }
.ip-beach-cluster__hero h1 { color:var(--ip-ink); font-size:clamp(2.75rem,6vw,4.75rem); font-weight:650; letter-spacing:-.05em; line-height:.98; margin:0; text-transform:none; }
.ip-beach-cluster__hero-media { border-radius:.55rem; margin:0; overflow:hidden; }
.ip-beach-cluster__hero-media img { aspect-ratio:16/10; display:block; height:auto; object-fit:cover; width:100%; }
.ip-cluster-nav { border-bottom:1px solid var(--ip-line); padding:2rem 0; }
.ip-cluster-nav ul { display:flex; flex-wrap:wrap; gap:.65rem; list-style:none; margin:0; padding:0; }
.ip-cluster-nav a { align-items:center; border:1px solid var(--ip-line); border-radius:999px; color:var(--ip-ink); display:inline-flex; font-weight:650; gap:.55rem; padding:.6rem .9rem; text-decoration:none; }
.ip-cluster-nav a[aria-current="page"], .ip-cluster-nav a:hover, .ip-cluster-nav a:focus { background:var(--ip-brand); border-color:var(--ip-brand); color:#fff; }
.ip-cluster-nav small { color:inherit; opacity:.72; }
.ip-attribute-nav { border-bottom:1px solid var(--ip-line); padding:2rem 0; }
.ip-attribute-nav ul { display:flex; flex-wrap:wrap; gap:.55rem; list-style:none; margin:0; padding:0; }
.ip-attribute-nav a { align-items:center; background:var(--ip-sand); border:1px solid transparent; border-radius:.35rem; color:var(--ip-ink); display:inline-flex; font-size:.9rem; gap:.5rem; padding:.55rem .75rem; text-decoration:none; }
.ip-attribute-nav a:hover,.ip-attribute-nav a:focus,.ip-attribute-nav a[aria-current="page"] { background:#fff; border-color:var(--ip-brand); color:var(--ip-brand); }
.ip-attribute-nav small { color:inherit; opacity:.68; }
.ip-beach-list a:focus-visible, .ip-beach-list summary:focus-visible { outline:3px solid #ff8a70; outline-offset:3px; }
@media(max-width:60rem){.ip-beach-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.ip-location-children ul{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:60rem){.ip-beach-cluster__hero-grid{grid-template-columns:1fr}.ip-beach-cluster__hero-media{max-width:42rem}}
@media(max-width:42rem){.ip-beach-list__hero,.ip-beach-cluster__hero{margin-top:0}.ip-beach-list__hero h1,.ip-beach-cluster__hero h1{font-size:clamp(2.7rem,13vw,4rem)}.ip-beach-grid,.ip-location-children ul{grid-template-columns:1fr}.ip-beach-list__section-heading--results{align-items:start;flex-direction:column;gap:.75rem}.ip-beach-card__body{padding:1.1rem}}
@media(prefers-reduced-motion:reduce){.ip-beach-list *{transition-duration:.01ms!important}}
