@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Fraunces:opsz,wght@9..144,500;9..144,600&display=swap');
:root{--ink:#14201d;--forest:#1f332d;--deep:#0e1815;--gold:#d6a452;--cream:#f6f0e7;--sand:#ece0cf;--white:#fff;--muted:#6f746f;--radius:28px;--shadow:0 24px 60px rgba(10,20,17,.16)}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:'DM Sans',sans-serif;color:var(--ink);background:#fbf8f3}body[dir=rtl]{font-family:Arial,sans-serif}img{max-width:100%;display:block}a{color:inherit;text-decoration:none}.container{width:min(1180px,calc(100% - 40px));margin:auto}.site-header{position:absolute;z-index:50;top:0;left:0;right:0;height:110px;padding:18px 34px;display:flex;align-items:center;gap:28px;color:#fff;background:linear-gradient(180deg,rgba(6,15,13,.68),rgba(6,15,13,0))}.brand{display:flex;align-items:center;gap:14px;min-width:310px}.brand-mark{width:66px;height:66px;border:1px solid rgba(255,255,255,.55);border-radius:20px;display:grid;place-items:center;font-family:'Fraunces',serif;font-size:28px}.brand strong{display:block;font-family:'Fraunces',serif;font-size:27px;letter-spacing:.02em}.brand small{display:block;font-size:11px;letter-spacing:.24em;margin-top:6px;opacity:.72}.main-nav{display:flex;gap:34px;align-items:center;margin-left:auto;font-weight:600}.main-nav>a{position:relative;padding:12px 0}.main-nav>a:after{content:'';position:absolute;left:0;right:0;bottom:2px;height:2px;background:var(--gold);transform:scaleX(0);transition:.25s}.main-nav>a:hover:after,.main-nav>a.active:after{transform:scaleX(1)}.header-actions{display:flex;align-items:center;gap:20px}.lang-switch{display:flex;border:1px solid rgba(255,255,255,.4);border-radius:999px;padding:4px}.lang-switch a{padding:9px 12px;border-radius:999px}.lang-switch a.active{background:#fff;color:var(--ink)}.btn{display:inline-flex;align-items:center;justify-content:center;min-height:54px;padding:0 28px;border-radius:999px;border:1px solid transparent;font-weight:700;cursor:pointer;font:inherit;transition:.2s}.btn:hover{transform:translateY(-2px)}.btn-gold{background:var(--gold);color:#111}.btn-dark{background:var(--deep);color:#fff}.btn-outline-light{border-color:rgba(255,255,255,.7);color:#fff;background:rgba(255,255,255,.04)}.btn-whatsapp{background:#138f58;color:white}.btn.full{width:100%;margin-top:12px}.menu-toggle,.mobile-lang,.mobile-book{display:none}.home-hero{position:relative;min-height:100svh;background-image:var(--hero);background-size:cover;background-position:center;display:flex;align-items:center;color:white;padding:125px 0 190px}.hero-overlay{position:absolute;inset:0;background:linear-gradient(90deg,rgba(9,20,17,.84) 0%,rgba(9,20,17,.48) 48%,rgba(9,20,17,.16) 100%),linear-gradient(0deg,rgba(9,20,17,.45),transparent 55%)}.hero-content{position:relative;z-index:2}.eyebrow{font-size:13px;font-weight:700;letter-spacing:.26em;color:#efbb68;margin:0 0 20px}.eyebrow.dark{color:#a56e1e}.hero-content h1,.page-hero h1,.detail-title h1{font-family:'Fraunces',serif;font-size:clamp(64px,7vw,116px);line-height:.93;max-width:850px;margin:0}.hero-copy{font-size:22px;line-height:1.7;max-width:710px;margin:34px 0}.hero-buttons{display:flex;gap:16px}.booking-bar{position:absolute;z-index:4;left:50%;bottom:26px;transform:translateX(-50%);width:min(1780px,calc(100% - 64px));background:rgba(255,255,255,.97);border-radius:24px;display:grid;grid-template-columns:1.25fr 1fr 1fr .75fr .85fr auto;box-shadow:var(--shadow);overflow:hidden;color:var(--ink)}.booking-bar label{padding:18px 22px;border-right:1px solid #ddd;min-width:0}.booking-bar label span{display:block;font-size:11px;letter-spacing:.12em;text-transform:uppercase;font-weight:700;color:#7d807d;margin-bottom:7px}.booking-bar input,.booking-bar select{width:100%;border:0;background:transparent;font:inherit;font-weight:600;outline:none;color:var(--ink)}.booking-submit{border:0;background:var(--gold);padding:0 34px;font-weight:800;font-size:17px;cursor:pointer}.section{padding:100px 0}.section-soft{background:var(--cream)}.intro-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:90px;align-items:start}.intro-grid h2,.section-heading h2,.location-grid h2,.detail-grid h2,.contact-grid h2,.booking-note h2{font-family:'Fraunces',serif;font-size:clamp(42px,5vw,70px);line-height:1.08;margin:0}.intro-grid>p,.location-grid p,.detail-grid p,.contact-grid p{font-size:19px;line-height:1.8;color:#4e5752}.section-heading{display:flex;align-items:end;justify-content:space-between;gap:20px;margin-bottom:42px}.section-heading h2{font-size:54px}.text-link{font-weight:700;border-bottom:1px solid}.cabin-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:34px}.cabin-card{background:#fff;border-radius:var(--radius);overflow:hidden;box-shadow:0 14px 40px rgba(26,33,30,.08)}.cabin-image{display:block;position:relative;aspect-ratio:4/3;overflow:hidden}.cabin-image img{width:100%;height:100%;object-fit:cover;transition:.5s}.cabin-card:hover .cabin-image img{transform:scale(1.035)}.cabin-image span{position:absolute;top:20px;left:20px;background:white;padding:11px 15px;border-radius:999px;font-weight:700}.cabin-body{padding:30px}.cabin-head{display:flex;justify-content:space-between;gap:20px;align-items:start}.cabin-head h2,.cabin-head h3{font-family:'Fraunces',serif;font-size:38px;margin:0}.cabin-head strong{font-size:18px;text-align:right}.cabin-body>p{font-size:17px;line-height:1.7;color:#5a615d;min-height:58px}.cabin-facts{display:flex;gap:12px;flex-wrap:wrap;margin:20px 0}.cabin-facts span,.facts-stack span{background:var(--cream);padding:9px 12px;border-radius:999px;font-size:13px}.card-actions{display:flex;gap:12px}.gallery-preview{display:grid;grid-template-columns:1.25fr .75fr .75fr;grid-template-rows:250px 250px;gap:16px}.gallery-preview a{overflow:hidden;border-radius:24px}.gallery-preview a:first-child{grid-row:1/3}.gallery-preview img{width:100%;height:100%;object-fit:cover;transition:.4s}.gallery-preview a:hover img{transform:scale(1.03)}.location-section{background:var(--forest);color:#fff}.location-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:70px;align-items:center}.location-grid p{color:#d5ddd9}.map-card{height:480px;border-radius:var(--radius);overflow:hidden;background:#d5ddd9}.map-card iframe{width:100%;height:100%;border:0}.map-placeholder{height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;color:var(--ink);gap:12px;padding:30px}.site-footer{background:var(--deep);color:#d7dfdb;padding:80px 36px 30px}.footer-top{width:min(1280px,100%);margin:auto;display:grid;grid-template-columns:1.4fr repeat(4,1fr);gap:52px}.footer-top h4{color:#fff;margin:0 0 18px}.footer-top a,.footer-top p{display:block;margin:11px 0;color:#b7c0bc}.footer-brand .brand-mark{margin-bottom:18px}.footer-brand h3{font-family:'Fraunces',serif;font-size:34px;margin:0}.footer-bottom{width:min(1280px,100%);margin:50px auto 0;border-top:1px solid rgba(255,255,255,.14);padding-top:24px;display:flex;justify-content:space-between;font-size:13px}.whatsapp-float{position:fixed;right:22px;bottom:22px;z-index:30;width:62px;height:62px;border-radius:50%;display:grid;place-items:center;background:#17b66d;color:#fff;font-weight:800;box-shadow:0 14px 30px rgba(0,0,0,.25)}.page-hero{position:relative;min-height:540px;background-image:var(--hero);background-size:cover;background-position:center;color:#fff;display:flex;align-items:end;padding:150px 0 75px}.page-hero.small{min-height:400px}.page-hero .container{position:relative;z-index:2}.page-hero h1{font-size:82px}.page-hero p:not(.eyebrow){font-size:20px;max-width:700px}.cabin-detail-hero{position:relative;height:76vh;min-height:640px;color:#fff;overflow:hidden}.cabin-detail-hero>img{width:100%;height:100%;object-fit:cover}.cabin-detail-hero:after{content:'';position:absolute;inset:0;background:linear-gradient(0deg,rgba(7,16,14,.76),rgba(7,16,14,.08) 60%)}.detail-title{position:absolute;z-index:2;left:50%;bottom:65px;transform:translateX(-50%)}.detail-title p:last-child{font-size:20px}.detail-grid{display:grid;grid-template-columns:1fr 380px;gap:80px}.amenity-list{display:grid;grid-template-columns:repeat(2,1fr);gap:12px;padding:0;list-style:none}.amenity-list li{background:var(--cream);padding:14px 18px;border-radius:16px}.booking-card{position:sticky;top:30px;align-self:start;padding:32px;background:#fff;border-radius:var(--radius);box-shadow:var(--shadow)}.booking-card>strong{font-family:'Fraunces',serif;font-size:42px;display:block}.booking-card>span{color:var(--muted)}.facts-stack{display:flex;gap:8px;flex-wrap:wrap;margin:24px 0}.detail-gallery{display:grid;grid-template-columns:repeat(2,1fr);gap:18px}.detail-gallery img{width:100%;height:420px;object-fit:cover;border-radius:24px}.masonry-gallery{columns:3 320px;column-gap:18px}.masonry-gallery figure{break-inside:avoid;margin:0 0 18px;background:#fff;border-radius:24px;overflow:hidden}.masonry-gallery img{width:100%}.masonry-gallery figcaption{padding:14px 18px}.location-page,.contact-grid,.booking-layout{display:grid;grid-template-columns:.85fr 1.15fr;gap:70px;align-items:start}.map-card.large{height:620px}.contact-list{display:grid;gap:10px}.panel-form{background:#fff;padding:34px;border-radius:var(--radius);box-shadow:var(--shadow)}.panel-form label{display:block;font-size:13px;font-weight:700;margin-bottom:18px}.panel-form input,.panel-form select,.panel-form textarea{display:block;width:100%;margin-top:8px;border:1px solid #d8d8d2;border-radius:14px;padding:15px 16px;font:inherit;background:#fff}.form-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:0 18px}.span-2{grid-column:span 2}.booking-layout{grid-template-columns:1.35fr .65fr}.booking-note{background:var(--forest);color:#fff;padding:34px;border-radius:var(--radius)}.booking-note h2{font-size:42px}.booking-note li{margin:18px 0;line-height:1.5}.booking-actions{display:flex;gap:12px}.flash{position:fixed;top:120px;left:50%;transform:translateX(-50%);z-index:100;padding:14px 22px;border-radius:14px;box-shadow:var(--shadow);font-weight:700}.flash.success{background:#dff7e9;color:#145b38}.flash.error{background:#ffe6e0;color:#8c261c}.thank-you{text-align:center;min-height:70vh;display:flex;flex-direction:column;align-items:center;justify-content:center}.thank-you h1{font-family:'Fraunces',serif;font-size:60px;max-width:900px}.success-icon{width:90px;height:90px;border-radius:50%;display:grid;place-items:center;background:#daf4e3;color:#18794a;font-size:42px}.reference-card{padding:24px 40px;background:#fff;border-radius:20px;margin:20px 0 32px;box-shadow:var(--shadow)}.reference-card strong{display:block;font-size:30px}.reference-card span{display:block;margin-top:10px}.reservation-page{min-height:80vh;padding-top:170px}.reservation-page{display:grid;grid-template-columns:1fr 1fr;gap:40px}.reservation-result{grid-column:1/-1;background:#fff;padding:30px;border-radius:24px}.mobile-lang,.mobile-book{display:none}
@media(max-width:1150px){.site-header{padding:16px 22px}.brand{min-width:auto}.brand strong{font-size:23px}.main-nav{gap:18px}.header-actions .btn{display:none}.booking-bar{grid-template-columns:repeat(3,1fr);bottom:18px}.booking-submit{min-height:72px}.home-hero{padding-bottom:260px}.footer-top{grid-template-columns:repeat(3,1fr)}.footer-brand{grid-column:1/-1}.cabin-grid{gap:22px}}
@media(max-width:820px){.site-header{height:88px}.brand-mark{width:52px;height:52px;border-radius:15px;font-size:22px}.brand strong{font-size:21px}.brand small{font-size:9px}.menu-toggle{display:block;margin-left:auto;width:46px;height:46px;background:transparent;border:0;position:relative;z-index:102}.menu-toggle span{display:block;height:2px;background:#fff;margin:7px}.header-actions{display:none}.main-nav{position:fixed;inset:0;z-index:100;background:rgba(12,23,20,.98);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:16px;opacity:0;visibility:hidden;transform:translateY(-10px);transition:.25s}.menu-open .main-nav{opacity:1;visibility:visible;transform:none}.menu-open{overflow:hidden}.main-nav>a{font-size:24px}.mobile-lang{display:flex;gap:8px;margin-top:12px}.mobile-lang a{padding:10px 14px;border:1px solid rgba(255,255,255,.3);border-radius:999px}.mobile-book{display:flex!important;background:var(--gold);color:#111;padding:15px 28px!important;border-radius:999px}.home-hero{min-height:100svh;padding:110px 0 290px;align-items:flex-start}.hero-content{padding-top:35px}.hero-content h1{font-size:clamp(55px,17vw,78px)}.hero-copy{font-size:17px;margin:24px 0}.hero-buttons{gap:10px}.hero-buttons .btn{min-height:50px;padding:0 22px}.booking-bar{width:calc(100% - 24px);grid-template-columns:1fr 1fr;border-radius:20px}.booking-bar label{padding:12px 14px}.booking-bar label:first-of-type{grid-column:span 2}.booking-bar label:nth-of-type(5){display:none}.booking-submit{grid-column:span 2;min-height:58px}.section{padding:70px 0}.intro-grid,.location-grid,.location-page,.contact-grid,.booking-layout,.detail-grid{grid-template-columns:1fr;gap:38px}.intro-grid h2,.section-heading h2,.location-grid h2{font-size:44px}.cabin-grid{grid-template-columns:1fr}.section-heading{align-items:start}.gallery-preview{grid-template-columns:1fr 1fr;grid-template-rows:220px 180px}.gallery-preview a:first-child{grid-column:1/-1;grid-row:auto}.footer-top{grid-template-columns:1fr 1fr}.page-hero{min-height:430px;padding-bottom:55px}.page-hero h1{font-size:62px}.cabin-detail-hero{height:70vh;min-height:560px}.detail-title h1{font-size:62px}.detail-grid{padding-top:60px}.booking-card{position:static}.detail-gallery{grid-template-columns:1fr}.detail-gallery img{height:320px}.form-grid{grid-template-columns:1fr}.span-2{grid-column:auto}.booking-actions{flex-direction:column}.reservation-page{grid-template-columns:1fr;padding-top:120px}.reservation-result{grid-column:auto}.site-footer{padding:60px 20px 25px}.footer-bottom{flex-direction:column;gap:8px}.map-card.large{height:460px}}
@media(max-width:520px){.container{width:min(100% - 24px,1180px)}.brand{gap:9px}.brand strong{font-size:18px}.brand small{letter-spacing:.14em}.home-hero{padding-bottom:300px}.hero-content h1{font-size:56px}.hero-copy{line-height:1.5}.booking-bar{bottom:10px}.booking-bar label{padding:10px 12px}.booking-bar label span{font-size:9px}.booking-bar input,.booking-bar select{font-size:13px}.section-heading{display:block}.text-link{display:inline-block;margin-top:18px}.cabin-head h2,.cabin-head h3{font-size:32px}.cabin-head{display:block}.cabin-head strong{display:block;text-align:left;margin-top:8px}.card-actions{flex-direction:column}.gallery-preview{display:grid;grid-template-columns:1fr 1fr;grid-template-rows:210px 150px}.footer-top{grid-template-columns:1fr}.thank-you h1{font-size:43px}.page-hero h1{font-size:52px}.amenity-list{grid-template-columns:1fr}}

/* Compact cabin cards + booking pair */
.cabin-grid{gap:24px;max-width:1080px;margin-left:auto;margin-right:auto}
.cabin-card{border-radius:24px}
.cabin-image{aspect-ratio:auto;height:255px}
.cabin-image span{top:14px;left:14px;padding:9px 13px;font-size:14px}
.cabin-body{padding:22px}
.cabin-head{gap:14px}
.cabin-head h2,.cabin-head h3{font-size:30px;line-height:1.08}
.cabin-head h2 a,.cabin-head h3 a{transition:color .2s}
.cabin-head h2 a:hover,.cabin-head h3 a:hover{color:#a56e1e}
.cabin-head strong{font-size:16px;white-space:nowrap}
.cabin-body>p{font-size:15px;line-height:1.55;min-height:0;margin:14px 0;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.cabin-facts{gap:8px;margin:14px 0 18px}
.cabin-facts span{padding:7px 10px;font-size:12px}
.cabin-card .card-actions{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.cabin-card .card-actions .btn{min-height:46px;padding:0 16px;font-size:14px}
.cabin-card .btn-whatsapp{background:#17a968;color:#fff}

/* Clean editorial gallery: photos only, no caption cards */
.masonry-gallery{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));grid-auto-flow:dense;grid-auto-rows:105px;gap:18px;columns:auto}
.masonry-gallery figure{margin:0;min-height:0;background:transparent;border-radius:24px;overflow:hidden;box-shadow:none;break-inside:auto}
.masonry-gallery figure:nth-child(8n+1),.masonry-gallery figure:nth-child(8n+4){grid-row:span 5}
.masonry-gallery figure:nth-child(8n+2),.masonry-gallery figure:nth-child(8n+5),.masonry-gallery figure:nth-child(8n+7){grid-row:span 3}
.masonry-gallery figure:nth-child(8n+3),.masonry-gallery figure:nth-child(8n+6),.masonry-gallery figure:nth-child(8n+8){grid-row:span 4}
.masonry-gallery a{display:block;width:100%;height:100%;overflow:hidden}
.masonry-gallery img{width:100%;height:100%;object-fit:cover;transition:transform .45s ease,filter .45s ease}
.masonry-gallery figure:hover img{transform:scale(1.035);filter:saturate(1.04)}
.masonry-gallery figcaption{display:none!important}

@media(max-width:1100px){
  .cabin-grid{max-width:900px}
  .cabin-image{height:230px}
  .masonry-gallery{grid-template-columns:repeat(3,minmax(0,1fr));grid-auto-rows:95px}
}
@media(max-width:820px){
  .cabin-grid{max-width:620px}
  .cabin-image{height:225px}
  .masonry-gallery{grid-template-columns:repeat(2,minmax(0,1fr));grid-auto-rows:90px;gap:12px}
  .masonry-gallery figure:nth-child(n){grid-row:span 3}
  .masonry-gallery figure:nth-child(4n+1),.masonry-gallery figure:nth-child(4n+4){grid-row:span 4}
}
@media(max-width:520px){
  .cabin-image{height:205px}
  .cabin-body{padding:18px}
  .cabin-head{display:flex;align-items:flex-start}
  .cabin-head h2,.cabin-head h3{font-size:27px}
  .cabin-head strong{display:block;text-align:right;margin-top:2px;font-size:14px}
  .cabin-card .card-actions{grid-template-columns:1fr 1fr}
  .cabin-card .card-actions .btn{padding:0 10px;font-size:13px}
  .masonry-gallery{grid-template-columns:1fr 1fr;grid-auto-rows:72px;gap:10px}
  .masonry-gallery figure{border-radius:18px}
}

/* Compact inner-page heroes: Cabins, Gallery, Location and Contact */
.page-hero.compact{
  min-height:390px;
  padding:128px 0 44px;
}
.page-hero.compact .eyebrow{
  margin-bottom:12px;
}
.page-hero.compact h1{
  font-size:clamp(44px,4.8vw,64px);
  line-height:1;
  max-width:760px;
}
.page-hero.compact p:not(.eyebrow){
  max-width:650px;
  margin:16px 0 0;
  font-size:18px;
  line-height:1.5;
}

@media(max-width:820px){
  .page-hero.compact{
    min-height:335px;
    padding:108px 0 38px;
  }
  .page-hero.compact h1{
    font-size:46px;
  }
  .page-hero.compact p:not(.eyebrow){
    font-size:16px;
    margin-top:12px;
  }
}

@media(max-width:520px){
  .page-hero.compact{
    min-height:290px;
    padding:94px 0 26px;
  }
  .page-hero.compact .eyebrow{
    margin-bottom:9px;
    font-size:10px;
  }
  .page-hero.compact h1{
    font-size:38px;
    line-height:1.02;
  }
  .page-hero.compact p:not(.eyebrow){
    max-width:94%;
    font-size:15px;
    line-height:1.4;
    margin-top:10px;
  }
}

/* Homepage hero + reservation bar: all key actions visible on first load */
.page-home .home-hero{
  min-height:100svh;
  height:auto;
  display:block;
  padding:126px 0 28px;
  overflow:hidden;
}
.page-home .home-hero-layout{
  position:relative;
  z-index:2;
}
.page-home .hero-content{
  transform:none;
  max-width:1040px;
}
.page-home .hero-content h1{
  max-width:980px;
  font-size:clamp(52px,5.2vw,82px);
  line-height:.96;
}
.page-home .hero-copy{
  max-width:780px;
  margin:18px 0 20px;
  font-size:17px;
  line-height:1.5;
}
.page-home .hero-buttons{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
}
.page-home .hero-buttons .btn{
  min-height:48px;
  padding:0 22px;
  font-size:15px;
}
.page-home .booking-bar{
  position:relative;
  left:auto;
  bottom:auto;
  transform:none;
  width:100%;
  margin:30px 0 0;
  grid-template-columns:1.25fr 1fr 1fr .72fr .8fr minmax(220px,.9fr);
  min-height:92px;
}
.page-home .booking-bar label{
  padding:14px 18px;
}
.page-home .booking-bar-actions{
  display:grid;
  grid-template-rows:1fr 1fr;
  min-width:0;
}
.page-home .booking-submit,
.page-home .booking-wa-submit{
  border:0;
  min-height:46px;
  padding:9px 18px;
  font:inherit;
  font-weight:800;
  cursor:pointer;
}
.page-home .booking-submit{
  background:var(--gold);
  color:#111;
}
.page-home .booking-wa-submit{
  background:#138f58;
  color:#fff;
}

@media(max-width:1150px){
  .page-home .home-hero{padding:112px 0 24px}
  .page-home .hero-content h1{font-size:clamp(48px,6.4vw,72px)}
  .page-home .booking-bar{
    grid-template-columns:repeat(3,minmax(0,1fr));
    margin-top:24px;
    min-height:0;
  }
  .page-home .booking-bar-actions{
    grid-column:span 3;
    grid-template-columns:1fr 1fr;
    grid-template-rows:none;
  }
  .page-home .booking-submit,
  .page-home .booking-wa-submit{min-height:54px}
}

@media(max-width:820px){
  .page-home .home-hero{
    min-height:100svh;
    padding:94px 0 16px;
    background-position:center;
  }
  .page-home .hero-content{padding-top:8px}
  .page-home .hero-content h1{
    max-width:96%;
    font-size:clamp(39px,12.4vw,55px);
    line-height:.98;
  }
  .page-home .eyebrow{
    margin-bottom:10px;
    font-size:10px;
  }
  .page-home .hero-copy{
    max-width:96%;
    margin:12px 0 14px;
    font-size:14px;
    line-height:1.42;
  }
  .page-home .hero-buttons{
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:7px;
  }
  .page-home .hero-buttons .btn{
    min-height:42px;
    padding:0 8px;
    font-size:11px;
    text-align:center;
  }
  .page-home .booking-bar{
    width:100%;
    margin-top:18px;
    grid-template-columns:1fr 1fr;
    border-radius:18px;
  }
  .page-home .booking-bar label{
    padding:9px 11px;
  }
  .page-home .booking-bar label:first-of-type{grid-column:span 2}
  .page-home .booking-bar label:nth-of-type(5){display:none}
  .page-home .booking-bar-actions{
    grid-column:span 2;
    grid-template-columns:1fr 1fr;
  }
  .page-home .booking-submit,
  .page-home .booking-wa-submit{
    min-height:50px;
    padding:8px 6px;
    font-size:12px;
  }
}

@media(max-width:520px){
  .page-home .home-hero{padding:86px 0 12px}
  .page-home .hero-content h1{font-size:clamp(36px,11.8vw,49px)}
  .page-home .hero-copy{font-size:13px}
  .page-home .booking-bar{margin-top:14px}
  .page-home .booking-bar label span{font-size:8px;margin-bottom:4px}
  .page-home .booking-bar input,
  .page-home .booking-bar select{font-size:12px}
}

@media(min-width:821px) and (max-height:760px){
  .page-home .home-hero{padding:96px 0 18px}
  .page-home .hero-content h1{font-size:clamp(46px,4.7vw,68px)}
  .page-home .hero-copy{margin:12px 0 14px;font-size:15px}
  .page-home .hero-buttons .btn{min-height:44px}
  .page-home .booking-bar{margin-top:20px;min-height:82px}
  .page-home .booking-bar label{padding:10px 15px}
  .page-home .booking-submit,
  .page-home .booking-wa-submit{min-height:41px;font-size:14px}
}

/* FINAL homepage booking-bar position — desktop only.
   Keep the reservation bar near the lower edge of the first screen,
   fully visible, with balanced space above and no empty block below it. */
@media (min-width:821px){
  .page-home .home-hero{
    min-height:100svh;
    padding-top:126px;
    padding-bottom:26px;
  }
  .page-home .home-hero-layout{
    min-height:calc(100svh - 152px);
    display:flex;
    flex-direction:column;
  }
  .page-home .hero-content{
    flex:0 0 auto;
  }
  .page-home .booking-bar{
    flex:0 0 auto;
    margin-top:auto;
    margin-bottom:0;
  }
}

@media (min-width:821px) and (max-width:1150px){
  .page-home .home-hero{
    padding-top:112px;
    padding-bottom:24px;
  }
  .page-home .home-hero-layout{
    min-height:calc(100svh - 136px);
  }
}

@media (min-width:821px) and (max-height:760px){
  .page-home .home-hero{
    padding-top:96px;
    padding-bottom:18px;
  }
  .page-home .home-hero-layout{
    min-height:calc(100svh - 114px);
  }
}

/* Final homepage composition adjustments */
@media (min-width:821px){
  .page-home .hero-content{
    max-width:780px;
  }
  .page-home .hero-content h1{
    max-width:740px;
    font-size:clamp(58px,5.2vw,88px);
    line-height:.94;
    text-wrap:balance;
  }
  .page-home .hero-copy{
    max-width:720px;
    font-size:16px;
    line-height:1.48;
  }
}

@media (max-width:820px){
  .page-home .booking-bar{
    margin-top:30px;
  }
}

@media (max-width:520px){
  .page-home .booking-bar{
    margin-top:26px;
  }
}

/* FINAL hero composition fix: balanced headline, correctly spaced mobile bar,
   and action buttons that fully fill every rounded corner. */
.page-home .hero-content h1 > span{display:inline}

@media (min-width:821px){
  .page-home .hero-content{
    max-width:820px!important;
  }
  .page-home .hero-content h1{
    max-width:760px!important;
    font-size:clamp(58px,4.9vw,82px)!important;
    line-height:.96!important;
  }
  .page-home .hero-content h1 br + span{
    white-space:nowrap;
  }
}

/* Make the two action rows reach the exact outside edge of the booking bar. */
.page-home .booking-bar-actions{
  width:100%;
  height:100%;
  overflow:hidden;
  align-self:stretch;
  background:#138f58;
  border-radius:0 24px 24px 0;
}
.page-home .booking-submit,
.page-home .booking-wa-submit{
  width:100%;
  height:100%;
  margin:0;
  display:flex;
  align-items:center;
  justify-content:center;
  border-radius:0;
}
.page-home .booking-submit{border-radius:0 24px 0 0}
.page-home .booking-wa-submit{border-radius:0 0 24px 0}
body[dir=rtl] .page-home .booking-bar-actions{border-radius:24px 0 0 24px}
body[dir=rtl] .page-home .booking-submit{border-radius:24px 0 0 0}
body[dir=rtl] .page-home .booking-wa-submit{border-radius:0 0 0 24px}

@media (max-width:820px){
  .page-home .home-hero{
    min-height:100svh!important;
    height:auto!important;
    padding-bottom:28px!important;
    background-position:center!important;
  }
  .page-home .hero-content h1{
    max-width:96%!important;
    font-size:clamp(38px,12vw,52px)!important;
    line-height:.98!important;
  }
  .page-home .hero-content h1 br + span{white-space:normal}
  .page-home .booking-bar{
    margin-top:36px!important;
    margin-bottom:0!important;
  }
  .page-home .booking-bar-actions{
    grid-template-columns:1fr!important;
    grid-template-rows:auto auto!important;
    border-radius:0 0 18px 18px!important;
    background:#138f58;
  }
  .page-home .booking-submit,
  .page-home .booking-wa-submit{
    grid-column:1!important;
    width:100%!important;
    min-height:46px!important;
    border-radius:0!important;
  }
  .page-home .booking-wa-submit{border-radius:0 0 18px 18px!important}
  body[dir=rtl] .page-home .booking-bar-actions{border-radius:0 0 18px 18px!important}
  body[dir=rtl] .page-home .booking-submit{border-radius:0!important}
  body[dir=rtl] .page-home .booking-wa-submit{border-radius:0 0 18px 18px!important}
}

@media (max-width:520px){
  .page-home .booking-bar{margin-top:32px!important}
}

/* Mobile homepage booking bar position — user-tested value. */
@media (max-width: 520px) {
  .page-home .booking-bar {
    margin-top: 293px !important;
  }
}
