/* Kulinarischer Erntedank – Landingpage
   Alle Regeln sind auf .ke-page gescoped, damit nichts mit dem Theme kollidiert. */
.page-template-gig_kulinarischer-erntedank .header{display: none;}
.page-template-gig_kulinarischer-erntedank .header-spacer{display: none;}


#anmeldung form .gform_next_button{
  padding: 10px;
}

#anmeldung form .ginput_container_singleproduct,
#anmeldung form .ginput_container_singleproduct .ginput_product_price{
  color: white !important;
  font-size: 1.2rem !important;
}

#anmeldung .gfield.gfield--type-total{
  font-size: 1.2rem !important;
}

#anmeldung .gform-page-footer{
  display: flex;
  justify-content: space-between;
}

#anmeldung .gform-page-footer .gform_previous_button{
  background: none;
  padding: 0;
  color: white;
  border: none;
}

#anmeldung .gform-page-footer button[type="submit"]{
  background: #9d1c25;
  color: white;
  padding: 6px 20px;
  font-size: 20px;
  border: none;
}



.ke-page { font-family: 'Jost', system-ui, sans-serif; color: #1c1a17; background: #f7f4ef; overflow-x: hidden; }
.ke-page *, .ke-page *::before, .ke-page *::after { box-sizing: border-box; }
.ke-page img { display: block; max-width: 100%; }
.ke-page a { text-decoration: none; }
.ke-page p, .ke-page h1, .ke-page h2, .ke-page dl, .ke-page dd, .ke-page figure { margin: 0; }

/* Hero */
.ke-hero { position: relative; min-height: 92vh; display: flex; flex-direction: column; justify-content: flex-end; padding: clamp(24px,5vw,64px); background-size: cover; background-position: center; }
.ke-hero__scrim { position: absolute; inset: 0; background: linear-gradient(180deg, rgba(12,10,8,.55) 0%, rgba(12,10,8,.25) 45%, rgba(12,10,8,.82) 100%); }
.ke-topbar { display: flex; justify-content: space-between; align-items: center; gap: 24px; position: absolute; top: clamp(20px,4vw,44px); left: clamp(24px,5vw,64px); right: clamp(24px,5vw,64px); }
.ke-brand { display: flex; flex-direction: column; align-items: flex-start; gap: 12px; }
.ke-brand__name { font-family: 'EB Garamond', Georgia, serif; font-size: 20px; letter-spacing: .22em; text-transform: uppercase; color: #fff; }
.ke-brand__place { font-size: 12px; letter-spacing: .28em; text-transform: uppercase; color: rgba(255,255,255,.72); border-bottom: 1px solid rgba(255,255,255,.3); }
.ke-brand__place:hover { color: #fff; border-bottom-color: transparent; }
.ke-jp { display: flex; align-items: center; gap: 10px; color: #fff; }
.ke-jp:hover { opacity: .7; }
.ke-jp img { height: 46px; width: auto; filter: brightness(0) invert(1); }
.ke-jp span { font-size: 18px; line-height: 1; }
.ke-hero__body { position: relative; max-width: 1000px; }
.ke-kicker { font-size: 13px; letter-spacing: .34em; text-transform: uppercase; color: rgba(255,255,255,.8); margin-bottom: 18px !important; }
.ke-title { font-family: 'EB Garamond', Georgia, serif; font-weight: 500; font-size: clamp(48px,9vw,132px); line-height: .95; letter-spacing: -.02em; color: #fff; text-wrap: balance; }
.ke-lede { margin-top: 26px !important; font-family: 'EB Garamond', Georgia, serif; font-size: clamp(21px,2.6vw,34px); font-style: italic; line-height: 1.35; color: rgba(255,255,255,.92); max-width: 760px; }
.ke-cta-row { display: flex; flex-wrap: wrap; gap: 18px; align-items: center; margin-top: 40px; }
.ke-btn { display: inline-block; padding: 17px 38px; background: #9d1c25; color: #fff; font-size: 13px; letter-spacing: .2em; text-transform: uppercase; transition: background .2s, color .2s; }
.ke-btn:hover { background: #fff; color: #1c1a17; }
.ke-price { font-size: 15px; color: rgba(255,255,255,.85); letter-spacing: .04em; }

/* Rotes Band */
.ke-band { background: #9d1c25; color: #fff; padding: clamp(34px,5vw,58px) clamp(24px,5vw,64px); }
.ke-band__grid { max-width: 1240px; margin: 0 auto; display: grid; grid-template-columns: repeat(auto-fit, minmax(210px,1fr)); gap: clamp(24px,4vw,48px); }
.ke-band__item { font-family: 'EB Garamond', Georgia, serif; font-size: clamp(26px,2.6vw,36px); line-height: 1.15; }
.ke-band__note { margin-top: 10px !important; font-size: 12px; letter-spacing: .16em; text-transform: uppercase; color: rgba(255,255,255,.72); }

/* Sektionen */
.ke-section { padding: clamp(64px,9vw,132px) clamp(24px,5vw,64px); }
.ke-section--alt { background: #efeae1; padding: clamp(64px,9vw,120px) clamp(24px,5vw,64px); }
.ke-wrap { max-width: 1240px; margin: 0 auto; }
.ke-two-col { max-width: 1240px; margin: 0 auto; display: grid; grid-template-columns: repeat(auto-fit, minmax(320px,1fr)); gap: clamp(40px,6vw,90px); align-items: start; }
.ke-salut { margin-bottom: 26px !important; font-family: 'EB Garamond', Georgia, serif; font-size: clamp(24px,2.4vw,32px); font-style: italic; line-height: 1.4; }
.ke-body { font-size: 17px; line-height: 1.75; font-weight: 300; text-wrap: pretty; }
.ke-body + .ke-body { margin-top: 22px !important; }
.ke-figure img { width: 100%; height: clamp(320px,42vw,540px); object-fit: cover; }
.ke-caption { margin-top: 12px; font-size: 12px; letter-spacing: .14em; text-transform: uppercase; color: #8a8378; }
.ke-eyebrow { font-size: 12px; letter-spacing: .3em; text-transform: uppercase; color: #9d1c25; margin-bottom: clamp(36px,5vw,60px) !important; }
.ke-cards { display: grid; grid-template-columns: repeat(auto-fit, minmax(300px,1fr)); gap: clamp(40px,5vw,72px); }
.ke-card img { width: 100%; height: clamp(240px,26vw,340px); object-fit: cover; }
.ke-card h2 { margin: 30px 0 16px !important; font-family: 'EB Garamond', Georgia, serif; font-weight: 500; font-size: clamp(30px,3.4vw,44px); line-height: 1.1; }
.ke-h2 { font-family: 'EB Garamond', Georgia, serif; font-weight: 500; font-size: clamp(32px,4.2vw,56px); line-height: 1.1; max-width: 780px; margin-bottom: clamp(40px,5vw,64px) !important; }
.ke-rule-card { border-top: 1px solid #d8d1c5; padding-top: 28px; }
.ke-label { margin-bottom: 14px !important; font-size: 12px; letter-spacing: .24em; text-transform: uppercase; color: #9d1c25; }
.ke-rule-card .ke-body { margin-bottom: 18px !important; }
.ke-link { font-size: 15px; color: #9d1c25; border-bottom: 1px solid rgba(157,28,37,.35); }
.ke-link:hover { color: #1c1a17; border-bottom-color: transparent; }
.ke-quote { margin-top: clamp(44px,6vw,76px) !important; font-family: 'EB Garamond', Georgia, serif; font-size: clamp(24px,2.8vw,36px); font-style: italic; line-height: 1.4; max-width: 900px; }

/* Galerie */
.ke-gallery { display: grid; grid-template-columns: repeat(auto-fit, minmax(260px,1fr)); gap: 4px; background: #f7f4ef; }
.ke-gallery img { width: 100%; height: clamp(220px,24vw,330px); object-fit: cover; }

/* Fakten + Anmeldung */
.ke-facts { background: #1c1a17; color: #f7f4ef; padding: clamp(64px,9vw,120px) clamp(24px,5vw,64px); }
.ke-facts__grid { max-width: 1240px; margin: 0 auto; display: grid; grid-template-columns: repeat(auto-fit, minmax(320px,1fr)); gap: clamp(40px,6vw,90px); }
.ke-facts h2 { margin-bottom: 34px !important; font-family: 'EB Garamond', Georgia, serif; font-weight: 500; font-size: clamp(32px,4vw,52px); line-height: 1.1; }
.ke-dl { display: grid; grid-template-columns: 130px 1fr; gap: 18px 24px; font-size: 17px; font-weight: 300; }
.ke-dl dt { font-size: 12px; letter-spacing: .2em; text-transform: uppercase; color: rgba(247,244,239,.55); padding-top: 4px; }
.ke-dl a { color: #f7f4ef; border-bottom: 1px solid rgba(247,244,239,.4); }
.ke-dl a:hover { color: #fff; border-bottom-color: transparent; }
.ke-form-label { margin-bottom: 20px !important; font-size: 12px; letter-spacing: .3em; text-transform: uppercase; color: rgba(247,244,239,.55); }
.ke-form-slot { border: 1px dashed rgba(247,244,239,.35); padding: clamp(28px,4vw,48px); min-height: 340px; display: flex; flex-direction: column; justify-content: center; gap: 16px; text-align: center; }
.ke-form-slot__title { font-family: 'EB Garamond', Georgia, serif; font-size: clamp(24px,2.6vw,32px); }
.ke-form-slot__hint { font-size: 15px; font-weight: 300; color: rgba(247,244,239,.6); max-width: 380px; align-self: center; line-height: 1.7; }
.ke-fineprint { margin-top: 24px !important; font-size: 14px; font-weight: 300; color: rgba(247,244,239,.6); line-height: 1.7; }

/* Footer */
.ke-footer { padding: clamp(48px,7vw,90px) clamp(24px,5vw,64px); text-align: center; }
.ke-footer__line { margin-bottom: 14px !important; font-family: 'EB Garamond', Georgia, serif; font-size: clamp(28px,3.4vw,44px); font-style: italic; }
.ke-footer__sig { font-size: 12px; letter-spacing: .28em; text-transform: uppercase; color: #8a8378; }

@media (max-width: 720px) {
  .ke-topbar { flex-direction: column; align-items: flex-start; gap: 16px; }
  .ke-dl { grid-template-columns: 1fr; gap: 6px 0; }
  .ke-dl dd + dt { margin-top: 16px; }
}
