/*
 * Scoped CSS for HX Consultation Booking Public Interface
 * Preserves the exact prototype design.
 */

/* ==========================================================
   STRICT FONT ENFORCEMENT (POPPINS)
   Prevents the WordPress theme from overriding the plugin's fonts
   ========================================================== */
   .hx-cb-booking, 
   .hx-cb-booking *, 
   .hx-cb-booking input, 
   .hx-cb-booking select, 
   .hx-cb-booking textarea, 
   .hx-cb-booking button {
	   font-family: 'Poppins', system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif !important;
   }
   
   .hx-cb-booking h1, 
   .hx-cb-booking h2.step-title, 
   .hx-cb-booking .masthead .crest {
	   font-family: 'Poppins', system-ui, sans-serif !important;
   }
   
   .hx-cb-booking .type-info h3 {
	   font-weight: 600 !important;
	   font-size: 18px !important;
	   color: var(--navy, #000153) !important;
	   margin-bottom: 6px;
   }
   
   .hx-cb-booking .type-info p {
	   font-weight: 400 !important;
	   font-size: 14.5px !important;
	   line-height: 1.5 !important;
	   color: #4b5563 !important;
	   margin-bottom: 0px;
   }
   
   .hx-cb-booking .type-duration span {
	   font-weight: 700 !important;
	   letter-spacing: 0.5px !important;
   }
   
   .hx-cb-booking {
	   --maroon: #880000;
	   --maroon-dark: #5e0000;
	   --navy: #000153;
	   --navy-soft: #12124a;
	   --parchment: #f7f3e9;
	   --parchment-deep: #efe8d6;
	   --ink: #22201a;
	   --ink-soft: #5c5748;
	   --gold: #b8902f;
	   --line: #ddd3ba;
	   --white: #fffdf8;
	   --radius: 2px;
   
	   color: var(--ink);
	   box-sizing: border-box;
   }
   
   .hx-cb-booking *,
   .hx-cb-booking *::before,
   .hx-cb-booking *::after {
	   box-sizing: inherit;
   }
   
   .hx-cb-booking a {
	   color: inherit;
   }
   
   /* ==========================================================
	  FULL SCREEN GRID BACKGROUND OVERRIDES
	  ========================================================== */
   .hx-cb-booking {
	   width: 100vw !important;
	   max-width: 100vw !important;
	   position: relative !important;
	   left: 50% !important;
	   right: 50% !important;
	   margin-left: -50vw !important;
	   margin-right: -50vw !important;
	   min-height: 100vh !important;
	   box-sizing: border-box !important;
	   background-color: #FCFAF5 !important; 
	   background-image: 
		   linear-gradient(rgba(0, 0, 0, 0.04) 1px, transparent 1px),
		   linear-gradient(90deg, rgba(0, 0, 0, 0.04) 1px, transparent 1px) !important;
	   background-size: 32px 32px !important;
	   background-position: center top !important;
	   display: flex !important;
	   flex-direction: column !important;
	   align-items: center !important;
	   justify-content: flex-start !important;
	   padding: 80px 20px !important;
   }
   
   .hx-cb-booking .page {
	   width: 100% !important;
	   max-width: 760px !important;
	   margin: 0 auto !important;
	   padding: 0 !important;
	   background: transparent !important;
   }
   
   /* ---------- Masthead ---------- */
   .hx-cb-booking .masthead {
	   text-align: center;
	   margin-bottom: 36px;
   }
   
   .hx-cb-booking .crest {
	   width: 56px;
	   height: 56px;
	   margin: 0 auto 14px;
	   border: 2px solid var(--navy);
	   border-radius: 50%;
	   display: flex;
	   align-items: center;
	   justify-content: center;
	   font-weight: 700;
	   font-size: 20px;
	   color: var(--navy);
	   background: var(--white);
	   position: relative;
   }
   
   .hx-cb-booking .crest::before,
   .hx-cb-booking .crest::after {
	   content: "";
	   position: absolute;
	   width: 6px;
	   height: 6px;
	   border-radius: 50%;
	   background: var(--maroon);
	   top: 50%;
	   transform: translateY(-50%);
   }
   
   .hx-cb-booking .crest::before { left: -11px; }
   .hx-cb-booking .crest::after { right: -11px; }
   
   .hx-cb-booking .masthead .eyebrow {
	   font-size: 11px;
	   letter-spacing: .16em;
	   text-transform: uppercase;
	   color: var(--maroon);
	   font-weight: 700;
	   margin-bottom: 6px;
   }
   
   .hx-cb-booking .masthead h1 {
	   font-weight: 600;
	   font-size: clamp(26px, 4vw, 34px);
	   color: var(--navy);
	   margin: 0 0 8px;
	   letter-spacing: -.01em;
   }
   
   .hx-cb-booking .masthead p {
	   font-size: 14.5px;
	   color: var(--ink-soft);
	   max-width: 440px;
	   margin: 0 auto;
	   line-height: 1.55;
   }
   
   /* ---------- Stepper ---------- */
   .hx-cb-booking .stepper {
	   display: flex;
	   counter-reset: step;
	   border: 1px solid var(--navy);
	   border-radius: var(--radius);
	   overflow: hidden;
	   margin-bottom: 30px;
	   background: var(--white);
   }
   
   .hx-cb-booking .stepper .tab {
	   flex: 1;
	   position: relative;
	   padding: 12px 6px 11px;
	   text-align: center;
	   border-right: 1px dashed #b9b193;
	   font-size: 11px;
	   letter-spacing: .06em;
	   text-transform: uppercase;
	   font-weight: 600;
	   color: #9c9683;
	   background: var(--parchment);
	   transition: background .25s ease, color .25s ease;
   }
   
   .hx-cb-booking .stepper .tab:last-child {
	   border-right: none;
   }
   
   .hx-cb-booking .stepper .tab .num {
	   display: block;
	   font-size: 17px;
	   font-weight: 600;
	   margin-bottom: 2px;
   }
   
   .hx-cb-booking .stepper .tab.is-active {
	   background: var(--navy);
	   color: var(--white);
   }
   
   .hx-cb-booking .stepper .tab.is-done {
	   background: var(--white);
	   color: var(--maroon);
   }
   
   .hx-cb-booking .stepper .tab.is-done .num::after {
	   content: " \2713";
   }
   
   /* ---------- Card ---------- */
   .hx-cb-booking .card {
	   background: var(--white);
	   border: 1px solid var(--line);
	   border-radius: var(--radius);
	   box-shadow: 0 1px 0 var(--line), 0 18px 34px -22px rgba(0,1,83,.35);
	   padding: 34px 30px 30px;
	   position: relative;
   }
   
   .hx-cb-booking .card::before {
	   content: "";
	   position: absolute;
	   top: 0;
	   left: 0;
	   right: 0;
	   height: 4px;
	   background: linear-gradient(90deg, var(--maroon) 0 50%, var(--navy) 50% 100%);
   }
   
   .hx-cb-booking .step-title {
	   font-size: 21px;
	   font-weight: 600;
	   color: var(--navy);
	   margin: 0 0 4px;
   }
   
   .hx-cb-booking .step-sub {
	   font-size: 13.5px;
	   color: var(--ink-soft);
	   margin: 0 0 24px;
   }
   
   /* ---------- Step 1: Types ---------- */
   .hx-cb-booking .type-list {
	   display: flex;
	   flex-direction: column;
	   gap: 10px;
   }
   
   .hx-cb-booking .type-card {
	   border: 1px solid var(--line);
	   border-radius: var(--radius);
	   padding: 16px;
	   display: flex !important;
	   align-items: flex-start !important;
	   justify-content: space-between !important;
	   cursor: pointer;
	   transition: border-color .2s ease, background .2s ease;
	   position: relative !important;
   }
   
   .hx-cb-booking .type-card:hover {
	   border-color: var(--maroon);
   }
   
   .hx-cb-booking .type-card.selected {
	   border-color: var(--maroon);
	   background: #fbf3ee;
   }
   
   .hx-cb-booking .type-radio {
	   width: 16px;
	   height: 16px;
	   border-radius: 50%;
	   border: 2px solid var(--ink-soft);
	   margin-top: 3px;
	   flex-shrink: 0 !important;
	   margin-right: 15px !important;
	   position: relative;
   }
   
   .hx-cb-booking .type-card.selected .type-radio {
	   border-color: var(--maroon);
   }
   
   .hx-cb-booking .type-card.selected .type-radio::after {
	   content: "";
	   position: absolute;
	   width: 8px;
	   height: 8px;
	   border-radius: 50%;
	   background: var(--maroon);
	   top: 50%;
	   left: 50%;
	   transform: translate(-50%,-50%);
   }
   
   .hx-cb-booking .type-info {
	   flex-grow: 1 !important;
	   text-align: left !important;
   }
   
   .hx-cb-booking .type-duration {
	   background-color: #880008;
	   color: #fff;
	   padding: 2px 10px;
	   border-radius: 20px;
	   font-size: 12px;
	   line-height: 20px;
	   flex-shrink: 0 !important;
	   white-space: nowrap !important;
	   margin-top: 2px !important;
   }
   
   /* ==========================================================
	  STAFF SELECTION CARDS
	  ========================================================== */
   .staff-grid {
	   display: grid !important;
	   grid-template-columns: repeat(3, 1fr) !important;
	   gap: 12px !important;
   }
   
   .staff-card {
	   background: #ffffff !important;
	   border: 1px solid #ccd0d4 !important;
	   border-radius: 6px !important;
	   padding: 12px 10px !important;
	   cursor: pointer !important;
	   text-align: center !important;
	   transition: all 0.2s ease !important;
   }
   
   .staff-card:hover {
	   border-color: var(--maroon, #880000) !important;
	   box-shadow: 0 2px 6px rgba(0,0,0,0.05) !important;
   }
   
   .staff-card.selected {
	   border-color: var(--maroon, #880000) !important;
	   background-color: rgba(136, 0, 0, 0.03) !important;
	   box-shadow: 0 0 0 1px var(--maroon, #880000) !important;
   }
   
   .staff-card .staff-name {
	   font-weight: 600 !important;
	   font-size: 14px !important;
	   color: var(--navy, #000153) !important;
	   margin-bottom: 2px !important;
   }
   
   .staff-card .staff-title {
	   font-size: 12px !important;
	   color: #6b7280 !important;
   }
   
   @media (max-width: 600px) {
	   .staff-grid {
		   grid-template-columns: 1fr !important;
	   }
   }
   
   /* ---------- Step 2: Date & Time ---------- */
   .hx-cb-booking .schedule-grid {
	   display: grid;
	   grid-template-columns: 1fr;
	   gap: 22px;
   }
   
   @media (min-width:600px){
	   .hx-cb-booking .schedule-grid {
		   grid-template-columns: 1.1fr 1fr;
	   }
   }
   
   .hx-cb-booking .cal-head {
	   display: flex;
	   align-items: center;
	   justify-content: space-between;
	   margin-bottom: 12px;
   }
   
   .hx-cb-booking .cal-head .month {
	   font-weight: 600;
	   font-size: 15.5px;
	   color: var(--navy);
   }
   
   .hx-cb-booking .cal-nav {
	   display: flex;
	   gap: 6px;
   }
   
   .hx-cb-booking .cal-nav button {
	   width: 26px;
	   height: 26px;
	   border: 1px solid var(--line);
	   background: var(--white);
	   border-radius: 50%;
	   cursor: pointer;
	   font-size: 13px;
	   color: var(--navy);
	   line-height: 1;
   }
   
   .hx-cb-booking .cal-nav button:hover {
	   border-color: var(--navy);
   }
   
   .hx-cb-booking .cal-nav button:disabled {
	   opacity: .3;
	   cursor: not-allowed;
   }
   
   .hx-cb-booking .cal-dow {
	   display: grid;
	   grid-template-columns: repeat(7,1fr);
	   text-align: center;
	   font-size: 10px;
	   letter-spacing: .05em;
	   text-transform: uppercase;
	   color: var(--ink-soft);
	   font-weight: 700;
	   margin-bottom: 6px;
   }
   
   .hx-cb-booking .cal-days {
	   display: grid;
	   grid-template-columns: repeat(7,1fr);
	   gap: 3px;
   }
   
   .hx-cb-booking .cal-day {
	   aspect-ratio: 1;
	   display: flex;
	   align-items: center;
	   justify-content: center;
	   font-size: 13px;
	   border-radius: 50%;
	   cursor: pointer;
	   color: var(--ink);
	   position: relative;
   }
   
   .hx-cb-booking .cal-day.empty { cursor: default; }
   .hx-cb-booking .cal-day.disabled { color: #c9c2ac; cursor: not-allowed; }
   .hx-cb-booking .cal-day:not(.disabled):not(.empty):hover { background: #f1ece0; }
   .hx-cb-booking .cal-day.selected { background: var(--maroon); color: var(--white); font-weight: 700; }
   .hx-cb-booking .cal-day.today:not(.selected)::after {
	   content: "";
	   position: absolute;
	   bottom: 3px;
	   width: 4px;
	   height: 4px;
	   border-radius: 50%;
	   background: var(--gold);
   }
   
   .hx-cb-booking .tz-select {
	   margin-top: 20px !important;
	   margin-bottom: 10px !important;
   }
   
   .hx-cb-booking .slots-label {
	   font-size: 11px;
	   letter-spacing: .06em;
	   text-transform: uppercase;
	   font-weight: 700;
	   color: var(--ink-soft);
	   margin-bottom: 10px;
   }
   
   .hx-cb-booking .slots-wrap {
	   max-height: 320px;
	   overflow-y: auto;
	   padding-right: 4px;
   }
   
   .hx-cb-booking .slot-list {
	   display: flex;
	   flex-direction: column;
	   gap: 8px;
   }
   
   .hx-cb-booking .slot {
	   border: 1px solid var(--line);
	   border-radius: var(--radius);
	   padding: 9px 12px;
	   font-size: 13.5px;
	   font-weight: 600;
	   text-align: center;
	   cursor: pointer;
	   color: var(--navy);
	   transition: all .15s ease;
   }
   
   .hx-cb-booking .slot:hover { border-color: var(--navy); }
   .hx-cb-booking .slot.selected { background: var(--navy); border-color: var(--navy); color: var(--white); }
   
   .hx-cb-booking .slots-empty {
	   font-size: 13px;
	   color: var(--ink-soft);
	   padding: 15px 10px;
	   text-align: center;
	   border: 1px dashed var(--line);
	   border-radius: var(--radius);
   }
   
   /* ---------- Step 3: Form ---------- */
   .hx-cb-booking .form-grid {
	   display: grid;
	   grid-template-columns: 1fr 1fr;
	   gap: 16px 14px;
   }
   
   .hx-cb-booking .field {
	   display: flex;
	   flex-direction: column;
	   gap: 6px;
   }
   
   .hx-cb-booking .field.full { grid-column: 1 / -1; }
   
   .hx-cb-booking .field label {
	   font-size: 12px;
	   font-weight: 700;
	   color: var(--navy);
	   letter-spacing: .02em;
   }
   
   .hx-cb-booking .field label .opt {
	   color: var(--ink-soft);
	   font-weight: 400;
	   text-transform: none;
   }
   
/* ==========================================================
   FORM INPUT STYLING (FIX FOR WIDTH & CONSISTENCY)
   ========================================================== */
   .hx-cb-booking .field input[type="text"],
   .hx-cb-booking .field input[type="email"],
   .hx-cb-booking .field input[type="tel"],
   .hx-cb-booking .field input[type="number"],
   .hx-cb-booking .field select,
   .hx-cb-booking .field textarea {
	   font-family: inherit !important;
	   font-size: 14px !important;
	   padding: 10px 12px !important;
	   border: 1px solid var(--line) !important;
	   border-radius: var(--radius) !important;
	   background: var(--white) !important;
	   color: var(--ink) !important;
	   
	   /* Force 100% width and identical sizing on all elements */
	   width: 100% !important;
	   min-width: 100% !important;
	   box-sizing: border-box !important;
	   box-shadow: none !important;
	   line-height: 1.5 !important;
	   height: auto !important;
	   margin: 0 !important;
   }
   
   .hx-cb-booking .field input:focus,
   .hx-cb-booking .field select:focus,
   .hx-cb-booking .field textarea:focus {
	   outline: none !important;
	   border-color: var(--maroon) !important;
	   box-shadow: 0 0 0 3px rgba(136,0,0,.10) !important;
   }
   
   /* ==========================================================
   DROPDOWN / SELECT BOX STYLING
   ========================================================== */
	.hx-cb-booking .field select {
		appearance: none !important;
		-webkit-appearance: none !important;
		-moz-appearance: none !important;
		cursor: pointer !important;
		
		/* Custom Chevron Arrow */
		padding-right: 36px !important; /* Make room for the arrow */
		background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke='%236b7280'%3E%3Cpath stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M19 9l-7 7-7-7'%3E%3C/path%3E%3C/svg%3E") !important;
		background-repeat: no-repeat !important;
		background-position: right 12px center !important;
		background-size: 16px !important;
		transition: border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out !important;
	}

		/* Fix for number input spin buttons taking up too much space in some browsers */
	.hx-cb-booking .field input[type="number"]::-webkit-inner-spin-button,
	.hx-cb-booking .field input[type="number"]::-webkit-outer-spin-button {
		-webkit-appearance: none;
		margin: 0;
	}
	.hx-cb-booking .field input[type="number"] {
		-moz-appearance: textfield; /* Firefox */
	}

   .hx-cb-booking select:focus {
	   outline: none !important;
	   border-color: var(--navy, #000153) !important;
	   box-shadow: 0 0 0 3px rgba(0, 1, 83, 0.1) !important;
   }
   
   .hx-cb-booking .field textarea {
	   resize: vertical;
	   min-height: 70px;
   }
   
   .hx-cb-booking .field .err {
	   font-size: 11.5px;
	   color: var(--maroon);
	   display: none;
   }
   
   .hx-cb-booking .field.invalid input,
   .hx-cb-booking .field.invalid select,
   .hx-cb-booking .field.invalid textarea {
	   border-color: var(--maroon) !important;
   }
   
   .hx-cb-booking .field.invalid .err { display: block; }
   
   .hx-cb-booking .summary-strip {
	   display: flex;
	   align-items: center;
	   gap: 10px;
	   font-size: 12.5px;
	   color: var(--ink-soft);
	   background: var(--parchment);
	   border: 1px solid var(--line);
	   border-radius: var(--radius);
	   padding: 10px 14px;
	   margin-bottom: 22px;
   }
   
   .hx-cb-booking .summary-strip strong { color: var(--navy); }
   .hx-cb-booking .summary-strip .dot { color: var(--line); }
   
   /* ---------- Buttons & Actions ---------- */
   .hx-cb-booking .card-actions {
	   display: flex;
	   justify-content: space-between;
	   align-items: center;
	   margin-top: 28px;
	   padding-top: 20px;
	   border-top: 1px solid var(--line);
   }
   
   .hx-cb-booking .btn {
	   font-family: 'Poppins', sans-serif;
	   font-size: 13.5px;
	   font-weight: 700;
	   letter-spacing: .02em;
	   padding: 11px 22px;
	   border-radius: var(--radius);
	   border: 1px solid transparent;
	   cursor: pointer;
	   transition: all .15s ease;
   }
   
   .hx-cb-booking .btn-primary { background: var(--maroon); color: var(--white); }
   .hx-cb-booking .btn-primary:hover { background: var(--maroon-dark); }
   .hx-cb-booking .btn-primary:disabled { background: #d8c9c9; cursor: not-allowed; }
   .hx-cb-booking .btn-ghost { background: transparent; color: var(--ink-soft); border-color: var(--line); }
   .hx-cb-booking .btn-ghost:hover { border-color: var(--navy); color: var(--navy); }
   
   /* ---------- Step 4: Ticket ---------- */
   .hx-cb-booking .ticket {
	   border: 1px solid var(--line);
	   border-radius: var(--radius);
	   position: relative;
	   overflow: visible !important; 
   }
   
   .hx-cb-booking .ticket-top {
	   padding: 26px 26px 22px;
	   text-align: center;
	   background: var(--parchment);
   }
   
   .hx-cb-booking .seal {
	   width: 60px;
	   height: 60px;
	   border-radius: 50%;
	   background: var(--navy);
	   color: var(--white);
	   display: flex;
	   align-items: center;
	   justify-content: center;
	   margin: 0 auto 14px;
	   font-size: 26px;
	   border: 3px solid var(--gold);
   }
   
   .hx-cb-booking .ticket-top h2 {
	   color: var(--navy);
	   font-size: 21px;
	   margin: 0 0 6px;
   }
   
   .hx-cb-booking .ticket-top p { font-size: 13.5px; color: var(--ink-soft); margin: 0; }
   
   .hx-cb-booking .perforation {
	   position: relative;
	   height: 0;
	   border-top: 2px dashed var(--line);
	   margin: 0 -1px;
   }
   
   .hx-cb-booking .perforation::before,
   .hx-cb-booking .perforation::after {
	   content: "";
	   position: absolute;
	   top: -11px;
	   width: 22px;
	   height: 22px;
	   border-radius: 50%;
	   background: var(--parchment);
	   border: 1px solid var(--line);
   }
   
   .hx-cb-booking .perforation::before { left: -12px; }
   .hx-cb-booking .perforation::after { right: -12px; }
   
   .hx-cb-booking .ticket-body {
	   padding: 22px 26px 26px;
	   background: var(--white);
	   overflow: visible !important;
   }
   
   .hx-cb-booking .ticket-row {
	   display: flex;
	   justify-content: space-between;
	   padding: 10px 0;
	   border-bottom: 1px solid #f0ebdc;
	   font-size: 13.5px;
   }
   
   .hx-cb-booking .ticket-row:last-child { border-bottom: none; }
   .hx-cb-booking .ticket-row .k { color: var(--ink-soft); }
   .hx-cb-booking .ticket-row .v { color: var(--ink); font-weight: 700; text-align: right; }
   .hx-cb-booking .code { letter-spacing: .08em; color: var(--maroon); }
   
   /* ==========================================================
	  ADD TO CALENDAR DROPDOWN MENU
	  ========================================================== */
   .hx-cb-booking .ticket-actions {
	   display: flex;
	   gap: 10px;
	   margin-top: 20px;
	   flex-wrap: wrap;
	   position: relative;
	   overflow: visible !important;
   }
   
   .hx-cb-booking .ticket-actions .btn {
	   flex: 1;
	   min-width: 150px;
	   text-align: center;
   }
   
   .cal-dropdown-wrapper {
	   position: relative;
	   display: inline-block;
	   z-index: 999 !important;
   }
   
   .cal-dropdown-menu {
	   display: none;
	   position: absolute;
	   top: calc(100% + 8px);
	   left: 0;
	   background: #ffffff;
	   border: 1px solid var(--line);
	   border-radius: var(--radius);
	   box-shadow: 0 4px 12px rgba(0,0,0,0.15);
	   min-width: 200px;
	   z-index: 1000 !important;
	   overflow: hidden;
	   text-align: left;
	   margin-bottom: 20px;
   }
   
   .cal-dropdown-menu.show { display: block; }
   
   .cal-dropdown-menu a {
	   display: block;
	   padding: 12px 16px;
	   text-decoration: none;
	   color: var(--navy);
	   font-size: 14px;
	   font-weight: 500;
	   border-bottom: 1px solid #f0f0f0;
	   transition: background 0.2s;
   }
   
   .cal-dropdown-menu a:last-child { border-bottom: none; }
   .cal-dropdown-menu a:hover { background: #f9f9fb; color: var(--maroon); }
   
   .hx-cb-booking .foot-note {
	   text-align: center;
	   font-size: 12px;
	   color: var(--ink-soft);
	   margin-top: 26px;
   }
   
   .hx-cb-booking .foot-note a { color: var(--maroon); text-decoration: underline; font-weight: 600; }
   
   /* ---------- Step Panels ---------- */
   .hx-cb-booking .panel { display: none; overflow: visible !important; }
   .hx-cb-booking .panel.active { display: block; animation: fadeIn .28s ease; }
   
   @keyframes fadeIn {
	   from{opacity:0;transform:translateY(6px);}
	   to{opacity:1;transform:translateY(0);}
   }
   
   @media (max-width:520px){
	   .hx-cb-booking .form-grid { grid-template-columns: 1fr; }
	   .hx-cb-booking .card { padding: 26px 18px 22px; }
	   .hx-cb-booking .stepper .tab { font-size: 9.5px; padding: 10px 2px 9px; }
	   .hx-cb-booking .stepper .tab .num { font-size: 15px; }
   }
   
   @media (prefers-reduced-motion: reduce){
	   .hx-cb-booking .panel.active { animation: none; }
   }