.section-eyebrow { display: block; color: #a36e1c; font: 700 10px/1.2 Montserrat, sans-serif; letter-spacing: .18em; text-transform: uppercase; }

/* Über den Kalender */
.calendar-infos {
  position: relative;
  padding: 84px 0 90px;
  overflow: hidden;
  background:
    radial-gradient(circle at 90% 6%, rgba(220, 174, 79, .14), transparent 27%),
    linear-gradient(180deg, #fbf8f3, #f1ebe3);
}

.calendar-infos::before {
  content: "";
  position: absolute;
  left: -120px;
  bottom: 70px;
  width: 320px;
  height: 320px;
  opacity: .055;
  background: #552661;
  -webkit-mask: url('../images/lions-colord.svg') center / contain no-repeat;
  mask: url('../images/lions-colord.svg') center / contain no-repeat;
}

.about-heading { position: relative; display: flex; align-items: center; justify-content: space-between; gap: 35px; margin-bottom: 34px; }
.about-heading::before,
.about-heading::after { display: none; content: none; }
.about-heading h2 { max-width: 780px; margin: 8px 0 0; color: #351544; font: 600 clamp(36px, 5vw, 58px)/1.07 "Source Serif Pro", Georgia, serif; letter-spacing: -.03em; }
.about-lions-mark { display: grid; width: 116px; height: 116px; flex: 0 0 116px; place-items: center; border: 1px solid rgba(74, 32, 83, .1); border-radius: 50%; background: rgba(255,255,255,.6); }
.about-lions-mark span { width: 78px; height: 88px; background: #54235f; -webkit-mask: url('../images/lions-colord.svg') center / contain no-repeat; mask: url('../images/lions-colord.svg') center / contain no-repeat; }

.about-content { position: relative; display: block; }
.about-content::before,
.about-content::after { display: none; content: none; }
.impact-lead { max-width: 900px; margin: 0 0 32px; color: #6d506c; font: 500 clamp(20px, 2.6vw, 29px)/1.45 "Source Serif Pro", Georgia, serif; }
.impact-grid {
  position: relative;
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0;
  padding: 10px 0 13px;
  border-top: 1px solid rgba(84, 35, 95, .13);
  border-bottom: 1px solid rgba(84, 35, 95, .13);
}
.impact-grid::before { content: ""; position: absolute; top: -1px; left: 0; width: 88px; height: 3px; border-radius: 99px; background: linear-gradient(90deg, #d5a440, #7a3a82); }
.impact-card { position: relative; min-width: 0; padding: 27px 38px 29px 76px; }
.impact-card + .impact-card { border-left: 1px solid rgba(84, 35, 95, .11); }
.impact-number { position: absolute; top: 25px; left: 19px; color: #ba8429; font: 600 29px/1 "Source Serif Pro", Georgia, serif; letter-spacing: -.04em; }
.impact-card p { margin: 0; color: #5f5361; font: 400 16px/1.72 "Source Serif Pro", Georgia, serif; }
.impact-card p::first-line { color: #3d1c47; font-weight: 600; }

.tombola-card { display: grid; grid-template-columns: minmax(230px, .68fr) 1.32fr; gap: 42px; margin-top: 19px; padding: 34px; align-items: start; color: #fff; border-radius: 22px; background: radial-gradient(circle at 90% 0, rgba(224, 178, 78, .18), transparent 28%), linear-gradient(135deg, #30123a, #55215f); box-shadow: 0 20px 55px rgba(45, 19, 52, .16); }
.tombola-card .section-eyebrow { color: #e9bd66; }
.tombola-card h3 { margin: 9px 0 0; color: #fff; font: 600 29px/1.2 "Source Serif Pro", Georgia, serif; }
.tombola-card > p { margin: 0; color: #e5dbe7; font: 400 14px/1.75 Montserrat, sans-serif; }

/* Kaufen und Verkaufsstellen */
.shop.red.shops {
  position: relative;
  padding: 85px 0 92px;
  overflow: hidden;
  background:
    radial-gradient(circle at 7% 4%, rgba(213, 157, 57, .2), transparent 25%),
    radial-gradient(circle at 95% 70%, rgba(150, 48, 69, .17), transparent 30%),
    linear-gradient(145deg, #291034, #421650 58%, #32113c);
}

.shop.red.shops::before,
.shop.red.shops::after { content: ""; position: absolute; width: 310px; height: 310px; border: 1px solid rgba(255,255,255,.05); border-radius: 50%; pointer-events: none; }
.shop.red.shops::before { top: -180px; right: 8%; }
.shop.red.shops::after { bottom: -210px; left: 4%; }
.shop-shell { position: relative; z-index: 1; display: block; }
.shop-shell { width: min(1380px, calc(100% - 40px)); max-width: none; margin-right: auto; margin-left: auto; padding-right: 0; padding-left: 0; }
.shop-shell::before,
.shop-shell::after { display: none; content: none; }
.shop-intro { width: min(960px, 100%); max-width: 790px; margin: 0 auto 35px; }
.shop-intro .section-eyebrow,
.online-purchase-card .section-eyebrow,
.locations-heading .section-eyebrow { color: #e8ba61; }
.shop-intro h3 { margin: 9px 0 15px; color: #fff; font: 600 clamp(38px, 5.2vw, 60px)/1.04 "Source Serif Pro", Georgia, serif; letter-spacing: -.03em; }
.shop-intro p { max-width: 700px; margin: 0; color: #d9cddd; font: 400 16px/1.7 "Source Serif Pro", Georgia, serif; }

.online-purchase-card { position: relative; display: grid; width:min(1080px,100%); grid-template-columns: 74px minmax(0, 1fr) 225px; grid-template-rows:auto auto; column-gap:25px; row-gap:17px; margin:0 auto 56px; padding: 34px 36px; align-items: center; overflow: hidden; border: 1px solid rgba(255,239,198,.86); border-radius: 24px; background: radial-gradient(circle at 8% 0,rgba(255,255,255,.5),transparent 27%),linear-gradient(135deg,#ffedbd,#edc568); box-shadow: 0 24px 65px rgba(12,3,17,.24), 0 0 45px rgba(221,166,62,.1); }
.online-purchase-card::before { content:""; position:absolute; top:-90px; right:12%; width:230px; height:230px; border:1px solid rgba(91,48,19,.07); border-radius:50%; pointer-events:none; }
.online-purchase-card::after { content: "✦"; position: absolute; right: 28%; top: -30px; color: rgba(84,42,20,.075); font: 108px/1 Georgia, serif; pointer-events: none; }
.purchase-icon { position: relative; z-index: 1; grid-row:1/3; align-self:start; display: grid; width: 74px; height: 74px; place-items: center; color: #f1cb76; border-radius: 20px; background: linear-gradient(135deg, #361641, #5a2465); box-shadow: 0 12px 28px rgba(63,22,72,.22); }
.purchase-icon svg { width: 28px; height: 28px; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
.online-purchase-card > div { position: relative; z-index: 1; }
.online-purchase-card > .purchase-icon + div { grid-column:2; grid-row:1; }
.online-purchase-card .section-eyebrow { color: #795018; }
.online-purchase-card h4 { margin: 7px 0 5px; color: #351541; font: 600 30px/1.12 "Source Serif Pro", Georgia, serif; }
.online-purchase-card p { margin: 0; color: #634c32; font: 500 12px/1.55 Montserrat, sans-serif; }
.purchase-button { position: relative; z-index: 1; display: inline-flex; min-height: 58px; padding: 0 25px; align-items: center; gap: 13px; color: #fff; border: 1px solid rgba(255,255,255,.12); border-radius: 15px; background: linear-gradient(135deg, #351541, #592364); box-shadow: 0 13px 30px rgba(51,18,59,.24); font: 700 12px/1.2 Montserrat, sans-serif; text-decoration: none; transition: transform .18s ease, background .18s ease, box-shadow .18s ease; }
.purchase-button:visited { color: #fff; }
.purchase-button:hover,
.purchase-button:focus-visible { color: #fff; background: linear-gradient(135deg, #4a2055, #6b2e76); box-shadow: 0 17px 34px rgba(51,18,59,.3); transform: translateY(-3px) scale(1.015); outline: 3px solid rgba(75,29,84,.18); }
.purchase-button span { font-size: 19px; }
.purchase-actions { grid-column:3; grid-row:1/3; display: grid; position: relative; z-index: 2; gap: 7px; align-self:center; justify-items: stretch; }
.share-button { min-height: 37px; padding: 0 10px; display: inline-flex; align-items: center; justify-content: center; gap: 8px; color: #58305f; border: 0; border-radius: 9px; background: transparent; font: 700 10px/1.2 Montserrat,Arial,sans-serif; cursor: pointer; transition: color .18s ease, background .18s ease, transform .18s ease; }
.share-button svg { width: 16px; height: 16px; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
.share-button:hover,.share-button:focus-visible { color:#351541; background:rgba(255,255,255,.3); transform:translateY(-1px); outline:none; }
.share-feedback { min-height: 12px; color: #65491f; font: 600 9px/1.3 Montserrat,Arial,sans-serif; text-align: center; }
.purchase-facts { position:relative; z-index:1; grid-column:2; grid-row:2; display:flex; align-items:center; justify-content:flex-start; flex-wrap:nowrap; gap:0; margin:0; padding:15px 0 0; list-style:none; border-top:1px solid rgba(81,44,20,.14); }
.purchase-facts li { position:relative; display:flex; min-width:0; align-items:center; gap:0; padding:0 18px; }
.purchase-facts li:first-child { padding-left:0; }
.purchase-facts li:last-child { padding-right:0; }
.purchase-facts li+li::before { content:"✦"; position:static; margin-right:18px; color:rgba(78,32,88,.34); background:none; font:10px/1 Georgia,serif; }
.purchase-facts li>span { display:none; }
.purchase-facts div { display:flex; min-width:0; align-items:baseline; gap:5px; }
.purchase-facts strong { color:#351541; font:700 10px/1.3 Montserrat,Arial,sans-serif; }
.purchase-facts small { color:#725834; font:500 8px/1.35 Montserrat,Arial,sans-serif; }
.fragment-error { grid-column: 1/-1; padding: 20px; color: rgba(255,255,255,.8); text-align: center; }

.locations-heading { display: flex; margin-bottom: 19px; align-items: flex-end; gap: 22px; }
.locations-heading h4 { margin: 6px 0 0; color: #fff; font: 600 30px/1.15 "Source Serif Pro", Georgia, serif; }
.locations-line { height: 1px; margin-bottom: 7px; flex: 1; background: linear-gradient(90deg, rgba(238,196,109,.55), transparent); }
.shop.red.shops .shops { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 12px; }
.shop.red.shops .shop-list { display: grid; grid-template-columns: 42px minmax(0,1fr) 22px; min-width: 0; min-height: 94px; margin: 0; padding: 17px 15px 17px 18px; align-items: center; gap: 13px; float: none; color: inherit; border: 1px solid rgba(255,255,255,.1); border-radius: 15px; background: rgba(255,255,255,.065); text-decoration: none; transition: background .2s ease, border-color .2s ease, transform .2s ease, box-shadow .2s ease; }
.shop.red.shops .shop-list:visited { color: inherit; }
.shop.red.shops .shop-list:hover,
.shop.red.shops .shop-list:focus-visible { border-color: rgba(239,198,113,.3); background: rgba(255,255,255,.115); box-shadow: 0 12px 28px rgba(12,3,17,.13); transform: translateY(-3px); outline: none; }
.shop-pin { display: grid; width: 42px; height: 42px; place-items: center; color: #efc66f; border-radius: 12px; background: rgba(239,198,111,.1); }
.shop-pin svg { width: 20px; height: 20px; fill: none; stroke: currentColor; stroke-width: 1.8; }
.shop-list h4 { margin: 0 0 5px; color: #fff; font: 700 12px/1.35 Montserrat, sans-serif; }
.shop-list p { margin: 0; color: #cdbfd1; font: 400 10px/1.45 Montserrat, sans-serif; }
.shop-list p span { color: #d5a950; }
.shop-map-arrow { color: rgba(238,195,107,.7); font: 600 18px/1 Montserrat, sans-serif; transition: transform .2s ease, color .2s ease; }
.shop-list:hover .shop-map-arrow,
.shop-list:focus-visible .shop-map-arrow { color: #f3ce7d; transform: translate(2px,-2px); }

@media (max-width: 991px) {
  .calendar-infos { padding: 65px 0 70px; }
  .tombola-card { grid-template-columns: 1fr; gap: 20px; }
  .shop.red.shops .shops { grid-template-columns: repeat(2, minmax(0,1fr)); }
  .online-purchase-card { grid-template-columns:70px minmax(0,1fr); }
  .purchase-icon { grid-row:1/2; }
  .online-purchase-card > .purchase-icon + div { grid-column:2; }
  .purchase-facts { grid-column:1/-1; grid-row:2; }
  .purchase-facts { flex-wrap:nowrap; }
  .purchase-facts li:nth-child(2) small { display:none; }
  .purchase-actions { grid-column:1/-1; grid-row:3; grid-template-columns:minmax(190px,auto) auto; align-items:center; justify-content:start; }
  .share-feedback { grid-column:1/-1; }
}

@media (min-width: 992px) and (max-width: 1199px) {
  .shop.red.shops .shops { grid-template-columns: repeat(3, minmax(0,1fr)); }
}

@media (max-width: 640px) {
  .calendar-infos { padding: 50px 0 55px; }
  .about-heading,
  .about-content { padding-right: 15px; padding-left: 15px; }
  .shop-shell { width: calc(100% - 30px); }
  .about-heading { align-items: flex-start; margin-bottom: 25px; }
  .about-heading h2 { font-size: 37px; }
  .about-lions-mark { width: 76px; height: 76px; flex-basis: 76px; }
  .about-lions-mark span { width: 52px; height: 60px; }
  .impact-lead { margin-bottom: 23px; font-size: 21px; }
  .impact-grid { grid-template-columns: 1fr; }
  .impact-card { padding: 25px 6px 27px 62px; }
  .impact-card + .impact-card { border-top: 1px solid rgba(84,35,95,.11); border-left: 0; }
  .impact-number { top: 25px; left: 8px; }
  .tombola-card { padding: 25px 21px; border-radius: 18px; }
  .tombola-card h3 { font-size: 25px; }
  .shop.red.shops { padding: 58px 0 62px; }
  .shop-intro h3 { font-size: 39px; }
  .online-purchase-card { grid-template-columns: 58px minmax(0,1fr); grid-template-rows:auto auto auto; gap: 16px; padding: 23px 20px; }
  .purchase-icon { width: 58px; height: 58px; border-radius: 16px; }
  .online-purchase-card h4 { font-size: 26px; }
  .purchase-actions { grid-column: 1 / -1; grid-row:3; grid-template-columns:1fr; justify-content:stretch; }
  .purchase-button { justify-content: center; }
  .purchase-facts { grid-column:1/-1; grid-row:2; display:grid; grid-template-columns:1fr; gap:10px; padding-top:14px; }
  .purchase-facts li { padding:0; }
  .purchase-facts li:nth-child(2) small { display:inline; }
  .purchase-facts li+li { padding-top:9px; border-top:1px solid rgba(81,44,20,.1); }
  .purchase-facts li+li::before { display:none; }
  .shop.red.shops .shops { grid-template-columns: 1fr; gap: 9px; }
  .shop.red.shops .shop-list { min-height: 84px; }
}

@media (prefers-reduced-motion: reduce) {
  .purchase-button,
  .shop.red.shops .shop-list { transition: none; }
}
