:root{--paper:#f8f6f1;--white:#fff;--ink:#172f36;--muted:#617278;--teal:#128b94;--sea:#dcefeb;--sand:#ecdfca;--airbnb:#ff385c;--airbnb-dark:#e31c5f;--line:rgba(23,47,54,.12);--shadow:0 18px 50px rgba(23,47,54,.13)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:Arial,Helvetica,sans-serif;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}img{display:block;max-width:100%}a{color:inherit}.skip{position:absolute;left:-10000px}.skip:focus{left:12px;top:12px;z-index:999;background:#fff;padding:12px 16px;border-radius:10px}.topbar{position:sticky;top:0;z-index:80;display:grid;grid-template-columns:1fr auto auto;align-items:center;gap:25px;min-height:72px;padding:10px clamp(16px,4vw,58px);background:rgba(248,246,241,.96);border-bottom:1px solid var(--line);backdrop-filter:blur(12px)}.brand{font-family:Georgia,"Times New Roman",serif;font-size:clamp(25px,2.3vw,34px);font-weight:700;letter-spacing:-.045em;text-decoration:none}.nav{display:flex;gap:24px}.nav a{font-size:13px;font-weight:800;text-decoration:none}.nav a:hover,.nav a:focus-visible{color:var(--airbnb)}.book,.primary{display:inline-flex;align-items:center;justify-content:center;background:var(--airbnb);color:#fff;text-decoration:none;font-weight:900;border-radius:13px;box-shadow:0 9px 24px rgba(255,56,92,.24);transition:background .16s ease,transform .16s ease}.book{min-height:44px;padding:11px 17px}.primary{min-height:56px;padding:15px 22px}.book:hover,.primary:hover{background:var(--airbnb-dark);transform:translateY(-1px)}a:focus-visible{outline:3px solid rgba(255,56,92,.3);outline-offset:4px}.hero{max-width:1540px;margin:0 auto;padding:clamp(44px,6vw,82px) clamp(12px,3.6vw,56px) clamp(56px,7vw,92px)}.hero-copy{max-width:980px;margin-bottom:clamp(28px,4vw,48px)}.eyebrow{margin:0 0 17px;color:var(--teal);font-size:11px;font-weight:900;letter-spacing:.18em;text-transform:uppercase}.hero h1,.heading h2,.split-copy h2,.host-copy h2,.location-copy h2,.final h2,.language-section h2{font-family:Georgia,"Times New Roman",serif;font-weight:500;letter-spacing:-.045em}.hero h1{max-width:1050px;margin:0;font-size:clamp(45px,5vw,78px);line-height:.98}.lead{max-width:820px;margin:23px 0 21px;color:var(--muted);font-size:clamp(16px,1.45vw,20px);line-height:1.62}.benefits{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:24px}.benefits span{padding:9px 12px;background:#fff;border:1px solid var(--line);border-radius:999px;font-size:12px;font-weight:800}.hero-actions{display:flex;align-items:center;flex-wrap:wrap;gap:13px}.safe-note{color:var(--muted);font-size:11px;font-weight:700}.rating{margin:13px 0 0;color:var(--muted);font-size:12px;font-weight:900}.hero-media{overflow:hidden;border:1px solid var(--line);border-radius:25px;background:#fff;box-shadow:var(--shadow)}.hero-media picture,.hero-media img{display:block;width:100%;height:auto}.primary-languages{display:flex;flex-wrap:wrap;gap:7px;padding:13px clamp(16px,4vw,58px);background:#fff;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.primary-languages a,.language-grid a{display:inline-flex;align-items:center;gap:6px;text-decoration:none;border:1px solid var(--line);background:#fff;border-radius:999px;font-size:10px;font-weight:900}.primary-languages a{min-height:31px;padding:6px 9px}.primary-languages a[aria-current=page],.language-grid a[aria-current=page]{background:#fff0f3;border-color:var(--airbnb)}.primary-languages img,.language-grid img{width:18px;height:12px;object-fit:cover;border-radius:2px}.proof{display:grid;grid-template-columns:repeat(4,1fr);background:var(--ink);color:#fff;padding:25px clamp(16px,5vw,76px)}.proof div{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:64px;text-align:center;border-right:1px solid rgba(255,255,255,.16)}.proof div:last-child{border-right:0}.proof strong{font-family:Georgia,"Times New Roman",serif;font-size:25px;font-weight:500}.proof span{margin-top:5px;color:#c8d8da;font-size:10px;font-weight:800;letter-spacing:.05em;text-transform:uppercase}.section{max-width:1420px;margin:0 auto;padding:clamp(72px,8vw,112px) clamp(16px,5vw,78px)}.section:not(.amenities){content-visibility:auto;contain-intrinsic-size:760px}.heading{max-width:830px;margin:0 auto 42px;text-align:center}.heading h2,.split-copy h2,.host-copy h2,.location-copy h2,.final h2,.language-section h2{margin:0;font-size:clamp(40px,4.3vw,66px);line-height:1.02}.heading>p:last-child,.split-copy>p:not(.eyebrow):not(.included-note),.host-copy>p:not(.eyebrow),.location-copy>p:not(.eyebrow),.final>p:not(.eyebrow),.language-section>p:not(.eyebrow){color:var(--muted);font-size:16px;line-height:1.67}.amenity-layout{display:grid;grid-template-columns:.86fr 1.14fr;gap:22px;align-items:stretch}.section-photo{position:relative;margin:0;overflow:hidden;border-radius:25px;min-height:590px}.section-photo img{width:100%;height:100%;object-fit:cover}.section-photo figcaption{position:absolute;left:16px;bottom:16px;padding:10px 13px;background:rgba(255,255,255,.94);border-radius:12px;font-size:12px;font-weight:900}.amenity-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.amenity{display:flex;align-items:flex-start;gap:12px;padding:18px;background:#fff;border:1px solid var(--line);border-radius:17px}.amenity i{display:flex;align-items:center;justify-content:center;flex:0 0 40px;height:40px;border-radius:50%;background:#fff0f3;color:var(--airbnb-dark);font-style:normal;font-weight:900}.amenity p{margin:2px 0 0;font-size:14px;font-weight:800;line-height:1.48}.included{display:grid;grid-template-columns:1.07fr .93fr;background:var(--sea)}.included-media img{width:100%;height:100%;min-height:690px;object-fit:cover}.split-copy{align-self:center;padding:clamp(54px,7vw,98px)}.checklist{display:grid;gap:9px;margin:26px 0;padding:0;list-style:none}.checklist li{display:flex;gap:10px;align-items:flex-start;padding:12px 14px;background:rgba(255,255,255,.74);border-radius:12px;font-size:14px;font-weight:800;line-height:1.45}.checklist b{color:var(--airbnb)}.included-note{margin-top:20px;padding:18px 20px;border:1px solid rgba(15,91,53,.2);border-radius:14px;background:linear-gradient(135deg,#168447 0%,#0d6b38 100%);color:#fff!important;font-weight:900;box-shadow:0 10px 24px rgba(13,107,56,.22)}.host{display:grid;grid-template-columns:.8fr 1.2fr;align-items:center;gap:clamp(34px,6vw,84px)}.host-image{padding:10px;background:#fff;border-radius:26px;box-shadow:var(--shadow)}.host-image img{width:100%;height:auto;border-radius:18px}.host-copy ul{display:grid;gap:10px;list-style:none;margin:24px 0;padding:0}.host-copy li{position:relative;padding-left:24px;color:var(--muted);line-height:1.55}.host-copy li:before{position:absolute;left:0;content:"✓";color:var(--airbnb);font-weight:900}.host-copy blockquote{margin:25px 0 0;padding:5px 0 5px 20px;border-left:3px solid var(--airbnb);font-family:Georgia,"Times New Roman",serif;font-size:20px;font-style:italic;line-height:1.5}.location-card{display:grid;grid-template-columns:1.08fr .92fr;align-items:center;gap:34px;padding:clamp(38px,5vw,72px);background:linear-gradient(135deg,#17343c,#1b5860);color:#fff;border-radius:28px}.location-copy p{color:#d1dfe1!important}.location-facts{display:flex;flex-wrap:wrap;gap:8px;margin-top:22px}.location-facts span{padding:9px 12px;border:1px solid rgba(255,255,255,.18);border-radius:999px;font-size:11px;font-weight:900}.identity{display:grid;grid-template-columns:.75fr 1fr 2fr;margin:26px 0 0;padding:18px 20px;background:#fff;color:var(--ink);border-radius:15px}.identity>div{padding:0 15px;border-right:1px solid var(--line)}.identity>div:first-child{padding-left:0}.identity>div:last-child{padding-right:0;border-right:0}.identity dt{color:var(--muted);font-size:9px;font-weight:900;letter-spacing:.1em;text-transform:uppercase}.identity dd{margin:5px 0 0;font-size:12px;font-weight:900;line-height:1.4}.location-card>img{width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:20px}.final{max-width:none;text-align:center;background:var(--sand)}.final>p:not(.eyebrow){max-width:680px;margin:22px auto 28px}.final-rating{margin-top:15px;color:var(--muted);font-size:12px;font-weight:900}.language-section{max-width:1220px}.language-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:9px;margin-top:30px}.language-grid a{justify-content:flex-start;min-height:42px;padding:9px 12px;border-radius:12px}.language-grid b{font-size:11px}.language-grid span{color:var(--muted);font-size:11px}.footer{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:24px;padding:42px clamp(16px,5vw,76px);background:#10272e;color:#fff;font-size:12px}.footer span{text-align:center;color:#c4d1d3}.footer a{justify-self:end;font-weight:900}.mobile-book{display:none}
@media(max-width:1080px){.topbar{grid-template-columns:1fr auto}.nav{display:none}.amenity-layout{grid-template-columns:1fr}.section-photo{min-height:500px}.host{grid-template-columns:1fr 1fr}.language-grid{grid-template-columns:repeat(4,1fr)}.identity{grid-template-columns:1fr 1fr}.identity>div:nth-child(2){border-right:0}.identity>div:last-child{grid-column:1/-1;margin-top:14px;padding:14px 0 0;border-top:1px solid var(--line)}}
@media(max-width:760px){body{padding-bottom:82px}.topbar{min-height:62px;padding:8px 14px}.brand{font-size:24px}.book{display:none}.hero{padding:36px 12px 52px}.hero-copy{margin-bottom:25px}.hero h1{font-size:clamp(38px,11vw,52px);line-height:1}.lead{font-size:15px;margin:18px 0}.benefits{gap:6px}.benefits span{font-size:10.5px;padding:8px 9px}.hero-actions{align-items:stretch;flex-direction:column}.hero .primary{width:100%}.safe-note{text-align:center}.hero-media{border-radius:17px}.primary-languages{flex-wrap:nowrap;overflow-x:auto;overscroll-behavior-inline:contain;padding:10px 12px;scrollbar-width:none}.primary-languages::-webkit-scrollbar{display:none}.primary-languages a{flex:0 0 auto;font-size:9px}.proof{grid-template-columns:1fr 1fr;padding:14px 12px}.proof div{min-height:76px;border-bottom:1px solid rgba(255,255,255,.16)}.proof div:nth-child(2){border-right:0}.proof div:nth-child(3),.proof div:nth-child(4){border-bottom:0}.section{padding:66px 16px}.heading{text-align:left;margin-bottom:29px}.heading h2,.split-copy h2,.host-copy h2,.location-copy h2,.final h2,.language-section h2{font-size:clamp(37px,10vw,49px)}.section-photo{min-height:0}.section-photo img{aspect-ratio:4/3}.amenity-grid{grid-template-columns:1fr;gap:9px}.amenity{padding:14px}.amenity p{font-size:13.5px}.included{display:flex;flex-direction:column}.included-media img{min-height:0;aspect-ratio:4/3}.split-copy{padding:54px 16px 63px}.host{grid-template-columns:1fr;gap:28px}.host-image{max-width:520px;margin:auto}.location-card{grid-template-columns:1fr;padding:38px 20px;border-radius:21px}.location-card>img{order:-1}.identity{grid-template-columns:1fr}.identity>div,.identity>div:nth-child(2),.identity>div:last-child{grid-column:auto;margin:0;padding:0 0 12px;border:0;border-bottom:1px solid var(--line)}.identity>div+div{padding-top:12px}.identity>div:last-child{padding-bottom:0;border-bottom:0}.final{padding-bottom:82px}.language-grid{grid-template-columns:1fr 1fr;gap:7px}.language-grid a{min-height:46px;padding:8px 10px}.footer{grid-template-columns:1fr;text-align:center;padding:42px 18px 100px}.footer a{justify-self:center}.mobile-book{position:fixed;left:0;right:0;bottom:0;z-index:95;display:grid;grid-template-columns:64px minmax(0,1fr) auto;align-items:center;gap:9px;padding:8px 10px max(8px,env(safe-area-inset-bottom));background:#fff;border-top:1px solid var(--line);box-shadow:0 -10px 32px rgba(23,47,54,.12)}.mobile-book img{width:64px;height:46px;object-fit:cover;border-radius:9px}.mobile-book-copy{min-width:0}.mobile-book-copy strong,.mobile-book-copy span{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.mobile-book-copy strong{font-size:11px}.mobile-book-copy span{margin-top:3px;color:var(--muted);font-size:9px;font-weight:700}.mobile-book>a{display:flex;align-items:center;justify-content:center;min-height:46px;max-width:155px;padding:9px 12px;background:var(--airbnb);border-radius:11px;color:#fff;text-decoration:none;text-align:center;font-size:11px;font-weight:900;line-height:1.15}.section:not(.amenities){contain-intrinsic-size:620px}}
@media(max-width:460px){.language-grid{grid-template-columns:1fr}.mobile-book{grid-template-columns:54px minmax(0,1fr) 126px}.mobile-book img{width:54px;height:42px}.mobile-book>a{max-width:126px;padding:8px;font-size:10px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.book,.primary{transition:none}}


/* V3: concise hero details, centered language flags, WhatsApp contact, optimized images */
.hero-details{max-width:920px;margin:23px 0 22px;color:var(--muted);font-size:clamp(15px,1.25vw,18px);line-height:1.52}
.hero-details p{margin:0 0 14px;color:var(--ink);font-weight:800}
.hero-details ul{display:grid;grid-template-columns:1fr 1fr;gap:7px 18px;margin:0;padding:0;list-style:none}
.hero-details li{margin:0;font-size:14px;line-height:1.48}
.hero-details strong{color:var(--ink)}
.primary-languages{justify-content:center;max-width:100%;margin:0 auto;overflow:hidden}
.primary-languages a{max-width:100%;white-space:nowrap}
.language-section{text-align:center}
.language-section>p:not(.eyebrow){margin-left:auto;margin-right:auto}
.language-grid{grid-template-columns:repeat(auto-fit,minmax(150px,1fr));max-width:1120px;margin:30px auto 0;justify-content:center}
.language-grid a{min-width:0;overflow:hidden}
.language-grid span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.whatsapp-banner{display:grid;grid-template-columns:58px minmax(0,1fr) auto;align-items:center;gap:16px;margin-top:30px;padding:19px 21px;border-radius:18px;background:#25d366;color:#062d16;text-decoration:none;box-shadow:0 14px 34px rgba(37,211,102,.25);transition:transform .16s ease,background .16s ease}
.whatsapp-banner:hover,.whatsapp-banner:focus-visible{background:#20bd5a;transform:translateY(-2px)}
.whatsapp-icon{display:flex;align-items:center;justify-content:center;width:58px;height:58px;border-radius:50%;background:#fff;color:#25d366;font-size:31px;font-weight:900}
.whatsapp-copy{min-width:0}
.whatsapp-copy strong,.whatsapp-copy small{display:block}
.whatsapp-copy strong{font-size:18px;line-height:1.2}
.whatsapp-copy small{margin-top:5px;font-size:12px;line-height:1.45;color:#0b4b24}
.whatsapp-arrow{font-size:25px;font-weight:900}
.included-media img{object-position:center center}
.location-card>img{aspect-ratio:16/9}
@media(max-width:760px){
  .hero-details{margin:18px 0 20px;font-size:14px}
  .hero-details p{margin-bottom:11px}
  .hero-details ul{grid-template-columns:1fr;gap:5px}
  .hero-details li{font-size:13px;line-height:1.42}
  .primary-languages{flex-wrap:wrap!important;justify-content:center!important;overflow:visible!important;padding:10px 10px!important}
  .primary-languages a{flex:0 1 auto!important;font-size:8.5px!important;min-height:28px!important;padding:5px 7px!important}
  .primary-languages img{width:16px;height:11px}
  .language-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:7px;width:100%}
  .language-grid a{justify-content:center;padding:8px 7px}
  .language-grid span{font-size:10px}
  .whatsapp-banner{grid-template-columns:48px minmax(0,1fr) auto;gap:12px;padding:15px 14px;border-radius:15px}
  .whatsapp-icon{width:48px;height:48px;font-size:26px}
  .whatsapp-copy strong{font-size:15px}
  .whatsapp-copy small{font-size:10.5px}
  .included-media img{aspect-ratio:4/3;object-fit:cover}
  .location-card>img{aspect-ratio:16/9}
}
@media(max-width:390px){
  .primary-languages{gap:5px!important}
  .primary-languages a{font-size:8px!important;padding:4px 6px!important}
  .language-grid{grid-template-columns:1fr 1fr}
  .language-grid a{min-height:43px}
}


/* V4: language flags always centered and contained; cleaner mobile booking banner */
.primary-languages {
  width: 100%;
  max-width: 100%;
  justify-content: center !important;
  align-items: center;
  margin-inline: auto;
  padding-left: max(12px, env(safe-area-inset-left));
  padding-right: max(12px, env(safe-area-inset-right));
  overflow: hidden !important;
}
.primary-languages a {
  flex: 0 0 auto;
  max-width: 100%;
  min-width: 0;
}
.language-section {
  overflow: hidden;
}
.language-grid {
  display: flex !important;
  flex-wrap: wrap;
  justify-content: center;
  align-items: stretch;
  gap: 9px;
  width: 100%;
  max-width: 1120px;
  margin: 30px auto 0;
}
.language-grid a {
  flex: 0 1 205px;
  width: min(205px, 100%);
  min-width: 0;
  justify-content: flex-start;
}
.mobile-book-copy strong {
  color: var(--airbnb-dark);
  font-size: 12px;
  line-height: 1.15;
}
.mobile-book-copy span {
  color: var(--ink);
  font-size: 9px;
}

@media (max-width: 1080px) {
  .primary-languages {
    flex-wrap: wrap !important;
    gap: 6px;
  }
  .language-grid a {
    flex-basis: 180px;
    width: min(180px, 100%);
  }
}

@media (max-width: 760px) {
  .primary-languages {
    display: flex;
    flex-wrap: wrap !important;
    justify-content: center !important;
    gap: 6px !important;
    padding: 10px 8px !important;
    overflow: hidden !important;
  }
  .primary-languages a {
    flex: 0 0 auto !important;
    min-height: 28px !important;
    padding: 5px 7px !important;
    font-size: 8.5px !important;
  }
  .primary-languages img {
    width: 16px !important;
    height: 11px !important;
  }
  .language-grid {
    gap: 7px;
  }
  .language-grid a {
    flex: 0 1 calc(50% - 4px);
    width: calc(50% - 4px);
    justify-content: center;
    padding: 8px 7px;
  }
  .mobile-book-copy strong {
    font-size: 11px;
  }
}

@media (max-width: 390px) {
  .primary-languages {
    gap: 5px !important;
    padding-inline: 6px !important;
  }
  .primary-languages a {
    padding: 4px 6px !important;
    font-size: 8px !important;
  }
  .language-grid a {
    flex-basis: calc(50% - 4px);
    width: calc(50% - 4px);
  }
}


/* V5: remove top proof strip, larger adaptive flags, better mobile tap targets, new Costa Rei image */
.proof{display:none!important}
.primary-languages{display:flex;flex-wrap:wrap;justify-content:center!important;align-items:center;gap:10px;padding:14px max(18px,env(safe-area-inset-left)) 14px max(18px,env(safe-area-inset-right));overflow:visible!important}.primary-languages a{min-height:40px;padding:8px 13px;font-size:12px;font-weight:900;gap:8px;border-radius:999px}.primary-languages img{width:24px;height:16px;flex:0 0 24px}.language-grid{gap:10px}.language-grid a{flex:0 1 210px;min-height:46px;padding:10px 12px}.language-grid img{width:22px;height:15px;flex:0 0 22px}.location-card>img{aspect-ratio:3/2;object-position:center center}
@media (max-width:1080px){.primary-languages{gap:8px;padding:12px 16px}.primary-languages a{min-height:38px;padding:7px 11px;font-size:11px}.primary-languages img{width:22px;height:15px}.language-grid a{flex-basis:190px}}
@media (max-width:760px){.primary-languages{gap:8px!important;padding:12px max(12px,env(safe-area-inset-left)) 12px max(12px,env(safe-area-inset-right))!important}.primary-languages a{min-height:42px!important;padding:8px 11px!important;font-size:10px!important;gap:7px}.primary-languages img{width:20px!important;height:14px!important}.language-grid{gap:8px}.language-grid a{flex:0 1 calc(50% - 4px);width:calc(50% - 4px);min-height:48px;padding:9px 9px}}
@media (max-width:460px){.primary-languages{gap:7px!important;padding-inline:max(10px,env(safe-area-inset-left))!important}.primary-languages a{min-height:40px!important;padding:7px 10px!important;font-size:9.5px!important}.primary-languages img{width:18px!important;height:12px!important}.language-grid a{flex:0 1 100%;width:100%}}


/* V6: performance, refined typography, and visual CTA */
html{font-size:100%;text-size-adjust:100%;-webkit-text-size-adjust:100%}
body{line-height:1.5}
p,li{ text-wrap:pretty }
.hero h1,.heading h2,.split-copy h2,.host-copy h2,.location-copy h2,.final h2,.language-section h2{text-wrap:balance}
.hero-copy{max-width:1060px}
.hero h1{max-width:1120px;letter-spacing:-.05em}
.hero-details{max-width:960px}
.hero-media,.section-photo,.host-image,.location-card>img,.final-visual{contain:layout paint}
.hero-media img{aspect-ratio:1711/744;object-fit:cover}
.section{padding-block:clamp(68px,7.5vw,108px)}
.primary,.book,.whatsapp-banner{-webkit-tap-highlight-color:transparent}
.final.final-with-image{display:grid;grid-template-columns:minmax(0,1.08fr) minmax(340px,.92fr);align-items:center;gap:clamp(30px,5vw,76px);max-width:1420px;padding-inline:clamp(16px,5vw,78px);text-align:left;background:transparent}
.final-visual{overflow:hidden;border-radius:28px;background:#dce9e5;box-shadow:var(--shadow)}
.final-visual picture,.final-visual img{display:block;width:100%;height:100%}
.final-visual img{aspect-ratio:3/2;object-fit:cover}
.final-copy{padding:clamp(28px,4vw,58px);border-radius:26px;background:var(--sand)}
.final-copy>p:not(.eyebrow){max-width:610px;margin:22px 0 28px}
.final-copy .primary{width:max-content;max-width:100%}
.final-copy .final-rating{margin-top:17px}
@media(max-width:760px){
  .topbar{backdrop-filter:none;background:var(--paper)}
  .hero{padding-top:32px}
  .hero h1{letter-spacing:-.04em}
  .hero-media{box-shadow:0 14px 38px rgba(23,47,54,.10)}
  .section{padding-block:60px}
  .final.final-with-image{display:flex;flex-direction:column;gap:18px;padding:52px 16px 84px}
  .final-visual{width:100%;border-radius:20px}
  .final-copy{width:100%;padding:34px 20px 38px;border-radius:20px;text-align:center}
  .final-copy>p:not(.eyebrow){margin:18px auto 24px}
  .final-copy .primary{width:100%}
}
@media(max-width:460px){
  .hero h1{font-size:clamp(36px,10.5vw,47px)}
  .final-copy{padding-inline:17px}
}


/* V7: full-width final section like Sono compresi, with new sea image */
.final.final-with-image{max-width:none!important;display:grid!important;grid-template-columns:minmax(0,1.08fr) minmax(320px,.92fr)!important;align-items:stretch!important;gap:0!important;padding:0!important;background:var(--sea)!important;overflow:hidden}.final-visual{border-radius:0!important;box-shadow:none!important;min-height:100%}.final-visual picture,.final-visual img{width:100%;height:100%}.final-visual img{aspect-ratio:auto!important;min-height:680px;object-fit:cover;object-position:center center}.final-copy{display:flex;flex-direction:column;justify-content:center;padding:clamp(54px,7vw,98px)!important;border-radius:0!important;background:transparent!important;text-align:left!important}.final-copy>p:not(.eyebrow){max-width:620px;margin:22px 0 28px!important}.final-copy .primary{width:max-content;max-width:100%}.final-copy .final-rating{margin-top:16px}
@media (max-width:760px){.final.final-with-image{display:flex!important;flex-direction:column!important;padding:0 0 84px!important}.final-visual{width:100%;border-radius:0!important}.final-visual img{min-height:0;aspect-ratio:4/3!important}.final-copy{width:100%;padding:44px 16px 0!important;text-align:left!important}.final-copy>p:not(.eyebrow){margin:18px 0 24px!important}.final-copy .primary{width:100%}}


/* V8: dedicated, isolated and perfectly centered primary-language section */
.primary-language-section{
  position:relative;
  width:100%;
  padding:34px clamp(18px,4vw,64px) 38px;
  background:linear-gradient(180deg,#ffffff 0%,#f8faf9 100%);
  border-top:1px solid rgba(23,47,54,.10);
  border-bottom:1px solid rgba(23,47,54,.12);
  box-shadow:0 12px 34px rgba(23,47,54,.055);
  overflow:hidden;
}
.primary-language-inner{
  width:min(100%,1240px);
  margin:0 auto;
  text-align:center;
}
.primary-language-kicker{
  margin:0 0 8px;
  color:var(--airbnb-dark);
  font-size:11px;
  font-weight:900;
  letter-spacing:.16em;
  text-transform:uppercase;
}
.primary-language-inner>h2{
  margin:0;
  color:var(--ink);
  font-family:Georgia,"Times New Roman",serif;
  font-size:clamp(27px,2.8vw,42px);
  font-weight:500;
  letter-spacing:-.035em;
  line-height:1.08;
}
.primary-language-section .primary-languages{
  display:grid!important;
  grid-template-columns:repeat(8,minmax(0,1fr))!important;
  align-items:stretch!important;
  justify-content:center!important;
  gap:12px!important;
  width:100%!important;
  max-width:1180px!important;
  margin:24px auto 0!important;
  padding:0!important;
  background:transparent!important;
  border:0!important;
  overflow:visible!important;
}
.primary-language-section .primary-languages a{
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  gap:9px!important;
  width:100%!important;
  min-width:0!important;
  min-height:60px!important;
  padding:10px 12px!important;
  background:#fff!important;
  border:1px solid rgba(23,47,54,.13)!important;
  border-radius:16px!important;
  box-shadow:0 7px 18px rgba(23,47,54,.055)!important;
  color:var(--ink)!important;
  font-size:13px!important;
  font-weight:900!important;
  text-decoration:none!important;
  white-space:nowrap!important;
  transition:transform .16s ease,border-color .16s ease,box-shadow .16s ease!important;
}
.primary-language-section .primary-languages a:hover,
.primary-language-section .primary-languages a:focus-visible{
  transform:translateY(-2px)!important;
  border-color:var(--airbnb)!important;
  box-shadow:0 11px 24px rgba(255,56,92,.13)!important;
}
.primary-language-section .primary-languages a[aria-current="page"]{
  background:#fff0f3!important;
  border-color:var(--airbnb)!important;
}
.primary-language-section .primary-languages img{
  display:block!important;
  flex:0 0 30px!important;
  width:30px!important;
  height:20px!important;
  object-fit:cover!important;
  border-radius:3px!important;
  box-shadow:0 0 0 1px rgba(23,47,54,.10)!important;
}
.primary-language-section .primary-languages b{
  font-size:13px!important;
  line-height:1!important;
}
@media(max-width:1080px){
  .primary-language-section{padding:30px 24px 34px}
  .primary-language-section .primary-languages{
    grid-template-columns:repeat(4,minmax(0,1fr))!important;
    max-width:820px!important;
  }
}
@media(max-width:760px){
  .primary-language-section{
    padding:28px max(16px,env(safe-area-inset-left)) 32px max(16px,env(safe-area-inset-right));
  }
  .primary-language-kicker{font-size:10px;letter-spacing:.13em}
  .primary-language-inner>h2{font-size:clamp(28px,8vw,36px)}
  .primary-language-section .primary-languages{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    gap:10px!important;
    max-width:560px!important;
    margin-top:20px!important;
  }
  .primary-language-section .primary-languages a{
    min-height:58px!important;
    padding:10px 12px!important;
    border-radius:15px!important;
    font-size:12px!important;
  }
  .primary-language-section .primary-languages img{
    flex-basis:28px!important;
    width:28px!important;
    height:19px!important;
  }
}
@media(max-width:390px){
  .primary-language-section{padding-left:12px;padding-right:12px}
  .primary-language-section .primary-languages{gap:8px!important}
  .primary-language-section .primary-languages a{min-height:56px!important;padding:9px 8px!important;gap:7px!important}
  .primary-language-section .primary-languages img{flex-basis:26px!important;width:26px!important;height:18px!important}
}


/* V9: lightweight no-cookie video facade and cleaner primary-language heading */
.primary-language-kicker{display:none!important}
.primary-language-inner>h2{margin-top:0}
.video-showcase{
  position:relative;
  max-width:1280px;
  margin:0 auto;
  padding:clamp(72px,8vw,110px) clamp(16px,5vw,72px);
  text-align:center;
  overflow:hidden;
}
.video-showcase::before{
  content:"";
  position:absolute;
  inset:clamp(42px,5vw,70px) clamp(10px,3vw,36px);
  z-index:-1;
  border-radius:34px;
  background:radial-gradient(circle at 18% 15%,rgba(255,56,92,.15),transparent 34%),radial-gradient(circle at 84% 82%,rgba(22,140,153,.17),transparent 38%),linear-gradient(135deg,#fff,#f3f8f7);
  border:1px solid rgba(23,49,58,.08);
}
.video-showcase-copy{max-width:780px;margin:0 auto 34px}
.video-showcase-copy h2{margin:0;font-family:Georgia,"Times New Roman",serif;font-size:clamp(38px,4vw,62px);font-weight:500;letter-spacing:-.045em;line-height:1.02}
.video-showcase-copy>p:not(.eyebrow){max-width:650px;margin:20px auto 0;color:var(--muted);font-size:16px;line-height:1.65}
.video-frame-shell{
  position:relative;
  max-width:1080px;
  margin:0 auto;
  padding:5px;
  border-radius:29px;
  background:linear-gradient(125deg,var(--airbnb),#fff 43%,var(--teal));
  box-shadow:0 30px 78px rgba(23,49,58,.18);
}
.video-frame-shell::after{
  content:"";
  position:absolute;
  inset:12px;
  z-index:-1;
  border-radius:25px;
  box-shadow:0 0 65px rgba(255,56,92,.14);
}
.video-facade,.video-iframe{
  width:100%;
  aspect-ratio:16/9;
  border:0;
  border-radius:24px;
  overflow:hidden;
  background:#0b252d;
}
.video-facade{position:relative;display:block;padding:0;cursor:pointer}
.video-facade img{width:100%;height:100%;object-fit:cover;transition:transform .35s ease,filter .35s ease}
.video-facade:hover img,.video-facade:focus-visible img{transform:scale(1.025);filter:saturate(1.08)}
.video-shade{position:absolute;inset:0;background:linear-gradient(180deg,rgba(4,23,28,.02),rgba(4,23,28,.36))}
.video-play{position:absolute;left:50%;top:50%;display:flex;flex-direction:column;align-items:center;gap:12px;transform:translate(-50%,-50%);color:#fff;text-shadow:0 2px 15px rgba(0,0,0,.55)}
.video-play i{display:flex;align-items:center;justify-content:center;width:82px;height:82px;padding-left:5px;border-radius:50%;background:var(--airbnb);box-shadow:0 16px 38px rgba(255,56,92,.4);font-size:29px;font-style:normal}
.video-play strong{padding:9px 14px;border-radius:999px;background:rgba(11,37,45,.75);font-size:14px;letter-spacing:.02em;backdrop-filter:blur(8px)}
.video-noscript{text-align:center}
.video-noscript a{color:var(--airbnb);font-weight:900}
@media(max-width:760px){
  .video-showcase{padding:64px 12px 72px}
  .video-showcase::before{inset:28px 4px;border-radius:24px}
  .video-showcase-copy{margin-bottom:25px;padding:0 8px}
  .video-showcase-copy h2{font-size:clamp(34px,10vw,47px)}
  .video-showcase-copy>p:not(.eyebrow){font-size:14px}
  .video-frame-shell{padding:3px;border-radius:20px}
  .video-facade,.video-iframe{border-radius:17px}
  .video-play{gap:9px}
  .video-play i{width:64px;height:64px;font-size:23px}
  .video-play strong{font-size:12px;padding:8px 12px}
}
@media(prefers-reduced-motion:reduce){.video-facade img{transition:none}}

/* V10: compact language selector at the bottom of every page */
.language-select-section{
  padding:24px clamp(16px,5vw,76px);
  background:#f3eee4;
  border-top:1px solid var(--line);
  border-bottom:1px solid var(--line);
}
.language-select-row{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:12px;
  max-width:760px;
  margin:0 auto;
  white-space:nowrap;
}
.language-select-icon{
  flex:0 0 auto;
  font-size:20px;
  line-height:1;
}
.language-select-row label{
  flex:0 0 auto;
  color:var(--ink);
  font-size:13px;
  font-weight:900;
}
.site-language-select{
  width:min(100%,390px);
  min-width:0;
  min-height:44px;
  padding:9px 42px 9px 14px;
  border:1px solid rgba(16,39,46,.22);
  border-radius:12px;
  background-color:#fff;
  color:var(--ink);
  font:inherit;
  font-size:13px;
  font-weight:800;
  cursor:pointer;
  box-shadow:0 7px 22px rgba(23,47,54,.07);
}
.site-language-select:hover{border-color:rgba(16,39,46,.42)}
.site-language-select:focus-visible{outline:3px solid rgba(16,111,122,.24);outline-offset:2px}
.language-noscript{max-width:1100px;margin:14px auto 0;text-align:center;font-size:11px;line-height:1.9}
.language-noscript a{font-weight:900;text-decoration:underline;text-underline-offset:3px}
@media(max-width:760px){
  .language-select-section{padding:18px 12px}
  .language-select-row{gap:8px}
  .language-select-icon{font-size:18px}
  .language-select-row label{font-size:11px}
  .site-language-select{min-height:46px;padding-left:10px;font-size:11px}
}
@media(max-width:430px){
  .language-select-row label{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
  .site-language-select{width:100%}
}


/* V12: language menu at the very top + Booking.com banner in the upper navigation */
:root{--booking:#003b95;--booking-bright:#006ce4;--booking-pale:#eaf3ff}
.language-select-top{
  position:relative;
  z-index:110;
  padding:9px clamp(12px,4vw,58px);
  background:#eef5f7;
  border-top:0;
  border-bottom:1px solid var(--line);
  overflow:visible;
}
.language-select-top .language-select-row{
  max-width:1540px;
  justify-content:flex-end;
  gap:9px;
}
.language-select-label{font-size:12px;font-weight:900;color:var(--ink)}
.language-menu{position:relative;width:min(100%,390px)}
.language-menu summary{list-style:none}
.language-menu summary::-webkit-details-marker{display:none}
.language-menu-summary{
  display:grid;
  grid-template-columns:28px minmax(0,1fr) auto;
  align-items:center;
  gap:9px;
  min-height:43px;
  padding:8px 12px;
  border:1px solid rgba(16,39,46,.22);
  border-radius:12px;
  background:#fff;
  color:var(--ink);
  box-shadow:0 7px 22px rgba(23,47,54,.07);
  cursor:pointer;
  user-select:none;
}
.language-menu-summary:hover{border-color:rgba(16,39,46,.42)}
.language-menu-summary:focus-visible{outline:3px solid rgba(16,111,122,.24);outline-offset:2px}
.language-menu-summary img,.language-menu-list img{display:block;object-fit:cover;border-radius:2px;box-shadow:0 0 0 1px rgba(0,0,0,.08)}
.language-menu-current{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:13px;font-weight:900}
.language-menu-chevron{font-size:14px;transition:transform .16s ease}
.language-menu[open] .language-menu-chevron{transform:rotate(180deg)}
.language-menu-list{
  position:absolute;
  top:calc(100% + 7px);
  right:0;
  z-index:150;
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:5px;
  width:min(720px,calc(100vw - 24px));
  max-height:min(62vh,570px);
  padding:10px;
  overflow:auto;
  background:#fff;
  border:1px solid var(--line);
  border-radius:16px;
  box-shadow:0 24px 65px rgba(23,47,54,.22);
}
.language-menu-list a{
  display:grid;
  grid-template-columns:24px minmax(0,1fr);
  align-items:center;
  gap:9px;
  min-height:40px;
  padding:8px 10px;
  border-radius:10px;
  color:var(--ink);
  text-decoration:none;
  font-size:11px;
  font-weight:850;
}
.language-menu-list a:hover,.language-menu-list a:focus-visible{background:#eef5f7;outline:none}
.language-menu-list a[aria-current=page]{background:var(--booking-pale);color:var(--booking);box-shadow:inset 0 0 0 1px rgba(0,108,228,.22)}
.language-menu-list a span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}

.topbar{
  grid-template-columns:auto minmax(330px,560px) 1fr;
  gap:18px;
}
.nav{justify-self:end}
.booking-top-banner{
  display:grid;
  grid-template-columns:54px minmax(0,1fr) auto;
  align-items:center;
  gap:10px;
  min-height:54px;
  padding:5px 12px 5px 5px;
  overflow:hidden;
  background:linear-gradient(135deg,var(--booking),var(--booking-bright));
  border-radius:13px;
  color:#fff;
  text-decoration:none;
  box-shadow:0 9px 24px rgba(0,59,149,.22);
  transition:transform .16s ease,box-shadow .16s ease;
}
.booking-top-banner:hover,.booking-top-banner:focus-visible{transform:translateY(-1px);box-shadow:0 12px 28px rgba(0,59,149,.3);outline:3px solid rgba(0,108,228,.23);outline-offset:3px}
.booking-top-thumb{width:54px;height:44px;object-fit:cover;border-radius:9px}
.booking-top-copy{display:block;min-width:0}
.booking-platform,.booking-top-copy strong{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.booking-platform{font-size:10px;font-weight:900;letter-spacing:.02em;opacity:.9}
.booking-top-copy strong{margin-top:2px;font-size:12px;line-height:1.15}
.booking-top-arrow{font-size:20px;font-weight:900}

@media(max-width:1080px){
  .topbar{grid-template-columns:auto minmax(0,1fr)}
  .booking-top-banner{justify-self:stretch}
}
@media(max-width:760px){
  .language-select-top{padding:7px 10px}
  .language-select-top .language-select-row{justify-content:stretch;gap:7px}
  .language-select-label{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
  .language-menu{width:100%}
  .language-menu-summary{min-height:41px;padding:7px 10px}
  .language-menu-list{position:fixed;top:58px;left:8px;right:8px;width:auto;grid-template-columns:repeat(2,minmax(0,1fr));max-height:calc(100vh - 76px);padding:8px}
  .topbar{grid-template-columns:auto minmax(0,1fr);gap:8px;min-height:68px;padding:7px 10px}
  .brand{font-size:21px}
  .booking-top-banner{grid-template-columns:38px minmax(0,1fr) auto;gap:7px;min-height:50px;padding:4px 8px 4px 4px;border-radius:11px}
  .booking-top-thumb{width:38px;height:38px;border-radius:8px}
  .booking-platform{font-size:8px}
  .booking-top-copy strong{font-size:10px}
  .booking-top-arrow{font-size:16px}
}
@media(max-width:440px){
  .language-select-icon{display:none}
  .language-menu-list{grid-template-columns:1fr}
  .brand{font-size:19px}
  .booking-top-banner{grid-template-columns:34px minmax(0,1fr) auto}
  .booking-top-thumb{width:34px;height:36px}
  .booking-top-copy strong{font-size:9px}
}

/* V13: desktop centering correction */
@media (min-width:1081px){
  .language-select-top .language-select-row{
    justify-content:center;
  }
  .topbar{
    width:100%;
    max-width:1540px;
    margin-inline:auto;
    grid-template-columns:auto minmax(330px,560px) auto;
    justify-content:center;
  }
  .nav{
    justify-self:auto;
  }
  .hero-copy{
    margin-inline:auto;
  }
}

/* V14: dedicated private beach and covered parking sections */
.property-highlight{
  max-width:1360px;
  margin:0 auto;
  padding:clamp(58px,6vw,92px) clamp(16px,5vw,70px);
}
.property-highlight-card{
  overflow:hidden;
  border:1px solid var(--line);
  border-radius:28px;
  background:#fff;
  box-shadow:var(--shadow);
}
.property-highlight-card picture{display:block}
.property-highlight-card img{width:100%;display:block}
.property-highlight-copy{padding:clamp(30px,4vw,58px)}
.property-highlight-copy h2{
  max-width:900px;
  margin:0;
  font-family:Georgia,"Times New Roman",serif;
  font-size:clamp(38px,4.6vw,68px);
  line-height:1.02;
  letter-spacing:-.045em;
  text-wrap:balance;
}
.property-highlight-copy p{
  max-width:800px;
  margin:20px 0 0;
  color:var(--muted);
  font-size:clamp(15px,1.25vw,18px);
  line-height:1.7;
}
.beach-highlight{padding-top:clamp(64px,7vw,104px)}
.beach-highlight-card{background:linear-gradient(180deg,#eaf7fa 0%,#fff 100%)}
.beach-highlight-card img{
  height:auto;
  aspect-ratio:1280/317;
  object-fit:cover;
  object-position:center;
}
.beach-highlight .property-highlight-copy{text-align:center}
.beach-highlight .property-highlight-copy h2,
.beach-highlight .property-highlight-copy p{margin-left:auto;margin-right:auto}
.parking-highlight{padding-top:0}
.parking-highlight-card{
  display:grid;
  grid-template-columns:1.08fr .92fr;
  align-items:stretch;
  background:linear-gradient(135deg,#fff 0%,#f7f3eb 100%);
}
.parking-highlight-card picture{min-height:500px}
.parking-highlight-card img{
  height:100%;
  min-height:500px;
  object-fit:cover;
  object-position:center;
}
.parking-highlight .property-highlight-copy{align-self:center}
@media(max-width:760px){
  .property-highlight{padding:54px 16px}
  .property-highlight-card{border-radius:21px}
  .property-highlight-copy{padding:32px 22px 38px}
  .property-highlight-copy h2{font-size:clamp(36px,10vw,48px)}
  .beach-highlight-card img{aspect-ratio:1280/430;object-fit:cover}
  .parking-highlight{padding-top:0}
  .parking-highlight-card{grid-template-columns:1fr}
  .parking-highlight-card picture{min-height:0}
  .parking-highlight-card img{height:auto;min-height:0;aspect-ratio:4/3}
}


/* V15: 123 metre beach-distance section */
.distance-highlight{padding-bottom:0}
.distance-highlight-card{background:linear-gradient(180deg,#fff7e8 0%,#fff 100%)}
.distance-highlight-card picture{display:flex;justify-content:center;padding:clamp(18px,2.5vw,34px) clamp(18px,3vw,42px) 0}
.distance-highlight-card img{
  width:min(100%,960px);
  height:auto;
  aspect-ratio:960/359;
  object-fit:contain;
  border-radius:18px;
  box-shadow:0 14px 36px rgba(23,47,54,.12)
}
.distance-highlight .property-highlight-copy{text-align:center}
.distance-highlight .property-highlight-copy h2,
.distance-highlight .property-highlight-copy p{margin-left:auto;margin-right:auto}
.distance-facts{display:flex;flex-wrap:wrap;justify-content:center;gap:9px;margin-top:25px}
.distance-facts span{
  padding:10px 14px;
  border:1px solid rgba(0,137,157,.18);
  border-radius:999px;
  background:#fff;
  color:var(--ink);
  font-size:12px;
  font-weight:900;
  box-shadow:0 6px 18px rgba(23,47,54,.06)
}
@media(max-width:760px){
  .distance-highlight{padding-bottom:0}
  .distance-highlight-card picture{padding:14px 14px 0}
  .distance-highlight-card img{border-radius:14px}
  .distance-facts{display:grid;grid-template-columns:1fr;gap:7px}
  .distance-facts span{text-align:center}
}


/* V16: 360-degree virtual tour after the video */
.virtual-tour-showcase{
  max-width:1360px;
  margin:0 auto;
  padding:clamp(18px,3vw,42px) clamp(16px,5vw,70px) clamp(76px,8vw,118px);
}
.virtual-tour-card{
  display:grid;
  grid-template-columns:minmax(0,1.08fr) minmax(360px,.92fr);
  overflow:hidden;
  border:1px solid var(--line);
  border-radius:28px;
  background:linear-gradient(135deg,#f2fbfc 0%,#fff 46%,#fff6e8 100%);
  box-shadow:var(--shadow);
}
.virtual-tour-media{
  position:relative;
  display:block;
  min-height:520px;
  overflow:hidden;
  background:#d9eef1;
}
.virtual-tour-media picture{display:block;height:100%}
.virtual-tour-media img{
  width:100%;
  height:100%;
  min-height:520px;
  display:block;
  object-fit:cover;
  object-position:center;
  transition:transform .35s ease,filter .35s ease;
}
.virtual-tour-media:hover img,.virtual-tour-media:focus-visible img{transform:scale(1.018);filter:saturate(1.04)}
.virtual-tour-media:focus-visible{outline:4px solid rgba(0,137,157,.34);outline-offset:-4px}
.virtual-tour-badge{
  position:absolute;
  left:22px;
  bottom:22px;
  display:grid;
  place-items:center;
  width:76px;
  height:76px;
  border:2px solid rgba(255,255,255,.78);
  border-radius:50%;
  background:rgba(9,47,56,.86);
  color:#fff;
  font-size:22px;
  font-weight:950;
  letter-spacing:-.04em;
  box-shadow:0 14px 34px rgba(0,0,0,.24);
  backdrop-filter:blur(8px);
}
.virtual-tour-copy{
  align-self:center;
  padding:clamp(34px,5vw,72px);
}
.virtual-tour-copy h2{
  max-width:650px;
  margin:0;
  font-family:Georgia,"Times New Roman",serif;
  font-size:clamp(40px,4.5vw,68px);
  line-height:1.02;
  letter-spacing:-.045em;
  text-wrap:balance;
}
.virtual-tour-copy>p:not(.eyebrow){
  max-width:650px;
  margin:21px 0 0;
  color:var(--muted);
  font-size:clamp(15px,1.2vw,18px);
  line-height:1.72;
}
.virtual-tour-link{display:inline-flex;margin-top:28px}
@media(max-width:900px){
  .virtual-tour-card{grid-template-columns:1fr}
  .virtual-tour-media,.virtual-tour-media img{min-height:0}
  .virtual-tour-media img{height:auto;aspect-ratio:4/3}
}
@media(max-width:760px){
  .virtual-tour-showcase{padding:18px 16px 82px}
  .virtual-tour-card{border-radius:21px}
  .virtual-tour-copy{padding:34px 22px 40px}
  .virtual-tour-copy h2{font-size:clamp(36px,10vw,48px)}
  .virtual-tour-badge{left:15px;bottom:15px;width:64px;height:64px;font-size:19px}
  .virtual-tour-link{width:100%;justify-content:center;text-align:center}
}


/* V17: prominent hero essentials and seasonal beach-service details */
.hero-details{
  max-width:1080px!important;
  margin:28px 0 24px!important;
  padding:16px!important;
  border:1px solid rgba(0,137,157,.18);
  border-radius:24px;
  background:linear-gradient(145deg,rgba(235,249,250,.96),rgba(255,255,255,.98) 55%,rgba(255,247,231,.86));
  box-shadow:0 18px 46px rgba(23,47,54,.11);
  color:var(--ink)!important;
}
.hero-details-title{
  display:block;
  margin:0 0 14px!important;
  padding:17px 20px;
  border-radius:16px;
  background:linear-gradient(135deg,#12343d,#17616b);
  color:#fff!important;
  font-family:Georgia,"Times New Roman",serif;
  font-size:clamp(19px,1.75vw,27px)!important;
  font-weight:700!important;
  line-height:1.25!important;
  letter-spacing:-.018em;
  box-shadow:0 10px 24px rgba(18,52,61,.18);
}
.hero-distance-badge{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:42px;
  padding:6px 12px;
  border-radius:12px;
  background:#fff;
  color:#087f91;
  font-family:Arial,Helvetica,sans-serif;
  font-size:clamp(20px,2vw,29px);
  font-weight:950;
  letter-spacing:-.045em;
  box-shadow:0 5px 15px rgba(0,0,0,.15);
}
.hero-details ul{
  display:grid!important;
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  gap:10px!important;
  margin:0!important;
}
.hero-details li{
  display:flex;
  align-items:flex-start;
  gap:11px;
  min-height:92px;
  margin:0!important;
  padding:15px 16px;
  border:1px solid rgba(23,47,54,.09);
  border-radius:15px;
  background:rgba(255,255,255,.92);
  font-size:14px!important;
  line-height:1.46!important;
  box-shadow:0 7px 19px rgba(23,47,54,.055);
}
.hero-detail-check{
  display:grid;
  place-items:center;
  flex:0 0 29px;
  width:29px;
  height:29px;
  margin-top:1px;
  border-radius:50%;
  background:linear-gradient(135deg,#00a4b7,#087d8d);
  color:#fff;
  font-size:16px;
  font-weight:950;
  box-shadow:0 5px 12px rgba(0,137,157,.22);
}
.hero-detail-body{display:block;min-width:0}
.hero-detail-body strong{
  display:block;
  margin:0 0 4px;
  color:#102f37!important;
  font-size:11px;
  font-weight:950;
  letter-spacing:.07em;
  text-transform:uppercase;
}
.hero-detail-text{display:block;color:#536a70;font-size:13.5px;font-weight:650;line-height:1.45}
.beach-service-facts{
  display:flex;
  flex-wrap:wrap;
  justify-content:center;
  gap:10px;
  max-width:960px;
  margin:26px auto 0;
}
.beach-service-facts span{
  display:inline-flex;
  align-items:center;
  gap:8px;
  min-height:43px;
  padding:10px 15px;
  border:1px solid rgba(0,137,157,.17);
  border-radius:999px;
  background:#fff;
  color:#17343c;
  font-size:12px;
  font-weight:900;
  box-shadow:0 7px 20px rgba(23,47,54,.07);
}
.beach-service-facts b{
  display:grid;
  place-items:center;
  width:24px;
  height:24px;
  border-radius:50%;
  background:#e4f7f8;
  color:#087f91;
  font-size:14px;
}
@media(max-width:760px){
  .hero-details{margin:20px 0 20px!important;padding:10px!important;border-radius:18px}
  .hero-details-title{display:block;padding:14px 15px;font-size:18px!important;line-height:1.35!important}
  .hero-distance-badge{display:inline-flex;min-height:36px;margin:0 5px 5px 0;padding:4px 9px;font-size:22px}
  .hero-details ul{grid-template-columns:1fr!important;gap:8px!important}
  .hero-details li{min-height:0;padding:13px 13px;border-radius:13px}
  .hero-detail-check{flex-basis:27px;width:27px;height:27px}
  .hero-detail-text{font-size:13px}
  .beach-service-facts{display:grid;grid-template-columns:1fr;gap:8px;margin-top:22px}
  .beach-service-facts span{justify-content:flex-start;width:100%;border-radius:13px}
}


/* V18: hero image immediately after the H1 */
.hero-title-block{
  margin-bottom:clamp(20px,2.4vw,32px)!important;
}
.hero-content-block{
  margin-top:clamp(24px,3vw,42px)!important;
  margin-bottom:0!important;
}
.hero-title-block h1{
  margin-bottom:0!important;
}
@media(max-width:760px){
  .hero-title-block{margin-bottom:18px!important}
  .hero-content-block{margin-top:20px!important}
}


/* V22: social proof, accessibility and custom 404 */
.error-page{min-height:70vh;display:grid;place-items:center;padding:70px 18px;text-align:center}
.error-card{width:min(100%,760px);padding:clamp(36px,6vw,72px);border:1px solid var(--line);border-radius:28px;background:#fff;box-shadow:var(--shadow)}
.error-code{margin:0;color:var(--teal);font-family:Georgia,"Times New Roman",serif;font-size:clamp(72px,15vw,150px);line-height:.8}
.error-card h1{margin:25px 0 14px;font-family:Georgia,"Times New Roman",serif;font-size:clamp(36px,6vw,58px);font-weight:500;letter-spacing:-.04em}
.error-card p{max-width:580px;margin:0 auto 26px;color:var(--muted);font-size:16px;line-height:1.65}
.error-actions{display:flex;justify-content:center;flex-wrap:wrap;gap:12px}
@media(max-width:900px){
}
@media(max-width:760px){
}


/* V23: direct email contact banner below WhatsApp */
.email-banner{
  display:grid;
  grid-template-columns:58px minmax(0,1fr) auto;
  align-items:center;
  gap:16px;
  margin-top:14px;
  padding:19px 21px;
  border:1px solid rgba(255,255,255,.24);
  border-radius:18px;
  background:linear-gradient(135deg,#0d4f8b 0%,#1678b8 100%);
  color:#fff;
  text-decoration:none;
  box-shadow:0 14px 34px rgba(13,79,139,.22);
  transition:transform .16s ease,filter .16s ease,box-shadow .16s ease;
}
.email-banner:hover,.email-banner:focus-visible{
  filter:brightness(1.06);
  transform:translateY(-2px);
  box-shadow:0 18px 38px rgba(13,79,139,.28);
}
.email-icon{
  display:flex;
  align-items:center;
  justify-content:center;
  width:58px;
  height:58px;
  border-radius:50%;
  background:#fff;
  color:#0d5f9e;
}
.email-icon svg{display:block}
.email-copy{min-width:0}
.email-copy strong,.email-copy small{display:block}
.email-copy strong{font-size:18px;line-height:1.2;color:#fff}
.email-copy small{margin-top:5px;font-size:12px;line-height:1.45;color:#e7f5ff}
.email-arrow{font-size:25px;font-weight:900;color:#fff}
.email-banner{-webkit-tap-highlight-color:transparent}
@media(max-width:760px){
  .email-banner{grid-template-columns:48px minmax(0,1fr) auto;gap:12px;padding:15px 14px;border-radius:15px}
  .email-icon{width:48px;height:48px}
  .email-icon svg{width:26px;height:26px}
  .email-copy strong{font-size:15px}
  .email-copy small{font-size:10.5px}
}

/* V25: prominent clarification of apartment and residence identity */
.property-identity-notice{
  position:relative;
  max-width:980px;
  margin:28px 0 24px;
  padding:clamp(22px,3vw,32px);
  overflow:hidden;
  border:1px solid rgba(18,139,148,.30);
  border-left:7px solid var(--teal);
  border-radius:19px;
  background:linear-gradient(135deg,#ffffff 0%,#edf8f6 100%);
  box-shadow:0 15px 38px rgba(23,47,54,.11);
}
.property-identity-notice:before{
  position:absolute;
  top:-48px;
  right:-48px;
  width:150px;
  height:150px;
  border-radius:50%;
  background:rgba(18,139,148,.08);
  content:"";
}
.property-identity-kicker{
  position:relative;
  margin:0 0 9px!important;
  color:var(--airbnb-dark)!important;
  font-size:11px!important;
  font-weight:900!important;
  letter-spacing:.13em;
  text-transform:uppercase;
}
.property-identity-notice h2{
  position:relative;
  margin:0 0 14px;
  color:var(--ink);
  font-family:Georgia,"Times New Roman",serif;
  font-size:clamp(25px,2.8vw,38px);
  font-weight:600;
  line-height:1.08;
  letter-spacing:-.035em;
}
.property-identity-notice>p:not(.property-identity-kicker):not(.property-identity-owner){
  position:relative;
  max-width:880px;
  margin:8px 0;
  color:#395158;
  font-size:clamp(14px,1.15vw,16px);
  line-height:1.58;
}
.property-identity-notice>p:first-of-type+ h2 + p{
  color:var(--ink);
  font-weight:800;
}
.property-identity-name-origin{
  position:relative;
  display:grid;
  gap:7px;
  max-width:880px!important;
  margin:14px 0 16px!important;
  padding:15px 17px;
  border:1px solid rgba(18,139,148,.22);
  border-radius:14px;
  background:rgba(255,255,255,.84);
  color:var(--ink)!important;
  box-shadow:0 8px 20px rgba(23,47,54,.06);
}
.property-identity-name-origin strong{
  font-size:clamp(15px,1.35vw,18px);
  line-height:1.35;
}
.property-identity-name-origin span{
  color:#276f75;
  font-size:clamp(14px,1.16vw,16px);
  font-weight:850;
  line-height:1.45;
}

.property-identity-owner{
  position:relative;
  display:inline-flex;
  gap:6px;
  margin:13px 0 0!important;
  padding:9px 12px;
  border:1px solid rgba(23,47,54,.12);
  border-radius:999px;
  background:#fff;
  color:var(--ink)!important;
  font-size:13px!important;
  font-weight:700!important;
}
@media(max-width:760px){
  .property-identity-notice{margin:21px 0 18px;padding:20px 17px;border-left-width:5px;border-radius:16px}
  .property-identity-notice h2{font-size:clamp(24px,7.5vw,32px)}
  .property-identity-notice>p:not(.property-identity-kicker):not(.property-identity-owner){font-size:13.5px;line-height:1.52}
  .property-identity-name-origin{gap:6px;margin:12px 0 14px!important;padding:13px 14px;border-radius:12px}
  .property-identity-name-origin strong{font-size:14px}
  .property-identity-name-origin span{font-size:13.5px}
  .property-identity-owner{display:flex;border-radius:12px;line-height:1.4}
}



/* V26: standalone placement below the included-services section */
.property-identity-section{
  padding:0 clamp(18px,4vw,64px);
}
.property-identity-section .property-identity-notice{
  margin:clamp(26px,4vw,46px) auto;
}
@media(max-width:760px){
  .property-identity-section{padding:0 12px}
}


/* V27: creative apartment-name explainer card */
.property-identity-section{
  padding:0 clamp(18px,4vw,64px);
}
.property-identity-card{
  position:relative;
  display:grid;
  grid-template-columns:auto 1fr;
  gap:18px;
  align-items:start;
  max-width:980px;
  margin:clamp(28px,4vw,48px) auto;
  padding:clamp(18px,2.6vw,30px);
  overflow:hidden;
  border:1px solid rgba(18,139,148,.22);
  border-radius:26px;
  background:
    radial-gradient(circle at 100% 0%, rgba(255,190,92,.22), transparent 28%),
    radial-gradient(circle at 0% 100%, rgba(18,139,148,.16), transparent 34%),
    linear-gradient(135deg, #fffdf6 0%, #ffffff 44%, #eef9f8 100%);
  box-shadow:0 20px 46px rgba(17,42,48,.12), inset 0 1px 0 rgba(255,255,255,.8);
}
.property-identity-card::before,
.property-identity-card::after{
  content:"";
  position:absolute;
  border-radius:999px;
  pointer-events:none;
}
.property-identity-card::before{
  top:-42px;
  right:-40px;
  width:180px;
  height:180px;
  background:radial-gradient(circle, rgba(18,139,148,.14) 0%, rgba(18,139,148,0) 70%);
}
.property-identity-card::after{
  bottom:-54px;
  left:-46px;
  width:210px;
  height:210px;
  background:radial-gradient(circle, rgba(246,178,84,.12) 0%, rgba(246,178,84,0) 72%);
}
.property-identity-icon{
  position:relative;
  z-index:1;
  display:grid;
  place-items:center;
  width:72px;
  height:72px;
  border-radius:22px;
  background:linear-gradient(145deg, var(--teal) 0%, #2aa9b0 52%, #7bd3c7 100%);
  box-shadow:0 16px 28px rgba(18,139,148,.24), inset 0 1px 0 rgba(255,255,255,.35);
}
.property-identity-icon svg{
  width:42px;
  height:42px;
  display:block;
}
.property-identity-copy{
  position:relative;
  z-index:1;
  min-width:0;
}
.property-identity-label{
  display:inline-flex;
  align-items:center;
  gap:8px;
  margin:0 0 11px!important;
  padding:9px 14px;
  border:1px solid rgba(18,139,148,.14);
  border-radius:999px;
  background:rgba(255,255,255,.82);
  color:#245a60!important;
  font-size:11px!important;
  font-weight:900!important;
  letter-spacing:.14em;
  line-height:1;
  text-transform:uppercase;
  box-shadow:0 10px 22px rgba(17,42,48,.06);
}
.property-identity-label::before{
  content:"";
  width:9px;
  height:9px;
  border-radius:999px;
  background:linear-gradient(145deg, #f0ae48 0%, #f7d283 100%);
  box-shadow:0 0 0 4px rgba(240,174,72,.14);
}
.property-identity-card h2{
  margin:0;
  color:var(--ink);
  font-family:Georgia, "Times New Roman", serif;
  font-size:clamp(24px,2.7vw,38px);
  font-weight:600;
  line-height:1.12;
  letter-spacing:-.04em;
}
.property-identity-name{
  display:inline-block;
  margin-right:.12em;
  padding:.12em .34em;
  border-radius:.5em;
  background:linear-gradient(135deg, rgba(18,139,148,.13) 0%, rgba(240,174,72,.16) 100%);
  color:#0f6570;
  box-shadow:inset 0 0 0 1px rgba(18,139,148,.12);
}
@media(max-width:760px){
  .property-identity-section{padding:0 12px}
  .property-identity-card{
    grid-template-columns:1fr;
    gap:14px;
    padding:18px 16px 19px;
    border-radius:22px;
  }
  .property-identity-icon{
    width:62px;
    height:62px;
    border-radius:18px;
  }
  .property-identity-icon svg{
    width:36px;
    height:36px;
  }
  .property-identity-label{
    margin:0 0 10px!important;
    padding:8px 12px;
    font-size:10px!important;
    letter-spacing:.12em;
  }
  .property-identity-card h2{
    font-size:clamp(22px,7vw,30px);
  }
}


/* V28: non-fixed stacked Airbnb + Booking booking choices */
:root{--airbnb-cta:#FF5A5F;--booking-cta:#003580}
/* Top bar no longer reserves space for the removed Booking banner. */
.topbar{grid-template-columns:1fr auto!important}
@media(max-width:1080px){.topbar{grid-template-columns:1fr!important}.nav{display:none}}
/* Remove the extra mobile spacing previously required by the fixed bottom CTA. */
@media(max-width:760px){body{padding-bottom:0!important}.final{padding-bottom:66px!important}.footer{padding-bottom:42px!important}}
.booking-choice{
  display:grid!important;
  grid-template-columns:1fr;
  gap:10px!important;
  width:min(100%,620px);
  margin-top:4px;
}
.booking-choice-btn{
  display:flex;
  align-items:center;
  justify-content:center;
  width:100%;
  min-height:60px;
  padding:16px 22px;
  border-radius:15px;
  color:#fff!important;
  text-decoration:none;
  text-align:center;
  font-size:clamp(14px,1.25vw,17px);
  font-weight:900;
  line-height:1.25;
  letter-spacing:-.01em;
  box-shadow:0 12px 28px rgba(23,47,54,.15);
  transition:transform .16s ease,box-shadow .16s ease,filter .16s ease;
}
.booking-choice-airbnb{background:#FF5A5F}
.booking-choice-booking{background:#003580}
.booking-choice-btn:hover,.booking-choice-btn:focus-visible{
  transform:translateY(-2px);
  filter:brightness(.96);
  box-shadow:0 16px 34px rgba(23,47,54,.20);
}
.booking-choice-btn:focus-visible{outline:3px solid rgba(18,139,148,.28);outline-offset:3px}
.booking-choice-safe{
  margin:3px 0 0!important;
  color:var(--muted)!important;
  text-align:center;
  font-size:11.5px!important;
  font-weight:800!important;
  line-height:1.45!important;
}
@media(max-width:760px){
  .booking-choice{width:100%;gap:9px!important}
  .booking-choice-btn{min-height:57px;padding:14px 14px;border-radius:13px;font-size:14px}
  .booking-choice-safe{padding:0 8px;font-size:10.5px!important}
}


/* V29: second booking block after covered parking */
.booking-choice-section{
  padding:0 clamp(18px,4vw,64px);
}
.booking-choice-midpage{
  width:min(100%,760px);
  margin:clamp(30px,4.5vw,54px) auto clamp(34px,5vw,62px);
}
.booking-choice-midpage .booking-choice-btn{
  min-height:64px;
  font-size:clamp(15px,1.35vw,18px);
}
.booking-choice-midpage .booking-choice-safe{
  margin-top:5px!important;
}
@media(max-width:760px){
  .booking-choice-section{padding:0 12px}
  .booking-choice-midpage{
    margin:26px auto 38px;
  }
  .booking-choice-midpage .booking-choice-btn{
    min-height:58px;
    font-size:14px;
  }
}


/* V30: booking choices in final holiday CTA */
.booking-choice-final{
  width:min(100%,680px);
  margin:20px 0 16px;
}
.booking-choice-final .booking-choice-btn{
  min-height:62px;
  font-size:clamp(15px,1.3vw,18px);
}
.booking-choice-final .booking-choice-safe{
  margin-top:5px!important;
}
@media(max-width:760px){
  .booking-choice-final{margin:17px 0 14px}
  .booking-choice-final .booking-choice-btn{min-height:58px;font-size:14px}
}


/* V31: icon badges inside Airbnb and Booking CTA buttons */
.booking-choice-btn{
  justify-content:flex-start;
  gap:14px;
  padding-inline:18px;
}
.booking-choice-icon{
  flex:0 0 34px;
  width:34px;
  height:34px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  border-radius:999px;
  background:rgba(255,255,255,.18);
  border:1px solid rgba(255,255,255,.34);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.18);
  color:#fff;
  font-size:18px;
  font-weight:900;
  line-height:1;
}
.booking-choice-icon-airbnb{
  font-family:Arial, Helvetica, sans-serif;
}
.booking-choice-icon-booking{
  font-family:Arial, Helvetica, sans-serif;
}
.booking-choice-text{
  flex:1 1 auto;
  min-width:0;
  text-align:center;
}
@media(max-width:760px){
  .booking-choice-btn{
    gap:12px;
    padding-inline:14px;
  }
  .booking-choice-icon{
    flex-basis:31px;
    width:31px;
    height:31px;
    font-size:16px;
  }
}


/* V32: language switch integrated into the sticky Sardesidence top bar */
/* The old standalone language strip is no longer present. */
.topbar{
  grid-template-columns:auto minmax(230px,340px) 1fr!important;
  gap:18px!important;
  overflow:visible;
}
.topbar .nav{justify-self:end}
.topbar-language-switch{
  position:relative;
  z-index:120;
  display:grid;
  grid-template-columns:auto minmax(0,1fr);
  align-items:center;
  gap:8px;
  width:100%;
  min-width:0;
}
.topbar-language-globe{
  display:grid;
  place-items:center;
  width:34px;
  height:34px;
  border-radius:999px;
  background:#fff;
  border:1px solid var(--line);
  font-size:17px;
  box-shadow:0 5px 16px rgba(23,47,54,.06);
}
.topbar-language-switch .language-menu{
  width:100%;
  min-width:0;
}
.topbar-language-switch .language-menu-summary{
  min-height:42px;
  padding:7px 11px;
  border-radius:12px;
  background:#fff;
  box-shadow:0 6px 18px rgba(23,47,54,.06);
}
.topbar-language-switch .language-menu-current{
  min-width:0;
  font-size:12px;
}
.topbar-language-switch .language-menu-list{
  top:calc(100% + 10px);
  right:0;
  left:auto;
  width:min(720px,calc(100vw - 24px));
}
@media(max-width:1080px){
  .topbar{
    grid-template-columns:auto minmax(220px,330px)!important;
    justify-content:space-between;
  }
  .topbar .nav{display:none!important}
}
@media(max-width:760px){
  .topbar{
    grid-template-columns:minmax(0,1fr) minmax(145px,190px)!important;
    gap:9px!important;
    min-height:64px;
    padding:7px 10px;
  }
  .brand{
    min-width:0;
    overflow:hidden;
    text-overflow:ellipsis;
    white-space:nowrap;
    font-size:21px;
  }
  .topbar-language-switch{
    grid-template-columns:1fr;
    gap:0;
  }
  .topbar-language-globe{display:none}
  .topbar-language-switch .language-menu-summary{
    grid-template-columns:25px minmax(0,1fr) auto;
    min-height:42px;
    padding:7px 9px;
  }
  .topbar-language-switch .language-menu-summary img{width:25px;height:17px}
  .topbar-language-switch .language-menu-current{font-size:11px}
  .topbar-language-switch .language-menu-list{
    position:fixed;
    top:68px;
    left:8px;
    right:8px;
    width:auto;
    max-height:calc(100vh - 80px);
    grid-template-columns:repeat(2,minmax(0,1fr));
    padding:8px;
  }
}
@media(max-width:440px){
  .topbar{grid-template-columns:minmax(0,1fr) 142px!important}
  .brand{font-size:19px}
  .topbar-language-switch .language-menu-current{font-size:10.5px}
  .topbar-language-switch .language-menu-list{grid-template-columns:1fr}
}


/* V34: grouped direct booking via WhatsApp or email — Italian home prototype */
:root{
  --whatsapp:#168447;
  --whatsapp-dark:#0d6b38;
  --whatsapp-soft:#e8f8ee;
  --direct-gold:#f5c451;
}
.booking-direct{
  gap:12px!important;
}
.direct-booking-panel{
  display:grid;
  gap:10px;
  padding:18px;
  border:2px solid rgba(13,107,56,.27);
  border-radius:20px;
  background:linear-gradient(145deg,#f4fff7,#e8f8ee);
  box-shadow:0 16px 36px rgba(13,107,56,.13);
}
.direct-booking-heading{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  margin-bottom:2px;
}
.direct-booking-heading span{
  color:var(--whatsapp-dark);
  font-size:12px;
  font-weight:950;
  letter-spacing:.09em;
  text-transform:uppercase;
}
.direct-booking-heading strong{
  display:inline-flex;
  align-items:center;
  min-height:30px;
  padding:6px 11px;
  border-radius:999px;
  background:#fff4c9;
  color:#775000;
  box-shadow:inset 0 0 0 1px rgba(119,80,0,.12);
  font-size:12px;
  line-height:1.15;
  white-space:nowrap;
}
.booking-choice-btn.booking-choice-email{
  min-height:62px;
  padding:11px 18px;
  border:2px solid var(--whatsapp-dark);
  background:#fff;
  color:var(--ink)!important;
  box-shadow:0 8px 20px rgba(13,107,56,.10),inset 0 0 0 1px rgba(13,107,56,.08);
}
.booking-choice-btn.booking-choice-email:hover,
.booking-choice-btn.booking-choice-email:focus-visible{
  background:#f7fff9;
  box-shadow:0 12px 28px rgba(13,107,56,.14);
}
.booking-choice-email .booking-choice-icon{
  background:var(--whatsapp-soft);
  color:var(--whatsapp-dark);
  font-family:Arial,Helvetica,sans-serif;
  font-size:24px;
}
.booking-choice-email .booking-choice-arrow{color:var(--whatsapp-dark)}
.direct-booking-note{
  margin:2px 4px 0;
  color:#31533f;
  text-align:center;
  font-size:11.5px;
  font-weight:800;
  line-height:1.4;
}
.booking-separator{
  display:flex;
  align-items:center;
  gap:12px;
  color:#718286;
  font-size:11px;
  font-weight:900;
  letter-spacing:.08em;
  text-transform:uppercase;
}
.booking-separator::before,
.booking-separator::after{
  content:"";
  flex:1 1 auto;
  height:1px;
  background:var(--line);
}
.airbnb-booking-panel{
  display:grid;
  gap:8px;
}
.ota-booking-note{
  margin:0;
  padding:0 6px;
  color:#6f7d80;
  text-align:center;
  font-size:11.5px;
  font-weight:750;
  line-height:1.4;
}
.airbnb-booking-label{
  padding-left:4px;
  color:#6d5a60;
  font-size:10px;
  font-weight:900;
  letter-spacing:.06em;
  text-transform:uppercase;
}
.direct-saving-badge{
  justify-self:start;
  display:inline-flex;
  align-items:center;
  min-height:31px;
  padding:7px 12px;
  border:1px solid rgba(13,107,56,.17);
  border-radius:999px;
  background:linear-gradient(135deg,#fff7d7,#e8f8ee);
  color:var(--whatsapp-dark);
  box-shadow:0 7px 20px rgba(13,107,56,.10);
  font-size:11px;
  font-weight:950;
  letter-spacing:.035em;
  line-height:1.2;
}
.booking-choice-btn.booking-choice-primary{
  min-height:76px;
  padding:14px 18px;
  border:2px solid var(--whatsapp-dark);
  background:linear-gradient(135deg,var(--whatsapp),var(--whatsapp-dark));
  box-shadow:0 15px 32px rgba(13,107,56,.25);
  color:#fff!important;
}
.booking-choice-btn.booking-choice-secondary{
  min-height:64px;
  padding:12px 18px;
  border:2px solid #ff385c;
  background:#fff;
  box-shadow:0 8px 22px rgba(23,47,54,.08);
  color:var(--ink)!important;
}
.booking-choice-btn.booking-choice-ota{
  min-height:54px;
  padding:8px 14px;
  border-width:1.5px;
  border-radius:13px;
  box-shadow:0 6px 18px rgba(23,47,54,.07);
}
.booking-choice-ota .booking-choice-icon{
  flex-basis:38px;
  width:38px;
  height:38px;
}
.booking-choice-ota .booking-choice-icon img{
  width:24px;
  height:24px;
}
.booking-choice-ota .booking-choice-copy strong{
  font-size:clamp(14px,1.1vw,16px);
}
.booking-choice-btn.booking-choice-booking-portal{
  border-color:#003a9a;
}
.booking-choice-booking-portal .booking-choice-arrow{color:#003a9a}
.booking-choice-btn.booking-choice-booking-portal:hover,
.booking-choice-btn.booking-choice-booking-portal:focus-visible{
  background:#f2f7ff;
  box-shadow:0 10px 24px rgba(0,58,154,.13);
}
.booking-choice-btn.booking-choice-primary:hover,
.booking-choice-btn.booking-choice-primary:focus-visible{
  background:linear-gradient(135deg,#157b44,#095e31);
  box-shadow:0 19px 38px rgba(13,107,56,.31);
}
.booking-choice-btn.booking-choice-secondary:hover,
.booking-choice-btn.booking-choice-secondary:focus-visible{
  background:#fff6f8;
  box-shadow:0 12px 28px rgba(255,56,92,.14);
}
.booking-choice-btn .booking-choice-icon{
  flex:0 0 46px;
  width:46px;
  height:46px;
  border:0;
  background:#fff;
  box-shadow:0 5px 15px rgba(23,47,54,.15);
}
.booking-choice-btn .booking-choice-icon img{
  display:block;
  width:29px;
  height:29px;
}
.booking-choice-copy{
  display:grid;
  flex:1 1 auto;
  min-width:0;
  gap:3px;
  text-align:left;
}
.booking-choice-copy strong{
  font-size:clamp(16px,1.3vw,19px);
  line-height:1.15;
}
.booking-choice-copy small{
  font-size:12px;
  font-weight:800;
  line-height:1.25;
  opacity:.88;
}
.booking-choice-arrow{
  flex:0 0 auto;
  font-size:22px;
  font-weight:900;
}
.booking-choice-secondary .booking-choice-arrow{color:#ff385c}
.booking-direct .booking-choice-safe{
  margin-top:1px!important;
  color:#465c62!important;
  font-size:12px!important;
  font-weight:750!important;
}
.booking-choice-midpage .direct-saving-badge,
.booking-choice-final .direct-saving-badge{
  justify-self:center;
}
.whatsapp-banner .whatsapp-icon{
  background:#fff!important;
}
.whatsapp-banner .whatsapp-icon img{
  display:block;
  width:30px;
  height:30px;
}
.identity{
  grid-template-columns:.8fr 1.15fr 1.05fr 2fr;
}
.identity-vat dd{
  color:var(--whatsapp-dark);
  font-size:13px;
}
@media(max-width:760px){
  .direct-booking-panel{
    gap:9px;
    padding:12px;
    border-radius:17px;
  }
  .direct-booking-heading{
    align-items:flex-start;
    flex-direction:column;
    gap:7px;
  }
  .direct-booking-heading span{font-size:11px}
  .direct-booking-heading strong{
    min-height:28px;
    font-size:11px;
    white-space:normal;
  }
  .direct-booking-note{font-size:10.5px}
  .booking-separator{gap:9px}
  .direct-saving-badge{
    justify-self:center;
    max-width:100%;
    text-align:center;
    font-size:10px;
  }
  .booking-choice-btn.booking-choice-primary{
    min-height:72px;
    padding:12px 14px;
  }
  .booking-choice-btn.booking-choice-secondary{
    min-height:64px;
    padding:10px 14px;
  }
  .booking-choice-btn.booking-choice-ota{
    min-height:52px;
    padding:7px 12px;
  }
  .booking-choice-ota .booking-choice-icon{
    flex-basis:36px;
    width:36px;
    height:36px;
  }
  .booking-choice-btn.booking-choice-email{
    min-height:62px;
    padding:10px 14px;
  }
  .booking-choice-btn .booking-choice-icon{
    flex-basis:42px;
    width:42px;
    height:42px;
  }
  .booking-choice-copy strong{font-size:15px}
  .booking-choice-copy small{font-size:11px}
  .booking-choice-arrow{font-size:19px}
  .identity{grid-template-columns:1fr}
}

/* Costa Rei warm terracotta, brown and sand theme */
:root{--paper:#fbf6ed;--white:#fffdf8;--ink:#432e26;--muted:#78665b;--teal:#a6533a;--sea:#efe1ce;--sand:#e7d0b4;--airbnb:#a6533a;--airbnb-dark:#7f3d2e;--line:rgba(67,46,38,.14);--shadow:0 18px 50px rgba(88,51,34,.13);--booking-pale:#f3e2d0;--whatsapp:#96503b;--whatsapp-dark:#713b2e;--whatsapp-soft:#f0dfcd}
body{background:var(--paper);color:var(--ink)}
.topbar{background:rgba(251,246,237,.96)}
.proof{background:#49352e}
.proof span{color:#ead8c6}
.included-note{background:linear-gradient(135deg,#a6533a,#783d2f)!important;box-shadow:0 14px 32px rgba(88,51,34,.2)!important}
.location-card{background:linear-gradient(135deg,#49352e,#87513d)!important}
.location-copy p{color:#f3e5d4!important}
.final-visual{background:#ead8c1}
.final.final-with-image{background:var(--sea)!important}
.amenity i{background:#f1e2d0;color:#87432f}
.primary-languages a[aria-current=page],.language-grid a[aria-current=page]{background:#f4e2d0;border-color:var(--airbnb)}
.language-menu-list a:hover,.language-menu-list a:focus-visible{background:#f4e5d4}
.beach-highlight-card{background:linear-gradient(180deg,#f2e4d3 0%,#fffdf8 100%)}
.distance-highlight-card{background:linear-gradient(180deg,#f5e9d7 0%,#fffdf8 100%)}
.property-identity-notice{border-color:rgba(166,83,58,.3);background:linear-gradient(135deg,#fffaf3 0%,#f1e2d1 100%);box-shadow:0 15px 38px rgba(88,51,34,.11)}
.property-identity-notice:before{background:rgba(166,83,58,.08)}
.property-identity-notice>p:not(.property-identity-kicker):not(.property-identity-owner){color:#654c3d}
.property-identity-card{border-color:rgba(166,83,58,.22);background:radial-gradient(circle at 100% 0%,rgba(255,190,92,.22),transparent 28%),radial-gradient(circle at 0% 100%,rgba(166,83,58,.12),transparent 34%),linear-gradient(135deg,#fff8ed 0%,#fffdf8 44%,#f1e2d1 100%);box-shadow:0 20px 46px rgba(88,51,34,.12),inset 0 1px 0 rgba(255,255,255,.8)}
.property-identity-card::before{background:radial-gradient(circle,rgba(166,83,58,.13) 0%,rgba(166,83,58,0) 70%)}
.property-identity-icon{background:linear-gradient(145deg,#a6533a 0%,#bd7654 52%,#dfb58c 100%);box-shadow:0 16px 28px rgba(166,83,58,.2),inset 0 1px 0 rgba(255,255,255,.35)}
.property-identity-label{border-color:rgba(166,83,58,.16);color:#74402f!important}
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}
@media(max-width:760px){.topbar{background:rgba(251,246,237,.97)}}
/* Warm replacements for remaining fixed cool accent blocks */
.amenity i{background:#f1e2d0!important;color:#87432f!important}
.virtual-tour-card{background:linear-gradient(135deg,#f6ecdf 0%,#fffdf8 46%,#f3e3d2 100%)}
.virtual-tour-media{background:#ead8c1}
.beach-service-facts span{border-color:rgba(166,83,58,.18);color:#49352e;box-shadow:0 7px 20px rgba(88,51,34,.07)}
.beach-service-facts b{background:#f1e2d0;color:#87432f}
.direct-booking-panel{border-color:rgba(149,80,59,.26);background:linear-gradient(145deg,#fffaf3,#f0dfcd);box-shadow:0 16px 36px rgba(88,51,34,.13)}
.direct-saving-badge{border-color:rgba(149,80,59,.2);background:linear-gradient(135deg,#f5e9d4,#ecddc9);box-shadow:0 7px 20px rgba(88,51,34,.1)}
.booking-choice-btn.booking-choice-primary{border-color:var(--whatsapp-dark)}

/* Consistent terracotta and brown accents across all sections */
:root{--booking:#7f4935;--booking-bright:#a45d40;--booking-pale:#f3e2d0;--direct-gold:#d8b17a}
.book,.primary,.mobile-book>a{box-shadow:0 9px 24px rgba(127,61,46,.22)}
a:focus-visible{outline-color:rgba(166,83,58,.34)}
.nav a:hover,.nav a:focus-visible,.eyebrow{color:#985239}
.primary-languages a[aria-current=page],.language-grid a[aria-current=page]{background:#f2e1cf;border-color:#a6533a}
.amenity i{background:#f1e2d0!important;color:#87432f!important}
.hero-detail-check,.hero-grid-caption>span,.hero-grid-link:hover .hero-grid-caption,.booking-choice-btn:focus-visible{color:#985239}
.hero-details{background:linear-gradient(135deg,#fffaf3,#f1e2d1)!important;border-color:rgba(166,83,58,.24)!important}
.hero-details-title{color:#49352e!important}
.hero-detail-text{color:#654c3d}
.virtual-tour-card{background:linear-gradient(135deg,#f6ecdf 0%,#fffdf8 46%,#f3e3d2 100%)}
.virtual-tour-media{background:#ead8c1}
.beach-service-facts span{border-color:rgba(166,83,58,.18);color:#49352e;box-shadow:0 7px 20px rgba(88,51,34,.07)}
.beach-service-facts b{background:#f1e2d0;color:#87432f}
.booking-choice-btn.booking-choice-primary{border-color:#713b2e}
.booking-choice-btn.booking-choice-secondary{border-color:#d7b99b}
.booking-choice-secondary .booking-choice-arrow{color:#985239}
.booking-choice-btn:focus-visible{outline-color:rgba(166,83,58,.3)}
.mobile-book{box-shadow:0 -10px 32px rgba(88,51,34,.12)}

/* Hero service cards: override the legacy teal palette */
.hero-details{border-color:#d8b99d!important;background:linear-gradient(145deg,#f6ebdd,#fffaf3 55%,#efe0ce)!important;box-shadow:0 18px 46px rgba(88,51,34,.13)!important;color:#49352e!important}
.hero-details-title{background:linear-gradient(135deg,#49352e,#87513d)!important;color:#fffaf3!important;box-shadow:0 10px 24px rgba(88,51,34,.2)!important}
.hero-distance-badge{color:#9b5138!important;background:#fffaf3!important}
.hero-details li{border-color:#ddc7ae!important;background:#fffdf9!important;box-shadow:0 7px 19px rgba(88,51,34,.07)!important}
.hero-detail-check{background:linear-gradient(135deg,#b86d4a,#87432f)!important;color:#fffaf3!important;box-shadow:0 5px 12px rgba(88,51,34,.2)!important}
.hero-detail-body strong{color:#49352e!important}
.hero-detail-text{color:#654c3d!important}

/* Flower-fuchsia accents on the warm sand and brown palette */
:root{--teal:#d52870;--airbnb:#d52870;--airbnb-dark:#ad1d59;--whatsapp:#d52870;--whatsapp-dark:#ad1d59;--booking:#ad1d59;--booking-bright:#d52870;--booking-pale:#fae4ed}
.nav a:hover,.nav a:focus-visible,.eyebrow{color:#ad1d59}
.book,.primary,.mobile-book>a{background:#d52870;box-shadow:0 9px 24px rgba(173,29,89,.23)}
.book:hover,.primary:hover{background:#ad1d59}
a:focus-visible{outline-color:rgba(213,40,112,.36)}
.proof{background:#49352e}
.included-note{background:linear-gradient(135deg,#d52870,#ad1d59)!important}
.amenity i{color:#ad1d59!important}
.direct-booking-panel{border-color:rgba(213,40,112,.28)}
.direct-saving-badge{border-color:rgba(213,40,112,.2);color:#ad1d59}
.hero-detail-check{background:linear-gradient(135deg,#e74887,#c51d64)!important;box-shadow:0 5px 12px rgba(197,29,100,.24)!important}
.hero-details-title{background:linear-gradient(135deg,#8f194b,#d52870)!important}
.hero-distance-badge{color:#ad1d59!important}
.hero-details{border-color:#e8b9cd!important}
.hero-details li{border-color:#edd0dc!important}
.beach-service-facts b{background:#fae4ed;color:#ad1d59}
.property-identity-notice{border-left-color:#d52870}
.property-identity-notice:before{background:rgba(213,40,112,.08)}
.property-identity-icon{background:linear-gradient(145deg,#c51d64,#e74887 58%,#e8b0c9);box-shadow:0 16px 28px rgba(197,29,100,.2),inset 0 1px 0 rgba(255,255,255,.35)}
.property-identity-label{color:#ad1d59!important}
a.direct-whatsapp-button{border-color:#d52870;background:#d52870;box-shadow:0 6px 18px rgba(213,40,112,.2)}
a.direct-whatsapp-button:hover{background:#ad1d59;border-color:#ad1d59}
.availability-badge{border-color:#d52870!important;box-shadow:0 12px 30px rgba(173,29,89,.18)!important}
.availability-exact-dates>span{border-left-color:#d52870}
.hero-grid-link:hover .hero-grid-caption{background:#fae4ed;color:#ad1d59}
.hero-grid-link:focus-visible{outline-color:#d52870}
.booking-choice-secondary .booking-choice-arrow{color:#d52870}

/* Simplified hero: remove the small location eyebrow and reduce H1 scale */
.hero-copy>.eyebrow{display:none!important}
.hero h1{font-size:clamp(36px,4.2vw,64px)!important;line-height:1.04!important}
@media(max-width:760px){.hero h1{font-size:clamp(31px,8vw,42px)!important;line-height:1.03!important}}

/* 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}}
