/*
Theme Name: Kadence Child
Version: 1.0
Description: Custom Theme based on kadence – Kongress & TheaterHaus Bad Ischl
Author: Sieb
Author URI: salsalavista.at
Template: kadence
Text Domain: kadence-child
*/


/* ============================================================
   1. GOOGLE FONTS
   Playfair Display → serif for headlines & event titles
   Inter            → humanist sans for body, nav, UI labels
   ============================================================ */
@import url('https://fonts.googleapis.com/css2?family=Playfair+Display:ital,wght@0,400;0,500;1,400&family=Inter:wght@400;500;600&display=swap');


/* ============================================================
   2. DESIGN TOKENS
   Single source of truth for colours, fonts, spacing, radii.
   All other rules reference these variables.
   ============================================================ */
:root {

  /* Colours */
  --ki-bg:            #FAF8F4;   /* warm white — page background           */
  --ki-surface:       #E8E2D6;   /* sandstone — cards, dividers            */
  --ki-primary:       #1F4D45;   /* Tannengrün — header, primary buttons   */
  --ki-primary-hover: #3D6E63;   /* lighter green — hover states           */
  --ki-accent:        #C97B3D;   /* Bernstein/amber — tickets CTA, prices  */
  --ki-accent-hover:  #B06930;   /* darker amber — accent hover            */
  --ki-text:          #2B2823;   /* dark brown-black — body text           */
  --ki-text-muted:    #6B6560;   /* muted — captions, meta, labels         */
  --ki-white:         #FFFFFF;

  /* Typography */
  --ki-font-serif:    'Playfair Display', Georgia, serif;
  --ki-font-sans:     'Inter', system-ui, sans-serif;

  /* Font sizes */
  --ki-text-xs:    0.8125rem;  /* 13px */
  --ki-text-sm:    0.875rem;   /* 14px */
  --ki-text-base:  1rem;       /* 16px */
  --ki-text-lg:    1.125rem;   /* 18px */
  --ki-text-xl:    1.375rem;   /* 22px */
  --ki-text-2xl:   1.75rem;    /* 28px */
  --ki-text-3xl:   2.25rem;    /* 36px */
  --ki-text-4xl:   3rem;       /* 48px */

  /* Line heights */
  --ki-leading-tight:   1.25;
  --ki-leading-heading: 1.2;
  --ki-leading-body:    1.7;

  /* Spacing */
  --ki-space-xs:  0.5rem;
  --ki-space-sm:  1rem;
  --ki-space-md:  1.5rem;
  --ki-space-lg:  2.5rem;
  --ki-space-xl:  4rem;

  /* Border radius */
  --ki-radius-sm:   8px;
  --ki-radius-pill: 24px;
  --ki-radius-card: 12px;

  /* Shadows */
  --ki-shadow-sm: 0 1px 3px rgba(31,77,69,.08);
  --ki-shadow-md: 0 4px 16px rgba(31,77,69,.12);
  --ki-shadow-lg: 0 8px 32px rgba(31,77,69,.16);

  /* Kadence global palette — maps our tokens onto Kadence's
     internal variables so Kadence Blocks inherit the palette */
  --global-palette1: #1F4D45 !important;
  --global-palette2: #3D6E63 !important;
  --global-palette3: #C97B3D !important;
  --global-palette4: #2B2823 !important;
  --global-palette5: #6B6560 !important;
  --global-palette6: #E8E2D6 !important;
  --global-palette7: #FAF8F4 !important;
  --global-palette8: #FFFFFF !important;

  --global-body-font-family:    var(--ki-font-sans);
  --global-heading-font-family: var(--ki-font-serif);

  /* Elementor global variables — syncs our palette into
     Elementor's kit so widgets respect the same colours */
  --e-global-color-primary:   #1F4D45;
  --e-global-color-secondary: #C97B3D;
  --e-global-color-text:      #2B2823;
  --e-global-color-accent:    #3D6E63;

  --e-global-typography-primary-font-family:    'Playfair Display';
  --e-global-typography-primary-font-weight:    400;
  --e-global-typography-secondary-font-family:  'Inter';
  --e-global-typography-secondary-font-weight:  500;
  --e-global-typography-text-font-family:       'Inter';
  --e-global-typography-text-font-weight:       400;
  --e-global-typography-accent-font-family:     'Inter';
  --e-global-typography-accent-font-weight:     600;
}


/* ============================================================
   3. BASE OVERRIDES
   ============================================================ */
body {
  font-family: var(--ki-font-sans) !important;
  font-size:   var(--ki-text-base) !important;
  line-height: var(--ki-leading-body)!important;
  color:       var(--ki-text) !important;
  background:  var(--ki-bg) !important;
}

h1, h2, h3, h4, h5, h6,
.entry-title,
.wp-block-post-title {
  font-family: var(--ki-font-serif) !important;
  font-weight: 400 !important;
  line-height: var(--ki-leading-heading) !important;
  color:       var(--ki-primary) !important;
}

h1 { font-size: var(--ki-text-4xl) !important; }
h2 { font-size: var(--ki-text-3xl) !important; }
h3 { font-size: var(--ki-text-2xl) !important; }
h4 { font-size: var(--ki-text-xl)  !important; }
h5,
h6 { font-size: var(--ki-text-lg)  !important; }

p {
  font-family: var(--ki-font-sans);
  font-size:   var(--ki-text-base);
  line-height: var(--ki-leading-body);
  color:       var(--ki-text);
}

a {
  color:           var(--ki-primary);
  text-decoration: none;
  transition:      color .2s ease;
}
a:hover {
  color: var(--ki-primary-hover);
}


/* ============================================================
   4. NAVIGATION
   Removes current all-caps + heavy letter-spacing style.
   ============================================================ */
.main-navigation,
.site-header .main-navigation a,
#site-navigation a {
  font-family:    var(--ki-font-sans);
  font-size:      var(--ki-text-sm);
  font-weight:    500;
  letter-spacing: 0;
  text-transform: none;
  color:          var(--ki-text);
}

#site-navigation a:hover,
#site-navigation .current-menu-item > a {
  color: var(--ki-primary);
}

.site-header,
.kadence-header {
  background:    var(--ki-white);
  border-bottom: 1px solid var(--ki-surface);
}


/* ============================================================
   5. BUTTONS
   Pill shape, three-level hierarchy.
   ============================================================ */
.wp-block-button__link,
.button,
button,
input[type="submit"],
.ki-btn {
  font-family:    var(--ki-font-sans);
  font-size:      var(--ki-text-sm);
  font-weight:    500;
  border-radius:  var(--ki-radius-pill);
  padding:        11px 24px;
  display:        inline-block;
  cursor:         pointer;
  transition:     background .2s ease, color .2s ease, border-color .2s ease;
  text-transform: none;
  letter-spacing: 0;
  border:         none;
  line-height:    1.4;
}

/* Primary — amber: "Tickets sichern" */
.wp-block-button.is-style-fill .wp-block-button__link,
.ki-btn-primary {
  background: var(--ki-accent);
  color:      var(--ki-white);
}
.wp-block-button.is-style-fill .wp-block-button__link:hover,
.ki-btn-primary:hover {
  background: var(--ki-accent-hover);
  color:      var(--ki-white);
}

/* Secondary — green: "Anfrage senden" */
.ki-btn-secondary,
button[type="submit"],
input[type="submit"] {
  background: var(--ki-primary);
  color:      var(--ki-white);
}
.ki-btn-secondary:hover,
button[type="submit"]:hover,
input[type="submit"]:hover {
  background: var(--ki-primary-hover);
  color:      var(--ki-white);
}

/* Tertiary — outline: "Mehr erfahren", "Speisekarte" */
.wp-block-button.is-style-outline .wp-block-button__link,
.ki-btn-outline {
  background: transparent;
  color:      var(--ki-primary);
  border:     1.5px solid var(--ki-primary);
  padding:    10px 22px;
}
.wp-block-button.is-style-outline .wp-block-button__link:hover,
.ki-btn-outline:hover {
  background: var(--ki-primary);
  color:      var(--ki-white);
}


/* ============================================================
   6. FORM FIELDS
   White fill, soft sandstone border, rounded corners.
   ============================================================ */
input[type="text"],
input[type="email"],
input[type="tel"],
input[type="number"],
input[type="search"],
input[type="url"],
textarea,
select {
  font-family:   var(--ki-font-sans);
  font-size:     var(--ki-text-sm);
  color:         var(--ki-text);
  background:    var(--ki-white);
  border:        1px solid #C9C3B4;
  border-radius: var(--ki-radius-sm);
  padding:       10px 14px;
  width:         100%;
  transition:    border-color .2s ease, box-shadow .2s ease;
}
input:focus,
textarea:focus,
select:focus {
  outline:      none;
  border-color: var(--ki-primary);
  box-shadow:   0 0 0 3px rgba(31,77,69,.12);
}

label {
  font-family:   var(--ki-font-sans);
  font-size:     var(--ki-text-xs);
  font-weight:   500;
  color:         var(--ki-text-muted);
  margin-bottom: 4px;
  display:       block;
}


/* ============================================================
   7. CARDS
   ============================================================ */
.ki-card {
  background:    var(--ki-white);
  border-radius: var(--ki-radius-card);
  box-shadow:    var(--ki-shadow-sm);
  overflow:      hidden;
  transition:    box-shadow .2s ease, transform .2s ease;
}
.ki-card:hover {
  box-shadow: var(--ki-shadow-md);
  transform:  translateY(-2px);
}
.ki-card__body  { padding: var(--ki-space-md); }
.ki-card__title {
  font-family: var(--ki-font-serif);
  font-size:   var(--ki-text-xl);
  color:       var(--ki-primary);
  margin:      0 0 var(--ki-space-xs);
}
.ki-card__meta {
  font-family:    var(--ki-font-sans);
  font-size:      var(--ki-text-xs);
  color:          var(--ki-text-muted);
  text-transform: uppercase;
  letter-spacing: 0.05em;
}
.ki-card__price {
  font-family: var(--ki-font-sans);
  font-size:   var(--ki-text-lg);
  font-weight: 600;
  color:       var(--ki-accent);
}


/* ============================================================
   8. HERO SECTION
   ============================================================ */
.ki-hero {
  position:    relative;
  min-height:  80vh;
  display:     flex;
  align-items: center;
}
.ki-hero__overlay {
  background:    rgba(31,77,69,.82);
  border-radius: 0 var(--ki-radius-card) var(--ki-radius-card) 0;
  padding:       var(--ki-space-xl) var(--ki-space-lg);
  max-width:     480px;
  color:         var(--ki-white);
}
.ki-hero__eyebrow {
  font-family:    var(--ki-font-sans);
  font-size:      var(--ki-text-xs);
  letter-spacing: .1em;
  text-transform: uppercase;
  color:          rgba(255,255,255,.7);
  margin-bottom:  var(--ki-space-xs);
}
.ki-hero__title {
  font-family: var(--ki-font-serif);
  font-size:   var(--ki-text-3xl);
  color:       var(--ki-white);
  margin:      0 0 var(--ki-space-md);
}
.ki-hero__info {
  font-family: var(--ki-font-sans);
  font-size:   var(--ki-text-sm);
  color:       rgba(255,255,255,.85);
  margin:      0 0 var(--ki-space-md);
  line-height: var(--ki-leading-body);
}

/* ============================================================
   BUTTON FIXES — broader selectors to catch all button types
   ============================================================ */

/* Default Gutenberg button (no style class set) */
.wp-block-button__link {
  background:    var(--ki-accent) !important;
  color:         var(--ki-white) !important;
  border-radius: var(--ki-radius-pill) !important;
  border:        none !important;
  padding:       11px 24px !important;
  font-family:   var(--ki-font-sans) !important;
  font-size:     var(--ki-text-sm) !important;
  font-weight:   500 !important;
}
.wp-block-button__link:hover {
  background: var(--ki-accent-hover) !important;
  color:      var(--ki-white) !important;
}

/* Outline style Gutenberg button */
.wp-block-button.is-style-outline .wp-block-button__link {
  background:    transparent !important;
  color:         var(--ki-white) !important;
  border:        1.5px solid var(--ki-white) !important;
  border-radius: var(--ki-radius-pill) !important;
}
.wp-block-button.is-style-outline .wp-block-button__link:hover {
  background: var(--ki-white) !important;
  color:      var(--ki-primary) !important;
}

/* Kadence Blocks buttons */
.kb-button {
  background:    var(--ki-accent) !important;
  color:         var(--ki-white) !important;
  border-radius: var(--ki-radius-pill) !important;
  font-family:   var(--ki-font-sans) !important;
  font-weight:   500 !important;
}
.kb-button:hover {
  background: var(--ki-accent-hover) !important;
}

/* Stackable buttons */
.stk-button {
  background:    var(--ki-accent) !important;
  color:         var(--ki-white) !important;
  border-radius: var(--ki-radius-pill) !important;
  font-family:   var(--ki-font-sans) !important;
  font-weight:   500 !important;
}
.stk-button:hover {
  background: var(--ki-accent-hover) !important;
}

/* ============================================================
   9. BUTTON VARIANTS ON WRAPPED BLOCKS (Stackable / Kadence Blocks /
   Gutenberg core)
   The ki-btn-primary/secondary/outline class is applied by the block
   editor to the block's outer wrapper, not to the visible button
   element itself (e.g. Stackable renders the button as a nested
   <a class="stk-button"> inside the wrapper div). These higher-
   specificity descendant rules reach the real button element so the
   variant actually overrides the blanket amber fixes above.
   ============================================================ */
.ki-btn-primary .stk-button,
.ki-btn-primary.stk-button,
.ki-btn-primary .kb-button,
.ki-btn-primary .wp-block-button__link {
  background: var(--ki-accent) !important;
  color:      var(--ki-white) !important;
}
.ki-btn-primary .stk-button:hover,
.ki-btn-primary.stk-button:hover,
.ki-btn-primary .kb-button:hover,
.ki-btn-primary .wp-block-button__link:hover {
  background: var(--ki-accent-hover) !important;
}

.ki-btn-secondary .stk-button,
.ki-btn-secondary.stk-button,
.ki-btn-secondary .kb-button,
.ki-btn-secondary .wp-block-button__link {
  background: var(--ki-primary) !important;
  color:      var(--ki-white) !important;
}
.ki-btn-secondary .stk-button:hover,
.ki-btn-secondary.stk-button:hover,
.ki-btn-secondary .kb-button:hover,
.ki-btn-secondary .wp-block-button__link:hover {
  background: var(--ki-primary-hover) !important;
}

.ki-btn-outline .stk-button,
.ki-btn-outline.stk-button,
.ki-btn-outline .kb-button,
.ki-btn-outline .wp-block-button__link {
  background: transparent !important;
  color:      var(--ki-primary) !important;
  border:     1.5px solid var(--ki-primary) !important;
}
.ki-btn-outline .stk-button:hover,
.ki-btn-outline.stk-button:hover,
.ki-btn-outline .kb-button:hover,
.ki-btn-outline .wp-block-button__link:hover {
  background: var(--ki-primary) !important;
  color:      var(--ki-white) !important;
}

//* ============================================================
   OUTLINE BUTTON — final fix targeting exact Kadence/Gutenberg
   class combination shown in dev tools
   ============================================================ */
.wp-block-buttons.ki-btn-outline,
.wp-block-buttons.ki-btn-outline .wp-block-button {
  display: inline-flex !important;
  width:   auto !important;
}

.wp-block-buttons.ki-btn-outline .wp-block-button.is-style-outline .wp-block-button__link,
.wp-block-buttons.ki-btn-outline .wp-block-button .wp-block-button__link {
  background:    transparent !important;
  color:         #1F4D45 !important;
  border:        2px solid #1F4D45 !important;
  border-radius: 24px !important;
  padding:       11px 24px !important;
  font-family:   'Inter', system-ui, sans-serif !important;
  font-weight:   500 !important;
  font-size:     0.875rem !important;
  width:         auto !important;
  display:       inline-block !important;
  box-sizing:    border-box !important;
}

.wp-block-buttons.ki-btn-outline .wp-block-button.is-style-outline .wp-block-button__link:hover,
.wp-block-buttons.ki-btn-outline .wp-block-button .wp-block-button__link:hover {
  background:   #1F4D45 !important;
  color:        #FFFFFF !important;
  border-color: #1F4D45 !important;
}

/* ============================================================
   OUTLINE BUTTON — nuclear option, catches every possible
   selector combination Gutenberg and Kadence can produce
   ============================================================ */
.ki-btn-outline .wp-block-button__link,
.ki-btn-outline.wp-block-button__link,
.wp-block-buttons.ki-btn-outline a,
.wp-block-buttons.ki-btn-outline .wp-block-button__link,
.wp-block-button.ki-btn-outline .wp-block-button__link,
.wp-block-buttons .wp-block-button.ki-btn-outline .wp-block-button__link,
.wp-block-buttons.ki-btn-outline .wp-block-button.is-style-outline .wp-block-button__link,
.wp-block-buttons.ki-btn-outline .wp-block-button.is-style-fill .wp-block-button__link {
  background:    transparent !important;
  border:        2px solid #1F4D45 !important;
  border-radius: 24px !important;
  color:         #1F4D45 !important;
  padding:       11px 24px !important;
  font-family:   'Inter', system-ui, sans-serif !important;
  font-weight:   500 !important;
  font-size:     0.875rem !important;
  width:         auto !important;
  display:       inline-block !important;
  box-shadow:    none !important;
}

.ki-btn-outline .wp-block-button__link:hover,
.wp-block-buttons.ki-btn-outline a:hover,
.wp-block-buttons.ki-btn-outline .wp-block-button__link:hover,
.wp-block-button.ki-btn-outline .wp-block-button__link:hover,
.wp-block-buttons .wp-block-button.ki-btn-outline .wp-block-button__link:hover,
.wp-block-buttons.ki-btn-outline .wp-block-button.is-style-outline .wp-block-button__link:hover,
.wp-block-buttons.ki-btn-outline .wp-block-button.is-style-fill .wp-block-button__link:hover {
  background:   #1F4D45 !important;
  color:        #FFFFFF !important;
  border-color: #1F4D45 !important;
}

/* White variant for dark green backgrounds */
.ki-section-dark .ki-btn-outline .wp-block-button__link,
.ki-section-dark .wp-block-buttons.ki-btn-outline .wp-block-button__link,
.ki-section-dark .wp-block-buttons.ki-btn-outline .wp-block-button.is-style-outline .wp-block-button__link,
.ki-section-dark .wp-block-buttons.ki-btn-outline .wp-block-button.is-style-fill .wp-block-button__link {
  border-color: #FFFFFF !important;
  color:        #FFFFFF !important;
  background:   transparent !important;
}

.ki-section-dark .ki-btn-outline .wp-block-button__link:hover,
.ki-section-dark .wp-block-buttons.ki-btn-outline .wp-block-button__link:hover,
.ki-section-dark .wp-block-buttons.ki-btn-outline .wp-block-button.is-style-outline .wp-block-button__link:hover,
.ki-section-dark .wp-block-buttons.ki-btn-outline .wp-block-button.is-style-fill .wp-block-button__link:hover {
  background:   #FFFFFF !important;
  color:        #1F4D45 !important;
  border-color: #FFFFFF !important;
}

/* Stop the wrapper stretching full width */
.wp-block-buttons.ki-btn-outline {
  width:           auto !important;
  display:         inline-flex !important;
  justify-content: center !important;
}

/* Centre text in Lage and Kontakt columns */
.ki-info-tiles .wp-block-column:nth-child(2),
.ki-info-tiles .wp-block-column:nth-child(3) {
  text-align: center;
}

.ki-info-tiles .wp-block-column:nth-child(2) .wp-block-buttons,
.ki-info-tiles .wp-block-column:nth-child(3) .wp-block-buttons {
  justify-content: center;
}

/* ============================================================
   STACKABLE BUTTON — outline variant on dark background
   ============================================================ */
.ki-btn-outline.wp-block-stackable-button-group .stk-button,
.ki-btn-outline .stk-button {
  background:    transparent !important;
  border:        2px solid #FFFFFF !important;
  border-radius: 24px !important;
  color:         #FFFFFF !important;
  padding:       11px 24px !important;
  font-family:   'Inter', system-ui, sans-serif !important;
  font-weight:   500 !important;
  font-size:     0.875rem !important;
  box-shadow:    none !important;
}

.ki-btn-outline.wp-block-stackable-button-group .stk-button:hover,
.ki-btn-outline .stk-button:hover {
  background:   #FFFFFF !important;
  color:        #1F4D45 !important;
  border-color: #FFFFFF !important;
  
  
}


/* On light background — green border/text instead of white */
.ki-btn-outline-light.wp-block-stackable-button-group .stk-button,
.ki-btn-outline-light .stk-button {
  border-color: #1F4D45 !important;
  color:        #1F4D45 !important;
  background:   transparent !important;
}

.ki-btn-outline-light.wp-block-stackable-button-group .stk-button:hover {
  background:   #1F4D45 !important;
  color:        #FFFFFF !important;
  border-color: #1F4D45 !important;
}

.ki-btn-outline .stk-button:hover .stk-button__inner-text,
.ki-btn-outline .stk-button:hover span {
  color: #1F4D45 !important;
}

/* Room card image — force height, cover fit, rounded top corners */
.ki-room-card .wp-block-image,
.ki-room-card figure {
  margin:  0 !important;
  padding: 0 !important;
  display: block !important;
}

.ki-room-card .wp-block-image img,
.ki-room-card figure img {
  width:         100% !important;
  height:        220px !important;
  max-width:     100% !important;
  object-fit:    cover !important;
  object-position: center !important;
  display:       block !important;
  border-radius: 12px 12px 0 0 !important;
}

/* ============================================================
   CONTACT FORM 7 — styling
   ============================================================ */

/* Row and column layout */
.ki-form-row {
  display:   flex;
  gap:       16px;
  margin-bottom: 16px;
}

.ki-form-col {
  flex: 1;
  display: flex;
  flex-direction: column;
}

.ki-form-col--full {
  flex: 0 0 100%;
}

.ki-form-col--quarter {
  flex: 0 0 calc(25% - 8px);
}

.ki-form-col--threequarter {
  flex: 0 0 calc(75% - 8px);
}

/* Labels */
.ki-form-row label {
  color:         #FFFFFF !important;
  font-family:   'Inter', sans-serif !important;
  font-size:     0.8125rem !important;
  font-weight:   500 !important;
  margin-bottom: 4px !important;
  display:       block !important;
}

/* Inputs */
.wpcf7 input[type="text"],
.wpcf7 input[type="email"],
.wpcf7 input[type="tel"],
.wpcf7 select,
.wpcf7 textarea {
  width:         100% !important;
  background:    #FFFFFF !important;
  border:        1px solid rgba(255,255,255,0.3) !important;
  border-radius: 8px !important;
  color:         #2B2823 !important;
  font-family:   'Inter', sans-serif !important;
  font-size:     0.875rem !important;
  padding:       10px 14px !important;
  box-sizing:    border-box !important;
}

.wpcf7 input:focus,
.wpcf7 textarea:focus,
.wpcf7 select:focus {
  border-color: #C97B3D !important;
  outline:      none !important;
  box-shadow:   0 0 0 3px rgba(201,123,61,0.2) !important;
}

/* Textarea height */
.wpcf7 textarea {
  height:     140px !important;
  resize:     vertical !important;
}

/* Checkbox */
.wpcf7 .wpcf7-list-item label,
.ki-form-privacy {
  color:     rgba(255,255,255,0.8) !important;
  font-size: 0.875rem !important;
}

.ki-form-privacy a {
  color:           #C97B3D !important;
  text-decoration: underline !important;
}

/* Submit button */
.ki-form-submit {
  justify-content: flex-end !important;
}

.wpcf7 input[type="submit"] {
  background:     #C97B3D !important;
  color:          #FFFFFF !important;
  border:         none !important;
  border-radius:  24px !important;
  padding:        11px 32px !important;
  font-family:    'Inter', sans-serif !important;
  font-weight:    500 !important;
  font-size:      0.875rem !important;
  cursor:         pointer !important;
  text-transform: none !important;
  width:          auto !important;
  transition:     background .2s ease !important;
}

.wpcf7 input[type="submit"]:hover {
  background: #B06930 !important;
}

/* Mobile — stack to single column */
@media (max-width: 600px) {
  .ki-form-row {
    flex-direction: column !important;
    gap:            8px !important;
  }
  .ki-form-col--quarter,
  .ki-form-col--threequarter {
    flex: 0 0 100% !important;
  }
}

/* CF7 submit button — must come last to override everything */
.wpcf7-submit,
.wpcf7 input[type="submit"],
.wpcf7-form input[type="submit"] {
  background:    #C97B3D !important;
  color:         #FFFFFF !important;
  border:        none !important;
  border-radius: 24px !important;
  padding:       11px 32px !important;
  font-family:   'Inter', sans-serif !important;
  font-weight:   500 !important;
  font-size:     0.875rem !important;
  cursor:        pointer !important;
  text-transform: none !important;
  width:         auto !important;
  letter-spacing: 0 !important;
}

.wpcf7-submit:hover,
.wpcf7 input[type="submit"]:hover {
  background: #B06930 !important;
}

.ki-form-row label {
  display:       block !important;
  color:         #2B2823 !important;
  font-family:   'Inter', sans-serif !important;
  font-size:     0.8125rem !important;
  font-weight:   500 !important;
  margin-bottom: 4px !important;
}

/* ============================================================
   ÜBER UNS PAGE
   ============================================================ */

/* Team photos — fix centering and size */
.ki-team-photo,
.ki-team-grid .wp-block-image {
  display:         flex !important;
  justify-content: center !important;
  margin-bottom:   16px !important;
}

.ki-team-photo img,
.ki-team-grid .wp-block-image img {
  width:         160px !important;
  height:        160px !important;
  object-fit:    cover !important;
  object-position: center top !important;
  border-radius: 50% !important;
  display:       block !important;
  margin:        0 auto !important;
}

/* Tighter spacing between team member details */
.ki-team-grid .wp-block-column p {
  margin-top:    0 !important;
  margin-bottom: 4px !important;
  line-height:   1.5 !important;
}

/* Name bold and correct colour */
.ki-team-grid .wp-block-column p strong {
  font-size:   1rem !important;
  color:       #2B2823 !important;
  display:     block !important;
  margin-top:  12px !important;
}

/* Role muted */
.ki-team-grid .wp-block-column .ki-team-role {
  color:       #6B6560 !important;
  font-size:   0.875rem !important;
}

/* Phone and email */
.ki-team-grid .wp-block-column .ki-team-contact {
  font-size: 0.875rem !important;
  color:     #2B2823 !important;
}

.ki-team-grid .wp-block-column a {
  color:           #1F4D45 !important;
  font-size:       0.875rem !important;
  text-decoration: none !important;
}

/* Reduce gap between team rows */
.ki-team-grid {
  row-gap: 40px !important;
}

/* Centre all content inside team member groups */
.ki-team-grid .wp-block-column .wp-block-group {
  text-align: center !important;
  display:    flex !important;
  flex-direction: column !important;
  align-items: center !important;
}

.ki-team-grid .wp-block-column .wp-block-group .wp-block-image {
  margin-left:  auto !important;
  margin-right: auto !important;
}

/* Contact cols gap — using margin since Stackable ignores gap */
.ki-contact-cols .wp-block-stackable-column:first-child {
  padding-right: 60px !important;
}

.ki-contact-cols .wp-block-stackable-column:last-child {
  padding-left:  60px !important;
  border-left:   1px solid rgba(255,255,255,0.15) !important;
}

@media (max-width: 767px) {
  .ki-contact-cols .wp-block-stackable-column:first-child {
    padding-right: 0 !important;
  }
  .ki-contact-cols .wp-block-stackable-column:last-child {
    padding-left: 0 !important;
    border-left:  none !important;
    border-top:   1px solid rgba(255,255,255,0.15) !important;
    padding-top:  40px !important;
    margin-top:   40px !important;
  }
}

/* Anfrage stellen — Gutenberg button in narrow column — Räume page only */
.ki-room-intro .wp-block-column .wp-block-buttons {
  display:         flex !important;
  flex-wrap:       wrap !important;
  width:           auto !important;
}

.ki-room-intro .wp-block-column .wp-block-buttons .wp-block-button {
  width:  auto !important;
  flex:   0 0 auto !important;
}

.wp-block-column .wp-block-buttons .wp-block-button {
  width:  auto !important;
  flex:   0 0 auto !important;
}

.wp-block-column .wp-block-buttons .wp-block-button .wp-block-button__link {
  background:    #1F4D45 !important;
  color:         #FFFFFF !important;
  border-radius: 24px !important;
  border:        none !important;
  padding:       11px 24px !important;
  font-family:   'Inter', sans-serif !important;
  font-weight:   500 !important;
  font-size:     0.875rem !important;
  width:         auto !important;
  display:       inline-block !important;
}

.wp-block-column .wp-block-buttons .wp-block-button .wp-block-button__link:hover {
  background: #3D6E63 !important;
}

/* Mehr erfahren — outline-light for Gutenberg buttons in room rows */
.ki-room-section .wp-block-button__link {
  background:    transparent !important;
  color:         #1F4D45 !important;
  border:        2px solid #1F4D45 !important;
  border-radius: 24px !important;
  padding:       10px 22px !important;
}

.ki-room-section .wp-block-button__link:hover {
  background: #1F4D45 !important;
  color:      #FFFFFF !important;
}

/* ============================================================
   MEHR ERFAHREN — outline-light override
   Must come after the column button rule to win
   ============================================================ */
.ki-room-section .wp-block-buttons.ki-btn-outline-light .wp-block-button__link,
.ki-btn-outline-light .wp-block-button__link {
  background:    transparent !important;
  color:         #1F4D45 !important;
  border:        2px solid #1F4D45 !important;
  border-radius: 24px !important;
  padding:       10px 22px !important;
  font-weight:   500 !important;
  font-family:   'Inter', sans-serif !important;
  box-shadow:    none !important;
  width:         auto !important;
  display:       inline-block !important;
}

.ki-room-section .wp-block-buttons.ki-btn-outline-light .wp-block-button__link:hover,
.ki-btn-outline-light .wp-block-button__link:hover {
  background:   #1F4D45 !important;
  color:        #FFFFFF !important;
  border-color: #1F4D45 !important;
}

/* CTA section outline button — white on dark green */ 
.ki-section-dark .wp-block-button.ki-btn-outline .wp-block-button__link { 
	background: transparent !important; 
	color: #FFFFFF !important; 
	border: 2px solid #FFFFFF !important; 
	border-radius: 24px !important; 
	padding: 10px 22px !important; 
	font-weight: 500 !important; 
} 
.ki-section-dark .wp-block-button.ki-btn-outline .wp-block-button__link:hover { 
	background: #FFFFFF !important; 
	color: #1F4D45 !important; 
	border-color: #FFFFFF !important; 
}

/* ============================================================
   CAPACITY ICONS ROW
   ============================================================ */
.ki-capacity-icons {
  display:         flex;
  justify-content: center;
  align-items:     flex-start;
  gap:             8px;
  flex-wrap:       wrap;
  padding:         40px 20px;
}

.ki-cap-item {
  display:        flex;
  flex-direction: column;
  align-items:    center;
  text-align:     center;
  flex:           1;
  min-width:      80px;
  max-width:      120px;
  padding:        16px 8px;
}

.ki-cap-item img {
  width:         64px;
  height:        64px;
  object-fit:    contain;
  margin-bottom: 12px;
  /* Tint white icons to our green colour */
  filter: invert(24%) sepia(40%) saturate(600%) hue-rotate(120deg) brightness(80%);
}

.ki-cap-value {
  font-family: 'Inter', sans-serif;
  font-size:   1.25rem;
  font-weight: 600;
  color:       #1F4D45;
  display:     block;
  margin-bottom: 4px;
}

.ki-cap-label {
  font-family:    'Inter', sans-serif;
  font-size:      0.75rem;
  color:          #6B6560;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  display:        block;
}

@media (max-width: 600px) {
  .ki-cap-item {
    min-width: 70px;
    max-width: 90px;
  }
  .ki-cap-value {
    font-size: 1rem;
  }
}

/* Table header fix */
.ki-data-table .wp-block-table table thead tr th,
.ki-data-table thead th {
  background:  #1F4D45 !important;
  color:       #FFFFFF !important;
  padding:     12px 16px !important;
  font-weight: 500 !important;
  font-family: 'Inter', sans-serif !important;
}

.ki-data-table .wp-block-table table td {
  padding:     10px 16px !important;
  border-bottom: 1px solid #E8E2D6 !important;
  color:       #2B2823 !important;
  font-family: 'Inter', sans-serif !important;
  font-size:   0.875rem !important;
}

.ki-data-table .wp-block-table table tr:nth-child(even) td {
  background: #FAF8F4 !important;
}

.ki-data-table .wp-block-table {
  width: 100% !important;
}
.ki-cap-label {
  font-size: 0.65rem !important;
  hyphens:   auto !important;
  word-break: break-word !important;
}

 /* FooGallery integration */ 
 .ki-room-gallery .foogallery-container { 
	margin: 0 !important; 
} 

.ki-room-gallery .fg-item img {
	border-radius: 8px !important; 
	transition: transform .2s ease !important; 
} 
.ki-room-gallery .fg-item:hover img {
	transform: scale(1.02) !important; 
}
 
 /* Remove FooGallery default border */
.foogallery-container .fg-item,
.foogallery-container .fg-item img {
  border:     none !important;
  box-shadow: none !important;
}

/* Anfrage stellen button in text column — scoped fix */
.ki-room-text-col .wp-block-button.ki-btn-primary .wp-block-button__link {
  border-radius: 24px !important;
  padding:       11px 24px !important;
  width:         auto !important;
  display:       inline-block !important;
}

.ki-room-text-col .wp-block-buttons {
  display: block !important;
  width:   auto !important;
}

/* Final button width fix — beats Gutenberg inline style */
.ki-room-text-col .wp-block-buttons .wp-block-button .wp-block-button__link {
  width:         auto !important;
  border-radius: 24px !important;
  padding:       11px 24px !important;
  display:       inline-block !important;
}

//* ============================================================
   NAVIGATION DROPDOWN — stronger selectors to beat Kadence
   ============================================================ */
.main-navigation ul ul,
.main-navigation ul ul.sub-menu,
#site-navigation ul ul,
#site-navigation .sub-menu,
.kadence-navigation ul ul,
header .sub-menu {
  background:    #1F4D45 !important;
  border:        none !important;
  border-radius: 8px !important;
  box-shadow:    0 8px 24px rgba(0,0,0,.15) !important;
  padding:       8px 0 !important;
  min-width:     200px !important;
}

.main-navigation ul ul li a,
.main-navigation ul ul.sub-menu li a,
#site-navigation .sub-menu li a,
.kadence-navigation .sub-menu a,
header .sub-menu a {
  color:          #FAF8F4 !important;
  background:     transparent !important;
  padding:        10px 20px !important;
  font-size:      0.875rem !important;
  font-weight:    400 !important;
  text-transform: none !important;
  letter-spacing: 0 !important;
  display:        block !important;
}

.main-navigation ul ul li a:hover,
#site-navigation .sub-menu li a:hover,
header .sub-menu a:hover {
  background: #3D6E63 !important;
  color:      #FFFFFF !important;
}

/* Active room page in dropdown */
#site-navigation .sub-menu .current-menu-item > a,
header .sub-menu .current-menu-item > a {
  color: #C97B3D !important;
}

/* ============================================================
   DROPDOWN FIX — targets exact Kadence inline selector
   ============================================================ */
.header-navigation .header-menu-container ul ul.sub-menu,
.header-navigation .header-menu-container ul ul.submenu {
  background: #1F4D45 !important;
  border-radius: 8px !important;
  box-shadow: 0 8px 24px rgba(0,0,0,.15) !important;
  padding: 8px 0 !important;
  min-width: 200px !important;
}

.header-navigation .header-menu-container ul ul.sub-menu li a,
.header-navigation .header-menu-container ul ul.submenu li a {
  color:          #FAF8F4 !important;
  background:     transparent !important;
  padding:        10px 20px !important;
  font-size:      0.875rem !important;
  font-weight:    400 !important;
  text-transform: none !important;
  letter-spacing: 0 !important;
}

.header-navigation .header-menu-container ul ul.sub-menu li a:hover,
.header-navigation .header-menu-container ul ul.submenu li a:hover {
  background: #3D6E63 !important;
  color:      #FFFFFF !important;
}

.header-navigation .header-menu-container ul ul.sub-menu .current-menu-item > a {
  color: #C97B3D !important;
}

/* ============================================================
   FOOTER — complete fix
   ============================================================ */

/* Background */
.site-footer,
.footer-html,
#colophon,
.kadence-footer,
.footer-wrap,
.site-footer .footer-top,
.footer-top-wrap {
  background-color: #1F4D45 !important;
}

/* All footer text */
.site-footer,
.site-footer p,
.site-footer li,
.site-footer span,
.site-footer div {
  color: rgba(255,255,255,0.8) !important;
  font-family: 'Inter', sans-serif !important;
  font-size: 0.875rem !important;
  line-height: 1.7 !important;
}

/* Footer links — white not amber */
.site-footer a,
.footer-top-wrap a,
.footer-html a {
  color:           rgba(255,255,255,0.8) !important;
  text-decoration: none !important;
}

.site-footer a:hover,
.footer-top-wrap a:hover {
  color: #C97B3D !important;
}

/* Footer headings (strong tags) */
.site-footer strong,
.footer-html strong {
  color:         #FFFFFF !important;
  font-family:   'Playfair Display', serif !important;
  font-size:     1rem !important;
  font-weight:   400 !important;
  display:       block !important;
  margin-bottom: 12px !important;
}

/* Copyright bar */
.site-footer .footer-bottom-wrap,
.footer-bottom-wrap,
#colophon .footer-bottom {
  background:  #162E2A !important;
  border-top:  1px solid rgba(255,255,255,0.1) !important;
  color:       rgba(255,255,255,0.5) !important;
}

.footer-bottom-wrap a {
  color: rgba(255,255,255,0.5) !important;
}

.footer-bottom-wrap a:hover {
  color: #C97B3D !important;
}

/* Footer widget padding */
.site-footer .widget {
  padding: 40px 20px !important;
}

/* ============================================================
   LEGAL PAGES — Impressum & Datenschutz
   ============================================================ */
.ki-legal-page {
  max-width:  760px;
  margin:     60px auto 80px !important;
  padding:    0 24px !important;
}

.ki-legal-page h1 {
  font-family: 'Playfair Display', serif !important;
  font-size:   2.5rem !important;
  color:       #1F4D45 !important;
  font-weight: 400 !important;
  margin-bottom: 40px !important;
}

.ki-legal-page h2 {
  font-family: 'Playfair Display', serif !important;
  font-size:   1.375rem !important;
  color:       #1F4D45 !important;
  font-weight: 400 !important;
  margin-top:  40px !important;
  margin-bottom: 12px !important;
}

.ki-legal-page p {
  font-family: 'Inter', sans-serif !important;
  font-size:   0.9375rem !important;
  color:       #2B2823 !important;
  line-height: 1.8 !important;
  margin-bottom: 16px !important;
}

.ki-legal-page a {
  color:           #1F4D45 !important;
  text-decoration: underline !important;
}

.ki-legal-page a:hover {
  color: #C97B3D !important;
}

/* ============================================================
   COMPLIANZ COOKIE BANNER STYLING
   ============================================================ */

/* Banner container */
.cmplz-cookiebanner,
.cmplz-cookiebanner * {
  font-family: 'Inter', sans-serif !important;
}

.cmplz-cookiebanner {
  border-radius: 12px !important;
  box-shadow:    0 8px 32px rgba(0,0,0,.15) !important;
}

/* Heading */
.cmplz-cookiebanner .cmplz-title {
  font-family: 'Playfair Display', serif !important;
  font-size:   1.125rem !important;
  color:       #2B2823 !important;
  font-weight: 400 !important;
}

/* Body text */
.cmplz-cookiebanner .cmplz-body {
  font-size:   0.875rem !important;
  color:       #6B6560 !important;
  line-height: 1.6 !important;
}

/* Accept button — amber primary */
.cmplz-cookiebanner .cmplz-btn.cmplz-accept {
  background:    #C97B3D !important;
  color:         #FFFFFF !important;
  border:        none !important;
  border-radius: 24px !important;
  padding:       10px 22px !important;
  font-size:     0.875rem !important;
  font-weight:   500 !important;
}

.cmplz-cookiebanner .cmplz-btn.cmplz-accept:hover {
  background: #B06930 !important;
}

/* Deny button — outline */
.cmplz-cookiebanner .cmplz-btn.cmplz-deny {
  background:    transparent !important;
  color:         #1F4D45 !important;
  border:        1.5px solid #1F4D45 !important;
  border-radius: 24px !important;
  padding:       10px 22px !important;
  font-size:     0.875rem !important;
  font-weight:   500 !important;
}

.cmplz-cookiebanner .cmplz-btn.cmplz-deny:hover {
  background: #1F4D45 !important;
  color:      #FFFFFF !important;
}

/* Settings button — text style */
.cmplz-cookiebanner .cmplz-btn.cmplz-manage-options {
  background:    transparent !important;
  color:         #6B6560 !important;
  border:        1.5px solid #E8E2D6 !important;
  border-radius: 24px !important;
  padding:       10px 22px !important;
  font-size:     0.875rem !important;
}

.cmplz-cookiebanner .cmplz-btn.cmplz-manage-options:hover {
  border-color: #1F4D45 !important;
  color:        #1F4D45 !important;
}

/* Footer links */
.cmplz-cookiebanner .cmplz-links a {
  color:           #1F4D45 !important;
  text-decoration: none !important;
  font-size:       0.8125rem !important;
}

.cmplz-cookiebanner .cmplz-links a:hover {
  color: #C97B3D !important;
}

/* Close button */
.cmplz-cookiebanner .cmplz-close {
  color: #6B6560 !important;
}

/* ============================================================
   VERANSTALTUNGEN PAGE
   ============================================================ */
.ki-events-page {
  max-width:  1200px;
  margin:     0 auto;
  padding:    60px 24px 80px;
}

.ki-events-header {
  margin-bottom: 48px;
}

.ki-events-header h1 {
  font-family: 'Playfair Display', serif !important;
  font-size:   2.5rem !important;
  color:       #1F4D45 !important;
  font-weight: 400 !important;
  margin-bottom: 16px !important;
}

.ki-events-header p {
  font-size:   0.875rem !important;
  color:       #6B6560 !important;
  line-height: 1.7 !important;
}

.ki-events-grid {
  display:               grid;
  grid-template-columns: repeat(3, 1fr);
  gap:                   32px;
}

.ki-event-card {
  background:    #FFFFFF;
  border-radius: 12px;
  box-shadow:    0 2px 12px rgba(31,77,69,.08);
  overflow:      hidden;
  transition:    transform .2s ease, box-shadow .2s ease;
}

.ki-event-card:hover {
  transform:  translateY(-4px);
  box-shadow: 0 8px 24px rgba(31,77,69,.14);
}

.ki-event-image img {
  width:      100% !important;
  height:     200px !important;
  object-fit: cover !important;
  display:    block !important;
}

.ki-event-body {
  padding: 20px;
}

.ki-event-title {
  font-family:   'Playfair Display', serif !important;
  font-size:     1.125rem !important;
  color:         #1F4D45 !important;
  font-weight:   400 !important;
  margin-bottom: 8px !important;
  line-height:   1.3 !important;
}

.ki-event-date {
  font-family:   'Inter', sans-serif !important;
  font-size:     0.875rem !important;
  color:         #C97B3D !important;
  font-weight:   500 !important;
  margin-bottom: 16px !important;
}

.ki-event-btn {
  display:         inline-block;
  background:      #1F4D45;
  color:           #FFFFFF !important;
  border-radius:   24px;
  padding:         8px 20px;
  font-family:     'Inter', sans-serif;
  font-size:       0.8125rem;
  font-weight:     500;
  text-decoration: none;
  transition:      background .2s ease;
}

.ki-event-btn:hover {
  background: #3D6E63 !important;
  color:      #FFFFFF !important;
}

.ki-events-empty {
  text-align: center;
  color:      #6B6560;
  font-size:  1.125rem;
  padding:    80px 0;
}

@media (max-width: 900px) {
  .ki-events-grid {
    grid-template-columns: repeat(2, 1fr);
  }
}

@media (max-width: 600px) {
  .ki-events-grid {
    grid-template-columns: 1fr;
  }
}

/* Homepage events — 3 columns on sandstone background */
.ki-events-home {
  background:    transparent !important;
  padding:       0 !important;
}

.ki-events-home .ki-event-card {
  background: #FFFFFF !important;
}

/* Clickable event card */
.ki-event-card-link {
  display:         block !important;
  text-decoration: none !important;
  color:           inherit !important;
  cursor:          pointer !important;
}

.ki-event-card-link:hover {
  color: inherit !important;
}

.ki-event-card-link:hover .ki-event-title {
  color: #3D6E63 !important;
}