/* Sapphire Tempus frontend. Scoped to .tempus and suitable for host-specific variable overrides. */
.tempus {
    --tempus-display: "Manrope", "Segoe UI", system-ui, sans-serif;
    --tempus-bg: #07111f;
    --tempus-panel: rgba(13, 31, 55, .94);
    --tempus-panel-strong: #102743;
    --tempus-panel-soft: rgba(8, 23, 42, .76);
    --tempus-text: #eef7ff;
    --tempus-muted: #a9bfd2;
    --tempus-faint: #7993aa;
    --tempus-line: rgba(151, 190, 222, .22);
    --tempus-line-strong: rgba(106, 211, 208, .52);
    --tempus-accent: #69d4cf;
    --tempus-accent-strong: #38b9b3;
    --tempus-accent-ink: #041718;
    --tempus-blue: #69aaf8;
    --tempus-gold: #f3d493;
    --tempus-green: #66d69d;
    --tempus-red: #ff8995;
    --tempus-warning: #ffc76b;
    --tempus-shadow: 0 24px 68px rgba(0, 8, 20, .34);
    min-width: 0;
    color: var(--tempus-text);
    font: 400 1rem/1.58 var(--tempus-display);
    container-type: inline-size;
}

.tempus, .tempus *, .tempus *::before, .tempus *::after { box-sizing: border-box; }
.tempus h1, .tempus h2, .tempus h3, .tempus p, .tempus dl, .tempus dd, .tempus ol, .tempus ul { margin-top: 0; }
.tempus h1, .tempus h2, .tempus h3, .tempus strong { color: inherit; }
.tempus a { color: var(--tempus-accent); text-decoration: none; }
.tempus button, .tempus input, .tempus select, .tempus textarea { font: inherit; }
.tempus :is(a, button, input, select, textarea, [tabindex]):focus-visible { outline: 3px solid var(--tempus-accent); outline-offset: 3px; }
.tempus input::placeholder, .tempus textarea::placeholder { color: var(--tempus-faint); opacity: 1; }
.tempus-eyebrow, .tempus-kicker { color: var(--tempus-gold); font-size: .69rem; font-weight: 850; letter-spacing: .125em; text-transform: uppercase; }
.tempus-eyebrow { display: inline-flex; gap: 8px; align-items: center; }
.tempus-kicker { display: block; margin-bottom: 5px; }

.tempus-button {
    display: inline-flex; gap: 8px; align-items: center; justify-content: center; min-height: 44px; padding: 10px 17px;
    border: 1px solid var(--tempus-line-strong); border-radius: 12px; color: var(--tempus-text); background: var(--tempus-panel-strong);
    box-shadow: 0 10px 28px rgba(0, 10, 24, .18); font-weight: 780; line-height: 1.1; cursor: pointer;
    transition: border-color .18s ease, color .18s ease, background .18s ease, transform .18s ease, box-shadow .18s ease;
}
.tempus-button:hover { color: var(--tempus-text); border-color: var(--tempus-accent); transform: translateY(-1px); box-shadow: 0 14px 34px rgba(0, 10, 24, .26); }
.tempus-button--primary { color: var(--tempus-accent-ink); border-color: transparent; background: linear-gradient(135deg, #97ece4, var(--tempus-accent) 54%, #64a7f4); box-shadow: 0 14px 34px rgba(70, 188, 190, .24); }
.tempus-button--primary:hover { color: #031416; background: linear-gradient(135deg, #b1f3ed, #7edfd8 54%, #82bbfa); }
.tempus-button--quiet { border-color: var(--tempus-line); background: var(--tempus-panel-soft); }
.tempus-button--danger { color: #fff; border-color: rgba(255, 137, 149, .5); background: rgba(143, 39, 58, .8); }
.tempus .tempus-button { color: var(--tempus-text); }
.tempus .tempus-button--primary { color: var(--tempus-accent-ink); }
.tempus .tempus-button--danger { color: #fff; }
.tempus-button--large { min-height: 50px; padding-inline: 22px; }
.tempus [aria-busy="true"] { cursor: progress; }
.tempus [aria-busy="true"] > * { opacity: .62; }

.tempus-hero, .tempus-detail-hero, .tempus-booking-head, .tempus-page-head {
    position: relative; overflow: hidden; border: 1px solid var(--tempus-line); border-radius: 28px; color: var(--tempus-text); background:
        radial-gradient(circle at 86% 12%, color-mix(in srgb, var(--tempus-accent) 24%, transparent), transparent 30%),
        radial-gradient(circle at 8% 108%, color-mix(in srgb, var(--tempus-blue) 14%, transparent), transparent 34%),
        linear-gradient(130deg, var(--tempus-panel-strong), var(--tempus-bg));
    box-shadow: var(--tempus-shadow), inset 0 1px rgba(255, 255, 255, .055);
}
.tempus-hero { display: grid; grid-template-columns: minmax(0, 1fr) minmax(280px, 360px); gap: clamp(26px, 5vw, 70px); align-items: end; min-height: 360px; padding: clamp(30px, 5vw, 68px); }
.tempus-hero::after, .tempus-detail-hero::after, .tempus-booking-head::after { position: absolute; inset: 0; z-index: 0; background-image: linear-gradient(rgba(125, 211, 224, .035) 1px, transparent 1px), linear-gradient(90deg, rgba(125, 211, 224, .035) 1px, transparent 1px); background-size: 40px 40px; content: ""; mask-image: linear-gradient(90deg, transparent 8%, #000); pointer-events: none; }
.tempus-hero__copy, .tempus-hero__signal, .tempus-detail-hero > *, .tempus-booking-head > * { position: relative; z-index: 1; }
.tempus-hero h1, .tempus-detail-hero h1, .tempus-booking-head h1, .tempus-page-head h1 { max-width: 900px; margin: 12px 0 16px; font-size: clamp(2.35rem, 5vw, 5rem); font-weight: 800; letter-spacing: -.055em; line-height: .98; }
.tempus-hero__copy > p, .tempus-detail-hero__copy > p, .tempus-booking-head > div > p, .tempus-page-head > div > p { max-width: 720px; margin-bottom: 0; color: var(--tempus-muted); font-size: clamp(1rem, 1.5vw, 1.17rem); }
.tempus-hero__actions { display: flex; gap: 10px; flex-wrap: wrap; margin-top: 28px; }
.tempus-hero__signal { display: grid; gap: 22px; padding: 22px; border: 1px solid var(--tempus-line); border-radius: 22px; background: color-mix(in srgb, var(--tempus-bg) 76%, transparent); backdrop-filter: blur(18px); }
.tempus-hero__orbit { display: grid; place-items: center; width: 74px; height: 74px; border: 1px solid var(--tempus-line-strong); border-radius: 50%; color: var(--tempus-accent); background: rgba(68, 195, 192, .08); font-size: 1.8rem; box-shadow: 0 0 0 12px rgba(78, 196, 195, .035); }
.tempus-hero__signal dl { display: grid; gap: 12px; margin: 0; }
.tempus-hero__signal dl div { display: flex; gap: 16px; align-items: baseline; justify-content: space-between; padding-top: 12px; border-top: 1px solid var(--tempus-line); }
.tempus-hero__signal dt { color: var(--tempus-muted); font-size: .78rem; }
.tempus-hero__signal dd { margin: 0; font-weight: 800; text-align: right; }

.tempus-catalog-shell { display: grid; gap: 20px; padding-top: clamp(40px, 6vw, 82px); }
.tempus-section-head, .tempus-panel__head { display: flex; gap: 28px; align-items: end; justify-content: space-between; }
.tempus-section-head > div { max-width: 720px; }
.tempus-section-head h2, .tempus-panel__head h2 { margin-bottom: 0; font-size: clamp(1.8rem, 3vw, 3rem); letter-spacing: -.04em; }
.tempus-section-head > p, .tempus-panel__head > div > p { max-width: 500px; margin-bottom: 4px; color: var(--tempus-muted); }
.tempus-filter { display: grid; grid-template-columns: minmax(260px, 1.8fr) repeat(2, minmax(160px, 1fr)) auto; gap: 12px; align-items: end; padding: 18px; border: 1px solid var(--tempus-line); border-radius: 18px; background: var(--tempus-panel-soft); }
.tempus-field { display: grid; gap: 7px; min-width: 0; color: var(--tempus-muted); font-size: .76rem; font-weight: 750; }
.tempus-field > span:first-child { color: var(--tempus-gold); font-size: .67rem; letter-spacing: .085em; text-transform: uppercase; }
.tempus-field small { color: var(--tempus-faint); font-weight: 500; }
.tempus-field--wide { grid-column: 1 / -1; }
.tempus-input, .tempus-select, .tempus-textarea, .tempus-field input, .tempus-field select, .tempus-field textarea { width: 100%; min-height: 46px; padding: 10px 12px; border: 1px solid var(--tempus-line); border-radius: 11px; color: var(--tempus-text); background: var(--tempus-panel-strong); }
.tempus-textarea, .tempus-field textarea { min-height: 112px; resize: vertical; }
.tempus-search { position: relative; display: block; }
.tempus-search i { position: absolute; top: 50%; left: 13px; color: var(--tempus-faint); transform: translateY(-50%); pointer-events: none; }
.tempus-search input { padding-left: 38px; }
.tempus-filter__actions { display: flex; gap: 8px; align-items: center; }
.tempus-catalog-results { min-height: 180px; }
.tempus-results-head { display: flex; gap: 12px; align-items: center; justify-content: space-between; margin-bottom: 16px; color: var(--tempus-muted); }
.tempus-results-head strong { font-size: 1rem; }
.tempus-service-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 18px; }
.tempus-service-card { display: grid; grid-template-rows: auto 1fr auto; min-width: 0; overflow: hidden; border: 1px solid var(--tempus-line); border-radius: 22px; background: var(--tempus-panel); box-shadow: 0 18px 44px rgba(0, 8, 20, .17); transition: transform .2s ease, border-color .2s ease, box-shadow .2s ease; }
.tempus-service-card:hover { border-color: var(--tempus-line-strong); box-shadow: 0 24px 54px rgba(0, 8, 20, .27); transform: translateY(-4px); }
.tempus-service-card__media { position: relative; display: block; height: 190px; overflow: hidden; color: var(--tempus-accent); background: linear-gradient(135deg, var(--tempus-panel-strong), var(--tempus-bg)); }
.tempus-service-card__media img { width: 100%; height: 100%; object-fit: cover; transition: transform .35s ease; }
.tempus-service-card:hover .tempus-service-card__media img { transform: scale(1.035); }
.tempus-service-card__media > span { display: grid; place-items: center; height: 100%; font-size: 3rem; }
.tempus-service-card__media > b { position: absolute; top: 14px; left: 14px; padding: 6px 10px; border-radius: 999px; color: var(--tempus-accent-ink); background: var(--tempus-accent); font-size: .64rem; letter-spacing: .06em; text-transform: uppercase; }
.tempus-service-card__body { padding: 20px; }
.tempus-service-card__facts { display: flex; gap: 13px; flex-wrap: wrap; color: var(--tempus-muted); font-size: .73rem; }
.tempus-service-card__facts span { display: inline-flex; gap: 5px; align-items: center; }
.tempus-service-card h3 { margin: 11px 0 8px; font-size: 1.35rem; letter-spacing: -.03em; }
.tempus-service-card h3 a { color: var(--tempus-text); }
.tempus-service-card p { margin-bottom: 18px; color: var(--tempus-muted); }
.tempus-service-card__availability { display: grid; gap: 2px; padding: 12px; border-radius: 12px; background: color-mix(in srgb, var(--tempus-accent) 8%, transparent); }
.tempus-service-card__availability span { color: var(--tempus-muted); font-size: .7rem; }
.tempus-service-card__footer { display: flex; gap: 12px; align-items: center; justify-content: space-between; padding: 15px 20px; border-top: 1px solid var(--tempus-line); }
.tempus-service-card__footer > div { display: grid; }
.tempus-service-card__footer > div span { color: var(--tempus-muted); font-size: .68rem; }

.tempus-alert { margin-block: 18px; padding: 14px 17px; border: 1px solid; border-radius: 13px; }
.tempus-alert--success { color: var(--tempus-green); border-color: color-mix(in srgb, var(--tempus-green) 45%, transparent); background: color-mix(in srgb, var(--tempus-green) 9%, transparent); }
.tempus-alert--error { color: var(--tempus-red); border-color: color-mix(in srgb, var(--tempus-red) 45%, transparent); background: color-mix(in srgb, var(--tempus-red) 9%, transparent); }
.tempus-empty { display: grid; place-items: center; min-height: 260px; padding: 36px; border: 1px dashed var(--tempus-line); border-radius: 20px; text-align: center; background: var(--tempus-panel-soft); }
.tempus-empty i { color: var(--tempus-accent); font-size: 2.6rem; }
.tempus-empty h2, .tempus-empty h3 { margin: 12px 0 6px; }
.tempus-empty p { max-width: 540px; color: var(--tempus-muted); }
.tempus-empty--compact { min-height: 190px; }
.tempus-pager { margin-top: 18px; }

.tempus-breadcrumbs { display: flex; gap: 8px; align-items: center; flex-wrap: wrap; margin-bottom: 16px; color: var(--tempus-muted); font-size: .78rem; }
.tempus-detail-hero { display: grid; grid-template-columns: minmax(280px, .8fr) minmax(0, 1.2fr); gap: clamp(28px, 5vw, 70px); align-items: center; padding: clamp(25px, 4vw, 48px); }
.tempus-detail-hero__media { min-height: 390px; overflow: hidden; border: 1px solid var(--tempus-line); border-radius: 22px; background: var(--tempus-panel-soft); }
.tempus-detail-hero__media img { width: 100%; height: 100%; min-height: 390px; object-fit: cover; }
.tempus-detail-hero__media > span { display: grid; place-items: center; min-height: 390px; color: var(--tempus-accent); font-size: 4rem; }
.tempus-facts { display: flex; gap: 10px; flex-wrap: wrap; margin: 24px 0; }
.tempus-facts div { min-width: 125px; padding: 12px 14px; border: 1px solid var(--tempus-line); border-radius: 12px; background: var(--tempus-panel-soft); }
.tempus-facts dt { color: var(--tempus-muted); font-size: .67rem; text-transform: uppercase; }
.tempus-facts dd { margin: 3px 0 0; font-weight: 800; }
.tempus-detail-layout { display: grid; grid-template-columns: minmax(0, 1.35fr) minmax(280px, .65fr); gap: 18px; margin-top: 18px; }
.tempus-detail-aside { display: grid; gap: 18px; align-content: start; }
.tempus-panel { min-width: 0; padding: clamp(20px, 3vw, 30px); border: 1px solid var(--tempus-line); border-radius: 20px; background: var(--tempus-panel); box-shadow: 0 14px 36px rgba(0, 8, 20, .12); }
.tempus-richtext { color: var(--tempus-muted); }
.tempus-richtext :is(h2, h3, strong) { color: var(--tempus-text); }
.tempus-richtext > p { margin: 14px 0 0; white-space: pre-line; }
.tempus-provider-list, .tempus-location-list { display: grid; gap: 8px; }
.tempus-provider-list a, .tempus-location-list > div { display: flex; gap: 10px; align-items: center; padding: 10px; border-radius: 12px; color: var(--tempus-text); background: var(--tempus-panel-soft); }
.tempus-provider-list a > span:nth-child(2), .tempus-location-list > div > span { display: grid; min-width: 0; flex: 1; }
.tempus-provider-list small, .tempus-location-list small { color: var(--tempus-muted); }
.tempus-avatar { display: grid; place-items: center; flex: 0 0 44px; width: 44px; height: 44px; overflow: hidden; border-radius: 50%; color: var(--tempus-accent); background: rgba(78, 196, 195, .1); }
.tempus-avatar img { width: 100%; height: 100%; object-fit: cover; }

.tempus-booking-head, .tempus-page-head { display: flex; gap: 26px; align-items: end; justify-content: space-between; padding: clamp(25px, 4vw, 46px); }
.tempus-booking-head > div:first-child { display: grid; justify-items: start; }
.tempus-booking-head h1, .tempus-page-head h1 { font-size: clamp(2.2rem, 4vw, 4rem); }
.tempus-back { display: inline-flex; gap: 7px; align-items: center; margin-bottom: 15px; color: var(--tempus-muted); }
.tempus-trust-note { display: flex; gap: 12px; align-items: flex-start; width: min(100%, 330px); padding: 16px; border: 1px solid var(--tempus-line); border-radius: 15px; background: var(--tempus-panel-soft); }
.tempus-trust-note > i { color: var(--tempus-green); font-size: 1.4rem; }
.tempus-trust-note span { display: grid; }
.tempus-trust-note small { color: var(--tempus-muted); }
.tempus-steps { display: grid; grid-template-columns: repeat(4, 1fr); gap: 0; margin: 18px 0; padding: 0; list-style: none; }
.tempus-steps li { position: relative; display: grid; gap: 4px; justify-items: center; color: var(--tempus-faint); font-size: .73rem; text-align: center; }
.tempus-steps li::before { position: absolute; top: 15px; right: 50%; left: -50%; height: 2px; background: var(--tempus-line); content: ""; }
.tempus-steps li:first-child::before { display: none; }
.tempus-steps li > span { position: relative; z-index: 1; display: grid; place-items: center; width: 32px; height: 32px; border: 1px solid var(--tempus-line); border-radius: 50%; background: var(--tempus-bg); }
.tempus-steps li.is-current, .tempus-steps li.is-complete { color: var(--tempus-text); }
.tempus-steps li.is-current > span { color: var(--tempus-accent-ink); border-color: var(--tempus-accent); background: var(--tempus-accent); box-shadow: 0 0 0 6px rgba(78, 196, 195, .08); }
.tempus-steps li.is-complete > span { color: var(--tempus-green); border-color: var(--tempus-green); }
.tempus-booking-layout { display: grid; grid-template-columns: minmax(0, 1fr) minmax(270px, 350px); gap: 18px; align-items: start; }
.tempus-booking-main { display: grid; gap: 18px; min-width: 0; }
.tempus-form-section > header { margin-bottom: 20px; }
.tempus-form-section > header h2 { margin: 3px 0 7px; }
.tempus-form-section > header p { color: var(--tempus-muted); }
.tempus-form-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; }
.tempus-booking-summary { position: sticky; top: 16px; min-width: 0; }
.tempus-summary-card { padding: 24px; border: 1px solid var(--tempus-line); border-radius: 20px; background: var(--tempus-panel); box-shadow: var(--tempus-shadow); }
.tempus-summary-card h2 { margin: 5px 0 18px; font-size: 1.35rem; }
.tempus-summary-service { display: grid; grid-template-columns: 76px minmax(0, 1fr); gap: 13px; align-items: start; margin: 10px 0 18px; }
.tempus-summary-service__media { display: block; width: 76px; aspect-ratio: 1; overflow: hidden; border: 1px solid var(--tempus-line); border-radius: 14px; background: var(--tempus-panel-soft); }
.tempus-summary-service__media img { width: 100%; height: 100%; object-fit: cover; }
.tempus-summary-service__copy { min-width: 0; }
.tempus-summary-service__copy h2 { margin: 1px 0 6px; }
.tempus-summary-service__copy h2 a { color: inherit; }
.tempus-summary-service__copy p { display: -webkit-box; overflow: hidden; margin: 0; color: var(--tempus-muted); font-size: .76rem; line-height: 1.45; -webkit-box-orient: vertical; -webkit-line-clamp: 3; }
.tempus-summary-card dl { display: grid; gap: 12px; margin: 0; }
.tempus-summary-card dl div { padding-bottom: 11px; border-bottom: 1px solid var(--tempus-line); }
.tempus-summary-card dt { display: flex; gap: 7px; align-items: center; color: var(--tempus-muted); font-size: .7rem; }
.tempus-summary-card dd { margin: 3px 0 0; font-weight: 750; }
.tempus-summary-card__total { display: flex; align-items: baseline; justify-content: space-between; padding-block: 16px; }
.tempus-summary-card__total span { color: var(--tempus-muted); }
.tempus-summary-card__total strong { font-size: 1.45rem; }
.tempus-summary-card > p { display: flex; gap: 8px; margin: 0; color: var(--tempus-muted); font-size: .78rem; }
.tempus-booking-submit { grid-column: 1 / -1; display: flex; gap: 12px; align-items: center; justify-content: flex-end; flex-wrap: wrap; }
.tempus-booking-submit small { color: var(--tempus-muted); }
.tempus-availability { position: relative; }
.tempus-timezone { display: inline-flex; gap: 7px; align-items: center; color: var(--tempus-muted); font-size: .74rem; }
.tempus-slot-groups { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 9px; margin-top: 18px; }
.tempus-slot { position: relative; display: flex; gap: 9px; align-items: center; padding: 11px; border: 1px solid var(--tempus-line); border-radius: 12px; background: var(--tempus-panel-soft); cursor: pointer; }
.tempus-slot:hover, .tempus-slot:has(input:checked) { border-color: var(--tempus-accent); background: color-mix(in srgb, var(--tempus-accent) 10%, var(--tempus-panel-soft)); }
.tempus-slot input { accent-color: var(--tempus-accent-strong); }
.tempus-slot > span { display: grid; min-width: 0; }
.tempus-slot small { overflow: hidden; color: var(--tempus-muted); font-size: .69rem; text-overflow: ellipsis; white-space: nowrap; }
.tempus-slot > b { position: absolute; top: -7px; right: 7px; padding: 2px 6px; border-radius: 999px; color: var(--tempus-accent-ink); background: var(--tempus-accent); font-size: .57rem; text-transform: uppercase; }

.tempus-booking-list { display: grid; gap: 12px; margin-top: 18px; }
.tempus-booking-card { display: grid; grid-template-columns: 90px minmax(0, 1fr) auto; gap: 18px; align-items: center; padding: 18px; border: 1px solid var(--tempus-line); border-radius: 18px; background: var(--tempus-panel); }
.tempus-booking-card time { display: grid; justify-items: center; padding: 10px; border-radius: 13px; background: var(--tempus-panel-soft); }
.tempus-booking-card time strong { font-size: 1.7rem; line-height: 1; }
.tempus-booking-card time span, .tempus-booking-card time small { color: var(--tempus-muted); font-size: .68rem; text-transform: uppercase; }
.tempus-booking-card__copy h2 { margin: 6px 0; font-size: 1.3rem; }
.tempus-booking-card__copy h2 a { color: var(--tempus-text); }
.tempus-booking-card__copy p, .tempus-booking-card__copy > small { margin: 0; color: var(--tempus-muted); }
.tempus-state { display: inline-flex; width: max-content; padding: 4px 8px; border-radius: 999px; color: var(--tempus-blue); background: color-mix(in srgb, var(--tempus-blue) 12%, transparent); font-size: .64rem; font-weight: 800; text-transform: uppercase; }
.tempus-state--success, .tempus-state--confirmed { color: var(--tempus-green); background: color-mix(in srgb, var(--tempus-green) 12%, transparent); }
.tempus-state--warning, .tempus-state--pending { color: var(--tempus-warning); background: color-mix(in srgb, var(--tempus-warning) 12%, transparent); }
.tempus-state--danger, .tempus-state--cancelled { color: var(--tempus-red); background: color-mix(in srgb, var(--tempus-red) 12%, transparent); }
.tempus-reference { display: grid; width: max-content; padding: 11px 14px; border: 1px solid var(--tempus-line); border-radius: 12px; background: var(--tempus-panel-soft); }
.tempus-reference span { color: var(--tempus-muted); font-size: .66rem; text-transform: uppercase; }
.tempus-detail-list { display: grid; gap: 0; margin: 0; }
.tempus-detail-list div { display: grid; grid-template-columns: minmax(120px, .36fr) 1fr; gap: 18px; padding: 14px 0; border-bottom: 1px solid var(--tempus-line); }
.tempus-detail-list dt { color: var(--tempus-muted); }
.tempus-detail-list dd { display: grid; margin: 0; font-weight: 700; }
.tempus-detail-list small { color: var(--tempus-muted); font-weight: 400; }
.tempus-booking-actions { display: grid; gap: 11px; align-content: start; }
.tempus-result { display: grid; justify-items: center; max-width: 780px; margin-inline: auto; padding: clamp(38px, 7vw, 82px); border: 1px solid var(--tempus-line); border-radius: 28px; text-align: center; background: var(--tempus-panel); box-shadow: var(--tempus-shadow); }
.tempus-result__mark { display: grid; place-items: center; width: 86px; height: 86px; margin-bottom: 18px; border: 1px solid var(--tempus-line-strong); border-radius: 50%; color: var(--tempus-green); background: color-mix(in srgb, var(--tempus-green) 9%, transparent); font-size: 2.4rem; }
.tempus-result h1 { margin: 8px 0 12px; font-size: clamp(2.1rem, 5vw, 4rem); letter-spacing: -.05em; }
.tempus-result > p { max-width: 580px; color: var(--tempus-muted); }
.tempus-result__actions { display: flex; gap: 10px; flex-wrap: wrap; justify-content: center; margin-top: 22px; }
.tempus-status { position: fixed; right: 20px; bottom: 20px; z-index: 1200; max-width: min(420px, calc(100vw - 40px)); padding: 12px 15px; border: 1px solid var(--tempus-line-strong); border-radius: 12px; color: var(--tempus-text); background: var(--tempus-panel-strong); box-shadow: var(--tempus-shadow); opacity: 0; pointer-events: none; transform: translateY(12px); transition: .2s ease; }
.tempus-status.is-visible { opacity: 1; transform: none; }
.tempus-status[data-tone="error"] { border-color: var(--tempus-red); }

@container (max-width: 960px) {
    .tempus-hero, .tempus-detail-hero, .tempus-booking-layout, .tempus-detail-layout { grid-template-columns: 1fr; }
    .tempus-hero__signal { width: min(100%, 520px); }
    .tempus-filter { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .tempus-field--search, .tempus-filter__actions { grid-column: 1 / -1; }
    .tempus-service-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .tempus-booking-summary { position: static; }
    .tempus-slot-groups { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}
@container (max-width: 620px) {
    .tempus-hero, .tempus-detail-hero, .tempus-booking-head, .tempus-page-head { border-radius: 20px; }
    .tempus-hero, .tempus-booking-head, .tempus-page-head { display: grid; min-height: auto; padding: 24px 20px; }
    .tempus-hero h1, .tempus-detail-hero h1, .tempus-booking-head h1, .tempus-page-head h1 { font-size: clamp(2rem, 11vw, 3.1rem); }
    .tempus-section-head, .tempus-panel__head { display: grid; gap: 8px; }
    .tempus-filter, .tempus-form-grid { grid-template-columns: 1fr; }
    .tempus-field--wide, .tempus-field--search, .tempus-filter__actions { grid-column: auto; }
    .tempus-filter__actions, .tempus-filter__actions .tempus-button { width: 100%; }
    .tempus-service-grid { grid-template-columns: 1fr; }
    .tempus-service-card__media { height: 165px; }
    .tempus-detail-hero__media, .tempus-detail-hero__media img, .tempus-detail-hero__media > span { min-height: 260px; }
    .tempus-summary-service { grid-template-columns: 62px minmax(0, 1fr); }
    .tempus-summary-service__media { width: 62px; }
    .tempus-steps li b { font-size: .62rem; }
    .tempus-slot-groups { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .tempus-booking-card { grid-template-columns: 64px minmax(0, 1fr); }
    .tempus-booking-card > .tempus-button { grid-column: 1 / -1; }
    .tempus-detail-list div { grid-template-columns: 1fr; gap: 3px; }
}
@media (prefers-reduced-motion: reduce) {
    .tempus *, .tempus *::before, .tempus *::after { scroll-behavior: auto !important; transition-duration: .01ms !important; animation-duration: .01ms !important; animation-iteration-count: 1 !important; }
}
/* Demo main-layout adaptation: light editorial canvas with an ink reservation hero. */
.demo-front .tempus {
    --tempus-bg: #07111f;
    --tempus-panel: #ffffff;
    --tempus-panel-strong: #ffffff;
    --tempus-panel-soft: #f3f6fa;
    --tempus-text: #172437;
    --tempus-muted: #66758a;
    --tempus-faint: #708198;
    --tempus-line: #dce3ec;
    --tempus-line-strong: rgba(22, 119, 255, .42);
    --tempus-accent: #4da0ff;
    --tempus-accent-strong: #1677ff;
    --tempus-accent-ink: #061525;
    --tempus-blue: #1677ff;
    --tempus-gold: #c36530;
    --tempus-green: #16865d;
    --tempus-red: #bd3f52;
    --tempus-warning: #a66212;
    --tempus-shadow: 0 24px 70px rgba(17, 35, 60, .12);
}
.demo-front .tempus :is(.tempus-hero, .tempus-detail-hero, .tempus-booking-head, .tempus-page-head) {
    --tempus-panel: rgba(13, 31, 55, .94);
    --tempus-panel-strong: #102743;
    --tempus-panel-soft: rgba(8, 23, 42, .76);
    --tempus-text: #eef7ff;
    --tempus-muted: #bdd0e0;
    --tempus-faint: #93aac0;
    --tempus-line: rgba(151, 190, 222, .22);
    --tempus-line-strong: rgba(106, 211, 208, .52);
    --tempus-accent: #69d4cf;
    --tempus-gold: #f3d493;
}
.demo-front .tempus .tempus-button--quiet { color: var(--tempus-text); }
.demo-front .tempus :is(.tempus-service-card, .tempus-panel, .tempus-summary-card, .tempus-booking-card, .tempus-result) { box-shadow: 0 18px 48px rgba(17, 35, 60, .1); }
.demo-front .tempus-service-card h3 a,
.demo-front .tempus-booking-card__copy h2 a { color: var(--tempus-text); }
