/* Halden House CMS additions shared by every theme: article text from the editor, booking states, currency, lightbox. */
.hh-article-h2{font-family:'Poppins',sans-serif;font-weight:600;font-size:clamp(1.25rem,1.1rem + .5vw,1.625rem);line-height:1.25;margin:36px 0 12px;color:inherit}
.hh-article-h3{font-family:'Poppins',sans-serif;font-weight:600;font-size:1.125rem;margin:28px 0 10px;color:inherit}
article ul:not([class]),article ol:not([class]){margin:0 0 20px;padding-inline-start:1.25em;line-height:1.7}
article a:not([class]){text-decoration:underline;text-underline-offset:3px}
article figure{margin:28px 0}article figure img{width:100%;height:auto;display:block}
/* lightbox */
.hh-lightbox{position:fixed;inset:0;z-index:2147482000;background:rgba(10,14,12,.92);display:none;align-items:center;justify-content:center;padding:56px 64px}
.hh-lightbox.is-open{display:flex}
.hh-lightbox img{max-width:100%;max-height:100%;object-fit:contain;box-shadow:0 30px 80px -30px rgba(0,0,0,.8)}
.hh-lightbox button{position:absolute;background:rgba(255,255,255,.08);color:#fff;border:1px solid rgba(255,255,255,.25);width:46px;height:46px;border-radius:50%;font-size:26px;line-height:1;cursor:pointer;display:grid;place-items:center}
.hh-lightbox button:hover{background:rgba(255,255,255,.18)}
.hh-lb-close{top:16px;inset-inline-end:16px}.hh-lb-prev{inset-inline-start:16px;top:50%;transform:translateY(-50%)}.hh-lb-next{inset-inline-end:16px;top:50%;transform:translateY(-50%)}
[dir=rtl] .hh-lb-prev,[dir=rtl] .hh-lb-next{transform:translateY(-50%) scaleX(-1)}
.hh-lb-count{position:absolute;bottom:18px;left:50%;transform:translateX(-50%);color:rgba(255,255,255,.75);font:500 12px/1 'JetBrains Mono',monospace;letter-spacing:.12em}
@media (max-width:640px){.hh-lightbox{padding:56px 12px}.hh-lb-prev,.hh-lb-next{top:auto;bottom:12px;transform:none}}
/* uploaded logo in place of the built-in brand mark */
.hh-logo-img{display:block;height:44px;width:auto;max-width:220px;object-fit:contain}
@media (max-width:640px){.hh-logo-img{height:36px}}
/* header "Services" menu with groups: the group list never scrolls, each group opens its own panel beside it */
.hh-dropdown.hh-dropdown--groups{max-height:none;overflow:visible}
.hh-dropdown.hh-flyout{top:-9px;left:calc(100% + 8px);min-width:230px;max-height:min(70vh,520px);overflow-y:auto;overflow-x:hidden}
.hh-dropdown.hh-flyout::before{top:0;left:-14px;right:auto;width:14px;height:100%}
.hh-sub:hover>.hh-flyout,.hh-sub.is-open>.hh-flyout,.hh-sub:focus-within>.hh-flyout{opacity:1;visibility:visible;transform:none}
.hh-dropdown.hh-flyout.hh-flip,[dir=rtl] .hh-dropdown.hh-flyout{left:auto;right:calc(100% + 8px)}
.hh-dropdown.hh-flyout.hh-flip::before,[dir=rtl] .hh-dropdown.hh-flyout::before{left:auto;right:-14px}
[dir=rtl] .hh-dropdown.hh-flyout.hh-flip{right:auto;left:calc(100% + 8px)}
.hh-dropdown:not(.hh-dropdown--groups){overflow-x:hidden}
.hh-logo-img--footer{height:52px;max-width:260px}
@media (max-width:640px){.hh-logo-img--footer{height:44px}}
/* phones: one tidy header row — logo, currency, language, menu button (the design's top bar, side notes and the
   call-to-action move out; every page link stays in the menu panel) */
@media (max-width:760px){
  header .site-container:has([data-brandmark]){display:flex!important;flex-wrap:nowrap!important;align-items:center!important;justify-content:flex-start!important;gap:8px!important;grid-template-columns:none!important}
  header .site-container:has([data-brandmark])>[data-brandmark]{order:0;flex:0 1 auto;min-width:0;margin:0!important;position:static!important;transform:none!important}
  header .site-container:has([data-brandmark])>:not([data-brandmark]):not(.hh-burger):not(nav):not(:has(select[aria-label="Currency"])){display:none!important}
  header .site-container:has([data-brandmark])>:has(select[aria-label="Currency"]){order:1;margin-inline-start:auto!important;display:flex!important;align-items:center;gap:6px!important;flex:0 0 auto;width:auto!important}
  header :has(>label>select[aria-label="Currency"])>button[data-href]{display:none!important}
  header :has(>select[aria-label="Currency"]){min-width:0!important}
  header select[aria-label="Currency"]{height:36px!important;min-width:0!important;width:auto!important;padding-block:0!important;padding-inline:10px 26px!important;font-size:12px!important}
  header :has(>label>select[aria-label="Currency"])>button{height:36px!important;min-width:0!important;padding:0 10px!important;font-size:12px!important}
  header .site-container:has([data-brandmark])>.hh-burger{order:2;flex:0 0 auto;position:static!important;margin:0!important}
  header>div:not(:has([data-brandmark])):not(:has(nav)){display:none!important}
  header .hh-logo-img{height:30px;max-width:150px}
}
@media (max-width:360px){header :has(>label>select[aria-label="Currency"])>label{display:none!important}}
.hh-mobile__top{margin-bottom:8px}
.hh-mobile .hh-mobile__cta{display:block;margin:22px 0 8px;padding:14px 18px;border-radius:10px;text-align:center;font-weight:600;background:var(--hh-accent,#b8955a);color:#fff!important;border:0!important;text-decoration:none}
