/* Villa 303 / Garden house theme. One coherent presentation layer over the booking engine. */
:root{--ivory:#f6f3ec;--ivory-soft:#eee9de;--bone:#e6e1d6;--charcoal:#253d32;--charcoal-2:#1f332b;--ink:#26362d;--muted:#60685f;--brass:#344d3d;--gold:#486549;--gold-soft:#d8decb;--terracotta:#795b44;--line:rgba(38,54,45,.17);--font-decor:var(--font-display);--font-ar:Tahoma,Arial,sans-serif;--font-he:Arial,sans-serif;--max-w:1360px;--gutter:clamp(20px,4.8vw,76px);--radius:6px;--radius-soft:10px}
html:has(body.villa-theme){scroll-behavior:auto;scroll-padding-top:110px;scroll-padding-bottom:110px}
.villa-theme{background:var(--ivory);font-size:16px;line-height:1.7;padding-top:0!important}
.villa-theme #inquiryForm button[type=submit]{scroll-margin-top:110px;scroll-margin-bottom:110px}
.villa-theme [hidden]{display:none!important}
.villa-theme .theme-skip{position:fixed;top:8px;left:16px;padding:12px 18px;background:#fff;z-index:99999;transform:translateY(-200%)}
.villa-theme .theme-skip:focus{transform:none}
.villa-theme :focus-visible{outline:3px solid #44724c;outline-offset:5px}
.villa-theme .container{max-width:var(--max-w);padding-inline:var(--gutter);width:100%;margin-inline:auto}
.villa-theme .display-m{font-size:clamp(36px,4.1vw,58px);font-weight:400;line-height:1.06;letter-spacing:-.035em;text-wrap:balance;color:var(--ink);margin:0 0 22px}
.villa-theme .eyebrow{font-size:11px;font-weight:600;letter-spacing:.14em;line-height:1.5;color:var(--muted);margin:0 0 22px;text-transform:uppercase}
.villa-theme .eyebrow::before,.villa-theme .eyebrow::after,.villa-theme .intro-bar,.villa-theme .hero-scroll-line{display:none!important;content:none!important}
.villa-theme .reveal{opacity:1!important;transform:none!important;transition:none!important}
.villa-theme .btn,.villa-theme .quote-cta{min-height:48px;border-radius:5px;font-size:12px;font-weight:500;letter-spacing:.015em;text-transform:none;padding:13px 24px;transition:background .18s ease,box-shadow .18s ease,transform .18s ease}
.villa-theme .btn::before,.villa-theme .btn::after{display:none}
.villa-theme .btn-gold,.villa-theme .btn-primary,.villa-theme .quote-cta{background:#344d3d;color:#fff;border:1px solid #344d3d}
.villa-theme .btn-gold:hover,.villa-theme .btn-primary:hover,.villa-theme .quote-cta:hover{background:#243c2d;color:#fff;transform:translateY(-1px)}
.villa-theme .btn-wa{background:transparent;color:var(--ink);border:1px solid #aeb8ab}
.villa-theme .theme-text-link{font-size:12px;font-weight:500;text-decoration:underline;text-underline-offset:6px;white-space:nowrap}
.villa-theme .nav,.villa-theme .nav.scrolled{position:sticky;inset:0 0 auto;height:86px;min-height:86px;background:var(--ivory);color:var(--ink);padding:0 var(--gutter);border-bottom:1px solid var(--line);box-shadow:none;backdrop-filter:none;transform:none}
.villa-theme .nav-brand{font-size:16px;font-weight:500;letter-spacing:.12em;gap:10px;color:var(--ink)}
.villa-theme .nav-brand-mark{color:#3c5640;width:24px;height:36px}
.villa-theme .nav-links{gap:28px}
.villa-theme .nav-links a{font-size:12px;font-weight:500;letter-spacing:0;text-transform:none;color:var(--ink);opacity:1}
.villa-theme .nav-links a::after{background:#344d3d}
.villa-theme .nav-right{gap:16px}
.villa-theme .nav-cta{font-size:12px;padding:11px 23px;min-height:44px}
.villa-theme .lang-current{background:transparent;color:var(--ink);border:0;min-height:44px;padding:8px;font-size:12px}
.villa-theme .lang-menu{background:#fff;color:var(--ink);box-shadow:0 10px 40px #1e35231c;border:1px solid var(--line);border-radius:8px}
.villa-theme .lang-opt{color:var(--ink);min-height:44px}
.villa-theme .lang-opt:hover,.villa-theme .lang-opt.active{background:var(--ivory-soft);color:var(--ink)}
.villa-theme .hero{height:auto;min-height:0;max-height:none;display:grid;grid-template-columns:47% 53%;align-items:stretch;overflow:visible;padding:38px var(--gutter) 0;max-width:var(--max-w);margin:0 auto;background:var(--ivory);color:var(--ink);position:relative}
.villa-theme .hero::before,.villa-theme .hero::after{display:none;content:none}
.villa-theme .hero-content{grid-column:1;grid-row:1;position:relative;z-index:1;text-align:start;padding:40px 36px 46px 0;margin:0;max-width:none;align-self:center}
.villa-theme .hero-eyebrow{color:#60685f;font-size:10px;margin-bottom:30px;justify-content:flex-start}
.villa-theme .hero-title{font-size:clamp(54px,5.4vw,80px);font-weight:400;line-height:1.03;letter-spacing:-.045em;margin:0 0 28px;color:var(--ink);max-width:650px;text-shadow:none}
.villa-theme .hero-title span,.villa-theme .hero-title em{display:block;white-space:normal;transform:none;animation:none;opacity:1}
.villa-theme .hero-title em{font-style:normal;color:#617951;font-weight:400}
.villa-theme .hero-sub,.villa-theme .hero-meta,.villa-theme .hero-booking{opacity:1;animation:none;transform:none;text-shadow:none}
.villa-theme .hero-sub{font-family:var(--font-body);font-style:normal;font-size:15px;line-height:1.85;max-width:360px;margin:0 0 30px;color:#5c6459;letter-spacing:0;text-shadow:none}
.villa-theme .hero-meta{gap:14px;justify-content:flex-start;flex-wrap:wrap;margin:0;color:var(--ink);font-size:12px;font-weight:500;letter-spacing:0;text-transform:none}
.villa-theme .hero-meta>span{display:block;border-inline-end:1px solid #bcc3b5;padding-inline-end:14px}
.villa-theme .hero-meta>span:last-child{border:0;padding:0}
.villa-theme .theme-photo{position:relative;grid-column:2;grid-row:1;width:100%;min-height:500px;border-radius:9px;overflow:hidden;isolation:isolate;background:#d2dace;z-index:0}
.villa-theme .hero-slides{position:absolute;inset:0;width:100%;height:100%;min-height:0!important;z-index:0}
.villa-theme .hero-slide,.villa-theme .hero-slide.active{animation:none!important;transform:none!important;transition:none!important;will-change:auto;background-position:center;background-size:cover;filter:none}
.villa-theme .hero-slide::after{display:none}
.villa-theme .hero-slide:not(:first-child){display:none}
.villa-theme .hero-slide:first-child{opacity:1}
.villa-theme .theme-photo-caption{position:absolute;inset:auto 18px 18px;z-index:2;background:#f9f7f0ef;border-radius:5px;display:flex;align-items:center;justify-content:space-between;gap:10px;padding:9px 14px;font-size:10px;line-height:1.5;color:var(--ink);backdrop-filter:blur(8px)}
.villa-theme .theme-photo-caption button{min-height:36px;text-decoration:underline;text-underline-offset:4px;font-weight:500;padding:6px 0}
.villa-theme .hero-booking{grid-column:1/-1;grid-row:2;width:100%;max-width:none;margin:28px 0 0;display:grid;grid-template-columns:1.35fr 1fr 1fr .65fr 1.15fr;gap:0;background:#fffdf7;color:var(--ink);padding:20px 22px;border:1px solid #d9ded2;border-radius:7px;box-shadow:0 12px 24px -22px #26362d5c;transform:none;text-align:start}
.villa-theme .theme-booking-label{padding:0 20px 0 0;align-self:center;display:flex;flex-direction:column;gap:4px}
.villa-theme .theme-booking-label strong{font-family:var(--font-display);font-size:25px;font-weight:500;line-height:1.1;letter-spacing:-.03em}
.villa-theme .theme-booking-label span{font-size:9px;color:var(--muted);max-width:165px;line-height:1.55}
.villa-theme .hero-booking-field{border:0;border-inline-start:1px solid var(--line);padding:0 18px;min-width:0;display:flex;flex-direction:column;justify-content:center}
.villa-theme .hero-booking label{font-size:12px;font-weight:500;text-transform:none;letter-spacing:0;margin-bottom:4px;color:var(--muted)}
.villa-theme .hero-booking input,.villa-theme .hero-booking select{height:34px;min-width:0;width:100%;color:var(--ink);font-size:14px;padding:0;background:transparent;border:0;line-height:1.5}
.villa-theme .hero-booking button{align-self:center;font-size:11px;padding-inline:14px;margin-inline-start:10px}
.villa-theme #main{outline:none}
.villa-theme #main>section{padding:82px 0;scroll-margin-top:106px}
.villa-theme #main>section.gallery{padding-top:64px;padding-bottom:40px}
.villa-theme .gallery-header{display:flex;align-items:flex-end;gap:28px;margin-bottom:26px;flex-wrap:wrap}
.villa-theme .gallery-header-left{flex:1}
.villa-theme .gallery-header .eyebrow{margin-bottom:12px}
.villa-theme .gallery-header .display-m{font-size:42px;margin:0}
.villa-theme .gallery-count{font-size:11px;color:var(--muted);padding:0 0 4px;border:0;font-family:var(--font-body);font-style:normal}
.villa-theme .gallery-grid{display:grid;grid-template-columns:1.25fr 1fr 1fr;grid-template-rows:180px 180px;gap:12px}
.villa-theme .gallery-grid .gallery-item:nth-child(n){grid-column:auto!important;aspect-ratio:auto!important;border-radius:7px;min-height:0;height:100%;grid-row:auto;overflow:hidden}
.villa-theme .gallery-grid .gallery-item:first-child{grid-row:span 2;grid-column:1!important}
.villa-theme .gallery-grid .gallery-item:nth-child(6){display:none}
.villa-theme #gallery:has(#galleryToggle[aria-expanded=true]) .gallery-grid{grid-auto-rows:190px}
.villa-theme #gallery:has(#galleryToggle[aria-expanded=true]) .gallery-item:nth-child(6){display:block}
.villa-theme .gallery-more{margin-top:18px}
.villa-theme .gallery-more .btn{min-height:44px;background:transparent;color:var(--ink);border-color:#aeb8ab;font-size:11px}
.villa-theme .gallery-item img{height:100%;width:100%;object-fit:cover;transition:transform .4s ease}
.villa-theme .gallery-item:hover img{transform:scale(1.025)}
.villa-theme .gallery-item::after{opacity:1;background:linear-gradient(transparent 55%,#11201975);pointer-events:none}
.villa-theme .gallery-item-label{opacity:1;transform:none;inset:auto 16px 12px;font-size:11px;font-family:var(--font-body);font-style:normal;letter-spacing:0;line-height:1.5;text-transform:none;color:white}
.villa-theme .gallery-count-badge{font-size:10px}
.villa-theme .story{background:transparent}
.villa-theme .story-grid{grid-template-columns:1.15fr 1fr;gap:100px;align-items:center}
.villa-theme .story-text{max-width:550px}
.villa-theme .story-text p:not(.eyebrow){font-size:16px;line-height:1.9;color:var(--muted);margin:0 0 16px}
.villa-theme .story-text [data-field="story.p2"]{display:none}
.villa-theme .story-image{height:400px;aspect-ratio:auto;border-radius:9px;overflow:hidden;max-width:100%;width:100%}
.villa-theme .story-image::after{display:none}
.villa-theme .story-image img{width:100%;height:100%;object-fit:cover;object-position:center 61%;transform:none}
.villa-theme #main>.theme-stay{background:#e9ede2;padding:70px 0 76px}
.villa-theme .theme-stay-heading{max-width:1360px;margin-bottom:34px}
.villa-theme .theme-stay-heading .eyebrow{margin-bottom:14px}
.villa-theme .theme-stay-heading .display-m{margin-bottom:16px}
.villa-theme .theme-stay-heading>p:last-child{font-size:14px;color:var(--muted);max-width:630px;margin:0}
.villa-theme .theme-stay-grid{display:grid;grid-template-columns:1.05fr 1fr;gap:26px;align-items:start}
.villa-theme .theme-dates,.villa-theme #contact{background:#fffdf8;border:1px solid #d9dfd1;border-radius:8px;min-width:0;padding:28px}
.villa-theme #availability,.villa-theme #contact{scroll-margin-top:104px}
.villa-theme #availability{padding:0;background:none;color:var(--ink)}
.villa-theme #availability>.container,.villa-theme #contact>.container,.villa-theme #rates>.container{padding:0}
.villa-theme .avail-head{display:block;margin:0 0 20px}
.villa-theme .avail-title,.villa-theme #contact .display-m{font-size:32px;margin:0 0 10px}
.villa-theme .avail-sub{font-size:12px;line-height:1.7;max-width:none;color:var(--muted)}
.villa-theme .avail-legend{display:flex;justify-content:flex-start;flex-wrap:wrap;gap:14px;margin-top:14px;font-size:9px}
.villa-theme .legend-dot{width:7px;height:7px}
.villa-theme .calendar-grid{gap:18px;grid-template-columns:1fr 1fr;margin:18px 0 0}
.villa-theme .month{padding:18px 10px;min-width:0;border:0;background:transparent}
.villa-theme .days,.villa-theme .weekdays{grid-template-columns:repeat(7,minmax(0,1fr));gap:3px}
.villa-theme .day.outside{min-width:0;width:auto;min-height:44px;aspect-ratio:auto}
.villa-theme .cal-month,.villa-theme .calendar-month{background:transparent;padding:0;border:0}
.villa-theme .cal-title{font-size:18px}
.villa-theme .booking-calendar-nav{gap:10px}
.villa-theme .booking-calendar-nav button{border-radius:5px;background:#f0f2e9;color:var(--ink);border-color:#d9ded1;min-width:44px;min-height:44px}
.villa-theme .booking-day{font-size:13px;border-radius:4px;color:var(--ink)}
.villa-theme .booking-day.selected,.villa-theme .booking-day.range-start,.villa-theme .booking-day.range-end{background:#344d3d!important;color:#fff!important}
.villa-theme .booking-calendar-help{font-size:11px;color:var(--muted)}
.villa-theme .avail-status{font-size:10px;margin-top:16px;line-height:1.65;color:var(--muted)}
.villa-theme .status-pulse{animation:none;background:#557450}
.villa-theme .quote-panel{background:#edf1e7;border:1px solid #d0d9c7;border-radius:6px;color:var(--ink);padding:16px;flex-wrap:wrap;gap:12px;margin-top:20px}
.villa-theme .quote-summary{flex:1 1 100%;min-width:0}
.villa-theme .quote-dates{font-size:20px;color:var(--ink)}
.villa-theme .quote-meta{font-size:11px;color:var(--muted)}
.villa-theme .quote-price{font-size:27px;color:var(--ink);white-space:normal;flex:1 1 140px}
.villa-theme .quote-cta{font-size:11px;min-height:44px;padding:10px 14px}
.villa-theme .theme-rates{margin-top:23px;border-top:1px solid var(--line);padding-top:16px}
.villa-theme summary{cursor:pointer;font-size:12px;font-weight:500;min-height:44px;padding:10px 0;line-height:1.7}
.villa-theme #rates{padding:12px 0 0;background:none}
.villa-theme .rates-header{display:none}
.villa-theme .rates-table{margin:0;width:100%}
.villa-theme .rate-row{padding:14px 0;gap:12px;grid-template-columns:1.5fr .7fr 1fr}
.villa-theme .rate-season{font-family:var(--font-body);font-size:12px}
.villa-theme .rate-price{font-size:17px;line-height:1.35}
.villa-theme .rate-season small,.villa-theme .rate-min,.villa-theme .rate-price small{font-size:10px}
.villa-theme .rates-note{font-size:11px;margin-top:16px;max-width:none}
.villa-theme .contact-grid{display:block}
.villa-theme .contact-info{margin:0 0 16px}
.villa-theme .theme-direct-help{font-size:11px;color:var(--muted);margin:0;line-height:1.65}
.villa-theme .theme-direct-help a{color:var(--ink);font-weight:500}
.villa-theme .form-grid{gap:13px 15px;grid-template-columns:1fr 1fr}
.villa-theme .contact-form{background:transparent;border:0;padding:0;box-shadow:none}
.villa-theme .form-group{min-width:0}
.villa-theme .form-group label{font-size:10px;letter-spacing:0;text-transform:none;font-weight:500;margin-bottom:5px;color:var(--ink)}
.villa-theme .form-group input,.villa-theme .form-group select,.villa-theme .form-group textarea{background:#fff;border:1px solid #cdd3c7;border-radius:4px;padding:10px 12px;min-height:44px;font-size:12px;color:var(--ink);line-height:1.6;width:100%;min-width:0}
.villa-theme .form-group textarea{height:74px;min-height:74px}
.villa-theme .form-actions{gap:10px;flex-wrap:wrap;margin-top:18px}
.villa-theme .form-actions .btn{font-size:12px;min-width:0!important;flex:1 1 auto;padding-inline:14px}
.villa-theme .form-note{font-size:10px;line-height:1.7;margin-top:14px;color:var(--muted)}
.villa-theme .form-reassure{font-size:10px;line-height:1.7;color:var(--muted);margin:10px 0 0}
.villa-theme .booking-contact-summary{padding:10px 12px;margin-bottom:15px;background:#f0f3e9;border-radius:4px;font-size:11px;color:var(--ink)}
.villa-theme .booking-quote-note{color:var(--muted);font-size:12px}
.villa-theme .booking-form-status{font-size:12px;padding:12px;border-radius:5px}
.villa-theme .spaces{background:var(--ivory)}
.villa-theme .spaces-header,.villa-theme .amenities-header,.villa-theme .experiences-header,.villa-theme .faq-header{text-align:start;max-width:none;margin:0 0 28px}
.villa-theme .spaces-header .eyebrow,.villa-theme .experiences-header .eyebrow,.villa-theme .faq-header .eyebrow{justify-content:flex-start!important}
.villa-theme .spaces-header>p:last-child{font-size:14px;max-width:600px;line-height:1.8;margin:0;color:var(--muted)}
.villa-theme .spaces-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}
.villa-theme .space{background:transparent;border:0;box-shadow:none;border-radius:7px;overflow:visible;transition:none}
.villa-theme .space:hover{transform:none;box-shadow:none}
.villa-theme .space-img{aspect-ratio:4/3;height:auto;border-radius:7px;overflow:hidden}
.villa-theme .space-body{padding:16px 0 8px}
.villa-theme .space h3{font-size:27px;color:var(--ink);margin-bottom:8px}
.villa-theme .space p{font-size:14px;line-height:1.85;color:var(--muted);margin-bottom:12px}
.villa-theme .space-meta{border:0;gap:5px;padding:0;flex-wrap:wrap}
.villa-theme .space-meta span{background:#e9eddf;border:0;border-radius:3px;padding:4px 8px;font-size:9px;letter-spacing:0;text-transform:none;color:#455640}
.villa-theme #main>.amenities{background:#ebe7dc;padding-bottom:70px}
.villa-theme .amenities-header .display-m{margin-bottom:0}
.villa-theme .theme-facility-highlights{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin:24px 0 14px}
.villa-theme .theme-facility-highlights span{border:1px solid #cdd2c1;border-radius:5px;padding:20px;font-family:var(--font-display);font-size:23px;line-height:1.2;background:#f7f5ed}
.villa-theme .theme-facility-details{border-bottom:1px solid #ccd1c1;padding-bottom:16px}
.villa-theme .amenities-cats{grid-template-columns:repeat(3,1fr);gap:26px;padding:20px 0}
.villa-theme .amenity-cat{padding:0;border:0;background:none}
.villa-theme .amenity-cat h3{font-size:24px;color:var(--ink)}
.villa-theme .amenity-cat li{font-size:12px;color:var(--muted)}
.villa-theme .amenity-cat li::before{color:#486549}
.villa-theme #wellness{background:none;color:var(--ink);padding:48px 0 0}
.villa-theme #wellness>.container,.villa-theme #experiences>.container{padding:0}
.villa-theme .wellness-grid{grid-template-columns:1.1fr 1fr;gap:55px;align-items:center}
.villa-theme .wellness-text .display-m{font-size:40px}
.villa-theme .wellness-text>p:not(.eyebrow){font-size:15px;line-height:1.85;color:var(--muted)}
.villa-theme .wellness-points{display:none}
.villa-theme .wellness-images{height:335px;gap:12px}
.villa-theme .wellness-images img{height:100%;min-height:0;border-radius:7px;object-fit:cover}
.villa-theme .wellness-menu{padding:0;margin:12px 0;border:0;background:transparent}
.villa-theme .wellness-menu-row{font-size:12px;border-color:var(--line);gap:12px}
.villa-theme .wellness-menu h3{font-size:23px}
.villa-theme .wellness-menu-note{font-size:11px;color:var(--muted)}
.villa-theme #experiences{background:none;padding:42px 0 0;color:var(--ink)}
.villa-theme .experiences-header .eyebrow{display:none}
.villa-theme .experiences-header .display-m{font-size:30px;margin-bottom:10px}
.villa-theme .experiences-header>p:last-child{font-size:12px;color:var(--muted);margin:0}
.villa-theme .exp-grid{grid-template-columns:repeat(3,1fr);gap:18px}
.villa-theme .exp{background:transparent;border:1px solid #cdd2c1;border-radius:5px;padding:18px;min-height:0;text-align:start}
.villa-theme .exp-icon{display:none}
.villa-theme .exp h3{font-family:var(--font-body);font-size:12px;font-weight:600;letter-spacing:0;text-transform:none;margin:0 0 8px;color:var(--ink)}
.villa-theme .exp p{font-size:11px;line-height:1.7;color:var(--muted)}
.villa-theme .location{background:var(--ivory)}
.villa-theme .location-grid{grid-template-columns:1fr 1fr;gap:75px}
.villa-theme .location-text>p:not(.eyebrow){font-size:15px;color:var(--muted);line-height:1.9}
.villa-theme .nearby{margin:22px 0;display:grid;grid-template-columns:1fr 1fr;gap:16px}
.villa-theme .nearby-item{padding:0;border:0;display:block}
.villa-theme .nearby-time{font-size:24px;line-height:1.2;margin-bottom:5px;color:var(--ink)}
.villa-theme .nearby-place{font-size:11px;line-height:1.5}
.villa-theme .nearby-place small{font-size:10px;color:var(--muted)}
.villa-theme .location-map{border-radius:8px;overflow:hidden;background:#e2e8da;min-height:360px}
.villa-theme .location-map iframe{min-height:380px;filter:none}
.villa-theme .nbhd-toggle summary{padding:12px 18px}
.villa-theme .theme-travel-note{font-size:10px!important;margin-top:15px}
.villa-theme #main>.faq{background:#e9ede2;padding:65px 0}
.villa-theme .faq>.container{display:grid;grid-template-columns:.75fr 1.25fr;gap:70px}
.villa-theme .faq-header .display-m{font-size:44px}
.villa-theme .faq-list{max-width:none;margin:0}
.villa-theme .faq-item{border-bottom:1px solid #c9d2c0}
.villa-theme .faq-q{font-size:13px;line-height:1.65;font-family:var(--font-body);padding:18px 0;min-height:52px;color:var(--ink)}
.villa-theme .faq-q-icon{color:var(--ink)}
.villa-theme .faq-a-inner{font-size:12px;line-height:1.85;color:var(--muted);padding-bottom:18px}
.villa-theme .footer{padding:55px var(--gutter) 30px;background:#253d32;color:#edf0e5}
.villa-theme .footer-grid{max-width:1208px;margin:auto;gap:36px;grid-template-columns:1.4fr 1fr 1fr 1.2fr}
.villa-theme .footer-brand{font-family:var(--font-display);font-size:29px;letter-spacing:.04em;color:#fff}
.villa-theme .footer-tagline{font-size:12px;color:#cdd6c4;line-height:1.85;margin-top:14px}
.villa-theme .footer-col h3{font-size:10px;color:#cdd6c4;letter-spacing:.06em;margin-bottom:18px}
.villa-theme .footer-col a{font-size:12px;color:#edf0e5;line-height:1.9;overflow-wrap:anywhere}
.villa-theme .footer-bottom{max-width:1208px;margin:35px auto 0;border-top:1px solid #81977540;padding-top:20px;font-size:10px;color:#cdd6c4;gap:18px}
.villa-theme .booking-bar{background:#fffdf7;color:var(--ink);border-color:#cdd4c6;box-shadow:0 0 16px #26362d12;padding:10px var(--gutter)}
.villa-theme .booking-bar-name{font-size:23px;color:var(--ink)}
.villa-theme .booking-bar-price{font-size:10px;color:var(--muted)}
.villa-theme .booking-bar-price strong{color:var(--ink);font-size:14px}
.villa-theme .booking-bar .btn{min-height:44px;font-size:11px}
.villa-theme .float-actions{right:20px;bottom:20px}
.villa-theme .float-btn.wa{background:#344d3d;width:46px;height:46px;box-shadow:none;border:1px solid #ffffff44}
.villa-theme .float-btn::before,.villa-theme .float-btn::after{display:none}
.villa-theme:has(.booking-bar.visible) .float-actions{bottom:95px}
.villa-theme .lightbox{background:#16221cf7}
.villa-theme .lightbox button{min-width:44px;min-height:44px}
.villa-theme .mobile-menu{background:var(--ivory);color:var(--ink);padding:90px 28px 40px;gap:20px}
.villa-theme .mobile-menu>a{font-size:34px;color:var(--ink)}
.villa-theme .mobile-menu>a.btn{font-size:14px;color:white;margin-top:12px}
.villa-theme .mobile-menu-close{color:var(--ink);min-width:44px;min-height:44px;inset:20px 20px auto auto}
.villa-theme .nav-burger{width:44px;height:44px;flex:0 0 44px;padding:10px;color:var(--ink)}
.villa-theme .nav-burger{flex-direction:column;justify-content:center;align-items:center;gap:5px}
.villa-theme .nav-burger span{background:var(--ink);width:22px;height:1.5px;margin:0;display:block;flex:none}
html[dir=rtl] .villa-theme .hero-content{padding:40px 0 46px 36px;text-align:right}
html[dir=rtl] .villa-theme .hero-title{letter-spacing:0;font-family:Tahoma,Arial,sans-serif;font-size:clamp(38px,4vw,64px);line-height:1.4}
html[dir=rtl] .villa-theme .theme-booking-label{padding:0 0 0 20px}
html[dir=rtl] .villa-theme .gallery-item-label{inset:auto 16px 12px}
html[dir=rtl] .villa-theme .eyebrow{letter-spacing:0}
@media(min-width:1000px){.villa-theme .nav-burger{display:none!important}.villa-theme .nav-links{display:flex}.villa-theme .mobile-menu{display:none!important}}
@media(max-width:1100px){.villa-theme .nav-links{gap:20px}.villa-theme .nav-brand{font-size:13px}.villa-theme .hero-content{padding-right:22px}.villa-theme .hero-booking{grid-template-columns:1fr 1fr .65fr 1.15fr}.villa-theme .theme-booking-label{display:none}.villa-theme .hero-booking-field:first-of-type{border:0}.villa-theme .theme-stay-grid{gap:18px}.villa-theme .theme-dates,.villa-theme #contact{padding:22px}.villa-theme .calendar-grid{grid-template-columns:1fr}.villa-theme .story-grid{gap:50px}.villa-theme .gallery-grid{grid-template-rows:155px 155px}}
@media(max-width:999px){.villa-theme .nav-links{display:none}.villa-theme .nav-burger{display:flex}.villa-theme .nav,.villa-theme .nav.scrolled{height:76px;min-height:76px}.villa-theme .nav-right{gap:10px}.villa-theme .hero{padding-top:24px;grid-template-columns:46% 54%}.villa-theme .theme-photo{min-height:430px}.villa-theme .hero-title{font-size:57px}.villa-theme .hero-sub{font-size:13px}.villa-theme .hero-meta{font-size:9px;gap:8px}.villa-theme .hero-meta>span{padding-inline-end:8px}.villa-theme #main>section{padding:64px 0}.villa-theme .story-grid{gap:40px}.villa-theme .story-image{height:350px}.villa-theme .theme-stay-heading .display-m{font-size:44px}.villa-theme .spaces-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.villa-theme .wellness-grid{gap:30px}.villa-theme .wellness-text .display-m{font-size:34px}.villa-theme .location-grid{gap:40px}.villa-theme .faq>.container{gap:35px}.villa-theme .footer-grid{grid-template-columns:1.3fr 1fr 1fr}.villa-theme .footer-col:last-child{grid-column:1/-1;display:flex;flex-wrap:wrap;gap:20px;align-items:center}.villa-theme .footer-col:last-child h3{margin:0}.villa-theme .footer-col:last-child a{margin:0}}
@media(max-width:700px){
 .villa-theme .nav,.villa-theme .nav.scrolled{height:70px;min-height:70px;padding-inline:20px}.villa-theme .nav-brand{font-size:12px;letter-spacing:.08em;gap:7px}.villa-theme .nav-brand-mark{width:19px}.villa-theme .nav-right{gap:4px}.villa-theme .nav-cta{display:none}.villa-theme .lang-current{padding:8px 4px}.villa-theme .lang-current svg:first-child{display:none}
 .villa-theme .hero{display:flex;flex-direction:column;padding:0 20px;max-width:none}.villa-theme .hero-content,html[dir=rtl] .villa-theme .hero-content{order:0;padding:32px 0 24px;width:100%}.villa-theme .hero-eyebrow{font-size:9px;margin-bottom:17px}.villa-theme .hero-title{font-size:clamp(46px,12vw,65px);line-height:1.01;margin-bottom:17px;letter-spacing:-.04em}.villa-theme .hero-sub{font-size:15px;line-height:1.85;margin-bottom:17px;max-width:340px}.villa-theme .hero-meta{font-size:10px;gap:13px}.villa-theme .hero-meta>span{padding-inline-end:13px}.villa-theme .theme-photo{order:1;min-height:0;height:320px;width:100%;flex:none;border-radius:7px}.villa-theme .theme-photo-caption{inset:auto 10px 10px;padding:5px 11px;font-size:9px}.villa-theme .theme-photo-caption button{font-size:9px}
 .villa-theme .hero-booking{order:2;margin-top:16px;grid-template-columns:1fr 1fr;gap:13px;padding:16px;box-shadow:none}.villa-theme .theme-booking-label{display:none}.villa-theme .hero-booking-field{padding:0;border:0;min-height:50px}.villa-theme .hero-booking-field:nth-of-type(3){border-inline-start:1px solid var(--line);padding-inline-start:13px}.villa-theme .hero-booking label{font-size:10px}.villa-theme .hero-booking input,.villa-theme .hero-booking select{font-size:12px;min-height:36px}.villa-theme .hero-booking button{margin:0;min-height:46px;font-size:11px;padding-inline:8px}.villa-theme .hero-booking-field:last-of-type{padding:0;border:0}
 .villa-theme #main>section{padding:48px 0;scroll-margin-top:88px}.villa-theme #main>section.gallery{padding:44px 0 24px}.villa-theme .gallery-header{gap:12px;margin-bottom:20px;align-items:center}.villa-theme .gallery-header-left{flex:1 1 100%}.villa-theme .gallery-header .display-m{font-size:36px}.villa-theme .gallery-header .eyebrow{font-size:9px;margin-bottom:9px}.villa-theme .gallery-count{font-size:10px;flex:1}.villa-theme .gallery-header .theme-text-link{font-size:10px}.villa-theme .gallery-grid{grid-template-columns:1fr 1fr;grid-template-rows:220px 138px 138px;gap:9px}.villa-theme .gallery-grid .gallery-item:first-child{grid-column:1/-1!important;grid-row:auto}.villa-theme .gallery-item-label{font-size:10px;inset:auto 11px 9px}.villa-theme .gallery-item:hover img{transform:none}
 .villa-theme .story-grid{display:flex;flex-direction:column;gap:22px}.villa-theme .story-image{height:350px;width:100%;max-width:none}.villa-theme .display-m{font-size:38px}.villa-theme .eyebrow{font-size:9px;margin-bottom:16px}.villa-theme .story-text p:not(.eyebrow){font-size:13px}.villa-theme .story-text{max-width:none}
 .villa-theme #main>.theme-stay{padding:44px 0}.villa-theme .theme-stay-heading{margin-bottom:23px}.villa-theme .theme-stay-heading .display-m{font-size:38px}.villa-theme .theme-stay-heading>p:last-child{font-size:13px}.villa-theme .theme-stay-grid{display:block}.villa-theme .theme-dates,.villa-theme #contact{padding:20px 16px}.villa-theme #contact{margin-top:18px}.villa-theme #availability,.villa-theme #contact{scroll-margin-top:90px}.villa-theme .avail-title,.villa-theme #contact .display-m{font-size:30px}.villa-theme .avail-sub{font-size:12px}.villa-theme .calendar-grid{grid-template-columns:1fr;gap:18px}.villa-theme .booking-day{font-size:12px}.villa-theme .quote-summary{flex-basis:100%}.villa-theme .quote-price{font-size:25px}.villa-theme .form-grid{gap:15px 12px}.villa-theme .form-group input,.villa-theme .form-group select,.villa-theme .form-group textarea{font-size:16px;padding:10px 8px}.villa-theme .form-group label{font-size:11px}.villa-theme .form-actions .btn{font-size:12px}.villa-theme .form-note,.villa-theme .form-reassure{font-size:10px}
 .villa-theme .spaces-grid{display:block}.villa-theme .space{display:grid;grid-template-columns:42% 1fr;gap:15px;margin-bottom:24px}.villa-theme .space-img{height:160px;aspect-ratio:auto}.villa-theme .space-body{padding:0}.villa-theme .space h3{font-size:25px;margin:0 0 7px;line-height:1.1}.villa-theme .space p{font-size:13px;line-height:1.75;margin:0 0 10px}.villa-theme .space-meta span{font-size:8px;padding:3px 6px}.villa-theme .spaces-header>p:last-child{font-size:13px}
 .villa-theme #main>.amenities{padding-bottom:45px}.villa-theme .theme-facility-highlights{grid-template-columns:1fr 1fr;gap:10px}.villa-theme .theme-facility-highlights span{font-size:22px;padding:16px}.villa-theme .amenities-cats{grid-template-columns:1fr 1fr;gap:22px}.villa-theme .amenity-cat h3{font-size:22px}.villa-theme .amenity-cat li{font-size:11px}.villa-theme .wellness-grid{display:flex;flex-direction:column-reverse;gap:25px}.villa-theme .wellness-images{height:260px;min-height:0;width:100%}.villa-theme .wellness-text .display-m{font-size:36px}.villa-theme .wellness-text>p:not(.eyebrow){font-size:13px}.villa-theme .exp-grid{grid-template-columns:1fr 1fr;gap:10px}.villa-theme .exp{padding:14px}.villa-theme .exp h3{font-size:11px}.villa-theme .exp p{font-size:10px}.villa-theme .experiences-header .display-m{font-size:30px}
 .villa-theme .location-grid{display:flex;flex-direction:column;gap:26px}.villa-theme .location-map{width:100%;min-height:300px}.villa-theme .location-map iframe{min-height:300px;height:300px}.villa-theme .nearby{gap:16px}.villa-theme .nearby-place{font-size:12px}.villa-theme .location-text>p:not(.eyebrow){font-size:13px}.villa-theme .faq>.container{display:block}.villa-theme .faq-header{margin-bottom:16px}.villa-theme .faq-header .display-m{font-size:36px}.villa-theme .faq-q{font-size:12px}.villa-theme #main>.faq{padding:44px 0}
 .villa-theme .footer{padding:40px 20px 110px}.villa-theme .footer-grid{grid-template-columns:1fr 1fr;gap:28px}.villa-theme .footer-col:first-child{grid-column:1/-1}.villa-theme .footer-col:last-child{display:block}.villa-theme .footer-col:last-child h3{margin-bottom:12px}.villa-theme .footer-col:last-child a{margin-bottom:7px}.villa-theme .footer-bottom{display:block;font-size:10px;margin-top:26px}.villa-theme .footer-bottom>div+div{margin-top:12px}.villa-theme .footer-brand{font-size:28px}
 .villa-theme .booking-bar{padding:10px 16px calc(10px + env(safe-area-inset-bottom));gap:10px}.villa-theme .booking-bar-name{display:none}.villa-theme .booking-bar-price{font-size:9px;max-width:170px;line-height:1.7}.villa-theme .booking-bar-price strong{font-size:14px}.villa-theme .booking-bar .btn-wa{display:none}.villa-theme .booking-bar .btn-gold{font-size:11px;padding:11px 20px;min-height:44px}.villa-theme .float-actions{display:none}
 html[dir=rtl] .villa-theme .hero-title{font-size:42px;line-height:1.25}
}
@media(max-width:360px){.villa-theme .nav{padding-inline:14px}.villa-theme .hero{padding-inline:16px}.villa-theme .hero-title{font-size:43px}.villa-theme .hero-meta{font-size:9px;gap:8px}.villa-theme .hero-meta>span{padding-inline-end:8px}.villa-theme .theme-photo{height:280px}.villa-theme .space{display:block}.villa-theme .space-img{height:180px;margin-bottom:14px}.villa-theme .space p{font-size:12px}.villa-theme .form-grid{grid-template-columns:1fr}.villa-theme .form-group{grid-column:1/-1}.villa-theme .form-actions .btn{width:100%}.villa-theme .theme-facility-highlights span{font-size:19px;padding:14px}}
@media(prefers-reduced-motion:reduce){.villa-theme *{scroll-behavior:auto!important;animation:none!important;transition:none!important}.villa-theme .gallery-item:hover img,.villa-theme .space:hover img,.villa-theme .btn:hover{transform:none!important}}
