/* Amasun B&B — template UX + palette overrides (vacation-rental Colorlib base) */
:root{
  --bone:#F7F3EC;
  --stone:#2F2A26;
  --stone2:#4A4038;
  --moss:#8A6A3A;
  --ember:#C4844A;
  --ink:#1F1A16;
  --muted:#6E645A;
  --line:rgba(31,26,22,.13);
}
:root{--nav-chrome:5.25rem;--top-strip-h:1.85rem}
html{scroll-behavior:smooth;scroll-padding-top:var(--nav-chrome)}
body{background:var(--bone);color:var(--ink)}
/* One fixed chrome: strip + nav stack in normal flow (no independent top offsets) */
.site-chrome{
  position:fixed;top:0;left:0;right:0;width:100%;z-index:1000
}
.wrap{
  /* Host/phone strip: brand accent (moss) — distinct from frosted/gray menu bar */
  position:relative;z-index:1;
  background:var(--moss);color:#fff;padding:.3rem 0;
  max-height:3.5rem;overflow:hidden;
  visibility:visible;
  transition:
    max-height .3s ease,
    opacity .25s ease,
    padding .3s ease,
    border-color .25s ease,
    background .25s ease,
    visibility 0s linear 0s
}
.wrap.is-away{
  /* Height-only collapse so the menu rides up flush — no transform overlap */
  max-height:0;opacity:0;padding-top:0!important;padding-bottom:0!important;
  border-bottom-width:0!important;pointer-events:none;
  visibility:hidden;
  transition:
    max-height .3s ease,
    opacity .25s ease,
    padding .3s ease,
    border-color .25s ease,
    background .25s ease,
    visibility 0s linear .3s
}
.wrap a{color:#fff}
.wrap .host-name{color:#fff;font-size:12px;margin:0}
.wrap .host-name .mailus{color:rgba(255,255,255,.6)}
.wrap-host{gap:.75rem}
.navbar-brand{color:#fff!important;font-weight:700}
.navbar-brand span{color:var(--ember)!important;margin-left:.15em}
.ftco-navbar-light .navbar-brand{font-size:1.25rem;line-height:1.15}
.ftco-navbar-light .navbar-nav > .nav-item > .nav-link{
  padding-top:.85rem!important;padding-bottom:.85rem!important
}
.ftco-navbar-light .navbar-toggler{color:#fff!important;border-color:rgba(255,255,255,.35)}
/* Scrolled sticky bar: grayish full-width with brand + MENU readable */
.ftco-navbar-light.scrolled,
#ftco-navbar.scrolled{
  background:#6a6560!important;
  box-shadow:0 2px 14px rgba(0,0,0,.2)!important;
  -webkit-backdrop-filter:none!important;backdrop-filter:none!important
}
.ftco-navbar-light.scrolled .navbar-brand,
#ftco-navbar.scrolled .navbar-brand{color:#fff!important}
.ftco-navbar-light.scrolled .navbar-brand span,
#ftco-navbar.scrolled .navbar-brand span{color:var(--ember)!important}
.ftco-navbar-light.scrolled .nav-link,
#ftco-navbar.scrolled .navbar-nav > .nav-item:not(.cta) > .nav-link{color:#fff!important}
.ftco-navbar-light.scrolled .nav-item.cta > .nav-link{color:#fff!important}
.ftco-navbar-light.scrolled .navbar-toggler{
  color:#fff!important;border-color:rgba(255,255,255,.45)!important
}
@media(max-width:991px){
  :root{--nav-chrome:3.5rem}
  /* Fixed chrome must not clip the open MENU panel */
  .site-chrome{overflow:visible}
  /* Strip collapses in-flow above brand+MENU (same fixed chrome) */
  .wrap{
    padding:.25rem 0;
    background:var(--moss);border-bottom:1px solid rgba(255,255,255,.12);
    -webkit-backdrop-filter:none;backdrop-filter:none;
    flex-shrink:0
  }
  .wrap.scrolled{
    background:var(--moss);border-bottom-color:transparent
  }
  /* Mobile header: phone left, Charlene right */
  .wrap .wrap-topline{display:flex;flex-wrap:nowrap;align-items:center;justify-content:space-between;margin:0}
  .wrap .wrap-phone,
  .wrap .wrap-host{
    flex:0 1 auto;max-width:none;width:auto;padding-left:0;padding-right:0
  }
  .wrap .wrap-host{justify-content:flex-end!important;margin-left:auto}
  .wrap .phone,.wrap .host-name{font-size:12px;white-space:nowrap}
  /* Brand + MENU: in-flow under strip (chrome is fixed) */
  #ftco-navbar.ftco-navbar-light{
    position:relative!important;top:auto!important;left:auto;right:auto;width:100%;
    background:rgba(20,16,12,.88)!important;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);
    padding:6px 12px!important;margin:0;
    transition:background .25s ease,box-shadow .25s ease,-webkit-backdrop-filter .25s ease,backdrop-filter .25s ease
  }
  #ftco-navbar.ftco-navbar-light.scrolled{
    background:#6a6560!important;-webkit-backdrop-filter:none!important;backdrop-filter:none!important
  }
  /* Open MENU: opaque full-width panel — light links (base theme used dark text) */
  #ftco-navbar .navbar-collapse{
    width:100%;
    background:#2a2420;
    margin:6px -12px 0;padding:10px 16px 14px;
    border-top:1px solid rgba(255,255,255,.12);
    overflow:hidden
  }
  #ftco-navbar.scrolled .navbar-collapse{background:#5a5550}
  #ftco-navbar .navbar-nav{padding-bottom:0!important;width:100%}
  #ftco-navbar .navbar-nav > .nav-item{width:100%}
  #ftco-navbar .navbar-nav > .nav-item > .nav-link,
  #ftco-navbar .navbar-nav > .nav-item:not(.cta) > .nav-link{
    color:rgba(255,255,255,.92)!important;
    padding-top:.55rem!important;padding-bottom:.55rem!important
  }
  #ftco-navbar .navbar-nav > .nav-item > .nav-link:hover,
  #ftco-navbar .navbar-nav > .nav-item.active > .nav-link,
  #ftco-navbar .navbar-nav > .nav-item.active:not(.cta) > .nav-link{
    color:#fff!important
  }
  #ftco-navbar .navbar-nav > .nav-item > .nav-link:before,
  #ftco-navbar .navbar-nav > .nav-item > .nav-link:hover:before,
  #ftco-navbar .navbar-nav > .nav-item.active > .nav-link:before{display:none!important}
  #ftco-navbar .navbar-nav > .nav-item.cta{
    margin-top:.35rem;padding-bottom:.15rem
  }
  #ftco-navbar .navbar-nav > .nav-item.cta > a,
  #ftco-navbar .navbar-nav > .nav-item.cta > .nav-link{
    color:#fff!important;background:var(--moss)!important;border-radius:4px;
    display:block;width:100%;text-align:center;
    padding:.55rem 1rem!important;margin:0
  }
  body.aw-nav-pin{
    padding-top:calc(var(--nav-chrome) + var(--top-strip-h));
    transition:padding-top .3s ease
  }
  body.aw-nav-pin.top-strip-away{padding-top:var(--nav-chrome)}
}
.btn.btn-primary,.btn-primary{
  background:var(--moss)!important;border-color:var(--moss)!important;color:#fff!important
}
.btn.btn-primary:hover,.btn-primary:hover{background:var(--ink)!important;border-color:var(--ink)!important}
.heading-section h2,.room-wrap h3 a,.wrap-about h2{color:var(--ink)}
.subheading,.hero-wrap .subheading{color:var(--ember)!important}

/* About + What guests say — match other section titles + golden underline */
#about > .container > .row.justify-content-center .heading-section h2,
#reviews .heading-section h2{
  display:inline-block;
  position:relative;
  padding-bottom:.55rem;
  font-size:54px;
  font-weight:400;
  line-height:1.2
}
#about > .container > .row.justify-content-center .heading-section h2::after,
#reviews .heading-section h2::after{
  content:'';position:absolute;left:50%;bottom:0;transform:translateX(-50%);
  width:4.5rem;height:3px;background:var(--ember);border-radius:2px
}
@media(max-width:767.98px){
  #about > .container > .row.justify-content-center .heading-section h2,
  #reviews .heading-section h2{font-size:28px}
}
.header-price{font-size:.78rem;letter-spacing:.04em;color:rgba(255,255,255,.78);margin:0 0 0 1rem;white-space:nowrap}
.ftco-navbar-light.scrolled .header-price{color:var(--muted)}
/* Immersive full-bleed hero — edge-to-edge photo plane */
html{overflow-x:clip}
.hero-wrap#home{
  position:relative;
  width:100%;
  min-height:100vh;min-height:100svh;min-height:100dvh;
  height:100vh;height:100svh;height:100dvh;
  display:flex;align-items:center;
  overflow:hidden;
  background-size:cover!important;
  background-position:center center!important;
  background-repeat:no-repeat;
}
.hero-wrap#home .overlay{
  position:absolute;inset:0;z-index:1;opacity:1!important;
  /* Darken bright sky + left copy area for readable white type */
  background:
    linear-gradient(105deg,rgba(20,16,12,.72) 0%,rgba(20,16,12,.42) 42%,rgba(20,16,12,.22) 70%,rgba(20,16,12,.3) 100%),
    linear-gradient(180deg,rgba(20,16,12,.58),rgba(20,16,12,.32) 42%,rgba(20,16,12,.74));
  pointer-events:none
}
.hero-wrap#home > .container{position:relative;z-index:2;width:100%}
.hero-wrap#home .slider-text{
  height:auto!important;min-height:0!important;
  padding:clamp(5.5rem,14vh,8rem) 0 clamp(2.5rem,6vh,4rem)
}
/* Hero headline — readable over busy daylight photo */
.hero-wrap#home .slider-text h1{
  color:#fff!important;
  text-shadow:
    0 1px 2px rgba(20,16,12,.9),
    0 2px 18px rgba(20,16,12,.65),
    0 8px 40px rgba(20,16,12,.45)
}
/* Hero copy — plain backdrop for readable type on busy photos */
.hero-wrap#home .hero-copy{
  max-width:36rem;
  padding:1.15rem 1.35rem 1.35rem;
  border-radius:6px;
  background:rgba(20,16,12,.72);
  border:1px solid rgba(255,255,255,.12);
  box-shadow:0 12px 36px rgba(20,16,12,.28)
}
.hero-wrap#home .hero-copy .subheading{
  font-weight:700;font-size:clamp(.95rem,1.6vw,1.1rem);letter-spacing:.04em;
  text-shadow:none
}
.hero-wrap#home .hero-copy h1{
  font-size:clamp(1.85rem,4.2vw,2.75rem);font-weight:700;line-height:1.15;
  text-shadow:none
}
.hero-wrap#home .hero-copy .hero-lead{
  color:#fff;font-size:clamp(1rem,1.5vw,1.12rem);font-weight:500;line-height:1.55;margin-bottom:.85rem
}
.hero-wrap#home .hero-copy .hero-meta{
  color:rgba(255,255,255,.9);font-size:.95rem;font-weight:600
}
.hero-wrap#home .hero-copy .hero-meta strong{font-weight:700;color:#fff}
@media(max-width:575px){
  .hero-wrap#home .hero-copy{padding:1rem 1.05rem 1.15rem}
}
@media(min-width:992px){
  /* Host/phone accent strip above frosted menu — both live in .site-chrome */
  .wrap{
    padding:.28rem 0;
    background:var(--moss);border-bottom:1px solid rgba(255,255,255,.12);
    -webkit-backdrop-filter:none;backdrop-filter:none
  }
  .wrap.scrolled{
    background:var(--moss);border-bottom-color:transparent
  }
  /* Nav in-flow under strip; chrome is fixed */
  #ftco-navbar{
    position:relative;top:auto;left:auto;right:auto;
    padding-top:.4rem;
    /* Opaque-enough frosted strip so white brand wins over blown-out sky */
    background:rgba(20,16,12,.68)!important;
    box-shadow:none!important;
    -webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);
    transition:background .25s ease,box-shadow .25s ease,backdrop-filter .25s ease
  }
  #ftco-navbar .navbar-nav > .nav-item:not(.cta) > .nav-link{color:rgba(255,255,255,.92)!important}
  #ftco-navbar .navbar-nav > .nav-item:not(.cta) > .nav-link:hover,
  #ftco-navbar .navbar-nav > .nav-item.active:not(.cta) > .nav-link{color:#fff!important}
  #ftco-navbar .navbar-nav > .nav-item:not(.cta) > .nav-link:before,
  #ftco-navbar .navbar-nav > .nav-item:not(.cta) > .nav-link:hover:before,
  #ftco-navbar .navbar-nav > .nav-item.active:not(.cta) > .nav-link:before{background-color:var(--ember)!important}
  #ftco-navbar.scrolled{
    padding-top:.4rem;
    background:#6a6560!important;
    box-shadow:0 2px 14px rgba(0,0,0,.2)!important;
    -webkit-backdrop-filter:none!important;backdrop-filter:none!important
  }
  #ftco-navbar.scrolled .navbar-brand{color:#fff!important}
  #ftco-navbar.scrolled .navbar-brand span{color:var(--ember)!important}
  #ftco-navbar.scrolled .navbar-nav > .nav-item:not(.cta) > .nav-link{color:#fff!important}
  #ftco-navbar.scrolled .navbar-nav > .nav-item:not(.cta) > .nav-link:hover,
  #ftco-navbar.scrolled .navbar-nav > .nav-item.active:not(.cta) > .nav-link{color:#fff!important}
  #ftco-navbar.scrolled .navbar-nav > .nav-item:not(.cta) > .nav-link:before,
  #ftco-navbar.scrolled .navbar-nav > .nav-item:not(.cta) > .nav-link:hover:before,
  #ftco-navbar.scrolled .navbar-nav > .nav-item.active:not(.cta) > .nav-link:before{background-color:var(--ember)!important}
  /* Float “Book your room” card over the hero — clear fixed frosted chrome */
  .ftco-book{
    position:relative;z-index:4;pointer-events:none;
    /* Contain the form’s large negative margin so it cannot collapse
       through and pull #services under the hero */
    display:flow-root;
  }
  .ftco-book .container{pointer-events:none}
  .ftco-book .appointment-form{
    position:relative;z-index:4;pointer-events:auto;
    /* Pull into hero; top edge stays below wrap+nav stack */
    margin-top:calc(var(--nav-chrome) + 1rem - 100vh)!important;
    max-height:calc(100vh - var(--nav-chrome) - 1.5rem);
    overflow:auto;
    background:color-mix(in srgb,var(--bone) 96%,#fff);
    box-shadow:0 18px 48px rgba(31,26,22,.28)
  }
  /* Kill Colorlib’s .ftco-services .container { margin-top:-200px } — that was
     the real chunk of hero overlap, not the section’s -4px. */
  #services.ftco-services > .container{
    margin-top:0;
  }
  /* Section itself only kisses the hero bottom border by a few px */
  #services.ftco-services{
    position:relative;z-index:2;
    margin-top:-4px;
    padding-top:7em;
  }
}
@media(max-width:991px){
  /* Mobile: drop the post-hero “Book your room” card; keep sticky Book Direct */
  .ftco-book#booking{display:none!important}
  /* Theme -200px is desktop-only; keep a few-px kiss on mobile too */
  #services.ftco-services{
    position:relative;z-index:2;
    margin-top:-4px;
  }
}
.hero-wrap:not(#home){
  background-size:cover;background-position:center
}
.hero-wrap .overlay{background:linear-gradient(180deg,rgba(20,16,12,.55),rgba(20,16,12,.35) 40%,rgba(20,16,12,.7))}
/* Reviews — no guest avatars; matching decorative quotes */
#reviews .testimony-wrap .user-img{display:none!important}
#reviews .testimony-wrap .text{width:100%;padding-left:0}
#reviews .testimony-wrap .quote{display:none!important}
#reviews .testimony-wrap .text > p:not(.name){
  position:relative;padding:0 .15rem
}
#reviews .fa-quote-left,
#reviews .fa-quote-right{
  color:var(--moss)!important;font-size:1.05rem;opacity:.85;vertical-align:baseline
}
#reviews .fa-quote-left{margin-right:.35rem}
#reviews .fa-quote-right{margin-left:.35rem}

/* ========== Card spacing (services + rooms) ========== */
#services .services{margin-bottom:.85rem}
@media(min-width:768px){
  #services .services{margin-bottom:0}
}
/* Rooms use Bootstrap no-gutters — restore a small gap between cards */
#rooms .row.no-gutters{
  margin-left:-.4rem;margin-right:-.4rem
}
#rooms .row.no-gutters > [class*="col-"]{
  padding:.4rem!important
}
#rooms .room-wrap{
  border-radius:4px;
  box-shadow:0 6px 18px rgba(31,26,22,.06)
}

/* ========== 3-row rolling gallery ========== */
#gallery.gallery-flow{overflow:visible;padding-bottom:3rem;background:var(--bone)!important}
#gallery .gal-flow-shell{position:relative;margin-top:.5rem;overflow:hidden}
.flow-controls{
  position:absolute;top:.75rem;right:clamp(.7rem,2.5vw,1.4rem);z-index:6;display:flex;align-items:center;gap:.15rem;
  padding:.28rem;border-radius:999px;background:color-mix(in srgb,var(--bone) 78%,transparent);
  backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border:1px solid var(--line);
  box-shadow:0 6px 20px rgba(31,26,22,.08);opacity:0;transform:translateY(-6px);pointer-events:none;
  transition:opacity .28s ease,transform .28s ease
}
.gal-flow-shell:hover .flow-controls,
.gal-flow-shell:focus-within .flow-controls,
.gal-flow-shell.is-paused .flow-controls{opacity:1;transform:none;pointer-events:auto}
.flow-btn{
  appearance:none;border:none;background:transparent;color:var(--ink);font:inherit;
  width:36px;height:36px;min-width:36px;min-height:36px;padding:0;border-radius:50%;cursor:pointer;
  display:grid;place-items:center;transition:background .2s,color .2s
}
.flow-btn:hover,.flow-btn:focus-visible{background:color-mix(in srgb,var(--moss) 12%,transparent);color:var(--moss);outline:none}
.flow-btn:focus-visible{outline:2px solid var(--moss);outline-offset:2px}
.flow-btn.is-active,.flow-btn[aria-pressed="true"]{background:var(--moss);color:#fff}
.flow-btn-dir{font-size:1.15rem;line-height:1;font-weight:400}
.flow-ic-pause{display:block;width:9px;height:11px;border-left:2.5px solid currentColor;border-right:2.5px solid currentColor;box-sizing:border-box}
.flow-ic-play{display:none;width:0;height:0;border-style:solid;border-width:5.5px 0 5.5px 9px;border-color:transparent transparent transparent currentColor;margin-left:2px}
.flow-btn[aria-pressed="true"] .flow-ic-pause{display:none}
.flow-btn[aria-pressed="true"] .flow-ic-play{display:block}
.gal-flow{display:flex;flex-direction:column;gap:.7rem;user-select:none;-webkit-user-select:none}
.gal-flow-row{overflow:hidden;position:relative;cursor:grab;touch-action:pan-y}
.gal-flow-row.is-dragging{cursor:grabbing}
.gal-flow-row::before,.gal-flow-row::after{content:'';position:absolute;top:0;bottom:0;width:clamp(2rem,6vw,4.5rem);z-index:2;pointer-events:none}
.gal-flow-row::before{left:0;background:linear-gradient(90deg,var(--bone),transparent)}
.gal-flow-row::after{right:0;background:linear-gradient(270deg,var(--bone),transparent)}
.gal-flow-track{display:flex;gap:.7rem;width:max-content;will-change:transform}
.gal-flow-item{
  flex:0 0 auto;border:none;padding:0;margin:0;background:none;cursor:pointer;overflow:hidden;border-radius:4px;
  width:clamp(200px,28vw,320px);height:clamp(140px,22vw,220px);line-height:0;display:block
}
.gal-flow-item img{display:block;width:100%;height:100%;max-width:none;object-fit:cover;pointer-events:none;transition:transform .5s}
.gal-flow-item:hover img{transform:scale(1.04)}
.gal-flow.is-paused .gal-flow-item:focus-visible{outline:2px solid var(--moss);outline-offset:3px}
@media(hover:none),(max-width:768px){
  .flow-controls{opacity:.92;transform:none;pointer-events:auto}
  .flow-btn{width:40px;height:40px;min-width:40px;min-height:40px}
}
@media(max-width:560px){
  .gal-flow-row{min-height:48vw}
  .gal-flow-item{width:72vw;height:48vw}
}
@media(prefers-reduced-motion:reduce){
  .gal-flow-row{overflow-x:auto;cursor:default;-webkit-overflow-scrolling:touch}
  .gal-flow-track{transform:none!important}
  .flow-controls{opacity:1;transform:none;pointer-events:auto;transition:none}
}
/* ========== /gallery ========== */

.room-price{display:block;font-size:1.15rem;font-weight:600;color:var(--moss);margin:.35rem 0 .75rem}
.room-price small{display:block;font-size:.78rem;font-weight:400;color:var(--muted)}
.footer{background:var(--stone);color:#e8e2da;text-align:center}
.footer a{color:#e8e2da}
.footer .footer-heading,.footer .logo{color:#fff}
.footer .copyright{color:rgba(255,255,255,.7)}
.footer .list-unstyled{padding-left:0;margin-left:0}
.footer .row.justify-content-center > [class*="col-"]{margin-left:auto;margin-right:auto}
#contact .map-embed{width:100%;min-height:320px;border:0;border-radius:4px}

/* Sticky mobile Call + WhatsApp + Book bar — three equal rectangular tiles */
.mob-cta-bar{
  display:none;position:fixed;left:0;right:0;bottom:0;top:auto;height:auto;z-index:950;
  background:color-mix(in srgb,var(--bone) 96%,transparent);backdrop-filter:blur(10px);
  border-top:1px solid var(--line);padding:8px 10px calc(8px + env(safe-area-inset-bottom,0px));
  gap:6px;box-shadow:0 -8px 24px rgba(31,26,22,.1);
  flex-wrap:nowrap;align-items:stretch;box-sizing:border-box
}
.mob-cta-bar a,
.mob-cta-bar .mcta-call,
.mob-cta-bar .mcta-wa,
.mob-cta-bar .mcta-book{
  flex:1 1 0;min-width:0;width:auto;height:auto;max-width:none;
  display:inline-flex;align-items:center;justify-content:center;gap:.3rem;
  min-height:48px;padding:.55rem .35rem;box-sizing:border-box;
  border-radius:6px!important;font-weight:700;font-size:.65rem;letter-spacing:.04em;
  text-transform:uppercase;text-decoration:none;white-space:nowrap;overflow:hidden;
  line-height:1.1;box-shadow:none
}
.mob-cta-bar .mcta-wa{background:#25D366;color:#fff}
.mob-cta-bar .mcta-wa:hover,.mob-cta-bar .mcta-wa:focus-visible{background:#1ea952;color:#fff}
.mob-cta-bar .mcta-call{background:var(--ember);color:#fff}
.mob-cta-bar .mcta-call:hover,.mob-cta-bar .mcta-call:focus-visible{background:var(--moss);color:#fff}
.mob-cta-bar .mcta-book{background:var(--moss);color:#fff}
.mob-cta-bar .mcta-book:hover,.mob-cta-bar .mcta-book:focus-visible{background:var(--stone);color:#fff}
.mob-cta-bar .mcta-book .fa,
.mob-cta-bar .mcta-call .fa{
  flex:0 0 auto;font-size:1em;line-height:1;width:auto;height:auto;margin:0;border-radius:0
}
.mob-cta-bar .mcta-wa .mcta-wa-icon{flex:0 0 auto;width:15px;height:15px;display:block}
@media(max-width:768px){
  .mob-cta-bar{display:flex;justify-content:stretch}
  body{padding-bottom:calc(72px + env(safe-area-inset-bottom,0px))}
  /* Mobile: bar CTAs; hide floating WA FAB on small screens */
  .float-fabs,
  .float-fabs .float-fab--wa,
  a.float-fab.float-fab--wa{
    display:none!important;visibility:hidden!important;pointer-events:none!important;
    width:0!important;height:0!important;margin:0!important;padding:0!important;overflow:hidden!important
  }
}

/* Floating WhatsApp FAB (desktop only) */
.float-fabs{
  position:fixed;right:1.15rem;bottom:1.25rem;z-index:960;
  display:flex;flex-direction:column;align-items:center;gap:.7rem;
  pointer-events:none
}
.float-fab{
  pointer-events:auto;display:flex;align-items:center;justify-content:center;
  width:54px;height:54px;border-radius:50%;color:#fff;text-decoration:none;
  box-shadow:0 8px 24px rgba(31,26,22,.22);transition:transform .2s ease,box-shadow .2s ease
}
.float-fab:hover,.float-fab:focus-visible{transform:scale(1.08);color:#fff;outline:none}
.float-fab:focus-visible{box-shadow:0 0 0 3px color-mix(in srgb,var(--ember) 55%,transparent),0 8px 24px rgba(31,26,22,.22)}
/* Desktop WhatsApp stays brand-green; mobile uses the bottom CTA styling above */
.float-fab--wa{background:#25D366;box-shadow:0 8px 24px rgba(37,211,102,.35)}
.float-fab--wa:hover,.float-fab--wa:focus-visible{background:#1ea952;color:#fff}

/* View full gallery — text link + arrow (Forever Blue .h-btn2 pattern), not a filled button */
.gal-full-cta{display:flex;align-items:center;justify-content:center;padding:1.35rem 1rem 2rem;position:relative;z-index:2}
.gal-full-link{
  display:inline-flex;align-items:center;gap:.45rem;
  background:none!important;border:0!important;border-radius:0!important;box-shadow:none!important;
  padding:.15rem 0 .2rem;margin:0;cursor:pointer;
  color:var(--ember)!important;font-weight:700;font-size:.95rem;letter-spacing:.02em;
  text-decoration:none;border-bottom:2px solid var(--ember);line-height:1.2;
  transition:color .2s,border-color .2s
}
.gal-full-link:hover,.gal-full-link:focus-visible{
  color:var(--moss)!important;border-bottom-color:var(--moss);outline:none
}
.gal-full-arrow{font-size:1.05em;line-height:1;transform:translateY(-.02em)}
.gal-full-modal{
  position:fixed;inset:0;z-index:12000;display:flex;align-items:center;justify-content:center;
  padding:max(12px,env(safe-area-inset-top)) 12px max(12px,env(safe-area-inset-bottom));
  opacity:0;visibility:hidden;pointer-events:none;transition:opacity .25s ease,visibility .25s ease
}
.gal-full-modal.open{opacity:1;visibility:visible;pointer-events:auto}
.gal-full-overlay{position:absolute;inset:0;background:rgba(28,27,24,.72);backdrop-filter:blur(2px)}
.gal-full-panel{
  position:relative;z-index:1;width:min(960px,100%);max-height:min(88vh,900px);
  display:flex;flex-direction:column;overflow:hidden;
  background:var(--bone);border-radius:10px;box-shadow:0 24px 60px rgba(0,0,0,.35)
}
.gal-full-head{
  display:flex;align-items:center;justify-content:space-between;gap:1rem;
  padding:1rem 1rem .85rem;border-bottom:1px solid var(--line);flex-shrink:0
}
.gal-full-head h2{margin:0;font-size:1.35rem;color:var(--ink)}
.gal-full-close{
  width:40px;height:40px;border:1px solid var(--line);border-radius:6px;background:#fff;color:var(--ink);
  font-size:1.4rem;line-height:1;cursor:pointer;flex-shrink:0
}
/* Forever Blue .room-gal-grid — under Bootstrap border-box, Hermanus
   height:0+padding-bottom collapses to 0 so absolute imgs all stack. */
.gal-full-grid{
  display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-auto-rows:max-content;gap:.55rem;
  padding:1rem;overflow-x:hidden;overflow-y:auto;overscroll-behavior:contain;
  -webkit-overflow-scrolling:touch;flex:1 1 auto;min-height:0;align-content:start
}
@media(min-width:576px){.gal-full-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:.65rem}}
@media(min-width:992px){.gal-full-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:.75rem}}
.gal-full-item{
  display:block;border:0;margin:0;padding:0;border-radius:4px;overflow:hidden;
  background:var(--stone);cursor:pointer;aspect-ratio:4/3;width:100%;height:auto;
  align-self:start;position:relative;min-width:0;line-height:0;box-sizing:border-box
}
.gal-full-item img{
  position:absolute;inset:0;width:100%;height:100%;max-width:none;aspect-ratio:4/3;
  object-fit:cover;object-position:center;display:block;pointer-events:none;transition:transform .35s
}
.gal-full-item:hover img{transform:scale(1.04)}
@media(prefers-reduced-motion:reduce){.gal-full-item img{transition:none}.gal-full-item:hover img{transform:none}}
body.gal-full-open{overflow:hidden}
/* Magnific enlarge must sit above the full-gallery modal (z-index 12000) */
.mfp-bg{z-index:13040!important}
.mfp-wrap{z-index:13050!important}

/* Booking modal — above frosted nav; keep panel clear of chrome */
#book-modal{position:fixed;inset:0;z-index:11000;display:flex;align-items:center;justify-content:center;padding:max(20px,calc(var(--nav-chrome) + 12px)) 20px 20px;opacity:0;visibility:hidden;pointer-events:none;transition:opacity .25s ease,visibility .25s ease}
#book-modal.open{opacity:1;visibility:visible;pointer-events:auto}
.bm-overlay{position:absolute;inset:0;background:rgba(28,27,24,.6);backdrop-filter:blur(2px)}
.bm-panel{position:relative;z-index:1;width:min(560px,100%);max-height:min(90vh,720px);overflow:auto;background:var(--bone);color:var(--ink);border-radius:10px;padding:1.75rem 1.5rem 1.5rem;box-shadow:0 24px 60px rgba(0,0,0,.28);transform:translateY(12px);transition:transform .25s ease}
#book-modal.open .bm-panel{transform:none}
.bm-close{position:absolute;top:.75rem;right:.75rem;width:40px;height:40px;border:1px solid var(--line);border-radius:6px;background:#fff;color:var(--ink);font-size:1.4rem;cursor:pointer;line-height:1}
.bm-panel h2{font-size:1.6rem;margin-bottom:.35rem}
.bm-lead{color:var(--muted);margin-bottom:1rem}
.bm-form{display:grid;grid-template-columns:1fr 1fr;gap:.85rem}
.bm-form .fld{display:flex;flex-direction:column;gap:.3rem}
.bm-form .fld.full{grid-column:1/-1}
.bm-form label{font-size:.8rem;font-weight:600;color:var(--muted)}
.bm-form input,.bm-form select,.bm-form textarea{border:1px solid var(--line);border-radius:6px;padding:.65rem .75rem;font:inherit;background:#fff;color:var(--ink)}
.bm-form button[type=submit]{grid-column:1/-1;background:var(--moss);color:#fff;border:0;border-radius:6px;padding:.9rem 1rem;font-weight:700;cursor:pointer}
.bm-err{display:none;grid-column:1/-1;font-size:.88rem;color:#a82020;background:#fff0f0;border:1px solid rgba(168,32,32,.2);padding:.75rem .9rem;border-radius:6px}
.bm-err.show{display:block}
.bm-ok{display:none;grid-column:1/-1;text-align:center;color:var(--moss);padding:1rem .5rem;font-weight:600}
.bm-ok.show{display:block}
.hp-field{position:absolute!important;left:-9999px!important;width:1px!important;height:1px!important;overflow:hidden!important;opacity:0!important;pointer-events:none!important}
.hero-book-status{margin:0;font-size:.88rem;min-height:1.2em}
.hero-book-status.is-ok{color:var(--moss);font-weight:600}
.hero-book-status.is-err{color:#a82020;font-weight:600}
@media(max-width:560px){.bm-form{grid-template-columns:1fr}}

/* Palette-driven accents (override Colorlib #fd7792 / #a3cb4c hardcodes) */
a{color:var(--moss)}
a:hover,a:focus{color:var(--ember)}
.ftco-navbar-light .navbar-nav > .nav-item > .nav-link:hover,
.ftco-navbar-light .navbar-nav > .nav-item.active > .nav-link{color:var(--moss)}
.ftco-navbar-light .navbar-nav > .nav-item > .nav-link:before,
.ftco-navbar-light .navbar-nav > .nav-item > .nav-link:hover:before,
.ftco-navbar-light .navbar-nav > .nav-item.active > .nav-link:before{background-color:var(--moss)!important}
.ftco-navbar-light .navbar-nav > .nav-item.cta > a{background:var(--moss)!important;border-color:var(--moss)!important}
.ftco-navbar-light .navbar-nav > .nav-item.cta > a:hover{background:var(--ink)!important}
.navbar-brand span,
.subheading,
.hero-wrap .subheading,
.heading-section .subheading{color:var(--ember)!important}
.btn-primary,
.btn.btn-primary,
.btn-secondary,
.btn.btn-secondary{background:var(--moss)!important;border-color:var(--moss)!important}
.btn-primary:hover,.btn.btn-primary:hover,
.btn-secondary:hover,.btn.btn-secondary:hover{background:var(--ink)!important;border-color:var(--ink)!important}
.owl-carousel .owl-dots .owl-dot.active span,
.owl-carousel .owl-dots .owl-dot:hover span,
.owl-theme .owl-dots .owl-dot.active span,
.owl-theme .owl-nav [class*=owl-]:hover{background:var(--moss)!important}
.services .icon{background:var(--moss)!important}
.services .icon span,
.services-2 .icon span{color:#fff!important}
.services-2 .icon{background:var(--moss)!important;color:#fff}
.services-2 .icon [class^="flaticon-"],
.services-2 .icon [class*=" flaticon-"],
.services .icon [class^="flaticon-"],
.services .icon [class*=" flaticon-"]{color:#fff!important}
.room-wrap .text .star span{color:var(--ember)!important}
.room-wrap .text span.price,
.room-wrap .text .room-price{color:var(--moss)!important}
.room-wrap:hover,
.room-wrap:focus{background:var(--moss)!important}
.room-wrap:hover .half.left-arrow:after,
.room-wrap:focus .half.left-arrow:after{border-color:transparent var(--moss) transparent transparent!important}
.room-wrap:hover .half.right-arrow:after,
.room-wrap:focus .half.right-arrow:after{border-color:transparent transparent transparent var(--moss)!important}
.room-wrap:hover .text .room-price,
.room-wrap:focus .text .room-price,
.room-wrap:hover .text .room-price small,
.room-wrap:focus .text .room-price small{color:#fff!important}
.testimony-wrap .quote,
.testimony-wrap .quote i{color:var(--moss)!important;background:transparent}
.block-20 .meta .icon,
.block-20 .meta a:hover,
.blog-entry .text .heading a:hover,
.block-21 .text .heading a:hover{color:var(--moss)!important}
.tagcloud a:hover,
.tag-cloud-link:hover{background:var(--moss)!important;border-color:var(--moss)!important}
.ftco-intro .overlay{background:color-mix(in srgb,var(--stone) 55%,transparent)}
.info-wrap .dbox .icon{border-color:color-mix(in srgb,var(--moss) 40%,transparent)}
.info-wrap .dbox .icon span{color:var(--ember)!important}
.block-23 ul li .icon{color:var(--ember)!important}
.footer a:hover{color:var(--ember)!important}
.check-list li:before,
.list-accomodation li span:first-child{color:var(--moss)}
.appointment-form .form-group .icon span,
.ftco-book .appointment-form .form-group .icon span{color:var(--moss)!important}
.rate i,
.rate .icon-star,
.room-wrap .text .star .fa-star,
#reviews .fa-star{color:var(--ember)}
#reviews .fa-quote-left,
#reviews .fa-quote-right{color:var(--moss)!important}
.wrap .social-media a:hover span{color:var(--ember)!important}
html[data-palette="midnight"] .services-2 .icon,
html[data-palette="midnight"] .services .icon{color:#12151A}
html[data-palette="midnight"] .services-2 .icon span,
html[data-palette="midnight"] .services .icon span{color:#12151A!important}
html[data-palette="midnight"] .bg-light{background:color-mix(in srgb,var(--stone2) 55%,var(--bone))!important}

/* ========== #temp-palette ========== */
html[data-palette="photo"]{
  --bone:#F1EEE8;--stone:#3D342C;--stone2:#5C4E42;--moss:#6B5B3E;--ember:#B87333;
  --ink:#1A1612;--muted:#6B6056;--line:rgba(26,22,18,.14)
}
html[data-palette="wine"]{
  --bone:#FAF6F4;--stone:#3A1E24;--stone2:#5C3A40;--moss:#8B2E3B;--ember:#C9A05A;
  --ink:#2A1A1C;--muted:#6E585A;--line:rgba(58,30,36,.14)
}
html[data-palette="ocean"]{
  --bone:#F4FAFB;--stone:#143A44;--stone2:#2F5560;--moss:#1C7A8C;--ember:#E0B35A;
  --ink:#1A2C34;--muted:#5A6E74;--line:rgba(20,58,68,.12)
}
html[data-palette="forest"]{
  --bone:#F5F7F1;--stone:#1A3320;--stone2:#35523A;--moss:#3E6B3A;--ember:#B08940;
  --ink:#1E2A1C;--muted:#5C6A56;--line:rgba(26,51,32,.12)
}
html[data-palette="sunset"]{
  --bone:#FBF6F1;--stone:#3A271C;--stone2:#5C4334;--moss:#C45A32;--ember:#E0A04A;
  --ink:#2C221A;--muted:#6E6054;--line:rgba(58,39,28,.12)
}
html[data-palette="slate"]{
  --bone:#F6F7F9;--stone:#141820;--stone2:#2A313C;--moss:#4A5568;--ember:#C9A84A;
  --ink:#1A1E24;--muted:#5E6570;--line:rgba(20,24,32,.12)
}
html[data-palette="lavender"]{
  --bone:#F8F6FB;--stone:#2E2440;--stone2:#4A3E60;--moss:#6B4E9A;--ember:#C9A05A;
  --ink:#2A2432;--muted:#6A6274;--line:rgba(46,36,64,.12)
}
html[data-palette="coastal"]{
  --bone:#FAF8F3;--stone:#1E3A3E;--stone2:#355558;--moss:#2A8A7A;--ember:#D4B06A;
  --ink:#2A2620;--muted:#6A655A;--line:rgba(30,58,62,.12)
}
html[data-palette="midnight"]{
  --bone:#12151A;--stone:#0C0E12;--stone2:#222831;--moss:#C9A05A;--ember:#7EB8C9;
  --ink:#E8E4DC;--muted:#9AA0A8;--line:rgba(255,255,255,.12)
}
html[data-palette="midnight"] body{background:var(--bone);color:var(--ink)}
html[data-palette="midnight"] .btn.btn-primary{color:#12151A!important}
#temp-palette{position:fixed;left:14px;bottom:14px;z-index:960;font-size:.78rem}
#temp-palette .tp-btn{appearance:none;display:inline-flex;align-items:center;gap:.45rem;border:1px solid var(--line);background:var(--moss);color:#fff;padding:.55rem .9rem;border-radius:999px;cursor:pointer;box-shadow:0 8px 24px rgba(0,0,0,.18);font:inherit;font-weight:600;letter-spacing:.04em}
#temp-palette .tp-panel{display:none;position:absolute;left:0;bottom:calc(100% + 10px);width:min(292px,calc(100vw - 28px));padding:.85rem;background:var(--bone);color:var(--ink);border:1px solid var(--line);border-radius:16px;box-shadow:0 18px 50px rgba(0,0,0,.22);max-height:min(70vh,520px);overflow:auto}
#temp-palette.open .tp-panel{display:block}
#temp-palette .tp-head{font-size:.72rem;letter-spacing:.14em;text-transform:uppercase;color:var(--muted);font-weight:600;margin:0 .15rem .65rem}
#temp-palette .tp-opt{display:flex;align-items:center;gap:.75rem;width:100%;appearance:none;border:1px solid transparent;background:transparent;color:inherit;text-align:left;padding:.55rem .65rem;border-radius:12px;cursor:pointer;font:inherit;font-weight:500}
#temp-palette .tp-opt:hover,#temp-palette .tp-opt.is-active{background:color-mix(in srgb,var(--moss) 12%,transparent);border-color:color-mix(in srgb,var(--moss) 22%,transparent)}
#temp-palette .tp-swatches{display:flex;gap:3px;flex-shrink:0}
#temp-palette .tp-swatches i{width:14px;height:14px;border-radius:50%;display:block;box-shadow:inset 0 0 0 1px rgba(0,0,0,.15)}
#temp-palette .tp-name{font-size:.84rem}
@media(max-width:768px){#temp-palette{bottom:calc(76px + env(safe-area-inset-bottom,0px) + 10px)}}
/* ========== /#temp-palette ========== */
