@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: compact, balanced and fully visible on first load */
.page-home .home-hero{
  min-height:100svh;
  height:100svh;
  display:block;
  padding:126px 0 18px;
  overflow:hidden;
  background-position:center;
}
.page-home .home-hero-layout{
  position:relative;
  z-index:2;
  width:min(1720px,calc(100% - 64px));
  height:calc(100svh - 144px);
  min-height:0;
  display:flex;
  flex-direction:column;
}
.page-home .hero-content{
  flex:0 0 auto;
  max-width:720px;
  padding-top:clamp(58px,8vh,78px);
  transform:none;
}
.page-home .eyebrow{
  margin:0 0 13px;
  font-size:12px;
  line-height:1.25;
}
.page-home .hero-content h1{
  max-width:610px;
  margin:0;
  font-size:clamp(42px,3.15vw,56px);
  line-height:.98;
  text-wrap:balance;
}
.page-home .hero-content h1 > span{display:inline}
.page-home .hero-content h1 br + span{white-space:nowrap}
.page-home .hero-copy{
  max-width:710px;
  margin:14px 0 16px;
  font-size:15px;
  line-height:1.42;
}
.page-home .hero-buttons{
  display:flex;
  flex-wrap:wrap;
  gap:9px;
}
.page-home .hero-buttons .btn{
  min-height:42px;
  padding:0 20px;
  font-size:14px;
}

/* Compact reservation bar: approximately two-thirds of the former height. */
.page-home .booking-bar{
  position:relative;
  left:auto;
  bottom:auto;
  transform:none;
  flex:0 0 auto;
  width:100%;
  min-height:68px;
  margin:auto 0 0;
  display:grid;
  grid-template-columns:1.28fr 1fr 1fr .68fr .76fr minmax(190px,.82fr);
  overflow:hidden;
  border-radius:18px;
  color:var(--ink);
  background:rgba(255,255,255,.97);
  box-shadow:var(--shadow);
}
.page-home .booking-bar label{
  min-width:0;
  padding:9px 14px;
  border-right:1px solid #ddd;
  display:flex;
  flex-direction:column;
  justify-content:center;
}
.page-home .booking-bar label span{
  margin-bottom:4px;
  font-size:9px;
  line-height:1.2;
  letter-spacing:.11em;
}
.page-home .booking-bar input,
.page-home .booking-bar select{
  min-width:0;
  font-size:14px;
  line-height:1.25;
}
.page-home .booking-bar-actions{
  min-width:0;
  width:100%;
  height:100%;
  align-self:stretch;
  display:grid;
  grid-template-rows:1fr 1fr;
  overflow:hidden;
  border-radius:0 18px 18px 0;
  background:#138f58;
}
.page-home .booking-submit,
.page-home .booking-wa-submit{
  width:100%;
  height:100%;
  min-height:34px;
  margin:0;
  padding:6px 12px;
  border:0;
  border-radius:0;
  display:flex;
  align-items:center;
  justify-content:center;
  font:inherit;
  font-size:13px;
  font-weight:800;
  line-height:1.15;
  cursor:pointer;
}
.page-home .booking-submit{background:var(--gold);color:#111}
.page-home .booking-wa-submit{background:#138f58;color:#fff}
body[dir=rtl] .page-home .booking-bar label{border-right:0;border-left:1px solid #ddd}
body[dir=rtl] .page-home .booking-bar-actions{border-radius:18px 0 0 18px}

/* Tablet and compact desktop: two-row bar without losing any field. */
@media (min-width:821px) and (max-width:1199px){
  .page-home .home-hero{padding:112px 0 16px}
  .page-home .home-hero-layout{
    width:min(100% - 40px,1100px);
    height:calc(100svh - 128px);
  }
  .page-home .hero-content{
    max-width:650px;
    padding-top:clamp(34px,5vh,50px);
  }
  .page-home .hero-content h1{
    max-width:560px;
    font-size:clamp(40px,5.2vw,52px);
  }
  .page-home .hero-copy{
    max-width:630px;
    margin:11px 0 13px;
    font-size:14px;
  }
  .page-home .hero-buttons .btn{
    min-height:39px;
    padding:0 16px;
    font-size:13px;
  }
  .page-home .booking-bar{
    min-height:104px;
    grid-template-columns:1.2fr 1fr 1fr;
    border-radius:16px;
  }
  .page-home .booking-bar label{padding:8px 12px}
  .page-home .booking-bar-actions{
    grid-column:auto;
    grid-template-rows:1fr 1fr;
    border-radius:0 0 16px 0;
  }
  body[dir=rtl] .page-home .booking-bar-actions{border-radius:0 0 0 16px}
}

/* Mobile: every field and both actions stay inside the first screen. */
@media (max-width:820px){
  .page-home .home-hero{
    min-height:100svh;
    height:100svh;
    padding:90px 0 12px;
    overflow:hidden;
  }
  .page-home .home-hero-layout{
    width:min(100% - 24px,620px);
    height:calc(100svh - 102px);
  }
  .page-home .hero-content{
    max-width:100%;
    padding-top:clamp(24px,4.2vh,36px);
  }
  .page-home .eyebrow{
    margin-bottom:8px;
    font-size:9px;
  }
  .page-home .hero-content h1{
    max-width:96%;
    font-size:clamp(32px,9.5vw,42px);
    line-height:1;
  }
  .page-home .hero-content h1 br + span{white-space:normal}
  .page-home .hero-copy{
    max-width:98%;
    margin:8px 0 10px;
    font-size:12px;
    line-height:1.35;
  }
  .page-home .hero-buttons{
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:6px;
  }
  .page-home .hero-buttons .btn{
    min-height:36px;
    padding:0 6px;
    font-size:10.5px;
    line-height:1.1;
    text-align:center;
  }
  .page-home .booking-bar{
    min-height:0;
    margin:auto 0 0;
    grid-template-columns:1fr 1fr;
    border-radius:15px;
  }
  .page-home .booking-bar label{
    min-height:42px;
    padding:6px 9px;
    border-right:1px solid #ddd;
    border-bottom:1px solid #e3e3e3;
  }
  .page-home .booking-bar label:first-of-type{grid-column:span 2}
  .page-home .booking-bar label:nth-of-type(5){display:flex}
  .page-home .booking-bar label span{
    margin-bottom:2px;
    font-size:7.5px;
    letter-spacing:.09em;
  }
  .page-home .booking-bar input,
  .page-home .booking-bar select{font-size:11.5px}
  .page-home .booking-bar-actions{
    grid-column:span 2;
    height:auto;
    min-height:40px;
    grid-template-columns:1fr 1fr;
    grid-template-rows:1fr;
    border-radius:0 0 15px 15px;
  }
  .page-home .booking-submit,
  .page-home .booking-wa-submit{
    grid-column:auto;
    min-height:40px;
    padding:5px 4px;
    font-size:10.5px;
  }
  body[dir=rtl] .page-home .booking-bar-actions{border-radius:0 0 15px 15px}
}

@media (max-width:520px){
  .page-home .home-hero{padding-top:84px;padding-bottom:10px}
  .page-home .home-hero-layout{height:calc(100svh - 94px)}
  .page-home .hero-content{padding-top:24px}
  .page-home .hero-content h1{font-size:clamp(30px,9.4vw,38px)}
  .page-home .hero-copy{font-size:11.5px;margin:7px 0 9px}
  .page-home .hero-buttons .btn{min-height:34px;font-size:10px}
  .page-home .booking-bar label{min-height:39px;padding:5px 8px}
  .page-home .booking-bar input,
  .page-home .booking-bar select{font-size:11px}
  .page-home .booking-submit,
  .page-home .booking-wa-submit{min-height:38px;font-size:10px}
}

/* Short screens: preserve the full composition without vertical overflow. */
@media (min-width:821px) and (max-height:700px){
  .page-home .home-hero{padding-top:94px;padding-bottom:12px}
  .page-home .home-hero-layout{height:calc(100svh - 106px)}
  .page-home .hero-content{padding-top:22px}
  .page-home .eyebrow{margin-bottom:8px;font-size:10px}
  .page-home .hero-content h1{font-size:clamp(38px,3.7vw,48px)}
  .page-home .hero-copy{margin:8px 0 10px;font-size:13px;line-height:1.32}
  .page-home .hero-buttons .btn{min-height:36px;font-size:12px}
  .page-home .booking-bar{min-height:62px}
  .page-home .booking-bar label{padding:7px 11px}
  .page-home .booking-submit,
  .page-home .booking-wa-submit{min-height:31px;font-size:12px}
}

@media (max-width:820px) and (max-height:650px){
  .page-home .home-hero{padding-top:80px;padding-bottom:8px}
  .page-home .home-hero-layout{height:calc(100svh - 88px)}
  .page-home .hero-content{padding-top:10px}
  .page-home .eyebrow{margin-bottom:5px;font-size:8px}
  .page-home .hero-content h1{font-size:clamp(28px,8.4vw,34px)}
  .page-home .hero-copy{margin:5px 0 7px;font-size:10.5px;line-height:1.25}
  .page-home .hero-buttons .btn{min-height:31px;font-size:9px}
  .page-home .booking-bar label{min-height:35px;padding:4px 7px}
  .page-home .booking-submit,
  .page-home .booking-wa-submit{min-height:34px;font-size:9.5px}
}

/* Cabin cards: image occupies 5/8 and content occupies 3/8 of each card. */
.cabin-card{
  display:grid;
  grid-template-rows:5fr 3fr;
  height:648px;
}
.cabin-card .cabin-image{
  height:auto;
  min-height:0;
  aspect-ratio:auto;
}
.cabin-card .cabin-body{
  min-height:0;
  display:flex;
  flex-direction:column;
  overflow:hidden;
}
.cabin-card .cabin-facts{
  margin-top:auto;
}
.cabin-card .card-actions{
  flex:0 0 auto;
}

@media(max-width:1100px){
  .cabin-card{height:624px}
}

@media(max-width:820px){
  .cabin-card{height:620px}
}

@media(max-width:520px){
  .cabin-card{height:600px}
  .cabin-card .cabin-body{padding:16px}
  .cabin-card .cabin-body>p{
    margin:10px 0;
    -webkit-line-clamp:1;
  }
  .cabin-card .cabin-facts{
    gap:6px;
    margin-bottom:12px;
  }
  .cabin-card .cabin-facts span{
    padding:6px 8px;
    font-size:11px;
  }
  .cabin-card .card-actions .btn{min-height:42px}
}

/* Desktop cabins: keep the complete cards at 5/8 of the wide-page footprint. */
@media (min-width:1101px){
  .cabin-grid{
    width:62.5%;
    max-width:960px;
    min-width:760px;
    gap:20px;
    margin-left:auto;
    margin-right:auto;
  }
  .cabin-card{
    height:520px;
    border-radius:20px;
  }
  .cabin-card .cabin-body{
    padding:16px 18px;
  }
  .cabin-card .cabin-head{
    gap:10px;
  }
  .cabin-card .cabin-head h2,
  .cabin-card .cabin-head h3{
    font-size:26px;
    line-height:1.05;
  }
  .cabin-card .cabin-head strong{
    font-size:14px;
  }
  .cabin-card .cabin-body>p{
    margin:7px 0;
    min-height:0;
    font-size:13px;
    line-height:1.35;
    -webkit-line-clamp:1;
  }
  .cabin-card .cabin-facts{
    gap:6px;
    margin:7px 0 9px;
  }
  .cabin-card .cabin-facts span{
    padding:5px 8px;
    font-size:10px;
  }
  .cabin-card .card-actions{
    gap:7px;
  }
  .cabin-card .card-actions .btn{
    min-height:38px;
    padding:0 10px;
    font-size:12px;
  }
}

/* Desktop cabin listing: use the full available page width. */
@media (min-width:1101px){
  .section-soft > .cabin-grid,
  .page-home .section-soft > .cabin-grid{
    width:calc(100% - 64px);
    max-width:1800px;
    min-width:0;
    margin-left:auto;
    margin-right:auto;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:28px;
  }

  .section-soft > .cabin-grid .cabin-card,
  .page-home .section-soft > .cabin-grid .cabin-card{
    width:100%;
  }
}

@media (min-width:1600px){
  .section-soft > .cabin-grid,
  .page-home .section-soft > .cabin-grid{
    width:calc(100% - 96px);
  }
}
