/* ww-buchen — Stil im Theme-Look. Alle Werte über Theme-CSS-Variablen. */

.ww-buchen-layout{display:grid;grid-template-columns:1fr;gap:var(--space-2xl)}
@media(min-width:1024px){.ww-buchen-layout{grid-template-columns:1.7fr 1fr;gap:var(--space-3xl);align-items:flex-start}}

.ww-buchen-layout__main .wp-content,
.ww-buchen-layout__main{max-width:none}
.ww-buchen-layout__main p:empty{display:none}

.ww-buchen-aside{position:relative}
.ww-buchen-aside__sticky{display:flex;flex-direction:column;gap:var(--space-lg)}
@media(min-width:1024px){.ww-buchen-aside__sticky{position:sticky;top:calc(var(--header-height,72px) + var(--space-lg))}}

.ww-buchen-aside__card{background:linear-gradient(135deg,var(--brand-900) 0%,var(--brand-800) 60%,#2a4a6e 100%);color:var(--white);border-radius:var(--radius-xl);padding:var(--space-xl) var(--space-xl) var(--space-lg);box-shadow:var(--shadow-lg);position:relative;overflow:hidden}
.ww-buchen-aside__card::after{content:'';position:absolute;inset:auto -40px -60px auto;width:200px;height:200px;background:radial-gradient(circle,rgba(249,115,22,.18),transparent 60%);pointer-events:none}
.ww-buchen-aside__head{margin-bottom:var(--space-md)}
.ww-buchen-aside__label{display:inline-block;font-size:var(--fs-xs);font-weight:var(--fw-semibold);letter-spacing:var(--ls-wide);text-transform:uppercase;color:var(--brand-300);margin-bottom:var(--space-xs)}
.ww-buchen-aside__title{font-size:var(--fs-xl);font-weight:var(--fw-extrabold);color:var(--white);line-height:1.2;margin:0}

.ww-buchen-aside__amounts{display:grid;grid-template-columns:auto 1fr;gap:.45rem 1.25rem;margin:0;font-size:var(--fs-sm);align-items:baseline}
.ww-buchen-aside__amounts dt{color:rgba(255,255,255,.72);font-weight:var(--fw-medium);margin:0}
.ww-buchen-aside__amounts dd{color:var(--white);text-align:right;margin:0;font-variant-numeric:tabular-nums}
.ww-buchen-aside__amounts dt.is-gross,
.ww-buchen-aside__amounts dd.is-gross{font-size:var(--fs-base);font-weight:var(--fw-extrabold);padding-top:.55rem;border-top:1px solid rgba(255,255,255,.18);margin-top:.4rem}
.ww-buchen-aside__amounts dd.is-gross{color:var(--white)}

.ww-buchen-aside__note{margin:var(--space-md) 0 0;font-size:var(--fs-xs);color:rgba(255,255,255,.78);line-height:var(--lh-normal)}

.ww-buchen-aside__bullets{background:var(--white);border:1px solid var(--slate-200);border-radius:var(--radius-xl);padding:var(--space-lg);display:flex;flex-direction:column;gap:var(--space-sm);box-shadow:var(--shadow-sm)}
.ww-buchen-aside__bullet{display:flex;gap:var(--space-sm);align-items:flex-start;font-size:var(--fs-sm);color:var(--slate-700);line-height:var(--lh-normal)}
.ww-buchen-aside__bullet svg{width:18px;height:18px;color:var(--emerald-600);flex-shrink:0;margin-top:3px}

/* FORM CARD */
.ww-buchen{font-family:var(--font-body)}
.ww-buchen__form{background:var(--white);border:1px solid var(--slate-200);border-radius:var(--radius-xl);padding:var(--space-2xl);box-shadow:var(--shadow-sm);gap:var(--space-xl)}
@media(max-width:639px){.ww-buchen__form{padding:var(--space-xl)}}

.ww-buchen__step{display:flex;flex-direction:column;gap:var(--space-md);padding-bottom:var(--space-lg);border-bottom:1px solid var(--slate-100)}
.ww-buchen__step:last-of-type{border-bottom:0;padding-bottom:0}
.ww-buchen__step-head{display:flex;align-items:center;gap:var(--space-sm)}
.ww-buchen__step-num{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:var(--radius-full);background:var(--brand-50);color:var(--brand-600);font-weight:var(--fw-bold);font-size:var(--fs-xs);font-family:var(--font-heading);flex-shrink:0;border:1.5px solid var(--brand-100)}
.ww-buchen__step-title{font-size:var(--fs-lg);font-weight:var(--fw-bold);color:var(--text-primary);margin:0;line-height:1.25}
.ww-buchen__step-hint{font-size:var(--fs-xs);color:var(--slate-500);margin:0}

/* SEGMENTED PRODUCT TOGGLE */
.ww-buchen-toggle{display:grid;grid-template-columns:1fr;gap:var(--space-sm);padding:6px;background:var(--brand-50);border:1px solid var(--brand-100);border-radius:var(--radius-xl)}
@media(min-width:540px){.ww-buchen-toggle{grid-template-columns:1fr 1fr}}
.ww-buchen-toggle__item{position:relative;display:flex;align-items:flex-start;gap:var(--space-sm);padding:var(--space-md) var(--space-md);background:transparent;border-radius:var(--radius-lg);cursor:pointer;transition:background var(--transition-fast),box-shadow var(--transition-fast);border:1px solid transparent}
.ww-buchen-toggle__item input{position:absolute;opacity:0;pointer-events:none}
.ww-buchen-toggle__radio{flex-shrink:0;width:18px;height:18px;border-radius:50%;border:2px solid var(--brand-300);background:var(--white);margin-top:2px;display:inline-block;position:relative;transition:all var(--transition-fast)}
.ww-buchen-toggle__item input:checked + .ww-buchen-toggle__radio{border-color:var(--emerald-600);background:var(--emerald-600);box-shadow:0 0 0 4px rgba(5,150,105,.15)}
.ww-buchen-toggle__item input:checked + .ww-buchen-toggle__radio::after{content:'';position:absolute;inset:3px;border-radius:50%;background:var(--white)}
.ww-buchen-toggle__copy{display:flex;flex-direction:column;gap:2px}
.ww-buchen-toggle__name{font-size:var(--fs-sm);font-weight:var(--fw-bold);color:var(--text-primary);line-height:1.25}
.ww-buchen-toggle__desc{font-size:var(--fs-xs);color:var(--slate-500);line-height:var(--lh-normal)}
.ww-buchen-toggle__item:hover{background:rgba(255,255,255,.6)}
.ww-buchen-toggle__item:has(input:checked){background:var(--white);border-color:var(--brand-200);box-shadow:0 4px 14px rgba(15,29,47,.06)}

/* PAYMENT CARDS */
.ww-buchen-pay{display:grid;grid-template-columns:1fr;gap:var(--space-sm)}
@media(min-width:540px){.ww-buchen-pay{grid-template-columns:1fr 1fr}}
.ww-buchen-pay__item{position:relative;display:flex;align-items:flex-start;gap:var(--space-sm);padding:var(--space-md);background:var(--white);border:1.5px solid var(--slate-200);border-radius:var(--radius-lg);cursor:pointer;transition:all var(--transition-fast)}
.ww-buchen-pay__item input{position:absolute;opacity:0;pointer-events:none}
.ww-buchen-pay__radio{flex-shrink:0;width:18px;height:18px;border-radius:50%;border:2px solid var(--slate-300);background:var(--white);margin-top:2px;display:inline-block;position:relative;transition:all var(--transition-fast)}
.ww-buchen-pay__item input:checked + .ww-buchen-pay__radio{border-color:var(--emerald-600);background:var(--emerald-600);box-shadow:0 0 0 4px rgba(5,150,105,.15)}
.ww-buchen-pay__item input:checked + .ww-buchen-pay__radio::after{content:'';position:absolute;inset:3px;border-radius:50%;background:var(--white)}
.ww-buchen-pay__copy{display:flex;flex-direction:column;gap:2px}
.ww-buchen-pay__name{font-size:var(--fs-sm);font-weight:var(--fw-bold);color:var(--text-primary)}
.ww-buchen-pay__desc{font-size:var(--fs-xs);color:var(--slate-500)}
.ww-buchen-pay__item:hover{border-color:var(--emerald-300)}
.ww-buchen-pay__item:has(input:checked){border-color:var(--emerald-500);background:var(--emerald-50)}

/* CHECKBOX GROUP */
.ww-buchen .form__checkbox-group{padding:var(--space-md) var(--space-lg);background:var(--slate-50);border:1px solid var(--slate-200)}
.ww-buchen .form__checkbox{align-items:flex-start;gap:.6rem;line-height:var(--lh-normal)}
.ww-buchen .form__checkbox a{color:var(--brand-600);text-decoration:underline;text-underline-offset:2px}
.ww-buchen .form__checkbox a:hover{color:var(--brand-800)}

/* REQUIRED MARK */
.ww-buchen .form__label abbr,
.ww-buchen [class$="step-title"] abbr{color:var(--accent-orange);text-decoration:none;border:none;font-weight:var(--fw-bold);cursor:help}

/* SUMMARY (inline within form, mobile fallback) */
.ww-buchen__summary{display:grid;grid-template-columns:1fr;gap:var(--space-md);padding:var(--space-lg);background:var(--brand-50);border:1px solid var(--brand-100);border-radius:var(--radius-xl)}
.ww-buchen__summary-line{margin:0;font-size:var(--fs-sm);color:var(--brand-700);font-weight:var(--fw-semibold)}
.ww-buchen__summary-amounts{display:grid;grid-template-columns:auto 1fr;gap:.4rem 1rem;margin:0;font-size:var(--fs-sm);align-items:baseline}
.ww-buchen__summary-amounts dt{margin:0;color:var(--slate-600)}
.ww-buchen__summary-amounts dd{margin:0;text-align:right;color:var(--text-primary);font-variant-numeric:tabular-nums}
.ww-buchen__summary-amounts dt.is-gross,
.ww-buchen__summary-amounts dd.is-gross{font-size:var(--fs-base);font-weight:var(--fw-extrabold);padding-top:.4rem;margin-top:.3rem;border-top:1px solid var(--brand-200);color:var(--brand-700)}
.ww-buchen__summary-amounts dd.is-gross{color:var(--brand-800)}
@media(min-width:1024px){.ww-buchen__summary{display:none}}

/* SUBMIT */
.ww-buchen__actions{display:flex;flex-direction:column;gap:var(--space-sm);align-items:stretch}
.ww-buchen__submit{align-self:stretch}
@media(min-width:540px){.ww-buchen__actions{flex-direction:row;align-items:center;justify-content:space-between;flex-wrap:wrap}.ww-buchen__submit{align-self:auto}}
.ww-buchen__legal{font-size:var(--fs-xs);color:var(--slate-500);margin:0;line-height:var(--lh-normal)}

/* SPINNER */
.ww-buchen__submit[disabled]{position:relative;opacity:.85}
.ww-buchen__submit[disabled]::after{content:'';width:16px;height:16px;border-radius:50%;border:2px solid currentColor;border-right-color:transparent;display:inline-block;margin-left:.6rem;animation:wwBuchenSpin .8s linear infinite;vertical-align:middle}
@keyframes wwBuchenSpin{to{transform:rotate(360deg)}}

/* HONEY-POT (visual safety) */
.ww-buchen__honey{position:absolute;left:-9999px;top:auto;width:1px;height:1px;overflow:hidden}
