/* MARKETING-01 – Last Christmas Deal & Hello Spring 2027.
   Farbwelt: Winter = Gold/Dunkelblau/Weiß, Frühling = Gold/natürliche Waldtöne (keine grasgrünen Vollflächen).
   Keine Sticky-Elemente, keine Overlays über Seiteninhalt, keine Pop-ups. */
:root {
  --cmp26-gold: #c9a45c;
  --cmp26-gold-light: #e7cf96;
  --cmp26-gold-deep: #9c7a3c;
  --cmp26-night: #0d1626;
  --cmp26-ink: #0a0c10;
  --cmp26-snow: #f6f8fb;
  --cmp26-forest: #2f3a2a;
  --cmp26-moss: #55613f;
}

/* ---------- Kampagnenbanner: Originalfoto + Originallogo, Text und Buttons als HTML ---------- */
.cmp26-visual {
  position: relative;
  isolation: isolate;
  display: grid;
  grid-template-columns: minmax(190px, 27%) 1fr;
  align-items: center;
  min-height: clamp(280px, 30vw, 400px);
  border-radius: 18px;
  overflow: hidden;
  background: #000;
  color: #fff;
  box-shadow: 0 18px 48px rgba(10, 12, 16, .22);
}
.cmp26-visual--full { min-height: clamp(360px, 34vw, 470px); }
.cmp26-visual__photo {
  position: absolute; z-index: -2;
  top: 0; right: 0; bottom: 0;
  width: 74%; height: 100%;
  object-fit: cover; object-position: 60% 50%;
}
.cmp26-visual__fade {
  position: absolute; z-index: -1; inset: 0;
  background: linear-gradient(90deg, #000 0%, #000 26%, rgba(0, 0, 0, .9) 36%, rgba(0, 0, 0, .58) 52%, rgba(0, 0, 0, .28) 70%, rgba(0, 0, 0, .12) 100%);
}
.cmp26-visual--winter .cmp26-visual__fade {
  background: linear-gradient(90deg, #000 0%, #000 26%, rgba(3, 8, 20, .9) 36%, rgba(6, 14, 34, .62) 52%, rgba(8, 18, 40, .34) 70%, rgba(8, 18, 40, .16) 100%);
}
.cmp26-visual__brand { grid-column: 1; display: grid; justify-items: center; gap: 10px; padding: 18px 12px; text-align: center; }
.cmp26-visual__logo {
  width: min(100%, 250px); height: auto;
  -webkit-mask-image: radial-gradient(ellipse 50% 50% at 50% 50%, #000 62%, rgba(0, 0, 0, .6) 80%, transparent 100%);
  mask-image: radial-gradient(ellipse 50% 50% at 50% 50%, #000 62%, rgba(0, 0, 0, .6) 80%, transparent 100%);
}
.cmp26-visual .cmp26-visual__brand p.cmp26-visual__tag { margin: 0; font-size: .74rem; letter-spacing: .16em; text-transform: uppercase; color: rgba(255, 255, 255, .86); }
.cmp26-visual__copy { grid-column: 2; padding: 26px clamp(18px, 3.4vw, 44px); max-width: 640px; text-shadow: 0 2px 14px rgba(0, 0, 0, .55); }
.cmp26-visual .cmp26-visual__copy p { margin: 0; color: #fff; }
.cmp26-visual .cmp26-visual__copy p.cmp26-visual__script {
  font-family: Georgia, "Times New Roman", serif; font-style: italic;
  font-size: clamp(2rem, 4.4vw, 3.5rem); line-height: 1;
}
.cmp26-visual .cmp26-visual__copy p.cmp26-visual__main {
  font-family: Inter, ui-sans-serif, system-ui, -apple-system, "Segoe UI", sans-serif;
  font-weight: 800; letter-spacing: .02em; text-transform: uppercase;
  font-size: clamp(2.2rem, 5.2vw, 4.1rem); line-height: 1; margin-top: .08em;
  color: var(--cmp26-gold-light);
}
.cmp26-visual--spring .cmp26-visual__copy p.cmp26-visual__main { color: #f3e6c4; }
.cmp26-visual .cmp26-visual__copy p.cmp26-visual__badge {
  display: inline-flex; flex-direction: column; margin-top: .7rem; padding: .45rem .9rem .5rem; border-radius: 6px;
  font-family: Inter, ui-sans-serif, system-ui, -apple-system, "Segoe UI", sans-serif; font-weight: 800;
  font-size: clamp(1.05rem, 2.1vw, 1.45rem); line-height: 1.15; text-shadow: none;
  color: #1b1408; background: linear-gradient(100deg, var(--cmp26-gold-deep), var(--cmp26-gold-light) 55%, var(--cmp26-gold));
}
.cmp26-visual .cmp26-visual__copy p.cmp26-visual__badge small { font-weight: 600; font-size: .62em; letter-spacing: .01em; }
.cmp26-visual--spring .cmp26-visual__copy p.cmp26-visual__badge {
  color: #f6edd6; background: linear-gradient(100deg, var(--cmp26-forest), var(--cmp26-moss)); border: 1px solid rgba(231, 207, 150, .55);
}
.cmp26-visual__facts { list-style: none; margin: .9rem 0 0; padding: 0; display: grid; gap: .25rem; font-weight: 600; font-size: .98rem; }
.cmp26-visual__facts li::before { content: "\2726\00a0\00a0"; color: var(--cmp26-gold-light); }
.cmp26-visual__actions { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 1.05rem; text-shadow: none; }
.cmp26-btn {
  display: inline-flex; align-items: center; justify-content: center; min-height: 44px; padding: .55rem 1rem;
  border-radius: 999px; font-weight: 700; font-size: .95rem; line-height: 1.1; text-decoration: none;
  color: #fff; background: rgba(0, 0, 0, .38); border: 1px solid rgba(231, 207, 150, .75);
  -webkit-backdrop-filter: blur(4px); backdrop-filter: blur(4px);
}
.cmp26-btn:hover { background: rgba(0, 0, 0, .55); }
.cmp26-btn:focus-visible { outline: 3px solid #fff; outline-offset: 2px; }
.cmp26-btn--primary { color: #1b1408; border-color: transparent; background: linear-gradient(100deg, var(--cmp26-gold), var(--cmp26-gold-light)); }
.cmp26-btn--primary:hover { background: linear-gradient(100deg, var(--cmp26-gold-deep), var(--cmp26-gold)); }
.cmp26-visual--spring .cmp26-btn--primary { color: #f6edd6; background: linear-gradient(100deg, var(--cmp26-forest), var(--cmp26-moss)); border-color: rgba(231, 207, 150, .8); }
@media (max-width: 760px) {
  .cmp26-visual, .cmp26-visual--full { grid-template-columns: 1fr; min-height: 0; align-items: start; }
  .cmp26-visual__photo { top: 150px; bottom: auto; width: 100%; height: 300px; object-position: 50% 50%; }
  .cmp26-visual__fade, .cmp26-visual--winter .cmp26-visual__fade {
    background: linear-gradient(180deg, #000 0, #000 150px, rgba(0, 0, 0, .55) 210px, rgba(0, 0, 0, .25) 300px, rgba(0, 0, 0, .7) 400px, #000 470px, #000 100%);
  }
  .cmp26-visual--winter .cmp26-visual__fade {
    background: linear-gradient(180deg, #000 0, #000 150px, rgba(3, 8, 20, .55) 210px, rgba(6, 14, 34, .25) 300px, rgba(4, 10, 24, .75) 400px, #03060d 470px, #03060d 100%);
  }
  .cmp26-visual__brand { grid-column: 1; padding: 14px 12px 0; }
  .cmp26-visual__logo { width: min(58%, 210px); }
  .cmp26-visual__copy { grid-column: 1; padding: 70px 18px 22px; text-align: center; max-width: none; }
  .cmp26-visual .cmp26-visual__copy p.cmp26-visual__badge { align-items: center; }
  .cmp26-visual__facts { justify-items: center; font-size: .92rem; }
  .cmp26-visual__actions { justify-content: center; }
  .cmp26-btn { flex: 1 1 calc(50% - 8px); }
}

/* ---------- Angebotsseiten ---------- */
.cmp26-page {
  width: min(var(--site-content-width, 1240px), calc(100% - 2 * var(--page, 20px)));
  margin: 0 auto;
  padding-bottom: clamp(2.4rem, 5vw, 4.4rem);
}
.cmp26-hero { display: grid; gap: clamp(1.2rem, 3vw, 2rem); margin-top: clamp(.8rem, 2vw, 1.4rem); }
.cmp26-hero__copy { max-width: 860px; }
.cmp26-hero__copy h1 { margin: .2em 0 .35em; font-size: clamp(1.9rem, 4.2vw, 3rem); line-height: 1.1; }
.cmp26-status {
  display: inline-block;
  margin: .2rem 0 1rem;
  padding: .35rem .75rem;
  border-radius: 999px;
  font-weight: 700;
  font-size: .92rem;
  background: rgba(201, 164, 92, .16);
  color: #4a3a17;
}
[data-campaign-state="ended"] .cmp26-status { background: #f3e1df; color: #7a2d22; }
.cmp26-actions { flex-wrap: wrap; }

.cmp26-facts ul {
  list-style: none;
  margin: clamp(1.4rem, 3vw, 2.2rem) 0 0;
  padding: 0;
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(170px, 1fr));
  gap: 12px;
}
.cmp26-facts li {
  padding: 16px 18px;
  border-radius: 14px;
  background: var(--white, #fffdf8);
  border: 1px solid rgba(37, 35, 29, .1);
  display: grid;
  gap: 4px;
}
.cmp26-facts strong { font-size: 1.18rem; color: var(--ink, #25231d); }
.cmp26-facts span { color: var(--muted, #6f6a5f); font-size: .95rem; }
.cmp26-page--winter .cmp26-facts li:first-child { background: var(--cmp26-night); border-color: var(--cmp26-night); }
.cmp26-page--winter .cmp26-facts li:first-child strong { color: var(--cmp26-gold-light); }
.cmp26-page--winter .cmp26-facts li:first-child span { color: #dfe6f1; }
.cmp26-page--spring .cmp26-facts li:first-child { background: var(--cmp26-forest); border-color: var(--cmp26-forest); }
.cmp26-page--spring .cmp26-facts li:first-child strong { color: #f3e6c4; }
.cmp26-page--spring .cmp26-facts li:first-child span { color: #e6e9dc; }

.cmp26-conditions {
  margin-top: clamp(1.8rem, 4vw, 2.8rem);
  padding: clamp(1.2rem, 3vw, 2rem);
  border-radius: 18px;
  background: var(--cream, #fbf7ee);
  border: 1px solid rgba(183, 154, 91, .35);
}
.cmp26-conditions h2 { margin-top: 0; }
.cmp26-conditions ul { margin: 0; padding-left: 1.2rem; display: grid; gap: .45rem; }

.cmp26-chalets { margin-top: clamp(1.8rem, 4vw, 2.8rem); }
.cmp26-chalet-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(230px, 1fr)); gap: 16px; }
.cmp26-chalet { border-radius: 16px; overflow: hidden; background: var(--white, #fffdf8); border: 1px solid rgba(37, 35, 29, .1); }
.cmp26-chalet img { display: block; width: 100%; height: auto; aspect-ratio: 4 / 3; object-fit: cover; }
.cmp26-chalet div { padding: 14px 16px 18px; }
.cmp26-chalet h3 { margin: 0 0 .3rem; }
.cmp26-chalet p { margin: 0 0 .6rem; color: var(--muted, #6f6a5f); font-size: .95rem; }

.cmp26-ideas { margin-top: clamp(1.4rem, 3vw, 2rem); }
.cmp26-faq { margin-top: clamp(1.4rem, 3vw, 2.2rem); border-radius: 18px; }
.cmp26-cta { margin-top: clamp(1.6rem, 4vw, 2.6rem); }

/* ---------- Startseite: Aktionsbereich ---------- */
.cmp26-home { display: grid; gap: clamp(1.2rem, 3vw, 1.8rem); margin-top: clamp(1rem, 2.4vw, 1.6rem); }
.cmp26-home-offer { display: grid; gap: .9rem; }
.cmp26-home-section .cmp26-home { width: min(var(--site-content-width, 1240px), 100%); margin-inline: auto; }

/* ---------- Blog-/Last-Minute-Teaser ---------- */
.cmp26-teaser-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 420px), 1fr)); gap: clamp(1rem, 2.4vw, 1.6rem); margin-top: 1rem; }
.cmp26-teaser { display: grid; gap: .6rem; align-content: start; }
.cmp26-teaser p { margin: 0; }
.cmp26-teaser .button { justify-self: start; width: auto; }
.cmp26-lm .cmp26-visual { grid-template-columns: minmax(150px, 32%) 1fr; }
.winter-cta .cmp26-visual { margin-bottom: 1rem; }

@media (prefers-reduced-motion: reduce) {
  .cmp26-visual { box-shadow: none; }
}
.cmp26-lm .cmp26-teaser-grid { grid-template-columns: 1fr; }
/* Buttons im Banner gegen fremde Link-Farben absichern (z. B. .winter-cta a) */
.cmp26-visual .cmp26-visual__actions a.cmp26-btn { color: #fff; text-decoration: none; }
.cmp26-visual .cmp26-visual__actions a.cmp26-btn--primary { color: #1b1408; }
.cmp26-visual--spring .cmp26-visual__actions a.cmp26-btn--primary { color: #f6edd6; }

/* ---------- FAST LAUNCH: dominanter Hauptbutton je Aktion ---------- */
.cmp26-btn--cta { flex: 1 1 100%; flex-direction: column; gap: 3px; min-height: 56px; padding: .7rem 1.2rem; font-size: 1.12rem; letter-spacing: .01em; box-shadow: 0 6px 18px rgba(0, 0, 0, .35); }
.cmp26-btn--cta small { font-size: .74rem; font-weight: 600; opacity: .85; letter-spacing: 0; }
.cmp26-btn--link { background: transparent; border-color: transparent; text-decoration: underline; text-underline-offset: 3px; }
.cmp26-visual .cmp26-visual__actions a.cmp26-btn--link { text-decoration: underline; }
.cmp26-visual .cmp26-visual__actions a.cmp26-btn--primary { color: #1b1408; }
.cmp26-visual--spring .cmp26-visual__actions a.cmp26-btn--primary { color: #f6edd6; }
.cmp26-cta-main { font-size: 1.08rem; min-height: 52px; }
.cmp26-cta-via { margin: .5rem 0 0; font-size: .85rem; opacity: .8; }
.cmp26-quick { order: -2; /* mobil: Startseite ordnet Hero per flex-order; Hinweis direkt nach dem Hero-Bild */ display: flex; flex-wrap: wrap; gap: 8px; justify-content: center; margin: 0 auto; padding: 10px 16px; max-width: 1200px; }
.cmp26-quick__item { display: inline-flex; align-items: center; gap: .45rem; min-height: 44px; padding: .45rem 1rem; border-radius: 999px; font-weight: 700; font-size: .95rem; line-height: 1.15; text-decoration: none; color: #1b1408; background: linear-gradient(100deg, #c9a45c, #e7cf96); border: 1px solid rgba(120, 90, 30, .35); }
.cmp26-quick__item--spring { color: #f6edd6; background: linear-gradient(100deg, #2f4a32, #55704a); border-color: rgba(231, 207, 150, .6); }
.cmp26-quick__item b { font-size: 1.05em; }
.cmp26-quick__item:focus-visible { outline: 3px solid #2b2112; outline-offset: 2px; }
@media (max-width: 760px) {
  .cmp26-quick { padding: 8px 12px; }
  .cmp26-quick__item { flex: 1 1 100%; justify-content: center; font-size: .9rem; }
}
/* FAST LAUNCH: Auf den vier Aktionsseiten fuehrt die feste mobile Leiste "Verfuegbarkeit & Preise pruefen" in die regulaere
   Online-Buchung (ohne Aktionsrabatt) und ueberlagert Inhalte. Nur dort ausblenden; Header-Link zur Buchung bleibt erhalten. */
body:has(.cmp26-page) .mobile-booking-cta { display: none !important; }
.cmp26-home-offer { scroll-margin-top: 80px; }
