:root{
  --veb-purple:#6507c8;
  --veb-purple-2:#7b18df;
  --veb-purple-dark:#4a078f;
  --veb-teal:#10a78c;
  --veb-teal-dark:#087965;
  --veb-mint:#e9fff8;
  --veb-mint-2:#dffff4;
  --veb-ink:#2c2732;
  --veb-muted:#696272;
  --veb-line:#e6e0ea;
  --veb-soft:#f7fafc;
  --veb-warn:#fffaf3;
  --veb-shadow:0 8px 24px rgba(39,19,58,.06);
  --veb-shadow-lg:0 16px 42px rgba(45,26,66,.08);
}

.veb-lv,.veb-lv *,.veb-checkout-page,.veb-checkout-page *,.veb-confirm-page,.veb-confirm-page *,.veb-state-checker,.veb-state-checker *,.veb-pricing-grid,.veb-pricing-grid *{box-sizing:border-box}
.veb-lv,.veb-checkout-page,.veb-confirm-page,.veb-state-checker,.veb-pricing-grid{font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:var(--veb-ink);line-height:1.5}
.veb-lv,.veb-checkout-page,.veb-confirm-page{width:100vw;max-width:none;margin-left:calc(50% - 50vw);background:#fff;overflow:clip}
.veb-lv a,.veb-checkout-page a,.veb-confirm-page a{text-decoration:none}
.veb-lv button,.veb-lv input,.veb-checkout-page button,.veb-checkout-page input{font:inherit}
.veb-shell,.veb-lv-container{width:min(1088px,calc(100% - 48px));margin:0 auto}
.veb-system-page .entry-header,.veb-system-page .page-header,.veb-system-page .wp-block-post-title{display:none!important}
.veb-system-page .entry-content,.veb-system-page .site-content,.veb-system-page main{margin-top:0!important;padding-top:0!important}
.veb-system-page .entry-content>*{max-width:none}

/* Shared page hero */
.veb-page-hero,.veb-lv-hero{background:linear-gradient(105deg,#f5f4ff 0%,#f0fbff 52%,#ebfff9 100%);border-bottom:1px solid #edf0f2;padding:66px 0 70px}
.veb-kicker,.veb-lv-eyebrow{margin:0 0 10px;color:var(--veb-teal-dark);font-size:11px;line-height:1;font-weight:800;letter-spacing:.16em;text-transform:uppercase}
.veb-page-hero h1,.veb-lv-hero h1{margin:0;color:#5705a4;font-size:46px;line-height:1.06;letter-spacing:-.045em;font-weight:800}
.veb-page-hero p,.veb-lv-hero p{max-width:720px;margin:16px 0 0;color:#5d5963;font-size:15px;line-height:1.7}

/* ========== Booking page ========== */
.veb-lv-body{padding:48px 0 76px}
.veb-lv-progress{display:flex;align-items:center;gap:0;margin:0 0 32px;padding:0 0 18px;border-bottom:1px solid #ece7f0;overflow-x:auto;scrollbar-width:none}
.veb-lv-progress::-webkit-scrollbar{display:none}
.veb-lv-progress a{position:relative;display:flex;align-items:center;gap:8px;min-width:132px;color:#7d7582;font-size:11px;white-space:nowrap}
.veb-lv-progress a:not(:last-child):after{content:"";position:absolute;right:10px;top:10px;width:28px;height:1px;background:#e4dcea}
.veb-lv-progress a span{display:grid;place-items:center;width:20px;height:20px;border-radius:50%;background:#f0e9f5;color:#744b91;font-size:9px;font-weight:800;flex:0 0 auto}
.veb-lv-progress a small{font-size:11px}
.veb-lv-progress a.done span,.veb-lv-progress a.active span{background:var(--veb-purple);color:#fff}
.veb-lv-progress a.active{color:#4d3658;font-weight:700}
.veb-lv-layout{display:grid;grid-template-columns:minmax(0,1.66fr) minmax(315px,.82fr);gap:34px;align-items:start}
.veb-lv-content{min-width:0}
.veb-lv-summary{position:sticky;top:28px;display:grid;gap:16px}
.veb-lv-alert{border-radius:10px;padding:13px 15px;margin:0 0 18px;font-size:13px;line-height:1.55}
.veb-lv-alert:empty,.veb-lv-alert[hidden]{display:none}
.veb-lv-alert.error{background:#fff2f4;border:1px solid #f0c7ce;color:#922f41}
.veb-lv-alert.success{background:#effcf8;border:1px solid #c7ecdf;color:#176957}
.veb-lv-safe-note{display:flex;gap:12px;padding:15px 16px;margin:0 0 30px;border:1px solid #eadac0;border-radius:12px;background:#fffaf4}
.veb-lv-note-icon{display:grid;place-items:center;width:22px;height:22px;border-radius:50%;background:#fff0d6;color:#a66d14;font-size:12px;font-weight:900;flex:0 0 auto}
.veb-lv-safe-note strong{display:block;color:#6b4b23;font-size:12px}
.veb-lv-safe-note p{margin:4px 0 0;color:#72685e;font-size:11px;line-height:1.55}
.veb-lv-section{scroll-margin-top:24px;margin:0 0 31px;padding:0}
.veb-lv-section h2{margin:0 0 15px;color:#3e2550;font-size:16px;line-height:1.35;font-weight:800}
.veb-lv-section h2 span{color:var(--veb-purple)}
.veb-lv-section-note,.veb-lv-helper,.veb-lv-tiny,.veb-lv-muted{margin:6px 0 14px;color:#7c7480;font-size:11px;line-height:1.55}
.veb-lv-helper a{color:var(--veb-purple);font-weight:700}
.veb-lv-service-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}
.veb-lv-choice{appearance:none;min-height:93px;padding:15px 12px;border:1px solid #e7e0eb;border-radius:10px;background:#fff;text-align:left;cursor:pointer;transition:.17s ease}
.veb-lv-choice:hover{border-color:#c6a1df;transform:translateY(-1px);box-shadow:0 7px 18px rgba(86,21,130,.06)}
.veb-lv-choice.selected{border:1.5px solid var(--veb-purple);background:#fdf9ff;box-shadow:0 0 0 2px rgba(101,7,200,.04)}
.veb-lv-choice strong{display:block;color:#4b2b5e;font-size:11px;line-height:1.3}
.veb-lv-choice small{display:block;margin-top:8px;color:#7c7382;font-size:9.5px;line-height:1.45}
.veb-lv-label,.veb-label{display:block;margin:0 0 7px;color:#4a3c51;font-size:11px;font-weight:700}
.veb-lv-input,.veb-input{width:100%;height:39px;padding:8px 11px;border:1px solid #ddd2e4;border-radius:6px;background:#fff;color:#312b36;font-size:11px;outline:none;transition:.15s}
.veb-lv-input:focus,.veb-input:focus{border-color:#a65dcf;box-shadow:0 0 0 3px rgba(101,7,200,.07)}
.veb-lv-search-wrap{position:relative}
.veb-lv-search-wrap>span{position:absolute;left:11px;top:7px;color:#978b9f;font-size:18px;line-height:1}
.veb-lv-search-wrap input{padding-left:33px}
.veb-lv-states{display:grid;grid-template-columns:1fr 1fr;gap:7px 13px;max-height:260px;margin-top:10px;padding:8px 6px 8px 0;overflow:auto}
.veb-lv-state{appearance:none;display:flex;align-items:center;justify-content:space-between;gap:9px;padding:9px 9px;border:1px solid #eee7f2;border-radius:7px;background:#fff;text-align:left;cursor:pointer;transition:.15s}
.veb-lv-state:hover{border-color:#ceb2df}
.veb-lv-state.selected{border-color:#8e36c3;background:#fcf8ff}
.veb-lv-state>span{color:#56336e;font-size:9.5px;font-weight:700}
.veb-lv-state em{padding:5px 7px;border-radius:999px;font-style:normal;font-size:7.5px;line-height:1;font-weight:800;white-space:nowrap}
.veb-lv-state em.available{border:1px solid #b9eadb;background:#eafff8;color:#0c846d}
.veb-lv-state em.pending{border:1px solid #decdf0;background:#f7f0ff;color:#7648a0}
.veb-lv-state em.contact{border:1px solid #eed9ae;background:#fff8e8;color:#92651c}
.veb-lv-state-result{margin-top:10px}
.veb-lv-state-pill{padding:11px 12px;border-radius:8px;font-size:10px;line-height:1.5}
.veb-lv-state-pill strong{display:block;margin-bottom:2px}
.veb-lv-state-pill.available{border:1px solid #c5ebdf;background:#effdf8;color:#176e5d}
.veb-lv-state-pill.pending{border:1px solid #e2d2ef;background:#faf6ff;color:#67417c}
.veb-lv-state-pill.contact{border:1px solid #efdcb6;background:#fffaf1;color:#775d2d}
.veb-lv-court-warning{margin-top:13px}
.veb-lv-checkline{display:flex;gap:10px;align-items:flex-start;padding:13px;border:1px solid #e1cff0;border-radius:9px;background:#fbf7ff;cursor:pointer}
.veb-lv-checkline input{position:absolute;opacity:0;pointer-events:none}
.veb-lv-checkline>span{position:relative;width:17px;height:17px;margin-top:1px;border:1.5px solid #a886bc;border-radius:4px;background:#fff;flex:0 0 auto}
.veb-lv-checkline input:checked+span{border-color:var(--veb-purple);background:var(--veb-purple)}
.veb-lv-checkline input:checked+span:after{content:"✓";position:absolute;inset:0;display:grid;place-items:center;color:#fff;font-size:10px;font-weight:900}
.veb-lv-checkline p{margin:0;color:#665b6d;font-size:10px;line-height:1.48}
.veb-lv-checkline p strong{display:block;margin-bottom:3px;color:#4c2b60;font-size:11px}
.veb-lv-speed-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.veb-lv-speed{appearance:none;display:flex;justify-content:space-between;align-items:flex-start;gap:12px;min-height:130px;padding:15px 15px 14px;border:1px solid #e2dae7;border-radius:10px;background:#fff;text-align:left;cursor:pointer;transition:.16s}
.veb-lv-speed:hover{border-color:#c5a3d8}
.veb-lv-speed.selected{border-color:var(--veb-purple);background:#fdf9ff;box-shadow:0 0 0 2px rgba(101,7,200,.04)}
.veb-lv-speed small{display:block;color:#5d3675;font-size:10px;font-weight:800}
.veb-lv-speed strong{display:block;margin:7px 0 9px;color:#6a08b8;font-size:20px;line-height:1;font-weight:800}
.veb-lv-speed p{margin:0;color:#766e7a;font-size:9.5px;line-height:1.5}
.veb-lv-radio{position:relative;width:16px;height:16px;border:1.5px solid #b59ac4;border-radius:50%;flex:0 0 auto}
.selected .veb-lv-radio,.veb-lv-radio.filled{border-color:var(--veb-purple)}
.selected .veb-lv-radio:after,.veb-lv-radio.filled:after{content:"";position:absolute;inset:3px;border-radius:50%;background:var(--veb-purple)}
.veb-lv-calendar-layout{display:grid;grid-template-columns:1fr 1fr;gap:16px;align-items:start}
.veb-lv-calendar,.veb-lv-times{padding:14px;border:1px solid #e5dde9;border-radius:10px;background:#fff}
.veb-lv-calendar-head{display:grid;grid-template-columns:30px 1fr 30px;align-items:center;margin-bottom:10px}
.veb-lv-calendar-head strong{text-align:center;color:#613978;font-size:11px}
.veb-lv-calendar-head button{appearance:none;height:28px;border:0;border-radius:6px;background:#faf7fc;color:#725086;cursor:pointer}
.veb-lv-weekdays,.veb-lv-calendar-days{display:grid;grid-template-columns:repeat(7,1fr);gap:3px}
.veb-lv-weekdays span{padding:4px;text-align:center;color:#938797;font-size:8px}
.veb-cal-day{appearance:none;height:29px;border:0;border-radius:5px;background:transparent;color:#564e5b;font-size:8.5px;cursor:pointer}
.veb-cal-day:hover:not([disabled]){background:#f6effc}
.veb-cal-day.selected{background:var(--veb-purple);color:#fff;font-weight:800}
.veb-cal-day.today:not(.selected){box-shadow:inset 0 0 0 1px #cdb5dd}
.veb-cal-day[disabled]{color:#d4ccd8;cursor:not-allowed}
.veb-cal-day.blank{visibility:hidden}
.veb-lv-times-title{margin-bottom:10px;color:#5c3374;font-size:10px;font-weight:800}
.veb-lv-slot-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}
.veb-slot{appearance:none;min-height:33px;padding:7px 8px;border:1px solid #e5d9ec;border-radius:6px;background:#fff;color:#653c79;font-size:9px;font-weight:700;cursor:pointer;transition:.15s}
.veb-slot:hover:not([disabled]){border-color:#a866ca}
.veb-slot.selected{border-color:var(--veb-purple);background:var(--veb-purple);color:#fff}
.veb-slot[disabled]{background:#faf8fb;color:#aaa0af;text-decoration:line-through;cursor:not-allowed}
.veb-slot-loading{grid-column:1/-1;color:#7a7180;font-size:10px}
.veb-lv-fields{display:grid;grid-template-columns:1fr 1fr;gap:11px 14px}
.veb-lv-confirm-line{margin:-4px 0 16px;color:#15836f;font-size:10px;font-weight:700}
.veb-lv-confirm-line span{margin-right:5px}
.veb-lv-payment-step{padding-bottom:0}
.veb-lv-payment-action-row{display:flex;align-items:center;gap:24px;flex-wrap:wrap}
.veb-lv-booking-legitscript{display:block;width:73px;height:79px;flex:0 0 73px;line-height:0}
.veb-lv-booking-legitscript img{display:block;width:73px;height:79px;max-width:none!important}
.veb-lv-pay-btn,.veb-primary-btn{appearance:none;display:inline-flex;align-items:center;justify-content:center;min-height:38px;padding:10px 16px;border:0;border-radius:5px;background:linear-gradient(90deg,#7310d4,#8a22df);box-shadow:0 6px 15px rgba(104,8,194,.17);color:#fff!important;font-size:10.5px;font-weight:800;cursor:pointer;transition:.16s}
.veb-lv-pay-btn:hover,.veb-primary-btn:hover{filter:brightness(1.03);transform:translateY(-1px)}
.veb-lv-pay-btn[disabled],.veb-primary-btn[disabled],.veb-primary-btn.is-disabled{opacity:.48;cursor:not-allowed;transform:none;box-shadow:none}
.veb-lv-pay-btn b{margin-left:7px}
.veb-lv-summary-card,.veb-order-card{padding:17px 18px;border:1px solid #e5dfea;border-radius:11px;background:#fff;box-shadow:var(--veb-shadow)}
.veb-lv-summary-card h3,.veb-order-card h2{margin:0 0 13px;color:#533166;font-size:12px;font-weight:800}
.veb-lv-summary-card dl,.veb-order-card dl{margin:0}
.veb-lv-summary-card dl>div,.veb-order-card dl>div{display:grid;grid-template-columns:88px 1fr;gap:12px;padding:4px 0}
.veb-lv-summary-card dt,.veb-order-card dt{color:#827a86;font-size:10.5px}
.veb-lv-summary-card dd,.veb-order-card dd{margin:0;color:#622b84;text-align:right;font-size:10.5px;font-weight:700;word-break:break-word}
.veb-lv-summary-fee,.veb-lv-summary-total,.veb-order-fee,.veb-order-total{display:flex;justify-content:space-between;gap:12px;margin-top:9px;padding-top:10px;border-top:1px solid #eee8f2}
.veb-lv-summary-fee span,.veb-lv-summary-total span,.veb-order-fee span,.veb-order-total span{color:#756d79;font-size:10.5px}
.veb-lv-summary-fee strong,.veb-order-fee strong{color:#6b0db0;font-size:11.5px}
.veb-lv-summary-total span,.veb-order-total span{color:#56475e;font-weight:800}
.veb-lv-summary-total strong,.veb-order-total strong{color:#6806ac;font-size:14px}
.veb-lv-summary-card>p,.veb-order-card>p{margin:11px 0 0;color:#8f8791;font-size:9.5px;line-height:1.55}
.veb-lv-afterpay,.veb-lv-hours{padding:13px 14px;border-radius:9px}
.veb-lv-afterpay{border:1px solid #d9e7ec;background:#f6fafc}
.veb-lv-afterpay strong{display:block;color:#357a70;font-size:9px}
.veb-lv-afterpay p{margin:5px 0 0;color:#6f7c7a;font-size:8.5px;line-height:1.5}
.veb-lv-hours{border:1px solid #bfe9dc;background:#e7fff7}
.veb-lv-hours strong{display:block;color:#37786c;font-size:8px}
.veb-lv-hours p{margin:6px 0 0;color:#5f7771;font-size:8.4px;line-height:1.5}
.veb-lv-hours small{display:block;margin-top:7px;color:#71857f;font-size:7.8px;line-height:1.45}

/* ========== Checkout ========== */
.veb-checkout-main{padding:86px 0 150px;background:#fff}
.veb-checkout-grid{display:grid;grid-template-columns:minmax(0,1.12fr) minmax(330px,.88fr);gap:36px;align-items:start}
.veb-checkout-left{min-width:0}
.veb-checkout-summary{position:sticky;top:28px}
.veb-demo-card{display:flex;gap:14px;align-items:flex-start;padding:16px 17px;border:1px solid #e8c995;border-radius:12px;background:#fffaf3}
.veb-demo-card.live{border-color:#c8e9dd;background:#effcf8}
.veb-demo-icon{display:grid;place-items:center;width:22px;height:22px;color:#b67718;font-weight:900;flex:0 0 auto}
.veb-demo-card.live .veb-demo-icon{color:var(--veb-teal-dark)}
.veb-demo-card strong{display:block;color:#572d72;font-size:12px}
.veb-demo-card p{margin:4px 0 0;color:#5e5763;font-size:11px;line-height:1.6}
.veb-checkout-section{margin-top:42px}
.veb-checkout-section h2{margin:0 0 16px;color:#462a54;font-size:15px;font-weight:800}
.veb-payment-choice{display:flex;align-items:center;gap:13px;padding:17px 18px;border:1px solid #dccfe5;border-radius:12px;background:#fff}
.veb-payment-choice.selected{border-color:#7f24ca;background:#fcf8ff;box-shadow:0 0 0 1px rgba(101,7,200,.04)}
.veb-card-glyph{display:grid;place-items:center;width:34px;height:34px;border-radius:10px;background:#fff;color:#7114bd;box-shadow:0 3px 10px rgba(80,20,120,.06);font-size:20px}
.veb-payment-choice strong{display:block;color:#56306e;font-size:12px}
.veb-payment-choice small{display:block;margin-top:3px;color:#7b7280;font-size:10px}
.veb-legitscript-trust{display:flex;align-items:center;gap:15px;margin-top:18px;padding:15px 17px;border:1px solid #d9e6e2;border-radius:12px;background:#f7fcfa}
.veb-legitscript-trust>a{display:block;width:73px;height:79px;flex:0 0 73px;line-height:0}
.veb-legitscript-trust img{display:block;width:73px;height:79px;max-width:none!important}
.veb-legitscript-trust strong{display:block;color:#4f3262;font-size:12px;font-weight:700}
.veb-legitscript-trust p{margin:4px 0 0;color:#6e6871;font-size:10.5px;line-height:1.55}
.veb-secure-fields-note{display:flex;gap:13px;align-items:flex-start;margin-top:28px;padding:18px;border:1px dashed #d9e2e9;border-radius:12px;background:#f8fbfd}
.veb-lock-glyph{color:var(--veb-teal);font-size:18px;flex:0 0 auto}
.veb-secure-fields-note strong{display:block;color:#5a306f;font-size:12px}
.veb-secure-fields-note p{margin:4px 0 0;color:#6e6871;font-size:10.5px;line-height:1.6}
.veb-refund-card{margin-top:28px;padding:20px;border:1px solid #e4dfe8;border-radius:12px;background:#fff}
.veb-policy-check{display:flex;align-items:flex-start;gap:11px;color:#4f4754;font-size:11px;line-height:1.5;cursor:pointer}
.veb-policy-check input{position:absolute;opacity:0;pointer-events:none}
.veb-checkbox-ui{position:relative;width:16px;height:16px;margin-top:1px;border:1px solid #aaa1ad;border-radius:3px;background:#fff;flex:0 0 auto}
.veb-policy-check input:checked+.veb-checkbox-ui{border-color:var(--veb-purple);background:var(--veb-purple)}
.veb-policy-check input:checked+.veb-checkbox-ui:after{content:"✓";position:absolute;inset:0;display:grid;place-items:center;color:#fff;font-size:10px;font-weight:900}
.veb-policy-check a{color:var(--veb-purple);font-weight:700;text-decoration:underline}
.veb-policy-divider{height:1px;margin:18px 0;background:#eee8f1}
.veb-refund-card ul{margin:0;padding-left:18px;color:#6b6470;font-size:10px;line-height:1.6}
.veb-refund-card li+li{margin-top:7px}
.veb-refund-card li::marker{color:var(--veb-teal)}
.veb-checkout-pay-btn{min-width:280px;margin-top:28px}
.veb-checkout-hint{margin:9px 0 0;color:#7c7480;font-size:9.5px}
.veb-afterpay-line{display:flex;gap:8px;align-items:flex-start;max-width:650px;margin:24px 0 0;color:#6d6670;font-size:9.5px;line-height:1.55}
.veb-afterpay-line span{color:var(--veb-teal);font-weight:800}
.veb-inline-alert{margin-bottom:20px;padding:13px 15px;border:1px solid #e5d5f0;border-radius:10px;background:#fbf7ff;color:#5d3c70;font-size:12px}
.veb-inline-alert-error{border-color:#efc5cd;background:#fff2f4;color:#922f41}
.veb-inline-alert[hidden]{display:none}
.veb-empty-state{max-width:680px;margin:20px auto;padding:42px;border:1px solid #e5dfea;border-radius:16px;background:#fff;text-align:center;box-shadow:var(--veb-shadow)}
.veb-empty-icon{display:grid;place-items:center;width:42px;height:42px;margin:0 auto 15px;border-radius:50%;background:#fff4e2;color:#a96c10;font-size:20px;font-weight:900}
.veb-empty-icon.success{background:#eafff8;color:#0d846d}
.veb-empty-state h2{margin:0;color:#542c6b;font-size:26px}
.veb-empty-state p{margin:10px auto 20px;color:#726a76;font-size:13px;line-height:1.6}
.veb-secondary-btn{display:inline-flex;align-items:center;justify-content:center;min-height:36px;padding:9px 13px;border:1px solid #ded6e4;border-radius:5px;background:#fff;color:#563c62!important;font-size:9.5px;font-weight:700;transition:.15s}
.veb-secondary-btn:hover{border-color:#b997cb;background:#fcf9ff}

/* ========== Confirmation ========== */
.veb-confirm-main{padding:64px 0 76px;background:#fff}
.veb-confirm-top-grid{display:grid;grid-template-columns:minmax(315px,.82fr) minmax(0,1.18fr);gap:46px;align-items:start}
.veb-confirm-summary-card{padding:22px;border:1px solid #bde9dd;border-radius:12px;background:#eafff8;box-shadow:0 9px 26px rgba(7,115,93,.05)}
.veb-confirm-number{padding-bottom:17px;border-bottom:1px solid #c7eadf}
.veb-confirm-number span{display:block;color:#2a7768;font-size:9px;font-weight:800}
.veb-confirm-number strong{display:block;margin-top:7px;color:#6b0bb6;font-size:18px;letter-spacing:.02em}
.veb-confirm-summary-card dl{margin:16px 0 0}
.veb-confirm-summary-card dl>div{display:grid;grid-template-columns:92px 1fr;gap:12px;padding:4px 0}
.veb-confirm-summary-card dt{color:#6d7a77;font-size:10px}
.veb-confirm-summary-card dd{margin:0;color:#63347e;text-align:right;font-size:10px;font-weight:700}
.veb-confirm-summary-card>p{margin:16px 0 0;padding-top:13px;border-top:1px solid #c7eadf;color:#6f817c;font-size:9.5px;line-height:1.55}
.veb-confirm-next h2,.veb-centered-head>h2{margin:0;color:#57049f;font-size:31px;line-height:1.15;letter-spacing:-.035em;font-weight:800}
.veb-next-list{list-style:none;margin:17px 0 18px;padding:0;display:grid;gap:8px}
.veb-next-list li{display:grid;grid-template-columns:22px 1fr;gap:10px;align-items:center;padding:9px 11px;border:1px solid #e5e0e9;border-radius:8px;background:#fff;box-shadow:0 3px 9px rgba(41,20,57,.025)}
.veb-next-list li>span{display:grid;place-items:center;width:18px;height:18px;border-radius:50%;background:var(--veb-purple);color:#fff;font-size:8px;font-weight:800}
.veb-next-list p{margin:0;color:#605a63;font-size:10.5px;line-height:1.45}
.veb-confirm-actions{display:flex;flex-wrap:wrap;gap:7px;margin:14px 0 15px}
.veb-confirm-actions .veb-primary-btn,.veb-confirm-actions .veb-secondary-btn{min-height:32px;padding:7px 10px;font-size:8.5px}
.veb-mint-note{margin-top:9px;padding:12px 13px;border:1px solid #bfe8dc;border-radius:8px;background:#eafff8;text-align:left}
.veb-mint-note strong{display:block;color:#267568;font-size:10.5px}
.veb-mint-note p{margin:4px 0 0;color:#607a74;font-size:9.5px;line-height:1.55}
.veb-mini-check{display:flex;gap:7px;align-items:flex-start;margin-top:10px;color:#6c666e;font-size:8px}
.veb-mini-check input{accent-color:var(--veb-teal)}
.veb-soft-section,.veb-process-section{padding:70px 0;background:#f6f9fb}
.veb-report-section{padding:70px 0;background:#fff}
.veb-centered-head{text-align:center}
.veb-centered-head>p{max-width:720px;margin:11px auto 0;color:#6c6670;font-size:12px;line-height:1.6}
.veb-centered-head>small{display:block;margin-top:5px;color:#8a838c;font-size:9.5px}
.veb-id-card{max-width:820px;margin:35px auto 18px;padding:19px;border:1px solid #b8e8dc;border-radius:10px;background:#eafff8;text-align:left}
.veb-id-card-head{display:grid;grid-template-columns:35px 1fr;gap:12px;align-items:start}
.veb-doc-icon{display:grid;place-items:center;width:30px;height:30px;border-radius:8px;background:#fff;color:var(--veb-teal-dark);font-size:8px;font-weight:900}
.veb-id-card-head strong{display:block;color:#5a336e;font-size:12px}
.veb-id-card-head p{margin:3px 0 0;color:#60756f;font-size:10px;line-height:1.5}
.veb-id-requirement{display:grid;grid-template-columns:160px 1fr;gap:14px;margin-top:15px;padding:11px 12px;border:1px solid #d8ebe4;border-radius:7px;background:#fff}
.veb-id-requirement strong{color:#5f3972;font-size:9px}
.veb-id-requirement span{color:#666067;font-size:9.5px;line-height:1.5}
.veb-id-foot{margin:10px 0;color:#6f817c;font-size:9px;line-height:1.5}
.veb-primary-btn.small{min-height:30px;padding:7px 10px;font-size:8px}
.veb-doc-grid{display:grid;grid-template-columns:1fr 1fr;gap:11px;max-width:820px;margin:0 auto}
.veb-doc-item{display:flex;gap:10px;align-items:center;min-height:52px;padding:12px 14px;border:1px solid #e3e4e8;border-radius:8px;background:#fff;text-align:left;box-shadow:0 3px 9px rgba(40,28,50,.025)}
.veb-doc-item span{color:var(--veb-teal);font-size:14px}
.veb-doc-item p{margin:0;color:#5f5962;font-size:10px;line-height:1.45}
.veb-wide-note{max-width:820px;margin:15px auto 0}
.veb-report-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px;max-width:820px;margin:35px auto 15px}
.veb-report-grid article{padding:18px;border:1px solid #e5e0e9;border-radius:10px;background:#fff;text-align:left;box-shadow:var(--veb-shadow)}
.veb-report-grid article>span{display:grid;place-items:center;width:28px;height:28px;border-radius:7px;background:#f7f1ff;color:#7315bd;font-size:12px}
.veb-report-grid h3{margin:10px 0 5px;color:#56346a;font-size:12px}
.veb-report-grid p{margin:0;color:#6d6671;font-size:9.5px;line-height:1.55}
.veb-report-rules{display:grid;gap:8px;max-width:820px;margin:0 auto;text-align:left}
.veb-report-rules>div{padding:11px 13px;border:1px solid #e4e1e7;border-radius:8px;background:#fbfcfd}
.veb-report-rules>div:last-child{border-color:#bee9dd;background:#eafff8}
.veb-report-rules strong{display:block;color:#57706c;font-size:10px}
.veb-report-rules p{margin:3px 0 0;color:#6b666d;font-size:9.2px;line-height:1.5}
.veb-journey-list{list-style:none;max-width:660px;margin:34px auto 20px;padding:20px 24px;border:1px solid #e3dee8;border-radius:12px;background:#fff;text-align:left;box-shadow:var(--veb-shadow)}
.veb-journey-list li{display:grid;grid-template-columns:24px 1fr;gap:10px;position:relative;padding:5px 0 8px}
.veb-journey-list li:not(:last-child):before{content:"";position:absolute;left:9px;top:25px;bottom:-2px;width:1px;background:#e6dced}
.veb-journey-list li>span{position:relative;z-index:1;display:grid;place-items:center;width:19px;height:19px;border-radius:50%;background:#ede6f2;color:#6b4382;font-size:8px;font-weight:800}
.veb-journey-list li.done>span{background:var(--veb-purple);color:#fff}
.veb-journey-list strong{display:block;color:#5c3274;font-size:10px}
.veb-journey-list p{margin:2px 0 0;color:#736d76;font-size:9px;line-height:1.45}
.veb-turnaround-card{max-width:660px;margin:0 auto;padding:15px 16px;border:1px solid #bbe8dc;border-radius:9px;background:#eafff8;text-align:left}
.veb-turnaround-card strong{display:block;color:#35766b;font-size:9.5px}
.veb-turnaround-card p{margin:6px 0 0;color:#5e756f;font-size:9px;line-height:1.5}
.veb-turnaround-card small{display:block;margin-top:7px;color:#73847f;font-size:8.5px;line-height:1.45}

/* Supporting shortcodes */
.veb-state-checker,.veb-price-card{padding:21px;border:1px solid var(--veb-line);border-radius:12px;background:#fff;box-shadow:var(--veb-shadow)}
.veb-state-checker h3,.veb-price-card h3{margin:0 0 8px;color:#590b80;font-size:22px}
.veb-critical-note{margin:14px 0;padding:12px;border-left:3px solid var(--veb-purple);background:#faf5ff;color:#5e3d69;font-size:10px;line-height:1.55}
.veb-state-result{margin-top:12px}
.veb-pricing-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}
.veb-price-card p{min-height:70px;color:#766c7b;font-size:10px;line-height:1.5}
.veb-price-row{display:flex;justify-content:space-between;gap:10px;padding:8px 0;border-top:1px solid #eee8f2;font-size:10px}
.veb-price-row strong{color:#6d03b4}

@media(max-width:980px){
  .veb-shell,.veb-lv-container{width:min(100% - 32px,1088px)}
  .veb-lv-layout{grid-template-columns:minmax(0,1fr) 300px;gap:24px}
  .veb-lv-service-grid{grid-template-columns:1fr 1fr}
  .veb-checkout-grid{grid-template-columns:minmax(0,1fr) 330px;gap:24px}
  .veb-confirm-top-grid{gap:28px}
  .veb-pricing-grid{grid-template-columns:1fr 1fr}
}

@media(max-width:760px){
  .veb-page-hero,.veb-lv-hero{padding:42px 0 44px}
  .veb-page-hero h1,.veb-lv-hero h1{font-size:34px}
  .veb-page-hero p,.veb-lv-hero p{font-size:13px}
  .veb-lv-body{padding:28px 0 52px}
  .veb-lv-progress a{min-width:108px}
  .veb-lv-progress a:not(:last-child):after{display:none}
  .veb-lv-layout,.veb-checkout-grid,.veb-confirm-top-grid{display:block}
  .veb-lv-summary,.veb-checkout-summary{position:static;margin-top:26px}
  .veb-lv-summary .veb-lv-hours{display:block}
  .veb-lv-states{grid-template-columns:1fr;max-height:310px}
  .veb-lv-calendar-layout,.veb-lv-fields,.veb-lv-speed-grid{grid-template-columns:1fr}
  .veb-lv-calendar-layout{gap:10px}
  .veb-checkout-main{padding:44px 0 80px}
  .veb-checkout-summary{margin-top:30px}
  .veb-confirm-main{padding:42px 0 52px}
  .veb-confirm-next{margin-top:30px}
  .veb-doc-grid,.veb-report-grid{grid-template-columns:1fr}
  .veb-soft-section,.veb-report-section,.veb-process-section{padding:52px 0}
  .veb-pricing-grid{grid-template-columns:1fr 1fr}
}

@media(max-width:480px){
  .veb-shell,.veb-lv-container{width:min(100% - 22px,1088px)}
  .veb-page-hero h1,.veb-lv-hero h1{font-size:30px}
  .veb-kicker,.veb-lv-eyebrow{font-size:9px}
  .veb-lv-service-grid{grid-template-columns:1fr 1fr;gap:8px}
  .veb-lv-choice{min-height:82px;padding:12px 10px}
  .veb-lv-section{margin-bottom:25px}
  .veb-lv-section h2{font-size:14px}
  .veb-lv-progress{margin-bottom:22px}
  .veb-lv-progress a{min-width:96px}
  .veb-lv-summary-card dl>div,.veb-order-card dl>div,.veb-confirm-summary-card dl>div{grid-template-columns:78px 1fr}
  .veb-checkout-pay-btn{width:100%;min-width:0}
  .veb-confirm-next h2,.veb-centered-head>h2{font-size:27px}
  .veb-confirm-actions a{width:100%}
  .veb-id-requirement{grid-template-columns:1fr;gap:5px}
  .veb-id-card{padding:15px}
  .veb-journey-list{padding:16px}
  .veb-pricing-grid{grid-template-columns:1fr}
}

/* ======================================================================
   v1.4 — Booking UI rebuilt against the supplied Lovable reference.
   This block intentionally isolates the booking app from Elementor/theme
   button styles and guarantees wrapping inside every interactive card.
   ====================================================================== */
#veb-booking-app.veb-lv{
  --veb-purple:#6d16d9;
  --veb-purple-2:#7c22df;
  --veb-purple-dark:#51108f;
  --veb-teal:#0b9d86;
  --veb-ink:#2d2732;
  --veb-muted:#716976;
  --veb-border:#e7e0eb;
  --veb-soft-purple:#fbf8ff;
  --veb-soft-teal:#eafff8;
  --veb-soft-blue:#f5f9fb;
  --veb-soft-warn:#fffaf3;
  --veb-shadow:0 8px 22px rgba(48,29,61,.045);
  position:relative!important;
  left:50%!important;
  width:100vw!important;
  max-width:none!important;
  margin-left:-50vw!important;
  margin-right:0!important;
  padding:0!important;
  overflow-x:clip!important;
  background:#fff!important;
  color:var(--veb-ink)!important;
  font-family:Inter,"Segoe UI",Arial,sans-serif!important;
  font-size:14px!important;
  font-weight:400!important;
  line-height:1.5!important;
  letter-spacing:0!important;
  -webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility;
}
#veb-booking-app *,#veb-booking-app *::before,#veb-booking-app *::after{box-sizing:border-box!important}
#veb-booking-app :where(h1,h2,h3,p,small,strong,em,label,span,dt,dd,div,section,aside,nav){font-family:inherit!important;text-transform:none!important}
#veb-booking-app button,#veb-booking-app input{
  font-family:inherit!important;
  letter-spacing:0!important;
  text-transform:none!important;
  text-shadow:none!important;
  -webkit-appearance:none!important;
  appearance:none!important;
}
/* Kill WordPress/Elementor button overlays and red/magenta hover backgrounds. */
#veb-booking-app button::before,#veb-booking-app button::after{content:none!important;display:none!important}
#veb-booking-app button{
  white-space:normal!important;
  overflow:visible!important;
  word-break:normal!important;
  overflow-wrap:break-word!important;
  box-shadow:none!important;
  text-decoration:none!important;
  outline:none!important;
}
#veb-booking-app button:hover,#veb-booking-app button:focus,#veb-booking-app button:active{
  color:inherit!important;
  text-decoration:none!important;
  filter:none!important;
}
#veb-booking-app button:focus-visible{outline:2px solid rgba(109,22,217,.28)!important;outline-offset:2px!important}
#veb-booking-app a{color:var(--veb-purple)!important;text-decoration:none!important}
#veb-booking-app a:hover,#veb-booking-app a:focus{color:var(--veb-purple-dark)!important;background:transparent!important;text-decoration:none!important}

/* The Lovable page uses a notably narrower centered canvas than the theme. */
#veb-booking-app .veb-lv-container{
  width:min(1036px,calc(100vw - 48px))!important;
  max-width:1036px!important;
  margin:0 auto!important;
  padding:0!important;
}
#veb-booking-app .veb-lv-hero{
  width:100%!important;
  margin:0!important;
  padding:50px 0 51px!important;
  border:0!important;
  border-bottom:1px solid #edf0f2!important;
  background:linear-gradient(105deg,#f5f5ff 0%,#f1fbff 50%,#edfff8 100%)!important;
}
#veb-booking-app .veb-lv-eyebrow{
  margin:0 0 9px!important;
  color:#0b927c!important;
  font-size:10px!important;
  line-height:1!important;
  font-weight:800!important;
  letter-spacing:.16em!important;
  text-transform:uppercase!important;
}
#veb-booking-app .veb-lv-hero h1{
  margin:0!important;
  color:#5705a3!important;
  font-size:39px!important;
  line-height:1.08!important;
  font-weight:800!important;
  letter-spacing:-.035em!important;
}
#veb-booking-app .veb-lv-hero p{
  max-width:690px!important;
  margin:12px 0 0!important;
  color:#5f5964!important;
  font-size:13px!important;
  line-height:1.62!important;
}
#veb-booking-app .veb-lv-body{padding:36px 0 66px!important}
#veb-booking-app .veb-lv-progress{
  display:flex!important;
  align-items:center!important;
  gap:22px!important;
  width:100%!important;
  margin:0 0 27px!important;
  padding:0 0 18px!important;
  border:0!important;
  border-bottom:1px solid #ece7f0!important;
  overflow-x:auto!important;
  scrollbar-width:none!important;
}
#veb-booking-app .veb-lv-progress::-webkit-scrollbar{display:none!important}
#veb-booking-app .veb-lv-progress a{
  display:inline-flex!important;
  align-items:center!important;
  gap:7px!important;
  min-width:0!important;
  flex:0 0 auto!important;
  color:#746c79!important;
  font-size:11px!important;
  line-height:1!important;
  font-weight:500!important;
  white-space:nowrap!important;
}
#veb-booking-app .veb-lv-progress a::after{display:none!important}
#veb-booking-app .veb-lv-progress a span{
  display:grid!important;
  place-items:center!important;
  width:18px!important;
  height:18px!important;
  flex:0 0 18px!important;
  margin:0!important;
  padding:0!important;
  border-radius:50%!important;
  background:#eee5f7!important;
  color:#6a2c97!important;
  font-size:8px!important;
  line-height:1!important;
  font-weight:800!important;
}
#veb-booking-app .veb-lv-progress a.active span,#veb-booking-app .veb-lv-progress a.done span{background:var(--veb-purple)!important;color:#fff!important}
#veb-booking-app .veb-lv-progress a small{font-size:11px!important;line-height:1!important;color:inherit!important}

#veb-booking-app .veb-lv-layout{
  display:grid!important;
  grid-template-columns:minmax(0,676px) 326px!important;
  gap:34px!important;
  align-items:start!important;
  width:100%!important;
  margin:0!important;
  padding:0!important;
}
#veb-booking-app .veb-lv-content{min-width:0!important;width:100%!important}
#veb-booking-app .veb-lv-summary{
  position:sticky!important;
  top:28px!important;
  display:grid!important;
  gap:14px!important;
  width:326px!important;
  min-width:0!important;
  margin:0!important;
  padding:0!important;
}

#veb-booking-app .veb-lv-safe-note,#veb-booking-app .veb-lv-acceptance-note{
  display:flex!important;
  align-items:flex-start!important;
  gap:11px!important;
  width:100%!important;
  margin:0 0 14px!important;
  padding:14px 15px!important;
  border-radius:10px!important;
  box-shadow:none!important;
}
#veb-booking-app .veb-lv-safe-note{border:1px solid #ecdcc3!important;background:#fffaf3!important}
#veb-booking-app .veb-lv-acceptance-note{margin-bottom:27px!important;border:1px solid #dfcdf0!important;background:#faf6ff!important}
#veb-booking-app .veb-lv-note-icon,#veb-booking-app .veb-lv-acceptance-icon{
  display:grid!important;place-items:center!important;
  width:19px!important;height:19px!important;flex:0 0 19px!important;
  margin:1px 0 0!important;padding:0!important;border-radius:50%!important;
  font-size:10px!important;line-height:1!important;font-weight:800!important;
}
#veb-booking-app .veb-lv-note-icon{background:#fff0d7!important;color:#9e6811!important}
#veb-booking-app .veb-lv-acceptance-icon{background:#efe4fb!important;color:#7227a8!important}
#veb-booking-app .veb-lv-safe-note strong,#veb-booking-app .veb-lv-acceptance-note strong{
  display:block!important;margin:0 0 4px!important;color:#5b376c!important;font-size:12.5px!important;line-height:1.3!important;font-weight:750!important;
}
#veb-booking-app .veb-lv-safe-note strong{color:#674b24!important}
#veb-booking-app .veb-lv-safe-note p,#veb-booking-app .veb-lv-acceptance-note p,#veb-booking-app .veb-lv-acceptance-note small{
  display:block!important;margin:0!important;color:#6e6673!important;font-size:11.5px!important;line-height:1.52!important;font-weight:400!important;
  overflow-wrap:anywhere!important;
}
#veb-booking-app .veb-lv-acceptance-note small{margin-top:5px!important;color:#7d7483!important;font-size:10.5px!important}

#veb-booking-app .veb-lv-section{width:100%!important;margin:0 0 30px!important;padding:0!important;border:0!important;scroll-margin-top:24px!important}
#veb-booking-app .veb-lv-section h2{
  margin:0 0 13px!important;padding:0!important;color:#392446!important;
  font-size:17px!important;line-height:1.3!important;font-weight:800!important;letter-spacing:-.015em!important;
}
#veb-booking-app .veb-lv-section h2 span{color:#5b149f!important}
#veb-booking-app .veb-lv-section-note,#veb-booking-app .veb-lv-helper,#veb-booking-app .veb-lv-tiny,#veb-booking-app .veb-lv-muted{
  margin:5px 0 12px!important;padding:0!important;color:#7c7481!important;
  font-size:11.5px!important;line-height:1.5!important;font-weight:400!important;
}
#veb-booking-app .veb-lv-helper{margin-top:8px!important}

/* Service package cards: compact like Lovable, but with safe wrapping. */
#veb-booking-app .veb-lv-service-grid{display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:10px!important;width:100%!important}
#veb-booking-app .veb-lv-choice,#veb-booking-app .veb-lv-choice:hover,#veb-booking-app .veb-lv-choice:focus,#veb-booking-app .veb-lv-choice:active{
  display:block!important;width:100%!important;min-width:0!important;height:auto!important;min-height:88px!important;
  margin:0!important;padding:14px 12px!important;
  border:1px solid #e5deea!important;border-radius:9px!important;
  background:#fff!important;background-image:none!important;color:#3f2c48!important;
  text-align:left!important;cursor:pointer!important;box-shadow:none!important;transform:none!important;
  white-space:normal!important;overflow:hidden!important;overflow-wrap:anywhere!important;
  transition:border-color .15s ease,background-color .15s ease,box-shadow .15s ease!important;
}
#veb-booking-app .veb-lv-choice:hover{border-color:#c9b2da!important;background:#fdfbff!important;color:#3f2c48!important}
#veb-booking-app .veb-lv-choice.selected,#veb-booking-app .veb-lv-choice.selected:hover{
  border:1.5px solid #8240bd!important;background:#fbf7ff!important;color:#3f2c48!important;box-shadow:0 0 0 1px rgba(109,22,217,.035)!important;
}
#veb-booking-app .veb-lv-choice strong{
  display:block!important;max-width:100%!important;margin:0!important;color:#4c2562!important;
  font-size:12.5px!important;line-height:1.28!important;font-weight:750!important;white-space:normal!important;overflow-wrap:anywhere!important;
}
#veb-booking-app .veb-lv-choice small{
  display:block!important;max-width:100%!important;margin:7px 0 0!important;color:#776f7d!important;
  font-size:10.75px!important;line-height:1.4!important;font-weight:400!important;white-space:normal!important;overflow-wrap:anywhere!important;
}

#veb-booking-app .veb-lv-state-panel{width:100%!important;margin:0!important;padding:14px!important;border:1px solid #e7e0eb!important;border-radius:10px!important;background:#fff!important;box-shadow:0 5px 15px rgba(48,30,60,.025)!important}
#veb-booking-app .veb-lv-label{display:block!important;margin:0 0 7px!important;color:#49384f!important;font-size:11.5px!important;line-height:1.2!important;font-weight:700!important}
#veb-booking-app .veb-lv-search-wrap{position:relative!important;width:100%!important;margin:0!important}
#veb-booking-app .veb-lv-search-wrap>span{position:absolute!important;left:12px!important;top:50%!important;transform:translateY(-50%)!important;color:#94899b!important;font-size:15px!important;line-height:1!important;pointer-events:none!important}
#veb-booking-app .veb-lv-input,#veb-booking-app .veb-lv-input:hover,#veb-booking-app .veb-lv-input:focus{
  display:block!important;width:100%!important;min-width:0!important;height:39px!important;min-height:39px!important;
  margin:0!important;padding:8px 11px!important;border:1px solid #ddd3e4!important;border-radius:6px!important;
  background:#fff!important;background-image:none!important;color:#33283a!important;font-size:12px!important;line-height:1.2!important;font-weight:400!important;box-shadow:none!important;
}
#veb-booking-app .veb-lv-search-wrap .veb-lv-input{padding-left:34px!important}
#veb-booking-app .veb-lv-input:focus{border-color:#9870b6!important;box-shadow:0 0 0 2px rgba(109,22,217,.06)!important}
#veb-booking-app .veb-lv-states{display:grid!important;grid-template-columns:1fr 1fr!important;gap:6px 12px!important;width:100%!important;max-height:255px!important;margin:11px 0 0!important;padding:0 4px 0 0!important;overflow:auto!important;scrollbar-width:thin!important;scrollbar-color:#aaa1af transparent!important}
#veb-booking-app .veb-lv-states::-webkit-scrollbar{width:5px!important}
#veb-booking-app .veb-lv-states::-webkit-scrollbar-thumb{background:#aaa1af!important;border-radius:999px!important}
#veb-booking-app .veb-lv-state,#veb-booking-app .veb-lv-state:hover,#veb-booking-app .veb-lv-state:focus,#veb-booking-app .veb-lv-state:active{
  display:flex!important;align-items:center!important;justify-content:flex-start!important;gap:8px!important;
  width:100%!important;min-width:0!important;min-height:35px!important;height:auto!important;
  margin:0!important;padding:7px 8px!important;border:1px solid #eee7f1!important;border-radius:6px!important;
  background:#fff!important;background-image:none!important;color:#57366b!important;text-align:left!important;cursor:pointer!important;
  box-shadow:none!important;transform:none!important;white-space:normal!important;overflow:hidden!important;
}
#veb-booking-app .veb-lv-state:hover{border-color:#d1bedf!important;background:#fdfbff!important;color:#57366b!important}
#veb-booking-app .veb-lv-state.selected,#veb-booking-app .veb-lv-state.selected:hover{border-color:#8b45c4!important;background:#fbf7ff!important;color:#57366b!important}
#veb-booking-app .veb-lv-state>span{min-width:0!important;color:#58376b!important;font-size:10.5px!important;line-height:1.25!important;font-weight:700!important;white-space:normal!important;overflow-wrap:anywhere!important}
#veb-booking-app .veb-lv-state em{display:inline-flex!important;align-items:center!important;justify-content:center!important;flex:0 0 auto!important;margin:0!important;padding:4px 7px!important;border-radius:999px!important;font-style:normal!important;font-size:8px!important;line-height:1!important;font-weight:700!important;white-space:nowrap!important}
#veb-booking-app .veb-lv-state em.available{background:#eafff8!important;border:1px solid #b9eadb!important;color:#12816e!important}
#veb-booking-app .veb-lv-state em.pending{background:#f7efff!important;border:1px solid #dfccef!important;color:#7742a1!important}
#veb-booking-app .veb-lv-state em.contact{background:#fff8e9!important;border:1px solid #edd9aa!important;color:#8a6119!important}
#veb-booking-app .veb-lv-state-panel-note{display:flex!important;gap:9px!important;align-items:flex-start!important;margin:11px 0 0!important;padding:10px 11px!important;border:1px solid #e5ecef!important;border-radius:7px!important;background:#f5fafc!important}
#veb-booking-app .veb-lv-state-panel-note>span{display:grid!important;place-items:center!important;width:16px!important;height:16px!important;flex:0 0 16px!important;border:1px solid #7ecfc0!important;border-radius:50%!important;color:#168a77!important;font-size:8px!important;font-weight:800!important;line-height:1!important}
#veb-booking-app .veb-lv-state-panel-note p{margin:0!important;color:#737e84!important;font-size:10.5px!important;line-height:1.5!important;overflow-wrap:anywhere!important}
#veb-booking-app .veb-lv-state-result{margin:10px 0 0!important}
#veb-booking-app .veb-lv-state-pill{padding:10px 11px!important;border-radius:7px!important;font-size:10.5px!important;line-height:1.45!important;overflow-wrap:anywhere!important}
#veb-booking-app .veb-lv-court-warning{margin:10px 0 0!important}
#veb-booking-app .veb-lv-checkline{display:flex!important;gap:9px!important;align-items:flex-start!important;width:100%!important;margin:0!important;padding:11px!important;border:1px solid #dfccef!important;border-radius:7px!important;background:#fbf8ff!important;cursor:pointer!important}
#veb-booking-app .veb-lv-checkline input{position:absolute!important;opacity:0!important;pointer-events:none!important}
#veb-booking-app .veb-lv-checkline>span{display:block!important;position:relative!important;width:16px!important;height:16px!important;flex:0 0 16px!important;margin:1px 0 0!important;border:1.5px solid #a783bb!important;border-radius:4px!important;background:#fff!important}
#veb-booking-app .veb-lv-checkline input:checked+span{background:var(--veb-purple)!important;border-color:var(--veb-purple)!important}
#veb-booking-app .veb-lv-checkline input:checked+span::after{content:"✓"!important;position:absolute!important;inset:0!important;display:grid!important;place-items:center!important;color:#fff!important;font-size:9px!important;font-weight:900!important}
#veb-booking-app .veb-lv-checkline p{min-width:0!important;margin:0!important;color:#6b6270!important;font-size:10.5px!important;line-height:1.48!important;overflow-wrap:anywhere!important}
#veb-booking-app .veb-lv-checkline p strong{display:block!important;margin:0 0 2px!important;color:#553166!important;font-size:11px!important;font-weight:750!important}

/* Speed cards: radio is absolutely positioned and the copy has its own width.
   This removes the overlap and prevents descriptions from escaping the card. */
#veb-booking-app .veb-lv-speed-grid{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:12px!important;width:100%!important}
#veb-booking-app .veb-lv-speed,#veb-booking-app .veb-lv-speed:hover,#veb-booking-app .veb-lv-speed:focus,#veb-booking-app .veb-lv-speed:active{
  position:relative!important;display:block!important;width:100%!important;min-width:0!important;height:auto!important;min-height:118px!important;
  margin:0!important;padding:14px 40px 14px 14px!important;border:1px solid #e2d9e8!important;border-radius:9px!important;
  background:#fff!important;background-image:none!important;color:#3d2a46!important;text-align:left!important;cursor:pointer!important;
  box-shadow:none!important;transform:none!important;white-space:normal!important;overflow:hidden!important;
  transition:border-color .15s ease,background-color .15s ease!important;
}
#veb-booking-app .veb-lv-speed:hover{border-color:#cbb1dc!important;background:#fdfbff!important;color:#3d2a46!important}
#veb-booking-app .veb-lv-speed.selected,#veb-booking-app .veb-lv-speed.selected:hover{border:1.5px solid #8240bd!important;background:#fbf7ff!important;color:#3d2a46!important;box-shadow:0 0 0 1px rgba(109,22,217,.035)!important}
#veb-booking-app .veb-lv-speed-copy{display:block!important;width:100%!important;min-width:0!important;max-width:100%!important;margin:0!important;padding:0!important;white-space:normal!important;overflow:hidden!important}
#veb-booking-app .veb-lv-speed small{display:block!important;max-width:100%!important;margin:0!important;color:#5c3575!important;font-size:11.5px!important;line-height:1.25!important;font-weight:750!important;white-space:normal!important;overflow-wrap:anywhere!important}
#veb-booking-app .veb-lv-speed-icon{color:var(--veb-teal)!important;font-size:11px!important}
#veb-booking-app .veb-lv-speed strong{display:block!important;max-width:100%!important;margin:7px 0 8px!important;color:#6b0db5!important;font-size:21px!important;line-height:1!important;font-weight:800!important;white-space:normal!important}
#veb-booking-app .veb-lv-speed p{display:block!important;max-width:100%!important;margin:0!important;color:#746d78!important;font-size:10.75px!important;line-height:1.45!important;font-weight:400!important;white-space:normal!important;overflow-wrap:anywhere!important;word-break:normal!important}
#veb-booking-app .veb-lv-radio{display:block!important;position:absolute!important;top:14px!important;right:14px!important;width:16px!important;height:16px!important;margin:0!important;padding:0!important;border:1.5px solid #b59bc3!important;border-radius:50%!important;background:#fff!important;z-index:2!important}
#veb-booking-app .veb-lv-speed.selected .veb-lv-radio{border-color:var(--veb-purple)!important}
#veb-booking-app .veb-lv-speed.selected .veb-lv-radio::after{content:""!important;display:block!important;position:absolute!important;inset:3px!important;border-radius:50%!important;background:var(--veb-purple)!important}

#veb-booking-app .veb-lv-calendar-layout{display:grid!important;grid-template-columns:1fr 1fr!important;gap:14px!important;align-items:start!important;width:100%!important}
#veb-booking-app .veb-lv-calendar,#veb-booking-app .veb-lv-times{width:100%!important;min-width:0!important;margin:0!important;padding:14px!important;border:1px solid #e6dfea!important;border-radius:9px!important;background:#fff!important;box-shadow:0 4px 13px rgba(48,30,60,.018)!important}
#veb-booking-app .veb-lv-calendar-head{display:grid!important;grid-template-columns:30px 1fr 30px!important;align-items:center!important;margin:0 0 10px!important}
#veb-booking-app .veb-lv-calendar-head strong{margin:0!important;color:#624079!important;text-align:center!important;font-size:11px!important;line-height:1!important;font-weight:750!important}
#veb-booking-app .veb-lv-calendar-head button,#veb-booking-app .veb-lv-calendar-head button:hover,#veb-booking-app .veb-lv-calendar-head button:focus,#veb-booking-app .veb-lv-calendar-head button:active{
  display:grid!important;place-items:center!important;width:30px!important;height:30px!important;min-height:30px!important;margin:0!important;padding:0!important;border:0!important;border-radius:6px!important;background:#faf7fc!important;background-image:none!important;color:#735184!important;font-size:17px!important;line-height:1!important;cursor:pointer!important;box-shadow:none!important;
}
#veb-booking-app .veb-lv-calendar-head button:hover{background:#f4edf8!important;color:#5c3173!important}
#veb-booking-app .veb-lv-weekdays,#veb-booking-app .veb-lv-calendar-days{display:grid!important;grid-template-columns:repeat(7,minmax(0,1fr))!important;gap:3px!important;width:100%!important}
#veb-booking-app .veb-lv-weekdays span{padding:4px 0!important;color:#918795!important;text-align:center!important;font-size:8.5px!important;line-height:1!important}
#veb-booking-app .veb-cal-day,#veb-booking-app .veb-cal-day:hover,#veb-booking-app .veb-cal-day:focus,#veb-booking-app .veb-cal-day:active{
  display:block!important;width:100%!important;min-width:0!important;height:28px!important;min-height:28px!important;margin:0!important;padding:0!important;border:0!important;border-radius:5px!important;background:transparent!important;background-image:none!important;color:#59515e!important;text-align:center!important;font-size:9px!important;line-height:28px!important;font-weight:500!important;cursor:pointer!important;box-shadow:none!important;
}
#veb-booking-app .veb-cal-day:hover:not([disabled]){background:#f7effc!important;color:#5a356d!important}
#veb-booking-app .veb-cal-day.selected,#veb-booking-app .veb-cal-day.selected:hover{background:var(--veb-purple)!important;color:#fff!important;font-weight:800!important}
#veb-booking-app .veb-cal-day.today:not(.selected){box-shadow:inset 0 0 0 1px #cdb5dc!important}
#veb-booking-app .veb-cal-day[disabled]{background:transparent!important;color:#d3ccd7!important;cursor:not-allowed!important;text-decoration:none!important}
#veb-booking-app .veb-cal-day.blank{visibility:hidden!important}
#veb-booking-app .veb-lv-times-title{margin:0 0 10px!important;color:#5b3970!important;font-size:11px!important;line-height:1.2!important;font-weight:750!important}
#veb-booking-app .veb-lv-slot-grid{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:7px!important;width:100%!important}
#veb-booking-app .veb-slot,#veb-booking-app .veb-slot:hover,#veb-booking-app .veb-slot:focus,#veb-booking-app .veb-slot:active{
  display:block!important;width:100%!important;min-width:0!important;min-height:33px!important;height:auto!important;margin:0!important;padding:8px!important;border:1px solid #e5daeb!important;border-radius:6px!important;background:#fff!important;background-image:none!important;color:#623c76!important;text-align:center!important;font-size:10px!important;line-height:1.15!important;font-weight:700!important;cursor:pointer!important;box-shadow:none!important;transform:none!important;white-space:normal!important;
}
#veb-booking-app .veb-slot:hover:not([disabled]){border-color:#a76cc8!important;background:#fbf7ff!important;color:#5b2d73!important}
#veb-booking-app .veb-slot.selected,#veb-booking-app .veb-slot.selected:hover{border-color:var(--veb-purple)!important;background:var(--veb-purple)!important;color:#fff!important}
#veb-booking-app .veb-slot[disabled]{border-color:#eee8f0!important;background:#faf8fb!important;color:#aaa1af!important;text-decoration:line-through!important;cursor:not-allowed!important}
#veb-booking-app .veb-slot-loading{grid-column:1/-1!important;margin:0!important;color:#7b7280!important;font-size:10.5px!important;line-height:1.5!important}

#veb-booking-app .veb-lv-fields{display:grid!important;grid-template-columns:1fr 1fr!important;gap:10px 12px!important;width:100%!important}
#veb-booking-app .veb-lv-confirm-line{margin:-2px 0 13px!important;color:#11806d!important;font-size:10.5px!important;line-height:1.4!important;font-weight:700!important}
#veb-booking-app .veb-lv-pay-btn,#veb-booking-app .veb-lv-pay-btn:hover,#veb-booking-app .veb-lv-pay-btn:focus,#veb-booking-app .veb-lv-pay-btn:active{
  display:inline-flex!important;align-items:center!important;justify-content:center!important;gap:4px!important;
  width:auto!important;min-width:0!important;min-height:37px!important;height:auto!important;
  margin:0!important;padding:10px 15px!important;border:0!important;border-radius:5px!important;
  background:linear-gradient(90deg,#7115d3,#8520dc)!important;background-color:#7115d3!important;background-image:linear-gradient(90deg,#7115d3,#8520dc)!important;
  color:#fff!important;font-size:10.5px!important;line-height:1!important;font-weight:800!important;text-align:center!important;
  cursor:pointer!important;box-shadow:0 5px 14px rgba(109,22,217,.14)!important;transform:none!important;
}
#veb-booking-app .veb-lv-pay-btn:hover{background:linear-gradient(90deg,#6411bf,#7618cc)!important;background-color:#6411bf!important;color:#fff!important;transform:translateY(-1px)!important}
#veb-booking-app .veb-lv-pay-btn[disabled],#veb-booking-app .veb-lv-pay-btn[disabled]:hover{opacity:.58!important;cursor:not-allowed!important;transform:none!important}

#veb-booking-app .veb-lv-summary-card{width:100%!important;margin:0!important;padding:16px 17px!important;border:1px solid #e5deea!important;border-radius:10px!important;background:#fff!important;box-shadow:var(--veb-shadow)!important;overflow:hidden!important}
#veb-booking-app .veb-lv-summary-card h3{margin:0 0 13px!important;color:#55316a!important;font-size:13px!important;line-height:1.2!important;font-weight:800!important}
#veb-booking-app .veb-lv-summary-card dl{margin:0!important;padding:0!important}
#veb-booking-app .veb-lv-summary-card dl>div{display:grid!important;grid-template-columns:92px minmax(0,1fr)!important;gap:10px!important;padding:4px 0!important;margin:0!important}
#veb-booking-app .veb-lv-summary-card dt{margin:0!important;color:#807786!important;font-size:10px!important;line-height:1.35!important;font-weight:400!important}
#veb-booking-app .veb-lv-summary-card dd{min-width:0!important;margin:0!important;color:#5d3276!important;text-align:right!important;font-size:10px!important;line-height:1.35!important;font-weight:750!important;white-space:normal!important;overflow-wrap:anywhere!important}
#veb-booking-app .veb-lv-summary-fee,#veb-booking-app .veb-lv-summary-total{display:flex!important;align-items:center!important;justify-content:space-between!important;gap:12px!important;margin:9px 0 0!important;padding:10px 0 0!important;border-top:1px solid #eee8f1!important}
#veb-booking-app .veb-lv-summary-fee span,#veb-booking-app .veb-lv-summary-total span{color:#746b79!important;font-size:10px!important;line-height:1.3!important;font-weight:400!important}
#veb-booking-app .veb-lv-summary-fee strong{color:#6d0db6!important;font-size:11px!important;line-height:1.2!important;font-weight:800!important}
#veb-booking-app .veb-lv-summary-total span{color:#55465d!important;font-weight:800!important}
#veb-booking-app .veb-lv-summary-total strong{min-width:0!important;color:#6a0caf!important;font-size:13px!important;line-height:1.2!important;font-weight:800!important;text-align:right!important;overflow-wrap:anywhere!important}
#veb-booking-app .veb-lv-summary-card>p{margin:10px 0 0!important;color:#8a818e!important;font-size:9.5px!important;line-height:1.5!important;overflow-wrap:anywhere!important}
#veb-booking-app .veb-lv-afterpay,#veb-booking-app .veb-lv-hours{width:100%!important;margin:0!important;padding:13px 14px!important;border-radius:9px!important;box-shadow:none!important;overflow:hidden!important}
#veb-booking-app .veb-lv-afterpay{border:1px solid #dce7eb!important;background:#f5f9fc!important}
#veb-booking-app .veb-lv-hours{border:1px solid #bfe9de!important;background:#eafff8!important}
#veb-booking-app .veb-lv-afterpay strong,#veb-booking-app .veb-lv-hours strong{display:block!important;margin:0!important;color:#2f6f64!important;font-size:9.75px!important;line-height:1.3!important;font-weight:800!important;overflow-wrap:anywhere!important}
#veb-booking-app .veb-lv-afterpay p,#veb-booking-app .veb-lv-hours p{margin:5px 0 0!important;color:#687b78!important;font-size:9.5px!important;line-height:1.5!important;overflow-wrap:anywhere!important}
#veb-booking-app .veb-lv-hours small{display:block!important;margin:7px 0 0!important;color:#708682!important;font-size:9px!important;line-height:1.45!important;overflow-wrap:anywhere!important}
#veb-booking-app .veb-lv-alert{width:100%!important;margin:0 0 18px!important;padding:11px 13px!important;border-radius:8px!important;font-size:11px!important;line-height:1.5!important}
#veb-booking-app .veb-lv-alert.error{background:#fff2f4!important;border:1px solid #f0cbd2!important;color:#993544!important}
#veb-booking-app .veb-lv-alert.success{background:#effcf8!important;border:1px solid #c7ecdf!important;color:#176957!important}

@media(max-width:1100px){
  #veb-booking-app .veb-lv-container{width:min(100% - 32px,1036px)!important}
  #veb-booking-app .veb-lv-layout{grid-template-columns:minmax(0,1fr) 310px!important;gap:24px!important}
  #veb-booking-app .veb-lv-summary{width:310px!important}
}
@media(max-width:860px){
  #veb-booking-app .veb-lv-hero{padding:38px 0 40px!important}
  #veb-booking-app .veb-lv-hero h1{font-size:34px!important}
  #veb-booking-app .veb-lv-body{padding:30px 0 54px!important}
  #veb-booking-app .veb-lv-layout{display:block!important}
  #veb-booking-app .veb-lv-summary{position:static!important;width:100%!important;margin-top:22px!important}
  #veb-booking-app .veb-lv-calendar-layout{grid-template-columns:1fr!important}
}
@media(max-width:650px){
  #veb-booking-app .veb-lv-progress{gap:14px!important}
  #veb-booking-app .veb-lv-service-grid{grid-template-columns:1fr 1fr!important;gap:8px!important}
  #veb-booking-app .veb-lv-states{grid-template-columns:1fr!important;max-height:285px!important}
  #veb-booking-app .veb-lv-speed-grid{grid-template-columns:1fr!important}
  #veb-booking-app .veb-lv-speed{min-height:0!important}
  #veb-booking-app .veb-lv-fields{grid-template-columns:1fr!important}
}
@media(max-width:480px){
  #veb-booking-app .veb-lv-container{width:calc(100% - 22px)!important}
  #veb-booking-app .veb-lv-hero{padding:30px 0 32px!important}
  #veb-booking-app .veb-lv-hero h1{font-size:29px!important}
  #veb-booking-app .veb-lv-hero p{font-size:12px!important}
  #veb-booking-app .veb-lv-progress a small{font-size:9.5px!important}
  #veb-booking-app .veb-lv-service-grid{grid-template-columns:1fr 1fr!important}
  #veb-booking-app .veb-lv-choice{min-height:84px!important;padding:12px 10px!important}
  #veb-booking-app .veb-lv-choice strong{font-size:11.5px!important}
  #veb-booking-app .veb-lv-choice small{font-size:10px!important}
  #veb-booking-app .veb-lv-state-panel{padding:11px!important}
  #veb-booking-app .veb-lv-pay-btn{width:100%!important}
}

/* ==========================================================
   V1.5 booking width + state-search reliability adjustments
   ========================================================== */
#veb-booking-app .veb-lv-container{
  width:min(1160px,calc(100vw - 48px))!important;
  max-width:1160px!important;
}
#veb-booking-app .veb-lv-layout{
  grid-template-columns:minmax(0,780px) 340px!important;
  gap:40px!important;
}
#veb-booking-app .veb-lv-summary{
  width:340px!important;
}
#veb-booking-app .veb-lv-state[hidden],
#veb-booking-app .veb-lv-state.veb-filter-hidden{
  display:none!important;
}
#veb-booking-app .veb-lv-state-search-empty{
  display:block!important;
  margin:10px 0 0!important;
  padding:11px 12px!important;
  border:1px dashed #dccfe6!important;
  border-radius:8px!important;
  background:#fbf9fd!important;
  color:#6f6476!important;
  font-size:11px!important;
  line-height:1.45!important;
  text-align:center!important;
}
#veb-booking-app .veb-lv-state-search-empty[hidden]{display:none!important}

@media(max-width:1220px){
  #veb-booking-app .veb-lv-container{width:min(100% - 36px,1120px)!important}
  #veb-booking-app .veb-lv-layout{grid-template-columns:minmax(0,1fr) 330px!important;gap:30px!important}
  #veb-booking-app .veb-lv-summary{width:330px!important}
}
@media(max-width:980px){
  #veb-booking-app .veb-lv-container{width:min(100% - 32px,940px)!important}
  #veb-booking-app .veb-lv-layout{grid-template-columns:minmax(0,1fr) 300px!important;gap:24px!important}
  #veb-booking-app .veb-lv-summary{width:300px!important}
}
@media(max-width:860px){
  #veb-booking-app .veb-lv-container{width:calc(100% - 28px)!important}
  #veb-booking-app .veb-lv-layout{display:block!important}
  #veb-booking-app .veb-lv-summary{position:static!important;width:100%!important;margin-top:22px!important}
}
@media(max-width:480px){
  #veb-booking-app .veb-lv-container{width:calc(100% - 20px)!important}
}

/* ======================================================================
   v1.6 — wider shared canvas + Lovable typography normalization
   ====================================================================== */
/* One consistent content width for Booking, Secure Checkout and Confirmation. */
.veb-shell,
#veb-booking-app .veb-lv-container{
  width:min(1240px,calc(100vw - 56px))!important;
  max-width:1240px!important;
  margin-left:auto!important;
  margin-right:auto!important;
}
#veb-booking-app .veb-lv-layout{
  grid-template-columns:minmax(0,840px) 360px!important;
  gap:40px!important;
}
#veb-booking-app .veb-lv-summary{width:360px!important}

/* Match the lighter Lovable type rhythm: body copy readable, labels not over-bold. */
#veb-booking-app .veb-lv-progress a,
#veb-booking-app .veb-lv-progress a small{font-size:11.5px!important;font-weight:450!important}
#veb-booking-app .veb-lv-progress a.active{font-weight:600!important}
#veb-booking-app .veb-lv-safe-note strong,
#veb-booking-app .veb-lv-acceptance-note strong{font-size:12.5px!important;font-weight:650!important}
#veb-booking-app .veb-lv-safe-note p,
#veb-booking-app .veb-lv-acceptance-note p{font-size:12px!important;line-height:1.58!important}
#veb-booking-app .veb-lv-acceptance-note small{font-size:11px!important;line-height:1.5!important}
#veb-booking-app .veb-lv-section h2{font-size:17.5px!important;font-weight:700!important;letter-spacing:-.01em!important}
#veb-booking-app .veb-lv-section-note,
#veb-booking-app .veb-lv-helper,
#veb-booking-app .veb-lv-tiny,
#veb-booking-app .veb-lv-muted{font-size:12px!important;line-height:1.55!important}
#veb-booking-app .veb-lv-choice strong{font-size:12.5px!important;font-weight:650!important;line-height:1.3!important}
#veb-booking-app .veb-lv-choice small{font-size:11.25px!important;line-height:1.42!important}
#veb-booking-app .veb-lv-label{font-size:12px!important;font-weight:600!important}
#veb-booking-app .veb-lv-input{font-size:12.5px!important}
#veb-booking-app .veb-lv-state>span{font-size:11px!important;font-weight:600!important}
#veb-booking-app .veb-lv-state em{font-size:8.5px!important;font-weight:600!important}
#veb-booking-app .veb-lv-state-panel-note p{font-size:11px!important}
#veb-booking-app .veb-lv-state-pill{font-size:11px!important}
#veb-booking-app .veb-lv-checkline p{font-size:11px!important}
#veb-booking-app .veb-lv-checkline p strong{font-size:11.5px!important;font-weight:650!important}
#veb-booking-app .veb-lv-speed small{font-size:11.5px!important;font-weight:650!important}
#veb-booking-app .veb-lv-speed strong{font-size:20px!important;font-weight:700!important}
#veb-booking-app .veb-lv-speed p{font-size:11.25px!important;line-height:1.5!important}
#veb-booking-app .veb-lv-calendar-head strong{font-size:11.5px!important;font-weight:650!important}
#veb-booking-app .veb-lv-weekdays span{font-size:9px!important}
#veb-booking-app .veb-cal-day{font-size:9.5px!important;font-weight:450!important}
#veb-booking-app .veb-lv-times-title{font-size:11.5px!important;font-weight:650!important}
#veb-booking-app .veb-slot{font-size:10.5px!important;font-weight:600!important}
#veb-booking-app .veb-lv-confirm-line{font-size:11px!important;font-weight:600!important}
#veb-booking-app .veb-lv-pay-btn{font-size:11.25px!important;font-weight:650!important}
#veb-booking-app .veb-lv-summary-card h3{font-size:13.5px!important;font-weight:700!important}
#veb-booking-app .veb-lv-summary-card dt{font-size:10.75px!important}
#veb-booking-app .veb-lv-summary-card dd{font-size:10.75px!important;font-weight:600!important}
#veb-booking-app .veb-lv-summary-fee span,
#veb-booking-app .veb-lv-summary-total span{font-size:10.75px!important}
#veb-booking-app .veb-lv-summary-fee strong{font-size:11.5px!important;font-weight:700!important}
#veb-booking-app .veb-lv-summary-total span{font-weight:650!important}
#veb-booking-app .veb-lv-summary-total strong{font-size:13.5px!important;font-weight:700!important}
#veb-booking-app .veb-lv-summary-card>p{font-size:10.5px!important}
#veb-booking-app .veb-lv-afterpay strong,
#veb-booking-app .veb-lv-hours strong{font-size:10.25px!important;font-weight:650!important}
#veb-booking-app .veb-lv-afterpay p,
#veb-booking-app .veb-lv-hours p{font-size:10.25px!important}
#veb-booking-app .veb-lv-hours small{font-size:9.75px!important}

/* Checkout follows the same width and typographic scale. */
.veb-checkout-grid{grid-template-columns:minmax(0,1fr) 390px!important;gap:44px!important}
.veb-demo-card strong,.veb-payment-choice strong,.veb-secure-fields-note strong{font-size:12.5px!important;font-weight:650!important}
.veb-demo-card p{font-size:12px!important}
.veb-checkout-section h2{font-size:16px!important;font-weight:700!important}
.veb-payment-choice small{font-size:11px!important}
.veb-legitscript-trust strong{font-size:12.5px!important;font-weight:650!important}
.veb-legitscript-trust p{font-size:11.5px!important}
.veb-secure-fields-note p{font-size:11.5px!important}
.veb-policy-check{font-size:11.5px!important}
.veb-policy-check a{font-weight:600!important}
.veb-refund-card ul{font-size:10.75px!important}
.veb-checkout-hint,.veb-afterpay-line{font-size:10.5px!important}
.veb-order-card h3{font-weight:700!important}
.veb-order-card dt{font-size:10.75px!important}
.veb-order-card dd{font-size:10.75px!important;font-weight:600!important}

/* Confirmation uses the same visual scale instead of tiny 8–9px copy. */
.veb-confirm-top-grid{grid-template-columns:minmax(360px,.82fr) minmax(0,1.18fr)!important;gap:52px!important}
.veb-confirm-number span{font-size:10px!important;font-weight:650!important}
.veb-confirm-number strong{font-size:19px!important;font-weight:700!important}
.veb-confirm-summary-card dt{font-size:10.75px!important}
.veb-confirm-summary-card dd{font-size:10.75px!important;font-weight:600!important}
.veb-confirm-summary-card>p{font-size:10.5px!important}
.veb-confirm-next h2,.veb-centered-head>h2{font-weight:700!important}
.veb-next-list p{font-size:11px!important}
.veb-next-list li>span{font-weight:650!important}
.veb-confirm-actions .veb-primary-btn,.veb-confirm-actions .veb-secondary-btn{font-size:9.5px!important;font-weight:600!important}
.veb-mint-note strong{font-size:11px!important;font-weight:650!important}
.veb-mint-note p{font-size:10.5px!important}
.veb-mini-check{font-size:9px!important}
.veb-centered-head>p{font-size:12.5px!important}
.veb-centered-head>small{font-size:10px!important}
.veb-id-card-head strong{font-size:12.5px!important;font-weight:650!important}
.veb-id-card-head p{font-size:10.75px!important}
.veb-id-requirement strong{font-size:10px!important;font-weight:650!important}
.veb-id-requirement span{font-size:10.25px!important}
.veb-id-foot{font-size:9.75px!important}
.veb-doc-item p{font-size:10.5px!important}
.veb-report-grid h3{font-size:12.5px!important;font-weight:650!important}
.veb-report-grid p{font-size:10.25px!important}
.veb-report-rules strong{font-size:10.5px!important;font-weight:650!important}
.veb-report-rules p{font-size:10px!important}
.veb-journey-list strong{font-size:10.75px!important;font-weight:650!important}
.veb-journey-list p{font-size:9.75px!important}
.veb-turnaround-card strong{font-size:10.25px!important;font-weight:650!important}
.veb-turnaround-card p{font-size:9.75px!important}
.veb-turnaround-card small{font-size:9.25px!important}

@media(max-width:1300px){
  .veb-shell,#veb-booking-app .veb-lv-container{width:min(100% - 40px,1180px)!important}
  #veb-booking-app .veb-lv-layout{grid-template-columns:minmax(0,1fr) 345px!important;gap:34px!important}
  #veb-booking-app .veb-lv-summary{width:345px!important}
  .veb-checkout-grid{grid-template-columns:minmax(0,1fr) 360px!important;gap:34px!important}
}
@media(max-width:1020px){
  .veb-shell,#veb-booking-app .veb-lv-container{width:min(100% - 32px,960px)!important}
  #veb-booking-app .veb-lv-layout{grid-template-columns:minmax(0,1fr) 305px!important;gap:24px!important}
  #veb-booking-app .veb-lv-summary{width:305px!important}
  .veb-checkout-grid{grid-template-columns:minmax(0,1fr) 320px!important;gap:24px!important}
}
@media(max-width:860px){
  .veb-shell,#veb-booking-app .veb-lv-container{width:calc(100% - 28px)!important}
  #veb-booking-app .veb-lv-layout,.veb-checkout-grid,.veb-confirm-top-grid{display:block!important}
  #veb-booking-app .veb-lv-summary{width:100%!important}
}
@media(max-width:480px){
  .veb-shell,#veb-booking-app .veb-lv-container{width:calc(100% - 20px)!important}
  .veb-legitscript-trust{align-items:flex-start;gap:13px;padding:14px}
}

/* ======================================================================
   v1.7.1 — State Availability widgets
   Full directory uses two columns so full state names remain visible.
   ====================================================================== */
.veb-sa-home,.veb-sa-directory,.veb-sa-home *,.veb-sa-directory *{box-sizing:border-box}
.veb-sa-home,.veb-sa-directory{font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:#24182f}
.veb-sa-home a,.veb-sa-directory a{text-decoration:none!important}
.veb-sa-home{width:100vw!important;max-width:none!important;margin-left:calc(50% - 50vw)!important;margin-right:calc(50% - 50vw)!important;background:linear-gradient(110deg,#e9fff7 0%,#effffa 45%,#eafff8 100%)!important;padding:58px 24px 62px!important;overflow:hidden!important}
.veb-sa-home-inner{width:min(1080px,100%)!important;margin:0 auto!important}
.veb-sa-heading{text-align:center!important;margin:0 auto 28px!important;max-width:820px!important}
.veb-sa-eyebrow{display:block!important;margin:0 0 9px!important;color:#13977f!important;font-size:11px!important;line-height:1.2!important;font-weight:800!important;letter-spacing:.17em!important;text-transform:uppercase!important}
.veb-sa-heading h2{margin:0!important;padding:0!important;color:#5300a0!important;font-size:34px!important;line-height:1.12!important;font-weight:750!important;letter-spacing:-.035em!important}
.veb-sa-heading p{max-width:820px!important;margin:13px auto 0!important;color:#5f5966!important;font-size:14px!important;line-height:1.62!important;font-weight:400!important}
.veb-sa-card{width:100%!important;background:#fff!important;border:1px solid #ddd8e5!important;border-radius:18px!important;box-shadow:0 9px 24px rgba(50,25,70,.07)!important;overflow:hidden!important}
.veb-sa-card--home{max-width:950px!important;margin:0 auto!important;padding:28px 32px 30px!important}
.veb-sa-card--directory{max-width:1180px!important;margin:0 auto!important;padding:28px 30px 28px!important}
.veb-sa-search-label{display:block!important;margin:0 0 10px!important;color:#4e1881!important;font-size:12px!important;line-height:1.25!important;font-weight:700!important}
.veb-sa-search{position:relative!important;width:100%!important;margin:0 0 16px!important}
.veb-sa-search svg{position:absolute!important;z-index:2!important;left:14px!important;top:50%!important;width:17px!important;height:17px!important;transform:translateY(-50%)!important;color:#817789!important;pointer-events:none!important}
.veb-sa-search input[type="search"]{display:block!important;width:100%!important;height:46px!important;min-height:46px!important;margin:0!important;padding:0 14px 0 42px!important;border:1px solid #d7d2de!important;border-radius:7px!important;background:#fff!important;background-image:none!important;box-shadow:none!important;outline:0!important;color:#2d2631!important;font-family:inherit!important;font-size:12.5px!important;line-height:46px!important;font-weight:400!important;appearance:none!important;-webkit-appearance:none!important}
.veb-sa-search input[type="search"]::placeholder{color:#877f8c!important;opacity:1!important;font-weight:400!important}
.veb-sa-search input[type="search"]:hover{border-color:#c6bdce!important;background:#fff!important;color:#2d2631!important}
.veb-sa-search input[type="search"]:focus{border-color:#8e3cd4!important;box-shadow:0 0 0 3px rgba(118,7,216,.08)!important;background:#fff!important;color:#2d2631!important}
.veb-sa-search input::-webkit-search-cancel-button{cursor:pointer}
.veb-sa-grid{display:grid!important;width:100%!important;align-content:start!important;overflow-y:auto!important;overflow-x:hidden!important;scrollbar-width:thin!important;scrollbar-color:#8d8a90 #f1eef3!important;padding:0 8px 0 0!important}
.veb-sa-grid::-webkit-scrollbar{width:8px!important}
.veb-sa-grid::-webkit-scrollbar-track{background:#f1eef3!important;border-radius:99px!important}
.veb-sa-grid::-webkit-scrollbar-thumb{background:#8e8b91!important;border-radius:99px!important;border:2px solid #f1eef3!important}
.veb-sa-grid--home{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:7px 14px!important;max-height:318px!important}
.veb-sa-grid--directory{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:9px 12px!important;max-height:470px!important;padding-right:10px!important}
.veb-sa-grid--directory .veb-sa-state{min-height:46px!important;padding-left:14px!important;padding-right:12px!important}
.veb-sa-grid--directory .veb-sa-state-name{white-space:normal!important;overflow:visible!important;text-overflow:clip!important;font-size:11.75px!important;line-height:1.3!important;overflow-wrap:anywhere!important}
.veb-sa-grid--directory .veb-sa-badge{max-width:145px!important}
.veb-sa-state{display:flex!important;align-items:center!important;justify-content:space-between!important;gap:10px!important;min-width:0!important;min-height:44px!important;margin:0!important;padding:8px 10px 8px 14px!important;border:1px solid #ddd8e5!important;border-radius:9px!important;background:#fff!important;color:#3c1b65!important;box-shadow:none!important;overflow:hidden!important;transition:border-color .15s ease,box-shadow .15s ease,background-color .15s ease!important}
.veb-sa-state:hover{border-color:#c8b6d8!important;background:#fdfbff!important;box-shadow:0 2px 8px rgba(79,30,111,.04)!important;color:#3c1b65!important}
.veb-sa-state[hidden],.veb-sa-state.veb-sa-filter-hidden{display:none!important}
.veb-sa-state-name{display:block!important;min-width:0!important;overflow:hidden!important;text-overflow:ellipsis!important;white-space:nowrap!important;color:#4c1883!important;font-size:11.5px!important;line-height:1.25!important;font-weight:600!important}
.veb-sa-badge{display:inline-flex!important;align-items:center!important;justify-content:center!important;flex:0 0 auto!important;max-width:132px!important;min-height:24px!important;padding:5px 9px!important;border:1px solid transparent!important;border-radius:999px!important;font-size:8.5px!important;line-height:1.05!important;font-weight:650!important;text-align:center!important;white-space:normal!important}
.veb-sa-badge:before{content:""!important;width:4px!important;height:4px!important;margin-right:5px!important;border-radius:50%!important;background:currentColor!important;flex:0 0 auto!important}
.veb-sa-badge--available{border-color:#73d7c0!important;background:#e8fff8!important;color:#087c68!important}
.veb-sa-badge--pending{border-color:#d8b7fb!important;background:#fbf5ff!important;color:#7d26d3!important}
.veb-sa-badge--contact{border-color:#e0a45c!important;background:#fff6e8!important;color:#a45d09!important}
.veb-sa-note{display:flex!important;align-items:flex-start!important;gap:11px!important;width:100%!important;margin:16px 0 0!important;padding:15px 17px!important;border:1px solid #d1dce3!important;border-radius:10px!important;background:#f4f8fa!important;color:#56656d!important}
.veb-sa-note-icon{display:grid!important;place-items:center!important;flex:0 0 auto!important;width:19px!important;height:19px!important;margin-top:1px!important;border:1.5px solid #16a28d!important;border-radius:50%!important;color:#168f7c!important;font-size:11px!important;line-height:1!important;font-weight:800!important}
.veb-sa-note p{margin:0!important;padding:0!important;color:#5d6770!important;font-size:11.25px!important;line-height:1.52!important;font-weight:400!important}
.veb-sa-actions{display:flex!important;align-items:center!important;gap:10px!important;flex-wrap:wrap!important;margin:18px 0 0!important}
.veb-sa-button,.veb-sa-button:hover,.veb-sa-button:focus,.veb-sa-button:active{display:inline-flex!important;align-items:center!important;justify-content:center!important;min-height:38px!important;margin:0!important;padding:9px 15px!important;border-radius:6px!important;font-family:inherit!important;font-size:11px!important;line-height:1!important;font-weight:650!important;text-decoration:none!important;box-shadow:none!important;transform:none!important;outline:0!important}
.veb-sa-button:before,.veb-sa-button:after{display:none!important;content:none!important}
.veb-sa-button--primary,.veb-sa-button--primary:focus,.veb-sa-button--primary:active{border:1px solid #7012d3!important;background:#7416d9!important;background-image:none!important;color:#fff!important}
.veb-sa-button--primary:hover{border-color:#5d0eb7!important;background:#5f10bc!important;background-image:none!important;color:#fff!important;transform:translateY(-1px)!important}
.veb-sa-button--secondary,.veb-sa-button--secondary:focus,.veb-sa-button--secondary:active{border:1px solid #d4cfd9!important;background:#fff!important;background-image:none!important;color:#4b4052!important}
.veb-sa-button--secondary:hover{border-color:#bfa8cf!important;background:#fbf7ff!important;background-image:none!important;color:#5b2382!important;transform:translateY(-1px)!important}
.veb-sa-empty{margin:12px 0 0!important;padding:15px 16px!important;border:1px dashed #d9cedf!important;border-radius:9px!important;background:#fbf9fd!important;text-align:center!important}
.veb-sa-empty[hidden]{display:none!important}
.veb-sa-empty strong{display:block!important;margin:0 0 3px!important;color:#4f2967!important;font-size:12px!important;font-weight:650!important}
.veb-sa-empty span{display:block!important;color:#786e7e!important;font-size:10.5px!important;line-height:1.45!important;font-weight:400!important}
.veb-sa-directory{width:100%!important;max-width:none!important;margin:0!important;padding:0!important}
.veb-sa-heading--directory{margin-bottom:22px!important}
.veb-sa-heading--directory h2{font-size:31px!important}
.veb-sa-directory-footer{display:flex!important;align-items:center!important;justify-content:space-between!important;gap:16px!important;margin:17px 0 0!important;padding:0 2px!important;color:#716879!important;font-size:10.75px!important;line-height:1.4!important}
.veb-sa-directory-footer a{color:#6d11b5!important;font-weight:650!important;text-decoration:underline!important;text-underline-offset:2px!important}
.veb-sa-directory-footer a:hover{color:#4e0787!important}

@media(max-width:900px){
  .veb-sa-home{padding:48px 20px 52px!important}
  .veb-sa-card--home,.veb-sa-card--directory{padding:24px!important}
  .veb-sa-grid--directory{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  .veb-sa-heading h2{font-size:31px!important}
}
@media(max-width:680px){
  .veb-sa-home{padding:42px 14px 46px!important}
  .veb-sa-card--home,.veb-sa-card--directory{padding:20px 16px!important;border-radius:14px!important}
  .veb-sa-heading{margin-bottom:23px!important}
  .veb-sa-heading h2{font-size:27px!important}
  .veb-sa-heading p{font-size:12.5px!important}
  .veb-sa-grid--home,.veb-sa-grid--directory{grid-template-columns:1fr!important;gap:7px!important;max-height:420px!important}
  .veb-sa-state{min-height:45px!important}
  .veb-sa-state-name{font-size:11.75px!important}
  .veb-sa-badge{max-width:145px!important;font-size:8.75px!important}
  .veb-sa-note p{font-size:10.75px!important}
  .veb-sa-directory-footer{align-items:flex-start!important;flex-direction:column!important;gap:5px!important}
}
@media(max-width:420px){
  .veb-sa-home{padding-left:10px!important;padding-right:10px!important}
  .veb-sa-card--home,.veb-sa-card--directory{padding:17px 12px!important}
  .veb-sa-heading h2{font-size:24px!important}
  .veb-sa-search input[type="search"]{height:44px!important;min-height:44px!important;font-size:12px!important}
  .veb-sa-state{padding-left:10px!important;padding-right:8px!important}
  .veb-sa-state-name{font-size:10.75px!important}
  .veb-sa-badge{max-width:124px!important;padding:5px 7px!important;font-size:8px!important}
  .veb-sa-actions{display:grid!important;grid-template-columns:1fr 1fr!important;width:100%!important}
  .veb-sa-button{width:100%!important;padding-left:8px!important;padding-right:8px!important;font-size:10px!important}
}

/* v1.8.3 — booking state names only + LegitScript placement requested by client */
#veb-booking-app .veb-lv-state{justify-content:flex-start!important}
#veb-booking-app .veb-lv-state>span{width:100%!important}
#veb-booking-app .veb-lv-payment-action-row{display:flex!important;align-items:center!important;gap:24px!important;flex-wrap:wrap!important}
#veb-booking-app .veb-lv-booking-legitscript{display:block!important;width:73px!important;height:79px!important;min-width:73px!important;flex:0 0 73px!important;line-height:0!important}
#veb-booking-app .veb-lv-booking-legitscript img{display:block!important;width:73px!important;height:79px!important;max-width:none!important;min-width:73px!important;object-fit:contain!important}
@media (max-width:767px){
  #veb-booking-app .veb-lv-payment-action-row{align-items:flex-start!important;gap:16px!important}
}


/* ======================================================================
   v1.8.4 — client request: state names only on every public state list
   Backend eligibility/status logic remains unchanged. These rules also
   suppress legacy status markup that may still exist in cached Elementor
   output from older plugin versions.
   ====================================================================== */
.veb-sa-home .veb-sa-badge,
.veb-sa-directory .veb-sa-badge,
[data-veb-state-widget] .veb-sa-badge,
#veb-booking-app .veb-lv-state em,
#veb-booking-app .veb-lv-state-result,
#veb-booking-app .veb-lv-state-pill{display:none!important}
.veb-sa-home .veb-sa-state,
.veb-sa-directory .veb-sa-state,
[data-veb-state-widget] .veb-sa-state{justify-content:flex-start!important}
.veb-sa-home .veb-sa-state-name,
.veb-sa-directory .veb-sa-state-name,
[data-veb-state-widget] .veb-sa-state-name{width:100%!important;max-width:none!important;white-space:normal!important;overflow:visible!important;text-overflow:clip!important}
