/*!
 * Themeasy — Business Hours
 *
 * Opening-hours list: dl rows of day label + hours joined by an optional
 * leader line, an optional header (icon + title + live Open/Closed badge) and
 * a footer exception note. Today's row is highlighted server-side (accent
 * wash + edge bar + optional "Today" pill) and re-synced by JS on minute
 * boundaries; the structure is complete and correct with no JavaScript. The
 * only motion is the status-dot radar pulse while open, which fully stops
 * under (prefers-reduced-motion: reduce).
 *
 * Tokens consumed: --tms-primary-color, --tms-heading-color, --tms-body-color,
 * --tms-border-color, --tms-success-color, --tms-danger-color, --tms-radius-md,
 * --tms-radius-pill (public --tms-* design API).
 *
 * @author Themeasy
 * @link https://themeasy.co
 * @since 1.0.0
 */
.tms-business-hours{--tms-business-hours-row-gap:.875rem;--tms-business-hours-header-spacing:1.25rem;--tms-business-hours-icon-gap:.625em;--tms-business-hours-leader-style:none;--tms-business-hours-leader-weight:2px;--tms-business-hours-leader-spacing:.75em;--tms-business-hours-leader-color:color-mix(in srgb, var(--tms-heading-color,#111827) 30%, transparent);--tms-business-hours-divider-style:solid;--tms-business-hours-divider-weight:1px;--tms-business-hours-divider-color:var(--tms-border-color,#0f172a1a);--tms-business-hours-accent:var(--tms-primary-color,#5b6cff);--tms-business-hours-today-padding:10px 15px;--tms-business-hours-today-radius:var(--tms-radius-md,10px);--tms-business-hours-today-bar-width:3px;--tms-business-hours-note-spacing:1rem;--tms-business-hours-open-color:var(--tms-success-color,#15803d);--tms-business-hours-open-bg:color-mix(in srgb, var(--tms-business-hours-open-color) 12%, transparent);--tms-business-hours-closed-color:var(--tms-danger-color,#b91c1c);--tms-business-hours-closed-bg:color-mix(in srgb, var(--tms-business-hours-closed-color) 10%, transparent);width:100%;position:relative}.tms-business-hours__header{flex-wrap:wrap;align-items:center;gap:.5em 1em;margin-block-end:var(--tms-business-hours-header-spacing);display:flex}.tms-business-hours__heading{align-items:center;gap:var(--tms-business-hours-icon-gap);min-width:0;display:flex}.tms-business-hours__icon{color:var(--tms-heading-color,#111827);flex:none;font-size:1.25rem;line-height:1;display:inline-flex}.tms-business-hours__icon svg{fill:currentColor;width:1em;height:1em}.tms-business-hours__icon svg[fill=none]{fill:none;stroke:currentColor}.tms-business-hours__icon img{width:1em;height:1em}.tms-business-hours__title{letter-spacing:normal;overflow-wrap:break-word;min-width:0;color:var(--tms-heading-color,#111827);margin:0;font-size:1.125rem;font-weight:600;line-height:1.3}.tms-business-hours__badge{border-radius:var(--tms-radius-pill,999px);white-space:nowrap;flex:none;align-items:center;gap:.5em;margin-inline-start:auto;padding:.4em .85em;font-size:.75rem;font-weight:600;line-height:1.2;transition:color .25s,background-color .25s;display:inline-flex}.tms-business-hours__badge[hidden]{display:none}.tms-business-hours__badge--open{color:var(--tms-business-hours-open-color);background-color:var(--tms-business-hours-open-bg)}.tms-business-hours__badge--closed{color:var(--tms-business-hours-closed-color);background-color:var(--tms-business-hours-closed-bg)}.tms-business-hours__badge-dot{background-color:currentColor;border-radius:50%;flex:none;width:.5em;height:.5em;position:relative}.tms-business-hours__badge--pulse.tms-business-hours__badge--open .tms-business-hours__badge-dot:after{content:"";background-color:currentColor;border-radius:50%;animation:2.2s cubic-bezier(0,0,.2,1) infinite tms-business-hours-ping;position:absolute;top:0;bottom:0;left:0;right:0}@keyframes tms-business-hours-ping{0%{opacity:.55;transform:scale(1)}80%,to{opacity:0;transform:scale(2.75)}}.tms-business-hours__list{row-gap:var(--tms-business-hours-row-gap);margin:0;display:grid}.tms-business-hours__row{align-items:baseline;display:flex;position:relative}.tms-business-hours--divider .tms-business-hours__row:not(:last-child):after{content:"";border-block-end:var(--tms-business-hours-divider-weight) var(--tms-business-hours-divider-style) var(--tms-business-hours-divider-color);position:absolute;bottom:calc(var(--tms-business-hours-row-gap) / -2);left:0;right:0}.tms-business-hours__day{overflow-wrap:break-word;min-width:0;color:var(--tms-heading-color,#111827);flex:0 auto;align-items:baseline;gap:.6em;margin:0;font-size:.875rem;font-weight:500;line-height:1.5;display:flex}.tms-business-hours__cell{flex:auto;align-items:baseline;min-width:0;margin:0;display:flex}.tms-business-hours__leader{min-width:1.5rem;margin-inline:var(--tms-business-hours-leader-spacing);border-block-end-width:var(--tms-business-hours-leader-weight);border-block-end-style:var(--tms-business-hours-leader-style);border-block-end-color:var(--tms-business-hours-leader-color);flex:auto}.tms-business-hours__hours{text-align:end;overflow-wrap:break-word;font-variant-numeric:tabular-nums;min-width:0;color:var(--tms-body-color,#4b5563);flex:0 auto;font-size:.875rem;line-height:1.5}.tms-business-hours__closed-label{text-align:end;color:color-mix(in srgb, var(--tms-body-color,#4b5563) 65%, transparent);flex:0 auto;font-size:.875rem;font-style:italic;line-height:1.5}.tms-business-hours__row--today{padding:var(--tms-business-hours-today-padding);border-radius:var(--tms-business-hours-today-radius);background:var(--tms-business-hours-today-bg,color-mix(in srgb, var(--tms-business-hours-accent) 7%, transparent))}.tms-business-hours__row--today:before{content:"";width:var(--tms-business-hours-today-bar-width);background-color:var(--tms-business-hours-accent);position:absolute;top:0;bottom:0}.tms-business-hours__row--today:not(:-webkit-any(:lang(ae),:lang(ar),:lang(arc),:lang(bcc),:lang(bqi),:lang(ckb),:lang(dv),:lang(fa),:lang(glk),:lang(he),:lang(ku),:lang(mzn),:lang(nqo),:lang(pnb),:lang(ps),:lang(sd),:lang(ug),:lang(ur),:lang(yi))):before{border-top-left-radius:inherit;border-bottom-left-radius:inherit;left:0}.tms-business-hours__row--today:not(:is(:lang(ae),:lang(ar),:lang(arc),:lang(bcc),:lang(bqi),:lang(ckb),:lang(dv),:lang(fa),:lang(glk),:lang(he),:lang(ku),:lang(mzn),:lang(nqo),:lang(pnb),:lang(ps),:lang(sd),:lang(ug),:lang(ur),:lang(yi))):before{border-top-left-radius:inherit;border-bottom-left-radius:inherit;left:0}.tms-business-hours__row--today:-webkit-any(:lang(ae),:lang(ar),:lang(arc),:lang(bcc),:lang(bqi),:lang(ckb),:lang(dv),:lang(fa),:lang(glk),:lang(he),:lang(ku),:lang(mzn),:lang(nqo),:lang(pnb),:lang(ps),:lang(sd),:lang(ug),:lang(ur),:lang(yi)):before{border-top-right-radius:inherit;border-bottom-right-radius:inherit;right:0}.tms-business-hours__row--today:is(:lang(ae),:lang(ar),:lang(arc),:lang(bcc),:lang(bqi),:lang(ckb),:lang(dv),:lang(fa),:lang(glk),:lang(he),:lang(ku),:lang(mzn),:lang(nqo),:lang(pnb),:lang(ps),:lang(sd),:lang(ug),:lang(ur),:lang(yi)):before{border-top-right-radius:inherit;border-bottom-right-radius:inherit;right:0}.tms-business-hours__row--today .tms-business-hours__day{font-weight:600}.tms-business-hours__row--today .tms-business-hours__hours{color:var(--tms-heading-color,#111827);font-weight:600}.tms-business-hours__today-pill{border-radius:var(--tms-radius-pill,999px);font-family:var(--tms-accent-font);letter-spacing:.06em;text-transform:uppercase;white-space:nowrap;color:var(--tms-business-hours-accent);background-color:color-mix(in srgb, var(--tms-business-hours-accent) 14%, transparent);flex:none;padding:.3em .55em;font-size:.625rem;font-weight:700;line-height:1.1;display:none}.tms-business-hours__row--today .tms-business-hours__today-pill{display:inline-flex}.tms-business-hours__note{margin:var(--tms-business-hours-note-spacing) 0 0;overflow-wrap:break-word;color:color-mix(in srgb, var(--tms-body-color,#4b5563) 75%, transparent);font-size:.875rem;line-height:1.55}@media (prefers-reduced-motion:reduce){.tms-business-hours__badge{transition:none}.tms-business-hours__badge--pulse.tms-business-hours__badge--open .tms-business-hours__badge-dot:after{content:none;animation:none}}@media (max-width:767px){.tms-business-hours__title{font-size:1rem}.tms-business-hours__icon{font-size:1.125rem}.tms-business-hours__badge{font-size:.75rem}.tms-business-hours__leader{min-width:1rem}}