.pxab-restaurant-schedule{margin:18px 0 0;padding:0;border:0}.pxab-restaurant-schedule>legend{margin-bottom:10px;color:var(--pxab-restaurant-text,#1f2937);font-weight:700}.pxab-restaurant-time-select{position:relative;display:block}.pxab-restaurant-time-select__icon{position:absolute;z-index:1;top:50%;left:13px;display:grid;width:18px;height:18px;place-items:center;pointer-events:none;transform:translateY(-50%);color:var(--pxab-restaurant-muted,#64748b)}.pxab-restaurant-time-select__icon svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.8}.pxab-restaurant-time-select select{padding-left:42px!important}.pxab-restaurant-date-calendar{margin-top:14px;padding:14px;border:1px solid var(--pxab-restaurant-border,#dbe2ea);border-radius:16px;background:var(--pxab-restaurant-surface-soft,#f8fafc)}.pxab-restaurant-date-calendar__header{display:grid;grid-template-columns:40px 1fr 40px;align-items:center;gap:10px;margin-bottom:12px;text-align:center}.pxab-restaurant-date-calendar__nav{display:inline-flex;align-items:center;justify-content:center;width:40px;height:40px;padding:0;border:1px solid var(--pxab-restaurant-border,#dbe2ea);border-radius:10px;background:#fff;color:var(--pxab-restaurant-text,#1f2937);cursor:pointer}.pxab-restaurant-date-calendar__nav:hover:not(:disabled),.pxab-restaurant-date-calendar__nav:focus-visible{border-color:var(--pxab-restaurant-accent,#c65300);background:#fff7ed;color:var(--pxab-restaurant-accent,#c65300)}.pxab-restaurant-date-calendar__nav:disabled{opacity:.38;cursor:not-allowed}.pxab-restaurant-date-calendar__nav svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:2}.pxab-restaurant-date-calendar__grid{display:grid;grid-template-columns:repeat(7,minmax(34px,1fr));gap:6px}.pxab-restaurant-date-calendar__weekday{padding:4px 2px;color:var(--pxab-restaurant-muted,#64748b);font-size:12px;font-weight:700;text-align:center}.pxab-restaurant-date-calendar__spacer{min-height:38px}.pxab-restaurant-date-calendar__day{min-width:0;min-height:40px;padding:4px;border:1px solid var(--pxab-restaurant-border,#dbe2ea);border-radius:10px;background:#fff;color:var(--pxab-restaurant-text,#1f2937);font:inherit;cursor:pointer}.pxab-restaurant-date-calendar__day:hover:not(:disabled),.pxab-restaurant-date-calendar__day:focus-visible{border-color:var(--pxab-restaurant-accent,#c65300);box-shadow:0 0 0 2px color-mix(in srgb,var(--pxab-restaurant-accent,#c65300) 18%,transparent)}.pxab-restaurant-date-calendar__day.is-selected{border-color:var(--pxab-restaurant-accent,#c65300);background:var(--pxab-restaurant-accent,#c65300);color:#fff}.pxab-restaurant-date-calendar__day:disabled{opacity:.34;cursor:not-allowed;text-decoration:line-through}.pxab-restaurant-date-calendar.is-disabled{opacity:.7}.pxab-restaurant-fields--visit{grid-template-columns:minmax(220px,1.5fr) repeat(2,minmax(140px,.75fr))}.pxab-restaurant-fields--schedule{grid-template-columns:repeat(2,minmax(180px,1fr))}@media(max-width:700px){.pxab-restaurant-fields--visit,.pxab-restaurant-fields--schedule{grid-template-columns:1fr}.pxab-restaurant-date-calendar{padding:10px}.pxab-restaurant-date-calendar__grid{gap:4px}.pxab-restaurant-date-calendar__day{min-height:36px;font-size:14px}}

/* Vertically centred Restaurant compound controls. */
:is(.pxab-restaurant-booking,.pxab-restaurant-booking-controls-context) .pxab-restaurant-time-select{
    display:flex;
    align-items:center;
    min-height:44px;
}
:is(.pxab-restaurant-booking,.pxab-restaurant-booking-controls-context) .pxab-restaurant-time-select__icon{
    display:inline-flex;
    align-items:center;
    justify-content:center;
}
:is(.pxab-restaurant-booking,.pxab-restaurant-booking-controls-context) .pxab-restaurant-time-select select{
    display:block;
    min-height:44px;
    line-height:1.25;
}
:is(.pxab-restaurant-booking,.pxab-restaurant-booking-controls-context) .pxab-restaurant-date-control{
    display:flex;
    align-items:center;
}

/* Keep Restaurant date/time field content on the same visual centre line across themes. */
:is(.pxab-restaurant-booking,.pxab-restaurant-booking-controls-context) .pxab-restaurant-time-select select,
:is(.pxab-restaurant-booking,.pxab-restaurant-booking-controls-context) .pxab-restaurant-date-control input[type="date"]{
    height:44px;
    min-height:44px;
    margin:0;
    padding-top:0!important;
    padding-bottom:0!important;
}
:is(.pxab-restaurant-booking,.pxab-restaurant-booking-controls-context) .pxab-restaurant-time-select__icon .pxab-icon,
:is(.pxab-restaurant-booking,.pxab-restaurant-booking-controls-context) .pxab-restaurant-time-select__icon svg{display:block;margin:auto}
