/* Preserve the original editorial design for editable Classic Editor markup. */
.hh-home-editable .hero{isolation:isolate}
.hh-home-editable .hero .hhce-hero-image{position:absolute;inset:0;width:100%;height:100%;max-width:none;object-fit:cover;z-index:-2;border-radius:0}
.hh-home-editable .hero .hero-inner{position:relative;z-index:1}
.hh-home-editable .hh-feature-media>a{position:absolute;inset:0;display:block}
.hh-home-editable .hh-feature-media>a img{width:100%;height:100%;object-fit:cover}
.hh-home-editable .hh-feature-text>p:has(.btn){margin:0}
.hh-home-editable .hhce-original-intro{max-width:1150px;margin:0 auto}
.hh-home-editable .hhce-original-intro .hh-section-inner{background:#fff;padding:clamp(24px,5vw,58px);border-top:3px solid #c79b62;box-shadow:0 20px 70px #14352112}
.hh-home-editable .hhce-original-intro h2{font:normal clamp(30px,3.5vw,45px)/1.2 Georgia,serif;color:#234832}
.hh-home-editable .hhce-original-intro p{font-size:17px}
.hh-home-editable .hhce-image-placeholder{display:block;padding:70px 20px;background:#d7dfd8;color:#224431;text-align:center}
.hh-home-editable .hh-booking .btn{display:inline-block}
.hh-home-editable.hh-stage-preview .hh-reveal{opacity:1;transform:none}
@media(max-width:850px){.hh-home-editable .hh-feature-media>a{position:relative;min-height:340px}}

/* V1.2: a restrained gold light point travels outside each feature button. */
.hhce-orbit-button{position:relative;overflow:visible;isolation:isolate}
.hhce-orbit-button::before{content:"";position:absolute;inset:-4px;border:1px solid #c79b6266;border-radius:6px;pointer-events:none}
.hhce-orbit-button::after{content:"";position:absolute;z-index:2;width:8px;height:8px;border-radius:50%;left:5px;top:-4px;transform:translate(-50%,-50%);background:radial-gradient(circle at 35% 30%,#fff9e5 0 20%,#e8bc66 46%,#aa762f 100%);box-shadow:0 0 7px #ebc77c,0 0 15px #d8a44a66;pointer-events:none;animation:hhce-orbit 5.4s linear var(--hhce-orbit-delay,0s) infinite}
@keyframes hhce-orbit{
  0%{left:5px;top:-4px}
  23%{left:calc(100% - 5px);top:-4px}
  27%{left:calc(100% + 4px);top:5px}
  48%{left:calc(100% + 4px);top:calc(100% - 5px)}
  52%{left:calc(100% - 5px);top:calc(100% + 4px)}
  73%{left:5px;top:calc(100% + 4px)}
  77%{left:-4px;top:calc(100% - 5px)}
  98%{left:-4px;top:5px}
  100%{left:5px;top:-4px}
}
@media(prefers-reduced-motion:reduce){.hhce-orbit-button::after{animation:none;left:calc(100% - 5px);top:-4px}}

/* V1.3: signature gold-dust treatment for the Contact & Booking menu link. */
.site-header a.hhce-gold-dust-cta{position:relative;display:inline-flex;justify-content:center;align-items:center;isolation:isolate;overflow:hidden;padding:10px 16px!important;border:1px solid #d3ab70bd;border-radius:20px;background:linear-gradient(130deg,#254b34,#102e22);color:#f8e9c7!important;white-space:nowrap;box-shadow:inset 0 0 0 1px #fff1cc14,0 3px 16px #06190e44,0 0 12px #d7ae7033;transition:box-shadow .3s ease,transform .3s ease}
.site-header a.hhce-gold-dust-cta:hover{transform:translateY(-1px);box-shadow:inset 0 0 0 1px #fff1cc44,0 4px 20px #06190e55,0 0 22px #e0b86a66}
.site-header a.hhce-gold-dust-cta::before{content:"";position:absolute;inset:0;z-index:1;pointer-events:none;background:radial-gradient(circle at 9% 72%,#fff4c9 0 1px,transparent 3px),radial-gradient(circle at 18% 27%,#edce8a 0 1.3px,transparent 3px),radial-gradient(circle at 34% 68%,#f6dd9f 0 .8px,transparent 2.3px),radial-gradient(circle at 54% 32%,#fff9e0 0 1.1px,transparent 2.6px),radial-gradient(circle at 68% 75%,#e4b65c 0 1.2px,transparent 3px),radial-gradient(circle at 83% 24%,#fff3c4 0 .9px,transparent 2.5px),radial-gradient(circle at 94% 63%,#e8c27d 0 1px,transparent 2.7px);filter:drop-shadow(0 0 3px #f6d58b);opacity:0;animation:hhce-gold-dust 6.5s ease-in-out infinite}
.site-header a.hhce-gold-dust-cta::after{content:"";position:absolute;inset:0;z-index:1;pointer-events:none;background:linear-gradient(105deg,transparent 20%,#fbe0a000 30%,#fff5c978 50%,#fbe0a000 70%,transparent 80%);transform:translateX(-140%);animation:hhce-gold-sweep 6.5s ease-in-out infinite}
@keyframes hhce-gold-dust{0%,8%,65%,100%{opacity:0;transform:translateY(4px)}18%{opacity:.7;transform:translateY(1px)}30%{opacity:1;transform:translateY(-2px)}43%{opacity:.65;transform:translateY(-4px)}55%{opacity:0;transform:translateY(-6px)}}
@keyframes hhce-gold-sweep{0%,10%{transform:translateX(-140%)}36%{transform:translateX(140%)}100%{transform:translateX(140%)}}
@media(prefers-reduced-motion:reduce){.site-header a.hhce-gold-dust-cta::before,.site-header a.hhce-gold-dust-cta::after{animation:none;opacity:0}}

/* V1.8: sibling layers with explicit stacking work reliably in Firefox and
 * Chrome: the original photo, then seasons, then the SAME dark green shade. */
.hero .hhce-image-placeholder{display:none!important}
.hero.hhce-season-ready{position:relative;isolation:isolate}
.hero.hhce-season-ready .hh-photo-layer{z-index:-2}
.hero.hhce-season-ready .hhce-seasons{position:absolute;inset:0;z-index:-1;overflow:hidden;pointer-events:none}
.hero.hhce-season-ready .hh-photo-shade{z-index:0}
.hero .hhce-season-frame{position:absolute;inset:0;background-size:cover;background-position:50% 45%;background-repeat:no-repeat;opacity:0;transition:opacity 2s ease-in-out;will-change:opacity}
.hero .hhce-season-frame.hhce-season-visible{opacity:1}
.hero.hhce-season-ready::before,.hero.hhce-season-ready::after{z-index:1;pointer-events:none}
.hero.hhce-season-ready .hero-inner{position:relative;z-index:2}
@media(prefers-reduced-motion:reduce){.hero .hhce-season-frame{transition:none;will-change:auto}}

/* V1.9: atmospheric photography belongs only to the original cream page
 * surface. Opaque white content cards are never made translucent. */
body.hhce-atmosphere-page{
  background-color:#f7f4ed;
  background-repeat:no-repeat;
  background-size:cover;
  background-position:center 90px;
  background-attachment:fixed;
}
@media(max-width:767px){
  body.hhce-atmosphere-page{
    background-attachment:scroll;
    background-size:auto 100vh;
    background-position:center 64px;
  }
}

/* V1.9.1: the footer Facebook mark matches both neighbouring 70px credits. */
.hh-intro-replay-wrap .hh-facebook-visit{padding:0 5px!important;min-height:70px;align-items:center}
.hh-intro-replay-wrap .hh-facebook-visit svg{width:70px!important;height:70px!important;min-width:70px;flex:0 0 70px}

/* V1.9.3: all legal menu entries stay readable, including future additions. */
.hh-custom-bottom-links{flex-wrap:wrap;gap:8px 22px;align-items:center}
.hh-custom-bottom-links a{white-space:nowrap}

/* V1.9.4: the four large footer columns are native editable WP widgets.
 * The original footer grid and green backdrop stay in place. */
.hhce-footer-widget-cell .hhce-footer-widget,.hhce-footer-widget-cell .textwidget{margin:0!important;padding:0!important;border:0!important;background:transparent!important;box-shadow:none!important}
.hhce-footer-editable{color:#e4e9e0;font-size:16px;line-height:1.8}
.hhce-footer-editable h2,.hhce-footer-editable h3{font-family:Georgia,"Times New Roman",serif;font-weight:400;line-height:1.25;margin:0 0 24px;color:#dfbd78}
.hhce-footer-editable h2{font-size:clamp(32px,3vw,41px);color:#f7f4e9;margin:6px 0 20px}
.hhce-footer-editable h3{font-size:24px}
.hhce-footer-editable p{margin:0 0 17px;padding:0}
.hhce-footer-editable a{color:inherit;text-decoration:none;transition:color .2s ease}
.hhce-footer-editable a:hover,.hhce-footer-editable a:focus-visible{color:#efd39a;text-decoration:underline}
.hhce-footer-editable strong{color:#e8ebe2}
.hhce-footer-editable .hhce-footer-eyebrow{font-size:12px;letter-spacing:.23em;color:#e1ba73;font-weight:700;margin:0 0 13px}
.hhce-footer-editable.hhce-footer-links p{margin-bottom:12px}
.hhce-footer-editable .hhce-footer-book-btn{display:inline-flex;align-items:center;justify-content:center;gap:20px;min-height:64px;padding:14px 24px;background:#d5ab70;border:1px solid #d8b378;border-radius:3px;color:#163e2c!important;font-weight:700;letter-spacing:.03em;box-shadow:0 0 0 4px #af8a4d30;white-space:nowrap;margin-top:14px;text-decoration:none!important}
.hhce-footer-editable .hhce-footer-book-btn:hover,.hhce-footer-editable .hhce-footer-book-btn:focus-visible{background:#e5c28c;color:#0d3021!important;text-decoration:none;box-shadow:0 0 0 4px #d8b67a55}
.hhce-footer-four-columns{max-width:1320px;margin:0 auto;display:grid;grid-template-columns:minmax(0,1.3fr) repeat(3,minmax(0,1fr));gap:clamp(24px,4.5vw,75px);padding:58px clamp(20px,4.5vw,64px)}
.hhce-footer-widget-cell{min-width:0}
@media(max-width:900px){.hhce-footer-four-columns{grid-template-columns:repeat(2,minmax(0,1fr));gap:35px}}
@media(max-width:560px){.hhce-footer-four-columns{grid-template-columns:minmax(0,1fr);padding:35px 22px;gap:30px}.hhce-footer-editable h2{font-size:34px}.hhce-footer-editable .hhce-footer-book-btn{min-height:56px;max-width:100%;white-space:normal}}

/* V1.9.5: responsive DIRS21 quickbook on the contact/booking page. */
@media(max-width:767px){
  .hh-d21-section,.hh-d21-widget{box-sizing:border-box!important;width:100%;max-width:100%;min-width:0!important}
  .hh-d21-widget{display:block!important;margin-left:auto!important;margin-right:auto!important}
  .hh-d21-widget>.d21-quickbook{display:block!important;min-width:0;box-sizing:border-box;max-width:100%}
  .hh-d21-widget iframe{max-width:100%;border:0}
  .hh-d21-contact{box-sizing:border-box;max-width:100%;min-width:0;overflow-wrap:anywhere}
}

/* V1.9.6: always-accessible call and direct booking buttons on smartphones.
 * Colours and split treatment follow the hotel branding/reference screenshot.
 * The iPhone safe area is included so neither action sits behind the browser UI. */
.hhce-mobile-actionbar{display:none}
@media(max-width:767px){
  body{padding-bottom:calc(86px + env(safe-area-inset-bottom,0px))!important}
  .hhce-mobile-actionbar{
    position:fixed;left:0;right:0;bottom:0;z-index:999999;
    display:grid;grid-template-columns:41.5% minmax(0,1fr);
    box-sizing:border-box;width:100%;max-width:100vw;
    padding:0 0 env(safe-area-inset-bottom,0px);
    border:1px solid #d5cbb5;border-bottom:0;border-radius:26px 26px 0 0;
    background:#f7f4ed;box-shadow:0 -9px 30px #142e2040;
    overflow:hidden;
  }
  .hhce-mobile-actionbar a{
    display:flex;flex-direction:column;align-items:center;justify-content:center;
    box-sizing:border-box;min-height:78px;max-width:100%;padding:10px 6px;
    text-align:center;text-decoration:none!important;line-height:1.15;
    -webkit-tap-highlight-color:transparent;touch-action:manipulation;
  }
  .hhce-mobile-actionbar-call{
    color:#264632!important;background:#f7f4ed!important;
    font-size:clamp(17px,4.6vw,21px);font-weight:700;letter-spacing:.01em;
  }
  .hhce-mobile-actionbar-book{
    color:#fffdf7!important;background:#294333!important;
    border-left:1px solid #dbb779;font-weight:600;
  }
  .hhce-mobile-actionbar-main{display:block;color:inherit;font-size:clamp(17px,4.6vw,22px);font-weight:600;white-space:nowrap}
  .hhce-mobile-actionbar-main [aria-hidden]{font-size:1.25em;font-weight:400;padding-left:5px}
  .hhce-mobile-actionbar-sub{display:block;margin-top:5px;color:#ddbd7f;font-size:clamp(11px,3.3vw,15px);font-weight:400;line-height:1.2}
  .hhce-mobile-actionbar a:hover,.hhce-mobile-actionbar a:focus-visible{filter:brightness(1.08)}
  .hhce-mobile-actionbar a:focus-visible{outline:3px solid #dfbf82;outline-offset:-5px}
}

/* V1.9.9: compact, accessible smartphone header on every page.
 * Weather sits beneath the hotel name; "Menü" stays visibly spelled out. */
@media(max-width:767px){
  .site-header .header-inner{
    display:grid;grid-template-columns:minmax(0,1fr) max-content;
    grid-template-areas:"brand menu" "weather menu";
    grid-template-rows:auto auto;align-items:center;justify-content:normal;
    column-gap:10px;row-gap:2px;padding:8px 12px;min-width:0;
  }
  .site-header .header-inner .brand{
    grid-area:brand;align-self:end;
    min-width:0;max-width:none;width:auto;display:flex;align-items:center;
    gap:7px;margin:0;line-height:1.16;
  }
  .site-header .header-inner .brand span{
    min-width:0;white-space:normal;font-size:clamp(14px,3.7vw,17px);
    line-height:1.16;letter-spacing:.02em;overflow-wrap:normal;
  }
  .site-header .header-inner .brand img.hh-emblem-cutout{
    flex:0 0 43px!important;width:43px!important;height:43px!important;
    max-height:43px!important;max-width:43px!important;
  }
  .site-header .header-inner .hh-header-weather{
    grid-area:weather;display:inline-flex;align-items:center;justify-self:start;
    min-width:0;margin:0 0 0 50px!important;padding:5px 8px;
    gap:5px;font-size:13px;line-height:1.2;white-space:nowrap;
  }
  .site-header .header-inner .hh-header-weather-icon{font-size:15px}
  .site-header .header-inner .menu-toggle{
    grid-area:menu;display:flex;align-items:center;justify-content:center;
    justify-self:end;align-self:center;box-sizing:border-box;
    min-width:95px;width:auto;height:46px;min-height:46px;
    margin:0;padding:8px 12px;border-color:#c79b6277;border-radius:9px;
    font-size:15px;line-height:1.15;font-weight:600;white-space:nowrap;cursor:pointer;
  }
  .site-header .header-inner .menu-toggle::after{content:none}
  .site-header .header-inner .main-nav{
    grid-column:1/-1;min-width:0;width:100%;margin:0;
  }
}
@media(max-width:360px){
  .site-header .header-inner{padding:7px 8px;column-gap:5px}
  .site-header .header-inner .brand img.hh-emblem-cutout{
    flex-basis:38px!important;width:38px!important;height:38px!important;
    max-height:38px!important;max-width:38px!important;
  }
  .site-header .header-inner .hh-header-weather{margin-left:45px!important;padding:4px 6px;font-size:12px}
  .site-header .header-inner .menu-toggle{min-width:88px;padding:7px 9px;font-size:14px}
}

/* V1.9.10: DIRS21 quickbook, visually aligned with the hotel colour palette.
 * Scope every provider override to the hotel's booking section. The widget
 * itself publishes red/orange inline CSS variables, so important declarations
 * are necessary to keep its controls consistently forest-green and gold. */
.hh-d21-section .hh-d21-widget .d21-quickbook{
  --d21-primary:#254b36!important;
  --d21-secondary:#c89d63!important;
  --d21-color-primary-transparent:rgba(37,75,54,.18)!important;
  --primary:#254b36!important;
  --primary-color:#254b36!important;
  --background:#faf7f0!important;
  --background-color:#faf7f0!important;
  --text-color:#173c2b!important;
  --border-color:#d1b586!important;
  color:#173c2b;
}
.hh-d21-section .hh-d21-widget .d21-quickbook .d21-container-view{
  background:#faf7f0!important;
  color:#173c2b!important;
}
.hh-d21-section .hh-d21-widget .d21-quickbook button.d21-trigger-popover-button{
  background:#fffdf8!important;
  border:1px solid #ceb482!important;
  border-radius:7px!important;
  color:#173c2b!important;
  box-shadow:none!important;
  text-align:left;
}
.hh-d21-section .hh-d21-widget .d21-quickbook .d21-trigger-popover-button .d21-trigger-popover-label{
  color:#4b614f!important;
  opacity:1!important;
  font-weight:600!important;
}
.hh-d21-section .hh-d21-widget .d21-quickbook .d21-trigger-popover-button p:not(.d21-trigger-popover-label){
  color:#173c2b!important;
  opacity:1!important;
}
.hh-d21-section .hh-d21-widget .d21-quickbook button.d21-button.d21-primary{
  background:#254b36!important;
  border:1px solid #bd965b!important;
  color:#fffdf7!important;
  border-radius:7px!important;
  font-weight:700!important;
}
.hh-d21-section .hh-d21-widget .d21-quickbook button.d21-button.d21-primary:hover,
.hh-d21-section .hh-d21-widget .d21-quickbook button.d21-button.d21-primary:focus-visible{
  background:#346c4f!important;
  border-color:#e3bd7c!important;
}
.hh-d21-section .hh-d21-widget .d21-quickbook button:focus-visible{
  outline:3px solid #c79b62!important;
  outline-offset:2px;
}

/* The provider's two adjacent 160px-minimum fields and 480px container
 * cannot fit a 320px phone. On small screens they become a readable stack;
 * no downscaling or cropped booking controls are needed. */
@media(max-width:767px){
  .hh-d21-section,
  .hh-d21-section .hh-d21-widget,
  .hh-d21-section .hh-d21-widget .d21-quickbook,
  .hh-d21-section .hh-d21-widget .d21-widget-container,
  .hh-d21-section .hh-d21-widget .d21-container-view{
    box-sizing:border-box!important;
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
  }
  .hh-d21-section .hh-d21-widget{padding:clamp(7px,2.5vw,12px)!important}
  .hh-d21-section .hh-d21-widget .d21-widget-container,
  .hh-d21-section .hh-d21-widget .d21-container-view{
    margin-left:auto!important;
    margin-right:auto!important;
  }
  .hh-d21-section .hh-d21-widget .d21-container-view > .d21-v-stack,
  .hh-d21-section .hh-d21-widget .d21-container-view > .d21-v-stack > .d21-v-stack{
    box-sizing:border-box!important;
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
  }
  .hh-d21-section .hh-d21-widget .d21-container-view > .d21-v-stack > .d21-h-stack{
    display:flex!important;
    flex-direction:column!important;
    flex-wrap:nowrap!important;
    gap:9px!important;
    width:100%!important;
    min-width:0!important;
    max-width:100%!important;
  }
  .hh-d21-section .hh-d21-widget .d21-container-view > .d21-v-stack > .d21-h-stack > *,
  .hh-d21-section .hh-d21-widget .d21-container-view > .d21-v-stack > .d21-v-stack > *{
    box-sizing:border-box!important;
    flex:0 1 auto!important;
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
  }
  .hh-d21-section .hh-d21-widget .d21-container-view button.d21-trigger-popover-button,
  .hh-d21-section .hh-d21-widget .d21-container-view button.d21-button.d21-primary{
    box-sizing:border-box!important;
    width:100%!important;
    min-width:0!important;
    max-width:100%!important;
    min-height:58px;
    padding:12px 15px!important;
    font-size:16px!important;
    line-height:1.3;
    white-space:normal!important;
    overflow-wrap:anywhere;
  }
  .hh-d21-section .hh-d21-widget .d21-container-view button.d21-button.d21-primary{
    min-height:54px;
  }
}
