/*
Theme Name: EMA Escape
Theme URI: https://emaescape.com/
Author: EMA Escape
Description: Tema oficial EMA Escape com hero de disponibilidade, cabanas reais, Nearby editorial e contactos diretos.
Version: 5.15.9
Text Domain: ema-escape
*/
:root{--cream:#f6f1e8;--paper:#fbf8f2;--olive:#6f693f;--ink:#27231e;--muted:#756f65;--line:#ded7cb;--terracotta:#9a6447}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:Arial,Helvetica,sans-serif}h1,h2,h3{font-family:Georgia,'Times New Roman',serif;font-weight:400}a{color:inherit}.ema-hero{
  width:min(880px,calc(100% - 40px));
  aspect-ratio:1/0.82;
  min-height:0;
  margin:14px auto 92px;
  background:url('assets/images/hero.png') center center/cover no-repeat;
  position:relative;
  color:var(--ink);
}.ema-nav{
  position:absolute;
  left:50%;
  top:-92px;
  transform:translateX(-50%);
  width:calc(100% + 120px);
  height:78px;
  display:flex;
  align-items:center;
  gap:28px;
  padding:8px 0;
  background:var(--cream);
  font-size:12px;
  letter-spacing:.04em;
  color:var(--ink);
  z-index:5;
}.ema-logo-link{margin-right:auto}.ema-nav img{width:92px;height:62px;object-fit:contain}.ema-nav a{text-decoration:none}.ema-btn{display:inline-block;background:var(--olive);color:white!important;padding:15px 24px;border:0;border-radius:2px;text-decoration:none;text-transform:uppercase;letter-spacing:.04em}.ema-hero-copy{
  position:absolute;
  right:34px;
  top:32px;
  left:auto;
  max-width:620px;
  text-align:right;
  color:#3f3a27;
}.ema-hero-copy h1{
  font-family:Georgia,'Times New Roman',serif;
  font-size:31px;
  line-height:1.28;
  font-weight:400;
  margin:0 0 6px;
  text-shadow:none;
}.ema-hero-copy p{
  font-size:17px;
  line-height:1.35;
  font-family:Georgia,'Times New Roman',serif;
  margin:0;
}.ema-search-shell{
  position:absolute;
  left:50%;
  right:auto;
  bottom:-18px;
  transform:translateX(-50%);
  width:min(1220px,calc(100vw - 80px));
  background:#fff;
  color:var(--ink);
  padding:20px 24px;
  box-shadow:0 10px 32px rgba(0,0,0,.13);
  border:1px solid var(--line);
  border-radius:10px;
  z-index:6;
}.ema-search-shell .minimum-note{text-align:center;margin-top:10px;font-size:12px;color:var(--muted)}.ema-section{padding:58px 4%;max-width:1420px;margin:auto}.ema-section-head{text-align:center;margin-bottom:28px}.ema-section-head small,.ema-nearby-head small{letter-spacing:.12em;color:var(--terracotta);font-weight:700}.ema-section-head h2{font-size:42px;margin:8px 0}.ema-cabins{display:grid;grid-template-columns:1fr 1fr;gap:24px}.ema-card{background:white;border:1px solid #eee7dc;box-shadow:0 4px 18px rgba(0,0,0,.05)}.ema-card>.facade{width:100%;height:330px;object-fit:cover}.ema-card-body{padding:22px}.ema-card h2{font-size:30px;margin:0 0 12px}.ema-facts{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;font-size:12px;color:#3b3831;margin:14px 0 18px}.ema-thumbs{display:grid;grid-template-columns:repeat(5,1fr);gap:6px;margin:14px 0}.ema-thumbs img{width:100%;height:62px;object-fit:cover;cursor:pointer}.ema-discover{display:block;text-align:center;text-transform:uppercase;text-decoration:none;font-size:12px;letter-spacing:.05em;color:var(--olive);padding:12px}.ema-nearby{background:#fbf7f1}.ema-nearby-inner{max-width:1600px}.ema-nearby-head{text-align:center;margin-bottom:48px}.ema-nearby-head h2{font-size:68px;line-height:1.05;margin:14px auto 0;max-width:1250px;color:#111}.ema-nearby-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:20px}.ema-nearby-card{background:#fff;border-radius:13px;overflow:hidden;box-shadow:0 1px 0 rgba(0,0,0,.03)}.ema-nearby-card img{width:100%;height:300px;object-fit:cover;display:block}.ema-nearby-card>div{padding:22px 22px 26px}.ema-nearby-card h3{font-size:34px;margin:0 0 14px;color:#111}.ema-nearby-card p{font-size:16px;line-height:1.65;margin:0;color:#222}.ema-features{display:grid;grid-template-columns:repeat(4,1fr);gap:24px;text-align:center;padding:46px 5%;background:#f7f2e9}.ema-features p{color:var(--muted);font-size:14px}.ema-footer{padding:44px 5% 90px;display:grid;grid-template-columns:2fr repeat(3,1fr);gap:35px;background:#eee7dc}.ema-footer img{width:90px}.ema-footer p{font-size:13px;line-height:1.8;color:#4d493f}.ema-footer a{text-decoration:none}.ema-fallback-search{display:grid;grid-template-columns:1.2fr 1.2fr .7fr .7fr 1fr;gap:12px}.ema-fallback-search label{font-size:10px;text-transform:uppercase}.ema-fallback-search input{width:100%;padding:11px;border:1px solid var(--line)}.ema-contact-dock{position:fixed;right:18px;bottom:18px;z-index:9999;display:flex;align-items:center;gap:6px;background:rgba(251,248,242,.96);padding:7px;border-radius:8px;box-shadow:0 8px 25px rgba(0,0,0,.16)}.ema-contact-dock a{text-decoration:none;padding:10px 12px;font-size:11px;text-transform:uppercase;letter-spacing:.04em}.ema-contact-dock .ema-contact-whatsapp{background:var(--olive);color:#fff;border-radius:5px}
@media(max-width:1000px){.ema-nearby-grid{grid-template-columns:1fr 1fr}.ema-nearby-head h2{font-size:52px}.ema-nearby-card img{height:260px}}
@media(max-width:850px){.ema-nav a:not(.ema-btn):not(.ema-logo-link){display:none}.ema-hero-copy{top:19%}.ema-hero-copy h1{font-size:44px}.ema-search-shell{bottom:18px}.ema-cabins,.ema-area-grid,.ema-features,.ema-footer,.ema-nearby-grid{grid-template-columns:1fr}.ema-facts{grid-template-columns:1fr 1fr}.ema-card>.facade{height:250px}.ema-fallback-search{grid-template-columns:1fr 1fr}.ema-fallback-search .ema-btn{grid-column:1/-1}.ema-hero{min-height:980px}.ema-nearby-head h2{font-size:43px}.ema-nearby-card img{height:300px}.ema-contact-dock{left:10px;right:10px;justify-content:center}}

/* EMA Escape approved hero — 18 Aug 2026.
   IMPORTANT: uses the existing original hero.png and logo.png assets unchanged. */
@media (max-width:1180px){
  .ema-hero{width:min(820px,calc(100% - 32px));margin-top:14px}
  .ema-nav{width:calc(100% + 32px);gap:18px}
  .ema-hero-copy{right:28px;top:28px}
  .ema-hero-copy h1{font-size:28px}
}
@media (max-width:850px){
  .ema-hero{
    width:calc(100% - 20px);
    aspect-ratio:1/1;
    margin-top:10px;
    margin-bottom:170px;
    background-size:100% 100%;
  }
  .ema-nav{top:-82px;width:calc(100% + 20px);height:70px;padding:6px 10px}
  .ema-nav img{width:78px;height:54px}
  .ema-hero-copy{top:20px;right:18px;max-width:78%}
  .ema-hero-copy h1{font-size:22px;line-height:1.2}
  .ema-hero-copy p{font-size:14px}
  .ema-search-shell{bottom:-150px;width:calc(100vw - 28px);padding:16px}
}

/* FINAL APPROVED HERO COPY */
.ema-hero-copy{right:26px!important;top:18px!important;left:auto!important;max-width:560px!important;text-align:right!important;color:#3f3a27!important}
.ema-hero-copy h1{font-family:Georgia,'Times New Roman',serif!important;font-size:23px!important;line-height:1.34!important;font-weight:400!important;margin:0 0 3px!important;text-shadow:none!important}
.ema-hero-copy p{font-family:Georgia,'Times New Roman',serif!important;font-size:14px!important;line-height:1.3!important;margin:0!important;text-shadow:none!important}

/* EMA Escape v4.6 — restore visible top header; preserve every existing image asset. */
.ema-hero{
  margin-top:96px !important;
}
.ema-nav{
  position:absolute !important;
  top:-86px !important;
  left:0 !important;
  transform:none !important;
  width:100% !important;
  height:72px !important;
  padding:7px 18px !important;
  background:var(--cream) !important;
  color:var(--ink) !important;
  z-index:50 !important;
  box-shadow:none !important;
}
.ema-nav a{color:var(--ink) !important}
.ema-nav .ema-btn{color:#fff !important}
.ema-nav img{width:92px !important;height:58px !important;object-fit:contain !important}

/* Only requested hero-copy change: same previous Georgia lettering, smaller in the bright upper-right area. */
.ema-hero-copy{
  position:absolute !important;
  right:22px !important;
  top:14px !important;
  left:auto !important;
  max-width:480px !important;
  text-align:right !important;
  color:#3f3a27 !important;
}
.ema-hero-copy h1{
  font-family:Georgia,'Times New Roman',serif !important;
  font-size:20px !important;
  line-height:1.28 !important;
  font-weight:400 !important;
  margin:0 0 2px !important;
  text-shadow:none !important;
}
.ema-hero-copy p{
  font-family:Georgia,'Times New Roman',serif !important;
  font-size:12px !important;
  line-height:1.25 !important;
  margin:0 !important;
  text-shadow:none !important;
}
@media(max-width:850px){
  .ema-hero{margin-top:82px !important}
  .ema-nav{top:-76px !important;height:64px !important}
  .ema-hero-copy{right:14px !important;top:10px !important;max-width:72% !important}
  .ema-hero-copy h1{font-size:16px !important}
  .ema-hero-copy p{font-size:11px !important}
}

.ema-talk-wrap{display:flex;justify-content:center;margin:28px 0 12px}
.ema-talk-btn{background:#6f693f;color:#fff;border:0;padding:13px 24px;border-radius:5px;font-weight:700;cursor:pointer}
.ema-wa-panel{max-width:720px;margin:14px auto 30px;background:#fff;border:1px solid #ded7cb;border-radius:10px;padding:20px;display:none}
.ema-wa-panel.is-open{display:block}
.ema-wa-panel h3{font:400 25px Georgia,serif;margin:0 0 6px}
.ema-wa-panel p{font-size:13px;color:#6c655b}
.ema-wa-choices{display:flex;gap:8px;flex-wrap:wrap}
.ema-wa-choice{border:1px solid #b9b29f;background:#faf8f3;padding:9px 12px;border-radius:20px;cursor:pointer}

/* EMA Escape v4.8 — single WhatsApp contact button replaces old WhatsApp/Email/Instagram dock */
.ema-contact-dock,
.ema-contact-actions,
.ema-social-actions,
.ema-footer-actions{
  display:none !important;
}
.ema-talk-wrap{
  position:fixed !important;
  right:18px !important;
  bottom:18px !important;
  z-index:9999 !important;
  margin:0 !important;
}
.ema-talk-btn{
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  min-width:132px !important;
  background:#6f693f !important;
  color:#fff !important;
  border:0 !important;
  border-radius:6px !important;
  padding:13px 18px !important;
  font-size:12px !important;
  font-weight:700 !important;
  letter-spacing:.04em !important;
  text-transform:uppercase !important;
  cursor:pointer !important;
  box-shadow:0 8px 24px rgba(0,0,0,.16) !important;
}
.ema-wa-panel{
  position:fixed !important;
  right:18px !important;
  bottom:76px !important;
  width:min(360px,calc(100vw - 36px)) !important;
  margin:0 !important;
  background:#fff !important;
  border:1px solid #ded7cb !important;
  border-radius:10px !important;
  padding:18px !important;
  display:none !important;
  z-index:9999 !important;
  box-shadow:0 12px 30px rgba(0,0,0,.18) !important;
}
.ema-wa-panel.is-open{display:block !important}
.ema-wa-panel h3{font:400 23px Georgia,serif;margin:0 0 6px;color:#312c24}
.ema-wa-panel p{font-size:13px;line-height:1.45;color:#6c655b;margin:0 0 13px}
.ema-wa-choices{display:grid;grid-template-columns:1fr;gap:8px}
.ema-wa-choice{
  width:100%;
  text-align:left;
  border:1px solid #c9c2b5;
  background:#faf8f3;
  padding:10px 12px;
  border-radius:6px;
  cursor:pointer;
  font-size:12px;
  color:#3c382f;
}

/* v4.9: old contact bar disabled; new contact UI is isolated in ema-whatsapp.php */
.ema-contact-dock{display:none!important}

.ema-discover{border:0;background:transparent;width:100%;cursor:pointer;font:inherit}
.ema-cabin-modal{position:fixed;inset:0;z-index:99998;display:none}
.ema-cabin-modal[aria-hidden="false"]{display:block}
.ema-cabin-modal-backdrop{position:absolute;inset:0;background:rgba(20,18,14,.56)}
.ema-cabin-modal-dialog{position:relative;z-index:2;width:min(980px,calc(100vw - 32px));max-height:90vh;overflow:auto;margin:5vh auto;background:#fbf8f2;border-radius:12px;padding:24px;box-shadow:0 20px 60px rgba(0,0,0,.25)}
.ema-cabin-modal-close{position:absolute;right:16px;top:12px;border:0;background:transparent;font-size:30px;cursor:pointer;color:#3f3a32}
.ema-cabin-modal-head{text-align:center;max-width:760px;margin:0 auto 20px}
.ema-cabin-modal-head small{color:#9a6447;letter-spacing:.12em;font-weight:700}
.ema-cabin-modal-head h2{font:400 42px Georgia,serif;margin:6px 0 10px}
.ema-cabin-modal-head p{color:#655f55;line-height:1.6}
.ema-cabin-modal-main{width:100%;height:430px;object-fit:cover;border-radius:8px}
.ema-cabin-modal-facts{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin:14px 0}
.ema-cabin-modal-facts>div{background:#fff;border:1px solid #e3ddd2;padding:12px;border-radius:6px;text-align:center;font-size:12px}
.ema-cabin-modal-thumbs{display:grid;grid-template-columns:repeat(5,1fr);gap:7px}
.ema-cabin-modal-thumbs img{width:100%;height:110px;object-fit:cover;border-radius:5px}
.ema-cabin-modal-actions{text-align:center;margin:20px 0 4px}
.ema-modal-open{overflow:hidden}
@media(max-width:850px){.ema-cabin-modal-main{height:270px}.ema-cabin-modal-facts{grid-template-columns:1fr 1fr}.ema-cabin-modal-thumbs{grid-template-columns:repeat(2,1fr)}}

/* v5.4 cabin gallery — full window with all real images visible */
.ema-cabin-modal{position:fixed;inset:0;z-index:99998;display:none}
.ema-cabin-modal[aria-hidden="false"]{display:block}
.ema-cabin-modal-backdrop{position:absolute;inset:0;background:rgba(18,16,13,.66)}
.ema-cabin-gallery-window{
  position:relative;
  z-index:2;
  width:min(1180px,calc(100vw - 28px));
  height:min(92vh,980px);
  overflow:auto;
  margin:4vh auto;
  background:#fbf8f2;
  border-radius:12px;
  padding:28px;
  box-shadow:0 24px 70px rgba(0,0,0,.28)
}
.ema-cabin-modal-close{
  position:sticky;
  float:right;
  top:0;
  margin-left:auto;
  z-index:5;
  border:0;
  background:#fbf8f2;
  font-size:32px;
  line-height:1;
  cursor:pointer;
  color:#3f3a32;
  width:42px;
  height:42px;
  border-radius:50%
}
.ema-cabin-gallery-head{text-align:center;max-width:760px;margin:0 auto 20px}
.ema-cabin-gallery-head small{color:#9a6447;letter-spacing:.12em;font-weight:700}
.ema-cabin-gallery-head h2{font:400 44px Georgia,serif;margin:7px 0 10px}
.ema-cabin-gallery-head p{color:#655f55;line-height:1.6;margin:0}
.ema-cabin-gallery-facts{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:9px;
  margin:20px 0 18px
}
.ema-cabin-gallery-facts>div{
  background:#fff;
  border:1px solid #e3ddd2;
  padding:13px;
  border-radius:7px;
  text-align:center;
  font-size:12px
}
.ema-cabin-gallery-grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:12px
}
.ema-cabin-gallery-item{
  position:relative;
  border:0;
  padding:0;
  background:transparent;
  cursor:zoom-in;
  overflow:hidden;
  border-radius:8px
}
.ema-cabin-gallery-item img{
  display:block;
  width:100%;
  height:270px;
  object-fit:cover;
  transition:transform .25s ease
}
.ema-cabin-gallery-item:hover img{transform:scale(1.02)}
.ema-cabin-gallery-item span{
  position:absolute;
  left:10px;
  bottom:10px;
  background:rgba(250,247,241,.92);
  color:#302b24;
  padding:6px 9px;
  border-radius:4px;
  font-size:11px
}
.ema-cabin-gallery-actions{text-align:center;margin:24px 0 4px}
.ema-cabin-lightbox{
  position:fixed;
  inset:0;
  z-index:100001;
  display:none;
  align-items:center;
  justify-content:center;
  background:rgba(10,9,8,.9);
  padding:30px
}
.ema-cabin-lightbox[aria-hidden="false"]{display:flex}
.ema-cabin-lightbox img{
  max-width:94vw;
  max-height:90vh;
  object-fit:contain
}
.ema-cabin-lightbox-close{
  position:fixed;
  top:18px;
  right:22px;
  z-index:100002;
  border:0;
  background:transparent;
  color:#fff;
  font-size:40px;
  cursor:pointer
}
.ema-modal-open{overflow:hidden}
@media(max-width:900px){
  .ema-cabin-gallery-window{height:94vh;margin:3vh auto;padding:18px}
  .ema-cabin-gallery-facts{grid-template-columns:1fr 1fr}
  .ema-cabin-gallery-grid{grid-template-columns:1fr 1fr}
  .ema-cabin-gallery-item img{height:210px}
}
@media(max-width:600px){
  .ema-cabin-gallery-grid{grid-template-columns:1fr}
  .ema-cabin-gallery-item img{height:auto;max-height:420px}
}

/* v5.6 — approved minimal change: smaller hero copy only */
.ema-hero-copy h1{
  font-size:14px !important;
  line-height:1.26 !important;
}
@media(max-width:850px){
  .ema-hero-copy h1{font-size:13px !important}
}

/* v5.7 — general space gallery. Original image files are displayed without editing. */
.ema-general-gallery{padding:70px 4vw}
.ema-general-gallery-grid{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:12px;
}
.ema-general-gallery-grid img{
  display:block;
  width:100%;
  height:360px;
  object-fit:cover;
}
@media(max-width:1000px){
  .ema-general-gallery-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:600px){
  .ema-general-gallery{padding:50px 20px}
  .ema-general-gallery-grid{grid-template-columns:1fr}
  .ema-general-gallery-grid img{height:auto;object-fit:contain}
}


/* v5.9 — MOBILE HERO FIX ONLY.
   Keeps the original hero image unchanged; prevents distortion/squeezing on phones. */
@media(max-width:850px){
  .ema-hero{
    width:calc(100% - 20px) !important;
    aspect-ratio:auto !important;
    height:72vh !important;
    min-height:560px !important;
    max-height:760px !important;
    background-image:url('assets/images/hero.png') !important;
    background-size:cover !important;
    background-position:center center !important;
    background-repeat:no-repeat !important;
    margin-top:82px !important;
    margin-bottom:170px !important;
  }
}
@media(max-width:480px){
  .ema-hero{
    height:68vh !important;
    min-height:520px !important;
    max-height:680px !important;
    background-size:cover !important;
    background-position:center center !important;
  }
}


/* v5.10 — DESKTOP HERO FULL VIEWPORT WIDTH
   Original hero image is untouched. Mobile rules remain unchanged. */
@media(min-width:851px){
  .ema-hero{
    width:100vw !important;
    max-width:none !important;
    margin-left:calc(50% - 50vw) !important;
    margin-right:calc(50% - 50vw) !important;
    background-size:cover !important;
    background-position:center center !important;
    background-repeat:no-repeat !important;
  }
}


/* v5.11 — HEADER LOGO SIZE ONLY
   Original EMA Escape logo asset and proportions remain unchanged. */
@media(min-width:851px){
  .ema-logo img,
  .site-logo img,
  .custom-logo-link img,
  header .custom-logo{
    width:auto !important;
    height:auto !important;
    max-height:62px !important;
    transform:scale(1.22);
    transform-origin:left center;
  }
}
@media(max-width:850px){
  .ema-logo img,
  .site-logo img,
  .custom-logo-link img,
  header .custom-logo{
    width:auto !important;
    height:auto !important;
    max-height:54px !important;
    transform:scale(1.18);
    transform-origin:left center;
  }
}


/* v5.12 — CORRECT HEADER LOGO SELECTOR */
.ema-nav .ema-logo-link img{
    width:125px !important;
    max-width:125px !important;
    height:auto !important;
    max-height:none !important;
    object-fit:contain !important;
    transform:none !important;
}
@media(max-width:850px){
    .ema-nav .ema-logo-link img{
        width:112px !important;
        max-width:112px !important;
        height:auto !important;
        max-height:none !important;
    }
}

/* v5.13 — cabin interior thumbnails open full-size lightbox */
.ema-thumb-zoom{cursor:zoom-in}
.ema-thumb-lightbox{
  position:fixed;
  inset:0;
  z-index:100005;
  display:none;
  align-items:center;
  justify-content:center;
  padding:28px;
  background:rgba(8,8,7,.92);
}
.ema-thumb-lightbox[aria-hidden="false"]{display:flex}
.ema-thumb-lightbox img{
  max-width:95vw;
  max-height:92vh;
  width:auto;
  height:auto;
  object-fit:contain;
}
.ema-thumb-lightbox-close{
  position:fixed;
  top:18px;
  right:22px;
  z-index:100006;
  border:0;
  background:transparent;
  color:#fff;
  font-size:42px;
  line-height:1;
  cursor:pointer;
}

/* v5.14 — dedicated cabin pages with in-page gallery */
.ema-home-cabin-link{display:grid;text-decoration:none}
.ema-cabin-page{background:#f7f2e9;min-height:100vh;padding-bottom:60px}
.ema-cabin-page-head{max-width:1000px;margin:0 auto;padding:48px 24px 26px;text-align:center}
.ema-cabin-back{display:inline-block;margin-bottom:26px;color:#6f693f;text-decoration:none;font-size:13px}
.ema-cabin-page-head small{display:block;letter-spacing:.14em;color:#9a6447;font-weight:700}
.ema-cabin-page-head h1{font:400 clamp(42px,6vw,72px) Georgia,serif;margin:8px 0 12px}
.ema-cabin-page-head p{max-width:760px;margin:0 auto;color:#655f55;line-height:1.65}
.ema-cabin-page-facts{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin:24px auto 0;max-width:900px}
.ema-cabin-page-facts span{background:#fff;border:1px solid #e1d9cc;border-radius:7px;padding:13px 10px;font-size:12px}
.ema-cabin-page-gallery{max-width:1180px;margin:0 auto;padding:0 24px}
.ema-cabin-page-stage{position:relative;background:#ede7dc;border-radius:12px;overflow:hidden}
.ema-cabin-page-main-open{display:block;width:100%;padding:0;border:0;background:none;cursor:zoom-in}
.ema-cabin-page-main-open img{display:block;width:100%;height:min(68vh,720px);object-fit:contain;background:#171512}
.ema-cabin-page-arrow{position:absolute;top:50%;transform:translateY(-50%);z-index:2;width:48px;height:58px;border:0;border-radius:6px;background:rgba(255,255,255,.82);font-size:34px;cursor:pointer}
.ema-cabin-page-prev{left:14px}.ema-cabin-page-next{right:14px}
.ema-cabin-page-counter{position:absolute;right:16px;bottom:14px;background:rgba(20,18,15,.65);color:#fff;padding:6px 10px;border-radius:999px;font-size:12px}
.ema-cabin-page-thumbs{display:grid;grid-template-columns:repeat(7,1fr);gap:8px;margin-top:10px}
.ema-cabin-page-thumb{border:2px solid transparent;background:none;padding:0;border-radius:6px;overflow:hidden;cursor:pointer}
.ema-cabin-page-thumb.is-active{border-color:#7b7040}
.ema-cabin-page-thumb img{display:block;width:100%;height:92px;object-fit:cover}
.ema-cabin-page-book{text-align:center;margin:30px 0 0}
.ema-cabin-page-lightbox{position:fixed;inset:0;z-index:100010;display:none;align-items:center;justify-content:center;background:rgba(10,9,8,.94);padding:64px}
.ema-cabin-page-lightbox.is-open{display:flex}
.ema-cabin-page-lightbox img{max-width:92vw;max-height:88vh;width:auto;height:auto;object-fit:contain}
.ema-cabin-page-lightbox-close{position:fixed;top:18px;right:22px;border:0;background:transparent;color:#fff;font-size:42px;cursor:pointer}
.ema-cabin-page-lightbox-prev,.ema-cabin-page-lightbox-next{position:fixed;top:50%;transform:translateY(-50%);border:0;background:rgba(255,255,255,.12);color:#fff;width:50px;height:58px;font-size:36px;cursor:pointer}
.ema-cabin-page-lightbox-prev{left:18px}.ema-cabin-page-lightbox-next{right:18px}
.ema-cabin-page-lightbox-counter{position:fixed;bottom:18px;left:50%;transform:translateX(-50%);color:#fff;background:rgba(0,0,0,.35);padding:6px 10px;border-radius:999px;font-size:12px}
body.ema-gallery-open{overflow:hidden}
@media(max-width:800px){
  .ema-cabin-page-facts{grid-template-columns:1fr 1fr}
  .ema-cabin-page-main-open img{height:55vh}
  .ema-cabin-page-thumbs{grid-template-columns:repeat(4,1fr)}
  .ema-cabin-page-thumb img{height:74px}
}
@media(max-width:520px){
  .ema-cabin-page-head{padding-top:28px}
  .ema-cabin-page-gallery{padding:0 12px}
  .ema-cabin-page-main-open img{height:48vh}
  .ema-cabin-page-thumbs{grid-template-columns:repeat(3,1fr)}
  .ema-cabin-page-lightbox{padding:58px 12px 72px}
  .ema-cabin-page-lightbox-prev,.ema-cabin-page-lightbox-next{top:auto;bottom:16px;transform:none}
}



/* v5.15.5 — FIRSTESCAPE15 first-booking popup */
.ema-firstescape15-popup{position:fixed;inset:0;z-index:100000;display:flex;align-items:flex-start;justify-content:center;padding:28px 14px;box-sizing:border-box}
.ema-firstescape15-popup.is-hidden{display:none}
.ema-firstescape15-backdrop{position:absolute;inset:0;background:rgba(35,29,24,.48)}
.ema-firstescape15-card{position:relative;z-index:1;width:min(430px,92vw);padding:52px 38px 42px;text-align:center;background:#f3ede3;color:#654b38;box-shadow:0 18px 55px rgba(0,0,0,.25);box-sizing:border-box}
.ema-firstescape15-close{position:absolute;right:13px;top:11px;border:0;background:transparent;color:#654b38;font-size:28px;cursor:pointer}
.ema-firstescape15-logo{display:block;width:155px;max-width:52%;height:auto;margin:0 auto 42px}
.ema-firstescape15-offer{font-family:Georgia,serif;font-size:70px;line-height:1;margin-bottom:25px}
.ema-firstescape15-copy{font-family:Georgia,serif;font-size:18px;letter-spacing:.18em;margin-bottom:35px}
.ema-firstescape15-small{font-size:16px;letter-spacing:.14em;margin-bottom:10px}
.ema-firstescape15-code{border:1px solid #b9935c;padding:15px 12px;font-size:22px;font-weight:700;letter-spacing:.16em;margin:0 auto 24px}
.ema-firstescape15-cta{display:inline-block;background:#756f3d;color:#fff!important;text-decoration:none;padding:14px 24px;font-size:13px;letter-spacing:.1em}
@media(max-width:600px){.ema-firstescape15-card{padding:42px 25px 34px}.ema-firstescape15-offer{font-size:58px}.ema-firstescape15-logo{width:140px;max-width:56%;margin-bottom:34px}}

/* v5.15.9 — MOBILE BOOKING VIEWPORT FIX
   Scoped to mobile; preserves desktop and existing booking/business rules. */
@media (max-width:850px){
  html,body{width:100%;max-width:100%;overflow-x:hidden!important}
  *,*::before,*::after{box-sizing:border-box}
  main,.site-main,.entry-content,.ema-section,.ema-search-shell{max-width:100%!important;min-width:0!important}
  .ema-search-shell{left:12px!important;right:12px!important;width:auto!important}
  .ema-search-shell form,.ema-fallback-search{width:100%!important;max-width:100%!important;min-width:0!important}
  .ema-fallback-search{grid-template-columns:minmax(0,1fr) minmax(0,1fr)!important}
  .ema-fallback-search>*{min-width:0!important;max-width:100%!important}
  .ema-fallback-search input,.ema-fallback-search select,.ema-fallback-search button{width:100%!important;max-width:100%!important;min-width:0!important}

  /* Booking plugin/results: neutralize fixed/min desktop widths inside theme viewport. */
  [id*="ema-"][id*="result"], [class*="ema-"][class*="result"],
  [class*="ema-"][class*="booking"], [class*="ema-"][class*="checkout"],
  [class*="ema-"][class*="reservation"], [class*="ema-"][class*="reserve"],
  .ema-v51-card,.ema-v52-wrap,.ema-v52-grid,.ema-v52-box,.ema-v52-form{
    width:100%!important;max-width:100%!important;min-width:0!important;box-sizing:border-box!important;
  }
  .ema-v51-card,.ema-v52-grid{grid-template-columns:minmax(0,1fr)!important}
  .ema-v51-card>*,.ema-v52-grid>*,.ema-v52-box>*,.ema-v52-form>*{min-width:0!important;max-width:100%!important}
  .ema-v51-both-images{width:100%!important;max-width:100%!important;min-width:0!important;grid-template-columns:minmax(0,1fr) minmax(0,1fr)!important}
  .ema-v51-both-images img,.ema-v52-main,.ema-v52-thumbs,.ema-v52-thumbs img{max-width:100%!important;min-width:0!important}
  .ema-v52-wrap{padding-left:16px!important;padding-right:16px!important;overflow-x:hidden!important}
  .ema-v52-form input,.ema-v52-form select,.ema-v52-form textarea,.ema-v52-form button,.ema-v52-form .ema-btn,
  .ema-v51-actions,.ema-v51-actions .ema-btn{width:100%!important;max-width:100%!important;box-sizing:border-box!important}
  img,video,iframe{max-width:100%;height:auto}
}
