/* Fotodesign Winklmeier · Einheitliches Layout für Preise & Rabatte, Partnerschaft, FAQ und Kontakt · 08.10.2026
   Design-Tokens entsprechen Startseite und Fotografie-Übersicht (Nacht, Elfenbein, Gold, Aqua, Terrakotta · Cormorant Garamond + Manrope). */

.u-page {
  --u-night: #004062;
  --u-night-soft: #0b5d7c;
  --u-grad: linear-gradient(110deg, #004062 0%, #0b5d7c 55%, #1d6b7c 100%);
  --u-ivory: #f2eee5;
  --u-paper: #fffdf9;
  --u-mist: #dce7e4;
  --u-sand: #f4eee3;
  --u-gold: #d8b66b;
  --u-gold-deep: #ac8149;
  --u-aqua: #61d3d0;
  --u-clay: #7a1f2b; /* Bordeaux (ehemals Terrakotta) */
  --u-wine: #7a1f2b;
  --u-gold-text: #7d5f28;
  --u-ink: #16242c;
  --u-text: #2e444c;
  --u-muted: #4d5b61;
  --u-line: #d9d1c3;
  --u-line-strong: #b9ad99;
  --u-line-dark: rgba(255, 255, 255, 0.22);
  --u-focus: #167b88;
  --u-serif: "Cormorant Garamond", "Iowan Old Style", Baskerville, Georgia, serif;
  --u-sans: Manrope, Arial, Helvetica, sans-serif;
  --u-gutter: clamp(18px, 4vw, 70px);
  --u-fs-11: 12px; --u-fs-13: 14px; --u-fs-14: 14px; --u-fs-15: 15px; --u-fs-16: 16px; --u-fs-17: 17px;
  --u-wrap: clamp(1240px, 92vw, 2000px);
  position: relative;
  color: var(--u-text);
  font-family: var(--u-sans);
  font-size: var(--u-fs-16);
  line-height: 1.65;
  overflow-wrap: anywhere;
}
.u-page, .u-page * { box-sizing: border-box; min-width: 0; }
.u-page [hidden] { display: none !important; }
.u-page a { color: inherit; }
.u-page :is(a, button, summary, input, select, textarea):focus-visible { outline: 3px solid var(--u-focus); outline-offset: 3px; }

/* ---------- Bausteine ---------- */
.u-wrap { width: min(calc(100% - 2 * var(--u-gutter)), var(--u-wrap)); margin-inline: auto; }
.u-kicker {
  display: flex; align-items: center; gap: 12px; margin: 0 0 22px;
  color: var(--u-clay); font-size: var(--u-fs-11); font-weight: 800; letter-spacing: 0.21em; line-height: 1.4; text-transform: uppercase;
}
.u-kicker::before { content: ""; flex: 0 0 26px; width: 26px; height: 1px; background: currentColor; }
.u-page h1, .u-page h2, .u-page h3, .u-page h4, .u-page .u-serif { font-family: var(--u-serif); font-weight: 400; letter-spacing: -0.03em; line-height: 1.04; color: var(--u-ink); margin: 0; }
.u-page h1 { font-size: clamp(40px, 5.4vw, 74px); }
.u-page h2 { font-size: clamp(32px, 3.6vw, 50px); }
.u-page h3 { font-size: clamp(26px, 2.3vw, 34px); line-height: 1.1; }
.u-page h4 { font-size: clamp(24px, 2vw, 30px); line-height: 1.12; }
.u-page h1 em, .u-page h2 em { font-style: italic; font-weight: 400; color: var(--u-clay); }
.u-lead { margin: 0; color: var(--u-text); font-size: clamp(17px, 1.3vw, 20px); line-height: 1.7; }
.u-muted { color: var(--u-muted); }
.u-num { display: block; margin: 0 0 10px; color: var(--u-gold-deep); font-family: var(--u-serif); font-size: 26px; font-weight: 500; letter-spacing: 0; line-height: 1; }

/* Hero: dunkles Band wie Startseite */
.u-hero { position: relative; margin: 0 0 clamp(36px, 5vw, 64px); padding: clamp(54px, 7vw, 92px) 0 clamp(50px, 6vw, 84px); background: var(--u-night); color: var(--u-ivory); overflow: hidden; }
.u-hero::after { content: ""; position: absolute; right: -140px; top: -160px; width: 520px; height: 520px; border: 1px solid rgba(255, 255, 255, 0.07); border-radius: 50%; pointer-events: none; }
.u-hero::before { content: ""; position: absolute; right: 120px; bottom: -220px; width: 420px; height: 420px; border: 1px solid rgba(97, 211, 208, 0.16); border-radius: 50%; pointer-events: none; }
.u-hero__inner { position: relative; z-index: 1; display: grid; grid-template-columns: minmax(0, 1.15fr) minmax(0, 0.85fr); gap: clamp(32px, 5vw, 90px); align-items: end; }
.u-hero .u-kicker { color: var(--u-aqua); }
.u-hero h1 { color: #fff; }
.u-hero h1 em { color: var(--u-gold); }
.u-hero .u-lead { color: rgba(242, 238, 229, 0.86); font-size: clamp(16px, 1.2vw, 19px); }
.u-hero__aside > * + * { margin-top: 22px; }
.u-hero__actions { display: flex; flex-wrap: wrap; gap: 14px 26px; align-items: center; }

/* Buttons wie Startseite: eckig, Versalien, runder Pfeil */
.u-btn {
  display: inline-flex; align-items: center; justify-content: space-between; gap: 18px; min-height: 54px; padding: 0 12px 0 22px;
  background: var(--u-night); color: var(--u-ivory) !important; border: 1px solid var(--u-night); border-radius: 0; cursor: pointer;
  font: 800 12px/1.3 var(--u-sans); letter-spacing: 0.14em; text-transform: uppercase; text-decoration: none; text-align: left;
  transition: background 180ms ease, color 180ms ease, transform 180ms ease, border-color 180ms ease;
}
.u-btn::after { content: "\2197"; display: grid; place-items: center; flex: 0 0 32px; width: 32px; height: 32px; border-radius: 50%; background: var(--u-ivory); color: var(--u-night); font-size: var(--u-fs-15); font-weight: 700; letter-spacing: 0; }
.u-btn:hover, .u-btn:focus-visible { background: var(--u-clay); border-color: var(--u-clay); transform: translateY(-2px); }
.u-btn--light { background: var(--u-ivory); color: var(--u-night) !important; border-color: var(--u-ivory); }
.u-btn--light::after { background: var(--u-night); color: #fff; }
.u-btn--light:hover, .u-btn--light:focus-visible { background: var(--u-gold); border-color: var(--u-gold); color: var(--u-night) !important; }
.u-btn--ghost { background: transparent; color: var(--u-night) !important; border-color: var(--u-line-strong); }
.u-btn--ghost::after { background: var(--u-night); color: #fff; }
.u-btn--ghost:hover, .u-btn--ghost:focus-visible { background: var(--u-night); color: var(--u-ivory) !important; border-color: var(--u-night); }
.u-btn[disabled] { opacity: 0.55; cursor: progress; transform: none; }
.u-link { display: inline-flex; align-items: center; gap: 8px; padding: 6px 0; color: var(--u-night); font: 800 12px/1.4 var(--u-sans); letter-spacing: 0.14em; text-transform: uppercase; text-decoration: underline; text-decoration-color: var(--u-gold); text-underline-offset: 6px; text-decoration-thickness: 1px; }
.u-link:hover, .u-link:focus-visible { color: var(--u-clay); text-decoration-color: currentColor; }
.u-hero .u-link { color: var(--u-ivory); }
.u-hero .u-link:hover { color: var(--u-gold); }

/* Karten, Hinweise, Infokästen */
.u-card { background: var(--u-paper); border: 1px solid var(--u-line); border-radius: 2px; padding: clamp(22px, 2.6vw, 34px); }
.u-note { margin: 0; padding: 16px 20px; border: 1px solid var(--u-line); border-left: 3px solid var(--u-gold-deep); background: var(--u-sand); color: var(--u-text); font-size: var(--u-fs-15); line-height: 1.6; }
.u-band { position: relative; margin: clamp(40px, 6vw, 72px) 0 0; padding: clamp(40px, 5vw, 64px) 0; background: var(--u-night); color: var(--u-ivory); overflow: hidden; }
.u-band::after { content: ""; position: absolute; right: -120px; top: -200px; width: 460px; height: 460px; border: 1px solid rgba(97, 211, 208, 0.16); border-radius: 50%; pointer-events: none; }
.u-band__inner { position: relative; z-index: 1; display: grid; grid-template-columns: minmax(0, 1.2fr) minmax(0, 0.8fr); gap: clamp(28px, 4vw, 70px); align-items: center; }
.u-band h2, .u-band h3, .u-band strong.u-serif { color: #fff; }
.u-band p { margin: 14px 0 0; color: rgba(242, 238, 229, 0.86); font-size: var(--u-fs-16); line-height: 1.65; }
.u-band__actions { display: flex; flex-wrap: wrap; gap: 14px 24px; justify-content: flex-start; }
.u-section { margin: 0 0 clamp(40px, 6vw, 72px); }
.u-section__head { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: clamp(20px, 4vw, 70px); align-items: end; margin-bottom: clamp(24px, 3vw, 40px); }
.u-section__head p { margin: 0; color: var(--u-muted); font-size: var(--u-fs-16); line-height: 1.65; }
.u-tags { display: flex; flex-wrap: wrap; gap: 8px; margin: 0; padding: 0; list-style: none; }
.u-tag { display: inline-flex; align-items: center; min-height: 30px; padding: 4px 12px; border: 1px solid var(--u-line-strong); border-radius: 999px; color: var(--u-text); font-size: 12px; font-weight: 700; letter-spacing: 0.06em; text-transform: uppercase; }
.u-tag--gold { border-color: var(--u-gold); background: rgba(216, 182, 107, 0.16); color: #6e4e1c; }
.u-tag--night { border-color: var(--u-night); background: var(--u-night); color: var(--u-ivory); }

/* Formularelemente */
.u-page :is(input:not([type=checkbox]):not([type=radio]):not([type=hidden]), select, textarea) {
  width: 100%; min-height: 52px; padding: 13px 16px; border: 1px solid var(--u-line-strong); border-radius: 2px; background: var(--u-paper); color: var(--u-ink);
  font: 500 16px/1.5 var(--u-sans); box-shadow: none; appearance: none; -webkit-appearance: none;
}
.u-page select { padding-right: 44px; background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='14' height='9' viewBox='0 0 14 9'><path d='M1 1l6 6 6-6' fill='none' stroke='%23061821' stroke-width='1.6'/></svg>"); background-repeat: no-repeat; background-position: right 16px center; }
.u-page textarea { min-height: 180px; resize: vertical; }
.u-page :is(input, select, textarea):focus { outline: none; border-color: var(--u-night); box-shadow: 0 0 0 3px rgba(22, 123, 136, 0.22); }
.u-page input::placeholder, .u-page textarea::placeholder { color: #8b949a; }
.u-page input[type=checkbox] { width: 20px; height: 20px; margin: 0; accent-color: var(--u-night); flex: 0 0 20px; }

@media (max-width: 900px) {
  .u-hero__inner, .u-band__inner, .u-section__head { grid-template-columns: minmax(0, 1fr); }
  .u-hero__inner { align-items: start; }
  .u-hero::after, .u-band::after { display: none; }
}
@media (max-width: 600px) {
  .u-page h1 { font-size: clamp(34px, 10vw, 44px); }
  .u-page h2 { font-size: clamp(28px, 8vw, 36px); }
  .u-btn { width: 100%; }
  .u-card { padding: 20px 16px; }
  .u-kicker { font-size: 12px; }
}

/* ============================================================
   PARTNERSCHAFT  (#fdwm-page-07)
   ============================================================ */
#fw-content #fdwm-page-07 .fdwm-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 26px; margin: 0 0 clamp(48px, 6vw, 80px); padding: 0; list-style: none; }
#fw-content #fdwm-page-07 .fdwm-card { display: flex; flex-direction: column; background: var(--u-paper); border: 1px solid var(--u-line); border-radius: 2px; overflow: hidden; text-decoration: none; color: inherit; transition: transform 220ms ease, border-color 220ms ease, box-shadow 220ms ease; }
#fw-content #fdwm-page-07 .fdwm-card:hover, #fw-content #fdwm-page-07 .fdwm-card:focus-visible { transform: translateY(-4px); border-color: var(--u-gold); box-shadow: 0 22px 44px -28px rgba(0, 47, 73, 0.45); }
#fw-content #fdwm-page-07 .fdwm-card img { display: block; width: 100%; aspect-ratio: 4 / 3; height: auto; object-fit: contain; padding: 22px; background: #fff; border-bottom: 1px solid var(--u-line); border-radius: 0; }
#fw-content #fdwm-page-07 .fdwm-card-copy { display: flex; flex-direction: column; flex: 1; gap: 10px; padding: 24px 24px 26px; }
#fw-content #fdwm-page-07 .fdwm-card-copy strong { font-family: var(--u-serif); font-size: 27px; font-weight: 500; letter-spacing: -0.02em; line-height: 1.1; color: var(--u-ink); }
#fw-content #fdwm-page-07 .fdwm-card-copy .fw-partner-description { color: var(--u-muted); font-size: var(--u-fs-15); line-height: 1.6; }
#fw-content #fdwm-page-07 .fdwm-card-copy > span:last-child { margin-top: auto; padding-top: 14px; color: var(--u-clay); font-size: var(--u-fs-11); font-weight: 800; letter-spacing: 0.16em; text-transform: uppercase; }
@media (max-width: 1000px) { #fw-content #fdwm-page-07 .fdwm-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 620px) { #fw-content #fdwm-page-07 .fdwm-grid { grid-template-columns: minmax(0, 1fr); gap: 18px; } }

/* ============================================================
   FRAGEN & ANTWORTEN  (#fdw-faq) – Markup und JS unverändert
   ============================================================ */
#fw-content #fdw-faq .compact-faq-tools { margin: 0 0 clamp(32px, 4vw, 48px); padding: clamp(22px, 2.6vw, 34px); background: var(--u-paper); border: 1px solid var(--u-line); border-radius: 2px; }
#fw-content #fdw-faq .compact-faq-tools label { display: block; margin: 0 0 10px; color: var(--u-ink); font-size: var(--u-fs-11); font-weight: 800; letter-spacing: 0.18em; text-transform: uppercase; }
#fw-content #fdw-faq .compact-faq-tools input { min-height: 56px; font-size: var(--u-fs-17); }
#fw-content #fdw-faq .compact-faq-filters { display: flex; flex-wrap: wrap; gap: 8px; margin: 18px 0 0; }
#fw-content #fdw-faq .compact-faq-filters button { min-height: 40px; padding: 8px 14px; border: 1px solid var(--u-line-strong); border-radius: 0; background: transparent; color: var(--u-night); font: 800 12px/1.3 var(--u-sans); letter-spacing: 0.12em; text-transform: uppercase; cursor: pointer; transition: background 160ms ease, color 160ms ease, border-color 160ms ease; }
#fw-content #fdw-faq .compact-faq-filters button:hover { border-color: var(--u-night); }
#fw-content #fdw-faq .compact-faq-filters button[aria-pressed="true"] { background: var(--u-night); border-color: var(--u-night); color: var(--u-ivory); }
#fw-content #fdw-faq .compact-faq-count { margin: 16px 0 0; color: var(--u-muted); font-size: var(--u-fs-13); letter-spacing: 0.04em; }
#fw-content #fdw-faq .compact-faq-groups { display: grid; gap: clamp(28px, 4vw, 52px); }
#fw-content #fdw-faq .compact-faq-group { margin: 0; }
#fw-content #fdw-faq .compact-faq-group > h2 { display: flex; align-items: baseline; gap: 18px; margin: 0 0 6px; padding: 0 0 14px; border-bottom: 1px solid var(--u-line-strong); font-size: clamp(28px, 2.8vw, 38px); }
#fw-content #fdw-faq .compact-faq-group > h2::before { content: counter(faq-group, decimal-leading-zero); counter-increment: faq-group; color: var(--u-gold-text); font-size: 24px; font-weight: 500; letter-spacing: 0; }
#fw-content #fdw-faq .compact-faq-groups { counter-reset: faq-group; }
#fw-content #fdw-faq .compact-faq-item { margin: 0; border: 0; border-bottom: 1px solid var(--u-line); border-radius: 0; background: transparent; }
#fw-content #fdw-faq .compact-faq-item > summary { position: relative; display: block; min-height: 58px; padding: 18px 56px 18px 0; color: var(--u-ink); font-size: var(--u-fs-17); font-weight: 700; line-height: 1.45; cursor: pointer; list-style: none; transition: color 160ms ease; }
#fw-content #fdw-faq .compact-faq-item > summary::-webkit-details-marker { display: none; }
#fw-content #fdw-faq .compact-faq-item > summary::after { content: "+"; position: absolute; right: 2px; top: 50%; width: 34px; height: 34px; margin-top: -17px; display: grid; place-items: center; border: 1px solid var(--u-line-strong); border-radius: 50%; color: var(--u-night); font: 400 22px/1 var(--u-serif); transition: transform 220ms ease, background 160ms ease, color 160ms ease; }
#fw-content #fdw-faq .compact-faq-item > summary:hover { color: var(--u-clay); }
#fw-content #fdw-faq .compact-faq-item[open] > summary { color: var(--u-night); border-bottom: 0; }
#fw-content #fdw-faq .compact-faq-item[open] > summary::after { transform: rotate(45deg); background: var(--u-night); color: var(--u-ivory); border-color: var(--u-night); }
#fw-content #fdw-faq .compact-faq-answer { padding: 0 0 22px; max-width: 860px; }
#fw-content #fdw-faq .compact-faq-answer p { margin: 0 0 12px; color: var(--u-text); font-size: var(--u-fs-16); line-height: 1.7; }
#fw-content #fdw-faq .compact-faq-answer p:last-child { margin-bottom: 0; }
#fw-content #fdw-faq .compact-faq-answer a { color: var(--u-night); font-weight: 700; text-decoration: underline; text-decoration-color: var(--u-gold); text-underline-offset: 4px; }
#fw-content #fdw-faq .compact-faq-answer a:hover { color: var(--u-clay); text-decoration-color: currentColor; }
#fw-content #fdw-faq .compact-faq-answer .fdw-faq-antwort-cta { margin-top: 16px; padding: 12px 16px; border-left: 2px solid var(--u-gold); background: var(--u-sand); font-size: var(--u-fs-15); }
#fw-content #fdw-faq .compact-faq-empty { margin: 18px 0 0; padding: 18px 20px; border: 1px dashed var(--u-line-strong); color: var(--u-muted); }
#fw-content #fdw-faq .compact-faq-empty a { color: var(--u-night); font-weight: 700; }
@media print { #fw-content #fdw-faq .compact-faq-tools, #fw-content #fdw-faq .compact-faq-empty { display: none !important; } #fw-content #fdw-faq .compact-faq-item[hidden], #fw-content #fdw-faq .compact-faq-group[hidden] { display: block !important; } #fw-content #fdw-faq .compact-faq-item { break-inside: avoid; } }

/* ============================================================
   KONTAKT  (#foto-termin-tool) – Formular-IDs/-Klassen unverändert
   ============================================================ */
#fw-content #foto-termin-tool .fdwm-contact-direct { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 0; margin: 0; border: 1px solid var(--u-line-dark); }
#fw-content #foto-termin-tool .fdwm-contact-direct a { display: flex; flex-direction: column; gap: 8px; padding: 20px 22px; border-right: 1px solid var(--u-line-dark); color: var(--u-ivory); text-decoration: none; transition: background 160ms ease; }
#fw-content #foto-termin-tool .fdwm-contact-direct a:last-child { border-right: 0; }
#fw-content #foto-termin-tool .fdwm-contact-direct a:hover { background: rgba(255, 255, 255, 0.05); }
#fw-content #foto-termin-tool .fdwm-contact-direct span { color: var(--u-aqua); font-size: 12px; font-weight: 800; letter-spacing: 0.18em; text-transform: uppercase; }
#fw-content #foto-termin-tool .fdwm-contact-direct strong { font-family: var(--u-serif); font-size: clamp(19px, 1.6vw, 23px); font-weight: 500; letter-spacing: -0.01em; line-height: 1.2; overflow-wrap: anywhere; }
#fw-content #foto-termin-tool .compact-contact-address { display: flex; flex-wrap: wrap; gap: 6px 22px; margin: 18px 0 0; color: rgba(242, 238, 229, 0.8); font-size: var(--u-fs-14); }
#fw-content #foto-termin-tool .compact-contact-address p { margin: 0; }
#fw-content #foto-termin-tool .compact-contact-address a { color: var(--u-ivory); font-weight: 700; text-decoration: underline; text-decoration-color: var(--u-gold); text-underline-offset: 4px; }
#fw-content #foto-termin-tool .u-contact-layout { display: grid; grid-template-columns: minmax(0, 0.9fr) minmax(0, 1.6fr); gap: clamp(28px, 4vw, 70px); align-items: start; margin-bottom: clamp(48px, 6vw, 80px); }
#fw-content #foto-termin-tool .u-contact-copy { position: sticky; top: 24px; }
#fw-content #foto-termin-tool .u-contact-copy .u-kicker { margin-bottom: 18px; }
#fw-content #foto-termin-tool .intro { margin: 0 0 18px; color: var(--u-text); font-size: var(--u-fs-17); line-height: 1.7; }
#fw-content #foto-termin-tool .required-note { margin: 0 0 22px; color: var(--u-muted); font-size: var(--u-fs-13); letter-spacing: 0.02em; }
#fw-content #foto-termin-tool .required-note strong { color: var(--u-clay); }
#fw-content #foto-termin-tool .u-contact-copy .u-note { margin-top: 24px; }
#fw-content #foto-termin-tool form { margin: 0; }
#fw-content #foto-termin-tool fieldset { margin: 0 0 22px; padding: clamp(22px, 2.6vw, 34px); border: 1px solid var(--u-line); border-radius: 2px; background: var(--u-paper); min-inline-size: 0; }
#fw-content #foto-termin-tool fieldset[disabled] { opacity: 0.6; }
#fw-content #foto-termin-tool legend { float: left; width: 100%; margin: 0 0 20px; padding: 0; font-family: var(--u-serif); font-size: clamp(26px, 2.2vw, 32px); font-weight: 400; letter-spacing: -0.02em; line-height: 1.1; color: var(--u-ink); }
#fw-content #foto-termin-tool fieldset[disabled] > legend { color: #7b321c; font-family: var(--u-sans); font-size: var(--u-fs-15); font-weight: 700; letter-spacing: 0; }
#fw-content #foto-termin-tool legend + * { clear: both; }
#fw-content #foto-termin-tool .form-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 18px 20px; clear: both; }
#fw-content #foto-termin-tool .field { display: flex; flex-direction: column; gap: 8px; }
#fw-content #foto-termin-tool .field.full-width, #fw-content #foto-termin-tool .full-width { grid-column: 1 / -1; }
#fw-content #foto-termin-tool label { color: var(--u-ink); font-size: var(--u-fs-13); font-weight: 800; letter-spacing: 0.04em; }
#fw-content #foto-termin-tool label .optional { color: var(--u-muted); font-weight: 500; letter-spacing: 0; }
#fw-content #foto-termin-tool .help-text { margin: 0; color: var(--u-muted); font-size: var(--u-fs-13); line-height: 1.5; }
#fw-content #foto-termin-tool .hidden { display: none; }
#fw-content #foto-termin-tool .honeypot { position: absolute !important; left: -10000px !important; width: 1px !important; height: 1px !important; overflow: hidden !important; }
#fw-content #foto-termin-tool .ft-appointment-option { margin: 0 0 22px; padding: 18px 22px; border: 1px solid var(--u-line); border-radius: 2px; background: var(--u-paper); }
#fw-content #foto-termin-tool .ft-appointment-option label { display: flex; align-items: center; gap: 12px; min-height: 32px; font-size: var(--u-fs-15); font-weight: 700; letter-spacing: 0; cursor: pointer; }
#fw-content #foto-termin-tool .ft-appointment-option .help-text { margin: 8px 0 0 32px; }
#fw-content #foto-termin-tool .notice, #fw-content #foto-termin-tool .fw-voucher-notice, #fw-content #foto-termin-tool .fw-live-status { margin: 0 0 22px; padding: 16px 20px; border: 1px solid var(--u-line); border-left: 3px solid var(--u-gold-deep); border-radius: 0; background: var(--u-sand); color: var(--u-text); font-size: var(--u-fs-15); line-height: 1.6; box-shadow: none; }
#fw-content #foto-termin-tool .fw-voucher-notice strong, #fw-content #foto-termin-tool .notice strong { display: block; margin: 0 0 4px; color: var(--u-ink); }
#fw-content #foto-termin-tool .fw-voucher-notice p { margin: 0; }
#fw-content #foto-termin-tool .privacy { display: flex; align-items: flex-start; gap: 12px; margin: 4px 0 0; padding: 16px 18px; border: 1px solid var(--u-line); background: var(--u-paper); font-size: var(--u-fs-14); font-weight: 500; letter-spacing: 0; line-height: 1.55; color: var(--u-text); }
#fw-content #foto-termin-tool .privacy input { margin-top: 2px; }
#fw-content #foto-termin-tool .privacy a { color: var(--u-night); font-weight: 700; text-decoration: underline; text-decoration-color: var(--u-gold); text-underline-offset: 3px; }
#fw-content #foto-termin-tool .u-submit { margin: 22px 0 0; }
#fw-content #foto-termin-tool #ft-submit { min-width: 260px; }
#fw-content #foto-termin-tool .success, #fw-content #foto-termin-tool .send-error { display: none; margin: 22px 0 0; padding: 16px 20px; border: 1px solid; border-radius: 0; box-shadow: none; font-size: var(--u-fs-15); line-height: 1.6; }
#fw-content #foto-termin-tool .success { color: #27502f; background: #edf4e8; border-color: #9fbf92; }
#fw-content #foto-termin-tool .send-error { color: #7b2f24; background: #fbeee9; border-color: #d59c8d; }
#fw-content #foto-termin-tool .fallback-notice { margin: 22px 0 0; padding: 0; border: 0; background: transparent; box-shadow: none; }
#fw-content #foto-termin-tool .fallback-notice p { margin: 0; color: var(--u-muted); font-size: var(--u-fs-14); line-height: 1.6; }
#fw-content #foto-termin-tool .fallback-notice a { color: var(--u-night); font-weight: 700; text-decoration-color: var(--u-gold); text-underline-offset: 3px; }
#fw-content #foto-termin-tool .fw-privacy-panel h2 { font-size: 30px; margin-bottom: 12px; }
#fw-content #foto-termin-tool .fw-privacy-panel p { font-size: var(--u-fs-15); line-height: 1.6; }
#fw-content #foto-termin-tool .fw-privacy-panel button { float: right; min-height: 40px; padding: 8px 14px; border: 1px solid var(--u-line-strong); border-radius: 0; background: var(--u-paper); font: 800 12px/1.3 var(--u-sans); letter-spacing: 0.12em; text-transform: uppercase; cursor: pointer; }
@media (max-width: 1000px) { #fw-content #foto-termin-tool .u-contact-layout { grid-template-columns: minmax(0, 1fr); } #fw-content #foto-termin-tool .u-contact-copy { position: static; } }
@media (max-width: 760px) { #fw-content #foto-termin-tool .fdwm-contact-direct { grid-template-columns: minmax(0, 1fr); } #fw-content #foto-termin-tool .fdwm-contact-direct a { border-right: 0; border-bottom: 1px solid var(--u-line-dark); } #fw-content #foto-termin-tool .fdwm-contact-direct a:last-child { border-bottom: 0; } #fw-content #foto-termin-tool .form-grid { grid-template-columns: minmax(0, 1fr); } #fw-content #foto-termin-tool #ft-submit { width: 100%; min-width: 0; } }

/* ============================================================
   PREISE & RABATTE  (#fw-preise-page / #fdw-preise)
   ============================================================ */
#fw-content #fw-preise-page .fw-promotions { width: min(calc(100% - 2 * var(--u-gutter)), var(--u-wrap)); max-width: none; margin: 0 auto clamp(40px, 6vw, 72px); padding: 0; border: 0; border-radius: 0; background: transparent; color: var(--u-text); }
#fw-content #fw-preise-page .fw-promotions > h2 { display: flex; align-items: baseline; gap: 18px; margin: 0 0 8px; font-size: clamp(32px, 3.6vw, 50px); }
#fw-content #fw-preise-page .fw-promotions > h2::before { content: "01"; color: var(--u-gold-text); font-size: 24px; font-weight: 500; }
#fw-content #fw-preise-page .fw-promotions > p { margin: 0 0 26px; max-width: 720px; color: var(--u-muted); font-size: var(--u-fs-16); line-height: 1.65; }
#fw-content #fw-preise-page .fw-promotions-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 24px; margin: 0 0 24px; }
#fw-content #fw-preise-page .fw-promotion { border: 1px solid var(--u-line); border-radius: 2px; background: var(--u-paper); overflow: hidden; }
#fw-content #fw-preise-page .fw-promotion-copy { padding: 24px; }
#fw-content #fw-preise-page .fw-promotion h3 { margin: 10px 0 12px; font-size: 28px; }
#fw-content #fw-preise-page .fw-promotion p { margin: 0 0 14px; font-size: var(--u-fs-16); line-height: 1.65; }
#fw-content #fw-preise-page .fw-promotion-date { color: var(--u-clay); font-size: var(--u-fs-11); font-weight: 800; letter-spacing: 0.16em; text-transform: uppercase; }
#fw-content #fw-preise-page .fw-promotion-banners { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 24px; margin: 0; }
#fw-content #fw-preise-page .fw-promotion-banner { margin: 0; width: 100%; min-width: 0; border: 1px solid var(--u-line); border-radius: 2px; background: var(--u-paper); overflow: hidden; }
#fw-content #fw-preise-page .fw-promotion-banner:first-child { grid-column: 1 / -1; }
#fw-content #fw-preise-page .fw-promotion-banner > a { display: block; color: inherit; text-decoration: none; }
#fw-content #fw-preise-page .fw-promotion-banner img { display: block; width: 100%; height: auto; }
#fw-content #fw-preise-page .fw-promotion-banner-caption { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: baseline; gap: 8px 16px; padding: 16px 20px 6px; font-size: var(--u-fs-13); color: var(--u-muted); }
#fw-content #fw-preise-page .fw-promotion-banner-caption strong { font-family: var(--u-serif); font-size: 24px; font-weight: 500; letter-spacing: -0.01em; color: var(--u-ink); }
#fw-content #fw-preise-page .fw-promotion-banner-caption > span { font-size: var(--u-fs-11); font-weight: 800; letter-spacing: 0.14em; text-transform: uppercase; color: var(--u-clay); }
#fw-content #fw-preise-page .fw-promotion-banner-sr { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
/* Aktionsdetails: immer sichtbar, Kernangaben hervorgehoben (2026-10-30.5) */
#fw-content #fw-preise-page .fw-promotion-banner { display: flex; flex-direction: column; }
#fw-content #fw-preise-page .fw-promotion-banner-details { flex: 1; margin: 12px 0 0; padding: 18px 20px 24px; border-top: 3px solid var(--u-gold); background: var(--u-sand); }
#fw-content #fw-preise-page .fw-promotion-banner-details-label { display: flex; align-items: center; gap: 12px; margin: 0 0 10px; color: var(--u-gold-text); font-size: var(--u-fs-11); font-weight: 800; letter-spacing: 0.18em; line-height: 1.4; text-transform: uppercase; }
#fw-content #fw-preise-page .fw-promotion-banner-details-label::before { content: ""; flex: 0 0 22px; width: 22px; height: 1px; background: currentColor; }
#fw-content #fw-preise-page .fw-promotion-banner-details-text { margin: 0; color: var(--u-ink); font-size: var(--u-fs-15); line-height: 1.85; }
#fw-content #fw-preise-page .fw-hl { color: var(--u-ink); font-weight: 800; white-space: nowrap; }
#fw-content #fw-preise-page .fw-hl--key { color: #6e4e1c; }
#fw-content #fw-preise-page .fw-hl--date { color: var(--u-wine); font-style: italic; }
#fw-content #fw-preise-page .fw-hl--cond { color: var(--u-wine); white-space: normal; }
#fw-content #fw-preise-page .fw-promotion-banner-caption { flex-direction: column; align-items: flex-start; }
@supports (grid-template-rows: subgrid) {
  #fw-content #fw-preise-page .fw-promotion-banner { display: grid; grid-row: span 2; grid-template-rows: subgrid; row-gap: 0; }
}
@media (min-width: 1001px) {
  #fw-content #fw-preise-page .fw-promotion-banners { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  #fw-content #fw-preise-page .fw-promotion-banner:first-child { grid-column: auto; }
}
#fw-content #fw-preise-page .compact-details { margin: 0; padding: 0 20px 14px; border: 0; border-radius: 0; background: transparent; }
#fw-content #fw-preise-page .compact-details > summary { min-height: 40px; padding: 8px 0; color: var(--u-night); font-size: var(--u-fs-11); font-weight: 800; letter-spacing: 0.14em; text-transform: uppercase; cursor: pointer; }
#fw-content #fw-preise-page .compact-details > :not(summary) { margin: 0 0 8px; color: var(--u-text); font-size: var(--u-fs-15); line-height: 1.6; }
#fw-content #fw-preise-page .fw-action-link { display: inline-flex; align-items: center; gap: 10px; min-height: 48px; padding: 0 18px; border-radius: 0; background: var(--u-night); color: var(--u-ivory); font: 800 12px/1.3 var(--u-sans); letter-spacing: 0.14em; text-transform: uppercase; text-decoration: none; }
#fw-content #fw-preise-page .fw-discount-combination-note { width: min(calc(100% - 2 * var(--u-gutter)), var(--u-wrap)); margin: -16px auto clamp(40px, 6vw, 72px); padding: 14px 18px; border: 1px solid var(--u-line); border-left: 3px solid var(--u-gold-deep); border-radius: 0; background: var(--u-sand); color: var(--u-text); font-size: var(--u-fs-14); line-height: 1.6; }
#fw-content #fw-preise-page .fw-discount-combination-note strong { font-weight: 600; }
/* Modelle */
#fw-content #fdw-preise { margin: 0; padding: 0; border: 0; background: transparent; box-shadow: none; }
#fw-content #fdw-preise :is(h1, h2, h3, h4, p, li, a, button, strong) { overflow-wrap: anywhere; hyphens: manual; }
#fw-content #fdw-preise .fdwp-rahmen { width: min(calc(100% - 2 * var(--u-gutter)), var(--u-wrap)); margin: 0 auto; padding: 0; border: 0; background: transparent; }
#fw-content #fdw-preise .fdwp-kicker { display: flex; align-items: center; gap: 12px; margin: 0 0 22px; padding: 0; border: 0; border-radius: 0; background: transparent; box-shadow: none; transform: none; color: var(--u-clay); font-size: var(--u-fs-11); font-weight: 800; letter-spacing: 0.21em; text-transform: uppercase; }
#fw-content #fdw-preise .fdwp-kicker::before { content: ""; flex: 0 0 26px; width: 26px; height: 1px; background: currentColor; }
#fw-content #fdw-preise .fdwp-titel { display: flex; align-items: baseline; gap: 18px; margin: 0 0 clamp(26px, 3vw, 40px); max-width: 900px; color: var(--u-ink); font-family: var(--u-serif); font-size: clamp(32px, 3.6vw, 50px); font-weight: 400; letter-spacing: -0.03em; line-height: 1.04; text-shadow: none; }
#fw-content #fdw-preise .fdwp-titel::before { content: "02"; color: var(--u-gold-text); font-size: 24px; font-weight: 500; letter-spacing: 0; }
#fw-content #fdw-preise .fdwp-modelle { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 26px; margin: 0 0 26px; }
#fw-content #fdw-preise .fdwp-modell { position: relative; display: flex; flex-direction: column; margin: 0; padding: clamp(24px, 2.8vw, 36px); border: 1px solid var(--u-line); border-radius: 2px; background: var(--u-paper); box-shadow: none; transition: border-color 200ms ease, box-shadow 200ms ease; }
#fw-content #fdw-preise .fdwp-modell.fdw-ist-empfohlen { border-color: var(--u-gold); box-shadow: 0 0 0 1px var(--u-gold), 0 24px 48px -32px rgba(0, 47, 73, 0.5); }
#fw-content #fdw-preise .fdwp-modell.fdw-ist-empfohlen::after { content: "Empfehlung für dich"; position: absolute; top: -13px; right: 22px; padding: 5px 12px; background: var(--u-wine); color: var(--u-ivory); font-size: 12px; font-weight: 800; letter-spacing: 0.16em; text-transform: uppercase; }
#fw-content #fdw-preise .fdwp-banderole { position: static; display: inline-flex; align-items: center; gap: 12px; margin: 0 0 16px; padding: 0; border: 0; border-radius: 0; background: transparent; box-shadow: none; transform: none; color: var(--u-clay); font-size: var(--u-fs-11); font-weight: 800; letter-spacing: 0.18em; text-transform: uppercase; }
#fw-content #fdw-preise .fdwp-banderole::before { content: ""; width: 22px; height: 1px; background: currentColor; }
#fw-content #fdw-preise .fdwp-modell h3 { margin: 0 0 16px; color: var(--u-ink); font-family: var(--u-serif); font-size: clamp(28px, 2.4vw, 36px); font-weight: 400; letter-spacing: -0.02em; line-height: 1.08; }
#fw-content #fdw-preise .fdwp-preishinweis-flexibel { margin: 0 0 18px; padding: 14px 16px; border: 1px solid var(--u-line); border-left: 3px solid var(--u-gold-deep); border-radius: 0; background: var(--u-sand); color: var(--u-text); font-size: var(--u-fs-15); font-weight: 500; line-height: 1.6; box-shadow: none; }
#fw-content #fdw-preise .compact-model-facts { margin: 0 0 20px; }
#fw-content #fdw-preise .compact-model-facts > div { padding: 14px 0; border-bottom: 1px solid var(--u-line); }
#fw-content #fdw-preise .compact-model-facts > div:last-child { border-bottom: 0; }
#fw-content #fdw-preise .compact-model-facts dt { margin: 0 0 4px; color: var(--u-ink); font-size: var(--u-fs-11); font-weight: 800; letter-spacing: 0.16em; text-transform: uppercase; }
#fw-content #fdw-preise .compact-model-facts dd { margin: 0; color: var(--u-text); font-size: var(--u-fs-16); line-height: 1.65; }
#fw-content #fdw-preise .fdwp-details { align-self: flex-start; margin: auto 0 0; padding: 6px 0; border: 0; border-radius: 0; background: transparent; box-shadow: none; color: var(--u-night); font: 800 12px/1.4 var(--u-sans); letter-spacing: 0.14em; text-transform: uppercase; text-decoration: underline; text-decoration-color: var(--u-gold); text-underline-offset: 6px; cursor: pointer; }
#fw-content #fdw-preise .fdwp-details:hover { color: var(--u-clay); text-decoration-color: currentColor; }
#fw-content #fdw-preise .fdwp-mehr { margin: 16px 0 0; padding: 16px 0 0; border-top: 1px dashed var(--u-line-strong); color: var(--u-muted); font-size: var(--u-fs-15); line-height: 1.65; }
/* Preis-Kompass */
#fw-content #fdw-preise .compact-compass { margin: 0 0 clamp(40px, 6vw, 72px); padding: 0; border: 1px solid var(--u-line); border-radius: 2px; background: var(--u-paper); }
#fw-content #fdw-preise .compact-compass > summary { position: relative; min-height: 64px; padding: 20px 64px 20px 28px; color: var(--u-ink); font-family: var(--u-serif); font-size: clamp(22px, 2vw, 27px); font-weight: 500; letter-spacing: -0.01em; line-height: 1.2; cursor: pointer; list-style: none; }
#fw-content #fdw-preise .compact-compass > summary::-webkit-details-marker { display: none; }
#fw-content #fdw-preise .compact-compass > summary::after { content: "+"; position: absolute; right: 22px; top: 50%; width: 34px; height: 34px; margin-top: -17px; display: grid; place-items: center; border: 1px solid var(--u-line-strong); border-radius: 50%; font: 400 22px/1 var(--u-serif); transition: transform 220ms ease; }
#fw-content #fdw-preise .compact-compass[open] > summary::after { transform: rotate(45deg); background: var(--u-night); color: var(--u-ivory); border-color: var(--u-night); }
#fw-content #fdw-preise .fdwp-kompass { margin: 0; padding: 0 28px 28px; border: 0; background: transparent; box-shadow: none; }
#fw-content #fdw-preise .fdwp-kompass-kopf { display: flex; flex-wrap: wrap; align-items: baseline; gap: 6px 18px; margin: 0 0 18px; padding-top: 6px; border-top: 1px solid var(--u-line); padding-top: 22px; }
#fw-content #fdw-preise .fdwp-kompass-kopf strong { color: var(--u-ink); font-size: var(--u-fs-17); font-weight: 800; }
#fw-content #fdw-preise .fdwp-kompass-kopf span { color: var(--u-muted); font-size: var(--u-fs-14); }
#fw-content #fdw-preise .fdwp-kompass-auswahl { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 14px; }
#fw-content #fdw-preise .fdwp-wahl { display: flex; flex-direction: column; gap: 6px; min-height: 96px; padding: 18px 20px; border: 1px solid var(--u-line-strong); border-radius: 2px; background: transparent; box-shadow: none; transform: none; color: var(--u-ink); font: 700 16px/1.35 var(--u-sans); text-align: left; cursor: pointer; transition: background 160ms ease, color 160ms ease, border-color 160ms ease, transform 160ms ease; }
#fw-content #fdw-preise .fdwp-wahl small { color: var(--u-muted); font-size: var(--u-fs-13); font-weight: 500; line-height: 1.45; }
#fw-content #fdw-preise .fdwp-wahl:hover { border-color: var(--u-night); transform: translateY(-2px); }
#fw-content #fdw-preise .fdwp-wahl[aria-pressed="true"] { background: var(--u-night); border-color: var(--u-night); color: var(--u-ivory); }
#fw-content #fdw-preise .fdwp-wahl[aria-pressed="true"] small { color: rgba(242, 238, 229, 0.78); }
#fw-content #fdw-preise .fdwp-empfehlung { margin: 18px 0 0; padding: 16px 20px; border: 1px solid var(--u-line); border-left: 3px solid var(--u-gold-deep); border-radius: 0; background: var(--u-sand); color: var(--u-text); font-size: var(--u-fs-15); line-height: 1.6; box-shadow: none; }
/* Preislisten */
#fw-content #fdw-preise .fdwp-preisliste-hinweis { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 12px clamp(20px, 4vw, 70px); align-items: end; margin: 0 0 24px; padding: 0; border: 0; border-radius: 0; background: transparent; color: inherit; box-shadow: none; }
#fw-content #fdw-preise .fdwp-preisliste-hinweis strong { display: flex; align-items: baseline; gap: 18px; color: var(--u-ink); font-family: var(--u-serif); font-size: clamp(30px, 3.2vw, 44px); font-weight: 400; letter-spacing: -0.03em; line-height: 1.05; }
#fw-content #fdw-preise .fdwp-preisliste-hinweis strong::before { content: "03"; color: var(--u-gold-text); font-size: 24px; font-weight: 500; letter-spacing: 0; }
#fw-content #fdw-preise .fdwp-preisliste-hinweis span { color: var(--u-muted); font-size: var(--u-fs-16); line-height: 1.65; }
#fw-content #fdw-preise .fdwp-downloads { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 26px; margin: 0 0 26px; }
#fw-content #fdw-preise .fdwp-download { display: grid; grid-template-columns: 54px minmax(0, 1fr) 36px; gap: 20px; align-items: center; padding: 24px 26px; border: 1px solid var(--u-line); border-radius: 2px; background: var(--u-paper); color: inherit; text-decoration: none; box-shadow: none; transition: transform 200ms ease, border-color 200ms ease, box-shadow 200ms ease; }
#fw-content #fdw-preise .fdwp-download:hover, #fw-content #fdw-preise .fdwp-download:focus-visible { transform: translateY(-3px); border-color: var(--u-gold); box-shadow: 0 22px 44px -28px rgba(0, 47, 73, 0.45); }
#fw-content #fdw-preise .fdwp-download-icon { display: grid; place-items: center; width: 54px; height: 54px; border: 1px solid var(--u-gold); border-radius: 50%; background: rgba(216, 182, 107, 0.16); color: var(--u-night); font-size: 20px; font-weight: 700; box-shadow: none; }
#fw-content #fdw-preise .fdwp-download-modell { display: block; margin: 0 0 6px; padding: 0; border: 0; border-radius: 0; background: transparent; box-shadow: none; transform: none; color: var(--u-clay); font-size: 12px; font-weight: 800; letter-spacing: 0.18em; text-transform: uppercase; }
#fw-content #fdw-preise .fdwp-download strong { display: block; color: var(--u-ink); font-family: var(--u-serif); font-size: 26px; font-weight: 500; letter-spacing: -0.01em; line-height: 1.1; }
#fw-content #fdw-preise .fdwp-download small { display: block; margin-top: 4px; color: var(--u-muted); font-size: var(--u-fs-14); }
#fw-content #fdw-preise .fdwp-download-pfeil { display: grid; place-items: center; width: 36px; height: 36px; border-radius: 50%; background: var(--u-night); color: var(--u-ivory); font-size: var(--u-fs-16); }
#fw-content #fdw-preise .fdwp-zusatz { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 26px; margin: 0 0 clamp(40px, 6vw, 72px); }
#fw-content #fdw-preise .fdwp-zusatzkarte { margin: 0; padding: 26px 28px; border: 1px solid var(--u-line); border-radius: 2px; background: var(--u-paper); box-shadow: none; }
#fw-content #fdw-preise .fdwp-mini { display: flex; align-items: center; gap: 12px; margin: 0 0 12px; color: var(--u-clay); font-size: var(--u-fs-11); font-weight: 800; letter-spacing: 0.18em; text-transform: uppercase; }
#fw-content #fdw-preise .fdwp-mini::before { content: ""; width: 22px; height: 1px; background: currentColor; }
#fw-content #fdw-preise .fdwp-zusatzkarte h3 { margin: 0 0 10px; color: var(--u-ink); font-family: var(--u-serif); font-size: 28px; font-weight: 400; letter-spacing: -0.02em; line-height: 1.1; }
#fw-content #fdw-preise .fdwp-zusatzkarte p { margin: 0 0 14px; color: var(--u-text); font-size: var(--u-fs-15); line-height: 1.65; }
#fw-content #fdw-preise .fdwp-zusatzkarte a { display: inline-flex; align-items: center; gap: 8px; color: var(--u-night); font: 800 12px/1.4 var(--u-sans); letter-spacing: 0.14em; text-transform: uppercase; text-decoration: underline; text-decoration-color: var(--u-gold); text-underline-offset: 6px; }
#fw-content #fdw-preise .fdwp-zusatzkarte a:hover { color: var(--u-clay); text-decoration-color: currentColor; }
/* Abschluss */
#fw-content #fdw-preise .fdwp-abschluss { position: relative; display: grid; grid-template-columns: minmax(0, 1.3fr) minmax(0, 0.7fr); gap: clamp(24px, 4vw, 60px); align-items: center; margin: 0; padding: clamp(32px, 4vw, 52px) clamp(24px, 3.5vw, 56px); border: 0; border-radius: 2px; background: var(--u-night); color: var(--u-ivory); box-shadow: none; overflow: hidden; }
#fw-content #fdw-preise .fdwp-abschluss::after { content: ""; position: absolute; right: -120px; top: -180px; width: 420px; height: 420px; border: 1px solid rgba(97, 211, 208, 0.18); border-radius: 50%; pointer-events: none; }
#fw-content #fdw-preise .fdwp-abschluss strong { position: relative; z-index: 1; display: block; color: #fff; font-family: var(--u-serif); font-size: clamp(28px, 2.8vw, 40px); font-weight: 400; letter-spacing: -0.02em; line-height: 1.08; }
#fw-content #fdw-preise .fdwp-abschluss p { position: relative; z-index: 1; margin: 14px 0 0; color: rgba(242, 238, 229, 0.86); font-size: var(--u-fs-16); line-height: 1.65; }
#fw-content #fdw-preise .fdwp-cta { position: relative; z-index: 1; justify-self: end; display: inline-flex; align-items: center; justify-content: space-between; gap: 18px; min-height: 54px; padding: 0 12px 0 22px; border: 1px solid var(--u-ivory); border-radius: 0; background: var(--u-ivory); color: var(--u-night) !important; box-shadow: none; font: 800 12px/1.3 var(--u-sans); letter-spacing: 0.14em; text-transform: uppercase; text-decoration: none; transition: background 180ms ease, transform 180ms ease; }
#fw-content #fdw-preise .fdwp-cta::after { content: "\2197"; display: grid; place-items: center; width: 32px; height: 32px; border-radius: 50%; background: var(--u-night); color: #fff; font-size: var(--u-fs-15); }
#fw-content #fdw-preise .fdwp-cta:hover { background: var(--u-gold); border-color: var(--u-gold); transform: translateY(-2px); }
#fw-content #fdw-preise .fdwp-steuer { margin: 22px 0 clamp(48px, 6vw, 80px); color: var(--u-muted); font-size: var(--u-fs-13); line-height: 1.6; text-align: left; }
@media (max-width: 1000px) {
  #fw-content #fdw-preise .fdwp-modelle, #fw-content #fdw-preise .fdwp-downloads, #fw-content #fdw-preise .fdwp-zusatz, #fw-content #fdw-preise .fdwp-preisliste-hinweis, #fw-content #fw-preise-page .fw-promotions-grid { grid-template-columns: minmax(0, 1fr); }
  #fw-content #fdw-preise .fdwp-kompass-auswahl { grid-template-columns: minmax(0, 1fr); }
  #fw-content #fdw-preise .fdwp-abschluss { grid-template-columns: minmax(0, 1fr); }
  #fw-content #fdw-preise .fdwp-cta { justify-self: start; }
}
@media (max-width: 760px) {
  #fw-content #fw-preise-page .fw-promotion-banners { grid-template-columns: minmax(0, 1fr); }
  #fw-content #fdw-preise .fdwp-download { grid-template-columns: 48px minmax(0, 1fr); }
  #fw-content #fdw-preise .fdwp-download-pfeil { display: none; }
  #fw-content #fdw-preise .fdwp-cta { width: 100%; }
}

/* ---------- Ergänzungen ---------- */
.u-band strong.u-serif { display: block; font-size: clamp(28px, 2.8vw, 40px); }
#fw-content #foto-termin-tool .u-hero .fdwm-contact-direct { margin-top: clamp(28px, 4vw, 48px); }
#fw-content #fw-preise-page .fw-page-heading { max-width: none; margin: 0; padding: 0; color: #fff; font-size: clamp(40px, 5.4vw, 74px); line-height: 1.04; }
#fw-content #fw-preise-page { counter-reset: u-step; }
#fw-content #fw-preise-page .fw-promotions > h2::before, #fw-content #fdw-preise .fdwp-titel::before, #fw-content #fdw-preise .fdwp-preisliste-hinweis strong::before { content: counter(u-step, decimal-leading-zero); counter-increment: u-step; }
#fw-content #fw-preise-page .fw-promotions { scroll-margin-top: 24px; }
#fw-content #fdw-preise .fdwp-titel { scroll-margin-top: 24px; }
#fw-content #fdw-preise .compact-compass > summary { text-transform: none; letter-spacing: -0.01em; }
#fw-content #fw-preise-page .fw-promotions > h2::before, #fw-content #fdw-preise .fdwp-titel::before, #fw-content #fdw-preise .fdwp-preisliste-hinweis strong::before, #fw-content #fdw-faq .compact-faq-group > h2::before { flex: none; white-space: nowrap; }
#fw-content #foto-termin-tool #foto-termin-form > fieldset[disabled]:not(#ft-terminbereich) { margin: 0; padding: 0; border: 0; background: transparent; }
#fw-content #foto-termin-tool #foto-termin-form > fieldset[disabled]:not(#ft-terminbereich) > legend { margin: 0 0 18px; padding: 12px 16px; border: 1px solid #d59c8d; background: #fbeee9; }

/* ============================================================
   GEMEINSAM: Vollbreite Bänder ohne zusätzliches Wrapper-Markup
   ============================================================ */
.u-page .u-bleed, .u-page .fdwe-intro, .u-page .fdwp-hero, .u-page .fdwp-overview, .u-page .fdwp-final-cta, .u-page .fdwb-hero, .u-page .fdwb-service-nav, .u-page .fdwb-final-cta,
.u-page .fw-hero, .u-page .fw-process, .u-page .fw-title-lockup, .u-page .fw-kundenportal__karte { padding-left: max(var(--u-gutter), calc((100% - var(--u-wrap)) / 2)); padding-right: max(var(--u-gutter), calc((100% - var(--u-wrap)) / 2)); }
.u-page .u-dark { position: relative; background: var(--u-night); color: var(--u-ivory); overflow: hidden; }
.u-page .u-dark::after { content: ""; position: absolute; right: -140px; top: -160px; width: 520px; height: 520px; border: 1px solid rgba(255, 255, 255, 0.07); border-radius: 50%; pointer-events: none; }
.u-page .u-dark::before { content: ""; position: absolute; right: 120px; bottom: -220px; width: 420px; height: 420px; border: 1px solid rgba(97, 211, 208, 0.16); border-radius: 50%; pointer-events: none; }
.u-page .u-dark > * { position: relative; z-index: 1; }
.u-page .u-pill { display: inline-flex; align-items: center; min-height: 30px; padding: 4px 12px; border: 1px solid var(--u-line-strong); border-radius: 999px; font-size: 12px; font-weight: 700; letter-spacing: 0.06em; text-transform: uppercase; color: var(--u-text); }
.u-page .u-zoom-hint { position: absolute; right: 12px; bottom: 12px; display: inline-flex; align-items: center; gap: 6px; padding: 7px 12px; border-radius: 999px; background: rgba(0, 47, 73, 0.78); color: #fff; font-size: var(--u-fs-11); font-weight: 800; letter-spacing: 0.1em; text-transform: uppercase; pointer-events: none; }
.u-page .u-zoom-hint svg { width: 14px; height: 14px; }

/* ============================================================
   AKTIONEN & EVENTS – Übersicht (#fdw-events)
   ============================================================ */
#fw-content #fdw-events .fdwe-frame { margin: 0; padding: 0; border: 0; border-radius: 0; background: transparent; box-shadow: none; }
#fw-content #fdw-events .fdwe-intro { position: relative; display: grid; grid-template-columns: minmax(0, 1.15fr) minmax(0, 0.85fr); gap: clamp(32px, 5vw, 90px); align-items: end; margin: 0 0 clamp(36px, 5vw, 64px); padding-top: clamp(54px, 7vw, 92px); padding-bottom: clamp(50px, 6vw, 84px); background: var(--u-night); color: var(--u-ivory); overflow: hidden; }
#fw-content #fdw-events .fdwe-intro::after { content: ""; position: absolute; right: -140px; top: -160px; width: 520px; height: 520px; border: 1px solid rgba(255, 255, 255, 0.07); border-radius: 50%; pointer-events: none; }
#fw-content #fdw-events .fdwe-intro > * { position: relative; z-index: 1; }
#fw-content #fdw-events .fdwe-kicker { display: flex; align-items: center; gap: 12px; margin: 0 0 22px; padding: 0; border: 0; border-radius: 0; background: transparent; color: var(--u-aqua); font-size: var(--u-fs-11); font-weight: 800; letter-spacing: 0.21em; text-transform: uppercase; }
#fw-content #fdw-events .fdwe-kicker::before { content: ""; flex: 0 0 26px; width: 26px; height: 1px; background: currentColor; }
#fw-content #fdw-events .fdwe-title { margin: 0; color: #fff; font-family: var(--u-serif); font-size: clamp(40px, 5.4vw, 74px); font-weight: 400; letter-spacing: -0.03em; line-height: 1.04; }
#fw-content #fdw-events .fdwe-title em { color: var(--u-gold); font-style: italic; font-weight: 400; text-decoration: none; border: 0; background: none; }
#fw-content #fdw-events .fdwe-intro-copy { margin: 0; padding: 0; border: 0; border-radius: 0; background: transparent; box-shadow: none; color: rgba(242, 238, 229, 0.86); font-family: var(--u-sans); font-size: clamp(16px, 1.2vw, 19px); line-height: 1.7; }
#fw-content #fdw-events .fdwe-intro-copy strong { color: #fff; font-weight: 700; }
#fw-content #fdw-events .fdwe-choice-label { display: flex; align-items: center; gap: 12px; width: min(calc(100% - 2 * var(--u-gutter)), var(--u-wrap)); margin: 0 auto 22px; padding: 0; border: 0; border-radius: 0; background: transparent; box-shadow: none; transform: none; color: var(--u-clay); font-family: var(--u-sans); font-size: var(--u-fs-11); font-weight: 800; letter-spacing: 0.21em; text-transform: uppercase; }
#fw-content #fdw-events .fdwe-choice-label::before { content: ""; flex: 0 0 26px; width: 26px; height: 1px; background: currentColor; }
#fw-content #fdw-events .fdwe-portals { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 26px; width: min(calc(100% - 2 * var(--u-gutter)), var(--u-wrap)); margin: 0 auto clamp(40px, 6vw, 72px); padding: 0; border: 0; background: transparent; }
#fw-content #fdw-events .fdwe-card { display: flex; flex-direction: column; margin: 0; padding: 0; border: 1px solid var(--u-line); border-radius: 2px; background: var(--u-paper); color: inherit; text-decoration: none; box-shadow: none; overflow: hidden; transition: transform 220ms ease, border-color 220ms ease, box-shadow 220ms ease; }
#fw-content #fdw-events .fdwe-card:hover, #fw-content #fdw-events .fdwe-card:focus-visible { transform: translateY(-4px); border-color: var(--u-gold); box-shadow: 0 22px 44px -28px rgba(0, 47, 73, 0.45); }
#fw-content #fdw-events .fdwe-visual { position: relative; display: block; aspect-ratio: 16 / 9; overflow: hidden; background: var(--u-mist); border-bottom: 1px solid var(--u-line); }
#fw-content #fdw-events .fdwe-graphic { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; object-position: 50% 50%; }
#fw-content #fdw-events .fdwe-status { position: absolute; right: 16px; top: 16px; display: inline-flex; align-items: center; padding: 6px 12px; border-radius: 999px; background: var(--u-night); color: var(--u-ivory); font-size: 12px; font-weight: 800; letter-spacing: 0.14em; text-transform: uppercase; }
#fw-content #fdw-events .fdwe-card-body { display: flex; flex-direction: column; flex: 1; gap: 12px; padding: clamp(22px, 2.6vw, 32px); }
#fw-content #fdw-events .fdwe-eyebrow { color: var(--u-clay); font-size: var(--u-fs-11); font-weight: 800; letter-spacing: 0.18em; text-transform: uppercase; }
#fw-content #fdw-events .fdwe-card h2 { margin: 0; color: var(--u-ink); font-family: var(--u-serif); font-size: clamp(30px, 2.8vw, 40px); font-weight: 400; letter-spacing: -0.02em; line-height: 1.05; }
#fw-content #fdw-events .fdwe-card-text { color: var(--u-text); font-size: var(--u-fs-16); line-height: 1.65; }
#fw-content #fdw-events .fdwe-tags { display: flex; flex-wrap: wrap; gap: 8px; margin: 4px 0 0; padding: 0; list-style: none; }
#fw-content #fdw-events .fdwe-tags li { display: inline-flex; align-items: center; min-height: 28px; padding: 3px 11px; border: 1px solid var(--u-line-strong); border-radius: 999px; background: transparent; color: var(--u-text); font-size: var(--u-fs-11); font-weight: 700; letter-spacing: 0.08em; text-transform: uppercase; }
#fw-content #fdw-events .fdwe-cta { display: flex; align-items: center; justify-content: space-between; gap: 14px; margin-top: auto; padding-top: 18px; border-top: 1px solid var(--u-line); color: var(--u-night); font-size: var(--u-fs-11); font-weight: 800; letter-spacing: 0.16em; text-transform: uppercase; }
#fw-content #fdw-events .fdwe-arrow { display: grid; place-items: center; width: 36px; height: 36px; border-radius: 50%; background: var(--u-night); color: var(--u-ivory); transition: background 160ms ease; }
#fw-content #fdw-events .fdwe-arrow svg { width: 16px; height: 16px; }
#fw-content #fdw-events .fdwe-card:hover .fdwe-arrow { background: var(--u-clay); }
#fw-content #fdw-events .fdwe-promise { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 0; width: min(calc(100% - 2 * var(--u-gutter)), var(--u-wrap)); margin: 0 auto clamp(48px, 6vw, 80px); padding: 0; border: 1px solid var(--u-line); border-radius: 2px; background: var(--u-paper); box-shadow: none; }
#fw-content #fdw-events .fdwe-promise-item { display: flex; flex-direction: column; gap: 8px; padding: 24px 26px; border-right: 1px solid var(--u-line); }
#fw-content #fdw-events .fdwe-promise-item:last-child { border-right: 0; }
#fw-content #fdw-events .fdwe-promise-item strong { color: var(--u-ink); font-family: var(--u-serif); font-size: 26px; font-weight: 500; letter-spacing: -0.01em; line-height: 1.1; }
#fw-content #fdw-events .fdwe-promise-item span { color: var(--u-muted); font-size: var(--u-fs-15); line-height: 1.6; }
#fw-content #fdw-events.fdw-events-has-js .fdwe-reveal { opacity: 0; transform: translateY(14px); transition: opacity 500ms ease, transform 500ms ease; }
#fw-content #fdw-events.fdw-events-has-js .fdwe-reveal.fdwe-is-visible { opacity: 1; transform: none; }
@media (prefers-reduced-motion: reduce) { #fw-content #fdw-events .fdwe-reveal { opacity: 1 !important; transform: none !important; transition: none !important; } }
@media (max-width: 900px) { #fw-content #fdw-events .fdwe-intro, #fw-content #fdw-events .fdwe-portals { grid-template-columns: minmax(0, 1fr); } #fw-content #fdw-events .fdwe-intro::after { display: none; } #fw-content #fdw-events .fdwe-promise { grid-template-columns: minmax(0, 1fr); } #fw-content #fdw-events .fdwe-promise-item { border-right: 0; border-bottom: 1px solid var(--u-line); } #fw-content #fdw-events .fdwe-promise-item:last-child { border-bottom: 0; } }
@media (max-width: 600px) { #fw-content #fdw-events .fdwe-status { top: 10px; right: 10px; padding: 5px 10px; font-size: 12px; letter-spacing: 0.12em; } }

/* ============================================================
   AKTIONEN – Privatkunden (#fdw-private-events-paper)
   ============================================================ */
#fw-content #fdw-private-events-paper .fdwp-shell { width: 100%; margin: 0; padding: 0; background: transparent; }
#fw-content #fdw-private-events-paper .fdwp-hero { position: relative; display: grid; grid-template-columns: minmax(0, 1.25fr) minmax(0, 0.75fr); gap: clamp(32px, 5vw, 90px); align-items: center; margin: 0; padding-top: clamp(54px, 7vw, 92px); padding-bottom: clamp(50px, 6vw, 84px); border: 0; border-radius: 0; background: var(--u-night); color: var(--u-ivory); overflow: hidden; }
#fw-content #fdw-private-events-paper .fdwp-hero::after { content: ""; position: absolute; right: -140px; top: -160px; width: 520px; height: 520px; border: 1px solid rgba(255, 255, 255, 0.07); border-radius: 50%; pointer-events: none; }
#fw-content #fdw-private-events-paper .fdwp-hero__paper, #fw-content #fdw-private-events-paper .fdwp-shape, #fw-content #fdw-private-events-paper .fdwp-final-cta__paper, #fw-content #fdw-private-events-paper .fdwp-image-stack__paper { display: none !important; }
#fw-content #fdw-private-events-paper .fdwp-hero__content, #fw-content #fdw-private-events-paper .fdwp-hero__art { position: relative; z-index: 1; margin: 0; padding: 0; background: transparent; }
#fw-content #fdw-private-events-paper .fdwp-eyebrow { display: flex; align-items: center; gap: 12px; margin: 0 0 22px; color: var(--u-aqua); font-size: var(--u-fs-11); font-weight: 800; letter-spacing: 0.21em; text-transform: uppercase; }
#fw-content #fdw-private-events-paper .fdwp-eyebrow::before { content: ""; flex: 0 0 26px; width: 26px; height: 1px; background: currentColor; }
#fw-content #fdw-private-events-paper .fdwp-eyebrow span { padding: 0; border: 0; border-radius: 0; background: transparent; color: inherit; }
#fw-content #fdw-private-events-paper .fdwp-eyebrow span::after { content: "·"; margin-left: 12px; }
#fw-content #fdw-private-events-paper .fdwp-hero h1 { margin: 0 0 22px; color: #fff; font-family: var(--u-serif); font-size: clamp(40px, 5.4vw, 74px); font-weight: 400; letter-spacing: -0.03em; line-height: 1.04; }
#fw-content #fdw-private-events-paper .fdwp-hero__lead { margin: 0 0 12px; color: #fff; font-size: clamp(17px, 1.3vw, 20px); font-weight: 600; line-height: 1.6; }
#fw-content #fdw-private-events-paper .fdwp-hero__text { margin: 0 0 26px; max-width: 640px; color: rgba(242, 238, 229, 0.82); font-size: var(--u-fs-16); line-height: 1.7; }
#fw-content #fdw-private-events-paper .fdwp-hero__actions { display: flex; flex-wrap: wrap; align-items: center; gap: 14px 26px; }
#fw-content #fdw-private-events-paper .fdwp-hero__art { display: flex; flex-direction: column; align-items: flex-start; justify-content: center; gap: 10px; padding-left: clamp(0px, 3vw, 40px); border-left: 1px solid var(--u-line-dark); }
#fw-content #fdw-private-events-paper .fdwp-hero__mark { color: var(--u-gold); font-family: var(--u-serif); font-size: clamp(96px, 12vw, 170px); font-weight: 400; letter-spacing: -0.04em; line-height: 0.9; }
#fw-content #fdw-private-events-paper .fdwp-hero__label { color: rgba(242, 238, 229, 0.86); font-size: var(--u-fs-11); font-weight: 800; letter-spacing: 0.21em; line-height: 1.7; text-transform: uppercase; }
/* Buttons */
#fw-content #fdw-private-events-paper .fdwp-button { display: inline-flex; align-items: center; justify-content: space-between; gap: 18px; min-height: 54px; padding: 0 12px 0 22px; border: 1px solid var(--u-night); border-radius: 0; background: var(--u-night); color: var(--u-ivory) !important; box-shadow: none; font: 800 12px/1.3 var(--u-sans); letter-spacing: 0.14em; text-transform: uppercase; text-decoration: none; transition: background 180ms ease, transform 180ms ease, border-color 180ms ease; }
#fw-content #fdw-private-events-paper .fdwp-button svg { width: 32px; height: 32px; padding: 8px; border-radius: 50%; background: var(--u-ivory); color: var(--u-night); flex: 0 0 32px; }
#fw-content #fdw-private-events-paper .fdwp-button:hover, #fw-content #fdw-private-events-paper .fdwp-button:focus-visible { background: var(--u-clay); border-color: var(--u-clay); transform: translateY(-2px); }
#fw-content #fdw-private-events-paper .fdwp-button--gold, #fw-content #fdw-private-events-paper .fdwp-button--light { background: var(--u-ivory); border-color: var(--u-ivory); color: var(--u-night) !important; }
#fw-content #fdw-private-events-paper .fdwp-button--gold svg, #fw-content #fdw-private-events-paper .fdwp-button--light svg { background: var(--u-night); color: #fff; }
#fw-content #fdw-private-events-paper .fdwp-button--gold:hover, #fw-content #fdw-private-events-paper .fdwp-button--light:hover { background: var(--u-gold); border-color: var(--u-gold); color: var(--u-night) !important; }
#fw-content #fdw-private-events-paper .fdwp-print-button { display: inline-flex; align-items: center; gap: 8px; padding: 6px 0; border: 0; background: transparent; color: var(--u-ivory); font: 800 12px/1.4 var(--u-sans); letter-spacing: 0.14em; text-transform: uppercase; text-decoration: underline; text-decoration-color: var(--u-gold); text-underline-offset: 6px; cursor: pointer; }
#fw-content #fdw-private-events-paper .fdwp-print-button svg { width: 16px; height: 16px; }
#fw-content #fdw-private-events-paper .fdwp-print-button:hover { color: var(--u-gold); }
/* Übersichtsleiste */
#fw-content #fdw-private-events-paper .fdwp-overview { display: flex; flex-wrap: wrap; gap: 0; margin: 0 0 clamp(36px, 5vw, 64px); padding-top: 0; padding-bottom: 0; border-bottom: 1px solid var(--u-line); background: var(--u-paper); }
#fw-content #fdw-private-events-paper .fdwp-overview a { display: inline-flex; align-items: center; gap: 10px; min-height: 58px; padding: 10px 18px 10px 0; margin-right: 22px; border: 0; border-radius: 0; background: transparent; color: var(--u-ink); font-size: var(--u-fs-11); font-weight: 800; letter-spacing: 0.14em; text-transform: uppercase; text-decoration: none; }
#fw-content #fdw-private-events-paper .fdwp-overview a span { color: var(--u-gold-text); font-family: var(--u-serif); font-size: 24px; font-weight: 500; letter-spacing: 0; }
#fw-content #fdw-private-events-paper .fdwp-overview a:hover { color: var(--u-clay); }
/* Inhalt */
#fw-content #fdw-private-events-paper .fdwp-content { width: min(calc(100% - 2 * var(--u-gutter)), var(--u-wrap)); margin: 0 auto; padding: 0; }
#fw-content #fdw-private-events-paper .compact-action-heading { display: flex; align-items: center; gap: 18px; margin: clamp(8px, 2vw, 24px) 0 22px; color: var(--u-ink); font-family: var(--u-serif); font-size: clamp(30px, 3.4vw, 46px); font-weight: 400; letter-spacing: -0.03em; line-height: 1.05; }
#fw-content #fdw-private-events-paper .compact-action-heading::before { content: ""; flex: 0 0 34px; width: 34px; height: 1px; background: var(--u-gold-deep); }
#fw-content #fdw-private-events-paper .fdwp-story { position: relative; margin: 0 0 26px; padding: 0; border: 1px solid var(--u-line); border-top: 3px solid var(--u-gold); border-radius: 2px; background: var(--u-paper); clip-path: none; box-shadow: none; }
#fw-content #fdw-private-events-paper .fdwp-story::before, #fw-content #fdw-private-events-paper .fdwp-story::after { display: none; }
#fw-content #fdw-private-events-paper .fdwp-story__inner { display: grid; grid-template-columns: minmax(0, 0.85fr) minmax(0, 1.15fr); gap: clamp(24px, 3.5vw, 56px); padding: clamp(22px, 2.8vw, 36px); }
#fw-content #fdw-private-events-paper .fdwp-story__top { display: flex; flex-direction: column; gap: 18px; }
#fw-content #fdw-private-events-paper .fdwp-image-stack { position: relative; margin: 0; padding: 0; transform: none; }
#fw-content #fdw-private-events-paper .fdwp-image-button { position: relative; display: block; width: 100%; margin: 0; padding: 0; border: 1px solid var(--u-line); border-radius: 2px; background: var(--u-mist); overflow: hidden; cursor: zoom-in; transform: none; box-shadow: none; }
#fw-content #fdw-private-events-paper .fdwp-image-button img { display: block; width: 100%; height: auto; transform: none; filter: none; }
#fw-content #fdw-private-events-paper .fdwp-image-button__hint { position: absolute; right: 12px; bottom: 12px; display: inline-flex; align-items: center; gap: 6px; padding: 7px 12px; border: 0; border-radius: 999px; background: rgba(0, 47, 73, 0.78); color: #fff; font-size: var(--u-fs-11); font-weight: 800; letter-spacing: 0.1em; text-transform: uppercase; pointer-events: none; }
#fw-content #fdw-private-events-paper .fdwp-image-button__hint svg { width: 14px; height: 14px; }
#fw-content #fdw-private-events-paper .fdwp-story__actions { display: flex; flex-direction: column; align-items: flex-start; gap: 14px; }
#fw-content #fdw-private-events-paper .fdw-info-downloads { display: flex; flex-wrap: wrap; gap: 8px 22px; margin: 0; }
#fw-content #fdw-private-events-paper .fdw-info-downloads a { display: inline-flex; align-items: center; min-height: 32px; padding: 0; border: 0; border-radius: 0; background: transparent; color: var(--u-night); font: 800 12px/1.4 var(--u-sans); letter-spacing: 0.14em; text-transform: uppercase; text-decoration: underline; text-decoration-color: var(--u-gold); text-underline-offset: 6px; }
#fw-content #fdw-private-events-paper .fdw-info-downloads a:hover { color: var(--u-clay); text-decoration-color: currentColor; }
#fw-content #fdw-private-events-paper .fdwp-story__copy { min-width: 0; }
#fw-content #fdw-private-events-paper .fdwp-story__meta { display: flex; align-items: center; flex-wrap: wrap; gap: 12px 16px; margin: 0 0 14px; }
#fw-content #fdw-private-events-paper .fdwp-story__number { display: inline-block; width: auto; height: auto; padding: 0; border: 0; border-radius: 0; background: transparent; color: var(--u-gold-text); font-family: var(--u-serif); font-size: 30px; font-weight: 500; line-height: 1; box-shadow: none; }
#fw-content #fdw-private-events-paper .fdwp-story__tag { display: inline-flex; align-items: center; min-height: 28px; padding: 3px 11px; border: 1px solid var(--u-line-strong); border-radius: 999px; background: transparent; color: var(--u-text); font-size: var(--u-fs-11); font-weight: 700; letter-spacing: 0.08em; text-transform: uppercase; }
#fw-content #fdw-private-events-paper .fdwp-kicker { display: flex; align-items: center; gap: 12px; margin: 0 0 12px; color: var(--u-clay); font-size: var(--u-fs-11); font-weight: 800; letter-spacing: 0.21em; text-transform: uppercase; }
#fw-content #fdw-private-events-paper .fdwp-kicker::before { content: ""; flex: 0 0 22px; width: 22px; height: 1px; background: currentColor; }
#fw-content #fdw-private-events-paper .fdwp-story__copy h2 { margin: 0 0 10px; color: var(--u-ink); font-family: var(--u-serif); font-size: clamp(28px, 2.8vw, 40px); font-weight: 400; letter-spacing: -0.02em; line-height: 1.08; }
#fw-content #fdw-private-events-paper .fdwp-subtitle { margin: 0 0 16px; color: var(--u-night); font-size: var(--u-fs-17); font-weight: 700; line-height: 1.5; }
#fw-content #fdw-private-events-paper .fdwp-story__copy p { margin: 0 0 12px; color: var(--u-text); font-size: var(--u-fs-16); line-height: 1.7; }
#fw-content #fdw-private-events-paper .fdwp-emphasis { margin: 16px 0; padding: 14px 18px; border: 1px solid var(--u-line); border-left: 3px solid var(--u-gold-deep); border-radius: 0; background: var(--u-sand); color: var(--u-ink); font-family: var(--u-sans); font-size: var(--u-fs-15); font-style: normal; line-height: 1.6; box-shadow: none; }
#fw-content #fdw-private-events-paper .fdwp-emphasis strong { font-weight: 700; }
#fw-content #fdw-private-events-paper .fdwp-list-card { margin: 16px 0; padding: 18px 20px; border: 1px solid var(--u-line); border-radius: 2px; background: #fff; box-shadow: none; }
#fw-content #fdw-private-events-paper .fdwp-list-card h3 { margin: 0 0 10px; color: var(--u-ink); font-family: var(--u-serif); font-size: 22px; font-weight: 500; letter-spacing: -0.01em; line-height: 1.2; }
#fw-content #fdw-private-events-paper .fdwp-list-card ul { margin: 0; padding-left: 18px; color: var(--u-text); font-size: var(--u-fs-15); line-height: 1.6; }
#fw-content #fdw-private-events-paper .fdwp-list-card li::marker { color: var(--u-gold-deep); }
#fw-content #fdw-private-events-paper .compact-details { margin: 12px 0; padding: 0; border: 0; border-top: 1px solid var(--u-line); border-bottom: 1px solid var(--u-line); border-radius: 0; background: transparent; }
#fw-content #fdw-private-events-paper .compact-details > summary { min-height: 44px; padding: 10px 0; color: var(--u-night); font-size: var(--u-fs-11); font-weight: 800; letter-spacing: 0.14em; text-transform: uppercase; cursor: pointer; }
#fw-content #fdw-private-events-paper .compact-details > :not(summary) { margin: 0 0 12px; font-size: var(--u-fs-15); }
#fw-content #fdw-private-events-paper .fdwp-final-cta { position: relative; display: grid; grid-template-columns: minmax(0, 1.2fr) minmax(0, 0.8fr); gap: clamp(28px, 4vw, 70px); align-items: center; margin: clamp(40px, 6vw, 72px) 0 0; padding-top: clamp(40px, 5vw, 64px); padding-bottom: clamp(40px, 5vw, 64px); border: 0; border-radius: 0; background: var(--u-night); color: var(--u-ivory); clip-path: none; overflow: hidden; }
#fw-content #fdw-private-events-paper .fdwp-final-cta::after { content: ""; position: absolute; right: -120px; top: -200px; width: 460px; height: 460px; border: 1px solid rgba(97, 211, 208, 0.16); border-radius: 50%; pointer-events: none; }
#fw-content #fdw-private-events-paper .fdwp-final-cta > * { position: relative; z-index: 1; }
#fw-content #fdw-private-events-paper .fdwp-final-cta .fdwp-kicker { color: var(--u-aqua); }
#fw-content #fdw-private-events-paper .fdwp-final-cta h2 { margin: 0; color: #fff; font-family: var(--u-serif); font-size: clamp(30px, 3.4vw, 46px); font-weight: 400; letter-spacing: -0.03em; line-height: 1.05; }
#fw-content #fdw-private-events-paper .fdwp-final-cta p:not(.fdwp-kicker) { margin: 14px 0 0; color: rgba(242, 238, 229, 0.86); font-size: var(--u-fs-16); line-height: 1.65; }
#fw-content #fdw-private-events-paper .fdwp-final-cta .fdwp-button { justify-self: end; }
/* Lightbox (Funktion unverändert) */
#fw-content #fdw-private-events-paper .fdwp-lightbox { position: fixed; z-index: 999999; inset: 0; display: none; place-items: center; padding: 22px; }
#fw-content #fdw-private-events-paper .fdwp-lightbox.is-open { display: grid; }
#fw-content #fdw-private-events-paper .fdwp-lightbox__backdrop { position: absolute; inset: 0; background: rgba(0, 47, 73, 0.95); backdrop-filter: blur(10px); }
#fw-content #fdw-private-events-paper .fdwp-lightbox__dialog { position: relative; z-index: 1; width: min(1500px, 100%); height: min(94vh, 1080px); display: grid; grid-template-rows: auto minmax(0, 1fr) auto; gap: 14px; }
#fw-content #fdw-private-events-paper .fdwp-lightbox__top, #fw-content #fdw-private-events-paper .fdwp-lightbox__controls { display: flex; align-items: center; justify-content: space-between; gap: 18px; color: #fff; }
#fw-content #fdw-private-events-paper .fdwp-lightbox__top p { margin: 0; font-size: var(--u-fs-16); font-weight: 700; }
#fw-content #fdw-private-events-paper .fdwp-lightbox__close { width: 48px; height: 48px; display: grid; flex: 0 0 auto; place-items: center; padding: 0; border: 1px solid rgba(255, 255, 255, 0.4); border-radius: 50%; cursor: pointer; color: #fff; background: rgba(255, 255, 255, 0.08); }
#fw-content #fdw-private-events-paper .fdwp-lightbox figure { min-width: 0; min-height: 0; display: grid; place-items: center; margin: 0; }
#fw-content #fdw-private-events-paper .fdwp-lightbox figure img { width: 100%; height: 100%; object-fit: contain; }
#fw-content #fdw-private-events-paper .fdwp-lightbox__controls button { display: inline-flex; min-height: 46px; align-items: center; gap: 8px; padding: 9px 15px; border: 1px solid rgba(255, 255, 255, 0.34); border-radius: 999px; cursor: pointer; color: #fff; background: rgba(255, 255, 255, 0.08); font-size: var(--u-fs-11); font-weight: 800; letter-spacing: 0.12em; text-transform: uppercase; }
#fw-content #fdw-private-events-paper .fdwp-lightbox__controls span { color: rgba(255, 255, 255, 0.78); font-size: var(--u-fs-13); font-weight: 700; }
body.fdwp-print-private-events #fdw-private-events-paper .fdwp-no-print, body.fdwp-print-private-events #fdw-private-events-paper .fdwp-hero__art, body.fdwp-print-private-events #fdw-private-events-paper .fdwp-lightbox { display: none !important; }
@media print { #fw-content #fdw-private-events-paper .fdwp-no-print, #fw-content #fdw-private-events-paper .fdwp-lightbox { display: none !important; } #fw-content #fdw-private-events-paper .fdwp-story { break-inside: avoid; } }
@media (max-width: 1000px) { #fw-content #fdw-private-events-paper .fdwp-hero, #fw-content #fdw-private-events-paper .fdwp-story__inner, #fw-content #fdw-private-events-paper .fdwp-final-cta { grid-template-columns: minmax(0, 1fr); } #fw-content #fdw-private-events-paper .fdwp-hero__art { flex-direction: row; align-items: baseline; gap: 18px; padding-left: 0; border-left: 0; border-top: 1px solid var(--u-line-dark); padding-top: 22px; } #fw-content #fdw-private-events-paper .fdwp-hero__mark { font-size: 72px; } #fw-content #fdw-private-events-paper .fdwp-hero::after { display: none; } #fw-content #fdw-private-events-paper .fdwp-final-cta .fdwp-button { justify-self: start; } }
@media (max-width: 600px) { #fw-content #fdw-private-events-paper .fdwp-button { width: 100%; } #fw-content #fdw-private-events-paper .fdwp-lightbox { padding: 12px; } #fw-content #fdw-private-events-paper .fdwp-lightbox__dialog { height: 96vh; height: 96dvh; } }

/* ============================================================
   AKTIONEN – Business (#fdw-business-events)
   ============================================================ */
#fw-content #fdw-business-events .fdwb-shell { width: 100%; margin: 0; padding: 0; background: transparent; }
#fw-content #fdw-business-events .fdwb-hero { position: relative; display: grid; grid-template-columns: minmax(0, 1.15fr) minmax(0, 0.85fr); gap: clamp(32px, 5vw, 90px); align-items: center; margin: 0; padding-top: clamp(54px, 7vw, 92px); padding-bottom: clamp(50px, 6vw, 84px); border: 0; border-radius: 0; background: var(--u-night); background-image: none; color: var(--u-ivory); overflow: hidden; }
#fw-content #fdw-business-events .fdwb-hero::after { content: ""; position: absolute; right: -140px; top: -160px; width: 520px; height: 520px; border: 1px solid rgba(255, 255, 255, 0.07); border-radius: 50%; pointer-events: none; }
#fw-content #fdw-business-events .fdwb-hero::before { display: none; }
#fw-content #fdw-business-events .fdwb-hero > * { position: relative; z-index: 1; }
#fw-content #fdw-business-events .fdwb-eyebrow { display: flex; align-items: center; gap: 12px; margin: 0 0 22px; color: var(--u-aqua); font-size: var(--u-fs-11); font-weight: 800; letter-spacing: 0.21em; text-transform: uppercase; }
#fw-content #fdw-business-events .fdwb-eyebrow::before { content: ""; flex: 0 0 26px; width: 26px; height: 1px; background: currentColor; }
#fw-content #fdw-business-events .fdwb-eyebrow span { padding: 0; border: 0; border-radius: 0; background: transparent; color: inherit; }
#fw-content #fdw-business-events .fdwb-eyebrow span::after { content: "·"; margin-left: 12px; }
#fw-content #fdw-business-events .fdwb-hero h1 { margin: 0 0 22px; color: #fff; font-family: var(--u-serif); font-size: clamp(40px, 5.2vw, 70px); font-weight: 400; letter-spacing: -0.03em; line-height: 1.04; }
#fw-content #fdw-business-events .fdwb-hero__lead { margin: 0 0 12px; color: #fff; font-size: clamp(17px, 1.3vw, 20px); font-weight: 600; line-height: 1.6; }
#fw-content #fdw-business-events .fdwb-hero__text { margin: 0 0 26px; max-width: 620px; color: rgba(242, 238, 229, 0.82); font-size: var(--u-fs-16); line-height: 1.7; }
#fw-content #fdw-business-events .fdwb-hero__actions { display: flex; flex-wrap: wrap; align-items: center; gap: 14px 26px; }
#fw-content #fdw-business-events .fdwb-impact { margin: 0; padding: clamp(22px, 2.6vw, 34px); border: 1px solid var(--u-line-dark); border-top: 3px solid var(--u-gold); border-radius: 2px; background: rgba(255, 255, 255, 0.03); }
#fw-content #fdw-business-events .fdwb-impact__label { display: flex; align-items: center; gap: 12px; margin: 0 0 14px; color: var(--u-aqua); font-size: var(--u-fs-11); font-weight: 800; letter-spacing: 0.21em; text-transform: uppercase; }
#fw-content #fdw-business-events .fdwb-impact__item { display: grid; grid-template-columns: 44px minmax(0, 1fr); gap: 12px; padding: 16px 0; border-bottom: 1px solid var(--u-line-dark); }
#fw-content #fdw-business-events .fdwb-impact__item:last-child { border-bottom: 0; padding-bottom: 0; }
#fw-content #fdw-business-events .fdwb-impact__item > span { color: var(--u-gold); font-family: var(--u-serif); font-size: 24px; font-weight: 500; line-height: 1.1; }
#fw-content #fdw-business-events .fdwb-impact__item h2 { margin: 0 0 4px; color: #fff; font-family: var(--u-serif); font-size: 26px; font-weight: 500; letter-spacing: -0.01em; line-height: 1.1; }
#fw-content #fdw-business-events .fdwb-impact__item p { margin: 0; color: rgba(242, 238, 229, 0.8); font-size: var(--u-fs-14); line-height: 1.6; }
/* Buttons */
#fw-content #fdw-business-events .fdwb-button { display: inline-flex; align-items: center; justify-content: space-between; gap: 18px; min-height: 54px; padding: 0 12px 0 22px; border: 1px solid var(--u-night); border-radius: 0; background: var(--u-night); color: var(--u-ivory) !important; box-shadow: none; font: 800 12px/1.3 var(--u-sans); letter-spacing: 0.14em; text-transform: uppercase; text-decoration: none; transition: background 180ms ease, transform 180ms ease, border-color 180ms ease; }
#fw-content #fdw-business-events .fdwb-button svg { width: 32px; height: 32px; padding: 8px; border-radius: 50%; background: var(--u-ivory); color: var(--u-night); flex: 0 0 32px; }
#fw-content #fdw-business-events .fdwb-button:hover, #fw-content #fdw-business-events .fdwb-button:focus-visible { background: var(--u-clay); border-color: var(--u-clay); transform: translateY(-2px); }
#fw-content #fdw-business-events .fdwb-button--gold, #fw-content #fdw-business-events .fdwb-button--light { background: var(--u-ivory); border-color: var(--u-ivory); color: var(--u-night) !important; }
#fw-content #fdw-business-events .fdwb-button--gold svg, #fw-content #fdw-business-events .fdwb-button--light svg { background: var(--u-night); color: #fff; }
#fw-content #fdw-business-events .fdwb-button--gold:hover, #fw-content #fdw-business-events .fdwb-button--light:hover { background: var(--u-gold); border-color: var(--u-gold); color: var(--u-night) !important; }
#fw-content #fdw-business-events .fdwb-print-button, #fw-content #fdw-business-events .fdwb-final-cta__link { display: inline-flex; align-items: center; gap: 8px; padding: 6px 0; border: 0; background: transparent; color: var(--u-ivory); font: 800 12px/1.4 var(--u-sans); letter-spacing: 0.14em; text-transform: uppercase; text-decoration: underline; text-decoration-color: var(--u-gold); text-underline-offset: 6px; cursor: pointer; }
#fw-content #fdw-business-events .fdwb-print-button svg { width: 16px; height: 16px; }
#fw-content #fdw-business-events .fdwb-print-button:hover, #fw-content #fdw-business-events .fdwb-final-cta__link:hover { color: var(--u-gold); }
/* Navigation */
#fw-content #fdw-business-events .fdwb-service-nav { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); margin: 0 0 clamp(36px, 5vw, 64px); padding-top: 0; padding-bottom: 0; border-bottom: 1px solid var(--u-line); background: var(--u-paper); }
#fw-content #fdw-business-events .fdwb-service-nav a { display: flex; align-items: center; gap: 14px; min-height: 76px; padding: 14px 18px 14px 0; border: 0; border-right: 1px solid var(--u-line); color: var(--u-ink); text-decoration: none; }
#fw-content #fdw-business-events .fdwb-service-nav a:not(:first-child) { padding-left: 18px; }
#fw-content #fdw-business-events .fdwb-service-nav a:last-child { border-right: 0; }
#fw-content #fdw-business-events .fdwb-service-nav a > span { color: var(--u-gold-text); font-family: var(--u-serif); font-size: 24px; font-weight: 500; }
#fw-content #fdw-business-events .fdwb-service-nav strong { display: block; font-size: var(--u-fs-11); font-weight: 800; letter-spacing: 0.14em; text-transform: uppercase; }
#fw-content #fdw-business-events .fdwb-service-nav small { display: block; margin-top: 2px; color: var(--u-muted); font-size: var(--u-fs-13); }
#fw-content #fdw-business-events .fdwb-service-nav a:hover strong { color: var(--u-clay); }
/* Leistungen */
#fw-content #fdw-business-events .fdwb-content { width: min(calc(100% - 2 * var(--u-gutter)), var(--u-wrap)); margin: 0 auto; padding: 0; }
#fw-content #fdw-business-events .fdwb-service { margin: 0 0 26px; padding: 0; border: 1px solid var(--u-line); border-top: 3px solid var(--u-gold); border-radius: 2px; background: var(--u-paper); box-shadow: none; }
#fw-content #fdw-business-events .fdwb-service__header { display: flex; flex-wrap: wrap; align-items: center; gap: 14px 18px; padding: 18px clamp(22px, 2.8vw, 36px); border-bottom: 1px solid var(--u-line); background: transparent; }
#fw-content #fdw-business-events .fdwb-service__number { color: var(--u-gold-text); font-family: var(--u-serif); font-size: 28px; font-weight: 500; line-height: 1; }
#fw-content #fdw-business-events .fdwb-service__header > div { flex: 1; min-width: 200px; }
#fw-content #fdw-business-events .fdwb-service__header p { margin: 0 0 2px; color: var(--u-clay); font-size: 12px; font-weight: 800; letter-spacing: 0.18em; text-transform: uppercase; }
#fw-content #fdw-business-events .fdwb-service__header strong { color: var(--u-ink); font-family: var(--u-serif); font-size: 22px; font-weight: 500; letter-spacing: -0.01em; }
#fw-content #fdw-business-events .fdwb-service__status { display: inline-flex; align-items: center; min-height: 28px; padding: 3px 11px; border: 1px solid var(--u-line-strong); border-radius: 999px; background: transparent; color: var(--u-text); font-size: var(--u-fs-11); font-weight: 700; letter-spacing: 0.08em; text-transform: uppercase; }
#fw-content #fdw-business-events .fdwb-service__body { display: grid; grid-template-columns: minmax(0, 0.8fr) minmax(0, 1.2fr); gap: clamp(24px, 3.5vw, 56px); padding: clamp(22px, 2.8vw, 36px); }
#fw-content #fdw-business-events .fdwb-service--reverse .fdwb-service__body { direction: ltr; }
#fw-content #fdw-business-events .fdwb-service--reverse .fdwb-image-panel { order: 2; }
#fw-content #fdw-business-events .fdwb-image-panel { display: flex; flex-direction: column; gap: 0; border: 1px solid var(--u-line); border-radius: 2px; overflow: hidden; background: #fff; align-self: start; }
#fw-content #fdw-business-events .fdwb-image-button { position: relative; display: block; width: 100%; margin: 0; padding: 0; border: 0; border-radius: 0; background: var(--u-mist); overflow: hidden; cursor: zoom-in; }
#fw-content #fdw-business-events .fdwb-image-button img { display: block; width: 100%; height: auto; }
#fw-content #fdw-business-events .fdwb-image-button__hint { position: absolute; right: 12px; bottom: 12px; display: inline-flex; align-items: center; gap: 6px; padding: 7px 12px; border-radius: 999px; background: rgba(0, 47, 73, 0.78); color: #fff; font-size: var(--u-fs-11); font-weight: 800; letter-spacing: 0.1em; text-transform: uppercase; pointer-events: none; }
#fw-content #fdw-business-events .fdwb-image-button__hint svg { width: 14px; height: 14px; }
#fw-content #fdw-business-events .fdwb-image-panel__caption { padding: 16px 18px; border-top: 1px solid var(--u-line); background: var(--u-sand); }
#fw-content #fdw-business-events .fdwb-image-panel__caption span { display: block; margin: 0 0 4px; color: var(--u-clay); font-size: 12px; font-weight: 800; letter-spacing: 0.18em; text-transform: uppercase; }
#fw-content #fdw-business-events .fdwb-image-panel__caption p { margin: 0; color: var(--u-text); font-size: var(--u-fs-14); line-height: 1.55; }
#fw-content #fdw-business-events .fdwb-kicker { display: flex; align-items: center; gap: 12px; margin: 0 0 12px; color: var(--u-clay); font-size: var(--u-fs-11); font-weight: 800; letter-spacing: 0.21em; text-transform: uppercase; }
#fw-content #fdw-business-events .fdwb-kicker::before { content: ""; flex: 0 0 22px; width: 22px; height: 1px; background: currentColor; }
#fw-content #fdw-business-events .fdwb-service__copy h2 { margin: 0 0 14px; color: var(--u-ink); font-family: var(--u-serif); font-size: clamp(28px, 2.8vw, 40px); font-weight: 400; letter-spacing: -0.02em; line-height: 1.08; }
#fw-content #fdw-business-events .fdwb-service__copy > p { margin: 0 0 14px; color: var(--u-text); font-size: var(--u-fs-16); line-height: 1.7; }
#fw-content #fdw-business-events .fdwb-lead-statement { color: var(--u-night) !important; font-weight: 700 !important; }
#fw-content #fdw-business-events .fdwb-value-box, #fw-content #fdw-business-events .fdwb-output__details, #fw-content #fdw-business-events .fdwb-result-box { margin: 16px 0; padding: 16px 20px; border: 1px solid var(--u-line); border-left: 3px solid var(--u-gold-deep); border-radius: 0; background: var(--u-sand); }
#fw-content #fdw-business-events .fdwb-value-box__label, #fw-content #fdw-business-events .fdwb-output__label { margin: 0 0 6px; color: var(--u-clay); font-size: 12px; font-weight: 800; letter-spacing: 0.18em; text-transform: uppercase; }
#fw-content #fdw-business-events .fdwb-value-box p:not(.fdwb-value-box__label), #fw-content #fdw-business-events .fdwb-output__details p:not(.fdwb-output__label) { margin: 0; color: var(--u-text); font-size: var(--u-fs-15); line-height: 1.6; }
#fw-content #fdw-business-events .fdwb-result-box { display: grid; grid-template-columns: 56px minmax(0, 1fr); gap: 16px; align-items: start; }
#fw-content #fdw-business-events .fdwb-result-box__mark { display: grid; place-items: center; width: 56px; height: 56px; border: 1px solid var(--u-gold); border-radius: 50%; background: #fff; color: var(--u-night); font-size: 12px; font-weight: 800; letter-spacing: 0.1em; text-transform: uppercase; }
#fw-content #fdw-business-events .fdwb-result-box h3 { margin: 0 0 6px; color: var(--u-ink); font-family: var(--u-serif); font-size: 24px; font-weight: 500; letter-spacing: -0.01em; line-height: 1.15; }
#fw-content #fdw-business-events .fdwb-result-box p { margin: 0; color: var(--u-text); font-size: var(--u-fs-15); line-height: 1.6; }
#fw-content #fdw-business-events .fdwb-industry-box { margin: 16px 0; padding: 16px 20px; border: 1px solid var(--u-line); border-radius: 2px; background: #fff; }
#fw-content #fdw-business-events .fdwb-industry-box > p { margin: 0 0 10px; color: var(--u-clay); font-size: 12px; font-weight: 800; letter-spacing: 0.18em; text-transform: uppercase; }
#fw-content #fdw-business-events .fdwb-industry-box ul { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 6px 18px; margin: 0; padding-left: 18px; color: var(--u-text); font-size: var(--u-fs-15); line-height: 1.5; }
#fw-content #fdw-business-events .fdwb-industry-box li::marker { color: var(--u-gold-deep); }
#fw-content #fdw-business-events .fdwb-output { display: grid; grid-template-columns: auto minmax(0, 1fr); gap: 18px; align-items: stretch; margin: 16px 0; }
#fw-content #fdw-business-events .fdwb-output__quantity { display: flex; flex-direction: column; justify-content: center; min-width: 140px; padding: 18px 22px; border-radius: 2px; background: var(--u-night); color: var(--u-ivory); }
#fw-content #fdw-business-events .fdwb-output__quantity strong { color: var(--u-gold); font-family: var(--u-serif); font-size: 44px; font-weight: 400; line-height: 1; }
#fw-content #fdw-business-events .fdwb-output__quantity span { margin-top: 6px; font-size: var(--u-fs-11); font-weight: 800; letter-spacing: 0.14em; text-transform: uppercase; }
#fw-content #fdw-business-events .fdwb-output__details { margin: 0; }
#fw-content #fdw-business-events .fdwb-channels { display: flex; flex-wrap: wrap; gap: 8px; margin: 0 0 16px; }
#fw-content #fdw-business-events .fdwb-channels span { display: inline-flex; align-items: center; min-height: 28px; padding: 3px 11px; border: 1px solid var(--u-line-strong); border-radius: 999px; background: transparent; color: var(--u-text); font-size: var(--u-fs-11); font-weight: 700; letter-spacing: 0.08em; text-transform: uppercase; }
#fw-content #fdw-business-events .fdwb-info-note { display: flex; align-items: center; gap: 10px; margin: 0 0 18px; color: var(--u-muted); font-size: var(--u-fs-14); }
#fw-content #fdw-business-events .fdwb-info-note svg { width: 16px; height: 16px; color: var(--u-gold-deep); flex: none; }
#fw-content #fdw-business-events .fdwb-final-cta { position: relative; display: grid; grid-template-columns: minmax(0, 1.2fr) minmax(0, 0.8fr); gap: clamp(28px, 4vw, 70px); align-items: center; margin: clamp(40px, 6vw, 72px) 0 0; padding-top: clamp(40px, 5vw, 64px); padding-bottom: clamp(40px, 5vw, 64px); border: 0; border-radius: 0; background: var(--u-night); background-image: none; color: var(--u-ivory); overflow: hidden; }
#fw-content #fdw-business-events .fdwb-final-cta::after { content: ""; position: absolute; right: -120px; top: -200px; width: 460px; height: 460px; border: 1px solid rgba(97, 211, 208, 0.16); border-radius: 50%; pointer-events: none; }
#fw-content #fdw-business-events .fdwb-final-cta::before { display: none; }
#fw-content #fdw-business-events .fdwb-final-cta > * { position: relative; z-index: 1; }
#fw-content #fdw-business-events .fdwb-final-cta .fdwb-kicker { color: var(--u-aqua); }
#fw-content #fdw-business-events .fdwb-final-cta h2 { margin: 0; color: #fff; font-family: var(--u-serif); font-size: clamp(30px, 3.4vw, 46px); font-weight: 400; letter-spacing: -0.03em; line-height: 1.05; }
#fw-content #fdw-business-events .fdwb-final-cta p:not(.fdwb-kicker) { margin: 14px 0 0; color: rgba(242, 238, 229, 0.86); font-size: var(--u-fs-16); line-height: 1.65; }
#fw-content #fdw-business-events .fdwb-final-cta__actions { display: flex; flex-direction: column; align-items: flex-start; gap: 16px; justify-self: end; }
/* Lightbox */
#fw-content #fdw-business-events .fdwb-lightbox { position: fixed; z-index: 999999; inset: 0; display: none; place-items: center; padding: 22px; }
#fw-content #fdw-business-events .fdwb-lightbox.is-open { display: grid; }
#fw-content #fdw-business-events .fdwb-lightbox__backdrop { position: absolute; inset: 0; background: rgba(0, 47, 73, 0.95); backdrop-filter: blur(10px); }
#fw-content #fdw-business-events .fdwb-lightbox__dialog { position: relative; z-index: 1; width: min(1500px, 100%); height: min(94vh, 1080px); display: grid; grid-template-rows: auto minmax(0, 1fr) auto; gap: 14px; }
#fw-content #fdw-business-events .fdwb-lightbox__top, #fw-content #fdw-business-events .fdwb-lightbox__controls { display: flex; align-items: center; justify-content: space-between; gap: 18px; color: #fff; }
#fw-content #fdw-business-events .fdwb-lightbox__top p { margin: 0; font-size: var(--u-fs-16); font-weight: 700; }
#fw-content #fdw-business-events .fdwb-lightbox__close { width: 48px; height: 48px; display: grid; flex: 0 0 auto; place-items: center; padding: 0; border: 1px solid rgba(255, 255, 255, 0.4); border-radius: 50%; cursor: pointer; color: #fff; background: rgba(255, 255, 255, 0.08); }
#fw-content #fdw-business-events .fdwb-lightbox figure { min-width: 0; min-height: 0; display: grid; place-items: center; margin: 0; }
#fw-content #fdw-business-events .fdwb-lightbox figure img { width: 100%; height: 100%; object-fit: contain; }
#fw-content #fdw-business-events .fdwb-lightbox__controls button { display: inline-flex; min-height: 46px; align-items: center; gap: 8px; padding: 9px 15px; border: 1px solid rgba(255, 255, 255, 0.34); border-radius: 999px; cursor: pointer; color: #fff; background: rgba(255, 255, 255, 0.08); font-size: var(--u-fs-11); font-weight: 800; letter-spacing: 0.12em; text-transform: uppercase; }
#fw-content #fdw-business-events .fdwb-lightbox__controls span { color: rgba(255, 255, 255, 0.78); font-size: var(--u-fs-13); font-weight: 700; }
body.fdwb-print-business-events #fdw-business-events .fdwb-no-print, body.fdwb-print-business-events #fdw-business-events .fdwb-lightbox { display: none !important; }
@media print { #fw-content #fdw-business-events .fdwb-no-print, #fw-content #fdw-business-events .fdwb-lightbox { display: none !important; } }
@media (max-width: 1000px) { #fw-content #fdw-business-events .fdwb-hero, #fw-content #fdw-business-events .fdwb-service__body, #fw-content #fdw-business-events .fdwb-final-cta, #fw-content #fdw-business-events .fdwb-service-nav { grid-template-columns: minmax(0, 1fr); } #fw-content #fdw-business-events .fdwb-service-nav a { border-right: 0; border-bottom: 1px solid var(--u-line); min-height: 56px; padding-left: 0 !important; } #fw-content #fdw-business-events .fdwb-service-nav a:last-child { border-bottom: 0; } #fw-content #fdw-business-events .fdwb-service--reverse .fdwb-image-panel { order: 0; } #fw-content #fdw-business-events .fdwb-hero::after { display: none; } #fw-content #fdw-business-events .fdwb-final-cta__actions { justify-self: start; } }
@media (max-width: 600px) { #fw-content #fdw-business-events .fdwb-button { width: 100%; } #fw-content #fdw-business-events .fdwb-industry-box ul { grid-template-columns: minmax(0, 1fr); } #fw-content #fdw-business-events .fdwb-output { grid-template-columns: minmax(0, 1fr); } #fw-content #fdw-business-events .fdwb-lightbox { padding: 12px; } #fw-content #fdw-business-events .fdwb-lightbox__dialog { height: 96vh; height: 96dvh; } }

/* ============================================================
   BILDOPTIMIERUNG (#fw-bildoptimierung) – Regler und Tabs unverändert
   ============================================================ */
#fw-content #fw-bildoptimierung { margin: 0; padding: 0; background: transparent; }
#fw-content #fw-bildoptimierung .fw-shell { width: min(calc(100% - 2 * var(--u-gutter)), var(--u-wrap)); margin: 0 auto; padding: 0; }
#fw-content #fw-bildoptimierung .fw-eyebrow { display: flex; align-items: center; gap: 12px; margin: 0 0 22px; color: var(--u-clay); font-family: var(--u-sans); font-size: var(--u-fs-11); font-weight: 800; letter-spacing: 0.21em; text-transform: uppercase; }
#fw-content #fw-bildoptimierung .fw-eyebrow::before { content: ""; flex: 0 0 26px; width: 26px; height: 1px; background: currentColor; }
#fw-content #fw-bildoptimierung .fw-eyebrow.fw-light, #fw-content #fw-bildoptimierung .fw-hero .fw-eyebrow { color: var(--u-aqua); }
#fw-content #fw-bildoptimierung :is(h1, h2, h3) { margin: 0; color: var(--u-ink); font-family: var(--u-serif); font-weight: 400; letter-spacing: -0.03em; line-height: 1.04; }
#fw-content #fw-bildoptimierung h1 { font-size: clamp(40px, 5.2vw, 70px); }
#fw-content #fw-bildoptimierung h2 { font-size: clamp(32px, 3.6vw, 50px); }
#fw-content #fw-bildoptimierung h3 { font-size: clamp(24px, 2.2vw, 30px); line-height: 1.12; }
#fw-content #fw-bildoptimierung h1 em, #fw-content #fw-bildoptimierung h2 em { font-style: italic; font-weight: 400; color: var(--u-clay); font-family: var(--u-serif); }
#fw-content #fw-bildoptimierung .fw-hero { position: relative; margin: 0 0 clamp(40px, 6vw, 72px); padding-top: clamp(54px, 7vw, 92px); padding-bottom: clamp(50px, 6vw, 84px); background: var(--u-night); color: var(--u-ivory); overflow: hidden; }
#fw-content #fw-bildoptimierung .fw-hero::after { content: ""; position: absolute; right: -140px; top: -160px; width: 520px; height: 520px; border: 1px solid rgba(255, 255, 255, 0.07); border-radius: 50%; background: none; pointer-events: none; }
#fw-content #fw-bildoptimierung .fw-hero::before { display: none; }
#fw-content #fw-bildoptimierung .fw-hero-grid { position: relative; z-index: 1; display: grid; grid-template-columns: minmax(0, 1.05fr) minmax(0, 0.95fr); gap: clamp(32px, 5vw, 80px); align-items: center; width: min(100%, var(--u-wrap)); margin: 0 auto; }
#fw-content #fw-bildoptimierung .fw-hero h1 { color: #fff; }
#fw-content #fw-bildoptimierung .fw-hero h1 em { color: var(--u-gold); }
#fw-content #fw-bildoptimierung .fw-lead { margin: 22px 0 26px; max-width: 600px; color: rgba(242, 238, 229, 0.86); font-size: clamp(16px, 1.2vw, 19px); line-height: 1.7; }
#fw-content #fw-bildoptimierung .fw-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 14px 26px; margin: 0 0 16px; }
#fw-content #fw-bildoptimierung .fw-button { display: inline-flex; align-items: center; justify-content: space-between; gap: 18px; min-height: 54px; padding: 0 12px 0 22px; border: 1px solid var(--u-night); border-radius: 0; background: var(--u-night); color: var(--u-ivory) !important; box-shadow: none; font: 800 12px/1.3 var(--u-sans); letter-spacing: 0.14em; text-transform: uppercase; text-decoration: none; transition: background 180ms ease, transform 180ms ease, border-color 180ms ease; }
#fw-content #fw-bildoptimierung .fw-button::after { content: "\2197"; display: grid; place-items: center; flex: 0 0 32px; width: 32px; height: 32px; border-radius: 50%; background: var(--u-ivory); color: var(--u-night); font-size: var(--u-fs-15); letter-spacing: 0; }
#fw-content #fw-bildoptimierung .fw-button svg { display: none; }
#fw-content #fw-bildoptimierung .fw-button:hover, #fw-content #fw-bildoptimierung .fw-button:focus-visible { background: var(--u-clay); border-color: var(--u-clay); transform: translateY(-2px); }
#fw-content #fw-bildoptimierung .fw-hero .fw-button, #fw-content #fw-bildoptimierung .fw-offer .fw-button, #fw-content #fw-bildoptimierung .fw-button.fw-accent { background: var(--u-ivory); border-color: var(--u-ivory); color: var(--u-night) !important; }
#fw-content #fw-bildoptimierung .fw-hero .fw-button::after, #fw-content #fw-bildoptimierung .fw-offer .fw-button::after, #fw-content #fw-bildoptimierung .fw-button.fw-accent::after { background: var(--u-night); color: #fff; }
#fw-content #fw-bildoptimierung .fw-hero .fw-button:hover, #fw-content #fw-bildoptimierung .fw-offer .fw-button:hover { background: var(--u-gold); border-color: var(--u-gold); }
#fw-content #fw-bildoptimierung .fw-final .fw-button { background: var(--u-night); border-color: var(--u-night); color: var(--u-ivory) !important; }
#fw-content #fw-bildoptimierung .fw-final .fw-button::after { background: var(--u-ivory); color: var(--u-night); }
#fw-content #fw-bildoptimierung .fw-link { display: inline-flex; align-items: center; gap: 8px; padding: 6px 0; color: var(--u-ivory); font: 800 12px/1.4 var(--u-sans); letter-spacing: 0.14em; text-transform: uppercase; text-decoration: underline; text-decoration-color: var(--u-gold); text-underline-offset: 6px; }
#fw-content #fw-bildoptimierung .fw-link:hover { color: var(--u-gold); }
#fw-content #fw-bildoptimierung .fw-photo-mail-hint { margin: 0 0 14px; color: rgba(242, 238, 229, 0.72); font-size: var(--u-fs-13); line-height: 1.55; }
#fw-content #fw-bildoptimierung .fw-trust { display: flex; flex-wrap: wrap; gap: 8px 22px; color: rgba(242, 238, 229, 0.86); font-size: var(--u-fs-11); font-weight: 800; letter-spacing: 0.14em; text-transform: uppercase; }
#fw-content #fw-bildoptimierung .fw-trust span::before { margin-right: 8px; color: var(--u-gold); content: "✓"; }
/* Vorher/Nachher */
#fw-content #fw-bildoptimierung .fw-compare-wrap { position: relative; width: 100%; max-width: 760px; margin: 0; padding: 0; justify-self: end; }
#fw-content #fw-bildoptimierung .fw-compare-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); align-items: start; gap: 18px; }
#fw-content #fw-bildoptimierung .fw-compare-card { padding: 8px; border: 1px solid var(--u-line-dark); border-radius: 2px; background: rgba(255, 255, 255, 0.04); box-shadow: none; backdrop-filter: none; }
#fw-content #fw-bildoptimierung .fw-compare { --fw-split: 50%; position: relative; aspect-ratio: 3 / 4; overflow: hidden; border-radius: 2px; background: var(--u-night-soft); touch-action: pan-y pinch-zoom; }
#fw-content #fw-bildoptimierung .fw-compare--archive { aspect-ratio: 1072 / 1600; }
#fw-content #fw-bildoptimierung .fw-photo, #fw-content #fw-bildoptimierung .fw-after { position: absolute; inset: 0; width: 100%; height: 100%; overflow: hidden; }
#fw-content #fw-bildoptimierung .fw-photo img { position: absolute; inset: 0; width: 100%; max-width: none; height: 100%; object-fit: cover; object-position: center; user-select: none; }
#fw-content #fw-bildoptimierung .fw-after { clip-path: inset(0 0 0 var(--fw-split)); }
#fw-content #fw-bildoptimierung .fw-compare::after { position: absolute; inset: 0; z-index: 1; background: linear-gradient(to top, rgba(0, 47, 73, 0.28), transparent 28%); content: ""; pointer-events: none; }
#fw-content #fw-bildoptimierung .fw-compare-label { position: absolute; z-index: 3; bottom: 12px; padding: 6px 10px; border: 1px solid rgba(255, 255, 255, 0.4); border-radius: 999px; background: rgba(0, 47, 73, 0.7); color: #fff; font-family: var(--u-sans); font-size: 12px; font-weight: 800; letter-spacing: 0.14em; line-height: 1.2; text-transform: uppercase; pointer-events: none; }
#fw-content #fw-bildoptimierung .fw-compare-label--before { left: 12px; }
#fw-content #fw-bildoptimierung .fw-compare-label--after { right: 12px; }
#fw-content #fw-bildoptimierung .fw-line { position: absolute; z-index: 4; top: 0; bottom: 0; left: var(--fw-split); width: 2px; background: #fff; pointer-events: none; }
#fw-content #fw-bildoptimierung .fw-handle { position: absolute; top: 50%; left: 50%; display: grid; width: 44px; height: 44px; place-items: center; border: 2px solid rgba(255, 255, 255, 0.9); border-radius: 50%; background: var(--u-night); box-shadow: 0 8px 22px rgba(0, 47, 73, 0.4); color: #fff; transform: translate(-50%, -50%); }
#fw-content #fw-bildoptimierung .fw-handle::before { font: 700 16px/1 Arial, sans-serif; content: "↔"; }
#fw-content #fw-bildoptimierung .fw-range { position: absolute; inset: 0; z-index: 5; width: 100%; height: 100%; min-height: 0; margin: 0; padding: 0; border: 0; background: transparent; cursor: ew-resize; touch-action: pan-y pinch-zoom; opacity: 0; appearance: auto; }
#fw-content #fw-bildoptimierung .fw-compare:focus-within .fw-handle { outline: 3px solid var(--u-aqua); outline-offset: 3px; }
#fw-content #fw-bildoptimierung .fw-caption { padding: 12px 6px 4px; }
#fw-content #fw-bildoptimierung .fw-caption strong { display: block; margin: 0 0 2px; color: #fff; font-family: var(--u-sans); font-size: var(--u-fs-11); font-weight: 800; letter-spacing: 0.14em; text-transform: uppercase; }
#fw-content #fw-bildoptimierung .fw-caption strong::before { display: inline-block; width: 7px; height: 7px; margin-right: 8px; border-radius: 50%; background: var(--u-gold); content: ""; vertical-align: middle; }
#fw-content #fw-bildoptimierung .fw-caption p { margin: 0; color: rgba(242, 238, 229, 0.72); font-size: 12px; line-height: 1.5; }
#fw-content #fw-bildoptimierung .fw-note { margin: 16px 0 0; padding: 12px 16px; border-left: 2px solid var(--u-gold); color: rgba(242, 238, 229, 0.8); font-size: var(--u-fs-13); line-height: 1.55; }
#fw-content #fw-bildoptimierung .fw-note strong { display: block; margin: 0 0 2px; color: #fff; font-size: var(--u-fs-13); }
/* Möglichkeiten */
#fw-content #fw-bildoptimierung .fw-possibilities { margin: 0 0 clamp(40px, 6vw, 72px); padding: 0; background: transparent; }
#fw-content #fw-bildoptimierung .fw-intro { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: clamp(20px, 4vw, 70px); align-items: end; margin: 0 0 clamp(24px, 3vw, 40px); }
#fw-content #fw-bildoptimierung .fw-intro > p { margin: 0; color: var(--u-muted); font-size: var(--u-fs-16); line-height: 1.65; }
#fw-content #fw-bildoptimierung .fw-tabs { display: flex; flex-wrap: wrap; gap: 10px; margin: 0 0 18px; padding: 0; border: 0; background: transparent; }
#fw-content #fw-bildoptimierung .fw-tab { position: relative; display: flex; flex-direction: column; flex: 1 1 160px; gap: 2px; min-height: 72px; padding: 12px 16px; border: 1px solid var(--u-line-strong); border-radius: 2px; background: var(--u-paper); color: var(--u-ink); font-family: var(--u-sans); text-align: left; cursor: pointer; transition: background 160ms ease, color 160ms ease, border-color 160ms ease; }
#fw-content #fw-bildoptimierung .fw-tab-number { color: var(--u-gold-text); font-family: var(--u-serif); font-size: 24px; font-weight: 500; line-height: 1; }
#fw-content #fw-bildoptimierung .fw-tab b { font-size: var(--u-fs-14); font-weight: 800; letter-spacing: 0.02em; }
#fw-content #fw-bildoptimierung .fw-tab small { color: var(--u-muted); font-size: 12px; }
#fw-content #fw-bildoptimierung .fw-tab:hover { border-color: var(--u-night); }
#fw-content #fw-bildoptimierung .fw-tab[aria-selected="true"] { background: var(--u-night); border-color: var(--u-night); color: var(--u-ivory); }
#fw-content #fw-bildoptimierung .fw-tab[aria-selected="true"] small { color: rgba(242, 238, 229, 0.75); }
#fw-content #fw-bildoptimierung .fw-tab[aria-selected="true"] .fw-tab-number { color: var(--u-gold); }
#fw-content #fw-bildoptimierung .fw-tab::after { display: none; }
#fw-content #fw-bildoptimierung .fw-panel { display: grid; grid-template-columns: 180px minmax(0, 1fr); gap: clamp(22px, 3vw, 40px); padding: clamp(22px, 2.8vw, 36px); border: 1px solid var(--u-line); border-radius: 2px; background: var(--u-paper); box-shadow: none; }
#fw-content #fw-bildoptimierung .fw-panel-visual { position: relative; display: grid; place-items: center; min-height: 160px; border-radius: 2px; background: var(--u-night); overflow: hidden; }
#fw-content #fw-bildoptimierung .fw-panel-visual::before, #fw-content #fw-bildoptimierung .fw-panel-visual::after { position: absolute; border: 1px solid rgba(97, 211, 208, 0.2); border-radius: 50%; content: ""; }
#fw-content #fw-bildoptimierung .fw-panel-visual::before { width: 220px; height: 220px; right: -90px; top: -90px; }
#fw-content #fw-bildoptimierung .fw-panel-visual::after { width: 140px; height: 140px; left: -60px; bottom: -60px; }
#fw-content #fw-bildoptimierung .fw-panel-icon { position: relative; z-index: 1; color: var(--u-gold); font-family: var(--u-serif); font-size: 56px; font-weight: 400; line-height: 1; }
#fw-content #fw-bildoptimierung .fw-kicker { display: flex; align-items: center; gap: 12px; margin: 0 0 12px; color: var(--u-clay); font-size: var(--u-fs-11); font-weight: 800; letter-spacing: 0.21em; text-transform: uppercase; }
#fw-content #fw-bildoptimierung .fw-kicker::before { content: ""; flex: 0 0 22px; width: 22px; height: 1px; background: currentColor; }
#fw-content #fw-bildoptimierung .fw-panel-detail p:not(.fw-kicker) { margin: 12px 0 14px; color: var(--u-text); font-size: var(--u-fs-16); line-height: 1.7; }
#fw-content #fw-bildoptimierung .fw-panel-detail ul { display: flex; flex-wrap: wrap; gap: 8px; margin: 0; padding: 0; list-style: none; }
#fw-content #fw-bildoptimierung .fw-panel-detail li { display: inline-flex; align-items: center; min-height: 30px; padding: 4px 12px; border: 1px solid var(--u-line-strong); border-radius: 999px; color: var(--u-text); font-size: 12px; font-weight: 700; letter-spacing: 0.06em; text-transform: uppercase; }
#fw-content #fw-bildoptimierung .fw-panel-detail li::before { margin-right: 6px; color: var(--u-gold-deep); content: "✓"; }
/* Ablauf (dunkles Band) */
#fw-content #fw-bildoptimierung .fw-process { position: relative; margin: 0 0 clamp(40px, 6vw, 72px); padding-top: clamp(44px, 5vw, 72px); padding-bottom: clamp(44px, 5vw, 72px); background: var(--u-night); color: var(--u-ivory); overflow: hidden; }
#fw-content #fw-bildoptimierung .fw-process::after { content: ""; position: absolute; right: -120px; top: -200px; width: 460px; height: 460px; border: 1px solid rgba(97, 211, 208, 0.16); border-radius: 50%; pointer-events: none; }
#fw-content #fw-bildoptimierung .fw-process-grid { position: relative; z-index: 1; display: grid; grid-template-columns: minmax(0, 0.8fr) minmax(0, 1.2fr); gap: clamp(28px, 5vw, 90px); width: min(100%, var(--u-wrap)); margin: 0 auto; }
#fw-content #fw-bildoptimierung .fw-process h2 { color: #fff; }
#fw-content #fw-bildoptimierung .fw-process-list { margin: 0; padding: 0; list-style: none; counter-reset: none; }
#fw-content #fw-bildoptimierung .fw-process-list li { display: grid; grid-template-columns: 48px minmax(0, 1fr); gap: 12px 20px; padding: 22px 0; border-top: 1px solid var(--u-line-dark); }
#fw-content #fw-bildoptimierung .fw-process-list li:last-child { border-bottom: 1px solid var(--u-line-dark); }
#fw-content #fw-bildoptimierung .fw-step-icon { grid-row: 1 / span 2; color: var(--u-gold); font-family: var(--u-serif); font-size: 26px; font-weight: 500; line-height: 1.1; background: none; border: 0; width: auto; height: auto; }
#fw-content #fw-bildoptimierung .fw-process-list h3 { color: #fff; font-size: 26px; font-weight: 500; }
#fw-content #fw-bildoptimierung .fw-process-list p { margin: 0; color: rgba(242, 238, 229, 0.8); font-size: var(--u-fs-15); line-height: 1.65; }
/* Angebot */
#fw-content #fw-bildoptimierung .fw-offer { margin: 0 0 clamp(40px, 6vw, 72px); padding: 0; background: transparent; }
#fw-content #fw-bildoptimierung .fw-offer-card { display: grid; grid-template-columns: auto minmax(0, 1fr) auto; gap: clamp(22px, 3vw, 44px); align-items: center; padding: clamp(26px, 3vw, 44px); border: 1px solid var(--u-line); border-top: 3px solid var(--u-gold); border-radius: 2px; background: var(--u-paper); color: var(--u-text); box-shadow: none; }
#fw-content #fw-bildoptimierung .fw-offer-badge { display: grid; width: 124px; height: 124px; place-items: center; align-content: center; border: 1px solid var(--u-gold); border-radius: 50%; background: rgba(216, 182, 107, 0.14); color: var(--u-night); font-family: var(--u-serif); font-size: 40px; font-weight: 400; line-height: 1; }
#fw-content #fw-bildoptimierung .fw-offer-badge span { margin-top: 4px; font-family: var(--u-sans); font-size: 12px; font-weight: 800; letter-spacing: 0.18em; text-transform: uppercase; }
#fw-content #fw-bildoptimierung .fw-offer-copy .fw-eyebrow { color: var(--u-clay); margin-bottom: 12px; }
#fw-content #fw-bildoptimierung .fw-offer-copy h2 { font-size: clamp(28px, 2.8vw, 40px); }
#fw-content #fw-bildoptimierung .fw-offer-copy p { margin: 12px 0 0; color: var(--u-text); font-size: var(--u-fs-15); line-height: 1.65; }
#fw-content #fw-bildoptimierung .fw-offer .fw-button { background: var(--u-night); border-color: var(--u-night); color: var(--u-ivory) !important; }
#fw-content #fw-bildoptimierung .fw-offer .fw-button::after { background: var(--u-ivory); color: var(--u-night); }
#fw-content #fw-bildoptimierung .fw-offer .fw-button:hover { background: var(--u-clay); border-color: var(--u-clay); }
/* FAQ */
#fw-content #fw-bildoptimierung .fw-faq { margin: 0 0 clamp(40px, 6vw, 72px); padding: 0; background: transparent; }
#fw-content #fw-bildoptimierung .fw-faq-grid { display: grid; grid-template-columns: minmax(0, 0.8fr) minmax(0, 1.2fr); gap: clamp(28px, 5vw, 90px); align-items: start; }
#fw-content #fw-bildoptimierung .fw-quality { margin: 22px 0 0; padding: 16px 20px; border: 1px solid var(--u-line); border-left: 3px solid var(--u-gold-deep); background: var(--u-sand); color: var(--u-text); font-size: var(--u-fs-15); line-height: 1.6; }
#fw-content #fw-bildoptimierung .fw-quality strong { display: block; margin: 0 0 4px; color: var(--u-ink); }
#fw-content #fw-bildoptimierung .fw-faq-list details { border-bottom: 1px solid var(--u-line); }
#fw-content #fw-bildoptimierung .fw-faq-list details:first-child { border-top: 1px solid var(--u-line); }
#fw-content #fw-bildoptimierung .fw-faq-list summary { position: relative; display: block; min-height: 58px; padding: 18px 56px 18px 0; color: var(--u-ink); font-family: var(--u-sans); font-size: var(--u-fs-17); font-weight: 700; line-height: 1.45; cursor: pointer; list-style: none; }
#fw-content #fw-bildoptimierung .fw-faq-list summary::-webkit-details-marker { display: none; }
#fw-content #fw-bildoptimierung .fw-faq-list summary::after { content: "+"; position: absolute; right: 2px; top: 50%; width: 34px; height: 34px; margin-top: -17px; display: grid; place-items: center; border: 1px solid var(--u-line-strong); border-radius: 50%; color: var(--u-night); font: 400 22px/1 var(--u-serif); transition: transform 220ms ease, background 160ms ease; transform: none; }
#fw-content #fw-bildoptimierung .fw-faq-list details[open] summary::after { transform: rotate(45deg); background: var(--u-night); color: var(--u-ivory); border-color: var(--u-night); }
#fw-content #fw-bildoptimierung .fw-faq-list details > p { margin: 0; padding: 0 0 22px; max-width: 760px; color: var(--u-text); font-size: var(--u-fs-16); line-height: 1.7; }
/* Abschluss */
#fw-content #fw-bildoptimierung .fw-final { margin: 0; padding: 0 0 clamp(48px, 6vw, 80px); background: transparent; }
#fw-content #fw-bildoptimierung .fw-final-inner { display: flex; flex-direction: column; align-items: flex-start; gap: 22px; padding: clamp(32px, 4vw, 56px) 0 0; border-top: 1px solid var(--u-line); }
#fw-content #fw-bildoptimierung .fw-final-inner > p { display: flex; align-items: center; gap: 12px; margin: 0; color: var(--u-clay); font-size: var(--u-fs-11); font-weight: 800; letter-spacing: 0.21em; text-transform: uppercase; }
#fw-content #fw-bildoptimierung .fw-final-inner > p::before { content: ""; flex: 0 0 26px; width: 26px; height: 1px; background: currentColor; }
#fw-content #fw-bildoptimierung .fw-final-inner h2 { max-width: 900px; font-size: clamp(34px, 4.2vw, 58px); }
#fw-content #fw-bildoptimierung .fw-final-inner h2 em { font-family: var(--u-serif); font-style: italic; color: var(--u-clay); }
@media (max-width: 1000px) { #fw-content #fw-bildoptimierung .fw-hero-grid, #fw-content #fw-bildoptimierung .fw-intro, #fw-content #fw-bildoptimierung .fw-process-grid, #fw-content #fw-bildoptimierung .fw-faq-grid, #fw-content #fw-bildoptimierung .fw-offer-card { grid-template-columns: minmax(0, 1fr); } #fw-content #fw-bildoptimierung .fw-compare-wrap { justify-self: start; } #fw-content #fw-bildoptimierung .fw-panel { grid-template-columns: minmax(0, 1fr); } #fw-content #fw-bildoptimierung .fw-panel-visual { min-height: 120px; } #fw-content #fw-bildoptimierung .fw-hero::after { display: none; } }
@media (max-width: 600px) { #fw-content #fw-bildoptimierung .fw-compare-grid { grid-template-columns: minmax(0, 1fr); } #fw-content #fw-bildoptimierung .fw-button { width: 100%; } #fw-content #fw-bildoptimierung .fw-tab { flex-basis: 100%; min-height: 0; } }

/* ============================================================
   WORKSHOPS – Übersicht (#fw-workshops)
   ============================================================ */
#fw-content #fw-workshops { margin: 0; padding: 0; background: transparent; }
#fw-content #fw-workshops .fw-gallery { position: static; margin: 0; padding: 0; border: 0; background: transparent; color: var(--u-text); }
#fw-content #fw-workshops .fw-gallery::before, #fw-content #fw-workshops .fw-gallery::after, #fw-content #fw-workshops .fw-title-rule, #fw-content #fw-workshops .fw-aperture, #fw-content #fw-workshops .fw-schedule::before, #fw-content #fw-workshops .fw-schedule-shell::before { display: none !important; }
#fw-content #fw-workshops .fw-title-lockup { position: relative; display: block; margin: 0 0 clamp(36px, 5vw, 64px); padding-top: clamp(54px, 7vw, 92px); padding-bottom: clamp(50px, 6vw, 84px); background: var(--u-night); color: var(--u-ivory); overflow: hidden; }
#fw-content #fw-workshops .fw-title-lockup::after { content: ""; position: absolute; right: -140px; top: -160px; width: 520px; height: 520px; border: 1px solid rgba(255, 255, 255, 0.07); border-radius: 50%; pointer-events: none; }
#fw-content #fw-workshops .fw-title-group { position: relative; z-index: 1; display: block; width: min(100%, var(--u-wrap)); margin: 0 auto; }
#fw-content #fw-workshops #fw-page-title { display: flex; flex-direction: column; align-items: flex-start; gap: 0; margin: 0; color: #fff; font-family: var(--u-serif); font-size: clamp(40px, 5.4vw, 74px); font-weight: 400; letter-spacing: -0.03em; line-height: 1.04; text-transform: none; }
#fw-content #fw-workshops .fw-title-script { display: flex; align-items: center; gap: 12px; order: -1; margin: 0 0 22px; color: var(--u-aqua); font-family: var(--u-sans); font-size: var(--u-fs-11); font-weight: 800; font-style: normal; letter-spacing: 0.21em; line-height: 1.4; text-transform: uppercase; }
#fw-content #fw-workshops .fw-title-script::before { content: ""; flex: 0 0 26px; width: 26px; height: 1px; background: currentColor; }
#fw-content #fw-workshops .fw-title-main { display: block; font: inherit; letter-spacing: inherit; text-transform: none; }
#fw-content #fw-workshops .fw-title-main::first-letter { text-transform: uppercase; }
#fw-content #fw-workshops .fw-jump { display: inline-flex; align-items: center; justify-content: space-between; gap: 18px; min-height: 54px; margin: 28px 0 0; padding: 0 12px 0 22px; border: 1px solid var(--u-ivory); border-radius: 0; background: var(--u-ivory); color: var(--u-night) !important; box-shadow: none; font: 800 12px/1.3 var(--u-sans); letter-spacing: 0.14em; text-transform: uppercase; text-decoration: none; transition: background 180ms ease, transform 180ms ease; }
#fw-content #fw-workshops .fw-jump::after { content: "\2193"; display: grid; place-items: center; width: 32px; height: 32px; border-radius: 50%; background: var(--u-night); color: #fff; font-size: var(--u-fs-15); letter-spacing: 0; }
#fw-content #fw-workshops .fw-jump:hover { background: var(--u-gold); border-color: var(--u-gold); transform: translateY(-2px); }
#fw-content #fw-workshops .fw-workshop-overview-facts { width: min(calc(100% - 2 * var(--u-gutter)), var(--u-wrap)); max-width: none; margin: 0 auto clamp(28px, 4vw, 44px); padding: 0; }
#fw-content #fw-workshops .fw-workshop-location { margin: 0; padding: 16px 20px; border: 1px solid var(--u-line); border-left: 3px solid var(--u-gold-deep); border-radius: 0; background: var(--u-sand); color: var(--u-text); }
#fw-content #fw-workshops .fw-workshop-location p { margin: 0; font-size: var(--u-fs-15); line-height: 1.6; }
#fw-content #fw-workshops .fw-workshop-location p + p { margin-top: 6px; }
#fw-content #fw-workshops .fw-workshop-location strong { color: var(--u-ink); }
#fw-content #fw-workshops .fw-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 26px; width: min(calc(100% - 2 * var(--u-gutter)), var(--u-wrap)); margin: 0 auto clamp(48px, 6vw, 80px); padding: 0; }
#fw-content #fw-workshops .fw-card { position: relative; display: flex; flex-direction: column; margin: 0; padding: 0; border: 1px solid var(--u-line); border-radius: 2px; background: var(--u-paper); color: inherit; text-decoration: none; box-shadow: none; overflow: hidden; transform: none; transition: transform 220ms ease, border-color 220ms ease, box-shadow 220ms ease; }
#fw-content #fw-workshops .fw-card::before { display: none; }
#fw-content #fw-workshops .fw-card:hover, #fw-content #fw-workshops .fw-card:focus-visible { transform: translateY(-4px); border-color: var(--u-gold); box-shadow: 0 22px 44px -28px rgba(0, 47, 73, 0.45); }
#fw-content #fw-workshops .fw-card img { display: block; width: 100%; aspect-ratio: 1 / 1; height: auto; object-fit: cover; border-bottom: 1px solid var(--u-line); filter: none; transform: none; }
#fw-content #fw-workshops .fw-card-arrow { position: absolute; top: 14px; right: 14px; z-index: 2; display: grid; place-items: center; width: 38px; height: 38px; border-radius: 50%; background: var(--u-night); color: var(--u-ivory); opacity: 1; transform: none; }
#fw-content #fw-workshops .fw-card-arrow svg { width: 16px; height: 16px; }
#fw-content #fw-workshops .fw-card:hover .fw-card-arrow { background: var(--u-clay); }
#fw-content #fw-workshops .fw-card-caption { position: static; display: flex; flex-direction: column; gap: 6px; padding: 18px 20px 20px; background: transparent; color: inherit; transform: none; }
#fw-content #fw-workshops .fw-card-caption strong { color: var(--u-ink); font-family: var(--u-serif); font-size: 25px; font-weight: 500; letter-spacing: -0.01em; line-height: 1.1; }
#fw-content #fw-workshops .fw-card-caption span { color: var(--u-clay); font-size: var(--u-fs-11); font-weight: 800; letter-spacing: 0.16em; text-transform: uppercase; }
/* Termine */
#fw-content #fw-workshops .fw-schedule { position: static; margin: 0; padding: 0 0 clamp(48px, 6vw, 80px); background: transparent; color: var(--u-text); }
#fw-content #fw-workshops .fw-schedule-shell { position: static; width: min(calc(100% - 2 * var(--u-gutter)), var(--u-wrap)); margin: 0 auto; padding: 0; border: 0; background: transparent; box-shadow: none; }
#fw-content #fw-workshops .fw-schedule-title { display: flex; align-items: center; gap: 18px; margin: 0 0 22px; color: var(--u-ink); font-family: var(--u-serif); font-size: clamp(32px, 3.6vw, 50px); font-weight: 400; letter-spacing: -0.03em; line-height: 1.05; }
#fw-content #fw-workshops .fw-schedule-title::before { content: ""; flex: 0 0 34px; width: 34px; height: 1px; background: var(--u-gold-deep); }
#fw-content #fw-workshops .fw-table-wrap { overflow-x: auto; border: 1px solid var(--u-line); border-radius: 2px; background: var(--u-paper); }
#fw-content #fw-workshops .fw-table { width: 100%; border-collapse: collapse; font-size: var(--u-fs-15); }
#fw-content #fw-workshops .fw-table th { padding: 14px 18px; border-bottom: 1px solid var(--u-line-strong); color: var(--u-muted); font-family: var(--u-sans); font-size: 12px; font-weight: 800; letter-spacing: 0.18em; text-align: left; text-transform: uppercase; background: transparent; }
#fw-content #fw-workshops .fw-table td { padding: 16px 18px; border-bottom: 1px solid var(--u-line); vertical-align: top; color: var(--u-text); line-height: 1.5; }
#fw-content #fw-workshops .fw-table tbody tr:last-child td { border-bottom: 0; }
#fw-content #fw-workshops .fw-table td::before { display: none; }
#fw-content #fw-workshops .fw-workshop-name { color: var(--u-ink); font-weight: 700; text-decoration: underline; text-decoration-color: var(--u-gold); text-underline-offset: 4px; }
#fw-content #fw-workshops .fw-workshop-info, #fw-content #fw-workshops .fw-workshop-details { color: var(--u-muted); font-size: var(--u-fs-13); }
#fw-content #fw-workshops .fw-cell-value { font-weight: 600; color: var(--u-ink); }
#fw-content #fw-workshops .fw-workshop-badge, #fw-content #fw-workshops [class*="fw-status--"] { display: inline-flex; align-items: center; min-height: 28px; padding: 3px 11px; border: 1px solid var(--u-line-strong); border-radius: 999px; background: transparent; color: var(--u-text); font-size: var(--u-fs-11); font-weight: 700; letter-spacing: 0.08em; text-transform: uppercase; }
#fw-content #fw-workshops .fw-workshop-badge--open { border-color: #5d8a4c; color: #35602a; }
#fw-content #fw-workshops .fw-workshop-badge--full, #fw-content #fw-workshops .fw-workshop-badge--past { color: var(--u-muted); }
#fw-content #fw-workshops .fw-workshop-action a { display: inline-flex; align-items: center; min-height: 36px; padding: 0 14px; border: 1px solid var(--u-night); border-radius: 0; background: var(--u-night); color: var(--u-ivory); font: 800 12px/1.3 var(--u-sans); letter-spacing: 0.14em; text-transform: uppercase; text-decoration: none; }
#fw-content #fw-workshops .fw-workshop-noscript { margin: 16px 0 0; color: var(--u-muted); font-size: var(--u-fs-14); }
#fw-content #fw-workshops .fw-download { display: flex; align-items: center; justify-content: space-between; gap: 18px; width: 100%; min-height: 0; margin: 26px 0 0; padding: 22px 26px; border: 1px solid var(--u-line); border-radius: 2px; background: var(--u-paper); color: var(--u-ink); font-family: var(--u-serif); font-size: clamp(20px, 2vw, 26px); font-weight: 500; letter-spacing: -0.01em; text-decoration: none; box-shadow: none; transition: transform 200ms ease, border-color 200ms ease; }
#fw-content #fw-workshops .fw-download:hover { transform: translateY(-3px); border-color: var(--u-gold); }
#fw-content #fw-workshops .fw-download-icon { display: grid; place-items: center; flex: none; width: 44px; height: 44px; border-radius: 50%; background: var(--u-night); color: var(--u-ivory); }
#fw-content #fw-workshops .fw-download-icon svg { width: 18px; height: 18px; }
@media (max-width: 1000px) { #fw-content #fw-workshops .fw-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } #fw-content #fw-workshops .fw-title-lockup::after { display: none; } }
@media (max-width: 760px) {
  #fw-content #fw-workshops .fw-grid { grid-template-columns: minmax(0, 1fr); gap: 18px; }
  #fw-content #fw-workshops .fw-table thead { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); }
  #fw-content #fw-workshops .fw-table tr { display: block; padding: 8px 0; border-bottom: 1px solid var(--u-line); }
  #fw-content #fw-workshops .fw-table td { display: flex; gap: 12px; padding: 8px 16px; border: 0; }
  #fw-content #fw-workshops .fw-table td::before { display: block; flex: 0 0 5.5em; content: attr(data-label); color: var(--u-muted); font-size: 12px; font-weight: 800; letter-spacing: 0.14em; text-transform: uppercase; line-height: 2; }
  #fw-content #fw-workshops .fw-table td:first-child::before { content: none; }
  #fw-content #fw-workshops .fw-jump { width: 100%; }
}

/* ============================================================
   KUNDENPORTAL (#fw-kundenportal)
   ============================================================ */
#fw-content #fw-kundenportal { margin: 0; padding: 0; }
#fw-content #fw-kundenportal .fw-kundenportal__karte { position: relative; margin: 0; padding-top: clamp(64px, 8vw, 110px); padding-bottom: clamp(64px, 8vw, 110px); border: 0; border-radius: 0; background: var(--u-night); color: var(--u-ivory); box-shadow: none; overflow: hidden; }
#fw-content #fw-kundenportal .fw-kundenportal__karte::after { content: ""; position: absolute; right: -140px; top: -160px; width: 520px; height: 520px; border: 1px solid rgba(255, 255, 255, 0.07); border-radius: 50%; pointer-events: none; }
#fw-content #fw-kundenportal .fw-kundenportal__karte::before { content: ""; position: absolute; right: 120px; bottom: -220px; width: 420px; height: 420px; border: 1px solid rgba(97, 211, 208, 0.16); border-radius: 50%; pointer-events: none; }
#fw-content #fw-kundenportal .fw-kundenportal__status, #fw-content #fw-kundenportal .fw-kundenportal__zeichen { display: none !important; }
#fw-content #fw-kundenportal .fw-kundenportal__inhalt { position: relative; z-index: 1; display: block; width: min(100%, var(--u-wrap)); margin: 0 auto; padding: 0; }
#fw-content #fw-kundenportal .fw-kundenportal__text { max-width: 760px; }
#fw-content #fw-kundenportal .fw-kundenportal__marke { display: flex; align-items: center; gap: 12px; margin: 0 0 22px; color: var(--u-aqua); font-size: var(--u-fs-11); font-weight: 800; letter-spacing: 0.21em; text-transform: uppercase; }
#fw-content #fw-kundenportal .fw-kundenportal__marke::before { content: ""; flex: 0 0 26px; width: 26px; height: 1px; background: currentColor; }
#fw-content #fw-kundenportal h1 { margin: 0 0 22px; color: #fff; font-family: var(--u-serif); font-size: clamp(40px, 5.2vw, 70px); font-weight: 400; letter-spacing: -0.03em; line-height: 1.04; }
#fw-content #fw-kundenportal .fw-kundenportal__text > p:not(.fw-kundenportal__marke):not(.fw-kundenportal__hinweis) { margin: 0 0 26px; color: rgba(242, 238, 229, 0.86); font-size: clamp(16px, 1.2vw, 19px); line-height: 1.7; }
#fw-content #fw-kundenportal .fw-kundenportal__button { display: inline-flex; align-items: center; justify-content: space-between; gap: 18px; min-height: 54px; padding: 0 12px 0 22px; border: 1px solid var(--u-ivory); border-radius: 0; background: var(--u-ivory); color: var(--u-night) !important; box-shadow: none; font: 800 12px/1.3 var(--u-sans); letter-spacing: 0.14em; text-transform: uppercase; text-decoration: none; transition: background 180ms ease, transform 180ms ease; }
#fw-content #fw-kundenportal .fw-kundenportal__button::after { content: "\2197"; display: grid; place-items: center; width: 32px; height: 32px; border-radius: 50%; background: var(--u-night); color: #fff; font-size: var(--u-fs-15); letter-spacing: 0; }
#fw-content #fw-kundenportal .fw-kundenportal__button:hover { background: var(--u-gold); border-color: var(--u-gold); transform: translateY(-2px); }
#fw-content #fw-kundenportal .fw-kundenportal__hinweis { margin: 22px 0 0; max-width: 600px; color: rgba(242, 238, 229, 0.72); font-size: var(--u-fs-14); line-height: 1.6; }
@media (max-width: 600px) { #fw-content #fw-kundenportal .fw-kundenportal__button { width: 100%; } }
/* Linien-Icons ohne eigene Attribute (ehemals per Inline-CSS gesetzt) */
.u-page :is(.fdwe-arrow, .fdwp-button, .fdwp-print-button, .fdwp-image-button__hint, .fdwp-lightbox__close, .fdwp-lightbox__controls button, .fdwb-button, .fdwb-print-button, .fdwb-image-button__hint, .fdwb-lightbox__close, .fdwb-lightbox__controls button, .fdwb-info-note) svg { fill: none; stroke: currentColor; stroke-width: 2; stroke-linecap: round; stroke-linejoin: round; }
.u-page :is(.fdwp-lightbox__close, .fdwb-lightbox__close) svg { width: 20px; height: 20px; }
.u-page :is(.fdwp-lightbox__controls, .fdwb-lightbox__controls) button svg { width: 16px; height: 16px; }
#fw-content #fw-bildoptimierung .fw-offer-badge { font-family: var(--u-sans); font-size: 12px; font-weight: 800; letter-spacing: 0.18em; text-transform: uppercase; gap: 2px; }
#fw-content #fw-bildoptimierung .fw-offer-badge span { margin: 0; color: var(--u-night); font-family: var(--u-serif); font-size: 40px; font-weight: 400; letter-spacing: -0.02em; line-height: 1; text-transform: none; }
#fw-content #fw-kundenportal .fw-kundenportal__button svg { display: none; }
#fw-content #fw-kundenportal .fw-kundenportal__button { white-space: nowrap; overflow-wrap: normal; }
#fw-content #fw-workshops .fw-jump { white-space: nowrap; }
.u-page :is(.u-btn, .fdwp-button, .fdwb-button, .fw-button, .fdwp-cta) { overflow-wrap: normal; }

/* ============================================================
   FLIESSENDE BREITE: große Monitore
   ============================================================ */
.u-lead, .u-section__head p, .u-note { max-width: 62ch; }
.u-page .u-hero .u-lead { max-width: 56ch; }
#fw-content #fdw-preise .compact-model-facts dd, #fw-content #fdw-preise .fdwp-mehr, #fw-content #fdw-preise .fdwp-preishinweis-flexibel { max-width: 68ch; }
#fw-content #fdw-faq .compact-faq-answer { max-width: 78ch; }
#fw-content #fdw-private-events-paper .fdwp-story__copy p, #fw-content #fdw-business-events .fdwb-service__copy > p { max-width: 70ch; }
@media (min-width: 1001px) { #fw-content #foto-termin-tool .u-contact-layout { grid-template-columns: minmax(0, 0.8fr) minmax(0, 1.2fr); } #fw-content #foto-termin-tool form { max-width: 1040px; } }
@media (min-width: 1700px) {
  .u-page { --u-fs-11: 12.5px; --u-fs-13: 15px; --u-fs-14: 15px; --u-fs-15: 16px; --u-fs-16: 17px; --u-fs-17: 18px; }
  .u-page h1, #fw-content #fw-preise-page .fw-page-heading, #fw-content #fdw-events .fdwe-title, #fw-content #fdw-private-events-paper .fdwp-hero h1, #fw-content #fdw-business-events .fdwb-hero h1, #fw-content #fw-bildoptimierung h1, #fw-content #fw-workshops #fw-page-title, #fw-content #fw-kundenportal h1 { font-size: clamp(64px, 4.6vw, 92px); }
  .u-page h2, #fw-content #fdw-preise .fdwp-titel, #fw-content #fw-preise-page .fw-promotions > h2, #fw-content #fw-bildoptimierung h2, #fw-content #fw-workshops .fw-schedule-title { font-size: clamp(44px, 2.9vw, 58px); }
  .u-hero__inner, .u-band__inner { gap: clamp(60px, 6vw, 140px); }
  .u-card, #fw-content #fdw-preise .fdwp-modell, #fw-content #fdw-private-events-paper .fdwp-story__inner, #fw-content #fdw-business-events .fdwb-service__body { padding: clamp(30px, 2.4vw, 48px); }
  #fw-content #fdwm-page-07 .fdwm-grid, #fw-content #fw-workshops .fw-grid { gap: 32px; }
  #fw-content #fdwm-page-07 .fdwm-card img { aspect-ratio: 16 / 10; }
  #fw-content #fdw-events .fdwe-visual { aspect-ratio: 2 / 1; }
  #fw-content #fw-preise-page .fw-promotion-banners { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  #fw-content #fw-preise-page .fw-promotion-banner:first-child { grid-column: auto; }
  #fw-content #fdw-faq .compact-faq-groups { display: block; column-count: 2; column-gap: clamp(48px, 4.5vw, 100px); }
  #fw-content #fdw-faq .compact-faq-group { break-inside: avoid; margin: 0 0 clamp(28px, 3vw, 48px); }
}
@media (min-width: 2200px) {
  .u-page { --u-fs-11: 13px; --u-fs-13: 15.5px; --u-fs-14: 16px; --u-fs-15: 17px; --u-fs-16: 18px; --u-fs-17: 19px; }
}

/* ============================================================
   AKZENTE: Gold-Linien zu allen Kickern, Bordeaux-Details, Lesbarkeit
   ============================================================ */
.u-page .u-kicker::before, .u-page :is(.fdwp-kicker, .fdwb-kicker, .fdwp-banderole, .fdwp-mini, .fw-eyebrow, .fw-kicker, .fdwe-choice-label, .fdwp-eyebrow, .fdwb-eyebrow, .fdwe-kicker, .fw-title-script, .fw-kundenportal__marke, .fw-final-inner > p)::before { background: var(--u-gold-deep); }
.u-page :is(.u-hero, .u-band, .u-dark, .fdwp-hero, .fdwp-final-cta, .fdwb-hero, .fdwb-final-cta, .fdwe-intro, .fw-hero, .fw-process, .fw-title-lockup, .fw-kundenportal__karte) :is(.u-kicker, .fdwp-kicker, .fdwb-kicker, .fw-eyebrow, .fdwp-eyebrow, .fdwb-eyebrow, .fdwe-kicker, .fw-title-script, .fw-kundenportal__marke)::before { background: var(--u-gold); }
.u-band strong.u-serif em, .u-band h2 em, #fw-content #fdw-preise .fdwp-abschluss strong em, #fw-content #fdw-private-events-paper .fdwp-final-cta h2 em, #fw-content #fdw-business-events .fdwb-final-cta h2 em { color: var(--u-gold); font-style: italic; }
.u-page .u-hero .u-lead, .u-page .u-band p { color: rgba(242, 238, 229, 0.9); }
#fw-content #fw-preise-page .fw-promotion-banner-caption > span, #fw-content #fdwm-page-07 .fdwm-card-copy > span:last-child, #fw-content #fw-workshops .fw-card-caption span { color: var(--u-wine); }
#fw-content #foto-termin-tool .required-note strong, #fw-content #foto-termin-tool label .required { color: var(--u-wine); }
#fw-content #fdw-faq .compact-faq-item > summary:hover::after, #fw-content #fw-bildoptimierung .fw-faq-list summary:hover::after, #fw-content #fdw-preise .compact-compass > summary:hover::after { border-color: var(--u-gold-deep); color: var(--u-wine); }
#fw-content #fdw-preise .fdwp-download:hover .fdwp-download-pfeil, #fw-content #fdw-events .fdwe-card:hover .fdwe-arrow, #fw-content #fw-workshops .fw-card:hover .fw-card-arrow { background: var(--u-wine); }
.u-page .u-tag--gold { color: var(--u-gold-text) !important; }
#fw-content #fw-workshops .fw-workshop-badge--full, #fw-content #fw-workshops .fw-workshop-badge--past { border-color: rgba(122, 31, 43, 0.35); color: var(--u-wine); }
.u-page .u-kicker, .u-page :is(.fdwp-kicker, .fdwb-kicker, .fdwp-banderole, .fdwp-mini, .fw-eyebrow, .fw-kicker, .fdwe-choice-label, .fdwe-eyebrow) { letter-spacing: 0.18em; }

/* ============================================================
   KUNDENPORTAL – Entwurf B „Blaues Band“ (ersetzt die Nachtblau-Fassung)
   ============================================================ */
#fw-content #fw-kundenportal { --kp-sky: #eaf3f7; --kp-mist: #d6e8f0; --kp-pale: #f6fafc; --kp-navy: #004062; --kp-teal: #0b5d7c; --kp-teal2: #2f7e8d; --kp-ink: #16242c; --kp-text: #2e444c; --kp-muted: #4d5b61; --kp-line: #c7dbe4; --kp-gold: #d8b66b; }
#fw-content #fw-kundenportal .fw-kundenportal__karte { padding: 0; background: var(--kp-sky); color: var(--kp-text); }
#fw-content #fw-kundenportal .fw-kundenportal__karte::before, #fw-content #fw-kundenportal .fw-kundenportal__karte::after { display: none; }
#fw-content #fw-kundenportal .kp-band { position: relative; padding: clamp(48px, 6vw, 84px) max(var(--u-gutter), calc((100% - var(--u-wrap)) / 2)) clamp(44px, 5.5vw, 76px); background: linear-gradient(110deg, var(--kp-navy) 0%, var(--kp-teal) 55%, var(--kp-teal2) 100%); color: #fff; overflow: hidden; }
#fw-content #fw-kundenportal .kp-band::after { content: ""; position: absolute; right: -160px; top: -200px; width: 560px; height: 560px; border: 1px solid rgba(255, 255, 255, 0.14); border-radius: 50%; }
#fw-content #fw-kundenportal .kp-band > * { position: relative; z-index: 1; }
#fw-content #fw-kundenportal .fw-kundenportal__marke { color: var(--kp-gold); }
#fw-content #fw-kundenportal .fw-kundenportal__marke::before { background: var(--kp-gold); }
#fw-content #fw-kundenportal h1 { color: #fff; margin-bottom: 14px; }
#fw-content #fw-kundenportal .kp-band p.kp-lead { max-width: 60ch; margin: 0; color: rgba(255, 255, 255, 0.9); font-size: clamp(16px, 1.2vw, 19px); line-height: 1.7; }
#fw-content #fw-kundenportal .kp-grid { display: grid; grid-template-columns: minmax(0, 1.1fr) minmax(0, 0.9fr); gap: 26px; width: min(calc(100% - 2 * var(--u-gutter)), var(--u-wrap)); margin: -34px auto 0; padding: 0 0 clamp(56px, 7vw, 96px); }
#fw-content #fw-kundenportal .kp-card { padding: clamp(24px, 3vw, 40px); background: #fff; border: 1px solid var(--kp-line); border-radius: 2px; box-shadow: 0 30px 60px -40px rgba(0, 64, 98, 0.35); }
#fw-content #fw-kundenportal .kp-card h2 { margin: 0 0 18px; color: var(--kp-navy); font-family: var(--u-serif); font-size: clamp(26px, 2.4vw, 34px); font-weight: 400; letter-spacing: -0.02em; line-height: 1.1; }
#fw-content #fw-kundenportal .kp-list { margin: 0; padding: 0; list-style: none; display: grid; gap: 0; }
#fw-content #fw-kundenportal .kp-list li { display: flex; gap: 14px; align-items: flex-start; padding: 14px 0; border-top: 1px solid var(--kp-line); font-size: 16px; line-height: 1.55; color: var(--kp-text); }
#fw-content #fw-kundenportal .kp-list li:last-child { border-bottom: 1px solid var(--kp-line); }
#fw-content #fw-kundenportal .kp-list svg { flex: none; width: 22px; height: 22px; margin-top: 2px; color: var(--kp-teal2); fill: none; stroke: currentColor; stroke-width: 2; stroke-linecap: round; stroke-linejoin: round; }
#fw-content #fw-kundenportal .kp-list strong { display: block; color: var(--kp-ink); font-weight: 700; }
#fw-content #fw-kundenportal .kp-login { background: var(--kp-navy); color: #fff; border-color: var(--kp-navy); }
#fw-content #fw-kundenportal .kp-login h2 { color: #fff; }
#fw-content #fw-kundenportal .kp-login .kp-lock { display: grid; place-items: center; width: 56px; height: 56px; margin: 0 0 18px; border-radius: 50%; background: rgba(255, 255, 255, 0.1); border: 1px solid rgba(255, 255, 255, 0.25); color: var(--kp-gold); }
#fw-content #fw-kundenportal .kp-login .kp-lock svg { width: 24px; height: 24px; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
#fw-content #fw-kundenportal .kp-login p { margin: 0 0 22px; color: rgba(255, 255, 255, 0.86); font-size: 15px; line-height: 1.65; }
#fw-content #fw-kundenportal .fw-kundenportal__button { background: #fff; border-color: #fff; color: var(--kp-navy) !important; }
#fw-content #fw-kundenportal .fw-kundenportal__button::after { background: var(--kp-navy); color: #fff; }
#fw-content #fw-kundenportal .fw-kundenportal__button:hover { background: var(--kp-gold); border-color: var(--kp-gold); }
#fw-content #fw-kundenportal .fw-kundenportal__hinweis { margin-top: 18px; color: rgba(255, 255, 255, 0.7); font-size: 13px; }
@media (max-width: 900px) { #fw-content #fw-kundenportal .kp-grid { grid-template-columns: minmax(0, 1fr); margin-top: 0; padding-top: 26px; } }
#fw-content #fw-kundenportal .fw-kundenportal__marke { color: var(--kp-gold); }
#fw-content #fw-kundenportal h1 { color: #fff; margin-bottom: 14px; }
#fw-content #fw-kundenportal .kp-band .fw-kundenportal__marke::before { background: var(--kp-gold); }
#fw-content #fw-kundenportal .kp-list li { max-width: none; }

/* Mobil: Kontaktformular und Karten */
@media (max-width: 760px) {
  #fw-content #foto-termin-tool .u-contact-layout { gap: 26px; }
  #fw-content #foto-termin-tool fieldset, #fw-content #foto-termin-tool .ft-appointment-option, #fw-content #foto-termin-tool .privacy { padding: 18px 16px; }
  #fw-content #foto-termin-tool legend { font-size: 26px; margin-bottom: 16px; }
  #fw-content #foto-termin-tool .u-contact-copy .u-note { margin-top: 18px; }
  #fw-content #foto-termin-tool .fdwm-contact-direct strong { font-size: 19px; }
  #fw-content #foto-termin-tool :is(input:not([type=checkbox]):not([type=hidden]), select, textarea) { font-size: 16px; }
  #fw-content #foto-termin-tool .u-submit { margin-top: 18px; }
}
@media (max-width: 600px) { #fw-content #fdw-business-events .fdwb-eyebrow span::after, #fw-content #fdw-private-events-paper .fdwp-eyebrow span::after { content: none; } #fw-content #fdw-business-events .fdwb-eyebrow span, #fw-content #fdw-private-events-paper .fdwp-eyebrow span { display: none; } }

/* ============================================================
   Marine & Verlauf statt Nachtblau · 09.10.2026
   Nur dunkle Flächen: Marine #004062, Petrol #0b5d7c, Verlauf 110° bis #2f7e8d.
   Helle Hintergründe (Elfenbein/Sand) bleiben unverändert warm.
   ============================================================ */
#fw-content .u-page .u-hero,
#fw-content .u-page .u-band,
#fw-content #fdw-preise .fdwp-abschluss,
#fw-content #fdw-events .fdwe-intro,
#fw-content #fdw-private-events-paper .fdwp-hero,
#fw-content #fdw-private-events-paper .fdwp-final-cta,
#fw-content #fdw-business-events .fdwb-hero,
#fw-content #fdw-business-events .fdwb-final-cta,
#fw-content #fw-bildoptimierung .fw-hero,
#fw-content #fw-bildoptimierung .fw-process,
#fw-content #fw-workshops .fw-title-lockup { background: var(--u-grad); }

/* Lesbarkeit auf dem Verlauf: Fließtext deckender, Aqua/Gold-Kleintext aufgehellt */
#fw-content #fw-kundenportal .kp-band { background: var(--u-grad); }
#fw-content #fw-kundenportal .kp-band .fw-kundenportal__marke { color: #f3e0b5; }
#fw-content .u-page .u-hero .u-kicker, #fw-content .u-page .u-band .u-kicker,
#fw-content #foto-termin-tool .fdwm-contact-direct a > span,
#fw-content #fdw-events .fdwe-intro .fdwe-kicker,
#fw-content #fdw-private-events-paper .fdwp-final-cta .fdwp-kicker,
#fw-content #fdw-private-events-paper .fdwp-hero .fdwp-eyebrow,
#fw-content #fdw-business-events .fdwb-hero .fdwb-eyebrow,
#fw-content #fdw-business-events .fdwb-impact__label,
#fw-content #fdw-business-events .fdwb-final-cta .fdwb-kicker { color: #a6ece9; }
#fw-content #fdw-events .fdwe-intro-copy,
#fw-content #fdw-private-events-paper .fdwp-hero__text,
#fw-content #fdw-business-events .fdwb-impact__item p,
#fw-content #fw-bildoptimierung .fw-photo-mail-hint,
#fw-content #fw-bildoptimierung .fw-caption p,
#fw-content #fw-bildoptimierung .fw-note,
#fw-content #fw-bildoptimierung .fw-process-list p,
#fw-content .u-page .u-hero .compact-contact-address p,
#fw-content .u-page .u-hero p { color: rgba(242, 238, 229, 0.96); }
#fw-content .u-page .u-hero p.u-kicker { color: #a6ece9; }

/* Preise & Rabatte · Nachtrag 11.10.2026: Hinweise im klassischen Preismodell farbig hervorgehoben; Trennstriche; Fotoworkshops und Bildoptimierung jeweils seitenbreit */
#fw-content #fdw-preise .fdwp-zusatz { position: relative; grid-template-columns: minmax(0, 1fr); gap: clamp(48px, 5vw, 64px); margin-top: clamp(40px, 5vw, 56px); padding-top: clamp(40px, 5vw, 56px); border-top: 1px solid var(--u-line-strong); }
#fw-content #fdw-preise .fdwp-zusatz::before, #fw-content #fdw-preise .fdwp-zusatzkarte + .fdwp-zusatzkarte::after { content: ""; position: absolute; left: 0; top: -2px; width: 72px; height: 3px; background: var(--u-gold); }
#fw-content #fdw-preise .fdwp-zusatzkarte + .fdwp-zusatzkarte { position: relative; }
#fw-content #fdw-preise .fdwp-zusatzkarte + .fdwp-zusatzkarte::before { content: ""; position: absolute; left: -1px; right: -1px; top: calc(clamp(48px, 5vw, 64px) / -2 - 1px); height: 1px; background: var(--u-line-strong); }
#fw-content #fdw-preise .fdwp-zusatzkarte + .fdwp-zusatzkarte::after { left: -1px; top: calc(clamp(48px, 5vw, 64px) / -2 - 2px); }
@media (min-width: 1001px) {
  #fw-content #fdw-preise .fdwp-zusatzkarte { display: grid; grid-template-columns: minmax(0, .85fr) minmax(0, 1.3fr) auto; grid-template-areas: "mini text link" "title text link"; column-gap: clamp(28px, 4vw, 64px); align-items: center; padding: 30px 34px; }
  #fw-content #fdw-preise .fdwp-zusatzkarte .fdwp-mini { grid-area: mini; align-self: end; }
  #fw-content #fdw-preise .fdwp-zusatzkarte h3 { grid-area: title; align-self: start; margin: 0; }
  #fw-content #fdw-preise .fdwp-zusatzkarte p { grid-area: text; margin: 0; }
  #fw-content #fdw-preise .fdwp-zusatzkarte a { grid-area: link; justify-self: end; white-space: nowrap; }
}

/* Klassisches Preismodell: vier Vorteile als einheitliche Kacheln mit Icon (2026-10-30.5) */
#fw-content #fdw-preise .fdwp-modell-klassisch { container-type: inline-size; container-name: fdwp-klassisch; }
#fw-content #fdw-preise .fdwp-badges { display: grid; grid-template-columns: minmax(0, 1fr); gap: 10px; margin: 0 0 24px; }
#fw-content #fdw-preise .fdwp-badge-row { display: contents; }
#fw-content #fdw-preise .fdwp-badges p { position: relative; display: flex; align-items: center; gap: 13px; min-height: 66px; margin: 0; padding: 12px 16px 12px 14px; border: 1px solid #004062; border-radius: 2px; background: var(--u-grad); box-shadow: inset 3px 0 0 var(--u-gold); color: var(--u-ivory); font-size: 14.5px; font-weight: 500; letter-spacing: 0; line-height: 1.35; text-align: left; text-transform: none; transform: none; overflow: hidden; }
#fw-content #fdw-preise .fdwp-badges p > span { display: block; white-space: pre-line; }
#fw-content #fdw-preise .fdwp-badges p > span::first-line { color: #fff; font-size: 15px; font-weight: 800; letter-spacing: 0.01em; }
#fw-content #fdw-preise .fdwp-badges .fdwp-ico { flex: none; box-sizing: border-box; width: 38px; height: 38px; padding: 8px; border: 1px solid rgba(216, 182, 107, 0.7); border-radius: 50%; background: rgba(216, 182, 107, 0.16); color: var(--u-gold); fill: none; stroke: currentColor; stroke-width: 1.7; stroke-linecap: round; stroke-linejoin: round; }
@container fdwp-klassisch (min-width: 540px) {
  #fw-content #fdw-preise .fdwp-badges { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@container fdwp-klassisch (max-width: 300px) {
  #fw-content #fdw-preise .fdwp-badges p { gap: 10px; min-height: 60px; padding: 10px 12px 10px 12px; font-size: 13.5px; }
  #fw-content #fdw-preise .fdwp-badges p > span::first-line { font-size: 14px; }
  #fw-content #fdw-preise .fdwp-badges .fdwp-ico { width: 32px; height: 32px; padding: 7px; }
}

/* ============================================================
   Gold als Akzent (30.10.2026) – nur Details
   Linien und Kanten: #ac8149 (auf Marine #d8b66b) · Text und Nummern auf Hell: #7d5f28
   ============================================================ */
.u-num { color: var(--u-gold-text); }
.u-page :is(p, li, dd) a:not([class]) { text-decoration-color: var(--u-gold-deep); text-decoration-thickness: 1px; text-underline-offset: 0.2em; }
.u-page :is(p, li, dd) a:not([class]):hover { text-decoration-color: currentColor; }
.u-link { text-decoration-color: var(--u-gold-deep); }
.u-hero .u-link, .u-band .u-link { text-decoration-color: var(--u-gold); }
.u-btn:hover::after, .u-btn:focus-visible::after { background: var(--u-gold); color: var(--u-night); }
.u-btn--light:hover::after, .u-btn--light:focus-visible::after { background: var(--u-night); color: #fff; }
.u-page .u-hero { box-shadow: inset 0 -1px 0 rgba(216, 182, 107, 0.65); }
.u-page .u-band { box-shadow: inset 0 1px 0 rgba(216, 182, 107, 0.65); }
.u-page .u-note { border-left-color: var(--u-gold-deep); }

/* Tippflächen: mindestens 44 px hoch */
#fw-content :is(.fdw-v3-scroll, .fdwb-print-button, .fdwp-print-button, .fdwb-image-button, .fdwp-image-button, .fdwb-final-cta__link, .fw-actions .fw-link, .u-link, .fdwp-details) { min-height: 44px; }
