/* Lebkuchen-Landingpage */

.season-lebkuchen-line{
  background:
    radial-gradient(ellipse 70% 46% at 92% 8%, rgba(196,120,70,.16), transparent 58%),
    radial-gradient(ellipse 55% 40% at 6% 88%, rgba(138,90,50,.1), transparent 52%),
    #f4ebe0;
}
.lebkuchen-hero,
.lebkuchen-panel{scroll-margin-top:96px}

.lebkuchen-hero--collage{
  display:grid;
  grid-template-columns:minmax(280px,0.85fr) minmax(320px,1.15fr);
  gap:36px;
  align-items:stretch;
  max-width:1240px;
  margin:0 auto;
  padding:44px 24px 4px;
}

.lebkuchen-hero-copy{
  display:flex;
  flex-direction:column;
  padding:18px 0 8px;
  min-height:100%;
}
.lebkuchen-hero-copy .home-kicker{
  color:#8a5a32;
  margin-bottom:16px;
}
.lebkuchen-hero-copy h1{
  font-family:'Cormorant Garamond',Georgia,serif;
  font-size:clamp(2.25rem,4.6vw,3.7rem);
  font-weight:500;
  line-height:1.02;
  letter-spacing:-.03em;
  margin:0 0 22px;
  color:var(--ink);
}
.lebkuchen-hero-copy h1 em{font-style:italic;color:#a4552f}
.lebkuchen-hero-pull{
  font:italic 500 1.28rem/1.5 'Cormorant Garamond',Georgia,serif;
  color:var(--ink);
  max-width:46ch;
  margin:0 0 16px;
}
.lebkuchen-hero-copy .lebkuchen-copy{
  font-size:1.02rem;
  line-height:1.7;
  color:var(--ink-soft);
  max-width:40ch;
  margin:0 0 12px;
}
.lebkuchen-hero-note{
  margin:2px 0 0;
  font:500 .95rem 'Inter',sans-serif;
  line-height:1.55;
  color:#8a5a32;
}
.lebkuchen-hero-copy .home-hero-ctas{margin-top:8px}

.lebkuchen-collage{
  display:grid;
  grid-template-columns:1.25fr .85fr;
  grid-template-rows:0.95fr 0.85fr 1.45fr;
  grid-template-areas:
    "wrap candle"
    "wrap workshop"
    "gift gift";
  gap:12px;
  min-height:0;
  height:min(74vh,680px);
}
.lebkuchen-collage__item{
  margin:0;
  overflow:hidden;
  border-radius:20px;
  background:#e8dccb;
  box-shadow:0 14px 32px rgba(80,40,16,.12);
}
.lebkuchen-collage__item img{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
}
.lebkuchen-collage__item--wrap{grid-area:wrap}
.lebkuchen-collage__item--candle{grid-area:candle}
.lebkuchen-collage__item--workshop{grid-area:workshop}
.lebkuchen-collage__item--gift{grid-area:gift}
.lebkuchen-collage__item--wrap img{object-position:50% 62%}
.lebkuchen-collage__item--candle img{object-position:50% 48%}
.lebkuchen-collage__item--workshop img{object-position:50% 28%}
.lebkuchen-collage__item--gift img{object-position:50% 42%}

.lebkuchen-motto{
  margin:auto 0 0;
  padding:28px 0 4px;
  max-width:22ch;
  text-align:left;
  font:italic 500 clamp(1.45rem,2.2vw,2rem)/1.2 'Cormorant Garamond',Georgia,serif;
  color:var(--ink);
}
.lebkuchen-motto em{color:#a4552f}

.lebkuchen-section-sub{
  margin:8px 0 0;
  font:500 1.1rem 'Cormorant Garamond',Georgia,serif;
  font-style:italic;
  color:var(--ink-soft);
}
.lebkuchen-copy{margin:0 0 14px;color:var(--ink-soft);line-height:1.65}
.lebkuchen-lead{
  margin:0 0 8px;
  font:600 .95rem 'Inter',sans-serif;
  color:var(--ink);
  line-height:1.5;
}
.season-lebkuchen-line .home-kicker--ink{color:#8a5a32}

/* Shop: Firmen-Box links + Produkte rechts */
.season-lebkuchen-line .lebkuchen-shop{
  padding:18px 0 88px;
}
.season-lebkuchen-line .lebkuchen-shop-layout{
  display:grid !important;
  grid-template-columns:minmax(260px,320px) minmax(0,1fr);
  gap:28px;
  align-items:start;
  max-width:1240px;
  margin:0 auto;
  padding:0 24px;
  box-sizing:border-box;
}
.season-lebkuchen-line .lebkuchen-panel{
  background:#fffaf4;
  border:1px solid rgba(138,90,50,.18);
  border-radius:24px;
  padding:30px 28px 28px;
  display:flex;
  flex-direction:column;
  box-shadow:0 18px 40px rgba(80,40,16,.07);
  box-sizing:border-box;
}
.season-lebkuchen-line .lebkuchen-panel--aside{
  position:sticky;
  top:120px;
  padding:24px 20px 22px;
  width:100%;
  max-width:320px;
}
.season-lebkuchen-line .lebkuchen-panel--aside .lebkuchen-panel-head h2{
  font-size:clamp(1.45rem,2.2vw,1.85rem);
}
.season-lebkuchen-line .lebkuchen-panel--aside .lebkuchen-lead{
  font-size:.92rem;
  line-height:1.45;
}
.season-lebkuchen-line .lebkuchen-panel--aside .lebkuchen-points li{
  padding:11px 0 11px 16px;
}
.season-lebkuchen-line .lebkuchen-panel--aside .lebkuchen-points strong{font-size:.92rem}
.season-lebkuchen-line .lebkuchen-panel--aside .lebkuchen-points span{font-size:.84rem;line-height:1.45}
.season-lebkuchen-line .lebkuchen-panel--aside .lebkuchen-copy{font-size:.88rem}
.season-lebkuchen-line .lebkuchen-panel--aside .btn{
  width:100%;
  justify-content:center;
  text-align:center;
}
.season-lebkuchen-line .lebkuchen-panel-head .home-kicker{margin-bottom:10px}
.season-lebkuchen-line .lebkuchen-panel-head h2{
  font-family:'Cormorant Garamond',Georgia,serif;
  font-size:clamp(1.9rem,3vw,2.5rem);
  font-weight:500;
  line-height:1.08;
  margin:0;
}

.season-lebkuchen-line .lebkuchen-products{min-width:0}
.season-lebkuchen-line .lebkuchen-products-head{max-width:640px;margin:0 0 28px}
.season-lebkuchen-line .lebkuchen-products-head h2{
  font-family:'Cormorant Garamond',Georgia,serif;
  font-size:clamp(2rem,3.4vw,2.8rem);
  font-weight:500;
  line-height:1.05;
  margin:0 0 10px;
}
.season-lebkuchen-line .lebkuchen-products-head > p{margin:0 0 16px;color:var(--ink-soft);max-width:48ch}
.season-lebkuchen-line .lebkuchen-products-actions{display:flex;flex-wrap:wrap;align-items:center;gap:14px}
.season-lebkuchen-line .lebkuchen-line ul.products,
.season-lebkuchen-line ul.products{
  display:grid !important;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:18px;
}
.season-lebkuchen-line .card{background:#fff}

.lebkuchen-points{
  list-style:none;
  margin:8px 0 18px;
  padding:0;
}
.lebkuchen-points li{
  padding:14px 0 14px 18px;
  border-top:1px solid var(--line);
  position:relative;
}
.lebkuchen-points li:last-child{border-bottom:1px solid var(--line)}
.lebkuchen-points li::before{
  content:"";
  position:absolute;
  left:0;
  top:22px;
  width:7px;
  height:7px;
  border-radius:99px;
  background:#8a5a32;
}
.lebkuchen-points strong{
  display:block;
  margin:0 0 4px;
  font:700 .9rem 'Inter',sans-serif;
  color:var(--ink);
}
.lebkuchen-points span{color:var(--ink-soft);font-size:.92rem;line-height:1.55}

.lebkuchen-actions{
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  gap:12px;
  margin-top:22px;
}
.lebkuchen-actions .btn{justify-content:center}
.lebkuchen-actions__link{
  font:600 .88rem 'Inter',sans-serif;
  color:var(--ink-soft);
  text-decoration:underline;
  text-decoration-color:rgba(34,56,44,.25);
  text-underline-offset:4px;
}
.lebkuchen-actions__link:hover{color:var(--terra);text-decoration-color:var(--terra)}
.lebkuchen-inline-link{
  margin-left:6px;
  font-weight:600;
  text-decoration:underline;
  text-underline-offset:3px;
}

body.lebkuchen-modal-open{overflow:hidden}
.lebkuchen-modal{position:fixed;inset:0;z-index:10000;display:flex;align-items:center;justify-content:center;padding:20px}
.lebkuchen-modal[hidden]{display:none}
.lebkuchen-modal-overlay{position:absolute;inset:0;background:rgba(34,56,44,.55);backdrop-filter:blur(3px)}
.lebkuchen-modal-box{
  position:relative;
  z-index:1;
  width:min(760px,100%);
  max-height:min(92vh,880px);
  overflow:auto;
  background:#fff;
  border-radius:22px;
  padding:32px 28px 28px;
  box-shadow:0 18px 48px rgba(34,56,44,.22);
}
.lebkuchen-modal-box > .home-kicker{margin-bottom:8px}
.lebkuchen-modal-box > h2{
  font-family:'Cormorant Garamond',Georgia,serif;
  font-size:clamp(1.8rem,3vw,2.4rem);
  font-weight:500;
  line-height:1.1;
  margin:0 0 18px;
}
.lebkuchen-modal-close{
  position:absolute;
  top:12px;
  right:12px;
  width:36px;
  height:36px;
  border:none;
  background:var(--cream);
  border-radius:99px;
  font-size:1.5rem;
  line-height:1;
  cursor:pointer;
  color:var(--ink-soft);
}
.lebkuchen-modal-close:hover{background:var(--line);color:var(--ink)}
.lebkuchen-modal .lebkuchen-form{
  background:transparent;
  border:none;
  border-radius:0;
  padding:0;
}

.lebkuchen-form{
  background:#fff;
  border:1px solid var(--line);
  border-radius:22px;
  padding:28px 26px 26px;
}
.lebkuchen-form-grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:16px;
}
.lebkuchen-form-span{grid-column:1 / -1}
.lebkuchen-form-grid > p{
  display:grid;
  gap:6px;
  margin:0;
}
.lebkuchen-modal[data-kind="privat"] .lebkuchen-field-firma{
  display:none !important;
}
.lebkuchen-form label{
  display:block;
  font:600 .86rem 'Inter',sans-serif;
  color:var(--ink);
  white-space:nowrap;
}
.lebkuchen-form input:not([type=checkbox]):not([type=hidden]),
.lebkuchen-form textarea{
  width:100%;
  box-sizing:border-box;
  border:1px solid var(--line);
  border-radius:10px;
  background:#fff;
  color:var(--ink);
  font:400 .95rem 'Inter',sans-serif;
  padding:12px 14px;
}
.lebkuchen-form textarea{resize:vertical}
.lebkuchen-form input:focus,
.lebkuchen-form textarea:focus{border-color:var(--gold);outline:none}
.lebkuchen-hp,
.lebkuchen-form .screen-reader-text{
  position:absolute;
  width:1px;
  height:1px;
  overflow:hidden;
  clip:rect(0,0,0,0);
}
.lebkuchen-form-items{margin:22px 0 8px}
.lebkuchen-form-items h3{
  font-family:'Cormorant Garamond',Georgia,serif;
  font-size:1.6rem;
  font-weight:500;
  margin:0 0 12px;
}
.lebkuchen-form-items table{width:100%;border-collapse:collapse}
.lebkuchen-form-items th,
.lebkuchen-form-items td{
  text-align:left;
  padding:12px 8px;
  border-bottom:1px solid var(--line);
  vertical-align:middle;
}
.lebkuchen-form-items th{
  font:700 .72rem 'Inter',sans-serif;
  letter-spacing:.08em;
  text-transform:uppercase;
  color:var(--ink-soft);
}
.lebkuchen-form-items td:nth-child(2){white-space:nowrap;color:var(--ink-soft)}
.lebkuchen-form-items td:nth-child(3){width:96px}
.lebkuchen-qty input{
  width:76px;
  text-align:center;
}
.lebkuchen-privacy{
  margin:18px 0 20px !important;
  max-width:62ch;
}
.lebkuchen-privacy label{
  display:flex;
  gap:10px;
  align-items:flex-start;
  font-weight:400;
  font-size:.82rem;
  line-height:1.55;
  color:var(--ink-soft);
}
.lebkuchen-privacy input{margin-top:3px}
.lebkuchen-privacy a{text-decoration:underline}
.lebkuchen-form-msg{
  border-radius:14px;
  padding:14px 16px;
  margin:0 0 18px;
  font-size:.95rem;
}
.lebkuchen-form-msg--ok{background:#eef5ee;color:#22382c}
.lebkuchen-form-msg--err{background:#f8ebe6;color:#7a3318}

@media(max-width:900px){
  .lebkuchen-hero--collage{
    grid-template-columns:1fr;
    padding:20px 16px 8px;
    gap:22px;
  }
  .lebkuchen-hero-copy{order:2;padding:4px}
  .lebkuchen-collage{
    order:1;
    height:min(62vh,540px);
    grid-template-rows:0.9fr 0.8fr 1.35fr;
    gap:8px;
  }
  .lebkuchen-hero-copy .lebkuchen-copy,
  .lebkuchen-hero-pull{max-width:none}
  .lebkuchen-motto{margin-top:22px;padding:0;max-width:22ch}
  .season-lebkuchen-line .lebkuchen-shop-layout{
    grid-template-columns:1fr !important;
    padding:0 16px;
    gap:22px;
  }
  .season-lebkuchen-line .lebkuchen-panel--aside{
    position:static;
    order:2;
    max-width:none;
  }
  .season-lebkuchen-line .lebkuchen-products{order:1}
  .season-lebkuchen-line ul.products{
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
  }
  .lebkuchen-form-grid{grid-template-columns:1fr}
}

@media(max-width:560px){
  .lebkuchen-collage{
    height:440px;
    grid-template-rows:0.95fr 0.8fr 1.35fr;
  }
  .lebkuchen-collage__item{border-radius:14px}
  .lebkuchen-hero-copy h1{font-size:2.05rem}
  .lebkuchen-modal{padding:10px}
  .lebkuchen-modal-box{padding:28px 16px 20px}
  .lebkuchen-form{padding:20px 16px}
  .lebkuchen-form-items td:nth-child(2){display:none}
  .lebkuchen-panel{padding:22px 18px}
  .season-lebkuchen-line .lebkuchen-panel{padding:22px 18px}
}
