/* Shared booking controls; storage, transport and scheduling remain unchanged. */
html body [data-booking] {container-type:inline-size;container-name:booking;min-width:0;}
html body [data-booking-service-actions] {display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-xs,.5rem) var(--space-sm,1rem);margin-block:0 var(--space-xs,.5rem);max-width:100%;}
html body [data-booking-service-actions][hidden],html body [data-booking-visit-pair][hidden],html body [data-booking-service-actions] button[hidden] {display:none;}
html body [data-booking-visit-pair] {position:relative;isolation:isolate;display:inline-grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0;padding:0 3px;border:0;background:transparent;margin-inline-start:auto;flex-shrink:0;}
html body [data-booking-visit-pair]::after {content:"";position:absolute;z-index:-2;inset:3px 0;border:1px solid var(--wp--preset--color--border);border-radius:var(--wp--custom--radius--pill);background:var(--wp--preset--color--surface);pointer-events:none;}
html body [data-booking-visit-pair]::before {content:"";position:absolute;z-index:-1;left:3px;top:5px;bottom:5px;width:calc((100% - 6px)/2);border-radius:var(--wp--custom--radius--pill);background:var(--wp--preset--color--action);transform:translateX(0);transition:transform 220ms ease-out;}
html body [data-booking-visit-pair]:has([data-booking-visit=repeat][aria-pressed=true])::before {transform:translateX(100%);}
html body [data-booking-visit-pair] button {font:inherit;display:grid;place-items:center;min-height:44px;padding:0 .65rem;font-size:.875rem;line-height:1.25;border:0;border-radius:var(--wp--custom--radius--pill);background:transparent;color:var(--wp--preset--color--text);cursor:pointer;}
html body [data-booking-visit-pair] button[aria-pressed=true] {color:var(--wp--preset--color--white,#fff);}
html body [data-booking-visit-pair] button:focus-visible {outline:var(--wp--custom--focus--width,2px) solid var(--wp--preset--color--action);outline-offset:2px;}
html body [data-booking] .omedica-booking-patient-form {display:grid;align-items:start;grid-template-columns:minmax(0,1fr);gap:var(--space-sm,1rem);min-width:0;width:100%;max-width:none;}
html body [data-booking] .omedica-booking-patient-form .omedica-form-field {align-self:start;align-content:start;align-items:start;grid-auto-rows:max-content;margin:0;gap:var(--control-gap,.35rem);min-width:0;max-width:100%;}
html body [data-booking] .omedica-booking-patient-form .omedica-form-control {box-sizing:border-box;min-height:44px;padding:.6rem .75rem;max-width:100%;width:100%;min-width:0;}
html body [data-booking] .omedica-booking-patient-form textarea {resize:vertical;min-height:5rem;}
html body [data-booking] .omedica-booking-patient-form > :is(.omedica-consent,.omedica-field-error,.omedica-form-state,.wp-element-button),html body [data-booking] .omedica-booking-comment {grid-column:1 / -1;}
html body [data-booking] .omedica-booking-patient-form > .wp-element-button {justify-self:start;}
html body [data-booking] .omedica-booking-patient-form .omedica-field-error {min-height:0;margin:0;font-size:.8125rem;line-height:1.35;overflow-wrap:anywhere;}
html body [data-booking] .omedica-field-error:not(.is-visible),html body [data-booking] [data-form-state]:empty {display:none;}
html body [data-booking] .omedica-field-error.is-visible {display:block;visibility:visible;}
html body [data-booking] .omedica-booking-summary {min-width:0;margin-block:0 var(--space-sm,1rem);padding:var(--space-sm,1rem);row-gap:var(--space-xs,.5rem);}
html body [data-booking] .omedica-booking-summary dd {overflow-wrap:anywhere;min-width:0;}
html body [data-booking] .omedica-booking-step h2 {margin-block:0 var(--space-sm,1rem);}
html body [data-booking] .omedica-booking-flow__bar {margin-block:0 var(--space-sm,1rem);}
@container booking (min-width:660px){html body [data-booking] .omedica-booking-patient-form {grid-template-columns:repeat(3,minmax(0,1fr));}}
@media(prefers-reduced-motion:reduce){html body [data-booking-visit-pair]::before {transition:none;}}

html body .omedica-booking-ui [data-booking] .omedica-booking-patient-form {max-width:56rem;}
html body .omedica-booking-ui [data-booking] .omedica-booking-patient-form textarea.omedica-form-control {min-height:5rem;height:5.5rem;}

/* Flow owns its rhythm; Gutenberg block gaps do not separate utility controls. */
html body .omedica-booking-ui:has([data-booking-step="review"]:not([hidden])) .omedica-demo-note{display:none;}
html body [data-booking] .omedica-booking-back{font:inherit;font-weight:600;line-height:1.4;min-height:44px;text-align:start;white-space:normal;}
html body [data-booking] .omedica-booking-back:focus-visible{outline:var(--wp--custom--focus--width,2px) solid var(--wp--preset--color--action);outline-offset:3px;}
html body .omedica-booking-ui > [data-booking],html body [data-booking] > [data-booking-flow]{margin-block-start:0;}
