/**
 * Exclusive Booking — Promotion-Code-Sektion im Booking Composer (ADR-119 §3.3).
 * Gold-akzentuiertes VIP-Fenster; schaltet den Composer sichtbar in den
 * exklusiven Modus, sobald ein gültiger Promotion-Code vorliegt.
 */
.ary-wj-exclusive {
  --wjx-gold: var(--ary-gold, #B6A27A);
  --wjx-gold-strong: var(--ar-color-secondary, #C9A84C);
  --wjx-line: var(--ar-color-card-border, rgba(182,162,122,.35));
  --wjx-bg: var(--ar-color-card-bg, #fffdf7);
  --wjx-text: var(--ar-color-text, #24302A);
  --wjx-muted: var(--ar-color-text-muted, #6b7b6f);
  position: relative;
  border: 1px solid var(--wjx-line);
  border-radius: 16px;
  background:
    linear-gradient(180deg, color-mix(in srgb, var(--wjx-gold) 10%, transparent), transparent 60%),
    var(--wjx-bg);
  padding: 18px 20px;
  margin: 0 0 28px;
  box-shadow: 0 6px 22px rgba(120,100,40,.08);
}
.ary-wj-exclusive.is-active {
  border-color: var(--wjx-gold-strong);
  box-shadow: 0 0 0 2px color-mix(in srgb, var(--wjx-gold-strong) 55%, transparent), 0 10px 30px rgba(120,100,40,.16);
}

.ary-wj-exclusive__head { display: flex; align-items: baseline; gap: 12px; flex-wrap: wrap; }
.ary-wj-exclusive__badge {
  display: inline-flex; align-items: center; gap: 6px;
  font-weight: 800; letter-spacing: .04em; text-transform: uppercase; font-size: .82rem;
  color: #4a3c12;
  background: linear-gradient(180deg, var(--wjx-gold), var(--wjx-gold-strong));
  padding: 6px 12px; border-radius: 999px;
}
.ary-wj-exclusive__lead { margin: 0; color: var(--wjx-muted); font-size: .95rem; flex: 1 1 260px; }

.ary-wj-exclusive__row { display: flex; gap: 10px; margin-top: 14px; flex-wrap: wrap; }
.ary-wj-exclusive__input {
  flex: 1 1 220px; min-width: 0;
  padding: 12px 14px; border: 1px solid var(--wjx-line); border-radius: 10px;
  background: #fff; color: #24302A; font-size: 1.05rem; letter-spacing: .08em; text-transform: uppercase;
}
.ary-wj-exclusive__input:focus-visible { outline: 3px solid color-mix(in srgb, var(--wjx-gold-strong) 45%, transparent); outline-offset: 2px; }
.ary-wj-exclusive__btn {
  appearance: none; cursor: pointer; white-space: nowrap;
  padding: 12px 20px; border: 1px solid transparent; border-radius: 10px;
  font-weight: 700; font-size: .98rem; color: #241d06;
  background: linear-gradient(180deg, var(--wjx-gold), var(--wjx-gold-strong));
  transition: filter .15s ease, opacity .15s ease;
}
.ary-wj-exclusive__btn:hover { filter: brightness(1.06); }
.ary-wj-exclusive__btn:disabled { opacity: .55; cursor: not-allowed; }

.ary-wj-exclusive__result { margin-top: 12px; font-size: .95rem; min-height: 1.2em; }
.ary-wj-exclusive__result .ok { color: #2e7d32; font-weight: 700; }
.ary-wj-exclusive__result .err { color: #b3261e; font-weight: 600; }
.ary-wj-exclusive__result .pill {
  display: inline-flex; align-items: center; gap: 6px; margin-left: 8px;
  padding: 3px 10px; border-radius: 999px; font-size: .82rem; font-weight: 700;
  background: color-mix(in srgb, var(--wjx-gold-strong) 18%, transparent); color: #4a3c12;
}

/* Exklusiv-Modus: sichtbarer Gold-Rahmen um den ganzen Composer. */
.ary-ev-composer.ary-wj--exclusive #ary-wj-composer {
  border: 1px solid var(--ar-color-secondary, #C9A84C);
  border-radius: 16px; padding: 16px;
  box-shadow: 0 0 0 1px color-mix(in srgb, #C9A84C 30%, transparent);
}
.ary-ev-composer.ary-wj--exclusive .ary-wj-composer-form::before {
  content: "✦ " attr(data-exclusive-label);
  display: block; font-weight: 700; color: #8a6d1e; margin-bottom: 10px; letter-spacing: .02em;
}

/* Dark Mode */
body.ary-mode-dark .ary-wj-exclusive {
  --wjx-bg: var(--ar-color-card-bg, #233029);
  --wjx-text: #F4F2EC; --wjx-muted: #9fb3ad;
}
body.ary-mode-dark .ary-wj-exclusive__input { background: #1b2620; color: #F4F2EC; }
body.ary-mode-dark .ary-wj-exclusive__badge,
body.ary-mode-dark .ary-wj-exclusive__btn { color: #17201C; }

@media (prefers-reduced-motion: reduce) {
  .ary-wj-exclusive__btn { transition: none; }
}

/* ── Rabatt-Auswurf + 30-Minuten-Rückwärts-Uhr (alpha.556) ─────────────── */
.wjx-deal { margin-top: 14px; border-top: 1px dashed var(--wjx-line); padding-top: 16px; }
.wjx-deal-main { display: flex; align-items: center; gap: 16px; flex-wrap: wrap; }
.ary-wj-exclusive .wjx-deal-pct {
  font-weight: 900; font-size: clamp(2rem, 5vw, 2.8rem); line-height: 1; color: #b3261e;
  letter-spacing: -.02em; text-shadow: 0 2px 0 rgba(179,38,30,.12);
}
.wjx-deal-save { font-size: 1.05rem; color: var(--wjx-text); }
.ary-wj-exclusive .wjx-deal-save b { color: #b3261e; font-size: 1.35rem; font-weight: 900; }
.wjx-deal-total { display: flex; align-items: baseline; gap: 12px; margin-top: 10px; flex-wrap: wrap; }
.wjx-deal-total .old { color: var(--wjx-muted); text-decoration: line-through; font-size: 1.05rem; }
.ary-wj-exclusive .wjx-deal-total .new { font-size: clamp(1.4rem, 4vw, 1.9rem); font-weight: 900; color: var(--wjx-gold-strong); }
.ary-wj-exclusive .wjx-deal-note { margin: 12px 0 0; font-weight: 800; color: #8a6d1e; }

.wjx-clockwrap { display: flex; align-items: center; gap: 18px; margin-top: 16px; flex-wrap: wrap; }
.wjx-clock { position: relative; width: 150px; height: 150px; flex: none; }
.wjx-clock-globe {
  position: absolute; inset: 6px; border-radius: 50%;
  background: #0c0e0f url(../img/saw/tradler/golden-globe.gif) center / 120% no-repeat;
  box-shadow: 0 8px 22px rgba(0,0,0,.30), inset 0 0 34px rgba(0,0,0,.55);
}
.wjx-clock svg { position: absolute; inset: 0; width: 100%; height: 100%; overflow: visible; }
.wjx-face { fill: rgba(8,10,12,.30); stroke: rgba(233,176,75,.60); stroke-width: 2; }
.wjx-tick { stroke: rgba(255,240,200,.85); stroke-width: 2; }
.wjx-num {
  fill: #fff5df; font: 700 12px Arial, sans-serif; text-anchor: middle; dominant-baseline: central;
  paint-order: stroke; stroke: rgba(0,0,0,.5); stroke-width: .7px;
}
.wjx-h { stroke: #fff3d6; stroke-width: 4; stroke-linecap: round; }
.wjx-m { stroke: #ffe4a3; stroke-width: 3; stroke-linecap: round; }
.wjx-s { stroke: #e11d1d; stroke-width: 2.2; stroke-linecap: round; filter: drop-shadow(0 0 3px rgba(225,29,29,.75)); }
.wjx-cap { fill: #e8b04b; stroke: #3a2708; stroke-width: 1; }

.wjx-count { display: flex; flex-direction: column; }
.wjx-count b { font-size: clamp(1.8rem, 5vw, 2.3rem); font-weight: 900; color: var(--wjx-text); font-variant-numeric: tabular-nums; letter-spacing: .02em; }
.wjx-count span { color: var(--wjx-muted); font-size: .85rem; max-width: 180px; }

.wjx-deal.is-expired { opacity: .72; }
.wjx-deal.is-expired .wjx-deal-total .new,
.wjx-deal.is-expired .wjx-deal-save b { text-decoration: line-through; color: var(--wjx-muted); }
.wjx-deal.is-expired .wjx-deal-note { color: #b3261e; }

body.ary-mode-dark .wjx-deal-note { color: #e7c977; }

@media (max-width: 520px) { .wjx-clockwrap { gap: 12px; } }
