.kavanu-event.yb-calendar-preview{border-style:dashed!important}.yb-preview-label{display:block;font-size:10px;line-height:1.25;font-weight:700;overflow-wrap:anywhere}.yb-calendar-preview .yb-alert-dot{display:none!important}
.yb-dialog{--yb-bg:#fff;--yb-soft:#f6f8fc;--yb-ink:#142033;--yb-muted:#59677b;--yb-line:#dce3ed;border:1px solid var(--yb-line);border-radius:24px;padding:0;width:min(860px,calc(100vw - 32px));max-height:90dvh;color:var(--yb-ink);background:var(--yb-bg);box-shadow:0 24px 90px #00142c40;overflow:hidden;font:inherit}
.yb-dialog::backdrop{background:#06132799;backdrop-filter:blur(4px)}
body.dark-mode .yb-dialog,html[data-theme=dark] .yb-dialog{--yb-bg:#142031;--yb-soft:#1c2b40;--yb-ink:#eff5ff;--yb-muted:#bdc9da;--yb-line:#39485d}
.yb-shell{display:flex;flex-direction:column;max-height:90dvh}.yb-head{padding:20px 24px;display:flex;align-items:center;gap:16px;border-bottom:1px solid var(--yb-line);flex-shrink:0}.yb-head h2{margin:0;font-size:22px;flex:1;line-height:1.4}.yb-close{width:44px;height:44px;border:1px solid var(--yb-line);background:var(--yb-soft);color:inherit;border-radius:13px;font-size:26px;cursor:pointer}.yb-body{padding:22px 24px;overflow:auto;overscroll-behavior:contain}.yb-footer{padding:16px 24px;display:flex;gap:10px;border-top:1px solid var(--yb-line);background:var(--yb-bg);flex-shrink:0}.yb-btn,.yb-manage{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:44px;padding:11px 18px;border:1px solid #d4dcea;border-radius:12px;background:#f6f8fc;color:#142033;font:inherit;font-weight:650;text-decoration:none;cursor:pointer;line-height:1.4}.yb-primary{background:#112337;color:white;border-color:#112337}.yb-danger{background:#bd253e;color:#fff;border-color:#bd253e}.yb-btn:disabled{opacity:.55;cursor:wait}.yb-btn:focus-visible,.yb-close:focus-visible,.yb-dialog input:focus-visible,.yb-dialog select:focus-visible,.yb-dialog textarea:focus-visible{outline:3px solid #3ca99e;outline-offset:3px}.yb-footer .yb-primary{flex:1}.yb-actions{display:flex;flex-wrap:wrap;gap:9px;margin-top:14px}.yb-note{background:var(--yb-soft,#f1f5fa);color:var(--yb-muted,#55647a);border-radius:12px;padding:12px 14px;font-size:14px;line-height:1.7;margin:0 0 18px}.yb-error{color:#b71f39;background:#fff0f3;padding:12px;border-radius:10px;line-height:1.6}.yb-compare{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin:16px 0}.yb-panel{border:1px solid var(--yb-line,#dce3ed);background:var(--yb-bg,#fff);border-radius:16px;padding:18px;min-width:0}.yb-panel.requested{border:2px solid #168b80;background:var(--yb-soft,#f6faf9)}.yb-panel h3{font-size:15px;margin:0 0 14px;color:var(--yb-muted,#56677c)}.yb-row{display:grid;grid-template-columns:minmax(75px,.7fr) minmax(0,1.3fr);gap:12px;padding:10px 0;border-bottom:1px solid var(--yb-line,#dce3ed);font-size:15px;line-height:1.6}.yb-row:last-child{border-bottom:0}.yb-row span{color:var(--yb-muted,#59677b)}.yb-row strong{overflow-wrap:anywhere}.yb-row.changed{background:#e2f7ef;color:#075b50;border-radius:8px;padding-inline:9px}.yb-delta{display:flex;gap:12px;flex-wrap:wrap;font-weight:650;margin:15px 0}.yb-field{display:block;margin:0 0 16px;font-size:14px;font-weight:600}.yb-field>span{display:block;margin-bottom:8px}.yb-field input:not([type=checkbox]):not([type=radio]),.yb-field select,.yb-field textarea{box-sizing:border-box;width:100%;min-height:46px;border:1px solid var(--yb-line);border-radius:12px;padding:11px;background:var(--yb-bg);color:var(--yb-ink);font:inherit;font-size:16px}.yb-field textarea{min-height:76px;resize:vertical}.yb-fields{display:grid;grid-template-columns:1fr 1fr;gap:14px}.yb-service{padding:14px;border:1px solid var(--yb-line);border-radius:12px;margin-bottom:10px}.yb-service>label,.yb-option{display:flex;gap:10px;align-items:center;min-height:44px;cursor:pointer}.yb-service input{width:20px;height:20px;accent-color:#147f75;flex-shrink:0}.yb-options{padding-inline-start:22px;border-inline-start:2px solid var(--yb-line);margin:9px 0}.yb-options h4{margin:8px 0;font-size:14px}.yb-options label{font-size:14px}.yb-badge{display:inline-flex;align-items:center;gap:5px;background:#fff1d9;color:#704309;border:1px solid #eac77e;border-radius:8px;padding:5px 9px;font-size:12px;font-weight:650}.yb-alert-dot{display:inline-flex;align-items:center;justify-content:center;background:#c91d3b!important;color:#fff!important;min-width:17px;height:17px;border-radius:50%;font-size:12px;font-weight:900;flex-shrink:0}.yb-request-card{padding:18px;border:1px solid #eac77e;background:#fffaf0;border-radius:16px;display:grid;gap:9px;color:#142033}.yb-request-card .yb-btn{justify-self:start}.yb-manage{margin-top:16px;background:#f7e6ab;color:#172133;border-color:transparent}.yb-highlight{outline:3px solid #bba044;outline-offset:4px}.yb-state{padding:16px;background:var(--yb-soft);border-radius:12px;font-size:17px;line-height:1.6}
@media(max-width:600px){.yb-dialog{width:100%;max-width:100%;max-height:94dvh;margin:auto 0 0;border-radius:23px 23px 0 0;border-bottom:0}.yb-shell{max-height:94dvh}.yb-head{padding:16px}.yb-head h2{font-size:20px}.yb-body{padding:16px}.yb-footer{padding:12px 16px max(12px,env(safe-area-inset-bottom));flex-wrap:wrap}.yb-compare{grid-template-columns:1fr;gap:12px}.yb-panel{padding:14px}.yb-row{font-size:14px}.yb-footer .yb-btn{min-height:48px}.yb-fields{gap:10px}.yb-actions .yb-btn{flex:1}.yb-note{font-size:13px}.yb-request-card{padding:14px}}
.yb-dialog,.yb-dialog *{box-sizing:border-box}
.yb-request-summary{display:flex;flex-wrap:wrap;gap:10px;align-items:center}.yb-request-summary .yb-badge{margin:0}
.yb-dialog .yb-calendar-link{display:flex;width:100%;margin-top:16px;min-height:46px;background:var(--yb-soft);color:var(--yb-ink);border-color:var(--yb-line);font-size:14px}
.yb-calendar-link svg{width:20px;height:20px;flex-shrink:0}
.yb-calendar-link:hover{border-color:#168b80}
.kavanu-event.yb-calendar-focus{outline:3px solid #b68a24!important;outline-offset:2px;box-shadow:0 0 0 6px #f6e5b580!important;z-index:8}
@media(max-width:600px){.yb-compare .yb-row{padding-block:6px}.yb-compare h3{margin-bottom:8px}.yb-compare{margin-block:12px}.yb-dialog .yb-calendar-link{min-height:48px;margin-top:12px}}

/* Scoped booking surfaces: page chrome must never hide modal actions. */
.yb-dialog {
  position:fixed; inset: auto 0; top:calc(var(--yb-view-top,0px) + var(--yb-view-height,100dvh)/2);
  transform:translateY(-50%); margin:0 auto; max-height:calc(var(--yb-view-height,100dvh) - 28px);
  width:min(920px,calc(100vw - 40px)); max-width:calc(100vw - 40px); border-radius:26px;
  font-family:inherit; color:var(--yb-ink); text-align:start;
}
.yb-dialog .yb-shell {max-height:calc(var(--yb-view-height,100dvh) - 30px); min-height:0; overflow:hidden;}
.yb-dialog .yb-head {display:flex!important; position:relative; margin:0; padding:22px 28px; color:var(--yb-ink); background:var(--yb-bg); box-shadow:none; border-bottom:1px solid var(--yb-line); min-height:unset; flex:0 0 auto;}
.yb-head>div {flex:1;min-width:0;}
.yb-eyebrow {display:block;font-size:10px;font-weight:800;letter-spacing:.16em;color:#9a7b29;margin-bottom:7px;}
.yb-dialog .yb-head h2 {font-size:23px;font-weight:800;line-height:1.35;}
.yb-dialog .yb-close {margin:0;position:static;flex:0 0 40px;width:40px;height:40px;min-height:40px;display:grid;place-items:center;padding:0;box-shadow:none;}
.yb-dialog .yb-body {min-height:0;flex:1 1 auto;padding:22px 28px;overscroll-behavior:contain;scrollbar-gutter:stable;}
.yb-dialog .yb-footer {display:flex!important;position:relative;flex:0 0 auto;gap:12px;padding:16px 28px;margin:0;background:var(--yb-bg);border-top:1px solid var(--yb-line);box-shadow:0 -6px 24px #14203306;}
.yb-dialog .yb-footer .yb-btn {min-height:48px;flex:1;max-width:none;margin:0;font-size:15px;box-shadow:none;}
.yb-dialog .yb-footer .yb-primary {background:#142033;border-color:#142033;color:white;flex:1.7;}
.yb-dialog .yb-footer .yb-danger {background:#bc3248;border-color:#bc3248;color:#fff;flex:1.35;}
.yb-dialog .yb-btn:disabled {cursor:not-allowed;opacity:.45;}
.yb-dialog .yb-btn:not(:disabled):hover {filter:brightness(.96);}
.yb-dialog [hidden] {display:none!important;}
.yb-dialog .yb-note {font-size:13px;margin-bottom:20px;line-height:1.65;}
.yb-steps {display:flex;gap:28px;align-items:center;margin-bottom:18px;color:var(--yb-muted);font-size:13px;font-weight:700;}
.yb-steps>span {display:flex;gap:9px;align-items:center;}
.yb-steps b {width:28px;height:28px;display:grid;place-items:center;border:1px solid var(--yb-line);border-radius:50%;font-size:12px;}
.yb-steps .active {color:var(--yb-ink);}
.yb-steps .active b {background:#142033;color:#fff;border-color:#142033;}
.yb-section-title {margin:0 0 15px;font-size:17px;font-weight:750;}
.yb-service-grid {display:grid;grid-template-columns:1fr 1fr;gap:12px;align-items:start;}
.yb-dialog .yb-service {margin:0;padding:0;border:1px solid var(--yb-line);border-radius:17px;background:var(--yb-bg);overflow:hidden;}
.yb-dialog .yb-service.is-selected {border-color:#aa8734;box-shadow:0 0 0 1px #aa8734;background:var(--yb-soft);}
.yb-dialog .yb-service-choice {display:flex;min-height:105px;padding:18px;gap:13px;position:relative;}
.yb-service-choice>input {position:absolute;opacity:0;width:1px!important;height:1px!important;}
.yb-service-check {height:24px;width:24px;display:grid;place-items:center;flex-shrink:0;border:1px solid #bbc4cf;border-radius:8px;color:transparent;}
.yb-service-choice>input:checked+.yb-service-check {background:#142033;color:#fff;border-color:#142033;}
.yb-service-choice>input:focus-visible+.yb-service-check {outline:3px solid #aa8734;outline-offset:3px;}
.yb-service-copy {display:grid;gap:6px;flex:1;min-width:0;}
.yb-service-copy>strong {font-size:16px;line-height:1.45;color:var(--yb-ink);}
.yb-service-copy>small {display:flex;gap:8px;flex-wrap:wrap;font-size:12px;color:var(--yb-muted);}
.yb-service-number {color:#9a7b29;font-size:10px;font-weight:800;letter-spacing:.08em;}
.yb-dialog .yb-options {margin:0 16px 16px;padding:13px 0 0;border:0;border-top:1px solid var(--yb-line);}
.yb-options fieldset {border:0;padding:0;margin:0 0 12px;min-width:0;}
.yb-options fieldset:last-child {margin-bottom:0;}
.yb-dialog .yb-options:empty {display:none;}
.yb-options legend {font-size:12px;font-weight:750;margin-bottom:9px;color:var(--yb-muted);}
.yb-option-grid {display:flex;flex-wrap:wrap;gap:7px;}
.yb-dialog .yb-option {position:relative;min-height:40px;font-size:13px;display:flex;}
.yb-option>input {position:absolute;opacity:0;width:1px!important;height:1px!important;}
.yb-option>span {padding:10px 12px;background:var(--yb-bg);border:1px solid var(--yb-line);border-radius:10px;line-height:1.4;}
.yb-option>input:checked+span {background:#142033;color:white;border-color:#142033;}
.yb-option>input:focus-visible+span {outline:3px solid #aa8734;outline-offset:2px;}
.yb-schedule {display:grid;grid-template-columns:minmax(0,1.12fr) minmax(0,1fr);gap:22px;align-items:start;}
.yb-calendar {border:1px solid var(--yb-line);border-radius:20px;padding:14px;background:var(--yb-bg);}
.yb-date-toggle {display:none;}
.yb-month-bar {direction:ltr;display:grid;grid-template-columns:36px minmax(0,1fr) 36px;gap:8px;background:linear-gradient(135deg,#0f172a,#172033);padding:8px;border-radius:13px;align-items:center;}
.yb-month-bar button {width:36px;height:36px;min-height:36px;border:0;border-radius:9px;background:#ffffff17;color:white;font:inherit;font-size:25px;cursor:pointer;padding:0;}
.yb-month-bar button:disabled {opacity:.25;cursor:default;}
.yb-month-bar select {width:100%;min-width:0;padding:8px 3px;border:0;background:#172033;color:white;text-align:center;font:inherit;font-size:14px;font-weight:700;cursor:pointer;}
dialog.yb-dialog #yb-month {background:#172033!important;color:#fff!important;border:0!important;box-shadow:none!important;min-height:36px;margin:0;}
dialog.yb-dialog #yb-month option {background:#172033;color:#fff;}
.yb-weekdays,.yb-days {display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:5px;}
.yb-weekdays {padding:16px 0 10px;color:var(--yb-muted);font-size:11px;font-weight:650;text-align:center;}
.yb-days .yb-day {position:relative;display:grid;place-items:center;min-width:0;min-height:42px;padding:5px 0;border:1px solid var(--yb-line);border-radius:11px;background:var(--yb-bg);color:var(--yb-ink);font:inherit;font-size:13px;font-weight:650;cursor:pointer;}
.yb-day i {position:absolute;bottom:4px;width:3px;height:3px;border-radius:50%;background:currentColor;}
.yb-days .available {border-color:#b9ddd2;color:#185a49;}
.yb-days .full {background:#fff8ed;color:#9a5412;border-color:#fed7aa;}
.yb-days .unavailable {background:#fff5f6;color:#b4475b;border-color:#f7d8df;}
.yb-days .loading {color:#a8b0bc;background:var(--yb-soft);}
.yb-days .yb-day:disabled {cursor:not-allowed;}
.yb-days .yb-day.selected:not(:disabled) {color:#fff;background:#142033;border-color:#142033;box-shadow:0 3px 8px #14203320;}
.yb-legend {display:flex;flex-wrap:wrap;justify-content:center;gap:12px;font-size:10px;color:var(--yb-muted);border-top:1px solid var(--yb-line);padding-top:13px;margin-top:13px;}
.yb-legend span {display:flex;align-items:center;gap:5px;}
.yb-legend i {width:7px;height:7px;border:1px solid #258967;border-radius:50%;background:#ebf9f2;}
.yb-legend i.full {border-color:#dc8528;background:#fff1da;}
.yb-legend i.unavailable {border-color:#c66578;background:#fff0f3;}
#yb-calendar-status {font-size:12px;line-height:1.5;margin:8px 0 0;color:var(--yb-muted);}
#yb-calendar-status:empty {display:none;}
.yb-time-panel {padding-top:8px;min-width:0;}
#yb-selected-date {color:var(--yb-muted);font-size:13px;margin:0 0 17px;}
.yb-time-grid {display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;max-height:310px;overflow-y:auto;padding:3px;}
.yb-time-grid:empty {display:none;}
.yb-time {min-height:44px;padding:8px 4px;border:1px solid var(--yb-line);border-radius:11px;background:var(--yb-bg);color:var(--yb-ink);font:inherit;font-size:14px;font-weight:650;cursor:pointer;}
.yb-time.selected {background:#142033;color:white;border-color:#142033;}
#yb-slots-status {font-size:13px;color:var(--yb-muted);line-height:1.6;margin:12px 0;}
.yb-selection-summary {display:grid;grid-template-columns:1fr 1fr 1.5fr;gap:12px;margin:20px 0;padding:15px;border:1px solid var(--yb-line);background:var(--yb-soft);border-radius:15px;}
.yb-selection-summary:empty {display:none;}
.yb-selection-summary>span {display:grid;align-content:start;gap:7px;min-width:0;font-size:14px;}
.yb-selection-summary small {color:var(--yb-muted);font-size:11px;}
.yb-selection-summary strong bdi {display:block;margin-top:3px;}
.yb-cancel-dialog {width:min(530px,calc(100vw - 32px));}
.yb-cancel-symbol {display:grid;place-items:center;width:60px;height:60px;border:1px solid #f3ced5;border-radius:19px;color:#b43249;background:#fff3f5;margin:0 auto 16px;}
.yb-cancel-symbol svg {width:28px;height:28px;}
.yb-cancel-intro {text-align:center;color:var(--yb-muted);font-size:14px;line-height:1.65;margin:0 0 22px;}
.yb-cancel-booking {border:1px solid var(--yb-line);padding:20px;border-radius:18px;background:var(--yb-soft);margin-bottom:16px;}
.yb-cancel-booking h3 {font-size:17px;line-height:1.5;margin:7px 0 15px;}
.yb-cancel-booking>div {display:flex;justify-content:space-between;gap:14px;flex-wrap:wrap;font-size:14px;line-height:1.6;}
.yb-cancel-booking .yb-cancel-meta {padding-top:12px;margin-top:12px;border-top:1px solid var(--yb-line);color:var(--yb-muted);font-size:12px;}
.yb-dialog .yb-refund-note {font-size:12px;padding:0;background:none;margin:0;line-height:1.7;}
.next-booking-card .next-booking-copy .yb-manage {display:inline-flex!important;align-self:start;justify-self:start;flex:none;width:fit-content!important;min-width:0;max-width:100%;min-height:44px;margin:18px 0 0;padding:10px 17px;gap:14px;border:1px solid #ffffff42;border-radius:12px;background:#ffffff0d;color:#f7e6ab;font-size:14px;font-weight:700;box-shadow:none;text-decoration:none;}
.yb-manage .yb-manage-arrow {font-size:20px;line-height:1;}
[dir=rtl] .yb-manage-arrow {transform:rotate(180deg);}
body.dark-mode .yb-days .available {color:#b6e9d7;border-color:#477567;}
body.dark-mode .yb-days .full {background:#302619;color:#fed7aa;border-color:#735332;}
body.dark-mode .yb-days .unavailable {background:#301f28;color:#f3b9c7;border-color:#69434f;}
body.dark-mode .yb-eyebrow {color:#dbbe75;}
body.dark-mode .yb-service.is-selected {border-color:#d2b267;}
@media(max-width:600px){
  .yb-dialog {width:calc(100vw - 16px);max-width:calc(100vw - 16px);border-radius:22px;max-height:calc(var(--yb-view-height,100dvh) - 16px);}
  .yb-dialog .yb-shell {max-height:calc(var(--yb-view-height,100dvh) - 18px);}
  .yb-dialog .yb-head {padding:16px 18px;gap:12px;}
  .yb-dialog .yb-head h2 {font-size:20px;}
  .yb-dialog .yb-body {padding:16px;scrollbar-gutter:auto;}
  .yb-dialog .yb-footer {padding:12px 14px;gap:8px;flex-wrap:nowrap;}
  .yb-dialog .yb-footer .yb-btn {padding:10px 9px;font-size:13px;min-height:46px;}
  .yb-service-grid {grid-template-columns:1fr;gap:10px;}
  .yb-dialog .yb-service-choice {min-height:82px;padding:13px 16px;}
  .yb-service-number {display:none;}
  .yb-service-copy>strong {font-size:15px;}
  .yb-schedule {grid-template-columns:1fr;gap:22px;}
  .yb-calendar {padding:12px;border-radius:16px;}
  .yb-calendar.is-collapsed .yb-date-toggle {display:flex;align-items:center;justify-content:space-between;width:100%;border:0;background:none;color:var(--yb-ink);padding:2px 3px;font:inherit;text-align:start;cursor:pointer;}
  .yb-date-toggle>span:first-child {display:grid;gap:6px;}
  .yb-date-toggle small {font-size:11px;color:var(--yb-muted);}
  .yb-date-toggle strong {font-size:15px;}
  .yb-calendar.is-collapsed :is(.yb-month-bar,.yb-weekdays,.yb-days,.yb-legend) {display:none;}
  .yb-days,.yb-weekdays {gap:4px;}
  .yb-days .yb-day {min-height:38px;}
  .yb-time-grid {grid-template-columns:repeat(4,minmax(0,1fr));max-height:220px;}
  .yb-time {font-size:13px;}
  .yb-steps {gap:20px;font-size:12px;}
  .yb-selection-summary {grid-template-columns:1fr 1fr;}
  .yb-selection-summary>span:last-child {grid-column:1/-1;}
  .yb-cancel-booking {padding:16px;}
  .next-booking-card .next-booking-copy .yb-manage {font-size:13px;padding:10px 15px;margin-top:15px;}
}
