/* Availability and platform booking buttons */
.availability-badge{display:grid;gap:6px;width:100%;box-sizing:border-box;padding:17px 20px;margin:0 0 12px;border:1px solid #dfbc6e;border-radius:16px;background:#fff6df;color:#593f12;text-align:center;font:600 15px/1.45 system-ui,sans-serif;box-shadow:0 5px 16px #593f120d}
.availability-badge strong{font-size:16px;font-weight:800}
.booking-choice>.availability-badge{grid-column:1/-1;margin-bottom:0}
.booking-choice>.airbnb-booking-panel{grid-column:1/-1;width:100%}
.booking-choice-btn.booking-choice-airbnb,a.platform-airbnb,.error-actions a[href*="airbnb"]{background:#d92d48;border-color:#d92d48;color:#fff!important}
.booking-choice-btn.booking-choice-booking-portal,a.platform-booking,.error-actions a[href*="booking.com"]{background:#003b95;border-color:#003b95;color:#fff!important}
.booking-choice-btn.booking-choice-airbnb:hover,.booking-choice-btn.booking-choice-airbnb:focus-visible,a.platform-airbnb:hover{background:#b9223a;border-color:#b9223a}
.booking-choice-btn.booking-choice-booking-portal:hover,.booking-choice-btn.booking-choice-booking-portal:focus-visible,a.platform-booking:hover{background:#002b70;border-color:#002b70}
.booking-choice-btn.booking-choice-airbnb .booking-choice-arrow,.booking-choice-btn.booking-choice-booking-portal .booking-choice-arrow{color:#fff}
.platform-buttons{display:flex;gap:12px;flex-wrap:wrap}
.platform-buttons a{display:flex;align-items:center;justify-content:center;flex:1;min-height:52px;padding:12px 20px;border-radius:13px;text-decoration:none;font:700 16px/1.3 system-ui,sans-serif;box-sizing:border-box}
.platform-buttons a:focus-visible{outline:3px solid #087f8c;outline-offset:3px}
.bottom-booking{position:static;padding:20px 16px}.availability-bottom{max-width:700px;margin:auto}
body:has(.availability-bottom){padding-bottom:0}
.error-actions .secondary-link{padding:12px 18px;border-radius:12px}
@media(max-width:480px){.availability-badge{padding:14px 12px;font-size:14px}.availability-badge strong{font-size:15px}.platform-buttons{gap:8px}.platform-buttons a{padding:12px}}


.availability-badge{position:relative;overflow:hidden;display:block;padding:24px;border:2px solid #ffc85b;border-radius:22px;background:radial-gradient(ellipse at top right,#125975,transparent 75%),#062e43;color:#fff;text-align:left;box-shadow:0 12px 30px #062e4330;font-family:system-ui,sans-serif}
.availability-heading{display:flex;align-items:center;gap:12px;margin-bottom:20px}
.availability-heading strong{color:#fff;font-size:clamp(21px,2.2vw,27px);font-weight:850;line-height:1.2;letter-spacing:-.5px}
.availability-dot{width:12px;height:12px;flex:0 0 12px;border-radius:50%;background:#ffc85b;box-shadow:0 0 0 6px #ffc85b20}
.availability-dates{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.availability-date{display:flex;flex-direction:column;align-items:center;gap:10px;border-radius:13px;padding:16px 10px;background:#fff5da;color:#062e43;border-top:5px solid #ffc85b}
.availability-month{font-size:clamp(16px,1.6vw,21px);font-weight:850;line-height:1.3}
.availability-month>span{display:block;text-align:center;font-size:14px;font-weight:700;letter-spacing:2px;color:#52616a;margin-top:2px}
.availability-range{display:block;white-space:nowrap;font-size:clamp(29px,3vw,42px);line-height:1.1;font-weight:900;letter-spacing:-1.3px}
.availability-range small{font-size:10px;font-weight:800;letter-spacing:.4px;vertical-align:middle}
@media(max-width:480px){.availability-badge{padding:20px 14px;border-radius:18px}.availability-heading{gap:10px;margin-bottom:18px;padding-left:5px}.availability-heading strong{font-size:22px}.availability-dates{gap:9px}.availability-date{padding:14px 6px;gap:8px}.availability-month{font-size:17px}.availability-range{font-size:30px}.availability-range small{font-size:9px}}

.availability-heading strong{overflow-wrap:anywhere;min-width:0}
.availability-month{max-width:100%;overflow-wrap:anywhere;text-align:center}
.platform-buttons a{min-width:0;overflow-wrap:anywhere;text-align:center}
@media(max-width:359px){.availability-dates{grid-template-columns:1fr}.availability-date{gap:6px}.availability-month>span{display:inline;margin-left:6px}}

.availability-exact-dates{display:grid;gap:10px}.availability-exact-dates>span{display:block;padding:13px 15px;background:#fff5da;color:#062e43;border-left:4px solid #ffc85b;border-radius:10px;font-size:clamp(14px,1.5vw,19px);font-weight:750;line-height:1.5}

a.availability-badge{text-decoration:none;color:#fff;cursor:pointer}a.availability-badge:hover{border-color:#ffe1a1;box-shadow:0 14px 34px #062e4340}a.availability-badge:focus-visible{outline:3px solid #d92d48;outline-offset:4px}

/* Original photo grid: preserve intrinsic proportions and translate its link label. */
.hero-grid-link{color:#17343c;text-decoration:none}
.hero-grid-link picture{display:block}
.hero-media .hero-grid-link img{display:block;width:100%;height:auto;aspect-ratio:auto;object-fit:contain}
.hero-grid-caption{display:flex;align-items:center;justify-content:flex-end;gap:14px;padding:15px 20px;background:#fff;color:#17343c;font:750 16px/1.4 system-ui,sans-serif;text-align:right}
.hero-grid-caption>span{color:#d92d48;font-size:24px;line-height:1}
.hero-grid-link:hover .hero-grid-caption{color:#b9223a;background:#fff7f5}
.hero-grid-link:focus-visible{outline:3px solid #d92d48;outline-offset:-3px}
@media(max-width:760px){.hero-grid-caption{font-size:14px;padding:12px 14px;gap:10px}}

/* Direct booking via WhatsApp, below the two platform buttons. */
a.direct-whatsapp-button{display:flex;grid-column:1/-1;align-items:center;justify-content:center;gap:12px;box-sizing:border-box;width:100%;min-width:0;min-height:58px;margin-top:12px;padding:14px 20px;border:1px solid #137c43;border-radius:14px;background:#137c43;color:#fff!important;text-decoration:none;text-align:center;font:800 16px/1.4 system-ui,sans-serif;box-shadow:0 6px 18px #137c4320}
.booking-choice>a.direct-whatsapp-button{margin-top:0}
a.direct-whatsapp-button img{display:block;width:26px;height:26px;flex:0 0 26px;filter:brightness(0) invert(1)}
a.direct-whatsapp-button>span{min-width:0;overflow-wrap:anywhere}
a.direct-whatsapp-button .direct-whatsapp-arrow{font-size:24px;flex:0 0 auto}
a.direct-whatsapp-button:hover{background:#0c6333;border-color:#0c6333}
a.direct-whatsapp-button:focus-visible{outline:3px solid #ffc85b;outline-offset:3px}
@media(max-width:480px){a.direct-whatsapp-button{font-size:15px;padding:13px 14px;gap:10px}}

/* Warm availability and platform panel palette */
.availability-badge{border-color:#d6b387!important;background:linear-gradient(135deg,#f6ead8,#ead6bd)!important;color:#49352e!important;box-shadow:0 12px 30px rgba(88,51,34,.13)!important}
.availability-heading strong{color:#49352e!important}
.availability-date{border-color:#ddc7ae!important;background:#fffaf3!important;color:#49352e!important}
.availability-month,.availability-range{color:#49352e!important}
.availability-exact-dates>span{background:#f2e3d0;color:#49352e;border-left-color:#a6533a}
a.availability-badge:hover{border-color:#a6533a!important;box-shadow:0 14px 34px rgba(88,51,34,.2)!important}
a.availability-badge:focus-visible{outline-color:#a6533a}
.hero-grid-caption{background:#fffaf3;color:#49352e}
.hero-grid-link:hover .hero-grid-caption{background:#f3e2d0;color:#7f3d2e}
.hero-grid-link:focus-visible{outline-color:#a6533a}
a.direct-whatsapp-button{border-color:#96503b;background:#96503b;box-shadow:0 6px 18px #96503b20}
a.direct-whatsapp-button:hover{background:#713b2e;border-color:#713b2e}
a.direct-whatsapp-button:focus-visible{outline-color:#d2a779}

/* Unified palette and Airbnb-like typography across the full page */
:root{--paper:#fbf6ed;--white:#fffaf3;--ink:#49352e;--muted:#78665b;--teal:#d52870;--sea:#efe1ce;--sand:#e7d0b4;--airbnb:#d52870;--airbnb-dark:#ad1d59;--line:rgba(73,53,46,.15);--shadow:0 18px 50px rgba(73,53,46,.12);--booking:#ad1d59;--booking-bright:#d52870;--booking-pale:#fae4ed;--whatsapp:#d52870;--whatsapp-dark:#ad1d59;--whatsapp-soft:#fae4ed;--direct-gold:#d7b58a}
html,body{background:#fbf6ed!important;color:#49352e!important;font-family:'Figtree',Arial,Helvetica,sans-serif!important}
body,button,input,textarea,select{font-family:'Figtree',Arial,Helvetica,sans-serif!important}
.hero h1,.heading h2,.split-copy h2,.host-copy h2,.location-copy h2,.final h2,.language-section h2,.brand{font-family:'Figtree',Arial,Helvetica,sans-serif!important}
.hero h1,.heading h2,.split-copy h2,.host-copy h2,.location-copy h2,.final h2,.language-section h2{font-weight:700!important;letter-spacing:-.035em}
.topbar{background:rgba(251,246,237,.97)!important;border-bottom-color:#e4d5c5!important}
.nav a:hover,.nav a:focus-visible,.eyebrow{color:#ad1d59!important}
.proof,.footer{background:#49352e!important;color:#fffaf3!important}
.proof span,.footer span{color:#ead8c6!important}
.footer a{color:#fffaf3!important}
.footer a:hover,.footer a:focus-visible{color:#f3a4c2!important}
.section,.heading,.language-section{color:#49352e}
.hero-media,.host-image,.amenity,.identity,.primary-languages,.language-grid a,.section-photo figcaption{background:#fffaf3!important;border-color:#e5d5c4!important}
.included,.final{background:#efe1ce!important}
.location-card{background:linear-gradient(135deg,#49352e,#79513f)!important;color:#fffaf3!important}
.location-copy p{color:#f0dfce!important}
.hero-details{background:linear-gradient(145deg,#f6ebdd,#fffaf3 55%,#efe0ce)!important;border-color:#e4c8ac!important}
.hero-details-title{background:linear-gradient(135deg,#49352e,#7b5040)!important;color:#fffaf3!important}
.hero-details li{background:#fffaf3!important;border-color:#e5d5c4!important}
.hero-detail-body strong,.hero-detail-text{color:#49352e!important}
.hero-detail-check,.amenity i,.beach-service-facts b{background:#d52870!important;color:#fffaf3!important}
.primary-languages a[aria-current=page],.language-grid a[aria-current=page]{background:#fae4ed!important;border-color:#d52870!important}
.beach-highlight-card,.distance-highlight-card,.virtual-tour-card,.property-identity-card,.property-identity-notice{background:linear-gradient(135deg,#fffaf3,#f0e1d0)!important;border-color:#e4d1bd!important}
.property-identity-icon{background:linear-gradient(145deg,#c51d64,#e74887 58%,#e8b0c9)!important}
.direct-booking-panel{background:linear-gradient(145deg,#fffaf3,#f0e1d0)!important;border-color:#e2c9b0!important}
.direct-saving-badge{background:#fae4ed!important;color:#ad1d59!important;border-color:#eac2d3!important}
.booking-choice-btn{background:#d52870!important;border-color:#d52870!important;color:#fff!important}
.booking-choice-btn:hover,.booking-choice-btn:focus-visible{background:#ad1d59!important;border-color:#ad1d59!important}
.booking-choice-arrow,.booking-choice-secondary .booking-choice-arrow{color:#fff!important}
a.direct-whatsapp-button{background:#d52870!important;border-color:#d52870!important;color:#fff!important;box-shadow:0 6px 18px rgba(213,40,112,.2)!important}
a.direct-whatsapp-button:hover{background:#ad1d59!important;border-color:#ad1d59!important}
.mobile-book{background:#fffaf3!important;border-top-color:#e5d5c4!important;box-shadow:0 -10px 32px rgba(73,53,46,.12)!important}
.availability-badge{background:linear-gradient(135deg,#f5e9d8,#ead7c2)!important;border-color:#d7b58a!important;color:#49352e!important}
.availability-date{background:#fffaf3!important;border-color:#e3d2be!important;color:#49352e!important}
.availability-exact-dates>span{background:#f0e1d0!important;color:#49352e!important;border-left-color:#d52870!important}
.hero-grid-caption{background:#fffaf3!important;color:#49352e!important}
.hero-grid-link:hover .hero-grid-caption{background:#fae4ed!important;color:#ad1d59!important}
a:focus-visible,.hero-grid-link:focus-visible{outline-color:#d52870!important}

/* Final palette correction: fuchsia, blush and sand, without brown */
:root{--paper:#fbf6f2;--white:#fffaf8;--ink:#342d33;--muted:#746a72;--teal:#d52870;--sea:#f2e6eb;--sand:#efe2d7;--airbnb:#d52870;--airbnb-dark:#ad1d59;--line:rgba(52,45,51,.14);--shadow:0 18px 50px rgba(70,33,55,.12);--booking:#ad1d59;--booking-bright:#d52870;--booking-pale:#fae4ed;--whatsapp:#d52870;--whatsapp-dark:#ad1d59;--whatsapp-soft:#fae4ed;--direct-gold:#d7b58a}
html,body{background:#fbf6f2!important;color:#342d33!important}
body,body *{font-family:'Figtree',Arial,Helvetica,sans-serif!important}
body{color:#342d33!important}
.hero h1,.heading h2,.split-copy h2,.host-copy h2,.location-copy h2,.final h2,.language-section h2{color:#342d33!important;font-weight:700!important;letter-spacing:-.035em}
.topbar{background:rgba(251,246,242,.97)!important;border-bottom-color:#e7dce1!important}
.nav a:hover,.nav a:focus-visible,.eyebrow{color:#ad1d59!important}
.proof,.footer{background:#4d1834!important;color:#fffaf8!important}
.proof span,.footer span{color:#f4dce8!important}
.footer a{color:#fffaf8!important}
.footer a:hover,.footer a:focus-visible{color:#f3a4c2!important}
.hero-media,.host-image,.amenity,.identity,.primary-languages,.language-grid a,.section-photo figcaption{background:#fffaf8!important;border-color:#e8dbe1!important}
.included,.final{background:#f0e3e8!important}
.location-card{background:linear-gradient(135deg,#4d1834,#79234e)!important;color:#fffaf8!important}
.location-copy p{color:#f7eaf0!important}
.hero-details{background:linear-gradient(145deg,#f8edf1,#fffaf8 55%,#f1e5e9)!important;border-color:#e5c8d6!important;color:#342d33!important}
.hero-details-title{background:linear-gradient(135deg,#4d1834,#a3235c)!important;color:#fffaf8!important}
.hero-details li{background:#fffaf8!important;border-color:#e8dbe1!important}
.hero-detail-body strong,.hero-detail-text{color:#342d33!important}
.hero-detail-check,.amenity i,.beach-service-facts b{background:#d52870!important;color:#fffaf8!important}
.included-note{background:#fae4ed!important;border-color:#e9c7d7!important;color:#54243e!important;box-shadow:0 8px 22px rgba(173,29,89,.09)!important}
.primary-languages a[aria-current=page],.language-grid a[aria-current=page]{background:#fae4ed!important;border-color:#d52870!important}
.beach-highlight-card,.distance-highlight-card,.virtual-tour-card,.property-identity-card,.property-identity-notice{background:linear-gradient(135deg,#fffaf8,#f2e6eb)!important;border-color:#e8dbe1!important}
.property-identity-icon{background:linear-gradient(145deg,#ad1d59,#e74887 58%,#efb5cd)!important}
.property-identity-notice>p:not(.property-identity-kicker):not(.property-identity-owner){color:#514750!important}
.direct-booking-panel{background:linear-gradient(145deg,#fffaf8,#f2e6eb)!important;border-color:#e5d4dc!important}
.direct-saving-badge{background:#fae4ed!important;color:#ad1d59!important;border-color:#eac2d3!important}
.booking-choice-btn{background:#d52870!important;border-color:#d52870!important;color:#fff!important}
.booking-choice-btn:hover,.booking-choice-btn:focus-visible{background:#ad1d59!important;border-color:#ad1d59!important}
.booking-choice-arrow,.booking-choice-secondary .booking-choice-arrow{color:#fff!important}
a.direct-whatsapp-button{background:#d52870!important;border-color:#d52870!important;color:#fff!important;box-shadow:0 6px 18px rgba(213,40,112,.2)!important}
a.direct-whatsapp-button:hover{background:#ad1d59!important;border-color:#ad1d59!important}
.mobile-book{background:#fffaf8!important;border-top-color:#e8dbe1!important;box-shadow:0 -10px 32px rgba(70,33,55,.12)!important}
.availability-badge{background:linear-gradient(135deg,#f5e9ef,#efe2e9)!important;border-color:#e3c2d2!important;color:#342d33!important}
.availability-date{background:#fffaf8!important;border-color:#e8dbe1!important;color:#342d33!important}
.availability-exact-dates>span{background:#f2e6eb!important;color:#342d33!important;border-left-color:#d52870!important}
.hero-grid-caption{background:#fffaf8!important;color:#342d33!important}
.hero-grid-link:hover .hero-grid-caption{background:#fae4ed!important;color:#ad1d59!important}
a:focus-visible,.hero-grid-link:focus-visible{outline-color:#d52870!important}

/* Final accent: Airbnb red only, with neutral cream, sand and charcoal */
:root{--paper:#fbf8f4;--white:#fffaf6;--ink:#302d2d;--muted:#6f6969;--teal:#ff385c;--sea:#f2e9e4;--sand:#eee2d8;--airbnb:#ff385c;--airbnb-dark:#e31c5f;--line:rgba(48,45,45,.14);--shadow:0 18px 50px rgba(48,45,45,.12);--booking:#e31c5f;--booking-bright:#ff385c;--booking-pale:#fff0f2;--whatsapp:#ff385c;--whatsapp-dark:#e31c5f;--whatsapp-soft:#fff0f2;--direct-gold:#d7b58a}
html,body{background:#fbf8f4!important;color:#302d2d!important}
body,body *{font-family:'Figtree',Arial,Helvetica,sans-serif!important}
.hero h1,.heading h2,.split-copy h2,.host-copy h2,.location-copy h2,.final h2,.language-section h2{color:#302d2d!important;font-weight:700!important;letter-spacing:-.035em}
.topbar{background:rgba(251,248,244,.97)!important;border-bottom-color:#e5ddd7!important}
.nav a:hover,.nav a:focus-visible,.eyebrow{color:#ff385c!important}
.proof,.footer{background:#302d2d!important;color:#fffaf6!important}
.proof span,.footer span{color:#f0e8e2!important}
.footer a{color:#fffaf6!important}
.footer a:hover,.footer a:focus-visible{color:#ff385c!important}
.hero-media,.host-image,.amenity,.identity,.primary-languages,.language-grid a,.section-photo figcaption{background:#fffaf6!important;border-color:#e5ddd7!important}
.included,.final{background:#f2e9e4!important}
.location-card{background:linear-gradient(135deg,#302d2d,#514b4b)!important;color:#fffaf6!important}
.location-copy p{color:#f0e8e2!important}
.hero-details{background:linear-gradient(145deg,#f5eee9,#fffaf6 55%,#f1e7e1)!important;border-color:#e5d8d0!important;color:#302d2d!important}
.hero-details-title{background:linear-gradient(135deg,#454040,#625a5a)!important;color:#fffaf6!important}
.hero-details li{background:#fffaf6!important;border-color:#e5ddd7!important}
.hero-detail-body strong,.hero-detail-text{color:#302d2d!important}
.hero-detail-check,.amenity i,.beach-service-facts b{background:#ff385c!important;color:#fffaf6!important}
.included-note{background:#fff0f2!important;border-color:#ffd1d8!important;color:#302d2d!important;box-shadow:0 8px 22px rgba(227,28,95,.08)!important}
.primary-languages a[aria-current=page],.language-grid a[aria-current=page]{background:#fff0f2!important;border-color:#ff385c!important}
.beach-highlight-card,.distance-highlight-card,.virtual-tour-card,.property-identity-card,.property-identity-notice{background:linear-gradient(135deg,#fffaf6,#f2e9e4)!important;border-color:#e5ddd7!important}
.property-identity-icon{background:linear-gradient(145deg,#ff385c,#e31c5f 58%,#ff8a9d)!important}
.property-identity-notice>p:not(.property-identity-kicker):not(.property-identity-owner){color:#494444!important}
.direct-booking-panel{background:linear-gradient(145deg,#fffaf6,#f2e9e4)!important;border-color:#e5d8d0!important}
.direct-saving-badge{background:#fff0f2!important;color:#302d2d!important;border-color:#ffd1d8!important}
.booking-choice-btn{background:#ff385c!important;border-color:#ff385c!important;color:#fff!important}
.booking-choice-btn:hover,.booking-choice-btn:focus-visible{background:#e31c5f!important;border-color:#e31c5f!important}
.booking-choice-arrow,.booking-choice-secondary .booking-choice-arrow{color:#fff!important}
a.direct-whatsapp-button{background:#ff385c!important;border-color:#ff385c!important;color:#fff!important;box-shadow:0 6px 18px rgba(255,56,92,.18)!important}
a.direct-whatsapp-button:hover{background:#e31c5f!important;border-color:#e31c5f!important}
.mobile-book{background:#fffaf6!important;border-top-color:#e5ddd7!important;box-shadow:0 -10px 32px rgba(48,45,45,.12)!important}
.availability-badge{background:linear-gradient(135deg,#f5eee9,#eee2dc)!important;border-color:#ded0c8!important;color:#302d2d!important}
.availability-date{background:#fffaf6!important;border-color:#e5ddd7!important;color:#302d2d!important}
.availability-exact-dates>span{background:#f2e9e4!important;color:#302d2d!important;border-left-color:#ff385c!important}
.hero-grid-caption{background:#fffaf6!important;color:#302d2d!important}
.hero-grid-link:hover .hero-grid-caption{background:#fff0f2!important;color:#302d2d!important}
a:focus-visible,.hero-grid-link:focus-visible{outline-color:#ff385c!important}

/* Final Airbnb palette: white surfaces and Airbnb red accents */
:root{--paper:#fff;--white:#fff;--ink:#222;--muted:#6c6c6c;--teal:#ff385c;--sea:#fff;--sand:#fff;--airbnb:#ff385c;--airbnb-dark:#e31c5f;--line:#ebebeb;--shadow:0 12px 32px rgba(34,34,34,.08);--booking:#ff385c;--booking-bright:#ff385c;--booking-pale:#fff;--whatsapp:#ff385c;--whatsapp-dark:#e31c5f;--whatsapp-soft:#fff;--direct-gold:#ff385c}
html,body{background:#fff!important;color:#222!important}
body,body *{font-family:'Figtree',Arial,Helvetica,sans-serif!important}
body{color:#222!important}
.hero h1,.heading h2,.split-copy h2,.host-copy h2,.location-copy h2,.final h2,.language-section h2{color:#222!important;font-weight:700!important;letter-spacing:-.035em}
.topbar,.primary-languages,.hero-media,.section-photo figcaption,.amenity,.included,.host-image,.location-card,.identity,.final,.language-section,.virtual-tour-card,.property-identity-card,.property-identity-notice,.direct-booking-panel,.mobile-book,.footer,.proof{background:#fff!important;color:#222!important}
.topbar{border-bottom-color:#ebebeb!important}
.proof,.footer{border-color:#ebebeb!important}
.proof span,.footer span,.location-copy p{color:#6c6c6c!important}
.footer a{color:#222!important}
.footer a:hover,.footer a:focus-visible,.nav a:hover,.nav a:focus-visible,.eyebrow{color:#ff385c!important}
.location-card{border:1px solid #ebebeb!important;box-shadow:var(--shadow)!important}
.hero-details,.hero-details li,.beach-highlight-card,.distance-highlight-card,.availability-date,.availability-badge,.hero-grid-caption{background:#fff!important;color:#222!important;border-color:#ebebeb!important}
.hero-details-title{background:#ff385c!important;color:#fff!important;box-shadow:none!important}
.hero-detail-body strong,.hero-detail-text,.availability-heading strong,.availability-month,.availability-range{color:#222!important}
.hero-detail-check,.amenity i,.beach-service-facts b{background:#ff385c!important;color:#fff!important;box-shadow:none!important}
.included-note,.direct-saving-badge,.primary-languages a[aria-current=page],.language-grid a[aria-current=page],.availability-exact-dates>span{background:#fff!important;color:#222!important;border:1px solid #ff385c!important;box-shadow:none!important}
.property-identity-icon{background:#ff385c!important;box-shadow:none!important}
.property-identity-label{color:#ff385c!important;border-color:#ebebeb!important;background:#fff!important}
.booking-choice-btn,.book,.primary,.mobile-book>a,.virtual-tour-link,a.direct-whatsapp-button{background:#ff385c!important;border-color:#ff385c!important;color:#fff!important;box-shadow:none!important}
.booking-choice-btn:hover,.booking-choice-btn:focus-visible,.book:hover,.primary:hover,.mobile-book>a:hover,.virtual-tour-link:hover,a.direct-whatsapp-button:hover{background:#e31c5f!important;border-color:#e31c5f!important;color:#fff!important}
.booking-choice-arrow,.booking-choice-secondary .booking-choice-arrow{color:#fff!important}
.availability-badge:hover{border-color:#e31c5f!important;box-shadow:0 8px 22px rgba(34,34,34,.1)!important}
.availability-exact-dates>span{border-left:4px solid #ff385c!important}
.mobile-book{border-top:1px solid #ebebeb!important;box-shadow:0 -8px 24px rgba(34,34,34,.08)!important}
a:focus-visible,.hero-grid-link:focus-visible{outline-color:#ff385c!important}

/* Align the hero services card with the centered poster and chat width. */
.hero-details{width:100%;max-width:760px!important;margin:28px auto 24px!important}
@media(max-width:760px){.hero-details{max-width:760px!important;margin:20px auto!important}}

/* Center and emphasize the three hero service badges. */
.hero-copy>.benefits{justify-content:center!important;width:100%;margin-left:auto!important;margin-right:auto!important;gap:12px!important}
.hero-copy>.benefits span{display:inline-flex;align-items:center;justify-content:center;min-height:50px;padding:13px 20px!important;background:#ff385c!important;border:1px solid #ff385c!important;border-radius:999px;color:#fff!important;font-size:clamp(15px,1.35vw,19px)!important;font-weight:900!important;box-shadow:0 6px 18px rgba(255,56,92,.2)!important}
@media(max-width:760px){.hero-copy>.benefits{justify-content:center!important;gap:9px!important}.hero-copy>.benefits span{min-height:46px;padding:11px 15px!important;font-size:14px!important}}
/* Guest review carousel: touch-friendly cards below the host profile */
.guest-reviews-section{max-width:1180px;margin:34px auto!important;padding:clamp(18px,3vw,30px)!important;background:#fff!important;border:1px solid #ebebeb!important;border-radius:24px!important;box-shadow:0 12px 32px rgba(34,34,34,.08)!important;color:#222!important}
.guest-reviews-heading{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:18px}
.guest-reviews-heading h2{margin:0;color:#222!important;font-size:clamp(22px,3vw,30px)!important;font-weight:800!important;letter-spacing:-.03em}
.guest-reviews-heading p{margin:6px 0 0;color:#6c6c6c!important;font-weight:600}
.guest-review-controls{display:flex;gap:10px;flex:0 0 auto}
.guest-review-controls button{width:46px;height:46px;border:0;border-radius:50%;background:#ff385c!important;color:#fff!important;font-size:32px;line-height:1;display:grid;place-items:center;cursor:pointer;box-shadow:0 5px 14px rgba(255,56,92,.2)}
.guest-review-controls button:hover,.guest-review-controls button:focus-visible{background:#e31c5f!important;outline:3px solid #ffc4d0;outline-offset:2px}
.guest-review-track{display:grid;grid-auto-columns:minmax(0,1fr);grid-auto-flow:column;gap:16px;overflow-x:auto;overscroll-behavior-inline:contain;scroll-snap-type:inline mandatory;scrollbar-width:thin;scrollbar-color:#ff385c #f3f3f3;padding:2px 2px 14px;scroll-behavior:smooth}
.guest-review-card{min-width:0;scroll-snap-align:start;border:1px solid #ebebeb;border-radius:18px;padding:20px;background:#fff;box-shadow:0 5px 18px rgba(34,34,34,.06);color:#222}
.guest-review-person{display:flex;align-items:center;gap:12px}
.guest-review-person img{width:56px;height:56px;border-radius:50%;object-fit:cover;flex:0 0 auto}
.guest-review-person div{display:grid;gap:3px}.guest-review-person strong{font-size:17px;font-weight:800}.guest-review-person span{color:#6c6c6c;font-size:14px}
.guest-review-meta{margin:14px 0 10px;color:#6c6c6c;font-weight:600;font-size:14px}.guest-review-meta span{color:#222;letter-spacing:1px}
.guest-review-body{font-size:16px;line-height:1.55;color:#333}.guest-review-body p{margin:0 0 10px}.guest-review-body p:last-child{margin-bottom:0}
@media(min-width:1000px){.guest-review-track{grid-auto-columns:calc((100% - 32px)/3)}}
@media(min-width:650px) and (max-width:999px){.guest-review-track{grid-auto-columns:calc((100% - 16px)/2)}}
@media(max-width:649px){.guest-reviews-section{width:calc(100% - 24px)!important;margin:24px auto!important;padding:16px!important;border-radius:20px!important}.guest-reviews-heading{align-items:center}.guest-reviews-heading h2{font-size:22px!important}.guest-reviews-heading p{font-size:14px}.guest-review-controls{gap:7px}.guest-review-controls button{width:40px;height:40px;font-size:28px}.guest-review-track{grid-auto-columns:minmax(0,88%);gap:12px;margin-right:-4px}.guest-review-card{padding:17px;border-radius:16px}.guest-review-body{font-size:15px;line-height:1.55}}
/* Localized guest rating and host profile cards */
.guest-score-section{max-width:1180px;margin:28px auto 18px!important;padding:clamp(18px,3vw,28px)!important;background:#fff!important;border:1px solid #ebebeb!important;border-radius:24px!important;box-shadow:0 12px 32px rgba(34,34,34,.08)!important;color:#222!important}
.guest-score-hero{display:grid;grid-template-columns:auto 1fr;align-items:center;gap:18px;padding:16px 18px;margin-bottom:16px;border-radius:18px;background:#fff5f6;border:1px solid #ffd1d8}
.guest-score-number{font-size:clamp(44px,7vw,76px);line-height:1;font-weight:900;letter-spacing:-.06em;color:#222;white-space:nowrap}
.guest-score-hero h2{margin:0 0 6px;font-size:clamp(20px,2.6vw,28px);font-weight:800;color:#222!important}.guest-score-hero p{margin:0;color:#6c6c6c;line-height:1.5;font-weight:500}
.guest-score-categories{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));border-top:1px solid #ebebeb;padding-top:14px}
.score-category{display:flex;flex-direction:column;justify-content:space-between;gap:9px;padding:8px 12px;border-right:1px solid #ebebeb}.score-category:last-child{border-right:0}.score-category span{font-size:13px;font-weight:650;color:#555;line-height:1.3}.score-category b{font-size:18px;color:#222}
.host-profile-card{display:grid;grid-template-columns:minmax(150px,1fr) minmax(150px,.7fr);align-items:center;gap:28px;max-width:600px;margin:0 auto;padding:24px;background:#fff;border:1px solid #ebebeb;border-radius:28px;box-shadow:0 12px 30px rgba(34,34,34,.1);color:#222}
.host-profile-main{display:grid;justify-items:center;text-align:center;gap:4px}.host-profile-main img{width:104px;height:104px;object-fit:cover;border-radius:50%;margin-bottom:8px}.host-profile-main strong{font-size:32px;line-height:1.15;font-weight:800}.host-profile-main>span{color:#6c6c6c;font-size:15px}
.host-profile-stats{display:grid}.host-profile-stats>div{display:grid;gap:3px;padding:10px 0;border-bottom:1px solid #ddd}.host-profile-stats>div:last-child{border-bottom:0}.host-profile-stats b{font-size:24px;line-height:1.1}.host-profile-stats span{font-size:14px;color:#555}
@media(max-width:760px){.guest-score-section{width:calc(100% - 24px)!important;margin:20px auto 14px!important;padding:16px!important;border-radius:20px!important}.guest-score-hero{grid-template-columns:1fr;justify-items:center;text-align:center;gap:8px;padding:14px}.guest-score-number{font-size:52px}.guest-score-categories{grid-template-columns:repeat(2,minmax(0,1fr));gap:0}.score-category{padding:12px 9px;border-right:1px solid #ebebeb;border-bottom:1px solid #ebebeb;min-height:66px}.score-category:nth-child(2n){border-right:0}.score-category:nth-last-child(-n+1){border-bottom:0}.host-profile-card{grid-template-columns:1fr minmax(120px,.8fr);gap:12px;padding:17px;border-radius:22px}.host-profile-main img{width:84px;height:84px}.host-profile-main strong{font-size:25px}.host-profile-main>span{font-size:13px}.host-profile-stats b{font-size:20px}.host-profile-stats span{font-size:12px}}
@media(max-width:380px){.host-profile-card{grid-template-columns:1fr}.host-profile-main{grid-template-columns:auto 1fr;justify-items:start;text-align:left;column-gap:12px}.host-profile-main img{grid-row:span 2;width:64px;height:64px;margin:0}.host-profile-main strong{align-self:end;font-size:24px}.host-profile-main>span{align-self:start}.host-profile-stats{grid-template-columns:repeat(3,1fr);gap:8px}.host-profile-stats>div{border:0;padding:8px 0}.host-profile-stats b{font-size:17px}.host-profile-stats span{font-size:11px}}
/* Rating label and five-star scale on the Airbnb-red panel */
.guest-score-hero{background:#ff385c!important;border-color:#ff385c!important;color:#fff!important}
.guest-score-hero h2,.guest-score-hero p,.guest-score-scale-label,.guest-score-number{color:#fff!important}
.guest-score-hero p{opacity:.94}
.guest-score-scale{display:grid;justify-items:center;align-content:center;gap:4px}
.guest-score-scale-label{font-size:12px;font-weight:800;text-align:center;line-height:1.25}
.guest-score-stars{color:#fff!important;font-size:18px;letter-spacing:2px;line-height:1}
.guest-score-number{margin:0}
/* Highlight Superhost trust above the score */
.guest-score-trust{grid-column:1/-1;margin:0 0 12px;padding:2px 4px 12px;border-bottom:1px solid rgba(255,255,255,.45);color:#fff!important;text-align:center;font-size:clamp(17px,2.2vw,23px);font-weight:900;line-height:1.25;letter-spacing:-.015em;text-wrap:balance;text-shadow:0 1px 2px rgba(90,0,12,.2)}
@media(max-width:760px){.guest-score-trust{font-size:18px;margin-bottom:8px;padding-bottom:10px}}
/* On phones show exactly one full review card at a time */
@media(max-width:649px){
  .guest-review-track{grid-template-columns:none!important;grid-auto-columns:100%!important;gap:0!important;padding-inline:0!important;scroll-snap-type:x mandatory!important}
  .guest-review-card{width:100%!important;min-width:100%!important;scroll-snap-align:center!important}
}
@media(max-width:760px){
  .hero h1{font-size:clamp(31px,8vw,42px)!important;line-height:1.08!important;letter-spacing:-.035em!important;max-width:100%!important}
}
/* Keep the portrait hero artwork legible and fully visible on desktop and mobile. */
.hero-media-sardesidence{max-width:760px!important;margin:0 auto!important}
.hero-media-sardesidence picture,.hero-media-sardesidence img{display:block;width:100%;height:auto}

/* Align the hero and included-services panels with the guest rating and reviews width */
.hero,.included{width:calc(100% - 24px)!important;max-width:1180px!important;margin-left:auto!important;margin-right:auto!important}
@media(max-width:760px){.hero,.included{width:calc(100% - 24px)!important;max-width:1180px!important}}

/* Show the complete portrait hero collage without the landscape crop */
.hero-media-sardesidence img{display:block;width:100%;height:auto!important;aspect-ratio:auto!important;object-fit:contain!important}

/* Start the hero with the full image, followed by a compact title. */
.hero-title-block{max-width:980px!important;margin:18px auto 24px!important;text-align:center!important}
.hero-title-block h1{max-width:100%!important;font-size:clamp(28px,3.4vw,44px)!important;line-height:1.08!important;letter-spacing:-.035em!important}
@media(max-width:760px){.hero-title-block{margin:14px auto 18px!important;text-align:center!important}.hero-title-block h1{font-size:clamp(20px,6vw,24px)!important;line-height:1.12!important;display:-webkit-box!important;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden}}

/* Fit the complete mobile heading without clipping its text */
@media(max-width:760px){.hero-title-block h1{font-size:clamp(14px,4.2vw,18px)!important;line-height:1.12!important;display:block!important;-webkit-line-clamp:unset!important;-webkit-box-orient:initial!important;overflow:visible!important}}
