/*
 * Elkington Design System — Phase 2
 * Scoped skin layer for the dedicated Elkington client build.
 * It intentionally does not alter booking validation, providers, routing or business logic.
 */

.ds-booking-v2.ds-preset-elkington{
  --snh-yellow:var(--ds-brand-orange,#FD753C);
  --snh-yellow-2:#FF8755;
  --snh-panel:var(--ds-surface,#fff);
  --snh-panel-2:var(--ds-brand-ice,#EAF6F7);
  --snh-text:var(--ds-brand-ink,#2D394B);
  --snh-muted:var(--ds-muted,#6D7B89);
  --snh-line:var(--ds-border,#D5E5E6);
  isolation:isolate;
  background:
    radial-gradient(70% 62% at 100% 0%,color-mix(in srgb,var(--ds-brand-ice,#EAF6F7) 92%,#BFEAF0 8%) 0%,transparent 72%),
    radial-gradient(48% 36% at 0% 100%,color-mix(in srgb,var(--ds-brand-ice,#EAF6F7) 82%,#C7EEF2 18%) 0%,transparent 76%),
    var(--ds-surface,#fff);
  color:var(--ds-brand-ink,#2D394B);
  border:1px solid var(--ds-border,#D5E5E6);
  border-radius:var(--ds-radius,30px);
  box-shadow:var(--ds-shadow-soft,0 18px 45px rgba(45,57,75,.10));
}

.ds-booking-v2.ds-preset-elkington .snh-booking__eyebrow{
  color:var(--ds-brand-gold,#C99518);
  font-weight:800;
  letter-spacing:.12em;
}

.ds-booking-v2.ds-preset-elkington .snh-booking__header h2,
.ds-booking-v2.ds-preset-elkington h3,
.ds-booking-v2.ds-preset-elkington strong{
  color:var(--ds-brand-ink,#2D394B);
}

.ds-booking-v2.ds-preset-elkington .snh-booking__header p,
.ds-booking-v2.ds-preset-elkington .snh-contact-note span{
  color:var(--ds-muted,#6D7B89);
}

.ds-booking-v2.ds-preset-elkington .ds-booking-meta__item{
  border-color:color-mix(in srgb,var(--ds-brand-gold,#C99518) 26%,var(--ds-border,#D5E5E6));
  background:color-mix(in srgb,var(--ds-brand-ice,#EAF6F7) 72%,#fff 28%);
  color:var(--ds-brand-ink,#2D394B);
}

.ds-booking-v2.ds-preset-elkington .ds-booking-meta__item svg,
.ds-booking-v2.ds-preset-elkington .ds-booking-summary__time,
.ds-booking-v2.ds-preset-elkington .snh-meeting-card small,
.ds-booking-v2.ds-preset-elkington .snh-meeting-card__price{
  color:var(--ds-brand-gold,#C99518);
}

.ds-booking-v2.ds-preset-elkington .snh-progress li{
  border-color:var(--ds-border,#D5E5E6);
  background:color-mix(in srgb,var(--ds-brand-ice,#EAF6F7) 62%,#fff 38%);
  color:var(--ds-muted,#6D7B89);
}

.ds-booking-v2.ds-preset-elkington .snh-progress li span{
  border:1px solid color-mix(in srgb,var(--ds-brand-gold,#C99518) 34%,var(--ds-border,#D5E5E6));
  background:#fff;
  color:var(--ds-brand-ink,#2D394B);
}

.ds-booking-v2.ds-preset-elkington .snh-progress .is-active,
.ds-booking-v2.ds-preset-elkington .snh-progress .is-complete{
  color:var(--ds-brand-ink,#2D394B);
}

.ds-booking-v2.ds-preset-elkington .snh-progress .is-active span,
.ds-booking-v2.ds-preset-elkington .snh-progress .is-complete span{
  background:linear-gradient(135deg,var(--ds-brand-orange,#FD753C),#FF8755)!important;
  color:#fff!important;
  border-color:transparent;
  box-shadow:0 7px 18px rgba(253,117,60,.20);
}

.ds-booking-v2.ds-preset-elkington .snh-meeting-card,
.ds-booking-v2.ds-preset-elkington .snh-calendar,
.ds-booking-v2.ds-preset-elkington .snh-review,
.ds-booking-v2.ds-preset-elkington .snh-host-card,
.ds-booking-v2.ds-preset-elkington .ds-quick-times,
.ds-booking-v2.ds-preset-elkington .ds-booking-summary{
  border-color:var(--ds-border,#D5E5E6);
  background:rgba(255,255,255,.88);
  box-shadow:0 12px 30px rgba(45,57,75,.06);
}

.ds-booking-v2.ds-preset-elkington.ds-cards-rich .snh-meeting-card{
  background:linear-gradient(145deg,#fff,color-mix(in srgb,var(--ds-brand-ice,#EAF6F7) 74%,#fff 26%));
}

.ds-booking-v2.ds-preset-elkington.ds-cards-rich .snh-meeting-card:before{
  background:linear-gradient(180deg,var(--ds-brand-orange,#FD753C),var(--ds-brand-gold,#C99518));
}

.ds-booking-v2.ds-preset-elkington.ds-cards-rich .snh-meeting-card:has(input:checked){
  border-color:color-mix(in srgb,var(--ds-brand-orange,#FD753C) 72%,var(--ds-border,#D5E5E6));
  background:linear-gradient(145deg,color-mix(in srgb,var(--ds-brand-orange,#FD753C) 7%,#fff),color-mix(in srgb,var(--ds-brand-ice,#EAF6F7) 72%,#fff 28%));
  box-shadow:0 14px 34px rgba(253,117,60,.10);
}

.ds-booking-v2.ds-preset-elkington .snh-button--primary,
.ds-booking-v2.ds-preset-elkington .snh-form__actions .snh-button--primary{
  border:0!important;
  background:linear-gradient(135deg,var(--ds-primary-bg,#FD6F38),var(--ds-primary-bg-2,#FF8755))!important;
  color:var(--ds-primary-text,#fff)!important;
  border-radius:var(--ds-button-radius,30px);
  box-shadow:0 12px 28px rgba(253,111,56,.22)!important;
}

.ds-booking-v2.ds-preset-elkington .snh-button--primary:hover,
.ds-booking-v2.ds-preset-elkington .snh-form__actions .snh-button--primary:hover{
  background:linear-gradient(135deg,var(--ds-primary-hover,#E85E31),var(--ds-primary-bg-2,#FF8755))!important;
  box-shadow:0 14px 32px rgba(232,94,49,.24)!important;
}

.ds-booking-v2.ds-preset-elkington .snh-button--secondary{
  border-color:var(--ds-secondary-border,#C8DDDF)!important;
  background:var(--ds-secondary-bg,#EEF7F7)!important;
  color:var(--ds-secondary-text,#2D394B)!important;
}

.ds-booking-v2.ds-preset-elkington input[type=text],
.ds-booking-v2.ds-preset-elkington input[type=email],
.ds-booking-v2.ds-preset-elkington input[type=tel],
.ds-booking-v2.ds-preset-elkington input[type=number],
.ds-booking-v2.ds-preset-elkington input[type=url],
.ds-booking-v2.ds-preset-elkington input[type=date],
.ds-booking-v2.ds-preset-elkington textarea,
.ds-booking-v2.ds-preset-elkington select{
  border-color:var(--ds-border,#D5E5E6)!important;
  background:var(--ds-input-surface,#F8FBFB)!important;
  color:var(--ds-brand-ink,#2D394B)!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.88);
}

.ds-booking-v2.ds-preset-elkington input:focus,
.ds-booking-v2.ds-preset-elkington textarea:focus,
.ds-booking-v2.ds-preset-elkington select:focus{
  border-color:var(--ds-brand-orange,#FD753C)!important;
  outline:3px solid color-mix(in srgb,var(--ds-brand-gold,#C99518) 30%,transparent)!important;
  box-shadow:0 0 0 5px color-mix(in srgb,var(--ds-brand-orange,#FD753C) 9%,transparent)!important;
}

.ds-booking-v2.ds-preset-elkington .snh-calendar__day,
.ds-booking-v2.ds-preset-elkington .snh-calendar__nav,
.ds-booking-v2.ds-preset-elkington .snh-slot span{
  background:color-mix(in srgb,var(--ds-brand-ice,#EAF6F7) 74%,#fff 26%);
  color:var(--ds-brand-ink,#2D394B);
}

.ds-booking-v2.ds-preset-elkington .snh-calendar__day.is-selected,
.ds-booking-v2.ds-preset-elkington .snh-slot.is-selected span,
.ds-booking-v2.ds-preset-elkington .ds-quick-slot.is-selected,
.ds-booking-v2.ds-preset-elkington .ds-quick-slot:hover{
  background:var(--ds-brand-orange,#FD753C);
  color:#fff;
  border-color:var(--ds-brand-orange,#FD753C);
}

.ds-booking-v2.ds-preset-elkington .snh-success-icon{
  background:var(--ds-success,#2F9673)!important;
  color:#fff!important;
}

.ds-booking-v2.ds-preset-elkington .snh-form__error{
  border-color:color-mix(in srgb,var(--ds-danger,#C95555) 48%,var(--ds-border,#D5E5E6))!important;
  background:color-mix(in srgb,var(--ds-danger,#C95555) 7%,#fff)!important;
  color:var(--ds-danger,#C95555)!important;
}

.ds-modal-preset-elkington .snh-modal__backdrop{
  background:color-mix(in srgb,var(--ds-modal-backdrop,#253746) 58%,transparent)!important;
  backdrop-filter:blur(var(--ds-overlay-blur,8px))!important;
  -webkit-backdrop-filter:blur(var(--ds-overlay-blur,8px))!important;
}

.ds-modal-preset-elkington .snh-modal__dialog{
  overflow:auto;
  border:1px solid var(--ds-border,#D5E5E6)!important;
  border-radius:calc(var(--ds-radius,30px) + 2px);
  background:var(--ds-surface,#fff)!important;
  box-shadow:var(--ds-shadow-modal,0 34px 90px rgba(37,55,70,.22))!important;
}

.ds-modal-preset-elkington .snh-modal__close{
  border-color:var(--ds-border,#D5E5E6)!important;
  background:var(--ds-close-bg,#F2F8F8)!important;
  color:var(--ds-close-text,#2D394B)!important;
  box-shadow:0 8px 20px rgba(45,57,75,.08);
}

.ds-modal-preset-elkington .snh-modal__close:hover{
  border-color:var(--ds-brand-gold,#C99518)!important;
  color:var(--ds-brand-orange,#FD753C)!important;
  box-shadow:0 9px 22px rgba(201,149,24,.13)!important;
}

@media (max-width:820px){
  .ds-booking-v2.ds-preset-elkington{border-radius:24px}
  .ds-modal-preset-elkington .snh-modal__dialog{border-radius:26px 26px 0 0}
}

@media (prefers-reduced-motion:reduce){
  .ds-booking-v2.ds-preset-elkington *{scroll-behavior:auto}
}
