/*
Theme Name: Gästehaus König – Hello Elementor Child
Theme URI: https://www.gh-koenig.de/
Description: Schlankes Hello-Elementor-Child-Theme für den Gästehaus-König-Onepager. Inhalte, Bilder sowie Header und Footer werden vollständig mit Elementor bzw. Royal Addons gepflegt.
Author: 1st solutions
Author URI: https://www.1st-sol.de/
Template: hello-elementor
Version: 1.27.0
Text Domain: gh-koenig-hello-child
Requires at least: 6.4
Requires PHP: 7.4
*/

:root {
  --ghk-green-950: #102f25;
  --ghk-green-900: #163d2f;
  --ghk-green-800: #1f513d;
  --ghk-green-700: #2d694f;
  --ghk-green-600: #3c7e60;
  --ghk-green-500: #579276;
  --ghk-sage-50: #f7faf7;
  --ghk-sage-100: #eef5ef;
  --ghk-sage-200: #dce9df;
  --ghk-sage-300: #c7dccd;
  --ghk-cream: #fbfaf6;
  --ghk-white: #ffffff;
  --ghk-ink: #1d2923;
  --ghk-muted: #5f6d65;
  --ghk-border: #d9e4dc;
  --ghk-focus: #9bc48a;
  --ghk-shadow-sm: 0 10px 30px rgba(16, 47, 37, 0.08);
  --ghk-shadow-md: 0 24px 60px rgba(16, 47, 37, 0.13);
  --ghk-radius-sm: 10px;
  --ghk-radius-md: 18px;
  --ghk-radius-lg: 28px;
  --ghk-content: 1240px;
  --ghk-gutter: clamp(20px, 4vw, 56px);
  --ghk-section-space: clamp(76px, 8vw, 132px);
  --ghk-header-offset: 92px;
  --ghk-mobile-cta-height: 0px;
  --ghk-font-body: "Aptos", "Segoe UI", Arial, sans-serif;
  --ghk-font-heading: Georgia, "Times New Roman", serif;
  --ghk-leaf-left: url("assets/images/hero-leaf-left.png");
}

*,
*::before,
*::after {
  box-sizing: border-box;
}

html {
  scroll-behavior: smooth;
  scroll-padding-top: var(--ghk-header-offset);
}

body.ghk-site {
  --e-global-color-primary: var(--ghk-green-950);
  --e-global-color-secondary: var(--ghk-green-700);
  --e-global-color-text: var(--ghk-ink);
  --e-global-color-accent: var(--ghk-green-800);
  margin: 0;
  color: var(--ghk-ink);
  background: var(--ghk-white);
  font-family: var(--ghk-font-body);
  font-size: 17px;
  line-height: 1.7;
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
}

body.ghk-site img {
  max-width: 100%;
  height: auto;
}

body.ghk-site a {
  color: var(--ghk-green-800);
  text-underline-offset: 0.18em;
}

body.ghk-site a:hover {
  color: var(--ghk-green-600);
}

body.ghk-site :where(a, button, input, textarea, select, summary):focus-visible {
  outline: 3px solid var(--ghk-focus);
  outline-offset: 3px;
}

body.ghk-site ::selection {
  color: var(--ghk-white);
  background: var(--ghk-green-700);
}

body.ghk-site h1,
body.ghk-site h2,
body.ghk-site h3,
body.ghk-site h4,
body.ghk-site h5,
body.ghk-site h6 {
  margin-block: 0 0.55em;
  color: var(--ghk-green-950);
  font-family: var(--ghk-font-heading);
  font-weight: 600;
  line-height: 1.12;
  letter-spacing: -0.025em;
  text-wrap: balance;
}

body.ghk-site h1 {
  font-size: clamp(2.45rem, 5.4vw, 5.1rem);
}

body.ghk-site h2 {
  font-size: clamp(2rem, 3.8vw, 3.65rem);
}

body.ghk-site h3 {
  font-size: clamp(1.45rem, 2.2vw, 2.05rem);
}

body.ghk-site .elementor-heading-title {
  color: var(--ghk-green-950);
}

body.ghk-site p {
  margin-block: 0 1em;
}

body.ghk-site .elementor-widget-text-editor > .elementor-widget-container > :last-child,
body.ghk-site .elementor-widget-heading > .elementor-widget-container > :last-child {
  margin-bottom: 0;
}

/* --------------------------------------------------------------------------
   Global Elementor helpers
   -------------------------------------------------------------------------- */

.ghk-onepager {
  overflow: clip;
  background: var(--ghk-white);
}

.ghk-shell {
  width: 100%;
  padding-inline: max(var(--ghk-gutter), calc((100vw - var(--ghk-content)) / 2));
}

.ghk-section {
  padding-block: var(--ghk-section-space);
}

.ghk-section--compact {
  padding-block: clamp(56px, 6vw, 88px);
}

.ghk-section--soft {
  background: var(--ghk-cream);
}

.ghk-section--sage {
  background: var(--ghk-sage-100);
}

.ghk-anchor {
  scroll-margin-top: calc(var(--ghk-header-offset) + 18px);
}

.ghk-section-head {
  width: min(100%, 760px);
  margin-bottom: clamp(34px, 4vw, 58px);
}

.ghk-section-head--center {
  margin-inline: auto;
  text-align: center;
}

.ghk-eyebrow {
  color: var(--ghk-green-700);
  font-size: 0.78rem;
  font-weight: 750;
  letter-spacing: 0.16em;
  text-transform: uppercase;
}

.ghk-lead {
  color: var(--ghk-muted);
  font-size: clamp(1.08rem, 1.4vw, 1.28rem);
  line-height: 1.65;
}

.ghk-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  margin-top: clamp(22px, 3vw, 34px);
}

.ghk-button .elementor-button,
.elementor-button.ghk-button,
.ghk-site .elementor-widget-button .elementor-button {
  min-height: 50px;
  padding: 14px 24px;
  border: 1px solid var(--ghk-green-800);
  border-radius: 8px;
  font-family: var(--ghk-font-body);
  font-size: 0.95rem;
  font-weight: 700;
  line-height: 1.2;
  transition: transform 180ms ease, background-color 180ms ease, border-color 180ms ease, color 180ms ease, box-shadow 180ms ease;
}

body.ghk-site .ghk-button--primary .elementor-button,
body.ghk-site .elementor-button.ghk-button--primary {
  color: var(--ghk-white) !important;
  background: var(--ghk-green-800) !important;
  border-color: var(--ghk-green-800) !important;
  box-shadow: 0 10px 22px rgba(31, 81, 61, 0.18);
}

body.ghk-site .ghk-button--primary .elementor-button:hover,
body.ghk-site .elementor-button.ghk-button--primary:hover {
  color: var(--ghk-white) !important;
  background: var(--ghk-green-950) !important;
  border-color: var(--ghk-green-950) !important;
  transform: translateY(-2px);
}

body.ghk-site .ghk-button--secondary .elementor-button,
body.ghk-site .elementor-button.ghk-button--secondary {
  color: var(--ghk-green-900) !important;
  background: transparent !important;
  border-color: var(--ghk-green-800) !important;
}

body.ghk-site .ghk-button--secondary .elementor-button:hover,
body.ghk-site .elementor-button.ghk-button--secondary:hover {
  color: var(--ghk-green-950) !important;
  background: var(--ghk-sage-100) !important;
  border-color: var(--ghk-green-700) !important;
  transform: translateY(-2px);
}

.ghk-card {
  padding: clamp(24px, 3vw, 36px);
  background: var(--ghk-white);
  border: 1px solid var(--ghk-border);
  border-radius: var(--ghk-radius-md);
  box-shadow: var(--ghk-shadow-sm);
}

.ghk-check-list ul,
.ghk-room-features ul,
.ghk-excursions__content ul,
.ghk-service ul {
  display: grid;
  gap: 10px;
  margin: 0;
  padding: 0;
  list-style: none;
}

.ghk-check-list li,
.ghk-room-features li,
.ghk-excursions__content li,
.ghk-service li {
  position: relative;
  padding-left: 26px;
}

.ghk-check-list li::before,
.ghk-room-features li::before,
.ghk-excursions__content li::before,
.ghk-service li::before {
  position: absolute;
  top: 0.08em;
  left: 0;
  color: var(--ghk-green-700);
  font-weight: 800;
  content: "\2713";
}

/* --------------------------------------------------------------------------
   Royal Addons header and footer helpers
   -------------------------------------------------------------------------- */

.ghk-site-header {
  position: sticky !important;
  top: 0;
  z-index: 1000;
  width: 100%;
  background: rgba(255, 255, 255, 0.97);
  border-bottom: 1px solid rgba(217, 228, 220, 0.95);
  backdrop-filter: blur(14px);
  transition: box-shadow 180ms ease, background-color 180ms ease;
}

body.admin-bar .ghk-site-header {
  top: 32px;
}

.ghk-site-header.is-scrolled {
  background: rgba(255, 255, 255, 0.985);
  box-shadow: 0 10px 32px rgba(16, 47, 37, 0.10);
}

.ghk-site-header .ghk-header__inner {
  display: flex !important;
  flex-flow: row nowrap !important;
  align-items: center !important;
  justify-content: space-between !important;
  width: 100% !important;
  min-height: 82px;
  padding-inline: max(var(--ghk-gutter), calc((100vw - var(--ghk-content)) / 2));
  gap: clamp(20px, 3vw, 46px);
}

.ghk-header__logo {
  flex: 0 0 auto;
}

.ghk-header__logo img {
  display: block;
  width: auto;
  max-width: min(230px, 27vw);
  max-height: 58px;
}

.ghk-site-header .ghk-header__nav {
  flex: 1 1 auto;
  min-width: 0;
}

.ghk-site-header .ghk-header__nav .wpr-nav-menu-container {
  width: 100%;
}

.ghk-site-header .ghk-header__nav .wpr-nav-menu {
  display: flex !important;
  flex-flow: row nowrap !important;
  align-items: center !important;
  justify-content: flex-end !important;
  gap: clamp(4px, 0.8vw, 14px);
  margin: 0 !important;
  padding: 0 !important;
}

.ghk-site-header .ghk-header__nav .wpr-nav-menu > .menu-item {
  margin: 0 !important;
}

body.ghk-site .ghk-site-header .ghk-header__nav .wpr-nav-menu .wpr-menu-item,
body.ghk-site .ghk-site-header .ghk-header__nav .wpr-nav-menu > .menu-item-has-children > .wpr-sub-icon {
  position: relative;
  padding: 15px clamp(8px, 0.75vw, 13px) !important;
  color: var(--ghk-green-950) !important;
  background: transparent !important;
  font-family: var(--ghk-font-body) !important;
  font-size: 0.94rem !important;
  font-weight: 700 !important;
  line-height: 1.2 !important;
  letter-spacing: 0 !important;
  text-decoration: none !important;
  white-space: nowrap;
}

body.ghk-site .ghk-site-header .ghk-header__nav .wpr-nav-menu .wpr-menu-item:hover,
body.ghk-site .ghk-site-header .ghk-header__nav .wpr-nav-menu .wpr-menu-item.wpr-active-menu-item,
body.ghk-site .ghk-site-header .ghk-header__nav .wpr-nav-menu > .current-menu-item > .wpr-menu-item,
body.ghk-site .ghk-site-header .ghk-header__nav .wpr-nav-menu > .current_page_item > .wpr-menu-item {
  color: var(--ghk-green-600) !important;
  background: transparent !important;
}

body.ghk-site .ghk-site-header .ghk-header__nav.wpr-pointer-line-fx .wpr-menu-item::before,
body.ghk-site .ghk-site-header .ghk-header__nav.wpr-pointer-line-fx .wpr-menu-item::after,
body.ghk-site .ghk-site-header .ghk-header__nav.wpr-pointer-underline .wpr-menu-item::after,
body.ghk-site .ghk-site-header .ghk-header__nav.wpr-pointer-overline .wpr-menu-item::before,
body.ghk-site .ghk-site-header .ghk-header__nav.wpr-pointer-double-line .wpr-menu-item::before,
body.ghk-site .ghk-site-header .ghk-header__nav.wpr-pointer-double-line .wpr-menu-item::after {
  height: 2px !important;
  background-color: var(--ghk-green-600) !important;
}

body.ghk-site .ghk-site-header .ghk-header__nav.wpr-pointer-border-fx .wpr-menu-item::before {
  border-color: var(--ghk-green-600) !important;
}

body.ghk-site .ghk-site-header .ghk-header__nav.wpr-pointer-background-fx .wpr-menu-item::before {
  background-color: var(--ghk-sage-100) !important;
}

.ghk-site-header .ghk-button {
  flex: 0 0 auto;
}

/* Royal mobile navigation */
.ghk-site-header .ghk-header__nav .wpr-mobile-toggle-wrap {
  text-align: right !important;
}

body.ghk-site .ghk-site-header .ghk-header__nav .wpr-mobile-toggle {
  width: 46px !important;
  min-width: 46px;
  padding: 9px !important;
  border: 1px solid var(--ghk-border) !important;
  border-radius: 8px;
  background: var(--ghk-white) !important;
}

body.ghk-site .ghk-site-header .ghk-header__nav .wpr-mobile-toggle-line {
  height: 2px !important;
  margin-bottom: 5px !important;
  background-color: var(--ghk-green-950) !important;
}

body.ghk-site .ghk-site-header .ghk-header__nav .wpr-mobile-toggle-line:last-child {
  margin-bottom: 0 !important;
}

body.ghk-site .ghk-site-header .ghk-header__nav .wpr-mobile-toggle:hover {
  border-color: var(--ghk-sage-300) !important;
  background: var(--ghk-sage-50) !important;
}

body.ghk-site .ghk-site-header .ghk-header__nav .wpr-mobile-nav-menu {
  width: 100vw !important;
  max-width: 100vw !important;
  left: 50% !important;
  margin-top: 14px !important;
  padding: 12px var(--ghk-gutter) 18px !important;
  background: var(--ghk-white) !important;
  border-top: 1px solid var(--ghk-border);
  border-bottom: 1px solid var(--ghk-border);
  box-shadow: 0 18px 34px rgba(16, 47, 37, 0.12);
  transform: translateX(-50%);
}

body.ghk-site .ghk-site-header .ghk-header__nav .wpr-mobile-nav-menu li {
  background: transparent !important;
}

body.ghk-site .ghk-site-header .ghk-header__nav .wpr-mobile-nav-menu a,
body.ghk-site .ghk-site-header .ghk-header__nav .wpr-mobile-nav-menu .menu-item-has-children > a::after {
  padding: 13px 14px !important;
  color: var(--ghk-green-950) !important;
  background: transparent !important;
  border-color: var(--ghk-border) !important;
  border-radius: 7px;
  font-family: var(--ghk-font-body) !important;
  font-size: 1rem !important;
  font-weight: 700 !important;
  text-align: left;
}

body.ghk-site .ghk-site-header .ghk-header__nav .wpr-mobile-nav-menu a:hover,
body.ghk-site .ghk-site-header .ghk-header__nav .wpr-mobile-nav-menu a.wpr-active-menu-item {
  color: var(--ghk-green-950) !important;
  background: var(--ghk-sage-100) !important;
}

@media (min-width: 1025px) {
  .ghk-site-header .ghk-header__nav .wpr-mobile-nav-menu-container {
    display: none !important;
  }

  .ghk-site-header .ghk-header__nav .wpr-nav-menu-container {
    display: block !important;
  }
}

.ghk-site-footer {
  color: rgba(255, 255, 255, 0.82);
  background: var(--ghk-green-950);
}

.ghk-site-footer a,
.ghk-site-footer h2,
.ghk-site-footer h3,
.ghk-site-footer h4 {
  color: var(--ghk-white);
}

.ghk-footer__inner {
  padding-block: clamp(50px, 6vw, 82px);
  padding-inline: max(var(--ghk-gutter), calc((100vw - var(--ghk-content)) / 2));
}

.ghk-footer__bottom {
  padding-block: 18px;
  border-top: 1px solid rgba(255, 255, 255, 0.14);
  font-size: 0.9rem;
}

/* --------------------------------------------------------------------------
   Hero
   -------------------------------------------------------------------------- */

.ghk-hero {
  position: relative;
  display: block !important;
  min-height: 680px;
  padding-top: 0;
  padding-bottom: 0;
  overflow: hidden;
  isolation: isolate;
  background:
    radial-gradient(circle at 12% 18%, rgba(199, 220, 205, 0.72), transparent 33%),
    linear-gradient(105deg, var(--ghk-sage-50) 0%, var(--ghk-cream) 49%, var(--ghk-white) 74%);
}

.ghk-hero::before {
  position: absolute;
  z-index: 2;
  top: 18px;
  bottom: 18px;
  left: clamp(0px, 0.55vw, 10px);
  display: block;
  width: clamp(162px, 11.5vw, 212px);
  pointer-events: none;
  content: "";
  background-image: var(--ghk-leaf-left);
  background-repeat: no-repeat;
  background-position: left center;
  background-size: contain;
  opacity: 0.94;
}

.ghk-hero::after {
  display: none !important;
  content: none !important;
}

.ghk-hero__content {
  position: relative;
  z-index: 3;
  display: flex !important;
  flex-direction: column;
  justify-content: center;
  width: min(52%, 650px) !important;
  min-height: 680px;
  max-width: 650px !important;
  margin: 0 !important;
  padding: clamp(66px, 6vw, 104px) clamp(38px, 4vw, 70px) clamp(66px, 6vw, 104px) 0;
}

body.ghk-site .ghk-hero__content h1,
body.ghk-site .ghk-hero__content .elementor-heading-title {
  max-width: 15ch;
  margin-bottom: 0.34em;
  color: var(--ghk-green-950) !important;
  font-family: var(--ghk-font-heading) !important;
  font-size: clamp(2.65rem, 3.45vw, 3.65rem) !important;
  font-weight: 600 !important;
  line-height: 1.07 !important;
  letter-spacing: -0.03em !important;
}

body.ghk-site .ghk-hero__content .ghk-lead,
body.ghk-site .ghk-hero__content .ghk-lead .elementor-widget-container {
  color: var(--ghk-green-800) !important;
}

.ghk-hero__content .ghk-lead {
  max-width: 52ch;
  font-size: clamp(1.08rem, 1.25vw, 1.25rem);
  font-weight: 700;
  line-height: 1.5;
}

body.ghk-site .ghk-hero__content .elementor-widget-text-editor:not(.ghk-lead),
body.ghk-site .ghk-hero__content .elementor-widget-text-editor:not(.ghk-lead) .elementor-widget-container {
  max-width: 60ch;
  color: var(--ghk-muted) !important;
}

.ghk-hero__media {
  position: absolute !important;
  inset: 0 0 0 auto;
  z-index: 1;
  display: block !important;
  width: clamp(620px, 58vw, 1040px) !important;
  max-width: none !important;
  min-height: 680px;
  height: 100% !important;
  margin: 0 !important;
  overflow: hidden;
  border-radius: 0;
  box-shadow: none;
  isolation: isolate;
}

.ghk-hero__media::before,
.ghk-hero__media::after {
  position: absolute;
  inset: 0;
  z-index: 2;
  pointer-events: none;
  content: "";
}

.ghk-hero__media::before {
  right: auto;
  width: clamp(190px, 34%, 390px);
  background: linear-gradient(
    90deg,
    var(--ghk-cream) 0%,
    rgba(251, 250, 246, 0.92) 28%,
    rgba(251, 250, 246, 0.48) 68%,
    rgba(251, 250, 246, 0) 100%
  );
}

.ghk-hero__media::after {
  background:
    linear-gradient(180deg, rgba(16, 47, 37, 0.02), transparent 56%, rgba(16, 47, 37, 0.18)),
    linear-gradient(90deg, transparent 72%, rgba(16, 47, 37, 0.06));
}

.ghk-hero__media > .elementor-widget-container,
.ghk-hero__media .elementor-image,
.ghk-hero__media picture {
  display: block !important;
  width: 100% !important;
  height: 100% !important;
  min-height: inherit;
}

.ghk-hero__media img {
  display: block;
  width: 100% !important;
  height: 100% !important;
  min-height: inherit;
  max-width: none !important;
  max-height: none !important;
  object-fit: cover !important;
  object-position: 55% center;
}

/* The linked and unlinked Remstal logo must keep exactly the same size.
   Elementor adds an <a> wrapper as soon as a link is assigned; therefore the
   sizing is applied to the widget container, link and image explicitly. */
body.ghk-site .ghk-remstal-logo .elementor-widget-container {
  display: flex;
  align-items: center;
  justify-content: flex-start;
  width: 100%;
}

body.ghk-site .ghk-remstal-logo a {
  display: inline-flex;
  align-items: center;
  line-height: 0;
}

body.ghk-site .ghk-remstal-logo img {
  display: block;
  width: min(190px, 55vw) !important;
  max-width: 100% !important;
  height: auto !important;
  max-height: none !important;
  object-fit: contain;
  object-position: left center;
}

/* --------------------------------------------------------------------------
   Benefits
   -------------------------------------------------------------------------- */

.ghk-benefits {
  display: grid !important;
  grid-template-columns: repeat(6, minmax(0, 1fr));
  padding-top: clamp(28px, 3vw, 42px);
  padding-bottom: clamp(28px, 3vw, 42px);
  border-top: 1px solid var(--ghk-border);
  border-bottom: 1px solid var(--ghk-border);
  background: var(--ghk-white);
}

.ghk-benefit {
  min-width: 0;
  padding: 8px clamp(12px, 2vw, 24px);
  text-align: center;
  border-right: 1px solid var(--ghk-border);
}

.ghk-benefit:last-child {
  border-right: 0;
}

.ghk-benefit .elementor-icon,
.ghk-benefit .elementor-icon-box-icon {
  color: var(--ghk-green-700);
}

.ghk-benefit .elementor-icon-box-title {
  margin-top: 12px;
  margin-bottom: 6px;
  font-family: var(--ghk-font-body);
  font-size: 0.98rem;
  font-weight: 750;
  letter-spacing: 0;
}

.ghk-benefit .elementor-icon-box-description {
  color: var(--ghk-muted);
  font-size: 0.82rem;
  line-height: 1.45;
}

/* --------------------------------------------------------------------------
   Intro
   -------------------------------------------------------------------------- */

.ghk-intro {
  display: grid !important;
  grid-template-columns: minmax(0, 1.08fr) minmax(0, 0.92fr);
  align-items: center;
  gap: clamp(42px, 7vw, 96px);
}

.ghk-intro__media {
  overflow: hidden;
  border-radius: var(--ghk-radius-lg);
  box-shadow: var(--ghk-shadow-md);
}

.ghk-intro__media img {
  display: block;
  width: 100%;
  aspect-ratio: 4 / 3;
  object-fit: cover;
}

.ghk-intro__content {
  max-width: 620px;
}

/* --------------------------------------------------------------------------
   Rooms and galleries
   -------------------------------------------------------------------------- */

.ghk-rooms {
  display: grid !important;
  grid-template-columns: minmax(230px, 0.8fr) minmax(0, 1.55fr) minmax(240px, 0.82fr);
  align-items: start;
  gap: clamp(28px, 4vw, 54px);
}

.ghk-rooms > .ghk-section-head {
  grid-column: 1 / -1;
  margin-bottom: 0;
}

.ghk-room-features {
  padding-top: 6px;
}

.ghk-gallery {
  min-width: 0;
}

.ghk-gallery .swiper,
.ghk-gallery .swiper-container,
.ghk-gallery .elementor-image-carousel-wrapper,
.ghk-gallery .gallery-item img,
.ghk-gallery .swiper-slide img {
  border-radius: var(--ghk-radius-md);
}

.ghk-gallery .swiper-slide img {
  display: block;
  width: 100%;
  aspect-ratio: 16 / 10;
  object-fit: cover;
}

.ghk-gallery .elementor-swiper-button,
.ghk-gallery .swiper-button-prev,
.ghk-gallery .swiper-button-next {
  width: 46px;
  height: 46px;
  color: var(--ghk-green-900);
  background: rgba(255, 255, 255, 0.94);
  border: 1px solid var(--ghk-border);
  border-radius: 50%;
  box-shadow: var(--ghk-shadow-sm);
}

.ghk-gallery .swiper-pagination-bullet {
  width: 8px;
  height: 8px;
  background: var(--ghk-green-700);
}

.ghk-notice {
  padding: clamp(24px, 3vw, 34px);
  background: var(--ghk-white);
  border: 1px solid var(--ghk-border);
  border-radius: var(--ghk-radius-md);
  box-shadow: var(--ghk-shadow-sm);
}

.ghk-notice h3 {
  font-size: clamp(1.35rem, 2vw, 1.75rem);
}

.ghk-notice--cancellation {
  border-top: 4px solid var(--ghk-green-600);
}

.ghk-check-times {
  grid-column: 1 / 2;
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
}

.ghk-check-time {
  padding: 16px;
  background: var(--ghk-white);
  border: 1px solid var(--ghk-border);
  border-radius: var(--ghk-radius-sm);
}

/* --------------------------------------------------------------------------
   Pricing
   -------------------------------------------------------------------------- */

.ghk-pricing {
  display: grid !important;
  grid-template-columns: repeat(12, minmax(0, 1fr));
  gap: 18px;
}

.ghk-pricing > .ghk-section-head {
  grid-column: 1 / -1;
}

.ghk-price-card {
  grid-column: span 3;
  min-height: 188px;
  padding: clamp(22px, 2.5vw, 32px);
  background: var(--ghk-white);
  border: 1px solid var(--ghk-border);
  border-radius: var(--ghk-radius-md);
  box-shadow: var(--ghk-shadow-sm);
  transition: transform 180ms ease, box-shadow 180ms ease, border-color 180ms ease;
}

.ghk-price-card:hover {
  border-color: var(--ghk-sage-300);
  box-shadow: var(--ghk-shadow-md);
  transform: translateY(-4px);
}

.ghk-price-card__label {
  color: var(--ghk-muted);
  font-size: 0.9rem;
  font-weight: 700;
}

.ghk-price-card__price {
  margin-top: auto;
  color: var(--ghk-green-900);
  font-family: var(--ghk-font-heading);
  font-size: clamp(2.2rem, 3.4vw, 3.1rem);
  font-weight: 600;
  line-height: 1;
}

.ghk-extra-card {
  grid-column: span 6;
  min-height: 250px;
  padding: clamp(26px, 3vw, 40px);
  overflow: hidden;
  background: var(--ghk-sage-50);
  border: 1px solid var(--ghk-border);
  border-radius: var(--ghk-radius-md);
}

.ghk-extra-card img {
  border-radius: var(--ghk-radius-sm);
}

/* --------------------------------------------------------------------------
   Region, activities and excursion gallery
   -------------------------------------------------------------------------- */

.ghk-region {
  display: grid !important;
  grid-template-columns: minmax(0, 0.95fr) minmax(0, 1.05fr);
  align-items: start;
  gap: clamp(38px, 6vw, 84px);
}

.ghk-region > .ghk-section-head {
  grid-column: 1 / -1;
  margin-bottom: 0;
}

.ghk-activity-grid {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 16px;
}

.ghk-activity-card {
  min-height: 210px;
  padding: clamp(22px, 2.5vw, 30px);
  background: rgba(255, 255, 255, 0.84);
  border: 1px solid rgba(199, 220, 205, 0.85);
  border-radius: var(--ghk-radius-md);
}

.ghk-activity-card .elementor-icon,
.ghk-activity-card .elementor-icon-box-icon {
  color: var(--ghk-green-700);
}

.ghk-activity-card .elementor-icon-box-title {
  font-family: var(--ghk-font-heading);
  font-size: 1.35rem;
}

.ghk-gallery--region .gallery,
.ghk-gallery--region .elementor-image-gallery .gallery {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 14px;
}

.ghk-gallery--region .gallery-item {
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
  padding: 0 !important;
}

.ghk-gallery--region .gallery-item:nth-child(1) {
  grid-row: span 2;
}

.ghk-gallery--region .gallery-item img {
  width: 100%;
  height: 100%;
  min-height: 180px;
  object-fit: cover;
}

.ghk-gallery--region .gallery-item:nth-child(1) img {
  min-height: 374px;
}

.ghk-excursions {
  display: grid !important;
  grid-template-columns: minmax(0, 0.92fr) minmax(0, 1.08fr);
  align-items: center;
  gap: clamp(42px, 7vw, 96px);
}

.ghk-excursions__content {
  max-width: 650px;
}

.ghk-excursions__media {
  overflow: hidden;
  border-radius: var(--ghk-radius-lg);
  box-shadow: var(--ghk-shadow-md);
}

.ghk-excursions__media img {
  display: block;
  width: 100%;
  aspect-ratio: 4 / 3;
  object-fit: cover;
}

/* --------------------------------------------------------------------------
   Service
   -------------------------------------------------------------------------- */

.ghk-service {
  display: grid !important;
  grid-template-columns: repeat(6, minmax(0, 1fr));
  gap: 16px;
}

.ghk-service > .ghk-section-head {
  grid-column: 1 / -1;
}

.ghk-service-card {
  min-height: 180px;
  padding: clamp(20px, 2.2vw, 28px);
  text-align: center;
  background: var(--ghk-white);
  border: 1px solid var(--ghk-border);
  border-radius: var(--ghk-radius-md);
}

.ghk-service-card .elementor-icon,
.ghk-service-card .elementor-icon-box-icon {
  color: var(--ghk-green-700);
}

.ghk-service-card .elementor-icon-box-title {
  font-family: var(--ghk-font-body);
  font-size: 1rem;
  font-weight: 750;
  letter-spacing: 0;
}

/* --------------------------------------------------------------------------
   FAQ
   -------------------------------------------------------------------------- */

.ghk-faq {
  display: grid !important;
  grid-template-columns: minmax(260px, 0.72fr) minmax(0, 1.28fr);
  align-items: start;
  gap: clamp(42px, 7vw, 96px);
}

.ghk-faq__intro {
  position: sticky;
  top: calc(var(--ghk-header-offset) + 28px);
}

.ghk-faq__accordion .elementor-accordion-item,
.ghk-faq__accordion .e-n-accordion-item {
  overflow: hidden;
  margin-bottom: 12px;
  background: var(--ghk-white);
  border: 1px solid var(--ghk-border) !important;
  border-radius: var(--ghk-radius-sm);
}

.ghk-faq__accordion .elementor-tab-title,
.ghk-faq__accordion .e-n-accordion-item-title {
  padding: 21px 24px !important;
  color: var(--ghk-green-950) !important;
  font-size: 1rem;
  font-weight: 750;
  line-height: 1.4;
}

.ghk-faq__accordion .elementor-tab-content,
.ghk-faq__accordion .e-n-accordion-item > div[role="region"] {
  padding: 0 24px 24px !important;
  color: var(--ghk-muted);
  border-top: 0 !important;
}

/* --------------------------------------------------------------------------
   Contact band
   -------------------------------------------------------------------------- */

.ghk-contact {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: center;
  padding-top: clamp(46px, 6vw, 76px);
  padding-bottom: clamp(46px, 6vw, 76px);
  color: var(--ghk-white);
  background: var(--ghk-green-800);
  gap: 28px;
}

.ghk-contact h2,
.ghk-contact h3,
.ghk-contact p,
.ghk-contact a {
  color: var(--ghk-white);
}

.ghk-contact .ghk-button--primary .elementor-button {
  color: var(--ghk-green-950);
  background: var(--ghk-white);
  border-color: var(--ghk-white);
}

.ghk-contact .ghk-button--secondary .elementor-button {
  color: var(--ghk-white);
  border-color: rgba(255, 255, 255, 0.74);
}

/* --------------------------------------------------------------------------
   Mobile fixed CTA
   -------------------------------------------------------------------------- */

.ghk-mobile-cta {
  display: none !important;
}

/* --------------------------------------------------------------------------
   Responsive: tablet
   -------------------------------------------------------------------------- */

@media (max-width: 1024px) {
  :root {
    --ghk-header-offset: 78px;
  }

  .ghk-site-header .ghk-header__nav .wpr-nav-menu-container {
    display: none !important;
  }

  .ghk-site-header .ghk-header__nav .wpr-mobile-nav-menu-container,
  .ghk-site-header .ghk-header__nav .wpr-mobile-toggle-wrap {
    display: block !important;
  }

  .ghk-site-header .ghk-header__nav {
    display: flex;
    justify-content: flex-end;
    align-items: center;
  }

  .ghk-hero,
  .ghk-hero__content,
  .ghk-hero__media {
    min-height: 620px;
  }

  .ghk-hero__content {
    width: min(56%, 560px) !important;
    padding-right: clamp(30px, 4vw, 52px);
  }

  .ghk-hero__media {
    width: clamp(600px, 62vw, 760px) !important;
  }

  .ghk-benefits {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  .ghk-benefit:nth-child(3n) {
    border-right: 0;
  }

  .ghk-benefit:nth-child(n + 4) {
    margin-top: 24px;
  }

  .ghk-rooms {
    grid-template-columns: minmax(220px, 0.82fr) minmax(0, 1.18fr);
  }

  .ghk-rooms > .ghk-notice {
    grid-column: 1 / -1;
  }

  .ghk-check-times {
    grid-column: 1 / 2;
  }

  .ghk-price-card {
    grid-column: span 6;
  }

  .ghk-service {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}

/* --------------------------------------------------------------------------
   Responsive: mobile
   -------------------------------------------------------------------------- */

@media (max-width: 767px) {
  :root {
    --ghk-gutter: 20px;
    --ghk-section-space: 74px;
    --ghk-header-offset: 72px;
  }

  body.ghk-site {
    font-size: 16px;
  }

  body.ghk-has-mobile-cta {
    padding-bottom: var(--ghk-mobile-cta-height);
  }

  body.admin-bar .ghk-site-header {
    top: 46px;
  }

  .ghk-site-header .ghk-header__inner {
    min-height: 72px;
    padding-inline: var(--ghk-gutter);
    gap: 12px;
  }

  .ghk-header__logo img {
    max-width: 190px;
    max-height: 48px;
  }

  .ghk-site-header .ghk-header__nav {
    flex: 0 0 auto;
    margin-left: auto;
  }

  .ghk-hero {
    display: flex !important;
    flex-direction: column !important;
    min-height: 0;
    padding: 0;
    background: var(--ghk-sage-50);
  }

  .ghk-hero::before {
    top: calc(300px + 18px);
    bottom: 22px;
    left: 0;
    width: clamp(96px, 23vw, 118px);
    height: auto;
    background-position: left center;
    background-size: contain;
    opacity: 0.78;
  }

  .ghk-hero::after {
    display: none !important;
    content: none !important;
  }

  .ghk-hero__media {
    position: relative !important;
    inset: auto;
    order: -1;
    width: 100% !important;
    height: auto !important;
    min-height: 300px;
    aspect-ratio: 16 / 10;
    border-radius: 0;
  }

  .ghk-hero__media::before {
    display: none;
  }

  .ghk-hero__content {
    order: 2;
    width: 100% !important;
    min-height: 0;
    max-width: none !important;
    padding: 40px var(--ghk-gutter) 58px max(var(--ghk-gutter), 62px);
  }

  body.ghk-site .ghk-hero__content h1,
  body.ghk-site .ghk-hero__content .elementor-heading-title {
    max-width: 16ch;
    font-size: clamp(2.3rem, 11vw, 3.35rem) !important;
  }

  .ghk-actions {
    display: grid;
    grid-template-columns: 1fr;
  }

  .ghk-actions .elementor-widget-button,
  .ghk-actions .elementor-button-wrapper,
  .ghk-actions .elementor-button {
    width: 100%;
  }

  .ghk-benefits {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    padding-top: 28px;
    padding-bottom: 28px;
  }

  .ghk-benefit,
  .ghk-benefit:nth-child(3n) {
    min-height: 150px;
    padding: 14px 12px;
    border-right: 1px solid var(--ghk-border);
    border-bottom: 1px solid var(--ghk-border);
  }

  .ghk-benefit:nth-child(2n) {
    border-right: 0;
  }

  .ghk-benefit:nth-last-child(-n + 2) {
    border-bottom: 0;
  }

  .ghk-benefit:nth-child(n + 4) {
    margin-top: 0;
  }

  .ghk-intro,
  .ghk-region,
  .ghk-excursions,
  .ghk-faq,
  .ghk-contact {
    grid-template-columns: 1fr;
  }

  .ghk-intro__media,
  .ghk-excursions__media {
    border-radius: 20px;
  }

  .ghk-rooms {
    grid-template-columns: 1fr;
    gap: 28px;
  }

  .ghk-rooms > .ghk-section-head,
  .ghk-rooms > .ghk-notice,
  .ghk-check-times {
    grid-column: 1;
  }

  .ghk-check-times {
    grid-template-columns: 1fr 1fr;
  }

  .ghk-gallery .swiper-slide img {
    aspect-ratio: 4 / 3;
  }

  .ghk-pricing {
    grid-template-columns: 1fr 1fr;
  }

  .ghk-pricing > .ghk-section-head,
  .ghk-extra-card {
    grid-column: 1 / -1;
  }

  .ghk-price-card {
    grid-column: span 1;
    min-height: 156px;
  }

  .ghk-activity-grid,
  .ghk-gallery--region .gallery,
  .ghk-gallery--region .elementor-image-gallery .gallery {
    grid-template-columns: 1fr;
  }

  .ghk-activity-card {
    min-height: auto;
  }

  .ghk-gallery--region .gallery-item:nth-child(1) {
    grid-row: auto;
  }

  .ghk-gallery--region .gallery-item img,
  .ghk-gallery--region .gallery-item:nth-child(1) img {
    min-height: 230px;
    aspect-ratio: 4 / 3;
  }

  .ghk-service {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .ghk-service > .ghk-section-head {
    grid-column: 1 / -1;
  }

  .ghk-service-card {
    min-height: 170px;
  }

  .ghk-faq__intro {
    position: static;
  }

  .ghk-contact {
    text-align: left;
  }

  .ghk-contact .ghk-actions {
    width: 100%;
  }

  .ghk-mobile-cta {
    position: fixed !important;
    right: 0;
    bottom: 0;
    left: 0;
    z-index: 9998;
    display: grid !important;
    grid-template-columns: 1.35fr 0.65fr;
    gap: 10px;
    padding: 10px 12px calc(10px + env(safe-area-inset-bottom));
    background: rgba(255, 255, 255, 0.97);
    border-top: 1px solid var(--ghk-border);
    box-shadow: 0 -12px 34px rgba(16, 47, 37, 0.14);
    backdrop-filter: blur(14px);
  }

  .ghk-mobile-cta .elementor-widget-button,
  .ghk-mobile-cta .elementor-button-wrapper,
  .ghk-mobile-cta .elementor-button {
    width: 100%;
  }

  .ghk-mobile-cta .elementor-button {
    min-height: 50px;
    padding-inline: 14px;
    font-size: 0.9rem;
  }

  .ghk-mobile-cta__call .elementor-button {
    color: var(--ghk-green-900);
    background: var(--ghk-white);
    border-color: var(--ghk-green-700);
  }

  .elementor-editor-active .ghk-mobile-cta {
    position: static !important;
  }
}

@media (max-width: 420px) {
  .ghk-pricing {
    grid-template-columns: 1fr;
  }

  .ghk-price-card {
    grid-column: 1;
  }

  .ghk-service {
    grid-template-columns: 1fr;
  }

  .ghk-check-times {
    grid-template-columns: 1fr;
  }
}

@media (prefers-reduced-motion: reduce) {
  html {
    scroll-behavior: auto;
  }

  *,
  *::before,
  *::after {
    scroll-behavior: auto !important;
    transition-duration: 0.01ms !important;
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
  }
}


/* --------------------------------------------------------------------------
   Elementor 4.2 import compatibility

   Elementor 4.2 can preserve the imported container structure while omitting
   legacy custom classes from container markup. The PHP and JavaScript repair
   layers restore the intended classes. These selectors provide an additional
   no-flash fallback based on the stable OnePager anchor IDs.
   -------------------------------------------------------------------------- */

body.ghk-site .elementor[data-elementor-type="wp-page"] {
  width: 100%;
}

body.ghk-site .elementor[data-elementor-type="wp-page"] > .e-con {
  width: 100%;
  overflow: clip;
}

body.ghk-site #start {
  position: relative;
  display: block !important;
  min-height: 680px;
  padding-top: 0;
  padding-right: max(var(--ghk-gutter), calc((100vw - var(--ghk-content)) / 2));
  padding-bottom: 0;
  padding-left: max(var(--ghk-gutter), calc((100vw - var(--ghk-content)) / 2));
  overflow: hidden;
  isolation: isolate;
}

body.ghk-site #start > .e-con:first-child {
  position: relative;
  z-index: 3;
  width: min(52%, 650px) !important;
  min-height: 680px;
  max-width: 650px !important;
}

body.ghk-site #start > .elementor-widget-image {
  position: absolute !important;
  inset: 0 0 0 auto;
  z-index: 1;
  width: clamp(620px, 58vw, 1040px) !important;
  max-width: none !important;
  min-height: 680px;
  height: 100% !important;
}

body.ghk-site #start + .e-con:has(> .ghk-benefit) {
  width: 100%;
  padding-right: max(var(--ghk-gutter), calc((100vw - var(--ghk-content)) / 2));
  padding-left: max(var(--ghk-gutter), calc((100vw - var(--ghk-content)) / 2));
}

body.ghk-site :is(#ueber-uns, #zimmer, #preise, #umgebung, #ausflugsziele, #service, #faq) {
  width: 100%;
  padding-top: var(--ghk-section-space);
  padding-right: max(var(--ghk-gutter), calc((100vw - var(--ghk-content)) / 2));
  padding-bottom: var(--ghk-section-space);
  padding-left: max(var(--ghk-gutter), calc((100vw - var(--ghk-content)) / 2));
}

body.ghk-site #kontakt {
  width: 100%;
  padding-right: max(var(--ghk-gutter), calc((100vw - var(--ghk-content)) / 2));
  padding-left: max(var(--ghk-gutter), calc((100vw - var(--ghk-content)) / 2));
}

body.ghk-site .ghk-header__inner:has(> .ghk-button:only-child) {
  justify-content: flex-end;
}

@media (max-width: 767px) {
  body.ghk-site #start {
    display: flex !important;
    flex-direction: column !important;
    min-height: auto;
    padding: 0;
  }

  body.ghk-site #start > .elementor-widget-image {
    position: relative !important;
    inset: auto;
    order: -1;
    width: 100% !important;
    min-height: 300px;
    height: auto !important;
  }

  body.ghk-site #start > .e-con:first-child {
    order: 2;
    width: 100% !important;
    min-height: 0;
    max-width: none !important;
  }
}

/* --------------------------------------------------------------------------
   Version 1.4.0 – sticky header, wide benefits and integrated room section
   -------------------------------------------------------------------------- */

:root {
  --ghk-header-height: 82px;
}

/* A Royal Addons header lives inside a template wrapper whose own height ends
   directly after the header. `position: sticky` is therefore constrained by
   that wrapper. Fixed positioning plus a measured body offset is reliable. */
body.ghk-site:not(.elementor-editor-active) .ghk-site-header {
  position: fixed !important;
  top: 0;
  right: 0;
  left: 0;
  width: 100%;
}

body.admin-bar.ghk-site:not(.elementor-editor-active) .ghk-site-header {
  top: 32px;
}

body.ghk-site.ghk-has-sticky-header:not(.elementor-editor-active) {
  padding-top: var(--ghk-header-height);
}

.elementor-editor-active .ghk-site-header {
  position: relative !important;
  top: auto !important;
}

/* Benefits: use the full viewport width and put copy next to the icon. */
body.ghk-site .ghk-benefits.ghk-shell {
  width: 100% !important;
  max-width: none !important;
  padding: 0 clamp(24px, 3vw, 58px) !important;
}

body.ghk-site .ghk-benefit {
  display: flex;
  align-items: stretch;
  min-height: 150px;
  padding: 30px clamp(18px, 1.6vw, 30px);
  text-align: left;
}

body.ghk-site .ghk-benefit .elementor-widget-container,
body.ghk-site .ghk-benefit .elementor-icon-box-wrapper {
  width: 100%;
}

body.ghk-site .ghk-benefit .elementor-icon-box-wrapper {
  display: flex !important;
  flex-direction: row !important;
  align-items: center !important;
  gap: 16px;
  text-align: left !important;
}

body.ghk-site .ghk-benefit .elementor-icon-box-icon {
  flex: 0 0 42px;
  width: 42px;
  margin: 0 !important;
}

body.ghk-site .ghk-benefit .elementor-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 42px;
  height: 42px;
  font-size: 34px;
}

body.ghk-site .ghk-benefit .elementor-icon svg {
  width: 34px;
  height: 34px;
}

body.ghk-site .ghk-benefit .elementor-icon-box-content {
  min-width: 0;
}

body.ghk-site .ghk-benefit .elementor-icon-box-title {
  margin: 0 !important;
  color: var(--ghk-green-950) !important;
  font-size: clamp(0.88rem, 0.9vw, 1rem) !important;
  font-weight: 750 !important;
  line-height: 1.3 !important;
  text-align: left !important;
  text-wrap: pretty;
}

body.ghk-site .ghk-benefit .elementor-icon-box-description {
  margin-top: 5px;
  text-align: left !important;
}

/* The imported content currently places the room overview in #ueber-uns.
   JavaScript moves that content into #zimmer on the frontend. */
body.ghk-site .ghk-intro--merged {
  display: none !important;
}

body.ghk-site .ghk-is-empty {
  display: none !important;
}

body.ghk-site .ghk-rooms--merged {
  grid-template-columns: minmax(260px, 0.92fr) minmax(460px, 1.72fr) minmax(260px, 0.9fr) !important;
  grid-template-rows: auto auto;
  align-items: stretch;
  gap: 22px 30px;
  padding-top: clamp(62px, 5.5vw, 92px) !important;
  padding-bottom: clamp(62px, 5.5vw, 92px) !important;
}

body.ghk-site .ghk-rooms--merged > .ghk-room-overview {
  grid-column: 1;
  grid-row: 1;
  align-self: stretch;
  display: flex !important;
  flex-direction: column;
  justify-content: flex-start;
  width: 100%;
  max-width: none;
  padding: 4px 0 0;
}

body.ghk-site .ghk-room-overview h2,
body.ghk-site .ghk-room-overview .elementor-heading-title {
  max-width: 15ch;
  margin-bottom: 14px;
  font-family: var(--ghk-font-heading) !important;
  font-size: clamp(1.8rem, 2.2vw, 2.45rem) !important;
  font-weight: 600 !important;
  line-height: 1.12 !important;
}

body.ghk-site .ghk-room-overview > .elementor-widget-text-editor:not(.ghk-check-list) {
  color: var(--ghk-muted);
  font-size: 0.93rem;
}

body.ghk-site .ghk-room-overview .ghk-check-list ul {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 8px 18px;
  margin-top: 8px;
}

body.ghk-site .ghk-room-overview .ghk-check-list li {
  padding-left: 20px;
  font-size: 0.88rem;
  line-height: 1.42;
}

body.ghk-site .ghk-rooms--merged > .ghk-gallery--rooms {
  grid-column: 2;
  grid-row: 1 / span 2;
  align-self: start;
  min-width: 0;
}

body.ghk-site .ghk-rooms--merged > .ghk-notice--cancellation {
  grid-column: 3;
  grid-row: 1 / span 2;
  align-self: start;
  min-height: 100%;
  padding: clamp(24px, 2vw, 32px);
}

body.ghk-site .ghk-rooms--merged > .ghk-check-times {
  grid-column: 1;
  grid-row: 2;
  align-self: end;
  margin-top: 0;
}

body.ghk-site .ghk-gallery--rooms .elementor-image-carousel-wrapper,
body.ghk-site .ghk-gallery--rooms .swiper {
  overflow: hidden;
  border-radius: 14px;
  background: var(--ghk-sage-100);
  box-shadow: var(--ghk-shadow-sm);
}

body.ghk-site .ghk-gallery--rooms .swiper-slide img {
  aspect-ratio: 16 / 9;
  border-radius: 14px;
}

body.ghk-site .ghk-gallery--rooms .swiper-pagination {
  display: none;
}

body.ghk-site .ghk-room-thumbs {
  display: grid;
  grid-auto-flow: column;
  grid-auto-columns: minmax(82px, 1fr);
  gap: 8px;
  margin-top: 10px;
  padding: 0 2px 4px;
  overflow-x: auto;
  overscroll-behavior-inline: contain;
  scrollbar-width: thin;
}

body.ghk-site .ghk-room-thumb {
  display: block;
  width: 100%;
  padding: 0;
  overflow: hidden;
  cursor: pointer;
  background: var(--ghk-sage-100);
  border: 2px solid transparent;
  border-radius: 8px;
  opacity: 0.72;
  transition: opacity 160ms ease, border-color 160ms ease, transform 160ms ease;
}

body.ghk-site .ghk-room-thumb:hover,
body.ghk-site .ghk-room-thumb.is-active {
  border-color: var(--ghk-green-600);
  opacity: 1;
}

body.ghk-site .ghk-room-thumb:hover {
  transform: translateY(-1px);
}

body.ghk-site .ghk-room-thumb img {
  display: block;
  width: 100%;
  aspect-ratio: 16 / 10;
  object-fit: cover;
}

body.ghk-site .ghk-notice__title {
  margin-bottom: 20px;
  color: var(--ghk-green-950);
  font-size: 1.25rem;
}

body.ghk-site .ghk-notice--cancellation > .elementor-widget-icon-box + .elementor-widget-icon-box {
  margin-top: 18px;
  padding-top: 18px;
  border-top: 1px solid var(--ghk-border);
}

body.ghk-site .ghk-notice--cancellation .elementor-icon-box-wrapper {
  display: grid !important;
  grid-template-columns: 30px minmax(0, 1fr);
  align-items: start;
  gap: 12px;
  text-align: left !important;
}

body.ghk-site .ghk-notice--cancellation .elementor-icon-box-icon {
  margin: 1px 0 0 !important;
}

body.ghk-site .ghk-notice--cancellation .elementor-icon {
  font-size: 22px;
}

body.ghk-site .ghk-notice--cancellation .elementor-icon svg {
  width: 22px;
  height: 22px;
}

body.ghk-site .ghk-notice--cancellation .elementor-icon-box-description {
  color: var(--ghk-ink);
  font-size: 0.9rem;
  line-height: 1.55;
  text-align: left;
}

body.ghk-site .ghk-check-time {
  padding: 14px 12px;
}

body.ghk-site .ghk-check-time .elementor-icon-box-wrapper {
  display: grid !important;
  grid-template-columns: 28px minmax(0, 1fr);
  align-items: center;
  gap: 9px;
  text-align: left !important;
}

body.ghk-site .ghk-check-time .elementor-icon-box-icon {
  margin: 0 !important;
}

body.ghk-site .ghk-check-time .elementor-icon {
  font-size: 23px;
}

body.ghk-site .ghk-check-time .elementor-icon svg {
  width: 23px;
  height: 23px;
}

body.ghk-site .ghk-check-time .elementor-icon-box-title {
  margin: 0 0 2px !important;
  font-family: var(--ghk-font-body) !important;
  font-size: 0.82rem !important;
  font-weight: 750 !important;
  line-height: 1.2 !important;
}

body.ghk-site .ghk-check-time .elementor-icon-box-description {
  font-size: 0.78rem;
  line-height: 1.3;
}

@media (max-width: 1180px) {
  body.ghk-site .ghk-benefits {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  body.ghk-site .ghk-benefit:nth-child(3n) {
    border-right: 0;
  }

  body.ghk-site .ghk-benefit:nth-child(n + 4) {
    margin-top: 0;
    border-top: 1px solid var(--ghk-border);
  }

  body.ghk-site .ghk-rooms--merged {
    grid-template-columns: minmax(230px, 0.88fr) minmax(390px, 1.5fr);
  }

  body.ghk-site .ghk-rooms--merged > .ghk-room-overview {
    grid-column: 1;
    grid-row: 1;
  }

  body.ghk-site .ghk-rooms--merged > .ghk-gallery--rooms {
    grid-column: 2;
    grid-row: 1;
  }

  body.ghk-site .ghk-rooms--merged > .ghk-check-times {
    grid-column: 1;
    grid-row: 2;
  }

  body.ghk-site .ghk-rooms--merged > .ghk-notice--cancellation {
    grid-column: 2;
    grid-row: 2;
    min-height: 0;
  }
}

@media (max-width: 767px) {
  :root {
    --ghk-header-height: 72px;
  }

  body.admin-bar.ghk-site:not(.elementor-editor-active) .ghk-site-header {
    top: 46px;
  }

  body.ghk-site .ghk-benefits {
    grid-template-columns: 1fr;
    padding-inline: var(--ghk-gutter) !important;
  }

  body.ghk-site .ghk-benefit,
  body.ghk-site .ghk-benefit:nth-child(2n),
  body.ghk-site .ghk-benefit:nth-child(3n) {
    min-height: 0;
    padding: 18px 4px;
    border-right: 0;
    border-bottom: 1px solid var(--ghk-border);
    border-top: 0;
  }

  body.ghk-site .ghk-benefit:last-child {
    border-bottom: 0;
  }

  body.ghk-site .ghk-benefit .elementor-icon-box-wrapper {
    gap: 14px;
  }

  body.ghk-site .ghk-rooms--merged {
    grid-template-columns: 1fr !important;
    grid-template-rows: auto;
    gap: 28px;
  }

  body.ghk-site .ghk-rooms--merged > .ghk-room-overview,
  body.ghk-site .ghk-rooms--merged > .ghk-gallery--rooms,
  body.ghk-site .ghk-rooms--merged > .ghk-notice--cancellation,
  body.ghk-site .ghk-rooms--merged > .ghk-check-times {
    grid-column: 1;
    grid-row: auto;
  }

  body.ghk-site .ghk-room-overview .ghk-check-list ul {
    grid-template-columns: 1fr;
  }

  body.ghk-site .ghk-room-overview h2,
  body.ghk-site .ghk-room-overview .elementor-heading-title {
    max-width: none;
    font-size: clamp(1.8rem, 8vw, 2.4rem) !important;
  }

  body.ghk-site .ghk-gallery--rooms .swiper-pagination {
    display: block;
  }

  body.ghk-site .ghk-room-thumbs {
    display: none;
  }

  body.ghk-site .ghk-rooms--merged > .ghk-notice--cancellation {
    min-height: 0;
  }

  body.ghk-site .ghk-check-times {
    grid-template-columns: 1fr 1fr;
  }
}

@media (max-width: 420px) {
  body.ghk-site .ghk-check-times {
    grid-template-columns: 1fr;
  }
}

/* --------------------------------------------------------------------------
   Version 1.5.0 – Zimmerbereich: ruhige, kompakte Drei-Spalten-Komposition
   -------------------------------------------------------------------------- */

@media (min-width: 1181px) {
  body.ghk-site .ghk-rooms--merged {
    grid-template-columns: minmax(310px, 1.08fr) minmax(510px, 1.82fr) minmax(270px, 0.94fr) !important;
    grid-template-rows: auto !important;
    align-items: start !important;
    gap: 28px !important;
  }

  body.ghk-site .ghk-rooms--merged > .ghk-room-overview {
    grid-column: 1 !important;
    grid-row: 1 !important;
  }

  body.ghk-site .ghk-rooms--merged > .ghk-gallery--rooms {
    grid-column: 2 !important;
    grid-row: 1 !important;
  }

  body.ghk-site .ghk-rooms--merged > .ghk-notice--cancellation {
    grid-column: 3 !important;
    grid-row: 1 !important;
  }
}

body.ghk-site .ghk-rooms--merged {
  align-content: start;
}

body.ghk-site .ghk-room-overview {
  align-self: start !important;
  justify-content: flex-start !important;
  gap: 0;
  padding-top: 0 !important;
}

body.ghk-site .ghk-room-overview h2,
body.ghk-site .ghk-room-overview .elementor-heading-title {
  max-width: 18ch !important;
  margin: 0 0 18px !important;
  font-size: clamp(1.95rem, 2.05vw, 2.35rem) !important;
  line-height: 1.08 !important;
  text-wrap: balance;
}

body.ghk-site .ghk-room-overview > .elementor-widget-text-editor:not(.ghk-check-list) {
  margin-bottom: 8px;
  font-size: 0.92rem;
}

body.ghk-site .ghk-room-overview .ghk-check-list {
  margin-bottom: 22px;
}

body.ghk-site .ghk-room-overview .ghk-check-list ul {
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 8px 20px !important;
  margin: 6px 0 0 !important;
}

body.ghk-site .ghk-room-overview .ghk-check-list li {
  padding-left: 20px;
  font-size: 0.86rem;
  line-height: 1.38;
}

body.ghk-site .ghk-room-overview > .ghk-check-times,
body.ghk-site .ghk-check-times--in-overview {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
  width: 100%;
  margin: 0 !important;
}

body.ghk-site .ghk-room-overview .ghk-check-time {
  min-width: 0;
  min-height: 68px;
  padding: 12px 13px;
  border-radius: 10px;
  box-shadow: none;
}

body.ghk-site .ghk-room-overview .ghk-check-time .elementor-icon-box-wrapper {
  grid-template-columns: 26px minmax(0, 1fr) !important;
  gap: 8px !important;
}

body.ghk-site .ghk-room-overview .ghk-check-time .elementor-icon,
body.ghk-site .ghk-room-overview .ghk-check-time .elementor-icon svg {
  width: 21px;
  height: 21px;
  font-size: 21px;
}

body.ghk-site .ghk-room-overview .ghk-check-time .elementor-icon-box-title {
  font-size: 0.8rem !important;
}

body.ghk-site .ghk-room-overview .ghk-check-time .elementor-icon-box-description {
  font-size: 0.74rem;
}

body.ghk-site .ghk-gallery--rooms {
  align-self: start !important;
}

body.ghk-site .ghk-gallery--rooms .elementor-image-carousel-wrapper,
body.ghk-site .ghk-gallery--rooms .swiper {
  border-radius: 16px;
}

body.ghk-site .ghk-gallery--rooms .swiper-slide img {
  aspect-ratio: 16 / 9;
  border-radius: 16px;
}

body.ghk-site .ghk-room-thumbs {
  grid-auto-columns: 76px;
  gap: 8px;
  margin-top: 12px;
  padding: 0;
  scrollbar-width: none;
  -ms-overflow-style: none;
}

body.ghk-site .ghk-room-thumbs::-webkit-scrollbar {
  display: none;
}

body.ghk-site .ghk-room-thumb {
  border-radius: 7px;
}

body.ghk-site .ghk-room-thumb img {
  aspect-ratio: 4 / 3;
}

body.ghk-site .ghk-rooms--merged > .ghk-notice--cancellation {
  align-self: start !important;
  min-height: 0 !important;
  height: auto !important;
  padding: 26px 26px 28px !important;
  border-radius: 16px;
}

body.ghk-site .ghk-notice__title {
  margin: 0 0 22px !important;
  font-size: clamp(1.15rem, 1.35vw, 1.35rem) !important;
  line-height: 1.2;
}

body.ghk-site .ghk-notice--cancellation > .elementor-widget-icon-box + .elementor-widget-icon-box {
  margin-top: 20px;
  padding-top: 20px;
}

body.ghk-site .ghk-notice--cancellation .elementor-icon-box-wrapper {
  grid-template-columns: 24px minmax(0, 1fr) !important;
  gap: 12px !important;
}

body.ghk-site .ghk-notice--cancellation .elementor-icon,
body.ghk-site .ghk-notice--cancellation .elementor-icon svg {
  width: 20px;
  height: 20px;
  font-size: 20px;
}

body.ghk-site .ghk-notice--cancellation .elementor-icon-box-description {
  font-size: 0.86rem;
  line-height: 1.55;
}

@media (max-width: 1180px) and (min-width: 768px) {
  body.ghk-site .ghk-rooms--merged {
    grid-template-columns: minmax(270px, 0.95fr) minmax(430px, 1.55fr) !important;
    grid-template-rows: auto auto !important;
    align-items: start !important;
    gap: 28px !important;
  }

  body.ghk-site .ghk-rooms--merged > .ghk-room-overview {
    grid-column: 1 !important;
    grid-row: 1 / span 2 !important;
  }

  body.ghk-site .ghk-rooms--merged > .ghk-gallery--rooms {
    grid-column: 2 !important;
    grid-row: 1 !important;
  }

  body.ghk-site .ghk-rooms--merged > .ghk-notice--cancellation {
    grid-column: 2 !important;
    grid-row: 2 !important;
    min-height: 0 !important;
  }

  body.ghk-site .ghk-room-overview h2,
  body.ghk-site .ghk-room-overview .elementor-heading-title {
    font-size: clamp(1.75rem, 3.2vw, 2.15rem) !important;
  }

  body.ghk-site .ghk-room-overview .ghk-check-list ul {
    grid-template-columns: 1fr !important;
  }
}

@media (max-width: 767px) {
  body.ghk-site .ghk-room-overview h2,
  body.ghk-site .ghk-room-overview .elementor-heading-title {
    max-width: 18ch !important;
    margin-bottom: 16px !important;
    font-size: clamp(1.85rem, 8.4vw, 2.4rem) !important;
  }

  body.ghk-site .ghk-room-overview .ghk-check-list {
    margin-bottom: 18px;
  }

  body.ghk-site .ghk-room-overview > .ghk-check-times,
  body.ghk-site .ghk-check-times--in-overview {
    grid-template-columns: 1fr 1fr;
  }

  body.ghk-site .ghk-rooms--merged > .ghk-notice--cancellation {
    padding: 24px !important;
  }
}

@media (max-width: 440px) {
  body.ghk-site .ghk-room-overview > .ghk-check-times,
  body.ghk-site .ghk-check-times--in-overview {
    grid-template-columns: 1fr;
  }
}


/* --------------------------------------------------------------------------
   Version 1.6.0 – content sections, compact CTA and Royal footer
   -------------------------------------------------------------------------- */

/* Imported placeholder containers must never create visible empty space. */
body.ghk-site .ghk-is-empty,
body.ghk-site .ghk-section--empty {
  display: none !important;
}

/* Prices: a calm four-card row with two spacious additional-service cards. */
body.ghk-site .ghk-pricing {
  display: grid !important;
  grid-template-columns: repeat(12, minmax(0, 1fr)) !important;
  align-items: stretch !important;
  gap: 20px !important;
  background: var(--ghk-white);
}

body.ghk-site .ghk-pricing > .ghk-section-head {
  grid-column: 1 / -1 !important;
  width: min(100%, 780px);
  margin: 0 0 clamp(18px, 2vw, 30px) !important;
}

body.ghk-site .ghk-price-card {
  grid-column: span 3 !important;
  display: flex !important;
  flex-direction: column !important;
  justify-content: space-between !important;
  min-width: 0;
  min-height: 170px !important;
  padding: clamp(24px, 2.2vw, 32px) !important;
  background: var(--ghk-white) !important;
  border: 1px solid var(--ghk-border) !important;
  border-top: 4px solid var(--ghk-green-600) !important;
  border-radius: 16px !important;
  box-shadow: 0 14px 38px rgba(16, 47, 37, 0.07) !important;
}

body.ghk-site .ghk-price-card .elementor-widget-heading,
body.ghk-site .ghk-price-card .elementor-widget-text-editor {
  margin: 0 !important;
}

body.ghk-site .ghk-price-card__label,
body.ghk-site .ghk-price-card__label .elementor-heading-title {
  color: var(--ghk-muted) !important;
  font-family: var(--ghk-font-body) !important;
  font-size: 0.92rem !important;
  font-weight: 750 !important;
  line-height: 1.35 !important;
  letter-spacing: 0 !important;
}

body.ghk-site .ghk-price-card__price,
body.ghk-site .ghk-price-card__price .elementor-heading-title {
  margin-top: 24px !important;
  color: var(--ghk-green-950) !important;
  font-family: var(--ghk-font-heading) !important;
  font-size: clamp(2.25rem, 3vw, 3.15rem) !important;
  font-weight: 600 !important;
  line-height: 1 !important;
}

body.ghk-site .ghk-extra-card {
  grid-column: span 6 !important;
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) minmax(150px, 0.42fr);
  align-items: center !important;
  gap: clamp(24px, 3vw, 42px) !important;
  min-height: 230px !important;
  padding: clamp(28px, 3vw, 42px) !important;
  background: var(--ghk-sage-50) !important;
  border: 1px solid var(--ghk-border) !important;
  border-radius: 18px !important;
  box-shadow: none !important;
}

body.ghk-site .ghk-extra-card > .elementor-widget-image {
  grid-column: 2;
  grid-row: 1 / span 4;
}

body.ghk-site .ghk-extra-card img {
  width: 100%;
  aspect-ratio: 4 / 3;
  object-fit: cover;
  border-radius: 12px;
}

/* Umgebung und Freizeit: four readable activity items followed by a broad gallery. */
body.ghk-site .ghk-region {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) !important;
  align-items: start !important;
  gap: clamp(30px, 4vw, 54px) !important;
}

body.ghk-site .ghk-region > .ghk-section-head {
  grid-column: 1 !important;
  width: min(100%, 820px);
  margin: 0 !important;
}

body.ghk-site .ghk-activity-grid {
  display: grid !important;
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  gap: 16px !important;
}

body.ghk-site .ghk-activity-card {
  display: flex !important;
  min-width: 0;
  min-height: 0 !important;
  padding: clamp(22px, 2vw, 28px) !important;
  text-align: left !important;
  background: rgba(255, 255, 255, 0.9) !important;
  border: 1px solid rgba(199, 220, 205, 0.95) !important;
  border-radius: 15px !important;
  box-shadow: 0 12px 32px rgba(16, 47, 37, 0.055);
}

body.ghk-site .ghk-activity-card .elementor-widget-container,
body.ghk-site .ghk-activity-card .elementor-icon-box-wrapper {
  width: 100%;
}

body.ghk-site .ghk-activity-card .elementor-icon-box-wrapper {
  display: flex !important;
  flex-direction: row !important;
  align-items: flex-start !important;
  gap: 15px !important;
  text-align: left !important;
}

body.ghk-site .ghk-activity-card .elementor-icon-box-icon {
  flex: 0 0 38px;
  width: 38px;
  margin: 1px 0 0 !important;
}

body.ghk-site .ghk-activity-card .elementor-icon,
body.ghk-site .ghk-activity-card .elementor-icon svg {
  width: 32px;
  height: 32px;
  font-size: 32px;
}

body.ghk-site .ghk-activity-card .elementor-icon-box-title {
  margin: 0 0 7px !important;
  color: var(--ghk-green-950) !important;
  font-family: var(--ghk-font-body) !important;
  font-size: 1rem !important;
  font-weight: 780 !important;
  line-height: 1.3 !important;
  letter-spacing: 0 !important;
}

body.ghk-site .ghk-activity-card .elementor-icon-box-description {
  color: var(--ghk-muted) !important;
  font-size: 0.86rem !important;
  line-height: 1.52 !important;
  text-align: left !important;
}

body.ghk-site .ghk-gallery--region {
  width: 100%;
  min-width: 0;
}

body.ghk-site .ghk-gallery--region .gallery,
body.ghk-site .ghk-gallery--region .elementor-image-gallery .gallery {
  display: grid !important;
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  gap: 14px !important;
}

body.ghk-site .ghk-gallery--region .gallery-item,
body.ghk-site .ghk-gallery--region .gallery-item:nth-child(1) {
  grid-column: auto !important;
  grid-row: auto !important;
}

body.ghk-site .ghk-gallery--region .gallery-item img,
body.ghk-site .ghk-gallery--region .gallery-item:nth-child(1) img {
  display: block;
  width: 100% !important;
  min-height: 0 !important;
  aspect-ratio: 4 / 3;
  object-fit: cover !important;
  border-radius: 13px;
}

/* Veranstaltungen und Ausflugsziele: generous editorial split layout. */
body.ghk-site .ghk-excursions {
  display: grid !important;
  grid-template-columns: minmax(0, 0.92fr) minmax(420px, 1.08fr) !important;
  align-items: center !important;
  gap: clamp(42px, 7vw, 96px) !important;
}

body.ghk-site .ghk-excursions__content {
  width: 100%;
  max-width: 680px !important;
  padding: clamp(28px, 3.5vw, 48px) !important;
  background: var(--ghk-sage-50);
  border: 1px solid var(--ghk-border);
  border-radius: 18px;
}

body.ghk-site .ghk-excursions__content h2 {
  font-size: clamp(2rem, 3vw, 3.1rem) !important;
}

body.ghk-site .ghk-excursions__content ul {
  gap: 8px !important;
}

body.ghk-site .ghk-excursions__media {
  width: 100%;
  overflow: hidden;
  border-radius: 22px !important;
  box-shadow: var(--ghk-shadow-md) !important;
}

body.ghk-site .ghk-excursions__media img {
  display: block;
  width: 100% !important;
  aspect-ratio: 16 / 10 !important;
  object-fit: cover !important;
}

body.ghk-site .ghk-excursions:not(:has(> .ghk-excursions__media img)) {
  grid-template-columns: minmax(0, 1fr) !important;
}

body.ghk-site .ghk-excursions:not(:has(> .ghk-excursions__media img)) > .ghk-excursions__content {
  max-width: 900px !important;
  margin-inline: auto;
}

/* Service repeats the visual language of the hero benefit strip. */
body.ghk-site .ghk-service.ghk-shell {
  display: grid !important;
  grid-template-columns: repeat(6, minmax(0, 1fr)) !important;
  gap: 0 !important;
  width: 100% !important;
  max-width: none !important;
  padding-right: clamp(24px, 3vw, 58px) !important;
  padding-left: clamp(24px, 3vw, 58px) !important;
  background: var(--ghk-white);
}

body.ghk-site .ghk-service > .ghk-section-head {
  grid-column: 1 / -1 !important;
  width: min(100%, 780px);
  margin: 0 auto clamp(34px, 4vw, 54px) !important;
}

body.ghk-site .ghk-service-card {
  display: flex !important;
  align-items: stretch !important;
  min-width: 0;
  min-height: 132px !important;
  padding: 24px clamp(16px, 1.5vw, 26px) !important;
  text-align: left !important;
  background: transparent !important;
  border: 0 !important;
  border-right: 1px solid var(--ghk-border) !important;
  border-radius: 0 !important;
  box-shadow: none !important;
}

body.ghk-site .ghk-service-card:last-child {
  border-right: 0 !important;
}

body.ghk-site .ghk-service-card .elementor-widget-container,
body.ghk-site .ghk-service-card .elementor-icon-box-wrapper {
  width: 100%;
}

body.ghk-site .ghk-service-card .elementor-icon-box-wrapper {
  display: flex !important;
  flex-direction: row !important;
  align-items: center !important;
  gap: 14px !important;
  text-align: left !important;
}

body.ghk-site .ghk-service-card .elementor-icon-box-icon {
  flex: 0 0 38px;
  width: 38px;
  margin: 0 !important;
}

body.ghk-site .ghk-service-card .elementor-icon,
body.ghk-site .ghk-service-card .elementor-icon svg {
  width: 32px;
  height: 32px;
  font-size: 32px;
}

body.ghk-site .ghk-service-card .elementor-icon-box-title {
  margin: 0 !important;
  color: var(--ghk-green-950) !important;
  font-family: var(--ghk-font-body) !important;
  font-size: clamp(0.86rem, 0.88vw, 0.98rem) !important;
  font-weight: 760 !important;
  line-height: 1.32 !important;
  text-align: left !important;
  letter-spacing: 0 !important;
}

body.ghk-site .ghk-service-card .elementor-icon-box-description {
  margin-top: 5px;
  color: var(--ghk-muted) !important;
  font-size: 0.8rem !important;
  line-height: 1.45 !important;
  text-align: left !important;
}

/* Desktop contact CTA: compact band instead of a full-height empty container. */
body.ghk-site .ghk-contact {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) auto !important;
  align-items: center !important;
  width: 100% !important;
  min-height: 0 !important;
  height: auto !important;
  padding-top: clamp(30px, 3.4vw, 46px) !important;
  padding-bottom: clamp(30px, 3.4vw, 46px) !important;
  gap: 28px !important;
  background: var(--ghk-green-800) !important;
}

body.ghk-site .ghk-contact > .e-con {
  min-height: 0 !important;
  height: auto !important;
  flex: 0 1 auto !important;
  align-self: center !important;
}

body.ghk-site .ghk-contact > .ghk-contact__content {
  display: flex !important;
  flex-direction: column !important;
  justify-content: center !important;
  gap: 4px;
}

body.ghk-site .ghk-contact .ghk-actions {
  display: flex !important;
  flex-direction: row !important;
  flex-wrap: wrap !important;
  justify-content: flex-end !important;
  align-items: center !important;
  width: auto !important;
  margin: 0 !important;
  gap: 12px !important;
}

body.ghk-site .ghk-contact.ghk-contact--actions-only {
  display: flex !important;
  justify-content: center !important;
  padding-top: 26px !important;
  padding-bottom: 26px !important;
}

body.ghk-site .ghk-contact.ghk-contact--actions-only .ghk-actions {
  justify-content: center !important;
}

body.ghk-site .ghk-contact .ghk-button--primary .elementor-button {
  color: var(--ghk-green-950) !important;
  background: var(--ghk-white) !important;
  border-color: var(--ghk-white) !important;
  box-shadow: none !important;
}

body.ghk-site .ghk-contact .ghk-button--primary .elementor-button:hover {
  color: var(--ghk-green-950) !important;
  background: var(--ghk-sage-100) !important;
  border-color: var(--ghk-sage-100) !important;
}

body.ghk-site .ghk-contact .ghk-button--secondary .elementor-button {
  color: var(--ghk-white) !important;
  background: transparent !important;
  border-color: rgba(255, 255, 255, 0.72) !important;
}

body.ghk-site .ghk-contact .ghk-button--secondary .elementor-button:hover {
  color: var(--ghk-white) !important;
  background: rgba(255, 255, 255, 0.1) !important;
  border-color: var(--ghk-white) !important;
}

/* Royal Addons footer: reset imported flex heights and style its menu. */
body.ghk-site .ghk-site-footer,
body.ghk-site .ghk-site-footer.e-con {
  width: 100% !important;
  min-height: 0 !important;
  height: auto !important;
  padding: 0 !important;
  background: var(--ghk-green-950) !important;
}

body.ghk-site .ghk-footer__inner {
  display: grid !important;
  grid-template-columns: minmax(210px, 1.15fr) minmax(210px, 0.9fr) minmax(340px, 1.65fr) auto !important;
  align-items: start !important;
  width: 100% !important;
  min-height: 0 !important;
  height: auto !important;
  padding-top: clamp(42px, 5vw, 68px) !important;
  padding-bottom: clamp(38px, 4vw, 58px) !important;
  padding-right: max(var(--ghk-gutter), calc((100vw - var(--ghk-content)) / 2)) !important;
  padding-left: max(var(--ghk-gutter), calc((100vw - var(--ghk-content)) / 2)) !important;
  gap: clamp(24px, 3vw, 46px) !important;
}

body.ghk-site .ghk-footer__inner > .e-con {
  display: flex !important;
  flex-direction: column !important;
  justify-content: flex-start !important;
  align-items: flex-start !important;
  width: auto !important;
  min-width: 0 !important;
  min-height: 0 !important;
  height: auto !important;
  flex: 0 1 auto !important;
  align-self: start !important;
  gap: 12px !important;
}

body.ghk-site .ghk-footer__inner--compact {
  grid-template-columns: minmax(0, 1fr) auto !important;
  align-items: center !important;
}

body.ghk-site .ghk-footer__inner--compact > .ghk-footer__nav,
body.ghk-site .ghk-footer__inner--compact > .ghk-footer__cta {
  align-self: center !important;
}

body.ghk-site .ghk-footer__brand img {
  width: auto;
  max-width: 230px;
  max-height: 72px;
  object-fit: contain;
  object-position: left center;
}

body.ghk-site .ghk-footer__nav {
  width: 100% !important;
}

body.ghk-site .ghk-footer__nav .wpr-mobile-nav-menu-container {
  display: none !important;
}

body.ghk-site .ghk-footer__nav .wpr-nav-menu-container {
  display: block !important;
  width: 100% !important;
}

body.ghk-site .ghk-footer__nav .wpr-nav-menu {
  display: flex !important;
  flex-flow: row wrap !important;
  justify-content: flex-start !important;
  align-items: center !important;
  gap: 6px 18px !important;
  margin: 0 !important;
  padding: 0 !important;
}

body.ghk-site .ghk-footer__nav .wpr-nav-menu > .menu-item {
  margin: 0 !important;
}

body.ghk-site .ghk-footer__nav .wpr-nav-menu .wpr-menu-item {
  padding: 8px 0 !important;
  color: rgba(255, 255, 255, 0.78) !important;
  background: transparent !important;
  font-family: var(--ghk-font-body) !important;
  font-size: 0.91rem !important;
  font-weight: 650 !important;
  line-height: 1.25 !important;
  text-decoration: none !important;
}

body.ghk-site .ghk-footer__nav .wpr-nav-menu .wpr-menu-item:hover,
body.ghk-site .ghk-footer__nav .wpr-nav-menu .wpr-menu-item.wpr-active-menu-item,
body.ghk-site .ghk-footer__nav .wpr-nav-menu > .current-menu-item > .wpr-menu-item {
  color: var(--ghk-white) !important;
}

body.ghk-site .ghk-footer__nav.wpr-pointer-line-fx .wpr-menu-item::before,
body.ghk-site .ghk-footer__nav.wpr-pointer-line-fx .wpr-menu-item::after,
body.ghk-site .ghk-footer__nav.wpr-pointer-underline .wpr-menu-item::after {
  height: 1px !important;
  background-color: var(--ghk-sage-300) !important;
}

body.ghk-site .ghk-footer__cta .ghk-button,
body.ghk-site .ghk-footer__cta .elementor-widget-button {
  margin: 0 !important;
}

body.ghk-site .ghk-footer__cta .ghk-button--primary .elementor-button,
body.ghk-site .ghk-site-footer .ghk-button--primary .elementor-button {
  color: var(--ghk-green-950) !important;
  background: var(--ghk-sage-200) !important;
  border-color: var(--ghk-sage-200) !important;
  box-shadow: none !important;
}

body.ghk-site .ghk-footer__bottom {
  display: flex !important;
  flex-flow: row wrap !important;
  justify-content: space-between !important;
  align-items: center !important;
  width: 100% !important;
  min-height: 0 !important;
  height: auto !important;
  padding: 17px max(var(--ghk-gutter), calc((100vw - var(--ghk-content)) / 2)) !important;
  gap: 10px 24px !important;
  border-top: 1px solid rgba(255, 255, 255, 0.13) !important;
  color: rgba(255, 255, 255, 0.68);
}

@media (max-width: 1180px) {
  body.ghk-site .ghk-pricing {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }

  body.ghk-site .ghk-price-card,
  body.ghk-site .ghk-extra-card {
    grid-column: auto !important;
  }

  body.ghk-site .ghk-extra-card {
    grid-template-columns: minmax(0, 1fr) minmax(130px, 0.38fr);
  }

  body.ghk-site .ghk-activity-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }

  body.ghk-site .ghk-gallery--region .gallery,
  body.ghk-site .ghk-gallery--region .elementor-image-gallery .gallery {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }

  body.ghk-site .ghk-service.ghk-shell {
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  }

  body.ghk-site .ghk-service-card:nth-of-type(3n) {
    border-right: 0 !important;
  }

  body.ghk-site .ghk-service-card:nth-of-type(n + 4) {
    border-top: 1px solid var(--ghk-border) !important;
  }

  body.ghk-site .ghk-footer__inner {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }

  body.ghk-site .ghk-footer__inner--compact {
    grid-template-columns: minmax(0, 1fr) auto !important;
  }
}

@media (max-width: 880px) {
  body.ghk-site .ghk-excursions {
    grid-template-columns: minmax(0, 1fr) !important;
  }

  body.ghk-site .ghk-excursions__content {
    max-width: none !important;
  }

  body.ghk-site .ghk-excursions__media {
    order: -1;
  }

  body.ghk-site .ghk-contact {
    grid-template-columns: minmax(0, 1fr) !important;
    text-align: center;
  }

  body.ghk-site .ghk-contact .ghk-actions {
    justify-content: center !important;
  }
}

@media (max-width: 767px) {
  body.ghk-site .ghk-pricing {
    grid-template-columns: minmax(0, 1fr) !important;
    gap: 14px !important;
  }

  body.ghk-site .ghk-price-card {
    min-height: 140px !important;
  }

  body.ghk-site .ghk-extra-card {
    grid-template-columns: minmax(0, 1fr) !important;
    min-height: 0 !important;
  }

  body.ghk-site .ghk-extra-card > .elementor-widget-image {
    grid-column: 1;
    grid-row: auto;
  }

  body.ghk-site .ghk-activity-grid,
  body.ghk-site .ghk-gallery--region .gallery,
  body.ghk-site .ghk-gallery--region .elementor-image-gallery .gallery {
    grid-template-columns: minmax(0, 1fr) !important;
  }

  body.ghk-site .ghk-activity-card {
    padding: 20px !important;
  }

  body.ghk-site .ghk-service.ghk-shell {
    grid-template-columns: minmax(0, 1fr) !important;
    padding-right: var(--ghk-gutter) !important;
    padding-left: var(--ghk-gutter) !important;
  }

  body.ghk-site .ghk-service-card,
  body.ghk-site .ghk-service-card:nth-of-type(3n),
  body.ghk-site .ghk-service-card:nth-of-type(n + 4) {
    min-height: 0 !important;
    padding: 20px 0 !important;
    border-top: 0 !important;
    border-right: 0 !important;
    border-bottom: 1px solid var(--ghk-border) !important;
  }

  body.ghk-site .ghk-service-card:last-child {
    border-bottom: 0 !important;
  }

  body.ghk-site .ghk-contact,
  body.ghk-site .ghk-contact.ghk-contact--actions-only {
    padding-top: 26px !important;
    padding-bottom: 26px !important;
  }

  body.ghk-site .ghk-contact .ghk-actions {
    width: 100% !important;
  }

  body.ghk-site .ghk-contact .ghk-actions > .elementor-widget-button {
    flex: 1 1 160px;
  }

  body.ghk-site .ghk-contact .ghk-actions .elementor-button,
  body.ghk-site .ghk-contact .ghk-actions .elementor-button-wrapper {
    width: 100%;
  }

  body.ghk-site .ghk-footer__inner,
  body.ghk-site .ghk-footer__inner--compact {
    grid-template-columns: minmax(0, 1fr) !important;
    align-items: start !important;
    padding-top: 36px !important;
    padding-bottom: 34px !important;
  }

  body.ghk-site .ghk-footer__nav .wpr-nav-menu {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0 18px !important;
  }

  body.ghk-site .ghk-footer__cta,
  body.ghk-site .ghk-footer__cta .elementor-widget-button,
  body.ghk-site .ghk-footer__cta .elementor-button-wrapper,
  body.ghk-site .ghk-footer__cta .elementor-button {
    width: 100% !important;
  }

  body.ghk-site .ghk-footer__bottom {
    justify-content: center !important;
    text-align: center;
  }
}

/* --------------------------------------------------------------------------
   Version 1.7.0 – visual excursion cards and refined Royal footer
   -------------------------------------------------------------------------- */

/* Veranstaltungen & Ausflugsziele: editorial intro plus two distinct cards. */
body.ghk-site .ghk-excursions {
  position: relative;
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) !important;
  align-items: stretch !important;
  gap: clamp(28px, 4vw, 52px) !important;
  padding-top: clamp(58px, 6vw, 88px) !important;
  padding-bottom: clamp(58px, 6vw, 88px) !important;
  overflow: hidden;
  background:
    radial-gradient(circle at 94% 8%, rgba(199, 220, 205, 0.72), transparent 28%),
    linear-gradient(135deg, var(--ghk-sage-50) 0%, var(--ghk-white) 68%);
  border: 1px solid var(--ghk-border);
  border-radius: 26px;
}

body.ghk-site .ghk-excursions::before {
  position: absolute;
  top: -90px;
  right: -70px;
  width: 240px;
  height: 240px;
  content: "";
  border: 1px solid rgba(60, 126, 96, 0.14);
  border-radius: 50%;
  pointer-events: none;
}

body.ghk-site .ghk-excursions.ghk-excursions--has-media {
  grid-template-columns: minmax(0, 1.2fr) minmax(340px, 0.8fr) !important;
}

body.ghk-site .ghk-excursions__content {
  position: relative;
  z-index: 1;
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  align-content: start !important;
  width: 100% !important;
  max-width: none !important;
  padding: 0 !important;
  gap: 18px !important;
  background: transparent !important;
  border: 0 !important;
  border-radius: 0 !important;
}

body.ghk-site .ghk-excursions__heading,
body.ghk-site .ghk-excursions__intro {
  grid-column: 1 / -1;
}

body.ghk-site .ghk-excursions__heading {
  width: min(100%, 880px);
  margin: 0 !important;
}

body.ghk-site .ghk-excursions__heading h2,
body.ghk-site .ghk-excursions__heading .elementor-heading-title {
  max-width: 20ch;
  margin: 0 !important;
  color: var(--ghk-green-950) !important;
  font-size: clamp(2.2rem, 3.35vw, 3.65rem) !important;
  line-height: 1.08 !important;
}

body.ghk-site .ghk-excursions__intro {
  width: min(100%, 66ch);
  margin: 2px 0 clamp(14px, 2vw, 24px) !important;
  color: var(--ghk-muted) !important;
  font-size: clamp(1rem, 1.1vw, 1.12rem) !important;
}

body.ghk-site .ghk-excursion-card {
  position: relative;
  display: flex !important;
  flex-direction: column !important;
  min-width: 0;
  min-height: 290px;
  padding: clamp(24px, 2.6vw, 34px) !important;
  overflow: hidden;
  border: 1px solid var(--ghk-border);
  border-radius: 18px;
  box-shadow: 0 16px 42px rgba(16, 47, 37, 0.07);
}

body.ghk-site .ghk-excursion-card::after {
  position: absolute;
  top: 22px;
  right: 24px;
  color: rgba(16, 47, 37, 0.16);
  font-family: var(--ghk-font-heading);
  font-size: 2.2rem;
  font-weight: 600;
  line-height: 1;
}

body.ghk-site .ghk-excursion-card--events {
  background: rgba(255, 255, 255, 0.94);
  border-top: 4px solid var(--ghk-green-600);
}

body.ghk-site .ghk-excursion-card--events::after {
  content: "01";
}

body.ghk-site .ghk-excursion-card--destinations {
  color: rgba(255, 255, 255, 0.84) !important;
  background:
    radial-gradient(circle at 100% 0%, rgba(199, 220, 205, 0.17), transparent 34%),
    var(--ghk-green-900);
  border-color: var(--ghk-green-900);
}

body.ghk-site .ghk-excursion-card--destinations::after {
  color: rgba(255, 255, 255, 0.16);
  content: "02";
}

body.ghk-site .ghk-excursion-card > .elementor-widget-heading,
body.ghk-site .ghk-excursion-card > .elementor-widget-text-editor {
  width: 100% !important;
  margin: 0 !important;
}

body.ghk-site .ghk-excursion-card h3,
body.ghk-site .ghk-excursion-card .elementor-heading-title {
  max-width: calc(100% - 62px);
  margin: 0 0 22px !important;
  color: var(--ghk-green-950) !important;
  font-family: var(--ghk-font-heading) !important;
  font-size: clamp(1.35rem, 1.8vw, 1.7rem) !important;
  font-weight: 600 !important;
  line-height: 1.2 !important;
}

body.ghk-site .ghk-excursion-card--destinations h3,
body.ghk-site .ghk-excursion-card--destinations .elementor-heading-title {
  color: var(--ghk-white) !important;
}

body.ghk-site .ghk-excursion-card ul {
  display: grid !important;
  margin: 0 !important;
  gap: 9px !important;
}

body.ghk-site .ghk-excursion-card li {
  padding-left: 1.55em !important;
  color: var(--ghk-ink) !important;
  font-size: 0.98rem;
  line-height: 1.48;
}

body.ghk-site .ghk-excursion-card--destinations li {
  color: rgba(255, 255, 255, 0.84) !important;
}

body.ghk-site .ghk-excursion-card--destinations li::before {
  color: var(--ghk-sage-300) !important;
}

body.ghk-site .ghk-excursions__media {
  position: relative;
  z-index: 1;
  align-self: stretch !important;
  min-height: 100%;
  overflow: hidden;
  background: var(--ghk-sage-100);
  border: 8px solid rgba(255, 255, 255, 0.82) !important;
  border-radius: 22px !important;
  box-shadow: var(--ghk-shadow-md) !important;
}

body.ghk-site .ghk-excursions__media .elementor-widget-container,
body.ghk-site .ghk-excursions__media a,
body.ghk-site .ghk-excursions__media img {
  width: 100% !important;
  height: 100% !important;
}

body.ghk-site .ghk-excursions__media img {
  display: block;
  min-height: 520px;
  aspect-ratio: auto !important;
  object-fit: cover !important;
}

/* Footer: brighter hierarchy, compact columns and accessible contrast. */
body.ghk-site .ghk-site-footer,
body.ghk-site .ghk-site-footer.e-con {
  color: rgba(255, 255, 255, 0.78) !important;
  background:
    radial-gradient(circle at 7% 0%, rgba(87, 146, 118, 0.2), transparent 30%),
    var(--ghk-green-950) !important;
}

body.ghk-site .ghk-footer__inner {
  grid-template-columns: minmax(210px, 1.05fr) minmax(210px, 0.95fr) minmax(300px, 1.25fr) minmax(210px, 0.75fr) !important;
  align-items: start !important;
  padding-top: clamp(46px, 4.8vw, 66px) !important;
  padding-bottom: clamp(38px, 4vw, 54px) !important;
  gap: clamp(28px, 3.5vw, 52px) !important;
}

body.ghk-site .ghk-footer__inner > .e-con {
  gap: 9px !important;
}

body.ghk-site .ghk-footer__brand {
  width: min(100%, 270px) !important;
  padding: 20px 22px !important;
  background: rgba(251, 250, 246, 0.98) !important;
  border: 1px solid rgba(255, 255, 255, 0.35) !important;
  border-radius: 16px !important;
  box-shadow: 0 16px 34px rgba(0, 0, 0, 0.12);
}

body.ghk-site .ghk-footer__brand .elementor-widget-image,
body.ghk-site .ghk-footer__brand .elementor-widget-image .elementor-widget-container {
  margin: 0 !important;
}

body.ghk-site .ghk-footer__brand img {
  display: block;
  width: auto !important;
  max-width: 100% !important;
  max-height: 76px !important;
  margin: 0;
  object-fit: contain;
  object-position: left center;
}

body.ghk-site .ghk-footer__brand .elementor-widget-text-editor,
body.ghk-site .ghk-footer__brand .elementor-widget-text-editor p {
  margin: 10px 0 0 !important;
  color: var(--ghk-green-900) !important;
  font-size: 0.9rem !important;
  line-height: 1.5 !important;
}

body.ghk-site .ghk-footer__contact h2,
body.ghk-site .ghk-footer__contact h3,
body.ghk-site .ghk-footer__contact .elementor-heading-title,
body.ghk-site .ghk-footer__cta h2,
body.ghk-site .ghk-footer__cta h3,
body.ghk-site .ghk-footer__cta .elementor-heading-title {
  margin: 0 0 10px !important;
  color: var(--ghk-white) !important;
  font-family: var(--ghk-font-body) !important;
  font-size: 1.02rem !important;
  font-weight: 760 !important;
  line-height: 1.3 !important;
  letter-spacing: 0 !important;
}

body.ghk-site .ghk-footer__contact .elementor-widget,
body.ghk-site .ghk-footer__contact .elementor-widget-container,
body.ghk-site .ghk-footer__contact p {
  margin: 0 !important;
}

body.ghk-site .ghk-footer__contact,
body.ghk-site .ghk-footer__contact .elementor-widget-text-editor,
body.ghk-site .ghk-footer__contact .elementor-widget-text-editor p {
  color: rgba(255, 255, 255, 0.72) !important;
  font-size: 0.95rem !important;
  line-height: 1.58 !important;
}

body.ghk-site .ghk-footer__contact a {
  color: rgba(255, 255, 255, 0.82) !important;
  text-decoration-color: rgba(199, 220, 205, 0.45) !important;
}

body.ghk-site .ghk-footer__contact a:hover {
  color: var(--ghk-white) !important;
  text-decoration-color: var(--ghk-sage-300) !important;
}

body.ghk-site .ghk-footer__nav {
  align-self: start !important;
}

body.ghk-site .ghk-footer__nav .wpr-nav-menu {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  align-items: start !important;
  gap: 2px 24px !important;
}

body.ghk-site .ghk-footer__nav .wpr-nav-menu .wpr-menu-item,
body.ghk-site .ghk-footer__nav .wpr-nav-menu .wpr-menu-item.wpr-active-menu-item,
body.ghk-site .ghk-footer__nav .wpr-nav-menu > .current-menu-item > .wpr-menu-item {
  position: relative;
  padding: 7px 0 7px 14px !important;
  color: rgba(255, 255, 255, 0.72) !important;
  background: transparent !important;
  font-size: 0.9rem !important;
  font-weight: 620 !important;
  text-decoration: none !important;
}

body.ghk-site .ghk-footer__nav .wpr-nav-menu .wpr-menu-item::before {
  position: absolute !important;
  top: 50% !important;
  left: 0 !important;
  display: block !important;
  width: 5px !important;
  height: 5px !important;
  content: "" !important;
  background: transparent !important;
  border-top: 1px solid var(--ghk-sage-300) !important;
  border-right: 1px solid var(--ghk-sage-300) !important;
  transform: translateY(-50%) rotate(45deg) !important;
  opacity: 0.82 !important;
}

body.ghk-site .ghk-footer__nav .wpr-nav-menu .wpr-menu-item::after {
  display: none !important;
  content: none !important;
}

body.ghk-site .ghk-footer__nav .wpr-nav-menu .wpr-menu-item:hover {
  color: var(--ghk-white) !important;
  transform: translateX(2px);
}

body.ghk-site .ghk-footer__cta {
  width: 100% !important;
  padding: 20px !important;
  background: rgba(255, 255, 255, 0.055) !important;
  border: 1px solid rgba(255, 255, 255, 0.13) !important;
  border-radius: 15px !important;
}

body.ghk-site .ghk-footer__cta .elementor-widget-text-editor,
body.ghk-site .ghk-footer__cta .elementor-widget-text-editor p {
  margin: 0 0 12px !important;
  color: rgba(255, 255, 255, 0.7) !important;
  font-size: 0.9rem !important;
  line-height: 1.5 !important;
}

body.ghk-site .ghk-footer__cta .elementor-button {
  width: 100%;
  justify-content: center;
}

body.ghk-site .ghk-footer__bottom,
body.ghk-site .ghk-footer__bottom .elementor-widget-container,
body.ghk-site .ghk-footer__bottom p,
body.ghk-site .ghk-footer__bottom span {
  color: rgba(255, 255, 255, 0.62) !important;
}

body.ghk-site .ghk-footer__bottom a {
  color: rgba(255, 255, 255, 0.78) !important;
}

body.ghk-site .ghk-footer__bottom a:hover {
  color: var(--ghk-white) !important;
}

@media (max-width: 1180px) {
  body.ghk-site .ghk-excursions.ghk-excursions--has-media {
    grid-template-columns: minmax(0, 1fr) minmax(300px, 0.72fr) !important;
  }

  body.ghk-site .ghk-footer__inner {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }

  body.ghk-site .ghk-footer__brand {
    max-width: 290px;
  }
}

@media (max-width: 900px) {
  body.ghk-site .ghk-excursions,
  body.ghk-site .ghk-excursions.ghk-excursions--has-media {
    grid-template-columns: minmax(0, 1fr) !important;
  }

  body.ghk-site .ghk-excursions__media {
    order: -1;
    min-height: 0;
  }

  body.ghk-site .ghk-excursions__media img {
    min-height: 0;
    aspect-ratio: 16 / 9 !important;
  }
}

@media (max-width: 767px) {
  body.ghk-site .ghk-excursions {
    padding: 28px var(--ghk-gutter) 34px !important;
    border-right: 0;
    border-left: 0;
    border-radius: 0;
  }

  body.ghk-site .ghk-excursions__content {
    grid-template-columns: minmax(0, 1fr) !important;
  }

  body.ghk-site .ghk-excursions__heading,
  body.ghk-site .ghk-excursions__intro {
    grid-column: 1;
  }

  body.ghk-site .ghk-excursion-card {
    min-height: 0;
    padding: 24px !important;
  }

  body.ghk-site .ghk-footer__inner,
  body.ghk-site .ghk-footer__inner--compact {
    grid-template-columns: minmax(0, 1fr) !important;
    gap: 26px !important;
  }

  body.ghk-site .ghk-footer__brand {
    width: 100% !important;
    max-width: 330px;
  }

  body.ghk-site .ghk-footer__nav .wpr-nav-menu {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }

  body.ghk-site .ghk-footer__cta {
    max-width: 420px;
  }
}

@media (max-width: 440px) {
  body.ghk-site .ghk-footer__nav .wpr-nav-menu {
    grid-template-columns: minmax(0, 1fr) !important;
  }
}

/* Optional semantic headings added inside the footer navigation column. */
body.ghk-site .ghk-footer__nav > .elementor-widget-heading .elementor-heading-title,
body.ghk-site .ghk-footer__nav > .elementor-widget-heading h2,
body.ghk-site .ghk-footer__nav > .elementor-widget-heading h3 {
  margin: 0 0 10px !important;
  color: var(--ghk-white) !important;
  font-family: var(--ghk-font-body) !important;
  font-size: 1.02rem !important;
  font-weight: 760 !important;
  line-height: 1.3 !important;
  letter-spacing: 0 !important;
}


/* --------------------------------------------------------------------------
   1.8.0 – Header navigation: exactly one active underline
   -------------------------------------------------------------------------- */

/* WordPress marks every absolute one-page link as current-menu-item. Ignore
   that server-side state and let the theme scroll-spy define the active item. */
body.ghk-site .ghk-site-header .ghk-header__nav .wpr-nav-menu-container .wpr-nav-menu .wpr-menu-item,
body.ghk-site .ghk-site-header .ghk-header__nav .wpr-nav-menu-container .wpr-nav-menu .wpr-menu-item.wpr-active-menu-item,
body.ghk-site .ghk-site-header .ghk-header__nav .wpr-nav-menu-container .wpr-nav-menu > .current-menu-item > .wpr-menu-item,
body.ghk-site .ghk-site-header .ghk-header__nav .wpr-nav-menu-container .wpr-nav-menu > .current_page_item > .wpr-menu-item {
  color: var(--ghk-green-800) !important;
}

body.ghk-site .ghk-site-header .ghk-header__nav .wpr-nav-menu-container .wpr-nav-menu .wpr-menu-item:hover {
  color: var(--ghk-green-600) !important;
}

/* Disable every Royal Addons pointer line first. */
body.ghk-site .ghk-site-header .ghk-header__nav .wpr-nav-menu-container .wpr-nav-menu .wpr-menu-item::before {
  display: none !important;
  content: none !important;
}

/* Rebuild one predictable underline, hidden by default. */
body.ghk-site .ghk-site-header .ghk-header__nav .wpr-nav-menu-container .wpr-nav-menu .wpr-menu-item::after {
  position: absolute !important;
  right: clamp(8px, 0.75vw, 13px) !important;
  bottom: 8px !important;
  left: clamp(8px, 0.75vw, 13px) !important;
  display: block !important;
  width: auto !important;
  height: 2px !important;
  content: "" !important;
  background: var(--ghk-green-600) !important;
  border: 0 !important;
  border-radius: 999px !important;
  opacity: 0 !important;
  transform: scaleX(0) !important;
  transform-origin: 50% 50% !important;
  transition: opacity 180ms ease, transform 180ms ease !important;
}

/* Only the item selected by the one-page scroll-spy receives the line. */
body.ghk-site .ghk-site-header .ghk-header__nav .wpr-nav-menu-container .wpr-nav-menu > .ghk-nav-current > .wpr-menu-item,
body.ghk-site .ghk-site-header .ghk-header__nav .wpr-nav-menu-container .wpr-nav-menu > .ghk-nav-current > .wpr-menu-item.wpr-active-menu-item {
  color: var(--ghk-green-600) !important;
}

body.ghk-site .ghk-site-header .ghk-header__nav .wpr-nav-menu-container .wpr-nav-menu > .ghk-nav-current > .wpr-menu-item::after {
  opacity: 1 !important;
  transform: scaleX(1) !important;
}

/* The mobile menu uses a calm active background instead of an underline. */
body.ghk-site .ghk-site-header .ghk-header__nav .wpr-mobile-nav-menu .wpr-mobile-menu-item,
body.ghk-site .ghk-site-header .ghk-header__nav .wpr-mobile-nav-menu .wpr-mobile-menu-item.wpr-active-menu-item,
body.ghk-site .ghk-site-header .ghk-header__nav .wpr-mobile-nav-menu > .current-menu-item > .wpr-mobile-menu-item,
body.ghk-site .ghk-site-header .ghk-header__nav .wpr-mobile-nav-menu > .current_page_item > .wpr-mobile-menu-item {
  color: var(--ghk-green-900) !important;
  background: var(--ghk-white) !important;
}

body.ghk-site .ghk-site-header .ghk-header__nav .wpr-mobile-nav-menu > .ghk-nav-current > .wpr-mobile-menu-item {
  color: var(--ghk-green-800) !important;
  background: var(--ghk-sage-100) !important;
}


/* --------------------------------------------------------------------------
   Version 1.9.0 – flush section rhythm, simplified excursions and matching
   benefit/service strips
   -------------------------------------------------------------------------- */

/* Elementor's imported root container carries a default 10px padding and gap.
   Reset only the OnePager root so section backgrounds meet without white seams;
   the designed section gutters remain controlled by .ghk-shell. */
body.ghk-site .elementor[data-elementor-type="wp-page"],
body.ghk-site .elementor[data-elementor-type="wp-page"] > .ghk-onepager,
body.ghk-site .ghk-onepager.e-con {
  margin: 0 !important;
  padding: 0 !important;
}

body.ghk-site .ghk-onepager.e-con {
  --padding-block-start: 0px !important;
  --padding-block-end: 0px !important;
  --padding-inline-start: 0px !important;
  --padding-inline-end: 0px !important;
  --padding-top: 0px !important;
  --padding-right: 0px !important;
  --padding-bottom: 0px !important;
  --padding-left: 0px !important;
  --gap: 0px !important;
  --row-gap: 0px !important;
  --column-gap: 0px !important;
  gap: 0 !important;
}

body.ghk-site .ghk-onepager > .e-con {
  margin: 0 !important;
}

/* Hero benefits now use exactly the same horizontal icon/text language as the
   service strip: no outer top/bottom rule, no cards, only internal dividers. */
body.ghk-site .ghk-benefits.ghk-shell {
  display: grid !important;
  grid-template-columns: repeat(6, minmax(0, 1fr)) !important;
  align-items: stretch !important;
  width: 100% !important;
  max-width: none !important;
  padding: 0 clamp(24px, 3vw, 58px) !important;
  gap: 0 !important;
  background: var(--ghk-white) !important;
  border: 0 !important;
  border-top: 0 !important;
  border-bottom: 0 !important;
  box-shadow: none !important;
}

body.ghk-site .ghk-benefit {
  display: flex !important;
  align-items: stretch !important;
  min-width: 0;
  min-height: 132px !important;
  padding: 24px clamp(16px, 1.5vw, 26px) !important;
  text-align: left !important;
  background: transparent !important;
  border: 0 !important;
  border-right: 1px solid var(--ghk-border) !important;
  border-radius: 0 !important;
  box-shadow: none !important;
}

body.ghk-site .ghk-benefit:last-child {
  border-right: 0 !important;
}

body.ghk-site .ghk-benefit .elementor-widget-container,
body.ghk-site .ghk-benefit .elementor-icon-box-wrapper {
  width: 100% !important;
}

body.ghk-site .ghk-benefit .elementor-icon-box-wrapper {
  display: flex !important;
  flex-direction: row !important;
  align-items: center !important;
  gap: 14px !important;
  text-align: left !important;
}

body.ghk-site .ghk-benefit .elementor-icon-box-icon {
  flex: 0 0 38px !important;
  width: 38px !important;
  margin: 0 !important;
}

body.ghk-site .ghk-benefit .elementor-icon,
body.ghk-site .ghk-benefit .elementor-icon svg {
  width: 32px !important;
  height: 32px !important;
  font-size: 32px !important;
}

body.ghk-site .ghk-benefit .elementor-icon-box-title {
  margin: 0 !important;
  color: var(--ghk-green-950) !important;
  font-family: var(--ghk-font-body) !important;
  font-size: clamp(0.86rem, 0.88vw, 0.98rem) !important;
  font-weight: 760 !important;
  line-height: 1.32 !important;
  text-align: left !important;
  letter-spacing: 0 !important;
}

body.ghk-site .ghk-benefit .elementor-icon-box-description {
  margin-top: 5px !important;
  color: var(--ghk-muted) !important;
  font-size: 0.8rem !important;
  line-height: 1.45 !important;
  text-align: left !important;
}

/* Veranstaltungen: clean white section in the alternating page rhythm. The
   informative cards remain, but all decorative circles and numbering vanish. */
body.ghk-site .ghk-excursions,
body.ghk-site .ghk-excursions.ghk-excursions--has-media {
  background: var(--ghk-white) !important;
  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  overflow: visible !important;
}

body.ghk-site .ghk-excursions::before,
body.ghk-site .ghk-excursion-card::after {
  display: none !important;
  content: none !important;
}

body.ghk-site .ghk-excursion-card--events {
  background: var(--ghk-white) !important;
}

body.ghk-site .ghk-excursion-card--destinations {
  background: var(--ghk-green-900) !important;
}

body.ghk-site .ghk-excursion-card h3,
body.ghk-site .ghk-excursion-card .elementor-heading-title {
  max-width: 100% !important;
}

@media (max-width: 1180px) {
  body.ghk-site .ghk-benefits.ghk-shell {
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  }

  body.ghk-site .ghk-benefit,
  body.ghk-site .ghk-benefit:nth-child(3n) {
    border-right: 1px solid var(--ghk-border) !important;
    border-bottom: 0 !important;
  }

  body.ghk-site .ghk-benefit:nth-child(3n) {
    border-right: 0 !important;
  }
}

@media (max-width: 767px) {
  body.ghk-site .ghk-benefits.ghk-shell {
    grid-template-columns: minmax(0, 1fr) !important;
    padding-inline: var(--ghk-gutter) !important;
  }

  body.ghk-site .ghk-benefit,
  body.ghk-site .ghk-benefit:nth-child(2n),
  body.ghk-site .ghk-benefit:nth-child(3n),
  body.ghk-site .ghk-benefit:nth-child(n + 4) {
    min-height: 0 !important;
    padding: 20px 0 !important;
    border-right: 0 !important;
    border-bottom: 1px solid var(--ghk-border) !important;
  }

  body.ghk-site .ghk-benefit:last-child {
    border-bottom: 0 !important;
  }

  body.ghk-site .ghk-excursions,
  body.ghk-site .ghk-excursions.ghk-excursions--has-media {
    padding-right: var(--ghk-gutter) !important;
    padding-left: var(--ghk-gutter) !important;
  }
}

/* --------------------------------------------------------------------------
   Version 1.10.0 – linked Remstal logo and reusable legal page template
   -------------------------------------------------------------------------- */

/* Legal pages use the same Royal Addons header/footer as the OnePager, while
   the page template supplies a consistent title area and readable content
   width for Impressum, Datenschutz and Cookie-Richtlinie. */
body.ghk-site .ghk-legal-page {
  min-height: 65vh;
  background: var(--ghk-white);
}

body.ghk-site .ghk-legal-page__hero {
  position: relative;
  overflow: hidden;
  padding: clamp(72px, 8vw, 126px) var(--ghk-gutter) clamp(58px, 6vw, 92px);
  background:
    linear-gradient(115deg, var(--ghk-sage-100) 0%, var(--ghk-white) 72%);
  border-bottom: 1px solid var(--ghk-border);
}

body.ghk-site .ghk-legal-page__hero::after {
  position: absolute;
  top: clamp(-160px, -10vw, -90px);
  right: clamp(-120px, -6vw, -45px);
  width: clamp(240px, 27vw, 460px);
  aspect-ratio: 1;
  content: "";
  border: 1px solid rgba(45, 105, 79, 0.13);
  border-radius: 50%;
  pointer-events: none;
}

body.ghk-site .ghk-legal-page__hero-inner,
body.ghk-site .ghk-legal-page__content {
  position: relative;
  z-index: 1;
  width: min(100%, 980px);
  margin-inline: auto;
}

body.ghk-site .ghk-legal-page__eyebrow {
  display: inline-flex;
  margin-bottom: 18px;
  color: var(--ghk-green-700);
  font-size: 0.78rem;
  font-weight: 800;
  line-height: 1.2;
  letter-spacing: 0.13em;
  text-transform: uppercase;
}

body.ghk-site .ghk-legal-page__title {
  max-width: 18ch;
  margin: 0;
  font-size: clamp(2.5rem, 5.4vw, 4.8rem);
}

body.ghk-site .ghk-legal-page__intro {
  max-width: 64ch;
  margin: 22px 0 0;
  color: var(--ghk-muted);
  font-size: clamp(1rem, 1.35vw, 1.16rem);
  line-height: 1.7;
}

body.ghk-site .ghk-legal-page__body {
  padding: clamp(64px, 7vw, 112px) var(--ghk-gutter);
}

body.ghk-site .ghk-legal-page__content {
  color: var(--ghk-ink);
}

body.ghk-site .ghk-legal-page__content > .elementor,
body.ghk-site .ghk-legal-page__content .cmplz-document {
  width: 100%;
  max-width: none;
  margin: 0;
}

body.ghk-site .ghk-legal-page__content > .elementor > .e-con:first-child {
  --padding-block-start: 0px;
  --padding-block-end: 0px;
  --padding-inline-start: 0px;
  --padding-inline-end: 0px;
  padding: 0;
}

body.ghk-site .ghk-legal-page__content > :first-child,
body.ghk-site .ghk-legal-page__content .elementor > :first-child {
  margin-top: 0;
}

body.ghk-site .ghk-legal-page__content h2 {
  margin-top: clamp(48px, 6vw, 78px);
  margin-bottom: 18px;
  padding-bottom: 14px;
  font-size: clamp(1.75rem, 3vw, 2.7rem);
  border-bottom: 1px solid var(--ghk-border);
}

body.ghk-site .ghk-legal-page__content h3 {
  margin-top: 38px;
  margin-bottom: 12px;
  font-size: clamp(1.25rem, 2vw, 1.7rem);
}

body.ghk-site .ghk-legal-page__content :where(p, li, td, th) {
  font-size: clamp(0.98rem, 1.1vw, 1.07rem);
  line-height: 1.78;
}

body.ghk-site .ghk-legal-page__content p,
body.ghk-site .ghk-legal-page__content ul,
body.ghk-site .ghk-legal-page__content ol,
body.ghk-site .ghk-legal-page__content table {
  margin-block: 0 1.3em;
}

body.ghk-site .ghk-legal-page__content ul,
body.ghk-site .ghk-legal-page__content ol {
  padding-left: 1.35em;
}

body.ghk-site .ghk-legal-page__content a {
  font-weight: 650;
  text-decoration-thickness: 1px;
}

body.ghk-site .ghk-legal-page__content table {
  width: 100%;
  border-collapse: collapse;
  border: 1px solid var(--ghk-border);
}

body.ghk-site .ghk-legal-page__content :where(th, td) {
  padding: 13px 15px;
  vertical-align: top;
  text-align: left;
  border-bottom: 1px solid var(--ghk-border);
}

body.ghk-site .ghk-legal-page__content th {
  color: var(--ghk-green-950);
  background: var(--ghk-sage-100);
  font-weight: 750;
}

/* Optional Elementor classes documented in legal-pages-structure.md. */
body.ghk-site .ghk-legal-toc,
body.ghk-site .ghk-legal-note,
body.ghk-site .ghk-legal-contact {
  margin-block: 32px;
  padding: clamp(24px, 3vw, 36px);
  border: 1px solid var(--ghk-border);
  border-radius: var(--ghk-radius-md);
  background: var(--ghk-sage-50);
}

body.ghk-site .ghk-legal-toc {
  border-left: 4px solid var(--ghk-green-600);
}

body.ghk-site .ghk-legal-note {
  background: var(--ghk-cream);
}

body.ghk-site .ghk-legal-contact {
  color: var(--ghk-white);
  background: var(--ghk-green-900);
  border-color: var(--ghk-green-900);
}

body.ghk-site .ghk-legal-contact :where(h2, h3, h4, p, li, a) {
  color: inherit !important;
}

body.ghk-site .ghk-legal-contact a {
  text-decoration-color: var(--ghk-sage-300);
}

body.ghk-site .ghk-legal-updated {
  display: inline-flex;
  margin-top: 28px;
  padding: 8px 12px;
  color: var(--ghk-muted);
  background: var(--ghk-sage-100);
  border-radius: 999px;
  font-size: 0.82rem;
  line-height: 1.3;
}

@media (max-width: 767px) {
  body.ghk-site .ghk-remstal-logo img {
    width: min(170px, 55vw) !important;
  }

  body.ghk-site .ghk-legal-page__hero {
    padding-top: 56px;
    padding-bottom: 50px;
  }

  body.ghk-site .ghk-legal-page__hero::after {
    opacity: 0.55;
  }

  body.ghk-site .ghk-legal-page__body {
    padding-top: 52px;
    padding-bottom: 72px;
  }

  body.ghk-site .ghk-legal-page__content h2 {
    margin-top: 42px;
  }

  body.ghk-site .ghk-legal-page__content table {
    display: block;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
  }
}


/* --------------------------------------------------------------------------
   Version 1.11.0 – compact pricing row, occupancy icons and larger images
   -------------------------------------------------------------------------- */

/* Wide desktop: mirror the approved composition with four compact room prices
   plus the two broader breakfast/pet cards in one balanced row. */
@media (min-width: 1181px) {
  body.ghk-site .ghk-pricing {
    grid-template-columns:
      repeat(4, minmax(130px, 0.72fr))
      minmax(340px, 1.8fr)
      minmax(260px, 1.25fr) !important;
    gap: 16px !important;
  }

  body.ghk-site .ghk-pricing > .ghk-section-head {
    grid-column: 1 / -1 !important;
  }

  body.ghk-site .ghk-price-card,
  body.ghk-site .ghk-extra-card {
    grid-column: auto !important;
    min-width: 0 !important;
    min-height: 210px !important;
  }
}

/* Room-price cards: decorative occupancy icons are inserted by theme.js.
   No additional Elementor icon widgets are required. */
body.ghk-site .ghk-price-card {
  align-items: center !important;
  justify-content: center !important;
  gap: 10px !important;
  text-align: center !important;
  padding: 22px 14px !important;
}

body.ghk-site .ghk-price-card__icon {
  display: flex;
  align-items: flex-end;
  justify-content: center;
  min-height: 34px;
  margin: 0 0 2px;
  color: var(--ghk-green-700);
}

body.ghk-site .ghk-price-card__person {
  display: inline-flex;
  width: 25px;
  height: 30px;
  margin-left: -5px;
}

body.ghk-site .ghk-price-card__person:first-child {
  margin-left: 0;
}

body.ghk-site .ghk-price-card__person svg {
  display: block;
  width: 100%;
  height: 100%;
  overflow: visible;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.65;
  stroke-linecap: round;
  stroke-linejoin: round;
}

body.ghk-site .ghk-price-card__person svg circle {
  fill: var(--ghk-sage-100);
}

body.ghk-site .ghk-price-card__person svg path {
  fill: rgba(60, 126, 96, 0.08);
}

body.ghk-site .ghk-price-card__label,
body.ghk-site .ghk-price-card__label p {
  margin: 0 !important;
  color: var(--ghk-ink) !important;
  font-size: 0.88rem !important;
  font-weight: 700 !important;
  line-height: 1.3 !important;
  text-align: center !important;
}

body.ghk-site .ghk-price-card__price,
body.ghk-site .ghk-price-card__price .elementor-heading-title {
  margin: 0 !important;
  color: var(--ghk-green-950) !important;
  font-family: var(--ghk-font-heading) !important;
  font-size: clamp(2rem, 2.5vw, 2.65rem) !important;
  font-weight: 600 !important;
  line-height: 1 !important;
  text-align: center !important;
}

/* Breakfast card: image occupies the full left side instead of falling back to
   a small thumbnail in the narrow second grid column. */
body.ghk-site .ghk-extra-card--breakfast {
  display: grid !important;
  grid-template-columns: minmax(145px, 0.92fr) minmax(0, 1.08fr) !important;
  grid-template-rows: auto auto 1fr !important;
  align-items: start !important;
  gap: 0 !important;
  padding: 0 !important;
  overflow: hidden !important;
}

body.ghk-site .ghk-extra-card--breakfast > .elementor-widget-image {
  grid-column: 1 !important;
  grid-row: 1 / -1 !important;
  align-self: stretch !important;
  width: 100% !important;
  height: 100% !important;
  min-height: 210px !important;
  margin: 0 !important;
}

body.ghk-site .ghk-extra-card--breakfast > .elementor-widget-image .elementor-widget-container,
body.ghk-site .ghk-extra-card--breakfast > .elementor-widget-image a,
body.ghk-site .ghk-extra-card--breakfast > .elementor-widget-image picture {
  display: block !important;
  width: 100% !important;
  height: 100% !important;
}

body.ghk-site .ghk-extra-card--breakfast > .elementor-widget-image img {
  display: block !important;
  width: 100% !important;
  height: 100% !important;
  min-height: 210px !important;
  aspect-ratio: auto !important;
  object-fit: cover !important;
  object-position: center !important;
  border-radius: 0 !important;
}

body.ghk-site .ghk-extra-card--breakfast > :not(.elementor-widget-image) {
  grid-column: 2 !important;
  width: 100% !important;
  margin: 0 !important;
  padding-right: clamp(20px, 2vw, 30px) !important;
  padding-left: clamp(20px, 2vw, 30px) !important;
}

body.ghk-site .ghk-extra-card--breakfast > .elementor-widget-heading {
  padding-top: 24px !important;
}

body.ghk-site .ghk-extra-card--breakfast > .ghk-check-list {
  padding-bottom: 22px !important;
}

body.ghk-site .ghk-extra-card--breakfast h3,
body.ghk-site .ghk-extra-card--pets h3 {
  margin: 0 !important;
  font-size: clamp(1.35rem, 1.55vw, 1.75rem) !important;
  line-height: 1.15 !important;
}

body.ghk-site .ghk-extra-card--breakfast p,
body.ghk-site .ghk-extra-card--breakfast li,
body.ghk-site .ghk-extra-card--pets p {
  font-size: 0.88rem !important;
  line-height: 1.45 !important;
}

body.ghk-site .ghk-extra-card--breakfast .ghk-check-list ul {
  margin-top: 6px !important;
  gap: 2px !important;
}

/* Pet card supports a direct Elementor image widget. Without an image it gets
   a restrained decorative paw mark so the card does not look unfinished. */
body.ghk-site .ghk-extra-card--pets {
  position: relative;
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) minmax(105px, 0.58fr) !important;
  grid-template-rows: auto 1fr !important;
  align-items: center !important;
  gap: 12px 18px !important;
  padding: 24px !important;
  overflow: hidden !important;
}

body.ghk-site .ghk-extra-card--pets > .elementor-widget-heading,
body.ghk-site .ghk-extra-card--pets > .elementor-widget-text-editor {
  grid-column: 1 !important;
  position: relative;
  z-index: 2;
  margin: 0 !important;
}

body.ghk-site .ghk-extra-card--pets > .elementor-widget-image {
  grid-column: 2 !important;
  grid-row: 1 / -1 !important;
  align-self: end !important;
  width: 100% !important;
  margin: 0 !important;
}

body.ghk-site .ghk-extra-card--pets > .elementor-widget-image img {
  display: block !important;
  width: 100% !important;
  max-height: 190px !important;
  object-fit: contain !important;
  object-position: center bottom !important;
  border-radius: 0 !important;
}

body.ghk-site .ghk-extra-card--pets:not(.ghk-extra-card--has-image)::after {
  content: "";
  grid-column: 2;
  grid-row: 1 / -1;
  align-self: center;
  justify-self: center;
  width: min(100%, 108px);
  aspect-ratio: 1;
  opacity: 0.14;
  background: var(--ghk-green-700);
  -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 64 64'%3E%3Cellipse cx='20' cy='18' rx='7' ry='10'/%3E%3Cellipse cx='44' cy='18' rx='7' ry='10'/%3E%3Cellipse cx='11' cy='34' rx='7' ry='9' transform='rotate(-20 11 34)'/%3E%3Cellipse cx='53' cy='34' rx='7' ry='9' transform='rotate(20 53 34)'/%3E%3Cpath d='M32 28c-11 0-20 9-20 19 0 7 5 11 12 8 5-2 11-2 16 0 7 3 12-1 12-8 0-10-9-19-20-19Z'/%3E%3C/svg%3E") center / contain no-repeat;
          mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 64 64'%3E%3Cellipse cx='20' cy='18' rx='7' ry='10'/%3E%3Cellipse cx='44' cy='18' rx='7' ry='10'/%3E%3Cellipse cx='11' cy='34' rx='7' ry='9' transform='rotate(-20 11 34)'/%3E%3Cellipse cx='53' cy='34' rx='7' ry='9' transform='rotate(20 53 34)'/%3E%3Cpath d='M32 28c-11 0-20 9-20 19 0 7 5 11 12 8 5-2 11-2 16 0 7 3 12-1 12-8 0-10-9-19-20-19Z'/%3E%3C/svg%3E") center / contain no-repeat;
}

@media (max-width: 1180px) {
  body.ghk-site .ghk-extra-card--breakfast,
  body.ghk-site .ghk-extra-card--pets {
    min-height: 260px !important;
  }

  body.ghk-site .ghk-extra-card--breakfast > .elementor-widget-image,
  body.ghk-site .ghk-extra-card--breakfast > .elementor-widget-image img {
    min-height: 260px !important;
  }
}

@media (max-width: 767px) {
  body.ghk-site .ghk-price-card {
    min-height: 150px !important;
  }

  body.ghk-site .ghk-extra-card--breakfast,
  body.ghk-site .ghk-extra-card--pets {
    grid-template-columns: minmax(0, 1fr) !important;
    min-height: 0 !important;
  }

  body.ghk-site .ghk-extra-card--breakfast > .elementor-widget-image {
    grid-column: 1 !important;
    grid-row: 1 !important;
    min-height: 220px !important;
  }

  body.ghk-site .ghk-extra-card--breakfast > .elementor-widget-image img {
    min-height: 220px !important;
    max-height: 280px !important;
  }

  body.ghk-site .ghk-extra-card--breakfast > :not(.elementor-widget-image) {
    grid-column: 1 !important;
  }

  body.ghk-site .ghk-extra-card--breakfast > .elementor-widget-heading {
    padding-top: 24px !important;
  }

  body.ghk-site .ghk-extra-card--pets > .elementor-widget-heading,
  body.ghk-site .ghk-extra-card--pets > .elementor-widget-text-editor,
  body.ghk-site .ghk-extra-card--pets > .elementor-widget-image,
  body.ghk-site .ghk-extra-card--pets:not(.ghk-extra-card--has-image)::after {
    grid-column: 1 !important;
  }

  body.ghk-site .ghk-extra-card--pets > .elementor-widget-image,
  body.ghk-site .ghk-extra-card--pets:not(.ghk-extra-card--has-image)::after {
    grid-row: auto !important;
    justify-self: center;
    width: min(55%, 180px) !important;
  }
}

/* --------------------------------------------------------------------------
   Version 1.12.0 – price wrapping, cancellation title and gallery controls
   -------------------------------------------------------------------------- */

/* Keep the amount and currency sign together even in the compact four-card
   desktop row. The slightly reduced maximum size still preserves hierarchy. */
body.ghk-site .ghk-price-card__price,
body.ghk-site .ghk-price-card__price .elementor-heading-title {
  display: block !important;
  width: 100% !important;
  max-width: 100% !important;
  white-space: nowrap !important;
  overflow-wrap: normal !important;
  word-break: keep-all !important;
  hyphens: none !important;
  font-size: clamp(1.85rem, 2.15vw, 2.35rem) !important;
  letter-spacing: -0.025em !important;
}

/* Long German compound words must stay inside the cancellation card. */
body.ghk-site .ghk-rooms--merged > .ghk-notice--cancellation,
body.ghk-site .ghk-notice--cancellation {
  min-width: 0 !important;
  overflow: hidden !important;
}

body.ghk-site .ghk-notice__title {
  display: block !important;
  width: 100% !important;
  max-width: 100% !important;
  margin-right: 0 !important;
  font-size: clamp(1rem, 1.12vw, 1.18rem) !important;
  line-height: 1.22 !important;
  overflow-wrap: anywhere !important;
  word-break: normal !important;
  hyphens: auto !important;
}

/* Make the carousel controls unmistakable on both bright and dark photos. */
body.ghk-site .ghk-gallery--rooms .elementor-swiper-button {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 50px !important;
  height: 50px !important;
  z-index: 5 !important;
  opacity: 1 !important;
  color: var(--ghk-green-950) !important;
  background: rgba(255, 255, 255, 0.96) !important;
  border: 2px solid rgba(16, 47, 37, 0.2) !important;
  border-radius: 50% !important;
  box-shadow: 0 10px 28px rgba(16, 47, 37, 0.24) !important;
  transition: color 160ms ease, background-color 160ms ease,
    border-color 160ms ease, transform 160ms ease !important;
}

body.ghk-site .ghk-gallery--rooms .elementor-swiper-button-prev {
  left: 16px !important;
}

body.ghk-site .ghk-gallery--rooms .elementor-swiper-button-next {
  right: 16px !important;
}

body.ghk-site .ghk-gallery--rooms .elementor-swiper-button svg {
  display: block !important;
  width: 20px !important;
  height: 20px !important;
  color: inherit !important;
  fill: currentColor !important;
  stroke: currentColor !important;
}

body.ghk-site .ghk-gallery--rooms .elementor-swiper-button:hover,
body.ghk-site .ghk-gallery--rooms .elementor-swiper-button:focus-visible {
  color: var(--ghk-white) !important;
  background: var(--ghk-green-800) !important;
  border-color: var(--ghk-green-800) !important;
  transform: translateY(-1px) !important;
}

body.ghk-site .ghk-gallery--rooms .elementor-swiper-button:focus-visible {
  outline: 3px solid var(--ghk-focus) !important;
  outline-offset: 3px !important;
}

@media (max-width: 1180px) {
  body.ghk-site .ghk-price-card__price,
  body.ghk-site .ghk-price-card__price .elementor-heading-title {
    font-size: clamp(1.9rem, 4vw, 2.5rem) !important;
  }
}

@media (max-width: 767px) {
  body.ghk-site .ghk-gallery--rooms .elementor-swiper-button {
    width: 42px !important;
    height: 42px !important;
  }

  body.ghk-site .ghk-gallery--rooms .elementor-swiper-button-prev {
    left: 10px !important;
  }

  body.ghk-site .ghk-gallery--rooms .elementor-swiper-button-next {
    right: 10px !important;
  }

  body.ghk-site .ghk-gallery--rooms .elementor-swiper-button svg {
    width: 17px !important;
    height: 17px !important;
  }
}


/* --------------------------------------------------------------------------
   Version 1.13.0 – Anfahrt / Google Maps section
   -------------------------------------------------------------------------- */

/* The map section is intentionally a simple two-column composition. The
   plugin output remains fully controlled by WordPress/Elementor, while the
   theme provides a stable visual frame for iframes, shortcode maps and
   consent placeholders. */
body.ghk-site .ghk-location {
  display: grid !important;
  grid-template-columns: minmax(300px, 0.42fr) minmax(0, 0.82fr) !important;
  gap: clamp(24px, 3.4vw, 52px) !important;
  align-items: stretch !important;
  background: var(--ghk-white) !important;
}

body.ghk-site .ghk-location > * {
  min-width: 0 !important;
}

body.ghk-site .ghk-location__content {
  display: flex !important;
  flex-direction: column !important;
  justify-content: center !important;
  align-items: flex-start !important;
  gap: 0 !important;
  min-height: clamp(440px, 37vw, 540px) !important;
  padding: clamp(30px, 3.5vw, 52px) !important;
  color: var(--ghk-white) !important;
  background: var(--ghk-green-950) !important;
  border-radius: var(--ghk-radius-md) !important;
  overflow: hidden !important;
  box-shadow: var(--ghk-shadow-sm) !important;
}

body.ghk-site .ghk-location__content .ghk-eyebrow,
body.ghk-site .ghk-location__content h2,
body.ghk-site .ghk-location__content h3,
body.ghk-site .ghk-location__content .elementor-heading-title,
body.ghk-site .ghk-location__content p,
body.ghk-site .ghk-location__content li,
body.ghk-site .ghk-location__content a:not(.elementor-button) {
  color: inherit !important;
}

body.ghk-site .ghk-location__content .ghk-eyebrow {
  color: var(--ghk-sage-300) !important;
}

body.ghk-site .ghk-location__content h2,
body.ghk-site .ghk-location__content .elementor-heading-title {
  max-width: 12ch !important;
  margin-bottom: clamp(18px, 2vw, 28px) !important;
  font-size: clamp(2rem, 3.2vw, 3.4rem) !important;
  line-height: 1.06 !important;
}

body.ghk-site .ghk-location__content p {
  max-width: 40ch !important;
  color: rgba(255, 255, 255, 0.86) !important;
}

body.ghk-site .ghk-location__facts {
  display: grid !important;
  grid-template-columns: 1fr !important;
  gap: 10px !important;
  width: 100% !important;
  margin-top: clamp(18px, 2vw, 28px) !important;
  padding-top: clamp(18px, 2vw, 28px) !important;
  border-top: 1px solid rgba(255, 255, 255, 0.18) !important;
}

body.ghk-site .ghk-location__facts .elementor-icon-box-wrapper {
  display: grid !important;
  grid-template-columns: 26px minmax(0, 1fr) !important;
  gap: 12px !important;
  align-items: center !important;
  text-align: left !important;
}

body.ghk-site .ghk-location__facts .elementor-icon,
body.ghk-site .ghk-location__facts .elementor-icon svg {
  width: 22px !important;
  height: 22px !important;
  color: var(--ghk-sage-300) !important;
  fill: currentColor !important;
}

body.ghk-site .ghk-location__facts .elementor-icon-box-title,
body.ghk-site .ghk-location__facts .elementor-icon-box-description {
  margin: 0 !important;
  color: var(--ghk-white) !important;
  font-family: var(--ghk-font-body) !important;
  font-size: 0.94rem !important;
  line-height: 1.45 !important;
}

body.ghk-site .ghk-location__actions {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 12px !important;
  width: 100% !important;
  margin-top: clamp(24px, 3vw, 36px) !important;
}

body.ghk-site .ghk-location__actions .ghk-button--primary .elementor-button {
  color: var(--ghk-green-950) !important;
  background: var(--ghk-white) !important;
  border-color: var(--ghk-white) !important;
}

body.ghk-site .ghk-location__actions .ghk-button--primary .elementor-button:hover,
body.ghk-site .ghk-location__actions .ghk-button--primary .elementor-button:focus-visible {
  color: var(--ghk-green-950) !important;
  background: var(--ghk-sage-200) !important;
  border-color: var(--ghk-sage-200) !important;
}

body.ghk-site .ghk-location__actions .ghk-button--secondary .elementor-button {
  color: var(--ghk-white) !important;
  background: transparent !important;
  border-color: rgba(255, 255, 255, 0.58) !important;
}

body.ghk-site .ghk-location__actions .ghk-button--secondary .elementor-button:hover,
body.ghk-site .ghk-location__actions .ghk-button--secondary .elementor-button:focus-visible {
  color: var(--ghk-green-950) !important;
  background: var(--ghk-white) !important;
  border-color: var(--ghk-white) !important;
}

body.ghk-site .ghk-location__map {
  position: relative !important;
  display: block !important;
  min-width: 0 !important;
  min-height: clamp(440px, 37vw, 540px) !important;
  overflow: hidden !important;
  background: var(--ghk-sage-100) !important;
  border: 1px solid var(--ghk-border) !important;
  border-radius: var(--ghk-radius-md) !important;
  box-shadow: var(--ghk-shadow-sm) !important;
}

body.ghk-site .ghk-location__map > .elementor-widget-container,
body.ghk-site .ghk-location__map > .elementor-widget-container > div,
body.ghk-site .ghk-location__map .elementor-shortcode,
body.ghk-site .ghk-location__map .elementor-custom-embed,
body.ghk-site .ghk-location__map .elementor-custom-embed-image-overlay,
body.ghk-site .ghk-location__map .wpgmza_map,
body.ghk-site .ghk-location__map .leaflet-container,
body.ghk-site .ghk-location__map .gm-style,
body.ghk-site .ghk-location__map iframe {
  width: 100% !important;
  height: 100% !important;
  min-height: inherit !important;
}

body.ghk-site .ghk-location__map iframe {
  display: block !important;
  border: 0 !important;
}

/* Complianz and comparable map-consent placeholders should occupy the same
   area as the map, so the layout does not jump after consent. */
body.ghk-site .ghk-location__map .cmplz-blocked-content-container,
body.ghk-site .ghk-location__map .cmplz-placeholder-1,
body.ghk-site .ghk-location__map [data-service="google-maps"] {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 100% !important;
  min-height: inherit !important;
  margin: 0 !important;
  background: var(--ghk-sage-100) !important;
}

@media (max-width: 1024px) {
  body.ghk-site .ghk-location {
    grid-template-columns: minmax(270px, 0.48fr) minmax(0, 0.72fr) !important;
    gap: 24px !important;
  }

  body.ghk-site .ghk-location__content,
  body.ghk-site .ghk-location__map {
    min-height: 460px !important;
  }
}

@media (max-width: 767px) {
  body.ghk-site .ghk-location {
    grid-template-columns: 1fr !important;
    gap: 18px !important;
  }

  body.ghk-site .ghk-location__content {
    min-height: 0 !important;
    padding: 30px 24px !important;
    border-radius: var(--ghk-radius-md) !important;
  }

  body.ghk-site .ghk-location__content h2,
  body.ghk-site .ghk-location__content .elementor-heading-title {
    max-width: 100% !important;
    font-size: clamp(2rem, 10vw, 2.75rem) !important;
  }

  body.ghk-site .ghk-location__map {
    min-height: 380px !important;
    border-radius: var(--ghk-radius-md) !important;
  }

  body.ghk-site .ghk-location__actions,
  body.ghk-site .ghk-location__actions > .elementor-widget-button,
  body.ghk-site .ghk-location__actions .elementor-button-wrapper,
  body.ghk-site .ghk-location__actions .elementor-button {
    width: 100% !important;
  }
}

/* --------------------------------------------------------------------------
   Version 1.14.0 – Map sizing and location fact alignment
   -------------------------------------------------------------------------- */

/* Align the location icons with the first text line instead of vertically
   centering them against multi-line descriptions. Elementor's block-start
   icon-box class otherwise makes the icons appear too low. */
body.ghk-site .ghk-location__facts .elementor-icon-box-wrapper {
  align-items: start !important;
}

body.ghk-site .ghk-location__facts .elementor-icon-box-icon {
  align-self: start !important;
  margin: 0 !important;
  padding-top: 3px !important;
  line-height: 0 !important;
}

body.ghk-site .ghk-location__facts .elementor-icon-box-content {
  align-self: start !important;
  min-width: 0 !important;
}

/* WP Go Maps calculates its viewport during initialisation. A percentage
   height only works when every parent in the Elementor widget chain has an
   explicit height. Give the visual map frame a real responsive height and
   stretch the complete widget chain into it. */
body.ghk-site .ghk-location__map {
  height: clamp(440px, 37vw, 540px) !important;
  min-height: 0 !important;
}

body.ghk-site .ghk-location__map > .elementor-widget,
body.ghk-site .ghk-location__map > .elementor-widget > .elementor-widget-container,
body.ghk-site .ghk-location__map .elementor-widget-html,
body.ghk-site .ghk-location__map .elementor-widget-html > .elementor-widget-container,
body.ghk-site .ghk-location__map .elementor-shortcode,
body.ghk-site .ghk-location__map .elementor-custom-embed,
body.ghk-site .ghk-location__map .elementor-custom-embed-image-overlay {
  display: block !important;
  width: 100% !important;
  height: 100% !important;
  min-height: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
}

body.ghk-site .ghk-location__map .wpgmza_map,
body.ghk-site .ghk-location__map .leaflet-container,
body.ghk-site .ghk-location__map .gm-style,
body.ghk-site .ghk-location__map iframe {
  width: 100% !important;
  height: 100% !important;
  min-height: 0 !important;
}

@media (max-width: 1024px) {
  body.ghk-site .ghk-location__map {
    height: 460px !important;
    min-height: 0 !important;
  }
}

@media (max-width: 767px) {
  body.ghk-site .ghk-location__map {
    height: 380px !important;
    min-height: 0 !important;
  }
}

/* --------------------------------------------------------------------------
   Version 1.15.0 – location fact alignment and map-engine isolation
   -------------------------------------------------------------------------- */

/* Elementor's block-start icon-box layout can keep centering the icon against
   a multi-line description. These rules fully reset the icon cell and align
   the visible glyph with the first text line. */
body.ghk-site .ghk-location__facts > .elementor-widget-icon-box {
  align-self: start !important;
  margin: 0 !important;
}

body.ghk-site .ghk-location__facts .elementor-icon-box-wrapper {
  display: grid !important;
  grid-template-columns: 28px minmax(0, 1fr) !important;
  grid-auto-rows: min-content !important;
  align-items: start !important;
  align-content: start !important;
  justify-items: start !important;
  column-gap: 12px !important;
  row-gap: 0 !important;
}

body.ghk-site .ghk-location__facts .elementor-icon-box-icon {
  position: relative !important;
  top: -4px !important;
  display: flex !important;
  align-items: flex-start !important;
  justify-content: center !important;
  align-self: start !important;
  width: 28px !important;
  min-width: 28px !important;
  height: 28px !important;
  margin: 0 !important;
  padding: 0 !important;
  line-height: 1 !important;
}

body.ghk-site .ghk-location__facts .elementor-icon {
  display: flex !important;
  align-items: flex-start !important;
  justify-content: center !important;
  width: 22px !important;
  height: 22px !important;
  margin: 0 !important;
  padding: 0 !important;
  line-height: 1 !important;
}

body.ghk-site .ghk-location__facts .elementor-icon svg {
  display: block !important;
  flex: 0 0 22px !important;
  width: 22px !important;
  height: 22px !important;
  margin: 0 !important;
}

body.ghk-site .ghk-location__facts .elementor-icon-box-content,
body.ghk-site .ghk-location__facts .elementor-icon-box-description {
  align-self: start !important;
  min-width: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
}

/* The theme controls only the outer map frame and the actual plugin map
   element. MapLibre's internal canvas dimensions are managed by MapLibre and
   must not be overwritten by theme CSS, otherwise the WebGL basemap can remain
   grey while Leaflet controls and markers are already visible. */
body.ghk-site .ghk-location__map .maplibregl-map,
body.ghk-site .ghk-location__map .maplibregl-canvas-container,
body.ghk-site .ghk-location__map .maplibregl-canvas {
  min-width: 0 !important;
  max-width: none !important;
}



/* --------------------------------------------------------------------------
   Version 1.24.0 – reservation inquiry form and Elementor editor stability
   -------------------------------------------------------------------------- */

/* New contact/form section. The explicit modifier keeps the previous compact
   contact CTA compatible until the section is rebuilt in Elementor. */
body.ghk-site .ghk-contact.ghk-contact--form,
body.ghk-site .ghk-contact.ghk-contact--has-form {
  display: grid !important;
  grid-template-columns: minmax(280px, 0.72fr) minmax(0, 1.45fr) !important;
  align-items: stretch !important;
  width: 100% !important;
  min-height: 0 !important;
  height: auto !important;
  padding-top: clamp(72px, 7vw, 112px) !important;
  padding-bottom: clamp(72px, 7vw, 112px) !important;
  color: var(--ghk-ink) !important;
  background:
    linear-gradient(100deg, var(--ghk-sage-100) 0%, var(--ghk-sage-50) 50%, var(--ghk-white) 100%) !important;
  gap: clamp(24px, 3vw, 44px) !important;
}

body.ghk-site .ghk-contact.ghk-contact--form > .e-con,
body.ghk-site .ghk-contact.ghk-contact--has-form > .e-con {
  width: 100% !important;
  min-width: 0 !important;
  min-height: 0 !important;
  height: auto !important;
  margin: 0 !important;
  align-self: stretch !important;
}

body.ghk-site .ghk-contact__intro {
  position: relative;
  display: flex !important;
  flex-direction: column !important;
  justify-content: flex-start !important;
  padding: clamp(34px, 3.2vw, 52px) !important;
  overflow: hidden;
  color: var(--ghk-white) !important;
  background:
    radial-gradient(circle at 100% 0%, rgba(199, 220, 205, 0.16), transparent 34%),
    var(--ghk-green-950) !important;
  border: 1px solid rgba(255, 255, 255, 0.09);
  border-radius: var(--ghk-radius-lg);
  box-shadow: var(--ghk-shadow-md);
  gap: 14px !important;
}

body.ghk-site .ghk-contact__intro h2,
body.ghk-site .ghk-contact__intro h3,
body.ghk-site .ghk-contact__intro .elementor-heading-title,
body.ghk-site .ghk-contact__intro p,
body.ghk-site .ghk-contact__intro li,
body.ghk-site .ghk-contact__intro a {
  color: var(--ghk-white) !important;
}

body.ghk-site .ghk-contact__intro h2,
body.ghk-site .ghk-contact__intro .elementor-heading-title {
  font-family: var(--ghk-font-heading) !important;
  font-size: clamp(2.1rem, 3vw, 3.15rem) !important;
  font-weight: 600 !important;
  line-height: 1.08 !important;
  letter-spacing: -0.025em !important;
}

body.ghk-site .ghk-contact__intro .ghk-eyebrow,
body.ghk-site .ghk-contact__intro .ghk-eyebrow .elementor-widget-container {
  color: var(--ghk-sage-300) !important;
}

body.ghk-site .ghk-contact__intro .ghk-actions {
  justify-content: flex-start !important;
  margin-top: auto !important;
  padding-top: 18px;
}

body.ghk-site .ghk-contact__intro .ghk-button--primary .elementor-button {
  color: var(--ghk-green-950) !important;
  background: var(--ghk-white) !important;
  border-color: var(--ghk-white) !important;
}

body.ghk-site .ghk-contact__intro .ghk-button--secondary .elementor-button {
  color: var(--ghk-white) !important;
  background: transparent !important;
  border-color: rgba(255, 255, 255, 0.62) !important;
}

body.ghk-site .ghk-contact__form {
  display: block !important;
  padding: clamp(28px, 3vw, 48px) !important;
  color: var(--ghk-ink) !important;
  background: var(--ghk-white) !important;
  border: 1px solid var(--ghk-border);
  border-radius: var(--ghk-radius-lg);
  box-shadow: var(--ghk-shadow-md);
}

body.ghk-site .ghk-contact__form > .elementor-widget,
body.ghk-site .ghk-contact__form > .elementor-widget > .elementor-widget-container {
  width: 100%;
  min-width: 0;
}

/* Fluent Forms – recommended free plugin for this project. */
body.ghk-site .ghk-contact__form .fluentform,
body.ghk-site .ghk-contact__form .frm-fluent-form,
body.ghk-site .ghk-contact__form .ff-el-form-control,
body.ghk-site .ghk-contact__form .ff-btn {
  font-family: var(--ghk-font-body) !important;
}

body.ghk-site .ghk-contact__form .ff-el-group {
  margin-bottom: 18px !important;
}

body.ghk-site .ghk-contact__form .ff-t-container {
  display: flex !important;
  align-items: flex-start !important;
  gap: 18px !important;
  width: 100% !important;
  margin: 0 !important;
}

body.ghk-site .ghk-contact__form .ff-t-cell {
  min-width: 0 !important;
  padding: 0 !important;
}

body.ghk-site .ghk-contact__form .ff-el-input--label {
  margin-bottom: 7px !important;
}

body.ghk-site .ghk-contact__form .ff-el-input--label label,
body.ghk-site .ghk-contact__form .ff-el-input--label.ff-el-is-required label {
  color: var(--ghk-green-950) !important;
  font-size: 0.94rem !important;
  font-weight: 720 !important;
  line-height: 1.35 !important;
}

body.ghk-site .ghk-contact__form .ff-el-input--label.ff-el-is-required label::after,
body.ghk-site .ghk-contact__form .ff-el-input--label .ff-el-required {
  color: var(--ghk-green-600) !important;
}

body.ghk-site .ghk-contact__form .ff-el-form-control,
body.ghk-site .ghk-contact__form input[type="text"],
body.ghk-site .ghk-contact__form input[type="email"],
body.ghk-site .ghk-contact__form input[type="tel"],
body.ghk-site .ghk-contact__form input[type="number"],
body.ghk-site .ghk-contact__form input[type="date"],
body.ghk-site .ghk-contact__form select,
body.ghk-site .ghk-contact__form textarea {
  width: 100% !important;
  min-width: 0 !important;
  min-height: 52px !important;
  padding: 12px 15px !important;
  color: var(--ghk-ink) !important;
  background: var(--ghk-sage-50) !important;
  border: 1px solid #bfd1c4 !important;
  border-radius: 9px !important;
  box-shadow: none !important;
  font-size: 1rem !important;
  line-height: 1.35 !important;
  transition: border-color 160ms ease, background-color 160ms ease, box-shadow 160ms ease !important;
}

body.ghk-site .ghk-contact__form textarea.ff-el-form-control,
body.ghk-site .ghk-contact__form textarea {
  min-height: 150px !important;
  resize: vertical;
}

body.ghk-site .ghk-contact__form .ff-el-form-control::placeholder,
body.ghk-site .ghk-contact__form input::placeholder,
body.ghk-site .ghk-contact__form textarea::placeholder {
  color: #7a8980 !important;
  opacity: 1;
}

body.ghk-site .ghk-contact__form .ff-el-form-control:focus,
body.ghk-site .ghk-contact__form input:focus,
body.ghk-site .ghk-contact__form select:focus,
body.ghk-site .ghk-contact__form textarea:focus {
  outline: 0 !important;
  color: var(--ghk-ink) !important;
  background: var(--ghk-white) !important;
  border-color: var(--ghk-green-600) !important;
  box-shadow: 0 0 0 3px rgba(60, 126, 96, 0.15) !important;
}

body.ghk-site .ghk-contact__form select.ff-el-form-control,
body.ghk-site .ghk-contact__form select {
  cursor: pointer;
}

body.ghk-site .ghk-contact__form .ff-el-form-check {
  display: flex !important;
  align-items: flex-start !important;
  gap: 10px;
}

body.ghk-site .ghk-contact__form .ff-el-form-check-input {
  flex: 0 0 auto;
  width: 18px !important;
  height: 18px !important;
  margin: 3px 0 0 !important;
  accent-color: var(--ghk-green-700);
}

body.ghk-site .ghk-contact__form .ff-el-form-check-label,
body.ghk-site .ghk-contact__form .ff-el-form-check-label p {
  margin: 0 !important;
  color: var(--ghk-muted) !important;
  font-size: 0.88rem !important;
  line-height: 1.55 !important;
}

body.ghk-site .ghk-contact__form .ff-el-form-check-label a {
  color: var(--ghk-green-800) !important;
  font-weight: 700;
}

body.ghk-site .ghk-contact__form .ff-btn-submit,
body.ghk-site .ghk-contact__form button[type="submit"],
body.ghk-site .ghk-contact__form input[type="submit"] {
  min-height: 52px !important;
  padding: 13px 28px !important;
  color: var(--ghk-white) !important;
  background: var(--ghk-green-800) !important;
  border: 1px solid var(--ghk-green-800) !important;
  border-radius: 9px !important;
  box-shadow: 0 10px 24px rgba(16, 47, 37, 0.14) !important;
  font-family: var(--ghk-font-body) !important;
  font-size: 0.98rem !important;
  font-weight: 760 !important;
  line-height: 1.2 !important;
  cursor: pointer;
  transition: transform 160ms ease, background-color 160ms ease, border-color 160ms ease, box-shadow 160ms ease !important;
}

body.ghk-site .ghk-contact__form .ff-btn-submit:hover,
body.ghk-site .ghk-contact__form button[type="submit"]:hover,
body.ghk-site .ghk-contact__form input[type="submit"]:hover {
  background: var(--ghk-green-950) !important;
  border-color: var(--ghk-green-950) !important;
  box-shadow: 0 14px 30px rgba(16, 47, 37, 0.2) !important;
  transform: translateY(-1px);
}

body.ghk-site .ghk-contact__form .ff-el-is-error .ff-el-form-control,
body.ghk-site .ghk-contact__form .error.text-danger {
  border-color: #b64c4c !important;
}

body.ghk-site .ghk-contact__form .text-danger,
body.ghk-site .ghk-contact__form .ff-el-is-error .text-danger {
  margin-top: 5px !important;
  color: #9b3636 !important;
  font-size: 0.82rem !important;
}

body.ghk-site .ghk-contact__form .ff-message-success {
  padding: 16px 18px !important;
  color: var(--ghk-green-950) !important;
  background: var(--ghk-sage-100) !important;
  border: 1px solid var(--ghk-sage-300) !important;
  border-radius: 10px !important;
  box-shadow: none !important;
}

/* Fluent Forms uses Flatpickr for its calendar input. */
body.ghk-site .flatpickr-calendar {
  overflow: hidden;
  border: 1px solid var(--ghk-border) !important;
  border-radius: 12px !important;
  box-shadow: var(--ghk-shadow-md) !important;
  font-family: var(--ghk-font-body) !important;
}

body.ghk-site .flatpickr-months,
body.ghk-site .flatpickr-weekdays {
  background: var(--ghk-green-950) !important;
}

body.ghk-site .flatpickr-current-month,
body.ghk-site .flatpickr-current-month .flatpickr-monthDropdown-months,
body.ghk-site .flatpickr-current-month input.cur-year,
body.ghk-site span.flatpickr-weekday,
body.ghk-site .flatpickr-prev-month,
body.ghk-site .flatpickr-next-month {
  color: var(--ghk-white) !important;
  fill: var(--ghk-white) !important;
}

body.ghk-site .flatpickr-day.selected,
body.ghk-site .flatpickr-day.startRange,
body.ghk-site .flatpickr-day.endRange {
  color: var(--ghk-white) !important;
  background: var(--ghk-green-700) !important;
  border-color: var(--ghk-green-700) !important;
}

body.ghk-site .flatpickr-day:hover,
body.ghk-site .flatpickr-day:focus {
  background: var(--ghk-sage-100) !important;
  border-color: var(--ghk-sage-200) !important;
}

/* Basic fallback styling for Contact Form 7 and Forminator if the project is
   switched later. Fluent Forms remains the intended integration. */
body.ghk-site .ghk-contact__form .wpcf7-form-control.wpcf7-text,
body.ghk-site .ghk-contact__form .wpcf7-form-control.wpcf7-email,
body.ghk-site .ghk-contact__form .wpcf7-form-control.wpcf7-tel,
body.ghk-site .ghk-contact__form .wpcf7-form-control.wpcf7-date,
body.ghk-site .ghk-contact__form .wpcf7-form-control.wpcf7-select,
body.ghk-site .ghk-contact__form .wpcf7-form-control.wpcf7-textarea,
body.ghk-site .ghk-contact__form .forminator-input,
body.ghk-site .ghk-contact__form .forminator-textarea,
body.ghk-site .ghk-contact__form .forminator-select {
  width: 100% !important;
  min-height: 52px !important;
  padding: 12px 15px !important;
  color: var(--ghk-ink) !important;
  background: var(--ghk-sage-50) !important;
  border: 1px solid #bfd1c4 !important;
  border-radius: 9px !important;
}

/* Elementor editor: show the intended section layout without relying on the
   frontend-only DOM preparation functions. Also keep outlines selectable. */
body.elementor-editor-active .ghk-onepager,
body.ghk-site.elementor-editor-active .ghk-onepager {
  overflow: visible !important;
}

body.elementor-editor-active .ghk-contact.ghk-contact--form,
body.elementor-editor-active .ghk-contact.ghk-contact--has-form,
body.ghk-site.elementor-editor-active .ghk-contact.ghk-contact--form,
body.ghk-site.elementor-editor-active .ghk-contact.ghk-contact--has-form {
  display: grid !important;
  grid-template-columns: minmax(260px, 0.72fr) minmax(0, 1.45fr) !important;
  align-items: stretch !important;
  min-height: 420px !important;
}

body.elementor-editor-active .ghk-contact__intro,
body.elementor-editor-active .ghk-contact__form {
  display: flex !important;
  min-width: 0 !important;
  min-height: 260px !important;
  opacity: 1 !important;
  visibility: visible !important;
}

body.elementor-editor-active .ghk-contact__form {
  flex-direction: column !important;
}

body.elementor-editor-active .ghk-contact__form .elementor-widget-fluent-form,
body.elementor-editor-active .ghk-contact__form .elementor-widget-shortcode,
body.elementor-editor-active .ghk-contact__form .fluentform,
body.elementor-editor-active .ghk-contact__form .frm-fluent-form {
  display: block !important;
  width: 100% !important;
  min-height: 140px !important;
  opacity: 1 !important;
  visibility: visible !important;
}

@media (max-width: 1024px) {
  body.ghk-site .ghk-contact.ghk-contact--form,
  body.ghk-site .ghk-contact.ghk-contact--has-form,
  body.elementor-editor-active .ghk-contact.ghk-contact--form,
  body.elementor-editor-active .ghk-contact.ghk-contact--has-form {
    grid-template-columns: minmax(230px, 0.7fr) minmax(0, 1.3fr) !important;
    gap: 22px !important;
  }

  body.ghk-site .ghk-contact__intro,
  body.ghk-site .ghk-contact__form {
    padding: 30px !important;
  }
}

@media (max-width: 767px) {
  body.ghk-site .ghk-contact.ghk-contact--form,
  body.ghk-site .ghk-contact.ghk-contact--has-form,
  body.elementor-editor-active .ghk-contact.ghk-contact--form,
  body.elementor-editor-active .ghk-contact.ghk-contact--has-form {
    display: flex !important;
    flex-direction: column !important;
    padding-top: 64px !important;
    padding-bottom: 64px !important;
    gap: 18px !important;
  }

  body.ghk-site .ghk-contact__intro,
  body.ghk-site .ghk-contact__form {
    padding: 26px 22px !important;
    border-radius: 18px;
  }

  body.ghk-site .ghk-contact__form .ff-t-container {
    display: flex !important;
    flex-direction: column !important;
    gap: 0 !important;
  }

  body.ghk-site .ghk-contact__form .ff-t-cell {
    width: 100% !important;
    flex-basis: auto !important;
  }

  body.ghk-site .ghk-contact__form .ff-btn-submit,
  body.ghk-site .ghk-contact__form button[type="submit"],
  body.ghk-site .ghk-contact__form input[type="submit"] {
    width: 100% !important;
  }
}

/* --------------------------------------------------------------------------
   Version 1.25.0 – contact heading containment and Fluent Forms submit button
   -------------------------------------------------------------------------- */

/* Give the introductory card enough usable width while preserving the form as
   the dominant column. Elementor widgets must be allowed to shrink inside the
   grid; otherwise long headings can overflow their card. */
body.ghk-site .ghk-contact.ghk-contact--form,
body.ghk-site .ghk-contact.ghk-contact--has-form,
body.elementor-editor-active .ghk-contact.ghk-contact--form,
body.elementor-editor-active .ghk-contact.ghk-contact--has-form {
  grid-template-columns: minmax(330px, 0.82fr) minmax(0, 1.45fr) !important;
}

body.ghk-site .ghk-contact__intro,
body.ghk-site .ghk-contact__intro > .elementor-element,
body.ghk-site .ghk-contact__intro .elementor-widget-container,
body.elementor-editor-active .ghk-contact__intro,
body.elementor-editor-active .ghk-contact__intro > .elementor-element,
body.elementor-editor-active .ghk-contact__intro .elementor-widget-container {
  width: 100% !important;
  min-width: 0 !important;
  max-width: 100% !important;
}

body.ghk-site .ghk-contact__intro h2,
body.ghk-site .ghk-contact__intro .elementor-heading-title,
body.elementor-editor-active .ghk-contact__intro h2,
body.elementor-editor-active .ghk-contact__intro .elementor-heading-title {
  width: 100% !important;
  max-width: 100% !important;
  margin-inline: 0 !important;
  font-size: clamp(2.05rem, 2.35vw, 2.55rem) !important;
  line-height: 1.1 !important;
  letter-spacing: -0.035em !important;
  overflow-wrap: break-word !important;
  word-break: normal !important;
  hyphens: auto;
}

/* Fluent Forms' Elementor widget can add a custom blue button rule with high
   specificity. These selectors deliberately target the widget and the actual
   Fluent Forms button classes so the project design wins in frontend/editor. */
body.ghk-site .ghk-contact__form .ff_submit_btn_wrapper,
body.elementor-editor-active .ghk-contact__form .ff_submit_btn_wrapper {
  display: flex !important;
  justify-content: flex-start !important;
  align-items: center !important;
  width: 100% !important;
  margin: 8px 0 0 !important;
  text-align: left !important;
}

body.ghk-site .ghk-contact__form .fluentform-widget-submit-button-custom .ff-btn.ff-btn-submit,
body.ghk-site .ghk-contact__form .frm-fluent-form .ff-btn.ff-btn-submit.ff_btn_style,
body.ghk-site .ghk-contact__form .ff_submit_btn_wrapper > .ff-btn-submit,
body.elementor-editor-active .ghk-contact__form .fluentform-widget-submit-button-custom .ff-btn.ff-btn-submit,
body.elementor-editor-active .ghk-contact__form .frm-fluent-form .ff-btn.ff-btn-submit.ff_btn_style,
body.elementor-editor-active .ghk-contact__form .ff_submit_btn_wrapper > .ff-btn-submit {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: auto !important;
  min-width: 190px !important;
  min-height: 54px !important;
  margin: 0 !important;
  padding: 14px 30px !important;
  color: var(--ghk-white) !important;
  background: var(--ghk-green-800) !important;
  background-color: var(--ghk-green-800) !important;
  border: 1px solid var(--ghk-green-800) !important;
  border-radius: 10px !important;
  box-shadow: 0 10px 24px rgba(16, 47, 37, 0.16) !important;
  font-family: var(--ghk-font-body) !important;
  font-size: 1rem !important;
  font-weight: 760 !important;
  line-height: 1.2 !important;
  text-decoration: none !important;
  opacity: 1 !important;
  cursor: pointer !important;
  appearance: none !important;
  -webkit-appearance: none !important;
}

body.ghk-site .ghk-contact__form .fluentform-widget-submit-button-custom .ff-btn.ff-btn-submit:hover,
body.ghk-site .ghk-contact__form .frm-fluent-form .ff-btn.ff-btn-submit.ff_btn_style:hover,
body.ghk-site .ghk-contact__form .ff_submit_btn_wrapper > .ff-btn-submit:hover,
body.elementor-editor-active .ghk-contact__form .fluentform-widget-submit-button-custom .ff-btn.ff-btn-submit:hover,
body.elementor-editor-active .ghk-contact__form .frm-fluent-form .ff-btn.ff-btn-submit.ff_btn_style:hover,
body.elementor-editor-active .ghk-contact__form .ff_submit_btn_wrapper > .ff-btn-submit:hover {
  color: var(--ghk-white) !important;
  background: var(--ghk-green-950) !important;
  background-color: var(--ghk-green-950) !important;
  border-color: var(--ghk-green-950) !important;
  box-shadow: 0 14px 30px rgba(16, 47, 37, 0.22) !important;
  transform: translateY(-1px) !important;
}

body.ghk-site .ghk-contact__form .ff-btn.ff-btn-submit:focus-visible,
body.elementor-editor-active .ghk-contact__form .ff-btn.ff-btn-submit:focus-visible {
  outline: 3px solid rgba(155, 196, 138, 0.65) !important;
  outline-offset: 3px !important;
}

@media (max-width: 1180px) {
  body.ghk-site .ghk-contact.ghk-contact--form,
  body.ghk-site .ghk-contact.ghk-contact--has-form,
  body.elementor-editor-active .ghk-contact.ghk-contact--form,
  body.elementor-editor-active .ghk-contact.ghk-contact--has-form {
    grid-template-columns: minmax(285px, 0.76fr) minmax(0, 1.35fr) !important;
  }

  body.ghk-site .ghk-contact__intro h2,
  body.ghk-site .ghk-contact__intro .elementor-heading-title,
  body.elementor-editor-active .ghk-contact__intro h2,
  body.elementor-editor-active .ghk-contact__intro .elementor-heading-title {
    font-size: clamp(1.95rem, 3vw, 2.35rem) !important;
  }
}

@media (max-width: 767px) {
  body.ghk-site .ghk-contact__intro h2,
  body.ghk-site .ghk-contact__intro .elementor-heading-title,
  body.elementor-editor-active .ghk-contact__intro h2,
  body.elementor-editor-active .ghk-contact__intro .elementor-heading-title {
    font-size: clamp(2rem, 10vw, 2.65rem) !important;
  }

  body.ghk-site .ghk-contact__form .fluentform-widget-submit-button-custom .ff-btn.ff-btn-submit,
  body.ghk-site .ghk-contact__form .frm-fluent-form .ff-btn.ff-btn-submit.ff_btn_style,
  body.ghk-site .ghk-contact__form .ff_submit_btn_wrapper > .ff-btn-submit,
  body.elementor-editor-active .ghk-contact__form .fluentform-widget-submit-button-custom .ff-btn.ff-btn-submit,
  body.elementor-editor-active .ghk-contact__form .frm-fluent-form .ff-btn.ff-btn-submit.ff_btn_style,
  body.elementor-editor-active .ghk-contact__form .ff_submit_btn_wrapper > .ff-btn-submit {
    width: 100% !important;
    min-width: 0 !important;
  }
}



/* --------------------------------------------------------------------------
   Version 1.26.0 – pet image mirrors the breakfast image layout
   -------------------------------------------------------------------------- */

/* Keep both editorial extra cards visually identical: full-height image on the
   left, content on the right. This also applies inside Elementor's editor. */
@media (min-width: 1181px) {
  body.ghk-site .ghk-pricing,
  body.elementor-editor-active .ghk-pricing {
    grid-template-columns:
      repeat(4, minmax(118px, 0.68fr))
      repeat(2, minmax(310px, 1.55fr)) !important;
  }
}

body.ghk-site .ghk-extra-card--pets,
body.elementor-editor-active .ghk-extra-card--pets {
  position: relative;
  display: grid !important;
  grid-template-columns: minmax(145px, 0.92fr) minmax(0, 1.08fr) !important;
  grid-template-rows: auto 1fr !important;
  align-items: start !important;
  gap: 0 !important;
  padding: 0 !important;
  overflow: hidden !important;
}

body.ghk-site .ghk-extra-card--pets > .elementor-widget-image,
body.elementor-editor-active .ghk-extra-card--pets > .elementor-widget-image {
  grid-column: 1 !important;
  grid-row: 1 / -1 !important;
  align-self: stretch !important;
  justify-self: stretch !important;
  width: 100% !important;
  max-width: none !important;
  height: 100% !important;
  min-height: 210px !important;
  margin: 0 !important;
}

body.ghk-site .ghk-extra-card--pets > .elementor-widget-image .elementor-widget-container,
body.ghk-site .ghk-extra-card--pets > .elementor-widget-image a,
body.ghk-site .ghk-extra-card--pets > .elementor-widget-image picture,
body.elementor-editor-active .ghk-extra-card--pets > .elementor-widget-image .elementor-widget-container,
body.elementor-editor-active .ghk-extra-card--pets > .elementor-widget-image a,
body.elementor-editor-active .ghk-extra-card--pets > .elementor-widget-image picture {
  display: block !important;
  width: 100% !important;
  height: 100% !important;
}

body.ghk-site .ghk-extra-card--pets > .elementor-widget-image img,
body.elementor-editor-active .ghk-extra-card--pets > .elementor-widget-image img {
  display: block !important;
  width: 100% !important;
  max-width: none !important;
  height: 100% !important;
  min-height: 210px !important;
  max-height: none !important;
  aspect-ratio: auto !important;
  object-fit: cover !important;
  object-position: center !important;
  border-radius: 0 !important;
}

body.ghk-site .ghk-extra-card--pets > :not(.elementor-widget-image),
body.elementor-editor-active .ghk-extra-card--pets > :not(.elementor-widget-image) {
  grid-column: 2 !important;
  position: relative;
  z-index: 2;
  width: 100% !important;
  min-width: 0 !important;
  margin: 0 !important;
  padding-right: clamp(20px, 2vw, 30px) !important;
  padding-left: clamp(20px, 2vw, 30px) !important;
}

body.ghk-site .ghk-extra-card--pets > .elementor-widget-heading,
body.elementor-editor-active .ghk-extra-card--pets > .elementor-widget-heading {
  padding-top: 24px !important;
}

body.ghk-site .ghk-extra-card--pets > .elementor-widget-text-editor,
body.elementor-editor-active .ghk-extra-card--pets > .elementor-widget-text-editor {
  padding-bottom: 22px !important;
}

/* Paw fallback removed completely – the direct Elementor image is now the only
   visual used in the pet card. */
body.ghk-site .ghk-extra-card--pets::after,
body.elementor-editor-active .ghk-extra-card--pets::after {
  display: none !important;
  content: none !important;
  -webkit-mask: none !important;
  mask: none !important;
  background: none !important;
}

@media (max-width: 1180px) {
  body.ghk-site .ghk-extra-card--pets > .elementor-widget-image,
  body.ghk-site .ghk-extra-card--pets > .elementor-widget-image img,
  body.elementor-editor-active .ghk-extra-card--pets > .elementor-widget-image,
  body.elementor-editor-active .ghk-extra-card--pets > .elementor-widget-image img {
    min-height: 260px !important;
  }
}

@media (max-width: 767px) {
  body.ghk-site .ghk-extra-card--pets,
  body.elementor-editor-active .ghk-extra-card--pets {
    grid-template-columns: minmax(0, 1fr) !important;
    grid-template-rows: auto auto auto !important;
    min-height: 0 !important;
  }

  body.ghk-site .ghk-extra-card--pets > .elementor-widget-image,
  body.elementor-editor-active .ghk-extra-card--pets > .elementor-widget-image {
    grid-column: 1 !important;
    grid-row: 1 !important;
    justify-self: stretch !important;
    width: 100% !important;
    min-height: 220px !important;
  }

  body.ghk-site .ghk-extra-card--pets > .elementor-widget-image img,
  body.elementor-editor-active .ghk-extra-card--pets > .elementor-widget-image img {
    min-height: 220px !important;
    max-height: 280px !important;
    object-fit: cover !important;
  }

  body.ghk-site .ghk-extra-card--pets > :not(.elementor-widget-image),
  body.elementor-editor-active .ghk-extra-card--pets > :not(.elementor-widget-image) {
    grid-column: 1 !important;
  }
}


/* --------------------------------------------------------------------------
   Version 1.27.0 – frontend-equivalent Elementor preview
   -------------------------------------------------------------------------- */

/* The public website already uses a prepared DOM composition. The editor now
   receives the same generated classes and grouping while keeping all changes
   inside Elementor's preview iframe only. */
body.ghk-editor-frontend-layout .ghk-rooms--merged,
body.ghk-editor-frontend-layout .ghk-excursions,
body.ghk-editor-frontend-layout .ghk-footer__inner {
  overflow: visible !important;
}

body.ghk-editor-frontend-layout .ghk-rooms--merged > .ghk-room-overview,
body.ghk-editor-frontend-layout .ghk-rooms--merged > .ghk-gallery--rooms,
body.ghk-editor-frontend-layout .ghk-rooms--merged > .ghk-notice--cancellation,
body.ghk-editor-frontend-layout .ghk-excursion-card,
body.ghk-editor-frontend-layout .ghk-footer__inner > .e-con {
  min-width: 0 !important;
  visibility: visible !important;
  opacity: 1 !important;
}

/* Keep Elementor's widget handles clickable after widgets have been visually
   regrouped into the same cards used on the frontend. */
body.ghk-editor-frontend-layout .ghk-room-overview > .elementor-element,
body.ghk-editor-frontend-layout .ghk-excursion-card > .elementor-element,
body.ghk-editor-frontend-layout .ghk-footer__inner .elementor-element {
  position: relative;
  z-index: 1;
}

/* The gallery carousel can initialize a fraction later in the editor. Reserve
   the same space as the frontend while Elementor finishes rendering it. */
body.ghk-editor-frontend-layout .ghk-gallery--rooms {
  min-height: 320px;
}

body.ghk-editor-frontend-layout .ghk-gallery--rooms:has(.elementor-image-carousel-wrapper) {
  min-height: 0;
}

/* Footer templates are sometimes rendered without Elementor's semantic footer
   wrapper in the editor. The project class remains the stable styling hook. */
body.ghk-editor-frontend-layout .ghk-site-footer,
body.ghk-editor-frontend-layout .ghk-site-footer.e-con {
  display: block !important;
  min-height: 0 !important;
  visibility: visible !important;
  opacity: 1 !important;
}

body.ghk-editor-frontend-layout .ghk-footer__inner {
  display: grid !important;
  height: auto !important;
  min-height: 0 !important;
}

body.ghk-editor-frontend-layout .ghk-footer__bottom {
  display: flex !important;
  height: auto !important;
  min-height: 0 !important;
}
