/* ==========================================================================
   ARIA × Booknetic — burgundy theme from the ARIA Showroom Booking Request Form
   ========================================================================== */
:root {
  --aria-wine: #5e1233;          /* page background */
  --aria-accent: #7a1d45;        /* buttons, selected states */
  --aria-accent-hover: #641538;
  --aria-accent-rgb: 122, 29, 69;
  --aria-rose: #f1dde6;          /* light text on burgundy */
  --aria-rose-2: rgba(241, 221, 230, .78);
  --aria-rose-3: rgba(241, 221, 230, .55);
  --aria-ink: #231a1e; --aria-ink-2: #4d4247; --aria-ink-3: #85777d;
  --aria-surface: #fbf7f8;
  --aria-line: rgba(94, 18, 51, .14);
  --aria-font: -apple-system, BlinkMacSystemFont, 'SF Pro Text', 'Helvetica Neue', 'Segoe UI', Roboto, Arial, sans-serif;
  --aria-display: 'Barlow Condensed', 'Arial Narrow', var(--aria-font);
}

html { -webkit-text-size-adjust: 100%; }
body.aria-booking {
  margin: 0; color: var(--aria-rose); font-family: var(--aria-font); -webkit-font-smoothing: antialiased;
  background: var(--aria-wine) url('aria-bg.jpg') center / cover fixed no-repeat;
}

/* ---------- Banner (logo, title, welcome, schedule) ---------- */
.aria-main { box-sizing: border-box; padding: calc(28px + env(safe-area-inset-top)) 14px calc(24px + env(safe-area-inset-bottom)); }
.aria-wrap { max-width: 1020px; margin: 0 auto; display: grid; grid-template-columns: minmax(0, 1fr); gap: 22px; }
.aria-wrap > * { min-width: 0; }
.aria-hero { text-align: center; }
.aria-logo { display: block; width: 110px; height: auto; margin: 0 auto 18px; }
.aria-title {
  margin: 0; font-family: var(--aria-display); font-weight: 400; font-size: 34px; line-height: 1.02;
  letter-spacing: .01em; text-transform: uppercase; color: var(--aria-rose);
}
.aria-title span { display: block; font-weight: 700; }
.aria-lede { margin: 14px auto 0; max-width: 34em; font-family: var(--aria-display); font-size: 18px; line-height: 1.3; color: var(--aria-rose-2); }
.aria-foot { display: none; }
.aria-foot-brand { font-family: Georgia, 'Times New Roman', serif; font-size: 22px; letter-spacing: .32em; color: var(--aria-rose); }
.aria-foot-contact { font-family: var(--aria-display); font-size: 12px; letter-spacing: .08em; color: var(--aria-rose-3); }

/* ---------- Booking panel shell ---------- */
.aria-panel {
  padding: 6px; border-radius: 22px; overflow: clip;
  background: rgba(255, 255, 255, .1); box-shadow: inset 0 0 0 1px rgba(241, 221, 230, .18), 0 20px 50px rgba(20, 0, 10, .35);
  backdrop-filter: blur(10px); -webkit-backdrop-filter: blur(10px);
}
.aria-panel .booknetic_appointment {
  font-family: var(--aria-font) !important; border-radius: 16px !important; overflow: clip !important;
  background: transparent !important; box-shadow: none !important; margin: 0 auto;
}
.aria-panel .booknetic_appointment * { font-family: var(--aria-font); letter-spacing: -.01em; }

/* Step list (left) */
.aria-panel .booknetic_appointment_steps { background: linear-gradient(180deg, #7a1d45 0%, #621637 55%, #4d0f2a 100%) !important; }
.aria-panel .booknetic_appointment_steps_body > div { font-size: 14px; font-weight: 500; }
.aria-panel .booknetic_appointment_steps_footer { color: rgba(255,255,255,.55) !important; font-size: 12px; }

/* Main area */
.aria-panel .booknetic_appointment_container { background: var(--aria-surface) !important; }
.aria-panel .booknetic_appointment_container_header {
  background: transparent !important; border-bottom: 1px solid var(--aria-line) !important;
  font-family: var(--aria-display) !important; font-size: 20px !important; font-weight: 600 !important; letter-spacing: .02em; text-transform: uppercase; color: var(--aria-accent) !important;
}
.aria-panel .booknetic_appointment_container_body { background: transparent !important; }
.aria-panel .booknetic_appointment_container_footer { background: #fff !important; border-top: 1px solid var(--aria-line) !important; }

/* Service cards — padded, title + duration on one line, one burgundy selected state with a check circle */
.aria-panel .booknetic_service_card {
  position: relative; padding: 16px 56px 16px 18px !important; margin-bottom: 10px !important;
  border: 1px solid var(--aria-line) !important; border-radius: 14px !important; background: #fff !important;
  box-shadow: 0 1px 2px rgba(0,0,0,.04) !important; outline: none !important; cursor: pointer;
  transition: border-color .15s, box-shadow .15s, background .15s, transform .12s;
}
.aria-panel .booknetic_service_card:hover { border-color: rgba(var(--aria-accent-rgb), .45) !important; box-shadow: 0 6px 18px rgba(var(--aria-accent-rgb), .10) !important; }
.aria-panel .booknetic_service_card:active { transform: scale(.995); }
.aria-panel .booknetic_service_card::after {
  content: ''; position: absolute; top: 50%; right: 18px; width: 22px; height: 22px; margin-top: -11px; border-radius: 50%;
  border: 1.5px solid rgba(60,40,48,.28); background: #fff center / 12px no-repeat; transition: background-color .15s, border-color .15s;
}
.aria-panel .booknetic_service_card.booknetic_service_card_selected {
  border-width: 1px !important; border-style: solid !important; border-color: var(--aria-accent) !important;
  background: rgba(var(--aria-accent-rgb), .04) !important; box-shadow: inset 0 0 0 1px var(--aria-accent) !important;
}
.aria-panel .booknetic_service_card.booknetic_service_card_selected::after {
  border-color: var(--aria-accent); background-color: var(--aria-accent);
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12'%3E%3Cpath d='M2.5 6.3l2.3 2.3 4.7-5' fill='none' stroke='%23fff' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
}
.aria-panel .booknetic_service_card_header { display: flex !important; align-items: center !important; padding: 0 !important; margin: 0 !important; min-height: 0 !important; }
.aria-panel .booknetic_service_card_image, .aria-panel .booknetic_service_card_price { display: none !important; }
.aria-panel .booknetic_service_card_title {
  display: flex !important; flex-direction: row !important; flex-wrap: wrap; align-items: center !important; justify-content: flex-start !important;
  gap: 8px 10px; padding: 0 !important; margin: 0 !important; width: auto !important; text-align: left !important;
}
.aria-panel .booknetic_service_title_span { font-size: 16px !important; line-height: 1.3 !important; font-weight: 600 !important; color: var(--aria-ink) !important; padding: 0 !important; }
.aria-panel .booknetic_service_duration_wrapper { margin: 0 !important; padding: 0 !important; }
.aria-panel .booknetic_service_duration_span {
  display: inline-block !important; margin: 0 !important; padding: 2px 9px !important; border-radius: 999px !important;
  background: rgba(var(--aria-accent-rgb), .09) !important; color: var(--aria-accent) !important; font-size: 12px !important; font-weight: 600 !important; line-height: 1.5 !important;
}
.aria-panel .booknetic_service_card_description { margin: 6px 0 0 !important; padding: 0 !important; font-size: 14px !important; line-height: 1.4 !important; color: var(--aria-ink-3) !important; }
.aria-panel .booknetic_service_card_selected .booknetic_service_title_span { color: var(--aria-accent) !important; }

/* Buttons */
.aria-panel .booknetic_btn_primary, .aria-panel .booknetic_next_step_btn, .aria-panel .booknetic_confirm_booking_btn {
  background: var(--aria-accent) !important; border: 0 !important; border-radius: 999px !important; color: #fff !important;
  font-weight: 600 !important; padding-left: 22px !important; padding-right: 22px !important; box-shadow: 0 6px 16px rgba(var(--aria-accent-rgb), .28) !important;
}
.aria-panel .booknetic_btn_primary:hover, .aria-panel .booknetic_next_step_btn:hover, .aria-panel .booknetic_confirm_booking_btn:hover { background: var(--aria-accent-hover) !important; }
.aria-panel .booknetic_btn_secondary, .aria-panel .booknetic_prev_step {
  background: #fff !important; color: var(--aria-accent) !important; border: 1px solid rgba(var(--aria-accent-rgb), .35) !important; border-radius: 999px !important; font-weight: 600 !important;
}

/* Form fields */
.aria-panel input.form-control, .aria-panel select.form-control, .aria-panel textarea.form-control, .aria-panel .select2-selection {
  border-radius: 12px !important; border: 1px solid rgba(60,40,48,.18) !important; background: #fff !important; min-height: 46px; font-size: 15px !important;
}
.aria-panel input.form-control:focus, .aria-panel textarea.form-control:focus { border-color: var(--aria-accent) !important; box-shadow: 0 0 0 4px rgba(var(--aria-accent-rgb), .15) !important; }
.aria-panel label { font-size: 13px !important; font-weight: 500 !important; color: var(--aria-ink-2) !important; }
.aria-panel .booknetic_custom_form label:not([for]), .aria-panel .booknetic_custom_form .form-group > label:only-child { line-height: 1.5; }

/* Calendar */
.aria-panel .booknetic_calendar_div, .aria-panel .booknetic_times { border-radius: 14px !important; border: 1px solid var(--aria-line) !important; background: #fff !important; box-shadow: 0 1px 2px rgba(0,0,0,.04) !important; }
.aria-panel .booknetic_calendar_head { font-weight: 600 !important; }
.aria-panel .booknetic_td.booknetic_calendar_days > div { border-radius: 50% !important; background: transparent !important; font-weight: 500 !important; transition: background .15s, color .15s; }
.aria-panel .booknetic_td.booknetic_calendar_days:not(.booknetic_calendar_empty_day) > div { color: var(--aria-ink) !important; }
.aria-panel .booknetic_td.booknetic_calendar_days:not(.booknetic_calendar_empty_day):hover > div { background: rgba(var(--aria-accent-rgb), .08) !important; }
.aria-panel .booknetic_td.booknetic_calendar_empty_day > div { color: #c8bcc1 !important; }
.aria-panel .booknetic_td.booknetic_calendar_selected_day > div { background: var(--aria-accent) !important; color: #fff !important; }

/* Time slots — cards with Morning / Afternoon / Full day label, bold start, muted "until" end */
.aria-panel .booknetic_times { padding-bottom: 12px !important; }
.aria-panel .booknetic_times_title {
  padding: 14px 16px 10px !important; border: 0 !important; background: transparent !important;
  font-size: 12px !important; font-weight: 600 !important; letter-spacing: .06em; text-transform: uppercase; color: var(--aria-ink-3) !important;
}
.aria-panel .booknetic_times_list { display: grid !important; grid-template-columns: repeat(auto-fill, minmax(140px, 1fr)); gap: 10px; padding: 0 16px !important; }
.aria-panel .booknetic_times_list::before, .aria-panel .booknetic_times_list::after { display: none !important; }
.aria-panel .booknetic_time_element {
  float: none !important; width: auto !important; height: auto !important; margin: 0 !important; padding: 12px 14px !important;
  display: flex !important; flex-direction: column !important; align-items: flex-start !important; justify-content: flex-start !important; gap: 2px;
  border: 1px solid var(--aria-line) !important; border-radius: 12px !important; background: #fff !important; box-shadow: none !important;
  text-align: left !important; cursor: pointer; transition: border-color .15s, background .15s, transform .12s;
}
.aria-panel .booknetic_time_element::before { content: 'Slot'; font-size: 11px; font-weight: 600; letter-spacing: .05em; text-transform: uppercase; color: var(--aria-ink-3); }
.aria-panel .booknetic_time_element[data-time="09:30"]::before { content: 'Morning'; }
.aria-panel .booknetic_time_element[data-time="12:30"]::before { content: 'Midday'; }
.aria-panel .booknetic_time_element[data-time="15:30"]::before { content: 'Afternoon'; }
.aria-panel .booknetic_time_element > div { padding: 0 !important; margin: 0 !important; line-height: 1.3 !important; }
.aria-panel .booknetic_time_element > div:first-child { font-size: 16px !important; font-weight: 600 !important; color: var(--aria-ink) !important; }
.aria-panel .booknetic_time_element > div:last-child { font-size: 13px !important; font-weight: 400 !important; color: var(--aria-ink-3) !important; }
.aria-panel .booknetic_time_element > div:last-child::before { content: 'until '; }
.aria-panel .booknetic_time_element:hover { border-color: var(--aria-accent) !important; }
.aria-panel .booknetic_time_element:active { transform: scale(.98); }
.aria-panel .booknetic_time_element.booknetic_selected_time { background: var(--aria-accent) !important; border-color: var(--aria-accent) !important; }
.aria-panel .booknetic_time_element.booknetic_selected_time::before,
.aria-panel .booknetic_time_element.booknetic_selected_time > div { color: #fff !important; }
.aria-panel .booknetic_time_element.booknetic_selected_time > div:last-child { color: rgba(255,255,255,.75) !important; }

/* Confirm step: no price panel; summary as a clear card */
.aria-panel .booknetic_prices_box, .aria-panel .booknetic_confirm_details_price, .aria-panel .booknetic_add_coupon,
.aria-panel .booknetic_confirm_sum_price, .aria-panel .booknetic_confirm_step_body { display: none !important; }
.aria-panel .booknetic_confirm_container { width: 100% !important; }
.aria-panel .booknetic_confirm_date_time {
  display: grid !important; grid-template-columns: 1fr; gap: 0; width: 100% !important; max-width: none !important; padding: 0 !important; margin: 0 0 12px !important;
  border: 1px solid var(--aria-line) !important; border-radius: 14px !important; background: #fff !important; box-shadow: none !important; overflow: hidden;
}
.aria-panel .booknetic_confirm_date_time > div {
  display: flex; justify-content: space-between; align-items: baseline; gap: 16px; width: auto !important; flex: 1 1 auto !important;
  margin: 0 !important; padding: 14px 18px !important; font-size: 15px;
}
.aria-panel .booknetic_confirm_date_time > div + div { border-top: 1px solid var(--aria-line); }
.aria-panel .booknetic_confirm_date_time .booknetic_text_primary { color: var(--aria-ink-3) !important; font-weight: 500; font-size: 14px; }
.aria-panel .booknetic_confirm_date_time > div > span:last-child { color: var(--aria-ink); font-weight: 600; text-align: right; }
.aria-panel .booknetic_confirm_date_time::after {
  content: 'Tap Submit request to send it. The BEYOND team will review your request and get back to you.';
  display: block; padding: 12px 18px 4px; border-top: 1px solid var(--aria-line); background: #fbf5f7; font-size: 13px; color: var(--aria-ink-3);
  order: 1;
}
/* Client copy, same size, in red, directly under the note above (grid order puts ::before last). */
.aria-panel .booknetic_confirm_date_time::before {
  content: '* Selected slots are subject to approval by BEYOND management and will only be considered confirmed upon being approved.';
  display: block; padding: 0 18px 12px; background: #fbf5f7; font-size: 13px; color: #c0182b; order: 2;
}

/* Finished screen */
.aria-panel .booknetic_appointment_finished { background: var(--aria-surface) !important; padding: 28px 20px !important; text-align: center; }
.aria-panel .booknetic_appointment_finished_icon img { display: none !important; }
.aria-panel .booknetic_appointment_finished_icon::before {
  content: ''; display: block; width: 72px; height: 72px; margin: 0 auto;
  background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 72 72'%3E%3Ccircle cx='36' cy='36' r='34' fill='%237a1d45' fill-opacity='.08' stroke='%237a1d45' stroke-width='2.5'/%3E%3Cpath d='M22 37.5l9.5 9.5L51 27' fill='none' stroke='%237a1d45' stroke-width='3.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center / contain no-repeat;
}
.aria-panel .booknetic_appointment_finished_title {
  margin: 18px auto 6px !important; padding: 0 12px !important; max-width: 18ch; text-align: center !important;
  color: var(--aria-accent) !important; font-size: 34px !important; line-height: 1.05 !important; font-weight: 700 !important; text-transform: uppercase;
}
.aria-panel .booknetic_appointment_finished_subtitle { margin-top: 10px !important; color: var(--aria-ink-3) !important; font-size: 12px !important; text-transform: uppercase; letter-spacing: .08em; font-weight: 600 !important; text-align: center !important; }
.aria-panel .booknetic_appointment_finished_code {
  display: inline-block; margin: 8px auto 0 !important; padding: 8px 20px; border-radius: 12px; background: rgba(var(--aria-accent-rgb), .08);
  color: var(--aria-accent) !important; font-size: 30px !important; font-weight: 700 !important; letter-spacing: .1em; font-family: ui-monospace, 'SF Mono', Menlo, monospace !important;
}
.aria-panel .booknetic_appointment_finished_actions { display: grid !important; gap: 10px; max-width: 320px; margin: 26px auto 0 !important; }
.aria-panel .booknetic_appointment_finished_actions > *:not(.booknetic_hidden) {
  display: flex !important; align-items: center; justify-content: center; gap: 10px; width: 100% !important; min-height: 46px; margin: 0 !important;
  border-radius: 999px !important; border: 1px solid rgba(var(--aria-accent-rgb), .3) !important; background: #fff !important;
  color: var(--aria-accent) !important; font-size: 13px !important; font-weight: 600 !important; letter-spacing: .02em; text-decoration: none !important;
}
.aria-panel .booknetic_appointment_finished_actions > *:hover { background: rgba(var(--aria-accent-rgb), .06) !important; }
.aria-panel .booknetic_appointment_finished_actions > .booknetic_hidden { display: none !important; }
/* Tint the grey action icons burgundy */
.aria-panel .booknetic_appointment_finished_actions img {
  width: 18px !important; height: 18px !important; max-width: none !important; margin: 0 !important; flex: none;
  filter: brightness(0) saturate(100%) invert(15%) sepia(60%) saturate(3200%) hue-rotate(310deg) brightness(85%) contrast(95%);
}
/* Finish is the main action */
.aria-panel #booknetic_finish_btn { background: var(--aria-accent) !important; border-color: var(--aria-accent) !important; color: #fff !important; }
.aria-panel #booknetic_finish_btn img { filter: brightness(0) invert(1); }
@media (max-width: 999px) { .aria-panel .booknetic_appointment_finished_title { font-size: 30px !important; } }

/* ==========================================================================
   Desktop (≥ 1000px): whole page on one screen; only the panel body scrolls if needed
   ========================================================================== */
@media (min-width: 1000px) and (min-height: 640px) {
  body.aria-booking { --aria-top: 0px; overflow: hidden; }
  body.aria-booking.admin-bar { --aria-top: 32px; }
  .aria-main { height: calc(100vh - var(--aria-top)); padding: 18px 24px; }
  .aria-wrap { height: 100%; max-width: 1020px; grid-template-rows: auto minmax(0, 1fr); gap: 14px; }

  /* Compact banner row: logo · title/welcome · schedule */
  .aria-hero { display: grid; grid-template-columns: auto 1fr auto; align-items: center; gap: 22px; text-align: left; }
  .aria-logo { width: 74px; margin: 0; }
  .aria-title { font-size: 30px; }
  .aria-title span { display: inline; }
  .aria-title span::after { content: ' '; }
  .aria-lede { margin: 6px 0 0; max-width: 40em; font-size: 16px; }

  .aria-panel { min-height: 0; display: flex; }
  .aria-panel > * { flex: 1; min-height: 0; }
  .aria-panel .booknetic_appointment { height: 100% !important; width: 100%; }
  .aria-panel .booknetic_appointment_steps { height: auto !important; }
  .aria-panel .booknetic_appointment_container { height: auto !important; display: flex !important; flex-direction: column; min-height: 0; flex: 1; }
  .aria-panel .booknetic_appointment_container_header, .aria-panel .booknetic_appointment_container_footer { flex: none; }
  .aria-panel .booknetic_appointment_container_body { flex: 1 1 auto; height: auto !important; min-height: 0; overflow-y: auto !important; }
  .aria-panel .booknetic_appointment_container_body > div { height: auto !important; min-height: 0 !important; }
}

/* Wide screens: banner as a left column like the PDF, booking panel on the right */
@media (min-width: 1400px) and (min-height: 640px) {
  .aria-wrap { max-width: 1440px; grid-template-columns: minmax(320px, 1fr) 1000px; grid-template-rows: minmax(0, 1fr); gap: 40px; align-items: stretch; }
  .aria-hero { display: flex; flex-direction: column; justify-content: center; align-items: center; text-align: center; gap: 0; }
  .aria-logo { width: 120px; margin-bottom: 22px; }
  .aria-title { font-size: 44px; }
  .aria-title span { display: block; }
  .aria-title span::after { content: none; }
  .aria-lede { margin-top: 14px; font-size: 18px; max-width: 26em; }
  .aria-foot { display: flex; flex-direction: column; align-items: center; gap: 4px; margin-top: 26px; }
}

/* Shorter laptop screens: tighten so every step fits */
@media (min-width: 1000px) and (min-height: 640px) and (max-height: 860px) {
  .aria-main { padding-top: 12px; padding-bottom: 12px; }
  .aria-wrap { gap: 10px; }
  .aria-lede { display: none; }
  .aria-panel .booknetic_appointment_container_header { height: 50px !important; min-height: 0 !important; padding-top: 0 !important; padding-bottom: 0 !important; display: flex !important; align-items: center; }
  .aria-panel .booknetic_appointment_container_footer { height: 62px !important; min-height: 0 !important; padding-top: 0 !important; padding-bottom: 0 !important; display: flex !important; align-items: center; justify-content: space-between; }
  .aria-panel .booknetic_appointment_container_body { padding: 14px 24px !important; }
  .aria-panel .booknetic_appointment_container_body .form-row { margin-bottom: 2px !important; }
  .aria-panel .booknetic_appointment_container_body .form-group { margin-bottom: 8px !important; }
  .aria-panel .booknetic_service_card { padding-top: 10px !important; padding-bottom: 10px !important; margin-bottom: 6px !important; }
  .aria-panel .booknetic_service_card_description { margin-top: 3px !important; font-size: 13px !important; }
}
@media (min-width: 1400px) and (min-height: 640px) and (max-height: 860px) {
  .aria-lede { display: block; font-size: 16px; }
  .aria-logo { width: 96px; margin-bottom: 14px; }
  .aria-title { font-size: 38px; }
}

/* ==========================================================================
   Mobile & tablet (< 1000px): PDF-style banner, slim progress, sticky Back/Next
   ========================================================================== */
@media (max-width: 999px) {
  .aria-foot { display: flex; flex-direction: column; align-items: center; gap: 4px; margin-top: 4px; }
  .aria-wrap .aria-foot { order: 3; }
  .aria-panel .booknetic_appointment { height: auto !important; min-height: 0 !important; min-width: 0 !important; width: 100% !important; max-width: 100% !important; }
  .aria-panel .booknetic_appointment_container,
  .aria-panel .booknetic_appointment_container_body { height: auto !important; min-height: 0 !important; overflow: visible !important; }
  .aria-panel .booknetic_appointment_container_body { padding: 16px !important; }
  .aria-panel .booknetic_appointment_container_body > div { height: auto !important; min-height: 0 !important; }
  .aria-panel .booknetic_appointment_container_header { height: auto !important; padding: 14px 16px !important; }

  /* Slim progress header: ✓ ✓ [3 Details] 4 */
  .aria-panel .booknetic_appointment_steps { height: auto !important; min-height: 0 !important; padding: 10px 12px !important; }
  .aria-panel .booknetic_appointment_steps_footer { display: none !important; }
  .aria-panel .booknetic_appointment_steps_body { display: flex !important; align-items: center; gap: 6px; overflow-x: auto; scrollbar-width: none; height: auto !important; padding: 0 !important; }
  .aria-panel .booknetic_appointment_steps_body::-webkit-scrollbar { display: none; }
  .aria-panel .booknetic_appointment_step_element.booknetic_menu_hidden { display: none !important; }
  .aria-panel .booknetic_appointment_step_element:not(.booknetic_menu_hidden) {
    display: inline-flex !important; align-items: center; gap: 7px; flex: none; width: auto !important; height: auto !important;
    margin: 0 !important; padding: 5px 7px !important; border-radius: 999px; white-space: nowrap;
  }
  .aria-panel .booknetic_appointment_step_element .booknetic_step_title { display: none !important; }
  .aria-panel .booknetic_appointment_step_element.booknetic_active_step { padding-right: 12px !important; background: rgba(255,255,255,.14); }
  .aria-panel .booknetic_appointment_step_element.booknetic_active_step .booknetic_step_title { display: inline !important; color: #fff !important; font-size: 13px !important; font-weight: 600 !important; }
  .aria-panel .booknetic_appointment_step_element .booknetic_badge { margin: 0 !important; flex: none; }

  /* Sticky Back / Next in the thumb zone (Booknetic still decides which buttons show) */
  .aria-panel .booknetic_appointment_container_footer {
    position: sticky !important; bottom: 0; z-index: 20; height: auto !important; min-height: 0 !important;
    display: flex !important; align-items: center; justify-content: space-between; gap: 10px;
    padding: 10px 12px calc(10px + env(safe-area-inset-bottom)) !important;
    background: rgba(255,255,255,.9) !important; backdrop-filter: blur(16px) saturate(170%); -webkit-backdrop-filter: blur(16px) saturate(170%);
  }
  .aria-panel .booknetic_appointment_container_footer .booknetic_btn_primary,
  .aria-panel .booknetic_appointment_container_footer .booknetic_next_step_btn,
  .aria-panel .booknetic_appointment_container_footer .booknetic_confirm_booking_btn { min-height: 46px; flex: 1 1 auto; margin: 0 !important; font-size: 15px !important; text-align: center !important; }
  .aria-panel .booknetic_appointment_container_footer .booknetic_prev_step,
  .aria-panel .booknetic_appointment_container_footer .booknetic_btn_secondary { min-height: 46px; flex: none; margin: 0 !important; }

  .aria-panel .booknetic_service_card { padding: 14px 52px 14px 16px !important; }
  .aria-panel .booknetic_calendar_div { width: 100% !important; }
  .aria-panel .booknetic_td.booknetic_calendar_days { height: 46px !important; }
  .aria-panel .booknetic_td.booknetic_calendar_days > div { width: 38px !important; height: 38px !important; line-height: 38px !important; margin: 0 auto !important; font-size: 15px !important; }
  .aria-panel .booknetic_times { height: auto !important; min-height: 0 !important; margin-top: 12px !important; width: 100% !important; }
  .aria-panel .booknetic_times_list { height: auto !important; min-height: 0 !important; grid-template-columns: 1fr 1fr; padding-bottom: 4px !important; }
  .aria-panel input.form-control, .aria-panel textarea.form-control, .aria-panel .select2-selection { font-size: 16px !important; min-height: 48px; }
}
@media (max-width: 999px) {
  /* Footer sits after the booking panel on phones */
  .aria-wrap { gap: 0; }
  .aria-hero { display: contents; }
  .aria-panel { margin-top: 24px; }
  .aria-foot { margin-top: 22px !important; }
  .aria-panel { order: 2; }
  .aria-foot { order: 3; }
}

/* Current step badge: light badge needs a burgundy number */
.aria-panel .booknetic_appointment_step_element.booknetic_active_step .booknetic_badge { color: var(--aria-accent) !important; font-weight: 700; }
@media (min-width: 1400px) and (min-height: 640px) { .aria-title { font-size: 38px; } }

/* Phone country picker (intl-tel-input) */
.aria-panel .iti__dropdown-content {
  z-index: 10000001 !important; color: var(--aria-ink) !important; background: #fff !important;
  border: 1px solid var(--aria-line) !important; border-radius: 12px !important; overflow: hidden;
  box-shadow: 0 16px 40px rgba(40, 10, 24, .18) !important;
}
.aria-panel .iti__country, .aria-panel .iti__country-name { color: var(--aria-ink) !important; }
.aria-panel .iti__dial-code { color: var(--aria-ink-3) !important; }
.aria-panel .iti__country.iti__highlight { background: rgba(var(--aria-accent-rgb), .08) !important; }
.aria-panel .iti__search-input { padding-left: 38px !important; font-size: 15px !important; color: var(--aria-ink) !important; }
.aria-panel .iti__search-icon { left: 12px !important; }
/* Booknetic gives the Agency select a huge z-index; keep it below the country list unless it's open. */
.aria-panel .select2-container:not(.select2-container--open) { z-index: 1 !important; }

/* Desktop: sit the confirmation in the middle of the tall panel (Booknetic toggles its display, so no flex here) */
@media (min-width: 1000px) and (min-height: 640px) {
  .aria-panel .booknetic_appointment_finished { padding-top: max(28px, calc((100vh - 620px) / 2)) !important; }
}

/* Availability note under the calendar and times (added by aria.js) */
.aria-panel .booknetic_date_time_area { flex-wrap: wrap !important; }
.aria-panel .aria-days-note {
  flex: 0 0 100%; order: 99; box-sizing: border-box;
  display: flex; gap: 10px; align-items: center;
  margin: 16px 0 0 !important; padding: 12px 16px;
  border-radius: 12px; background: rgba(var(--aria-accent-rgb), .06);
  border: 1px solid rgba(var(--aria-accent-rgb), .18);
  color: var(--aria-accent); font-size: 13px; line-height: 1.4; text-align: left;
}
.aria-panel .aria-days-note svg { flex: 0 0 18px; width: 18px; height: 18px; fill: none !important; }
.aria-panel .aria-days-note svg * { fill: none !important; stroke: currentColor !important; }
.aria-panel .aria-days-note strong { font-weight: 600; white-space: nowrap; }
.aria-panel .aria-days-note em { font-style: normal; color: var(--aria-ink-3); }
.aria-panel .aria-days-note em::before { content: '·'; margin: 0 8px; color: rgba(var(--aria-accent-rgb), .4); }
@media (max-width: 999px) {
  .aria-panel .aria-days-note { align-items: flex-start; }
  .aria-panel .aria-days-note em { display: block; margin-top: 2px; }
  .aria-panel .aria-days-note em::before { content: none; }
}

/* Agency dropdown (select2 opens at the end of <body>, outside .aria-panel): compact list in the ARIA theme */
body.aria-booking .select2-container--open .select2-dropdown {
  border: 1px solid rgba(var(--aria-accent-rgb), .25) !important; border-radius: 12px !important; overflow: hidden;
  box-shadow: 0 12px 28px rgba(35, 26, 30, .16) !important; background: #fff !important; margin-top: 4px;
}
body.aria-booking .select2-container--open .select2-dropdown--above { margin-top: -4px; }
body.aria-booking .select2-search--dropdown { padding: 8px !important; border-bottom: 1px solid var(--aria-line); }
body.aria-booking .select2-search--dropdown .select2-search__field {
  height: 34px !important; padding: 0 10px 0 32px !important; border: 1px solid var(--aria-line) !important; border-radius: 8px !important;
  font-size: 14px !important; color: var(--aria-ink) !important; outline: none !important; box-shadow: none !important;
  background: #faf6f8 url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' fill='none' stroke='%2385777d' stroke-width='2' stroke-linecap='round'%3E%3Ccircle cx='6' cy='6' r='4.5'/%3E%3Cpath d='M9.5 9.5 13 13'/%3E%3C/svg%3E") no-repeat 11px center !important;
}
body.aria-booking .select2-search--dropdown .select2-search__field:focus { border-color: var(--aria-accent) !important; background-color: #fff !important; }
body.aria-booking .select2-results__options { max-height: 112px !important; padding: 4px !important; } /* ~3½ rows: 3 visible + a peek of the 4th, so it reads as scrollable */
body.aria-booking .select2-results__option {
  padding: 6px 10px !important; border-radius: 7px; font-size: 13.5px !important; line-height: 1.35 !important; color: var(--aria-ink) !important;
}
body.aria-booking .select2-results__option--highlighted,
body.aria-booking .select2-results__option--highlighted[aria-selected] { background: rgba(var(--aria-accent-rgb), .08) !important; color: var(--aria-accent) !important; }
body.aria-booking .select2-results__option[aria-selected="true"] { background: rgba(var(--aria-accent-rgb), .14) !important; color: var(--aria-accent) !important; font-weight: 600; }
body.aria-booking .select2-results__message { color: var(--aria-ink-3) !important; font-size: 13.5px !important; }

/* Several brokers can request one slot (admin approves); don't show other brokers how many requests a slot already has */
.aria-panel .booknetic_time_group_num, .aria-panel .booknetic_date_group_num { display: none !important; }

/* Approval notice under the date & time heading (added by aria.js) */
.aria-panel .booknetic_appointment_container_header:has(.aria-head-sub) {
  flex-direction: column !important; align-items: flex-start !important; justify-content: center !important; height: auto !important; min-height: 50px !important;
  padding-top: 10px !important; padding-bottom: 10px !important;
}
.aria-panel .aria-head-sub {
  display: block; margin-top: 4px; font-family: inherit; font-size: 13px; font-weight: 500; letter-spacing: 0; text-transform: none; color: var(--aria-ink-3);
}

/* Terms paragraph keeps the line break between its two sentences */
.aria-panel .booknetic_custom_form .form-control-plaintext[data-label] { white-space: pre-line; }

/* Finished-screen buttons switched off in Booknetic settings (e.g. iCal) stay hidden */
.aria-panel .booknetic_appointment_finished_actions > .booknetic_hidden { display: none !important; }
