/*
 * Archery booking page — light back-office direction (2026-10-04).
 * Same palette as the redesigned Admin and member profile: ink text, hairline
 * lines, wash ground, a compact green gradient hero, tinted selected states
 * (no solid dark-green chips) and one colour per step.
 * Loaded after archery-booking.css; every selector keeps its scope.
 */
/* Optional booking help uses the existing light palette; video downloads on demand. */
.eden-archery-booking [data-archery-tutorial-open][hidden],
.eden-archery-booking [data-tutorial-error][hidden] { display: none; }
.eden-archery-booking .ab-tutorial-entry {
    width: 100%; display: flex; align-items: center; gap: 16px; text-align: left;
    margin: 20px 0 0; padding: 16px 20px; border: 1px solid var(--rb-line);
    border-radius: 16px; background: #fff; color: var(--rb-ink); cursor: pointer;
    font: inherit; font-family: 'Prompt', sans-serif; font-synthesis: none;
}
.eden-archery-booking .ab-tutorial-entry:hover { border-color: var(--rb-green); background: var(--rb-green-tint); }
.eden-archery-booking .archery-booking-page .ab-tutorial-entry:not([hidden]) + .ab-progress { margin-top: 16px; }
.eden-archery-booking .ab-tutorial-poster { position: relative; flex: 0 0 60px; width: 60px; height: 80px; overflow: hidden; border-radius: 10px; background: var(--rb-green-tint); }
.eden-archery-booking .ab-tutorial-poster img { width: 100%; height: 100%; object-fit: cover; }
.eden-archery-booking .ab-tutorial-poster > svg { position: absolute; width: 26px; height: 26px; right: 4px; bottom: 4px; color: var(--rb-green-strong); background: #fff; border-radius: 50%; }
.eden-archery-booking .ab-tutorial-copy { display: grid; gap: 3px; flex: 1; min-width: 0; }
.eden-archery-booking .ab-tutorial-copy strong { font-size: 1rem; font-weight: 600; }
.eden-archery-booking .ab-tutorial-copy > span { color: var(--rb-text); font-size: .875rem; }
.eden-archery-booking .ab-tutorial-copy small { color: var(--rb-green-strong); font-size: .8125rem; font-variant-numeric: tabular-nums; }
.eden-archery-booking .ab-tutorial-action,
.eden-archery-booking .ab-tutorial-link { display: inline-flex; align-items: center; gap: 8px; color: var(--rb-green-strong); font-weight: 500; }
.eden-archery-booking .ab-tutorial-action svg,
.eden-archery-booking .ab-tutorial-link svg { width: 22px; height: 22px; flex: none; }
.eden-archery-booking .ab-tutorial-link { width: fit-content; min-height: 44px; margin: -4px 0 12px; padding: 6px 0; border: 0; background: transparent; font-family: 'Prompt', sans-serif; font-size: .875rem; cursor: pointer; text-decoration: underline; text-underline-offset: 4px; }
.eden-archery-booking :is(.ab-tutorial-entry, .ab-tutorial-link, .ab-tutorial-dialog button):focus-visible { outline: 2px solid var(--rb-green); outline-offset: 4px; }
.eden-archery-booking .ab-tutorial-dialog { width: min(580px, calc(100% - 24px)); max-height: calc(100dvh - 24px); margin: auto; padding: 0; border: 0; border-radius: 20px; background: #fff; color: var(--rb-ink); overflow: auto; font-family: 'Prompt', sans-serif; }
.eden-archery-booking .ab-tutorial-dialog::backdrop { background: rgba(24, 36, 30, .65); }
.eden-archery-booking .ab-tutorial-dialog-head { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 16px 20px; }
.eden-archery-booking .ab-tutorial-dialog h2 { margin: 0; font-size: 1.125rem; font-weight: 600; }
.eden-archery-booking .ab-tutorial-dialog-head p { margin: 4px 0 0; color: var(--rb-text); font-size: .8125rem; }
.eden-archery-booking .ab-tutorial-close { display: grid; place-items: center; width: 44px; height: 44px; flex: none; border: 0; border-radius: 50%; color: var(--rb-ink); background: var(--rb-wash); cursor: pointer; }
.eden-archery-booking .ab-tutorial-close svg { width: 24px; height: 24px; }
.eden-archery-booking .ab-tutorial-dialog video { display: block; width: 100%; height: min(65dvh, 640px); background: var(--rb-ink); object-fit: contain; }
.eden-archery-booking .ab-tutorial-dialog-foot { padding: 14px 20px; }
.eden-archery-booking .ab-tutorial-dialog-foot button { width: 100%; min-height: 46px; border: 0; border-radius: 12px; background: var(--rb-green); color: #fff; font: inherit; font-weight: 500; cursor: pointer; }
.eden-archery-booking .ab-tutorial-error { padding: 12px 20px; color: var(--rb-text); font-size: .875rem; }
.eden-archery-booking .ab-tutorial-error button { margin-left: 8px; min-height: 44px; background: none; color: var(--rb-green-strong); font: inherit; border: 0; text-decoration: underline; cursor: pointer; }
@media (max-width: 600px) {
    .eden-archery-booking .ab-tutorial-entry { gap: 12px; padding: 14px; }
    .eden-archery-booking .ab-tutorial-action { font-size: 0; gap: 0; }
    .eden-archery-booking .ab-tutorial-copy > span { font-size: .8125rem; }
    .eden-archery-booking .ab-tutorial-dialog-head { padding: 12px 16px; }
}
.eden-archery-booking {
    --rb-ink: #18241e;
    --rb-text: #46564d;
    --rb-muted: #6f7f76;
    --rb-line: #e3eae5;
    --rb-line-soft: #eef3ef;
    --rb-wash: #f6f9f7;
    --rb-green: #1f7a4d;
    --rb-green-strong: #166340;
    --rb-green-tint: #eaf5ef;
    --rb-amber: #a96d14;
    --rb-amber-tint: #fdf3e1;
    --rb-teal: #2b7f8f;
    --rb-teal-tint: #e6f1f4;
    --rb-hero: linear-gradient(140deg, #2b9a62 0%, #1f7a4d 45%, #145c3a 100%);
    --rb-card-shadow: 0 1px 2px rgba(24, 36, 30, .04), 0 8px 24px rgba(24, 36, 30, .05);
    --ab-forest-fill: var(--rb-hero);
    background: var(--rb-wash);
}
.eden-archery-booking .archery-booking-page { background: var(--rb-wash); color: var(--rb-ink); }

/* Hero: compact gradient card; the step bar overlaps its lower edge. */
.eden-archery-booking .archery-booking-page .archery-booking-intro {
    margin: 0;
    padding: clamp(24px, 3.4vw, 36px) clamp(22px, 3.6vw, 40px) clamp(52px, 5vw, 60px);
    border-radius: 24px;
    background:
        radial-gradient(60% 140% at 100% 0%, rgba(255, 255, 255, .16) 0%, rgba(255, 255, 255, 0) 62%),
        var(--rb-hero);
    box-shadow: 0 14px 34px rgba(20, 92, 58, .18);
}
.eden-archery-booking .archery-booking-page .archery-booking-intro h1 {
    margin-bottom: 8px;
    font-size: clamp(1.75rem, 1.4rem + 1.6vw, 2.5rem);
}
.eden-archery-booking .archery-booking-page .archery-booking-intro p { color: rgba(255, 255, 255, .88); font-size: 1rem; line-height: 1.65; }
.eden-archery-booking .archery-booking-page .ab-hero-facts { margin-top: 16px; }
.eden-archery-booking .archery-booking-page .ab-hero-facts li {
    border-color: rgba(255, 255, 255, .22);
    background: rgba(255, 255, 255, .14);
    backdrop-filter: blur(6px);
}
.eden-archery-booking .archery-booking-page .ab-hero-facts svg { stroke: #fff; }
.eden-archery-booking .archery-booking-page .ab-ring--5 { fill: #fff; }
.eden-archery-booking .archery-booking-page .ab-ring--4 { fill: rgba(255, 255, 255, .16); stroke: rgba(255, 255, 255, .45); }

/* Step bar: a white card with three equal steps. */
.eden-archery-booking .archery-booking-page .ab-progress {
    position: relative;
    z-index: 2;
    gap: 4px;
    max-width: none;
    margin: -30px clamp(12px, 3vw, 28px) 20px;
    padding: 6px;
    border: 1px solid var(--rb-line);
    border-radius: 18px;
    background: #fff;
    box-shadow: 0 10px 26px rgba(24, 36, 30, .08);
}
.eden-archery-booking .archery-booking-page .ab-progress-step::before { display: none; }
.eden-archery-booking .archery-booking-page .ab-progress-step a {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    min-height: 48px;
    padding: 6px 10px;
    border-radius: 13px;
    color: var(--rb-muted);
    font-size: .875rem;
    font-weight: 500;
    transition: background-color .2s var(--ab-ease), color .2s var(--ab-ease);
}
.eden-archery-booking .archery-booking-page .ab-progress-step a:hover { background: var(--rb-wash); }
.eden-archery-booking .archery-booking-page .ab-progress-dot {
    width: 28px;
    height: 28px;
    border: 1.5px solid var(--rb-line);
    background: #fff;
    color: var(--rb-muted);
    font-size: .8125rem;
}
.eden-archery-booking .archery-booking-page .ab-progress-step.is-current a { background: var(--rb-green-tint); color: var(--rb-green-strong); font-weight: 600; }
.eden-archery-booking .archery-booking-page .ab-progress-step.is-current .ab-progress-dot {
    border-color: var(--rb-green);
    background: var(--rb-green);
    box-shadow: none;
    color: #fff;
}
.eden-archery-booking .archery-booking-page .ab-progress-step.is-done a { color: var(--rb-green-strong); }
.eden-archery-booking .archery-booking-page .ab-progress-step.is-done .ab-progress-dot {
    border-color: transparent;
    background: var(--rb-green-tint);
    color: var(--rb-green-strong);
}

/* Cards */
.eden-archery-booking .archery-booking-page [data-ab-step],
.eden-archery-booking .archery-booking-page #archery-hold-panel {
    border: 1px solid var(--rb-line);
    border-radius: 20px;
    box-shadow: var(--rb-card-shadow);
}
.eden-archery-booking .archery-booking-page [data-ab-step] { gap: 24px; }
.eden-archery-booking .archery-booking-page .ab-step-head {
    align-items: center;
    padding-bottom: 18px;
    border-bottom: 1px solid var(--rb-line-soft);
}
.eden-archery-booking .archery-booking-page .ab-step-num {
    width: 40px;
    height: 40px;
    border-radius: 12px;
    background: var(--rb-green-tint);
    color: var(--rb-green-strong);
    font-size: 1rem;
    font-weight: 600;
}
.eden-archery-booking .archery-booking-page #ab-step-2 .ab-step-num { background: var(--rb-teal-tint); color: var(--rb-teal); }
.eden-archery-booking .archery-booking-page .ab-summary-head .ab-step-num { background: var(--rb-amber-tint); color: var(--rb-amber); }
.eden-archery-booking .archery-booking-page .ab-step-head h3,
.eden-archery-booking .archery-booking-page .ab-summary-head h2 { margin: 0 0 2px; color: var(--rb-ink); font-size: 1.1875rem; font-weight: 600; }
.eden-archery-booking .archery-booking-page .ab-step-head p { color: var(--rb-muted); font-size: .875rem; }
.eden-archery-booking .archery-booking-page .ab-label { color: var(--rb-ink); font-size: .9375rem; }
.eden-archery-booking .archery-booking-page .ab-field { gap: 12px; }

/* Age rule: one amber line, clearly a rule but not an alarm. */
.eden-archery-booking .archery-booking-page .ab-form > .archery-eligibility-notice {
    border-color: #f1dfbd;
    border-radius: 16px;
    background: var(--rb-amber-tint);
}
.eden-archery-booking .archery-booking-page .ab-form > .archery-eligibility-notice .archery-eligibility-notice__badge {
    border-radius: 12px;
    background: #fff;
    color: var(--rb-amber);
    box-shadow: inset 0 0 0 1px #f1dfbd;
}
.eden-archery-booking .archery-booking-page .ab-form > .archery-eligibility-notice strong { color: #6b4a10; }
.eden-archery-booking .archery-booking-page .ab-form > .archery-eligibility-notice p { color: #85652c; }

/* Calendar pill */
.eden-archery-booking .archery-booking-page .ab-calendar-field .archery-custom-control__trigger { border-color: var(--rb-line); color: var(--rb-green-strong); }
.eden-archery-booking .archery-booking-page .ab-calendar-field.is-outside .archery-custom-control__trigger {
    border-color: var(--rb-green);
    background: var(--rb-green-tint);
    color: var(--rb-green-strong);
}
.eden-archery-booking .archery-booking-page .ab-calendar-field.is-outside .archery-custom-control__trigger .archery-control-icon { color: var(--rb-green-strong); }

/* Choice chips: one selected language for dates, lengths, times and players. */
.eden-archery-booking .archery-booking-page .ab-date,
.eden-archery-booking .archery-booking-page .ab-package,
.eden-archery-booking .archery-booking-page .ab-time,
.eden-archery-booking .archery-booking-page .ab-player-option {
    border-color: var(--rb-line);
    background: #fff;
    color: var(--rb-ink);
}
.eden-archery-booking .archery-booking-page .ab-date { min-height: 76px; border-radius: 16px; }
.eden-archery-booking .archery-booking-page .ab-date:hover,
.eden-archery-booking .archery-booking-page .ab-package:hover,
.eden-archery-booking .archery-booking-page .ab-time:hover:not(:disabled),
.eden-archery-booking .archery-booking-page .ab-player-option:hover { border-color: #9fcdb3; background: #fbfdfc; }
.eden-archery-booking .archery-booking-page .ab-date-week,
.eden-archery-booking .archery-booking-page .ab-date-month,
.eden-archery-booking .archery-booking-page .ab-time-end,
.eden-archery-booking .archery-booking-page .ab-package-hours,
.eden-archery-booking .archery-booking-page .ab-package-length span { color: var(--rb-muted); }
.eden-archery-booking .archery-booking-page .ab-date[aria-checked="true"],
.eden-archery-booking .archery-booking-page .ab-package[aria-checked="true"],
.eden-archery-booking .archery-booking-page .ab-time[aria-checked="true"],
.eden-archery-booking .archery-booking-page .ab-player-option[aria-checked="true"] {
    border-color: var(--rb-green);
    background: var(--rb-green-tint);
    box-shadow: inset 0 0 0 1px var(--rb-green);
    color: var(--rb-green-strong);
}
.eden-archery-booking .archery-booking-page .ab-date[aria-checked="true"] .ab-date-week,
.eden-archery-booking .archery-booking-page .ab-date[aria-checked="true"] .ab-date-month,
.eden-archery-booking .archery-booking-page .ab-time[aria-checked="true"] .ab-time-end { color: var(--rb-green); }
.eden-archery-booking .archery-booking-page .ab-package { border-radius: 16px; }
.eden-archery-booking .archery-booking-page .ab-package-price { color: var(--rb-green-strong); }
.eden-archery-booking .archery-booking-page .ab-package-check { background: var(--rb-green); }
.eden-archery-booking .archery-booking-page .ab-time { border-radius: 14px; }
.eden-archery-booking .archery-booking-page .ab-time:disabled { border-color: var(--rb-line-soft); background: var(--rb-wash); color: #a3b0a8; }

/* Empty slot message spans the whole grid instead of one narrow cell. */
.eden-archery-booking .archery-booking-page .ab-time-grid > .ab-empty,
.eden-archery-booking .archery-booking-page .ab-package-grid > .ab-empty { grid-column: 1 / -1; }
.eden-archery-booking .archery-booking-page .ab-empty {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    gap: 10px 16px;
    padding: 14px 14px 14px 18px;
    border: 1px dashed #cfdcd4;
    border-radius: 16px;
    background: var(--rb-wash);
    color: var(--rb-text);
    font-size: .9375rem;
}
.eden-archery-booking .archery-booking-page .ab-empty button {
    min-height: 40px;
    padding: 6px 16px;
    border: 1px solid var(--rb-green);
    border-radius: 999px;
    background: #fff;
    color: var(--rb-green-strong);
}
.eden-archery-booking .archery-booking-page .ab-empty button:hover { background: var(--rb-green-tint); }

.eden-archery-booking .archery-booking-page #archery-status { border-color: var(--rb-line); background: var(--rb-wash); color: var(--rb-text); }

/* Players */
.eden-archery-booking .archery-booking-page .ab-party {
    border: 1px solid var(--rb-line);
    border-radius: 16px;
    background: var(--rb-wash);
}
.eden-archery-booking .archery-booking-page .ab-stepper { border-color: var(--rb-line); }
.eden-archery-booking .archery-booking-page .ab-stepper-btn { background: var(--rb-green-tint); color: var(--rb-green-strong); }
.eden-archery-booking .archery-booking-page .ab-staff-note {
    padding: 12px 16px;
    border: 0;
    border-radius: 14px;
    background: var(--rb-teal-tint);
    color: #2f5a63;
}
.eden-archery-booking .archery-booking-page .ab-staff-note strong { color: var(--rb-teal); }
.eden-archery-booking .archery-booking-page .archery-participant-row {
    border: 1px solid var(--rb-line);
    border-radius: 16px;
    background: #fff;
    box-shadow: none;
}
.eden-archery-booking .archery-booking-page .ab-player-option { border-radius: 14px; }
.eden-archery-booking .archery-booking-page .ab-player-option[aria-checked="true"] .ab-player-mark { border-color: var(--rb-green); }
.eden-archery-booking .archery-booking-page .ab-player-option[aria-checked="true"] .ab-player-mark::after { background: var(--rb-green); }
.eden-archery-booking .archery-booking-page .ab-player-extra { background: var(--rb-green-tint); color: var(--rb-green-strong); }

/* Summary: the total is the one gradient moment in the card. */
.eden-archery-booking .archery-booking-page .ab-summary-head { margin-bottom: 18px; padding-bottom: 16px; border-bottom: 1px solid var(--rb-line-soft); }
.eden-archery-booking .archery-booking-page .archery-summary-panel .archery-summary-glance {
    padding: 18px 20px;
    border-radius: 16px;
    background:
        radial-gradient(70% 120% at 100% 0%, rgba(255, 255, 255, .16) 0%, rgba(255, 255, 255, 0) 60%),
        var(--rb-hero);
    box-shadow: 0 10px 24px rgba(20, 92, 58, .16);
    color: #fff;
}
.eden-archery-booking .archery-booking-page .archery-summary-panel .archery-summary-glance > span,
.eden-archery-booking .archery-booking-page .archery-summary-panel .archery-summary-glance > p,
.eden-archery-booking .archery-booking-page .archery-summary-panel .archery-summary-glance__meta > small { color: rgba(255, 255, 255, .82); }
.eden-archery-booking .archery-booking-page .archery-summary-panel .archery-summary-glance__meta > span { color: #fff; }
.eden-archery-booking .archery-booking-page .archery-summary-panel .archery-summary-glance__total { border-top-color: rgba(255, 255, 255, .22); }
.eden-archery-booking .archery-booking-page .archery-summary-panel .archery-summary-glance__total span { color: rgba(255, 255, 255, .86); }
.eden-archery-booking .archery-booking-page .archery-summary-panel .archery-summary-glance__total strong { color: #fff; font-size: 1.875rem; }
.eden-archery-booking .archery-booking-page .archery-summary-panel .ab-breakdown { margin-top: 14px; padding: 0 2px; }
.eden-archery-booking .archery-booking-page .archery-summary-panel .ab-breakdown li { padding: 8px 0; border-bottom: 1px solid var(--rb-line-soft); }
.eden-archery-booking .archery-booking-page .archery-summary-panel .ab-breakdown li:last-child { border-bottom: 0; }
.eden-archery-booking .archery-booking-page .archery-summary-panel .ab-breakdown li > strong { color: var(--rb-ink); }
.eden-archery-booking .archery-booking-page .archery-benefits-panel { border-color: var(--rb-line); border-radius: 16px; background: var(--rb-wash); }
.eden-archery-booking .archery-booking-page .ab-benefits-icon { border-radius: 10px; background: var(--rb-amber-tint); color: var(--rb-amber); }
.eden-archery-booking .archery-booking-page .archery-benefits-panel .archery-promo-control,
.eden-archery-booking .archery-booking-page .archery-benefits-panel .archery-loyalty-control { border-color: var(--rb-line); background: #fff; }
.eden-archery-booking .archery-booking-page .archery-benefits-panel .archery-loyalty-code { border-top-color: var(--rb-line); }
.eden-archery-booking .archery-booking-page .ab-actions #archery-hold-btn {
    border-radius: 14px;
    background: var(--rb-green);
    box-shadow: 0 8px 18px rgba(31, 122, 77, .22);
}
.eden-archery-booking .archery-booking-page .ab-actions #archery-hold-btn:not(:disabled):hover { background: var(--rb-green-strong); }
.eden-archery-booking .archery-booking-page .ab-actions #archery-hold-btn:disabled { background: #e7ede9; color: #7d8c84; }
.eden-archery-booking .archery-booking-page .ab-reassure svg { color: var(--rb-green); }

/* Phone total dock: white bar, green action. */
.eden-archery-booking .ab-dock {
    border: 1px solid var(--rb-line);
    border-radius: 20px;
    background: rgba(255, 255, 255, .96);
    box-shadow: 0 12px 30px rgba(24, 36, 30, .16);
    color: var(--rb-ink);
    backdrop-filter: blur(10px);
}
.eden-archery-booking .ab-dock-meta { color: var(--rb-muted); }
.eden-archery-booking .ab-dock-total { color: var(--rb-ink); }
.eden-archery-booking .ab-dock-btn { border-radius: 14px; background: var(--rb-green); color: #fff; }

/* Review-before-payment sheet (2026-10-05): calm title, the hold timer as an
   amber pill right under it, the details as a clean list, the total as one
   tinted row, the booking ID as a small reference, and the actions pinned. */
body.archery-hold-modal-open.eden-archery-booking .ab-dock { display: none; }
.eden-archery-booking .archery-booking-page .archery-hold-modal__backdrop { background: rgba(24, 36, 30, .45); backdrop-filter: blur(2px); }
.eden-archery-booking .archery-booking-page .archery-hold-modal__panel {
    gap: 14px;
    width: min(92vw, 520px);
    padding: 22px;
    border: 1px solid var(--rb-line);
    border-radius: 22px;
    box-shadow: 0 30px 70px rgba(24, 36, 30, .25);
}
.eden-archery-booking .archery-booking-page .archery-hold-modal__header { order: -2; align-items: center; }
.eden-archery-booking .archery-booking-page .archery-hold-modal__header h2 {
    color: var(--rb-ink);
    font-size: 1.3125rem;
    font-weight: 600;
    line-height: 1.35;
    letter-spacing: 0;
}
.eden-archery-booking .archery-booking-page .archery-hold-modal__close {
    min-height: 36px;
    padding: 6px 14px;
    border: 1px solid var(--rb-line);
    border-radius: 999px;
    background: #fff;
    color: var(--rb-text);
    font-size: .8125rem;
    font-weight: 500;
}
.eden-archery-booking .archery-booking-page .archery-hold-modal__close:hover { background: var(--rb-wash); }
.eden-archery-booking .archery-booking-page .archery-hold-modal__countdown {
    order: -1;
    justify-self: start;
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 6px 12px;
    border-radius: 999px;
    background: var(--rb-amber-tint);
    color: var(--rb-amber);
    font-size: .875rem;
    font-weight: 600;
    font-variant-numeric: tabular-nums;
}
.eden-archery-booking .archery-booking-page .archery-hold-modal__countdown::before {
    content: "";
    width: 8px;
    height: 8px;
    border-radius: 50%;
    background: currentColor;
}
.eden-archery-booking .archery-booking-page .archery-hold-modal__countdown:empty { display: none; }
.eden-archery-booking .archery-booking-page .archery-hold-modal__countdown.error { background: #fbe9ed; color: #b4415a; }
.eden-archery-booking .archery-booking-page .archery-hold-modal__summary {
    margin: 0;
    padding: 4px 16px;
    border: 1px solid var(--rb-line);
    border-radius: 16px;
    background: #fff;
}
.eden-archery-booking .archery-booking-page .archery-hold-modal__summary li {
    display: flex;
    align-items: baseline;
    justify-content: space-between;
    gap: 16px;
    padding: 11px 0;
    border-bottom: 1px solid var(--rb-line-soft);
    font-size: .9375rem;
}
.eden-archery-booking .archery-booking-page .archery-hold-modal__summary li:last-child { border-bottom: 0; }
.eden-archery-booking .archery-booking-page .archery-hold-modal__summary li > span { flex: none; color: var(--rb-muted); font-weight: 400; }
.eden-archery-booking .archery-booking-page .archery-hold-modal__summary li > strong { color: var(--rb-ink); font-weight: 500; text-align: right; font-variant-numeric: tabular-nums; }
.eden-archery-booking .archery-booking-page .archery-hold-modal__summary li.is-discount > strong { color: var(--rb-green-strong); }
.eden-archery-booking .archery-booking-page .archery-hold-modal__summary li.is-total {
    margin: 6px -16px 0;
    padding: 14px 16px;
    border: 0;
    border-top: 1px solid var(--rb-line);
    background: var(--rb-green-tint);
}
.eden-archery-booking .archery-booking-page .archery-hold-modal__summary li.is-total > span { color: var(--rb-green-strong); font-weight: 600; }
.eden-archery-booking .archery-booking-page .archery-hold-modal__summary li.is-total > strong { color: var(--rb-green-strong); font-size: 1.5rem; font-weight: 600; }
.eden-archery-booking .archery-booking-page .archery-hold-modal__summary li.is-total + li { border-top: 0; }
.eden-archery-booking .archery-booking-page .archery-hold-modal__summary li.is-reference > span,
.eden-archery-booking .archery-booking-page .archery-hold-modal__summary li.is-reference > strong { color: var(--rb-muted); font-size: .75rem; font-weight: 400; letter-spacing: .02em; }
.eden-archery-booking .archery-booking-page .archery-hold-modal__summary li.is-error > strong { color: #b4415a; }
.eden-archery-booking .archery-booking-page .archery-hold-modal__status { color: var(--rb-muted); font-size: .875rem; font-weight: 400; line-height: 1.55; }
.eden-archery-booking .archery-booking-page .archery-hold-modal__status:empty { display: none; }
.eden-archery-booking .archery-booking-page .archery-hold-modal__status.error { color: #b4415a; }
.eden-archery-booking .archery-booking-page .archery-hold-modal__actions {
    grid-template-columns: minmax(0, .8fr) minmax(0, 1.2fr);
    gap: 10px;
    border-top-color: var(--rb-line-soft);
    box-shadow: none;
}
.eden-archery-booking .archery-booking-page .archery-hold-modal__actions .btn {
    min-height: 50px;
    border-radius: 14px;
    font-size: .9375rem;
    font-weight: 600;
}
.eden-archery-booking .archery-booking-page .archery-hold-modal__actions .btn-outline {
    border: 1px solid var(--rb-line);
    background: #fff;
    color: var(--rb-text);
}
.eden-archery-booking .archery-booking-page .archery-hold-modal__actions #archery-confirm-btn,
.eden-archery-booking .archery-booking-page .archery-hold-modal__actions #archery-confirm-btn:not(:disabled) { border: 0; background: var(--rb-green); color: #fff; box-shadow: 0 8px 18px rgba(31, 122, 77, .22); }
.eden-archery-booking .archery-booking-page .archery-hold-modal__actions #archery-confirm-btn:disabled,
.eden-archery-booking .archery-booking-page .archery-hold-modal__actions #archery-confirm-btn[disabled] { background: #e7ede9; color: #7d8c84; box-shadow: none; }

/* Calm chips (owner, 2026-10-05): one line of information per chip.
   Unselected chips are borderless wash tiles; month shows only where it
   starts; lengths read "1 ชั่วโมง"; start times show just the start and the
   chosen range is spelled out once under the grid. */
.eden-archery-booking .archery-booking-page .ab-date,
.eden-archery-booking .archery-booking-page .ab-package,
.eden-archery-booking .archery-booking-page .ab-time {
    border-color: transparent;
    background: var(--rb-wash);
    box-shadow: none;
}
.eden-archery-booking .archery-booking-page .ab-date:hover,
.eden-archery-booking .archery-booking-page .ab-package:hover,
.eden-archery-booking .archery-booking-page .ab-time:hover:not(:disabled) { border-color: transparent; background: #edf3ef; }
.eden-archery-booking .archery-booking-page .ab-date { min-height: 62px; gap: 2px; border-radius: 14px; }
.eden-archery-booking .archery-booking-page .ab-date-week { font-size: .75rem; font-weight: 500; }
.eden-archery-booking .archery-booking-page .ab-date-day { font-size: 1.25rem; }
.eden-archery-booking .archery-booking-page .ab-date-month { display: none; }
.eden-archery-booking .archery-booking-page .ab-date.is-new-month .ab-date-month { display: block; font-size: .6875rem; }
.eden-archery-booking .archery-booking-page .ab-date.is-today .ab-date-week { color: var(--rb-green-strong); font-weight: 600; }

.eden-archery-booking .archery-booking-page .ab-package {
    align-content: center;
    gap: 4px;
    min-height: 76px;
    padding: 12px 14px;
}
.eden-archery-booking .archery-booking-page .ab-package-check { display: none; }
.eden-archery-booking .archery-booking-page .ab-package-title { color: var(--rb-ink); font-size: 1.0625rem; font-weight: 600; line-height: 1.3; }
.eden-archery-booking .archery-booking-page .ab-package-price { margin: 0; color: var(--rb-text); font-size: .9375rem; font-weight: 500; }
.eden-archery-booking .archery-booking-page .ab-package-price small { display: inline; color: var(--rb-muted); font-size: .8125rem; }
.eden-archery-booking .archery-booking-page .ab-package-save { margin-top: 2px; background: #fff; }
.eden-archery-booking .archery-booking-page .ab-package[aria-checked="true"] .ab-package-title,
.eden-archery-booking .archery-booking-page .ab-package[aria-checked="true"] .ab-package-price { color: var(--rb-green-strong); }

.eden-archery-booking .archery-booking-page .ab-time-grid { grid-template-columns: repeat(auto-fill, minmax(76px, 1fr)); gap: 8px; }
.eden-archery-booking .archery-booking-page .ab-time { min-height: 46px; padding: 6px 4px; border-radius: 12px; }
.eden-archery-booking .archery-booking-page .ab-time-start { font-size: 1rem; font-weight: 600; }
.eden-archery-booking .archery-booking-page .ab-time-end { display: none; }
.eden-archery-booking .archery-booking-page .ab-time:disabled { border-color: transparent; background: transparent; color: #b3beb7; box-shadow: inset 0 0 0 1px var(--rb-line-soft); }
.eden-archery-booking .archery-booking-page .ab-time:disabled .ab-time-start { font-weight: 500; }

.eden-archery-booking .archery-booking-page .ab-date[aria-checked="true"],
.eden-archery-booking .archery-booking-page .ab-package[aria-checked="true"],
.eden-archery-booking .archery-booking-page .ab-time[aria-checked="true"] {
    border-color: var(--rb-green);
    background: var(--rb-green-tint);
    box-shadow: inset 0 0 0 1px var(--rb-green);
}

.eden-archery-booking .archery-booking-page .ab-time-range {
    display: flex;
    align-items: center;
    gap: 8px;
    margin: 0;
    color: var(--rb-text);
    font-size: .9375rem;
}
.eden-archery-booking .archery-booking-page .ab-time-range::before {
    content: "";
    width: 8px;
    height: 8px;
    border-radius: 50%;
    background: var(--rb-green);
}
.eden-archery-booking .archery-booking-page .ab-time-range strong { color: var(--rb-ink); font-weight: 600; font-variant-numeric: tabular-nums; }

@media (max-width: 599px) {
    .eden-archery-booking .archery-booking-page .archery-booking-intro { padding: 22px 20px 50px; border-radius: 22px; }
    .eden-archery-booking .archery-booking-page .ab-hero-target { opacity: .5; }
    .eden-archery-booking .archery-booking-page .ab-progress { margin: -28px 10px 16px; padding: 5px; border-radius: 16px; }
    .eden-archery-booking .archery-booking-page .ab-progress-step a { flex-direction: column; gap: 4px; min-height: 58px; padding: 6px 4px; font-size: .75rem; }
    .eden-archery-booking .archery-booking-page .ab-step-head { padding-bottom: 14px; }
    .eden-archery-booking .archery-booking-page .ab-step-num { width: 36px; height: 36px; border-radius: 11px; }
    .eden-archery-booking .archery-booking-page .ab-empty { padding: 12px 12px 12px 14px; }
    .eden-archery-booking .archery-booking-page .ab-date { flex-basis: 60px; }
    .eden-archery-booking .archery-booking-page .archery-hold-modal__panel { width: 100%; padding: 18px; border: 0; border-radius: 22px 22px 0 0; }
    .eden-archery-booking .archery-booking-page .archery-hold-modal__summary li { font-size: .875rem; }
    .eden-archery-booking .archery-booking-page .ab-time-grid { grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 6px; }
    .eden-archery-booking .archery-booking-page .ab-package { min-height: 70px; padding: 10px; }
    .eden-archery-booking .archery-booking-page .ab-package-title { font-size: .9375rem; }
    .eden-archery-booking .archery-booking-page .ab-package-price { font-size: .8125rem; white-space: nowrap; }
    .eden-archery-booking .archery-booking-page .ab-package-price small { font-size: .75rem; }
}
@media (min-width: 1024px) {
    .eden-archery-booking .archery-booking-page .ab-progress { margin: -30px 28px 22px; }
}

/* One typeface, real weights only (owner, 2026-10-05). Prompt is loaded at
   300–600, so heavier requests (700–900) were faux-bolded by the browser and
   looked like a second font. Never synthesise; use 600 as the heaviest and
   give the promo and points controls the same sizes as the rest of the card. */
.eden-archery-booking .archery-booking-page,
.eden-archery-booking .ab-dock { font-synthesis: none; }
.eden-archery-booking .archery-booking-page .archery-promo-label,
.eden-archery-booking .archery-booking-page .archery-promo-kicker { color: var(--rb-ink); font-size: .875rem; font-weight: 600; }
.eden-archery-booking .archery-booking-page #archery-loyalty-helper,
.eden-archery-booking .archery-booking-page .archery-loyalty-balance { color: var(--rb-muted); font-size: .8125rem; font-weight: 400; }
.eden-archery-booking .archery-booking-page .archery-promo-icon { font-size: .9375rem; font-weight: 600; }
.eden-archery-booking .archery-booking-page .archery-promo-input,
.eden-archery-booking .archery-booking-page .archery-loyalty-input { color: var(--rb-ink); font-size: .9375rem; font-weight: 500; }
.eden-archery-booking .archery-booking-page .archery-benefits-panel .btn,
.eden-archery-booking .archery-booking-page .archery-loyalty-quick-actions button { font-size: .8125rem; font-weight: 500; }
.eden-archery-booking .archery-booking-page .archery-summary-list li > strong { font-weight: 500; }
.eden-archery-booking .archery-booking-page #ab-step-2 {
    padding: 0;
    gap: 16px;
    background: transparent;
    border: 0;
    border-radius: 0;
    box-shadow: none;
}
.eden-archery-booking #ab-step-2 .ab-step-head { padding-bottom: 0; border-bottom: 0; }
.eden-archery-booking .archery-booking-page .ab-step-head .ab-player-count-note {
    color: var(--rb-text);
    font-size: .875rem;
    line-height: 1.7;
    margin: 4px 0 0;
}
.eden-archery-booking .ab-player-first-time-guidance {
    grid-column: 1 / -1;
    padding-left: 52px;
    color: var(--rb-text);
    font-size: .875rem;
    line-height: 1.7;
}
.eden-archery-booking .ab-player-first-time-guidance p { margin: 0; color: var(--rb-text); }
.eden-archery-booking .ab-player-booking-faqs .ab-player-guidance-example { font-size: .8125rem; }
.eden-archery-booking .ab-player-booking-faqs { margin: 0; padding: 0; border-top: 1px solid var(--rb-line); }
.eden-archery-booking .ab-player-booking-faqs details + details { border-top: 1px solid var(--rb-line); }
.eden-archery-booking .ab-player-booking-faqs summary {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    min-height: 48px;
    padding: 12px 0;
    color: var(--rb-ink);
    font-size: .875rem;
    font-weight: 600;
    line-height: 1.6;
    list-style: none;
    cursor: pointer;
}
.eden-archery-booking .ab-player-booking-faqs summary::-webkit-details-marker { display: none; }
.eden-archery-booking .ab-player-booking-faqs summary::marker { content: ''; }
.eden-archery-booking .ab-player-booking-faqs summary:hover { color: var(--rb-green-strong); }
.eden-archery-booking .ab-player-booking-faqs summary:focus-visible { outline: 2px solid var(--rb-green); outline-offset: 3px; }
.eden-archery-booking .ab-player-booking-faqs details > p { margin: 0; padding-bottom: 16px; color: var(--rb-text); font-size: .875rem; line-height: 1.7; }
.eden-archery-booking .ab-player-faq-toggle { position: relative; flex: 0 0 20px; height: 20px; color: var(--rb-green-strong); }
.eden-archery-booking .ab-player-faq-toggle::before,
.eden-archery-booking .ab-player-faq-toggle::after { content: ''; position: absolute; top: 9px; left: 4px; width: 12px; height: 2px; background: currentColor; }
.eden-archery-booking .ab-player-faq-toggle::after { transform: rotate(90deg); }
.eden-archery-booking details[open] > summary .ab-player-faq-toggle::after { opacity: 0; }
.eden-archery-booking .ab-player-duration { display: grid; gap: 4px; margin-bottom: 4px; }
.eden-archery-booking .ab-player-duration strong { color: var(--rb-ink); font-weight: 600; }
.eden-archery-booking .ab-player-counts { display: grid; gap: 12px; }
.eden-archery-booking .ab-player-count {
    --service-ink: var(--rb-green-strong);
    --service-tint: var(--rb-green-tint);
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    align-items: center;
    gap: 12px 20px;
    padding: 20px;
    border: 1px solid var(--rb-line);
    border-radius: 16px;
    background: #fff;
}
/* Same service palette as the Archery landing page's package cards. */
.eden-archery-booking .ab-player-count[data-player-service="solo:rent_full_set"] { --service-ink: #21636f; --service-tint: var(--rb-teal-tint); }
.eden-archery-booking .ab-player-count[data-player-service="solo:bring_own"] { --service-ink: #85560f; --service-tint: var(--rb-amber-tint); }
.eden-archery-booking .ab-player-count.has-players { border-color: var(--rb-green); background: var(--rb-green-tint); }
.eden-archery-booking .ab-player-count-heading { display: flex; align-items: center; gap: 12px; min-width: 0; }
.eden-archery-booking .ab-player-service-icon { display: grid; place-items: center; flex: 0 0 40px; height: 40px; border-radius: 12px; color: var(--service-ink); background: var(--service-tint); }
.eden-archery-booking .ab-player-service-icon svg { width: 24px; height: 24px; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
.eden-archery-booking .ab-player-count-copy { display: grid; gap: 4px; min-width: 0; }
.eden-archery-booking .ab-player-count-copy strong {
    font-weight: 600;
    line-height: 1.5;
    color: var(--service-ink);
}
.eden-archery-booking .ab-player-count-copy > span { color: var(--rb-text); font-size: .875rem; }
.eden-archery-booking .ab-player-count-pricing { display: grid; gap: 4px; padding-left: 52px; min-width: 0; }
.eden-archery-booking .ab-player-count-price { color: var(--service-ink); font-size: 1.25rem; font-weight: 600; font-variant-numeric: tabular-nums; }
.eden-archery-booking .ab-player-count-price small { color: var(--rb-text); font-size: .8125rem; font-weight: 400; white-space: nowrap; }
.eden-archery-booking .ab-player-count-subtotal { color: var(--rb-text); font-size: .8125rem; font-weight: 500; font-variant-numeric: tabular-nums; }
.eden-archery-booking .ab-player-safety-note {
    grid-column: 1 / -1;
    margin: 0;
    padding-left: 52px;
    color: var(--ab-danger);
    font-size: .8125rem;
    font-weight: 400;
    line-height: 1.6;
}
.eden-archery-booking .ab-player-count-stepper {
    display: flex;
    align-items: center;
    grid-column: 2;
    grid-row: 1 / span 2;
    justify-self: end;
    gap: 4px;
    padding: 4px;
    border: 1px solid var(--rb-line);
    border-radius: 999px;
    background: #fff;
}
.eden-archery-booking .ab-player-count-stepper button {
    display: grid;
    place-items: center;
    width: 44px;
    height: 44px;
    padding: 0;
    border: 0;
    border-radius: 50%;
    color: var(--rb-green-strong);
    background: transparent;
    cursor: pointer;
}
.eden-archery-booking .ab-player-count-stepper button:hover:not(:disabled) {
    background: var(--rb-green-tint);
}
.eden-archery-booking .ab-player-count-stepper button[data-player-count-step="1"] { background: var(--rb-wash); }
.eden-archery-booking .ab-player-count-stepper button[data-player-count-step="1"]:hover:not(:disabled) { background: var(--rb-green-tint); }
.eden-archery-booking .ab-player-count-stepper button:focus-visible {
    outline: 2px solid var(--rb-green);
    outline-offset: 3px;
}
.eden-archery-booking .ab-player-count-stepper button:disabled { opacity: .4; cursor: default; }
.eden-archery-booking .ab-player-count-stepper svg { width: 20px; height: 20px; stroke: currentColor; stroke-width: 1.8; fill: none; }
.eden-archery-booking .ab-player-count-stepper output {
    min-width: 56px;
    white-space: nowrap;
    text-align: center;
    font-weight: 600;
    font-variant-numeric: tabular-nums;
    color: var(--rb-ink);
}
.eden-archery-booking .has-players .ab-player-count-stepper output { color: var(--rb-green-strong); }
.eden-archery-booking .ab-player-count-stepper output span { font-size: .75rem; font-weight: 400; }
.eden-archery-booking .ab-player-count-total { margin: 0; padding-top: 16px; border-top: 1px solid var(--rb-line); color: var(--rb-ink); font-weight: 600; font-variant-numeric: tabular-nums; }
@media (max-width: 600px) {
    .eden-archery-booking .ab-player-count { padding: 16px; gap: 16px 12px; }
    .eden-archery-booking .ab-player-count-heading { grid-column: 1 / -1; }
    .eden-archery-booking .ab-player-count-pricing { padding-left: 0; }
    .eden-archery-booking .ab-player-first-time-guidance { padding-left: 0; }
    .eden-archery-booking .ab-player-safety-note { padding-left: 0; }
    .eden-archery-booking .ab-player-count-stepper { grid-row: 2; }
}
@media (max-width: 360px) {
    .eden-archery-booking .ab-player-count { grid-template-columns: minmax(0, 1fr); gap: 12px; }
    .eden-archery-booking .ab-player-count-stepper { grid-column: 1; grid-row: auto; }
}

.eden-archery-booking #archery-party-size[hidden] { display: none !important; }
.eden-archery-booking #ab-step-2,
.eden-archery-booking #ab-step-2 button,
.eden-archery-booking #ab-step-2 output { font-family: 'Prompt', system-ui, sans-serif; }

/* Booking benefits: one code field, then a distinct points section. */
.eden-archery-booking .archery-booking-page .archery-benefits-panel {
    margin-top: 22px;
    padding-top: 20px;
    border: 0;
    border-top: 1px solid var(--rb-line);
    border-radius: 0;
    background: transparent;
    box-shadow: none;
    font-family: 'Prompt', sans-serif;
}
.eden-archery-booking .archery-benefits-panel :is(input, button) { font-family: inherit; }
.eden-archery-booking .archery-booking-page .ab-benefits-title { display: block; padding: 0 0 16px; }
.eden-archery-booking .archery-booking-page .ab-benefits-copy { gap: 5px; }
.eden-archery-booking .archery-booking-page .ab-benefits-copy h3 { font-size: 1rem; color: var(--rb-ink); }
.eden-archery-booking .archery-booking-page .ab-benefits-copy small { color: var(--rb-text); line-height: 1.6; }
.eden-archery-booking .archery-booking-page .archery-benefits-panel .archery-benefits-disclosure__body { gap: 20px; padding: 0; }
.eden-archery-booking .archery-benefits-panel .archery-promo-label { line-height: 1.6; }
.eden-archery-booking .archery-booking-page .archery-benefits-panel :is(.archery-promo-control, .archery-loyalty-control) {
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 8px;
    padding: 0;
    border: 0;
    border-radius: 0;
    background: transparent;
    box-shadow: none;
}
.eden-archery-booking .archery-booking-page .archery-benefits-panel :is(.archery-promo-input, .ab-points-entry) {
    min-height: 48px;
    padding: 0 12px;
    border: 1px solid var(--rb-line);
    border-radius: 10px;
    background: var(--rb-wash);
    box-sizing: border-box;
}
.eden-archery-booking .archery-benefits-panel .ab-points-entry { display: flex; align-items: center; gap: 8px; min-width: 0; }
.eden-archery-booking .archery-booking-page .archery-benefits-panel .archery-loyalty-input {
    min-width: 0; min-height: 46px; padding: 0; font-size: 1rem; font-weight: 500; font-variant-numeric: tabular-nums;
    appearance: textfield;
    -moz-appearance: textfield;
}
.eden-archery-booking .archery-benefits-panel .ab-points-entry > span { color: var(--rb-text); font-size: .8125rem; }
.eden-archery-booking .archery-booking-page .archery-benefits-panel input { caret-color: var(--rb-green); font-size: 1rem; }
.eden-archery-booking .archery-booking-page .archery-benefits-panel input::placeholder { color: var(--rb-text); font-weight: 400; text-transform: none; }
.eden-archery-booking .archery-booking-page .archery-benefits-panel .btn {
    min-height: 48px; min-width: 76px; padding: 0 12px; border: 1px solid var(--rb-line);
    border-radius: 10px; background: var(--rb-green-tint); color: var(--rb-green-strong); box-shadow: none;
}
.eden-archery-booking .archery-booking-page .archery-benefits-panel .btn:not(:disabled):hover { border-color: var(--rb-green); }
.eden-archery-booking .archery-booking-page .archery-benefits-panel :is(input:focus-visible, button:focus-visible) {
    outline: 2px solid var(--rb-green); outline-offset: 2px; box-shadow: none;
}
.eden-archery-booking .archery-benefits-panel .archery-loyalty-input::-webkit-inner-spin-button,
.eden-archery-booking .archery-benefits-panel .archery-loyalty-input::-webkit-outer-spin-button {
    -webkit-appearance: none;
    margin: 0;
}
.eden-archery-booking .archery-booking-page .archery-benefits-panel .archery-loyalty-input:focus-visible { outline: none; }
.eden-archery-booking .archery-benefits-panel .ab-points-entry:focus-within {
    border-color: var(--rb-green);
    outline: 2px solid var(--rb-green);
    outline-offset: 2px;
}
.eden-archery-booking .archery-booking-page .archery-benefits-panel .archery-loyalty-code { padding-top: 14px; }
.eden-archery-booking .archery-benefits-panel .ab-points-heading { display: flex; align-items: center; justify-content: space-between; gap: 8px; }
.eden-archery-booking .archery-benefits-panel .ab-points-heading .archery-promo-label { display: grid; gap: 4px; }
.eden-archery-booking .archery-booking-page .archery-benefits-panel .archery-loyalty-quick-actions { flex-shrink: 0; }
.eden-archery-booking .archery-booking-page .archery-benefits-panel .archery-loyalty-quick-actions button {
    min-height: 44px; padding: 0 2px; border: 0; background: transparent; color: var(--rb-green-strong);
    text-decoration: underline; text-underline-offset: 4px; border-radius: 4px;
}
.eden-archery-booking .archery-booking-page .archery-benefits-panel :is(#archery-loyalty-helper, .archery-loyalty-balance, .archery-loyalty-balance span) { color: var(--rb-text); font-size: .8125rem; font-weight: 400; }
.eden-archery-booking .archery-benefits-panel .archery-loyalty-balance { gap: 6px 16px; padding-bottom: 5px; }
.eden-archery-booking .archery-benefits-panel .archery-loyalty-balance strong { color: var(--rb-ink); font-weight: 600; }
.eden-archery-booking .archery-benefits-panel .archery-loyalty-reserve { grid-column: 1 / -1; width: 100%; }
.eden-archery-booking .archery-benefits-panel .archery-status { overflow-wrap: anywhere; }

/* Step 2 player picker polish (owner 2026-10-14): same flow and controls, clearer cards.
   Light direction kept — tinted grounds, service colour as an accent edge, soft depth. */

.eden-archery-booking .ab-player-duration { display: flex; align-items: center; justify-content: space-between; margin: 6px 0 2px; }
.eden-archery-booking .ab-player-duration strong {
    display: inline-flex; align-items: center; gap: 8px; padding: 6px 14px 6px 10px; border-radius: 999px;
    background: var(--rb-green-tint); color: var(--rb-green-strong); font-size: .9375rem;
}
.eden-archery-booking .ab-player-duration strong::before {
    content: ""; width: 18px; height: 18px; flex: 0 0 18px;
    background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23166340' stroke-width='1.9' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='9'/%3E%3Cpath d='M12 7v5l3 2'/%3E%3C/svg%3E") no-repeat center / contain;
}

.eden-archery-booking .ab-player-counts { gap: 14px; }
.eden-archery-booking .ab-player-count {
    position: relative;
    overflow: hidden;
    padding: 20px 22px 20px 26px;
    border-color: #e1e9e4;
    border-radius: 20px;
    box-shadow: var(--rb-card-shadow);
    transition: border-color .2s ease, box-shadow .2s ease, transform .2s ease, background-color .2s ease;
}
.eden-archery-booking .ab-player-count::before {
    content: ""; position: absolute; left: 0; top: 16px; bottom: 16px; width: 4px; border-radius: 0 4px 4px 0;
    background: var(--service-ink); opacity: .35; transition: opacity .2s ease;
}
.eden-archery-booking .ab-player-count:hover { border-color: #cddcd3; box-shadow: 0 2px 4px rgba(24, 36, 30, .04), 0 14px 30px -14px rgba(24, 60, 40, .28); transform: translateY(-1px); }
.eden-archery-booking .ab-player-count.has-players {
    border-color: color-mix(in srgb, var(--service-ink) 55%, #fff);
    background: linear-gradient(160deg, var(--service-tint) 0%, #ffffff 85%);
    box-shadow: 0 0 0 3px color-mix(in srgb, var(--service-ink) 12%, transparent), var(--rb-card-shadow);
}
.eden-archery-booking .ab-player-count.has-players::before { opacity: 1; }
.eden-archery-booking .ab-player-count .ab-player-service-icon { flex-basis: 52px; height: 52px; border-radius: 16px; }
.eden-archery-booking .ab-player-count.has-players .ab-player-service-icon { background: #fff; box-shadow: 0 6px 14px -10px rgba(24, 60, 40, .55); }
.eden-archery-booking .ab-player-count .ab-player-service-icon svg { width: 26px; height: 26px; }
.eden-archery-booking .ab-player-count-copy strong { font-size: 1.0625rem; }
.eden-archery-booking .ab-player-count-pricing { padding-left: 64px; gap: 6px; }
.eden-archery-booking .ab-player-count-price { font-size: 1.6rem; line-height: 1.2; letter-spacing: -.01em; }
.eden-archery-booking .ab-player-count-subtotal {
    justify-self: start; padding: 3px 10px; border-radius: 999px;
    background: rgba(255, 255, 255, .85); box-shadow: inset 0 0 0 1px color-mix(in srgb, var(--service-ink) 22%, transparent);
    color: var(--service-ink);
}

.eden-archery-booking .ab-player-count-stepper { gap: 6px; padding: 5px; border-color: #dbe5df; box-shadow: 0 4px 12px -8px rgba(24, 60, 40, .4); }
.eden-archery-booking .ab-player-count-stepper button[data-player-count-step="1"],
.eden-archery-booking .ab-player-count-stepper button[data-player-count-step="1"]:hover:not(:disabled) {
    background: var(--service-ink); color: #fff; box-shadow: 0 6px 12px -6px color-mix(in srgb, var(--service-ink) 70%, transparent);
}
.eden-archery-booking .ab-player-count-stepper button[data-player-count-step="1"]:hover:not(:disabled) { filter: brightness(1.08); }
.eden-archery-booking .ab-player-count-stepper button[data-player-count-step="-1"] { color: var(--service-ink); }
.eden-archery-booking .ab-player-count-stepper output { min-width: 60px; font-size: 1.125rem; }
.eden-archery-booking .has-players .ab-player-count-stepper output { color: var(--service-ink); }

.eden-archery-booking .ab-player-first-time-guidance,
.eden-archery-booking .ab-player-safety-note {
    display: flex; align-items: flex-start; gap: 10px;
    margin: 2px 0 0 64px; padding: 10px 14px; border-radius: 14px;
    font-size: .8125rem; line-height: 1.65;
}
.eden-archery-booking .ab-player-first-time-guidance { background: rgba(255, 255, 255, .8); box-shadow: inset 0 0 0 1px #d6e8dc; color: var(--rb-text); }
.eden-archery-booking .ab-player-safety-note { background: var(--rb-amber-tint); box-shadow: inset 0 0 0 1px #f1dfbc; color: #7a5410; }
.eden-archery-booking .ab-player-first-time-guidance::before,
.eden-archery-booking .ab-player-safety-note::before { content: ""; flex: 0 0 18px; height: 18px; margin-top: 2px; background: no-repeat center / contain; }
.eden-archery-booking .ab-player-first-time-guidance::before { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23166340' stroke-width='1.9' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='9' cy='8' r='3.5'/%3E%3Cpath d='M3 20c.6-3.4 3-5.3 6-5.3s5.4 1.9 6 5.3'/%3E%3Cpath d='m15.5 11 2 2 4-4'/%3E%3C/svg%3E"); }
.eden-archery-booking .ab-player-safety-note::before { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23a96d14' stroke-width='1.9' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 3 4 6v6c0 4.5 3.4 8 8 9 4.6-1 8-4.5 8-9V6l-8-3Z'/%3E%3Cpath d='M12 9v4M12 16.5h.01'/%3E%3C/svg%3E"); }
.eden-archery-booking .ab-player-first-time-guidance p { color: inherit; }

@media (max-width: 600px) {
    .eden-archery-booking .ab-player-count { padding: 16px 16px 16px 20px; }
    .eden-archery-booking .ab-player-count-pricing { padding-left: 0; }
    .eden-archery-booking .ab-player-first-time-guidance,
    .eden-archery-booking .ab-player-safety-note { margin-left: 0; }
}
@media (prefers-reduced-motion: reduce) {
    .eden-archery-booking .ab-player-count { transition: none; }
    .eden-archery-booking .ab-player-count:hover { transform: none; }
}

/* Step 1 date/length/time polish (owner 2026-10-14): calm chips kept, with icon labels,
   white tiles on the card, a lifted tinted selection, a check on the chosen length and
   pill-style range and availability lines. Same controls and behaviour. */
.eden-archery-booking .archery-booking-page #ab-step-1 .ab-field + .ab-field { margin-top: 6px; }
.eden-archery-booking .archery-booking-page #ab-step-1 .ab-label { display: inline-flex; align-items: center; gap: 8px; font-weight: 600; }
.eden-archery-booking .archery-booking-page #ab-step-1 .ab-label::before {
    content: ""; flex: 0 0 30px; height: 30px; border-radius: 10px;
    background: var(--rb-green-tint) no-repeat center / 17px;
}
.eden-archery-booking .archery-booking-page #ab-step-1 #ab-date-label::before { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23166340' stroke-width='1.9' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3.5' y='5' width='17' height='15' rx='3'/%3E%3Cpath d='M8 3v4M16 3v4M3.5 10h17'/%3E%3C/svg%3E"); }
.eden-archery-booking .archery-booking-page #ab-step-1 #ab-package-label::before { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23166340' stroke-width='1.9' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M7 3h10M7 21h10M8 3c0 5 8 5 8 9s-8 4-8 9M16 3c0 5-8 5-8 9'/%3E%3C/svg%3E"); }
.eden-archery-booking .archery-booking-page #ab-step-1 #ab-time-label::before { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23166340' stroke-width='1.9' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='9'/%3E%3Cpath d='M12 7v5l3 2'/%3E%3C/svg%3E"); }

.eden-archery-booking .archery-booking-page .ab-date,
.eden-archery-booking .archery-booking-page .ab-package,
.eden-archery-booking .archery-booking-page .ab-time {
    border-color: transparent;
    background: #fff;
    box-shadow: inset 0 0 0 1px #e3ebe6;
    transition: box-shadow .18s ease, background-color .18s ease, transform .18s ease;
}
.eden-archery-booking .archery-booking-page .ab-date:hover,
.eden-archery-booking .archery-booking-page .ab-package:hover,
.eden-archery-booking .archery-booking-page .ab-time:hover:not(:disabled) {
    background: #f6faf7; box-shadow: inset 0 0 0 1px #c9dbd0; transform: translateY(-1px);
}
.eden-archery-booking .archery-booking-page .ab-date[aria-checked="true"],
.eden-archery-booking .archery-booking-page .ab-package[aria-checked="true"],
.eden-archery-booking .archery-booking-page .ab-time[aria-checked="true"] {
    border-color: transparent;
    background: linear-gradient(170deg, #eef8f2 0%, #e2f2e8 100%);
    box-shadow: inset 0 0 0 1.5px var(--rb-green), 0 10px 20px -14px rgba(31, 122, 77, .7);
    transform: translateY(-1px);
}
.eden-archery-booking .archery-booking-page .ab-date { position: relative; min-height: 70px; border-radius: 16px; }
.eden-archery-booking .archery-booking-page .ab-date-day { font-size: 1.375rem; font-weight: 600; font-variant-numeric: tabular-nums; }
.eden-archery-booking .archery-booking-page .ab-date[aria-checked="true"] .ab-date-day { color: var(--rb-green-strong); }
.eden-archery-booking .archery-booking-page .ab-date.is-today::after {
    content: ""; position: absolute; top: 8px; right: 9px; width: 6px; height: 6px; border-radius: 50%; background: var(--rb-green);
}

.eden-archery-booking .archery-booking-page .ab-package { position: relative; min-height: 84px; padding: 14px 16px; border-radius: 18px; }
.eden-archery-booking .archery-booking-page .ab-package-check {
    display: grid; place-items: center; position: absolute; top: 12px; right: 12px; width: 22px; height: 22px; border-radius: 50%;
    background: #fff; box-shadow: inset 0 0 0 1.5px #cfdcd4; color: transparent;
}
.eden-archery-booking .archery-booking-page .ab-package-check svg { width: 13px; height: 13px; stroke: currentColor; }
.eden-archery-booking .archery-booking-page .ab-package[aria-checked="true"] .ab-package-check { background: var(--rb-green); box-shadow: none; color: #fff; }
.eden-archery-booking .archery-booking-page .ab-package-title { font-size: 1.125rem; }
.eden-archery-booking .archery-booking-page .ab-package-price { font-size: 1rem; font-variant-numeric: tabular-nums; }

.eden-archery-booking .archery-booking-page .ab-time { min-height: 50px; border-radius: 14px; }
.eden-archery-booking .archery-booking-page .ab-time-start { font-size: 1.0625rem; font-variant-numeric: tabular-nums; }
.eden-archery-booking .archery-booking-page .ab-time[aria-checked="true"] .ab-time-start { color: var(--rb-green-strong); }
.eden-archery-booking .archery-booking-page .ab-time:disabled { background: transparent; box-shadow: inset 0 0 0 1px var(--rb-line-soft); transform: none; }

.eden-archery-booking .archery-booking-page .ab-time-range {
    align-self: start; justify-self: start; width: fit-content; margin-top: 4px; padding: 8px 14px 8px 12px; border-radius: 999px;
    background: var(--rb-wash); box-shadow: inset 0 0 0 1px #e3ebe6;
}
.eden-archery-booking .archery-booking-page .ab-time-range::before {
    width: 16px; height: 16px; border-radius: 0;
    background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%231f7a4d' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='9'/%3E%3Cpath d='M12 7v5l3 2'/%3E%3C/svg%3E") no-repeat center / contain;
}
.eden-archery-booking .archery-booking-page #archery-status.archery-availability-status.success {
    display: flex; align-items: center; gap: 10px; padding: 12px 16px; border: 0; border-radius: 16px;
    background: linear-gradient(170deg, #eaf6ee, #e1f1e7); box-shadow: inset 0 0 0 1px #cfe5d7; color: var(--rb-green-strong); font-weight: 500;
}
.eden-archery-booking .archery-booking-page #archery-status.archery-availability-status.success::before {
    width: 22px; margin: 0;
    content: ""; flex: 0 0 22px; height: 22px; border-radius: 50%;
    background: var(--rb-green) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23ffffff' stroke-width='2.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 12.5 4 4 8-9'/%3E%3C/svg%3E") no-repeat center / 14px;
    box-shadow: 0 0 0 4px rgba(31, 122, 77, .14);
}
@media (prefers-reduced-motion: reduce) {
    .eden-archery-booking .archery-booking-page .ab-date,
    .eden-archery-booking .archery-booking-page .ab-package,
    .eden-archery-booking .archery-booking-page .ab-time { transition: none; transform: none; }
}

/* Booking header polish (owner 2026-10-14): the hero follows the customer light
   direction (white card, mint/cream wash, green target line-art) instead of a solid
   green banner; tutorial card, step bar and 14+ notice are tuned to match. */
.eden-archery-booking .archery-booking-page .archery-booking-intro {
    position: relative;
    overflow: hidden;
    padding: clamp(24px, 3.2vw, 36px) clamp(22px, 3.6vw, 42px);
    border: 1px solid #dfe9e3;
    border-radius: 26px;
    color: var(--rb-ink);
    background:
        radial-gradient(55% 120% at 100% 0%, rgba(31, 122, 77, .12) 0%, rgba(31, 122, 77, 0) 62%),
        radial-gradient(45% 110% at 0% 100%, rgba(253, 236, 205, .7) 0%, rgba(253, 236, 205, 0) 65%),
        linear-gradient(170deg, #ffffff 0%, #f6fbf8 100%);
    box-shadow: 0 18px 40px -28px rgba(24, 60, 40, .45);
}
.eden-archery-booking .archery-booking-page .archery-booking-intro h1 { color: var(--rb-ink); letter-spacing: -.01em; }
.eden-archery-booking .archery-booking-page .archery-booking-intro p { max-width: 52ch; color: var(--rb-text); }
.eden-archery-booking .archery-booking-page .ab-hero-facts li {
    border-color: #dbe8df; background: rgba(255, 255, 255, .9); backdrop-filter: none;
    color: var(--rb-green-strong); font-weight: 500; box-shadow: 0 6px 14px -12px rgba(24, 60, 40, .5);
}
.eden-archery-booking .archery-booking-page .ab-hero-facts svg { stroke: var(--rb-green-strong); }
.eden-archery-booking .archery-booking-page .ab-hero-target .ab-ring { fill: none; stroke: rgba(31, 122, 77, .22); }
.eden-archery-booking .archery-booking-page .ab-hero-target .ab-ring--3 { fill: rgba(31, 122, 77, .05); }
.eden-archery-booking .archery-booking-page .ab-hero-target .ab-ring--4 { fill: rgba(31, 122, 77, .1); stroke: rgba(31, 122, 77, .4); }
.eden-archery-booking .archery-booking-page .ab-hero-target .ab-ring--5 { fill: var(--rb-green); stroke: none; }
.eden-archery-booking .archery-booking-page .ab-hero-target .ab-arrow path { stroke: var(--rb-amber); }

.eden-archery-booking .ab-tutorial-entry {
    gap: 18px; padding: 14px 18px 14px 14px; border-color: #e1e9e4; border-radius: 20px;
    box-shadow: var(--rb-card-shadow); transition: border-color .2s ease, box-shadow .2s ease, transform .2s ease;
}
.eden-archery-booking .ab-tutorial-entry:hover { border-color: #c9dbd0; background: #fff; box-shadow: 0 14px 28px -18px rgba(24, 60, 40, .4); transform: translateY(-1px); }
.eden-archery-booking .ab-tutorial-poster { flex-basis: 64px; width: 64px; height: 84px; border-radius: 14px; box-shadow: 0 8px 16px -10px rgba(24, 60, 40, .55); }
.eden-archery-booking .ab-tutorial-copy small {
    justify-self: start; display: inline-flex; align-items: center; gap: 6px; margin-top: 2px; padding: 2px 10px;
    border-radius: 999px; background: var(--rb-green-tint);
}
.eden-archery-booking .ab-tutorial-action {
    flex: none; min-height: 42px; padding: 0 8px 0 16px; border-radius: 999px;
    background: var(--rb-green-tint); color: var(--rb-green-strong);
}
.eden-archery-booking .ab-tutorial-entry:hover .ab-tutorial-action { background: var(--rb-green); color: #fff; }

.eden-archery-booking .archery-booking-page .ab-progress { border-color: #e1e9e4; border-radius: 20px; box-shadow: 0 14px 30px -18px rgba(24, 60, 40, .35); }
.eden-archery-booking .archery-booking-page .ab-progress-step.is-done .ab-progress-dot { font-size: 0; }
.eden-archery-booking .archery-booking-page .ab-progress-step.is-done .ab-progress-dot::before {
    content: ""; width: 14px; height: 14px;
    background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23166340' stroke-width='2.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m5 12.5 4.5 4.5L19 7'/%3E%3C/svg%3E") no-repeat center / contain;
}

.eden-archery-booking .archery-booking-page .archery-booking-intro + .ab-progress { margin-top: 16px; }
.eden-archery-booking .archery-booking-page .archery-eligibility-notice { border-radius: 20px; box-shadow: 0 10px 22px -20px rgba(120, 80, 20, .5); }
.eden-archery-booking .archery-booking-page .archery-eligibility-notice__badge { box-shadow: 0 6px 12px -8px rgba(120, 80, 20, .5); }
@media (prefers-reduced-motion: reduce) {
    .eden-archery-booking .ab-tutorial-entry { transition: none; }
    .eden-archery-booking .ab-tutorial-entry:hover { transform: none; }
}
