/* Zibayab Booking 2.1 — public booking experience */
body.zibayab-booking-page .standard-page__hero,
body.zibayab-booking-page .standard-page__featured,
body.zibayab-booking-page .comments-area{display:none}
body.zibayab-booking-page .standard-page{background:var(--zy-canvas,#FAFAFA)}
body.zibayab-booking-page .standard-page>.container,
body.zibayab-booking-page .standard-page>.container.container-narrow{width:100%;max-width:none;padding:0;margin:0}
body.zibayab-booking-page .standard-page__content{padding:0;margin:0;max-width:none}
body.zibayab-booking-page .article-prose{font-size:inherit;line-height:inherit}
body.zibayab-booking-page .article-prose>p:empty,
body.zibayab-booking-page .article-prose>br{display:none}
body.zibayab-booking-page .article-prose a{text-decoration:none;color:inherit}

.zy-booking-root{
 --zyb-canvas:var(--zy-canvas,#FAFAFA);
 --zyb-surface:var(--zy-surface,#FFFFFF);
 --zyb-soft:var(--zy-surface-2,#D5D5E8);
 --zyb-line:var(--zy-line,#D5D5E8);
 --zyb-line-strong:var(--zy-line-strong,#D5D5E8);
 --zyb-ink:var(--zy-ink,#1F2A44);
 --zyb-muted:var(--zy-muted,#1F2A44);
 --zyb-brand:var(--zy-brand,#5C7AEA);
 --zyb-brand-strong:var(--zy-brand-strong,#5C7AEA);
 --zyb-brand-ink:var(--zy-brand-ink,#FFFFFF);
 --zyb-success:var(--zy-success,#147653);
 --zyb-danger:var(--zy-danger,#b42318);
 --zyb-warning:var(--zy-warning,#8b5515);
 width:100%;direction:rtl;background:
 radial-gradient(circle at 8% 4%,color-mix(in srgb,var(--zyb-brand) 12%,transparent),transparent 26rem),
 linear-gradient(180deg,color-mix(in srgb,var(--zyb-soft) 52%,var(--zyb-canvas)),var(--zyb-canvas) 22rem);
 color:var(--zyb-ink);padding:44px 0 76px;isolation:isolate
}
.zy-booking-root *{box-sizing:border-box}
.zy-booking-root h1,.zy-booking-root h2,.zy-booking-root p,.zy-booking-root dl,.zy-booking-root ol{margin-top:0}
.zy-booking-root a{color:inherit;text-decoration:none}
.zy-booking-container{width:min(calc(100% - 32px),1180px);margin-inline:auto}

.zy-booking-hero{position:relative;display:grid;grid-template-columns:72px minmax(0,1fr) auto;align-items:center;gap:20px;padding:28px;border:1px solid color-mix(in srgb,var(--zyb-brand) 22%,var(--zyb-line));border-radius:28px;background:linear-gradient(135deg,color-mix(in srgb,var(--zyb-brand) 9%,var(--zyb-surface)),var(--zyb-surface) 62%);box-shadow:var(--zy-shadow-sm,0 2px 8px rgba(31,42,68,.05));overflow:hidden}
.zy-booking-hero::after{content:"";position:absolute;width:220px;height:220px;border-radius:50%;left:-90px;bottom:-135px;background:color-mix(in srgb,var(--zyb-brand) 9%,transparent);pointer-events:none}
.zy-booking-hero__icon{position:relative;z-index:1;width:72px;height:72px;display:grid;place-items:center;border-radius:22px;background:var(--zyb-brand);color:var(--zyb-brand-ink);box-shadow:0 14px 28px color-mix(in srgb,var(--zyb-brand) 28%,transparent)}
.zy-booking-hero__icon .zy-icon,.zy-booking-profile-link .zy-icon,.zy-booking-eyebrow .zy-icon,.zy-booking-hero__badges .zy-icon,.zy-booking-selected-service__icon,.zy-booking-summary__list dt .zy-icon,.zy-booking-form__head+.zy-booking-fields .zy-icon,.zy-booking-control>.zy-icon,.zy-booking-notice>.zy-icon,.zy-booking-submit>.zy-icon,.zy-booking-privacy>.zy-icon,.zy-booking-status__mark .zy-icon,.zy-booking-status__grid .zy-icon,.zy-booking-provider-note>.zy-icon,.zy-booking-status__hint>.zy-icon,.zy-booking-home-link .zy-icon,.zy-booking-empty__icon,.zy-booking-empty a .zy-icon{width:1em;height:1em;display:inline-block;fill:none;stroke:currentColor;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round;vertical-align:-.12em}
.zy-booking-hero__icon .zy-icon{font-size:2.1rem}
.zy-booking-hero__copy{position:relative;z-index:1;min-width:0}
.zy-booking-eyebrow{display:inline-flex;align-items:center;gap:6px;margin-bottom:7px;color:var(--zyb-brand-strong);font-size:.78rem;font-weight:850}
.zy-booking-eyebrow .zy-icon{font-size:1.05rem}
.zy-booking-hero h1{margin:0 0 7px;color:var(--zyb-ink);font-size:clamp(1.55rem,3.6vw,2.35rem);line-height:1.35}
.zy-booking-hero__copy>p{max-width:720px;margin:0;color:var(--zyb-muted);font-size:.94rem;line-height:1.9}
.zy-booking-hero__badges{display:flex;flex-wrap:wrap;gap:7px;margin-top:14px}
.zy-booking-hero__badges>span{display:inline-flex;align-items:center;gap:5px;padding:6px 9px;border:1px solid var(--zyb-line);border-radius:999px;background:color-mix(in srgb,var(--zyb-surface) 76%,transparent);color:var(--zyb-muted);font-size:.75rem;font-weight:700}
.zy-booking-hero__badges .zy-icon{color:var(--zyb-success);font-size:1rem}
.zy-booking-profile-link{position:relative;z-index:1;display:inline-flex;align-items:center;justify-content:center;gap:7px;min-height:44px;padding:9px 15px;border:1px solid var(--zyb-line-strong);border-radius:999px;background:var(--zyb-surface);font-size:.76rem;font-weight:800;white-space:nowrap;transition:transform .18s ease,border-color .18s ease,background .18s ease}
.zy-booking-profile-link:hover{transform:translateY(-1px);border-color:var(--zyb-ink);background:var(--zyb-soft)}

.zy-booking-steps{position:relative;list-style:none;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0;padding:0 34px;margin:22px 0}
.zy-booking-steps::before{content:"";position:absolute;top:19px;right:17%;left:17%;height:1px;background:var(--zyb-line)}
.zy-booking-steps li{position:relative;z-index:1;display:flex;align-items:center;justify-content:center;gap:9px;color:var(--zyb-muted)}
.zy-booking-steps li>span{width:38px;height:38px;display:grid;place-items:center;border:1px solid var(--zyb-line);border-radius:50%;background:var(--zyb-surface);font-weight:900}
.zy-booking-steps li.is-active>span{border-color:var(--zyb-brand);background:var(--zyb-brand);color:var(--zyb-brand-ink);box-shadow:0 0 0 5px color-mix(in srgb,var(--zyb-brand) 11%,transparent)}
.zy-booking-steps strong,.zy-booking-steps small{display:block}
.zy-booking-steps strong{color:var(--zyb-ink);font-size:.78rem}
.zy-booking-steps small{margin-top:1px;font-size:.75rem}

.zy-booking-layout{display:grid;grid-template-columns:minmax(270px,.72fr) minmax(0,1.35fr);gap:22px;align-items:start}
.zy-booking-summary,.zy-booking-form{border:1px solid var(--zyb-line);border-radius:24px;background:var(--zyb-surface);box-shadow:var(--zy-shadow-sm,0 2px 8px rgba(31,42,68,.05))}
.zy-booking-summary{position:sticky;top:calc(var(--zy-header,76px) + 20px);padding:20px}
.zy-booking-summary__head{display:flex;align-items:center;gap:12px;padding-bottom:17px;border-bottom:1px solid var(--zyb-line)}
.zy-booking-summary__head img,.zy-booking-summary__avatar{width:64px;height:64px;flex:none;border-radius:18px;object-fit:cover;background:var(--zyb-soft)}
.zy-booking-summary__avatar{display:grid;place-items:center;color:var(--zyb-brand-strong);font-size:1.35rem;font-weight:900}
.zy-booking-summary__head small,.zy-booking-selected-service small{display:block;color:var(--zyb-muted);font-size:.75rem}
.zy-booking-summary__head h2{margin:2px 0 0;color:var(--zyb-ink);font-size:1rem;line-height:1.45}
.zy-booking-selected-service{display:grid;grid-template-columns:42px minmax(0,1fr);align-items:center;gap:10px;margin:16px 0;padding:12px;border-radius:15px;background:color-mix(in srgb,var(--zyb-brand) 8%,var(--zyb-soft))}
.zy-booking-selected-service__icon{width:42px;height:42px;display:grid;place-items:center;border-radius:12px;background:var(--zyb-brand);color:var(--zyb-brand-ink);font-size:1.25rem}
.zy-booking-selected-service strong{display:block;margin-top:2px;font-size:.82rem}
.zy-booking-summary__list{margin:0}
.zy-booking-summary__list>div{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;padding:11px 2px;border-bottom:1px dashed var(--zyb-line)}
.zy-booking-summary__list>div:last-child{border-bottom:0}
.zy-booking-summary__list dt{display:flex;align-items:center;gap:5px;color:var(--zyb-muted);font-size:.75rem}
.zy-booking-summary__list dt .zy-icon{color:var(--zyb-brand-strong);font-size:1rem}
.zy-booking-summary__list dd{margin:0;max-width:56%;text-align:left;color:var(--zyb-ink);font-size:.76rem;font-weight:850}
.zy-booking-summary__note{display:grid;grid-template-columns:28px minmax(0,1fr);gap:8px;margin-top:16px;padding:12px;border:1px solid color-mix(in srgb,var(--zyb-warning) 25%,var(--zyb-line));border-radius:14px;background:color-mix(in srgb,var(--zyb-warning) 7%,var(--zyb-surface))}
.zy-booking-summary__note>.zy-icon{width:28px;height:28px;display:block;padding:6px;border-radius:9px;background:color-mix(in srgb,var(--zyb-warning) 15%,transparent);color:var(--zyb-warning)}
.zy-booking-summary__note p{margin:0;color:var(--zyb-muted);font-size:.75rem;line-height:1.8}

.zy-booking-form{padding:24px}
.zy-booking-form__head{display:grid;grid-template-columns:42px minmax(0,1fr);gap:11px;align-items:center;margin-bottom:18px}
.zy-booking-form__number{width:42px;height:42px;display:grid;place-items:center;border-radius:13px;background:var(--zyb-soft);color:var(--zyb-brand-strong);font-weight:900}
.zy-booking-form__head h2{margin:0 0 3px;color:var(--zyb-ink);font-size:1.05rem}
.zy-booking-form__head p{margin:0;color:var(--zyb-muted);font-size:.75rem}
.zy-booking-form__divider{height:1px;margin:25px 0;background:var(--zyb-line)}
.zy-booking-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:15px}
.zy-booking-fields label,.zy-booking-noscript{display:flex;flex-direction:column;gap:7px;min-width:0}
.zy-booking-fields label.is-wide{grid-column:1/-1}
.zy-booking-fields label>span,.zy-booking-noscript>span{color:var(--zyb-ink);font-size:.75rem;font-weight:800}
.zy-booking-fields label>span b{color:var(--zyb-danger)}
.zy-booking-fields label>span small{color:var(--zyb-muted);font-size:.75rem;font-weight:500}
.zy-booking-control{position:relative;display:flex;align-items:center;min-height:48px;border:1px solid var(--zyb-line-strong);border-radius:14px;background:var(--zyb-surface);transition:border-color .18s ease,box-shadow .18s ease,background .18s ease}
.zy-booking-control:focus-within{border-color:var(--zyb-brand);box-shadow:0 0 0 1px color-mix(in srgb,var(--zyb-brand) 42%,transparent);background:color-mix(in srgb,var(--zyb-brand) 2%,var(--zyb-surface))}
.zy-booking-control>.zy-icon{width:46px;flex:none;display:grid;place-items:center;color:var(--zyb-muted);font-size:1.18rem}
.zy-booking-control:focus-within>i{color:var(--zyb-brand-strong)}
.zy-booking-control input,.zy-booking-control select,.zy-booking-control textarea{width:100%;min-width:0;border:0;border-radius:0;background:transparent;color:var(--zyb-ink);padding:11px 0 11px 12px;box-shadow:none;outline:0;font:inherit}
.zy-booking-control input::placeholder,.zy-booking-control textarea::placeholder{color:color-mix(in srgb,var(--zyb-muted) 66%,transparent)}
.zy-booking-control select{appearance:auto}
.zy-booking-control.is-textarea{align-items:flex-start}
.zy-booking-control.is-textarea>i{padding-top:14px}
.zy-booking-control textarea{min-height:104px;resize:vertical}
.zy-booking-date-field input{cursor:pointer}
.zy-booking-date-field>small{color:var(--zyb-muted);font-size:.75rem;line-height:1.6}
.zy-booking-noscript{margin:15px 0}
.zy-booking-noscript input{width:100%;border:1px solid var(--zyb-line-strong);border-radius:14px;background:var(--zyb-surface);color:var(--zyb-ink);padding:12px}
.zy-booking-consent{display:grid;grid-template-columns:20px minmax(0,1fr);gap:10px;align-items:start;margin:21px 0;padding:13px;border-radius:14px;background:var(--zyb-soft);cursor:pointer}
.zy-booking-consent input{width:18px;height:18px;margin:2px 0 0;accent-color:var(--zyb-brand)}
.zy-booking-consent strong,.zy-booking-consent small{display:block}
.zy-booking-consent strong{font-size:.75rem}
.zy-booking-consent small{margin-top:3px;color:var(--zyb-muted);font-size:.75rem;line-height:1.7}
.zy-booking-submit{width:100%;min-height:58px;display:grid;grid-template-columns:28px minmax(0,auto) minmax(0,auto);align-items:center;justify-content:center;gap:8px;border:0;border-radius:16px;padding:11px 18px;background:var(--zyb-brand);color:var(--zyb-brand-ink);font:inherit;cursor:pointer;box-shadow:0 14px 28px color-mix(in srgb,var(--zyb-brand) 24%,transparent);transition:transform .18s ease,background .18s ease,box-shadow .18s ease}
.zy-booking-submit:hover{transform:translateY(-1px);background:var(--zyb-brand-strong);box-shadow:0 18px 34px color-mix(in srgb,var(--zyb-brand) 30%,transparent)}
.zy-booking-submit>.zy-icon{font-size:1.35rem}.zy-booking-submit b{font-size:.86rem}.zy-booking-submit small{padding-right:9px;border-right:1px solid color-mix(in srgb,var(--zyb-brand-ink) 32%,transparent);font-size:.75rem;font-weight:500;opacity:.86}
.zy-booking-submit:disabled{opacity:.68;cursor:wait;transform:none}
.zy-booking-privacy{display:flex;align-items:center;justify-content:center;gap:5px;margin:11px 0 0;color:var(--zyb-muted);font-size:.75rem}
.zy-booking-privacy>.zy-icon{color:var(--zyb-success);font-size:.94rem}
.zy-booking-hp{position:absolute!important;left:-9999px!important;width:1px!important;height:1px!important;opacity:0!important}

.zy-booking-notice{display:grid;grid-template-columns:32px minmax(0,1fr);align-items:center;gap:9px;margin:0 0 18px;padding:13px 15px;border-radius:14px}
.zy-booking-notice>.zy-icon{font-size:1.25rem}.zy-booking-notice p{margin:0;font-size:.75rem}
.zy-booking-notice.is-error{border:1px solid color-mix(in srgb,var(--zyb-danger) 30%,var(--zyb-line));background:color-mix(in srgb,var(--zyb-danger) 8%,var(--zyb-surface));color:var(--zyb-danger)}

/* Status and empty states */
.zy-booking-root--status,.zy-booking-root--empty{min-height:64vh;display:grid;align-items:center}
.zy-booking-container--status{max-width:820px}.zy-booking-container--empty{max-width:680px}
.zy-booking-status,.zy-booking-empty{padding:34px;border:1px solid var(--zyb-line);border-radius:28px;background:var(--zyb-surface);text-align:center;box-shadow:var(--zy-shadow-md,0 16px 44px rgba(31,42,68,.09))}
.zy-booking-status__mark,.zy-booking-empty__icon{width:72px;height:72px;display:grid;place-items:center;margin:0 auto 16px;border-radius:23px;background:color-mix(in srgb,var(--zyb-brand) 12%,var(--zyb-soft));color:var(--zyb-brand-strong)}
.zy-booking-status__mark .zy-icon,.zy-booking-empty__icon{font-size:2rem}
.zy-booking-status__mark.status-accepted,.zy-booking-status__mark.status-confirmed,.zy-booking-status__mark.status-completed{background:color-mix(in srgb,var(--zyb-success) 12%,var(--zyb-soft));color:var(--zyb-success)}
.zy-booking-status__mark.status-rejected,.zy-booking-status__mark.status-cancelled,.zy-booking-status__mark.status-cancelled_requester,.zy-booking-status__mark.status-cancelled_provider,.zy-booking-status__mark.status-expired,.zy-booking-status__mark.status-no_show{background:color-mix(in srgb,var(--zyb-danger) 12%,var(--zyb-soft));color:var(--zyb-danger)}
.zy-booking-status h1,.zy-booking-empty h1{margin:7px 0 8px;color:var(--zyb-ink);font-size:clamp(1.5rem,4vw,2.2rem)}
.zy-booking-status__lead,.zy-booking-empty>p{margin:0;color:var(--zyb-muted)}
.zy-booking-status__grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;text-align:right;margin:25px 0}
.zy-booking-status__grid>div{padding:14px;border:1px solid var(--zyb-line);border-radius:15px;background:var(--zyb-surface)}
.zy-booking-status__grid>div.is-highlight{grid-column:1/-1;border-color:color-mix(in srgb,var(--zyb-success) 30%,var(--zyb-line));background:color-mix(in srgb,var(--zyb-success) 7%,var(--zyb-surface))}
.zy-booking-status__grid span{display:flex;align-items:center;gap:5px;color:var(--zyb-muted);font-size:.75rem}
.zy-booking-status__grid span .zy-icon{color:var(--zyb-brand-strong);font-size:1rem}
.zy-booking-status__grid strong{display:block;margin-top:5px;font-size:.8rem}
.zy-booking-provider-note,.zy-booking-status__hint{display:grid;grid-template-columns:34px minmax(0,1fr);gap:10px;text-align:right;padding:15px;border-radius:15px;background:var(--zyb-soft)}
.zy-booking-provider-note>.zy-icon,.zy-booking-status__hint>.zy-icon{width:34px;height:34px;display:grid;place-items:center;border-radius:10px;background:var(--zyb-surface);color:var(--zyb-brand-strong);font-size:1.1rem}
.zy-booking-provider-note strong{font-size:.75rem}.zy-booking-provider-note p,.zy-booking-status__hint p{margin:4px 0 0;color:var(--zyb-muted);font-size:.75rem;line-height:1.8}
.zy-booking-status__hint{margin-top:10px}.zy-booking-status__hint p{margin:0}
.zy-booking-home-link,.zy-booking-empty a{display:inline-flex;align-items:center;justify-content:center;gap:6px;min-height:44px;margin-top:18px;padding:9px 16px;border-radius:999px;background:var(--zyb-ink);color:var(--zyb-surface);font-size:.75rem;font-weight:800}
.zy-booking-empty>p{max-width:480px;margin-inline:auto;line-height:1.9}
.status-pending,.status-viewed,.status-follow_up_required,.status-reschedule_requested{color:var(--zyb-warning)}.status-accepted,.status-confirmed{color:var(--zyb-brand-strong)}.status-rejected,.status-cancelled,.status-cancelled_requester,.status-cancelled_provider,.status-expired,.status-no_show{color:var(--zyb-danger)}.status-completed{color:var(--zyb-success)}

/* Jalali calendar: synchronized with the theme's explicit light/dark variables. */
jdp-container{font-family:var(--zy-font,"Vazirmatn",Tahoma,Arial,sans-serif)!important;background:var(--zy-surface,#FFFFFF)!important;color:var(--zy-ink,#1F2A44)!important;border:1px solid var(--zy-line,#D5D5E8)!important;border-radius:18px!important;padding:9px!important;box-shadow:var(--zy-shadow-lg,0 30px 86px rgba(31,42,68,.15))!important}
jdp-container .jdp-months,jdp-container .jdp-years{fill:var(--zy-ink,#1F2A44)!important;color:var(--zy-ink,#1F2A44)!important}
jdp-container .jdp-month,jdp-container .jdp-month input,jdp-container .jdp-month select,jdp-container .jdp-time,jdp-container .jdp-time input,jdp-container .jdp-time select,jdp-container .jdp-year,jdp-container .jdp-year input,jdp-container .jdp-year select{background:var(--zy-surface,#FFFFFF)!important;color:var(--zy-ink,#1F2A44)!important}
jdp-container .jdp-icon-minus,jdp-container .jdp-icon-plus{border-color:var(--zy-line,#D5D5E8)!important;background:var(--zy-surface-2,#D5D5E8)!important}
jdp-container .jdp-icon-minus svg,jdp-container .jdp-icon-plus svg{fill:var(--zy-ink,#1F2A44)!important}
jdp-container .jdp-day,jdp-container .jdp-day-name{color:var(--zy-ink,#1F2A44)!important}
jdp-container .jdp-day-name{background:var(--zy-surface-2,#D5D5E8)!important}
jdp-container .jdp-day.today{border-color:var(--zy-brand,#5C7AEA)!important}
jdp-container .jdp-day.selected{background:var(--zy-brand,#5C7AEA)!important;color:var(--zy-brand-ink,#FFFFFF)!important}
jdp-container .jdp-day:not(.disabled-day):hover{background:color-mix(in srgb,var(--zy-brand,#5C7AEA) 13%,var(--zy-surface-2,#D5D5E8))!important}
jdp-container .jdp-btn-close,jdp-container .jdp-btn-empty,jdp-container .jdp-btn-today{background:var(--zy-brand,#5C7AEA)!important;color:var(--zy-brand-ink,#FFFFFF)!important;border-radius:9px!important}

@media(max-width:860px){
 .zy-booking-root{padding:24px 0 48px}
 .zy-booking-hero{grid-template-columns:56px minmax(0,1fr);padding:21px;border-radius:22px}
 .zy-booking-hero__icon{width:56px;height:56px;border-radius:17px}.zy-booking-hero__icon .zy-icon{font-size:1.65rem}
 .zy-booking-profile-link{grid-column:1/-1;width:100%}
 .zy-booking-steps{padding:0 8px}.zy-booking-steps::before{right:14%;left:14%}.zy-booking-steps li{display:grid;justify-items:center;text-align:center;gap:6px}.zy-booking-steps li>div small{display:none}
 .zy-booking-layout{grid-template-columns:1fr}.zy-booking-summary{position:static;order:2}
}
@media(max-width:620px){
 .zy-booking-container{width:min(calc(100% - 20px),1180px)}
 .zy-booking-hero{grid-template-columns:48px minmax(0,1fr);gap:13px;padding:17px;border-radius:19px}.zy-booking-hero__icon{width:48px;height:48px;border-radius:14px}.zy-booking-hero__copy>p{font-size:.77rem}.zy-booking-hero__badges{gap:5px}.zy-booking-hero__badges>span{padding:5px 7px;font-size:.75rem}
 .zy-booking-steps{margin:16px 0}.zy-booking-steps li>span{width:32px;height:32px}.zy-booking-steps::before{top:16px}.zy-booking-steps strong{font-size:.75rem}
 .zy-booking-summary,.zy-booking-form,.zy-booking-status,.zy-booking-empty{border-radius:19px}.zy-booking-form{padding:17px}.zy-booking-summary{padding:17px}
 .zy-booking-fields{grid-template-columns:1fr}.zy-booking-fields label.is-wide{grid-column:auto}
 .zy-booking-form__head{grid-template-columns:36px minmax(0,1fr)}.zy-booking-form__number{width:36px;height:36px;border-radius:11px}
 .zy-booking-submit{grid-template-columns:24px minmax(0,auto);min-height:54px}.zy-booking-submit small{display:none}
 .zy-booking-status,.zy-booking-empty{padding:24px 17px}.zy-booking-status__grid{grid-template-columns:1fr}.zy-booking-status__grid>div.is-highlight{grid-column:auto}
 jdp-container{max-width:calc(100vw - 20px)!important;min-width:min(307px,calc(100vw - 20px))!important}
}
@media(prefers-reduced-motion:reduce){.zy-booking-root *{transition:none!important;scroll-behavior:auto!important}}

/* Phase 7: real availability and exact time slots. */
.zy-booking-slots{grid-column:1/-1;border:1px solid var(--zyb-line);border-radius:18px;background:var(--zyb-soft);padding:14px;transition:border-color .2s ease,box-shadow .2s ease}
.zy-booking-slots.has-error{border-color:var(--zyb-danger);box-shadow:0 0 0 4px color-mix(in srgb,var(--zyb-danger) 12%,transparent)}
.zy-booking-slots__head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px}.zy-booking-slots__head span{font-size:.78rem;font-weight:900;color:var(--zyb-ink)}.zy-booking-slots__head small{font-size:.75rem;color:var(--zyb-muted)}
.zy-booking-slots__grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}
.zy-booking-slot{appearance:none;border:1px solid var(--zyb-line);border-radius:13px;background:var(--zyb-surface);color:var(--zyb-ink);padding:10px 7px;min-height:55px;display:grid;place-items:center;gap:2px;cursor:pointer;font:inherit;transition:transform .18s ease,border-color .18s ease,background .18s ease,box-shadow .18s ease}
.zy-booking-slot strong{font-size:.82rem;font-weight:900}.zy-booking-slot small{font-size:.75rem;color:var(--zyb-success);font-weight:700}.zy-booking-slot:hover{transform:translateY(-1px);border-color:color-mix(in srgb,var(--zyb-brand) 55%,var(--zyb-line));box-shadow:0 8px 20px color-mix(in srgb,var(--zyb-brand) 9%,transparent)}
.zy-booking-slot.is-selected{border-color:var(--zyb-brand);background:var(--zyb-brand);color:var(--zyb-brand-ink);box-shadow:0 10px 25px color-mix(in srgb,var(--zyb-brand) 25%,transparent)}.zy-booking-slot.is-selected small{color:inherit;opacity:.88}
.zy-booking-slots__empty,.zy-booking-slots__loading{min-height:92px;display:flex;align-items:center;justify-content:center;gap:9px;text-align:center;color:var(--zyb-muted)}.zy-booking-slots__empty .zy-icon,.zy-booking-slots__loading .zy-icon{width:1.35rem;height:1.35rem;display:inline-block;fill:none;stroke:currentColor;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round;color:var(--zyb-brand-strong)}.zy-booking-slots__empty p,.zy-booking-slots__loading p{margin:0;font-size:.75rem;line-height:1.8}.zy-booking-slots__empty.is-error .zy-icon{color:var(--zyb-danger)}
.zy-booking-slots__loading .zy-icon{animation:zy-booking-spin 1s linear infinite}@keyframes zy-booking-spin{to{transform:rotate(360deg)}}
.zy-booking-public-actions{display:flex;justify-content:center;gap:9px;flex-wrap:wrap;margin-top:15px}.zy-booking-public-actions form{margin:0}.zy-booking-secondary-action,.zy-booking-danger-action{display:inline-flex;align-items:center;justify-content:center;gap:6px;min-height:42px;padding:8px 14px;border-radius:999px;font:inherit;font-size:.75rem;font-weight:800;cursor:pointer}.zy-booking-secondary-action{border:1px solid var(--zyb-line);background:var(--zyb-surface);color:var(--zyb-ink)}.zy-booking-danger-action{border:1px solid color-mix(in srgb,var(--zyb-danger) 30%,var(--zyb-line));background:color-mix(in srgb,var(--zyb-danger) 7%,var(--zyb-surface));color:var(--zyb-danger)}.zy-booking-public-actions button .zy-icon{width:1rem;height:1rem;display:inline-block;fill:none;stroke:currentColor;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round}
.status-reschedule_requested{color:var(--zyb-warning)}
@media(max-width:620px){.zy-booking-slots__grid{grid-template-columns:repeat(3,minmax(0,1fr))}.zy-booking-slot{min-height:51px;padding:8px 5px}.zy-booking-public-actions{display:grid;grid-template-columns:1fr}.zy-booking-public-actions button{width:100%}}

.zy-booking-noscript--notice {
	display: grid;
	gap: .35rem;
	padding: 1rem 1.1rem;
	border: 1px solid color-mix(in srgb, var(--zy-warning, #f59e0b) 45%, transparent);
	border-radius: 14px;
	background: color-mix(in srgb, var(--zy-warning, #f59e0b) 10%, var(--zy-surface, #fff));
	color: var(--zy-text, #1f2937);
}
.zy-booking-noscript--notice span { color: var(--zy-muted, #3A435F); font-size: .9rem; }


/* UI/UX phase 3: honest booking flow and mobile-first summary. */
.zy-booking-steps{display:none}.zy-booking-process-note{display:grid;grid-template-columns:44px minmax(0,1fr);align-items:start;gap:11px;margin:18px 0;padding:14px;border:1px solid var(--zyb-line);border-radius:16px;background:var(--zyb-soft)}.zy-booking-process-note>.zy-icon{width:44px;height:44px;display:grid;place-items:center;border-radius:13px;background:var(--zyb-surface);color:var(--zyb-brand)}.zy-booking-process-note strong,.zy-booking-process-note p{display:block;margin:0}.zy-booking-process-note strong{font-size:.88rem}.zy-booking-process-note p{margin-top:3px;color:var(--zyb-muted);font-size:.8rem;line-height:1.8}
.zy-booking-what-next{display:grid;grid-template-columns:38px minmax(0,1fr);gap:10px;margin-top:18px;padding:13px;border:1px solid var(--zyb-line);border-radius:15px;background:var(--zyb-soft)}.zy-booking-what-next>.zy-icon{width:38px;height:38px;display:grid;place-items:center;border-radius:11px;background:var(--zyb-surface);color:var(--zyb-brand)}.zy-booking-what-next strong{font-size:.85rem}.zy-booking-what-next ul{margin:6px 0 0;padding-right:18px;color:var(--zyb-muted);font-size:.78rem;line-height:1.9}
.zy-booking-summary__list>[hidden]{display:none!important}
@media(max-width:860px){.zy-booking-layout{display:grid;grid-template-columns:1fr}.zy-booking-summary{order:-1;position:static}.zy-booking-form{order:1}.zy-booking-summary__head{cursor:default}.zy-booking-summary__list{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:620px){.zy-booking-summary{padding:15px}.zy-booking-summary__head img,.zy-booking-summary__avatar{width:52px;height:52px}.zy-booking-selected-service{padding:10px}.zy-booking-summary__list{grid-template-columns:1fr}.zy-booking-process-note{margin:13px 0;padding:12px}.zy-booking-process-note>.zy-icon{width:38px;height:38px}.zy-booking-what-next{grid-template-columns:34px minmax(0,1fr)}.zy-booking-what-next>.zy-icon{width:34px;height:34px}}

/* Outcome loop journey — v4.0.0 */
.zy-booking-journey{margin:24px 0;padding:20px;border:1px solid var(--zy-booking-border,#e5e7eb);border-radius:20px;background:var(--zy-booking-surface,#fff);text-align:right}
.zy-booking-journey h2{margin:0 0 16px;font-size:1.05rem}
.zy-booking-journey ol{list-style:none;margin:0;padding:0;display:grid;gap:0}
.zy-booking-journey li{position:relative;display:grid;grid-template-columns:36px minmax(0,1fr);gap:12px;padding:0 0 18px}
.zy-booking-journey li:not(:last-child)::after{content:"";position:absolute;right:17px;top:34px;bottom:0;width:2px;background:var(--zy-booking-border,#e5e7eb)}
.zy-booking-journey li>.zy-icon{display:grid;place-items:center;width:36px;height:36px;border-radius:50%;background:color-mix(in srgb,var(--zy-booking-accent,#5C7AEA) 12%,transparent);color:var(--zy-booking-accent,#5C7AEA);font-size:20px;z-index:1}
.zy-booking-journey li div{min-width:0;padding-top:3px}
.zy-booking-journey strong,.zy-booking-journey time{display:block}
.zy-booking-journey time{margin-top:3px;color:var(--zy-booking-muted,#3A435F);font-size:.82rem}
.zy-booking-journey p{margin:7px 0 0;color:var(--zy-booking-muted,#3A435F);font-size:.9rem;line-height:1.8}
.zy-booking-status__mark.status-viewed,.zy-booking-status__mark.status-accepted,.zy-booking-status__mark.status-follow_up_required{background:color-mix(in srgb,var(--zy-booking-accent,#5C7AEA) 14%,transparent);color:var(--zy-booking-accent,#5C7AEA)}
@media (max-width:640px){.zy-booking-journey{padding:16px;border-radius:16px}.zy-booking-journey li{grid-template-columns:32px minmax(0,1fr);gap:10px}.zy-booking-journey li>.zy-icon{width:32px;height:32px;font-size:18px}.zy-booking-journey li:not(:last-child)::after{right:15px;top:30px}}

/* Account continuity: sign in before booking without blocking guest checkout. */
.zy-booking-account-prompt{width:100%;display:grid;grid-template-columns:42px minmax(0,1fr) auto;align-items:center;gap:11px;margin:14px 0;padding:12px 14px;border:1px solid color-mix(in srgb,var(--zyb-brand) 18%,var(--zyb-line));border-radius:16px;background:color-mix(in srgb,var(--zyb-brand) 5%,var(--zyb-surface))}
.zy-booking-account-prompt>.zy-icon{width:42px;height:42px;display:grid;place-items:center;border-radius:12px;background:var(--zyb-surface);color:var(--zyb-brand);font-size:1.2rem}.zy-booking-account-prompt strong{display:block;font-size:.78rem}.zy-booking-account-prompt p{margin:3px 0 0;color:var(--zyb-muted);font-size:.7rem;line-height:1.65}.zy-booking-account-prompt>div:last-child{display:flex;align-items:center;gap:6px}.zy-booking-account-prompt a{display:inline-flex;align-items:center;justify-content:center;min-height:38px;padding:7px 11px;border:1px solid var(--zyb-line);border-radius:10px;background:var(--zyb-surface);color:var(--zyb-brand-strong);font-size:.72rem;font-weight:850;white-space:nowrap}.zy-booking-account-prompt>div:last-child a:last-child{border-color:var(--zyb-brand);background:var(--zyb-brand);color:var(--zyb-brand-ink)}.zy-booking-account-prompt.is-signed-in{border-color:color-mix(in srgb,var(--zyb-success) 22%,var(--zyb-line));background:color-mix(in srgb,var(--zyb-success) 5%,var(--zyb-surface))}.zy-booking-account-prompt.is-signed-in>.zy-icon{color:var(--zyb-success)}.zy-booking-account-prompt.is-signed-in>a{color:var(--zyb-success)}
@media(max-width:620px){.zy-booking-account-prompt{grid-template-columns:38px minmax(0,1fr);padding:11px}.zy-booking-account-prompt>.zy-icon{width:38px;height:38px}.zy-booking-account-prompt>div:last-child,.zy-booking-account-prompt.is-signed-in>a{grid-column:1/-1}.zy-booking-account-prompt>div:last-child{display:grid;grid-template-columns:1fr 1fr}.zy-booking-account-prompt a{min-height:42px}}

/* 5.14.0 conversion/accessibility finish. */
.zy-booking-slots__feedback{margin:10px 0 0;padding:9px 11px;border-radius:10px;background:color-mix(in srgb,var(--zyb-danger) 8%,var(--zyb-surface));color:var(--zyb-danger);font-size:.75rem;font-weight:750;line-height:1.7}.zy-booking-slots__feedback[hidden]{display:none}.zy-booking-slots:focus-visible{outline:2px solid var(--zyb-brand);outline-offset:3px}.zy-booking-account-prompt p{font-size:.75rem}.zy-booking-account-prompt a{min-height:44px;font-size:.75rem}@media(max-width:620px){.zy-booking-account-prompt a{min-height:44px}}


/* Phase 6: contextual rescue only on overdue tracking pages. */
.zy-booking-rescue{margin-top:18px;padding:18px;border:1px solid color-mix(in srgb,currentColor 14%,transparent);border-radius:18px;background:color-mix(in srgb,currentColor 3%,transparent)}
.zy-booking-rescue__head{display:flex;gap:12px;align-items:flex-start}.zy-booking-rescue__head>.zy-icon{font-size:24px}.zy-booking-rescue__head strong{display:block;margin-bottom:5px}.zy-booking-rescue__head p{margin:0;opacity:.78;line-height:1.8}
.zy-booking-rescue__options{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-top:14px}.zy-booking-rescue__options a{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:12px 13px;border:1px solid color-mix(in srgb,currentColor 12%,transparent);border-radius:14px;text-decoration:none}.zy-booking-rescue__options a span{display:grid;gap:4px}.zy-booking-rescue__options small{opacity:.7}.zy-booking-rescue__privacy{display:block;margin-top:12px;opacity:.68;line-height:1.7}
@media(max-width:760px){.zy-booking-rescue__options{grid-template-columns:1fr}}
