/* ─── TOKENS ──────────────────────────────────────────────── */
.tlb-app {
    --tlb-accent: #00b9ff;
    --tlb-accent-d: #0099d6;
    --tlb-accent-dd: #006fa3;
    --tlb-accent-pale: #e8f8ff;
    --tlb-accent-pale2: #cceeff;
    --tlb-ink: #0c111b;
    --tlb-ink2: #1e293b;
    --tlb-ink3: #334155;
    --tlb-muted: #64748b;
    --tlb-muted2: #94a3b8;
    --tlb-border: #e2e8f0;
    --tlb-border2: #f1f5f9;
    --tlb-surface: #ffffff;
    --tlb-bg: #f6f8fb;
    --tlb-sidebar-bg: #0c111b;
    --tlb-sidebar-surface: rgba(255,255,255,0.04);
    --tlb-sidebar-border: rgba(255,255,255,0.07);
    --tlb-sidebar-muted: #4b5563;
    --tlb-sidebar-label: #6b7280;
    --tlb-sidebar-text: #d1d5db;
    --tlb-sidebar-white: #f9fafb;
    --tlb-green: #059669;
    --tlb-green-pale: #d1fae5;
    --tlb-amber: #b45309;
    --tlb-amber-pale: #fef3c7;
    --tlb-red: #dc2626;
    --tlb-r: 14px;
    --tlb-r-sm: 10px;
    --tlb-shadow-card: 0 1px 3px rgba(0,0,0,0.05), 0 4px 20px rgba(0,0,0,0.07);
    --tlb-shadow-raised: 0 8px 24px rgba(0,0,0,0.1), 0 2px 8px rgba(0,0,0,0.06);
    --tlb-font: 'Plus Jakarta Sans', sans-serif;
    --tlb-transition: 0.18s cubic-bezier(0.4, 0, 0.2, 1);
}

.tlb-app *, .tlb-app *::before, .tlb-app *::after {
    box-sizing: border-box;
}

/* Hide the WP page title above the booking form */
.page .tlb-app ~ .entry-title,
.page .entry-title + .tlb-app,
body.page .entry-header,
body.page .page-header,
body.page .entry-title,
body.page .wp-block-post-title,
body.page article > .entry-title,
body.page header.entry-header {
    display: none !important;
}

/* Force full-width: break out of any WP theme container */
.tlb-app {
    display: flex;
    min-height: 100vh;
    font-family: var(--tlb-font);
    background: var(--tlb-bg);
    color: var(--tlb-ink);
    -webkit-font-smoothing: antialiased;
    line-height: 1.5;
    width: 100vw;
    position: relative;
    left: 50%;
    right: 50%;
    margin-left: -50vw;
    margin-right: -50vw;
}

/* Override theme styles that bleed into .tlb-app */
.tlb-app h1,
.tlb-app h2,
.tlb-app h3,
.tlb-app h4,
.tlb-app h5,
.tlb-app h6 {
    color: var(--tlb-ink) !important;
    font-family: var(--tlb-font) !important;
    margin: 0 !important;
    padding: 0 !important;
    background: none !important;
    text-shadow: none !important;
    letter-spacing: normal !important;
    text-transform: none !important;
    border: none !important;
    line-height: 1.18 !important;
}
.tlb-app p {
    color: var(--tlb-muted) !important;
    font-family: var(--tlb-font) !important;
    margin: 0 !important;
    padding: 0 !important;
    background: none !important;
}
.tlb-app label {
    color: var(--tlb-ink3) !important;
    font-family: var(--tlb-font) !important;
    background: none !important;
}
.tlb-app ul {
    margin: 0 !important;
    padding: 0 !important;
    list-style: none !important;
}
.tlb-app a {
    text-decoration: none !important;
}

/* ─── SIDEBAR ─────────────────────────────────────────────── */
.tlb-sidebar {
    width: 280px;
    min-width: 280px;
    background: var(--tlb-sidebar-bg);
    display: flex;
    flex-direction: column;
    position: sticky;
    top: 0;
    height: 100vh;
    overflow-y: auto;
    border-right: 1px solid rgba(255,255,255,0.04);
}
.tlb-sidebar::before {
    content: '';
    position: absolute;
    inset: 0;
    pointer-events: none;
    background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 200 200' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='0.04'/%3E%3C/svg%3E");
    opacity: 0.5;
}

/* Icon images in service cards */
.tlb-tc-icon-img { width: 32px; height: 32px; object-fit: contain; display: block; }
.tlb-tc-emoji .dashicons { font-size: 28px; width: 28px; height: 28px; }

/* Steps nav */
.tlb-sb-nav { padding: 0 16px; flex: 1; position: relative; }
.tlb-sb-step {
    display: flex; align-items: center; gap: 12px; padding: 10px; border-radius: 10px;
    margin-bottom: 2px; cursor: default; transition: background var(--tlb-transition); position: relative;
}
.tlb-sb-step.active { background: rgba(0,185,255,0.1); }
.tlb-sb-step-num {
    width: 26px; height: 26px; border-radius: 50%; border: 1.5px solid var(--tlb-sidebar-muted);
    display: flex; align-items: center; justify-content: center; font-size: 11px; font-weight: 700;
    color: var(--tlb-sidebar-muted); flex-shrink: 0; transition: all var(--tlb-transition);
}
.tlb-sb-step.active .tlb-sb-step-num { border-color: var(--tlb-accent); background: var(--tlb-accent); color: #fff; }
.tlb-sb-step.done .tlb-sb-step-num { border-color: var(--tlb-green); background: var(--tlb-green); color: #fff; }
.tlb-sb-step-title {
    font-size: 12px; font-weight: 600; color: var(--tlb-sidebar-muted);
    transition: color var(--tlb-transition); line-height: 1;
}
.tlb-sb-step.active .tlb-sb-step-title { color: var(--tlb-sidebar-white); }
.tlb-sb-step.done .tlb-sb-step-title { color: #4ade80; }
.tlb-sb-step-sub { font-size: 11px; color: var(--tlb-sidebar-muted); margin-top: 2px; font-weight: 400; }
.tlb-sb-step.active .tlb-sb-step-sub { color: rgba(147,197,253,0.7); }
.tlb-sb-vline { width: 1.5px; height: 10px; background: var(--tlb-sidebar-border); margin-left: 22px; }

/* Sidebar summary card */
.tlb-sb-card {
    margin: 8px 16px 20px; background: var(--tlb-sidebar-surface); border: 1px solid var(--tlb-sidebar-border);
    border-radius: 12px; padding: 16px; display: none; position: relative;
}
.tlb-sb-card.show { display: block; }
.tlb-sb-card-label { font-size: 9px; font-weight: 700; letter-spacing: 2px; text-transform: uppercase; color: var(--tlb-sidebar-muted); margin-bottom: 12px; }
.tlb-sb-trailer-name { font-size: 13px; font-weight: 700; color: var(--tlb-sidebar-white); margin-bottom: 2px; line-height: 1.3; }
.tlb-sb-trailer-type { font-size: 11px; color: var(--tlb-sidebar-label); margin-bottom: 12px; }
.tlb-sb-card-row { display: flex; justify-content: space-between; margin-bottom: 7px; }
.tlb-sb-card-row .k { font-size: 11px; color: var(--tlb-sidebar-muted); }
.tlb-sb-card-row .v { font-size: 11px; color: var(--tlb-sidebar-text); font-weight: 600; }
.tlb-sb-card-total { display: flex; justify-content: space-between; align-items: baseline; border-top: 1px solid var(--tlb-sidebar-border); padding-top: 10px; margin-top: 4px; }
.tlb-sb-card-total .k { font-size: 11px; color: var(--tlb-sidebar-muted); }
.tlb-sb-card-total .v { font-size: 20px; font-weight: 800; color: var(--tlb-accent); letter-spacing: -0.5px; }

/* Trust */
.tlb-sb-trust { padding: 0 16px 24px; margin-top: auto; position: relative; }
.tlb-sb-trust-row { display: flex; align-items: center; gap: 8px; margin-bottom: 8px; }
.tlb-sb-trust-row svg { width: 13px; height: 13px; stroke: var(--tlb-sidebar-muted); fill: none; stroke-width: 2; flex-shrink: 0; }
.tlb-sb-trust-row span { font-size: 11px; color: var(--tlb-sidebar-muted); font-weight: 400; }

/* ─── MAIN ────────────────────────────────────────────────── */
.tlb-main { flex: 1; overflow-y: auto; display: flex; flex-direction: column; }
.tlb-main-inner { max-width: 680px; width: 100%; margin: 0 auto; padding: 40px 40px 60px; }

/* Step fade-in */
.tlb-step-view { animation: tlbFadeUp 0.3s ease both; }
@keyframes tlbFadeUp { from { opacity: 0; transform: translateY(12px); } to { opacity: 1; transform: translateY(0); } }

/* ─── PAGE HEADER ─────────────────────────────────────────── */
.tlb-ph { margin-bottom: 32px; }
.tlb-ph-breadcrumb {
    display: inline-flex; align-items: center; gap: 6px;
    background: var(--tlb-accent-pale); border: 1px solid var(--tlb-accent-pale2);
    border-radius: 20px; padding: 5px 12px; margin-bottom: 16px;
}
.tlb-ph-step-dot { width: 7px; height: 7px; background: var(--tlb-accent); border-radius: 50%; }
.tlb-ph-breadcrumb-text { font-size: 11px; font-weight: 700; color: var(--tlb-accent-dd); letter-spacing: 0.5px; }
.tlb-ph-title { font-size: 28px !important; font-weight: 800 !important; color: var(--tlb-ink) !important; letter-spacing: -0.6px !important; line-height: 1.18 !important; margin-bottom: 8px !important; }
.tlb-ph-sub { font-size: 14px !important; color: var(--tlb-muted) !important; font-weight: 400 !important; line-height: 1.55 !important; margin-bottom: 0 !important; }

/* ─── CARDS ───────────────────────────────────────────────── */
.tlb-card {
    background: var(--tlb-surface); border: 1px solid var(--tlb-border);
    border-radius: var(--tlb-r); box-shadow: var(--tlb-shadow-card);
    padding: 24px; margin-bottom: 16px;
}
.tlb-card-hdr { display: flex; align-items: center; gap: 10px; margin-bottom: 20px; }
.tlb-card-hdr-bar { width: 3px; height: 18px; background: var(--tlb-accent); border-radius: 2px; flex-shrink: 0; }
.tlb-card-hdr-text { font-size: 14px; font-weight: 700; color: var(--tlb-ink) !important; }

/* ─── SERVICE CARDS ───────────────────────────────────────── */
.tlb-trailer-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }
.tlb-tc {
    border: 1.5px solid var(--tlb-border); border-radius: var(--tlb-r); padding: 20px;
    cursor: pointer; background: var(--tlb-surface); transition: all var(--tlb-transition);
    position: relative; overflow: hidden;
}
.tlb-tc::after {
    content: ''; position: absolute; top: 0; left: 0; right: 0; height: 3px;
    background: var(--tlb-accent); transform: scaleX(0); transform-origin: left;
    transition: transform var(--tlb-transition);
}
.tlb-tc:hover { border-color: var(--tlb-accent-pale2); box-shadow: 0 4px 20px rgba(0,185,255,0.1); }
.tlb-tc:hover::after, .tlb-tc.sel::after { transform: scaleX(1); }
.tlb-tc.sel { border-color: var(--tlb-accent); background: var(--tlb-accent-pale); box-shadow: 0 0 0 3px rgba(0,185,255,0.12); }
.tlb-tc-sel-badge {
    position: absolute; top: 14px; right: 14px; width: 22px; height: 22px;
    border-radius: 50%; background: var(--tlb-accent); display: none;
    align-items: center; justify-content: center;
}
.tlb-tc-sel-badge svg { width: 11px; height: 11px; stroke: #fff; fill: none; stroke-width: 2.5; stroke-linecap: round; stroke-linejoin: round; }
.tlb-tc.sel .tlb-tc-sel-badge { display: flex; }
.tlb-tc-emoji { font-size: 24px; margin-bottom: 10px; display: block; }
.tlb-tc-type {
    font-size: 9px; font-weight: 700; letter-spacing: 2px; text-transform: uppercase;
    color: var(--tlb-accent-dd); background: var(--tlb-accent-pale);
    display: inline-flex; padding: 3px 8px; border-radius: 20px; margin-bottom: 8px;
}
.tlb-tc.sel .tlb-tc-type { background: rgba(0,185,255,0.15); color: var(--tlb-accent-dd); }
.tlb-tc-name { font-size: 14px; font-weight: 700; color: var(--tlb-ink) !important; margin-bottom: 10px; line-height: 1.35; }
.tlb-tc-specs { list-style: none; margin-bottom: 16px; }
.tlb-tc-specs li { font-size: 11px; color: var(--tlb-muted); padding: 2px 0 2px 14px; position: relative; font-weight: 400; }
.tlb-tc-specs li::before { content: ''; position: absolute; left: 2px; top: 8px; width: 5px; height: 5px; border-radius: 50%; background: var(--tlb-accent-pale2); }
.tlb-tc.sel .tlb-tc-specs li::before { background: var(--tlb-accent); }
.tlb-tc-price { font-size: 22px; font-weight: 800; color: var(--tlb-ink) !important; letter-spacing: -0.5px; }
.tlb-tc-price-unit { font-size: 12px; font-weight: 400; color: var(--tlb-muted); margin-left: 2px; }

/* ─── DATE SECTION ────────────────────────────────────────── */
.tlb-fld { margin-bottom: 0; min-width: 0; }

/* ─── DATE-RANGE PICKER ──────────────────────────────────── */

/* Trigger bar */
.tlb-drp-trigger {
    display: flex;
    align-items: stretch;
    border: 2px solid var(--tlb-border);
    border-radius: 12px;
    background: var(--tlb-surface);
    cursor: pointer;
    transition: border-color 0.18s, box-shadow 0.18s;
    overflow: hidden;
}
.tlb-drp-trigger:hover { border-color: var(--tlb-accent-pale2); }
.tlb-drp-trigger.open {
    border-color: var(--tlb-accent);
    box-shadow: 0 0 0 3px rgba(0,185,255,0.1), 0 2px 8px rgba(0,185,255,0.12);
}
.tlb-drp-trigger-half {
    flex: 1;
    padding: 12px 16px;
    transition: background 0.15s;
}
.tlb-drp-trigger-half:first-child { border-right: 1px solid var(--tlb-border2); }
.tlb-drp-trigger-half:hover { background: var(--tlb-bg); }
.tlb-drp-trigger-label {
    font-size: 10px; font-weight: 700; color: var(--tlb-muted);
    text-transform: uppercase; letter-spacing: 0.5px; margin-bottom: 2px;
}
.tlb-drp-trigger-date {
    font-size: 14px; font-weight: 600; color: var(--tlb-ink); line-height: 1.3;
}
.tlb-drp-trigger-date.placeholder { color: var(--tlb-muted2); font-weight: 500; }
.tlb-drp-trigger-time {
    font-size: 12px; font-weight: 600; color: var(--tlb-accent); margin-top: 1px;
}
.tlb-drp-trigger-arrow {
    display: flex; align-items: center; justify-content: center;
    padding: 0 6px; color: var(--tlb-accent); flex-shrink: 0;
}

/* Panel */
.tlb-drp-panel {
    display: none;
    margin-top: 8px;
    border: 1px solid var(--tlb-border);
    border-radius: var(--tlb-r);
    background: var(--tlb-surface);
    box-shadow: 0 8px 24px rgba(0,0,0,0.08);
    overflow: visible;
}
.tlb-drp-panel.open { display: block; }

/* Calendar inside panel — stretch to full width */
.tlb-drp-cal { padding: 4px 0 0; border-radius: var(--tlb-r) var(--tlb-r) 0 0; overflow: hidden; }
.tlb-drp-cal .flatpickr-calendar {
    box-shadow: none !important;
    border: none !important;
    border-radius: 0 !important;
    width: 100% !important;
    max-width: 100% !important;
}
.tlb-drp-cal .flatpickr-months {
    padding: 12px 12px 4px !important;
    width: 100% !important;
}
.tlb-drp-cal .flatpickr-month { width: 100% !important; }
.tlb-drp-cal .flatpickr-days {
    padding: 0 8px 8px !important;
    width: 100% !important;
}
.tlb-drp-cal .flatpickr-innerContainer {
    max-width: 100% !important;
    width: 100% !important;
}
.tlb-drp-cal .flatpickr-rContainer {
    width: 100% !important;
    max-width: 100% !important;
}
.tlb-drp-cal .dayContainer {
    min-width: 0 !important;
    max-width: none !important;
    width: 100% !important;
    flex: 1 !important;
}
.tlb-drp-cal .flatpickr-days .dayContainer + .dayContainer {
    margin-left: 0 !important;
}
/* Make days grid fill available space */
.tlb-drp-cal .flatpickr-day {
    max-width: none !important;
    flex-basis: calc(100% / 7) !important;
}

/* In-range highlight */
.tlb-drp-cal .flatpickr-day.inRange,
.tlb-drp-cal .flatpickr-day.inRange:hover {
    background: var(--tlb-accent-pale) !important;
    border-color: var(--tlb-accent-pale) !important;
    box-shadow: -5px 0 0 var(--tlb-accent-pale), 5px 0 0 var(--tlb-accent-pale) !important;
}
.tlb-drp-cal .flatpickr-day.startRange,
.tlb-drp-cal .flatpickr-day.endRange {
    background: var(--tlb-accent) !important;
    border-color: var(--tlb-accent) !important;
    color: #fff !important;
}
.tlb-drp-cal .flatpickr-day.startRange { border-radius: 8px 0 0 8px !important; }
.tlb-drp-cal .flatpickr-day.endRange { border-radius: 0 8px 8px 0 !important; }

/* Legend */
.tlb-drp-legend {
    display: flex; gap: 16px; padding: 4px 16px 12px;
    font-size: 10px; color: var(--tlb-muted); font-weight: 600;
}
.tlb-drp-legend-item { display: flex; align-items: center; gap: 4px; }
.tlb-drp-legend-swatch {
    width: 12px; height: 12px; border-radius: 3px; flex-shrink: 0;
}
.tlb-drp-legend-swatch.available { background: #fff; border: 1.5px solid var(--tlb-border); }
.tlb-drp-legend-swatch.booked { background: #fff7ed; border: 1.5px dashed #fdba74; }
.tlb-drp-legend-swatch.selected { background: var(--tlb-accent); }

/* Divider */
.tlb-drp-divider { height: 1px; background: var(--tlb-border2); margin: 0 16px; }

/* Time picker container */
.tlb-drp-times {
    display: flex; align-items: flex-end; gap: 12px;
    padding: 16px 20px; justify-content: center;
}
.tlb-time-arrow {
    display: flex; align-items: center; padding-bottom: 14px; flex-shrink: 0;
}
.tlb-time-group { flex: 1; max-width: 220px; }
.tlb-time-label {
    display: block !important;
    font-size: 10px !important; font-weight: 700 !important; color: var(--tlb-muted) !important;
    text-transform: uppercase !important; letter-spacing: 0.5px !important; margin-bottom: 6px !important;
}

/* Custom time select */
.tlb-time-select-wrap {
    position: relative;
    display: flex; align-items: center;
    padding: 11px 12px;
    border: 1.5px solid var(--tlb-border);
    border-radius: 10px;
    background: var(--tlb-surface);
    cursor: pointer;
    transition: border-color 0.18s, box-shadow 0.18s;
    gap: 8px;
    user-select: none;
}
.tlb-time-select-wrap:hover { border-color: var(--tlb-accent-pale2); }
.tlb-time-select-wrap:has(.tlb-time-dropdown.open) {
    border-color: var(--tlb-accent);
    box-shadow: 0 0 0 3px rgba(0,185,255,0.1);
}
.tlb-time-ico {
    color: var(--tlb-accent); flex-shrink: 0;
}
.tlb-time-display {
    flex: 1;
    font-family: var(--tlb-font); font-size: 15px; font-weight: 700;
    color: var(--tlb-ink);
}
.tlb-time-chevron {
    color: var(--tlb-muted2); flex-shrink: 0;
    transition: transform 0.2s;
}
.tlb-time-select-wrap:has(.tlb-time-dropdown.open) .tlb-time-chevron {
    transform: rotate(180deg);
}

/* Dropdown — opens upward to avoid clipping */
.tlb-time-dropdown {
    display: none;
    position: absolute;
    bottom: calc(100% + 6px); left: 0; right: 0;
    background: var(--tlb-surface);
    border: 1px solid var(--tlb-border);
    border-radius: 12px;
    box-shadow: 0 -4px 24px rgba(0,0,0,0.12);
    max-height: 200px;
    overflow-y: auto;
    z-index: 100;
    padding: 4px;
    scrollbar-width: thin;
    scrollbar-color: #cbd5e1 transparent;
}
.tlb-time-dropdown.open { display: block; }
.tlb-time-dropdown::-webkit-scrollbar { width: 5px; }
.tlb-time-dropdown::-webkit-scrollbar-track { background: transparent; }
.tlb-time-dropdown::-webkit-scrollbar-thumb { background: #cbd5e1; border-radius: 10px; }

.tlb-time-option {
    padding: 8px 12px;
    font-family: var(--tlb-font); font-size: 13px; font-weight: 600;
    color: var(--tlb-ink);
    border-radius: 8px;
    cursor: pointer;
    transition: all 0.1s;
}
.tlb-time-option:hover {
    background: var(--tlb-accent-pale);
    color: var(--tlb-accent-dd);
}
.tlb-time-option.selected {
    background: var(--tlb-accent);
    color: #fff;
    font-weight: 700;
}

/* Footer */
.tlb-drp-foot {
    display: flex; align-items: center; justify-content: space-between;
    padding: 12px 16px;
    background: var(--tlb-bg);
    border-top: 1px solid var(--tlb-border2);
    border-radius: 0 0 var(--tlb-r) var(--tlb-r);
}
.tlb-drp-foot-info { display: flex; align-items: center; gap: 6px; }
.tlb-drp-foot-dur { font-size: 13px; font-weight: 700; color: var(--tlb-ink); }
.tlb-drp-foot-dot { font-size: 13px; color: var(--tlb-muted2); }
.tlb-drp-foot-price { font-size: 13px; font-weight: 700; color: var(--tlb-accent); }
.tlb-drp-save {
    border: none !important; padding: 12px 32px !important;
    border-radius: 10px !important; background: var(--tlb-accent) !important;
    color: #fff !important; font-family: var(--tlb-font) !important;
    font-size: 14px !important; font-weight: 700 !important;
    cursor: pointer !important; transition: all 0.15s !important;
    letter-spacing: 0.3px !important;
    box-shadow: 0 2px 12px rgba(0,185,255,0.35) !important;
    line-height: 1.4 !important;
}
.tlb-drp-save:hover { background: var(--tlb-accent-d) !important; transform: translateY(-1px) !important; box-shadow: 0 4px 16px rgba(0,185,255,0.45) !important; }
.tlb-fld-label {
    display: block; font-size: 11px; font-weight: 700; color: var(--tlb-ink3) !important;
    letter-spacing: 0.5px; text-transform: uppercase; margin-bottom: 7px;
}
.tlb-app select {
    width: 100%; background: var(--tlb-surface); border: 1.5px solid var(--tlb-border);
    color: var(--tlb-ink); padding: 11px 14px; border-radius: var(--tlb-r-sm);
    font-family: var(--tlb-font); font-size: 13px; font-weight: 500;
    outline: none; transition: border-color var(--tlb-transition), box-shadow var(--tlb-transition);
    cursor: pointer; appearance: auto;
}
.tlb-app select:focus {
    border-color: var(--tlb-accent); box-shadow: 0 0 0 3px rgba(0,185,255,0.1);
}
.tlb-app input[type="date"],
.tlb-app input[type="text"],
.tlb-app input[type="email"],
.tlb-app input[type="tel"] {
    width: 100%; background: var(--tlb-surface); border: 1.5px solid var(--tlb-border);
    color: var(--tlb-ink); padding: 11px 14px; border-radius: var(--tlb-r-sm);
    font-family: var(--tlb-font); font-size: 13px; font-weight: 500;
    outline: none; transition: border-color var(--tlb-transition), box-shadow var(--tlb-transition);
    color-scheme: light;
}
.tlb-app input:focus {
    border-color: var(--tlb-accent); box-shadow: 0 0 0 3px rgba(0,185,255,0.1);
}
.tlb-app input::placeholder { color: var(--tlb-muted2); font-weight: 400; }

/* ─── FORM FIELDS ─────────────────────────────────────────── */
.tlb-two-col { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; margin-bottom: 14px; }
.tlb-fld-wrap { margin-bottom: 14px; }
.tlb-fld-wrap:last-child { margin-bottom: 0; }

/* ─── UPLOAD ──────────────────────────────────────────────── */
.tlb-upload-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; margin-bottom: 0; }
.tlb-up-box {
    border: 2px dashed var(--tlb-border); border-radius: var(--tlb-r); padding: 28px 16px;
    text-align: center; cursor: pointer; background: var(--tlb-bg); transition: all var(--tlb-transition);
}
.tlb-up-box:hover { border-color: var(--tlb-accent); background: var(--tlb-accent-pale); }
.tlb-up-box.ok { border-style: solid; border-color: var(--tlb-green); background: var(--tlb-green-pale); }
.tlb-up-ico { font-size: 28px; display: block; margin-bottom: 10px; }
.tlb-up-ttl { font-size: 12px; font-weight: 600; color: var(--tlb-muted); margin-bottom: 3px; word-break: break-all; line-height: 1.4; }
.tlb-up-box.ok .tlb-up-ttl { color: var(--tlb-green); }
.tlb-up-hint { font-size: 11px; color: var(--tlb-muted2); }
.tlb-up-success {
    background: var(--tlb-green-pale); border: 1px solid #6ee7b7; border-radius: var(--tlb-r-sm);
    padding: 12px 16px; font-size: 13px; color: var(--tlb-green); font-weight: 600;
    text-align: center; display: none; margin-top: 14px;
}

/* ─── AGREEMENT ───────────────────────────────────────────── */
.tlb-agree-text {
    background: var(--tlb-bg); border: 1.5px solid var(--tlb-border); border-radius: var(--tlb-r);
    height: 260px; overflow-y: scroll; padding: 20px 22px; font-size: 12px;
    line-height: 1.9; color: var(--tlb-ink3); white-space: pre-line;
    scrollbar-width: thin; scrollbar-color: #cbd5e1 #f1f5f9;
}
.tlb-scroll-indicator {
    display: flex; align-items: center; gap: 8px; font-size: 12px; font-weight: 600;
    margin-bottom: 14px; padding: 8px 14px; border-radius: 8px; transition: all var(--tlb-transition);
    margin-top: 12px;
}
.tlb-scroll-indicator.pending { background: var(--tlb-accent-pale); color: var(--tlb-accent-dd); }
.tlb-scroll-indicator.done { background: var(--tlb-green-pale); color: var(--tlb-green); display: none; }
.tlb-scroll-indicator svg { width: 14px; height: 14px; flex-shrink: 0; stroke: currentColor; fill: none; stroke-width: 2; stroke-linecap: round; stroke-linejoin: round; }

.tlb-agree-chk-wrap {
    display: flex; align-items: flex-start; gap: 12px; padding: 14px 16px;
    border-radius: var(--tlb-r-sm); border: 1.5px solid var(--tlb-border);
    background: var(--tlb-bg); cursor: not-allowed; transition: all var(--tlb-transition);
}
.tlb-agree-chk-wrap.unlocked { background: var(--tlb-surface); cursor: pointer; border-color: var(--tlb-border); }
.tlb-agree-chk-wrap.unlocked:hover { border-color: var(--tlb-accent-pale2); background: var(--tlb-accent-pale); }
.tlb-agree-chk-wrap.ticked { border-color: var(--tlb-accent); background: var(--tlb-accent-pale); }
.tlb-chk-sq {
    width: 20px; height: 20px; min-width: 20px; border-radius: 6px;
    border: 1.5px solid var(--tlb-border2); background: var(--tlb-surface);
    display: flex; align-items: center; justify-content: center;
    transition: all var(--tlb-transition); margin-top: 1px;
}
.tlb-agree-chk-wrap.unlocked .tlb-chk-sq { border-color: var(--tlb-border); }
.tlb-chk-sq.on { background: var(--tlb-accent); border-color: var(--tlb-accent); }
.tlb-chk-sq svg { width: 11px; height: 11px; stroke: #fff; fill: none; stroke-width: 2.5; stroke-linecap: round; stroke-linejoin: round; display: none; }
.tlb-chk-sq.on svg { display: block; }
.tlb-chk-label { font-size: 13px; color: var(--tlb-muted2); font-weight: 500; line-height: 1.5; }
.tlb-agree-chk-wrap.unlocked .tlb-chk-label { color: var(--tlb-ink); }
.tlb-chk-label em { color: var(--tlb-accent); font-style: normal; font-weight: 600; }

/* ─── SUMMARY ─────────────────────────────────────────────── */
.tlb-sum-table { border: 1.5px solid var(--tlb-border); border-radius: var(--tlb-r); overflow: hidden; }
.tlb-sum-row {
    display: flex; justify-content: space-between; align-items: center;
    padding: 12px 18px; border-bottom: 1px solid var(--tlb-border2);
}
.tlb-sum-row:last-child { border-bottom: none; }
.tlb-sum-row .k { font-size: 13px; color: var(--tlb-muted); font-weight: 400; }
.tlb-sum-row .v { font-size: 13px; color: var(--tlb-ink); font-weight: 600; }
.tlb-sum-total {
    display: flex; justify-content: space-between; align-items: center;
    background: var(--tlb-accent-pale); border: 1.5px solid var(--tlb-accent-pale2);
    border-radius: var(--tlb-r-sm); padding: 14px 18px; margin-top: 12px;
}
.tlb-sum-total .k { font-size: 14px; font-weight: 700; color: var(--tlb-ink); }
.tlb-sum-total .v { font-size: 26px; font-weight: 800; color: var(--tlb-accent); letter-spacing: -1px; }

/* ─── BUTTONS ─────────────────────────────────────────────── */
.tlb-btn-row { display: flex; gap: 12px; margin-top: 24px; }
.tlb-btn-back {
    background: var(--tlb-surface); border: 1.5px solid var(--tlb-border);
    color: var(--tlb-ink3); padding: 12px 22px; border-radius: var(--tlb-r-sm);
    cursor: pointer; font-family: var(--tlb-font); font-size: 13px; font-weight: 600;
    transition: all var(--tlb-transition); flex-shrink: 0; white-space: nowrap;
}
.tlb-btn-back:hover { border-color: var(--tlb-muted2); background: var(--tlb-bg); }
.tlb-btn-next {
    flex: 1; background: var(--tlb-accent); color: #fff; border: none;
    padding: 13px 22px; border-radius: var(--tlb-r-sm); cursor: pointer;
    font-family: var(--tlb-font); font-size: 13px; font-weight: 700;
    transition: all var(--tlb-transition); box-shadow: 0 2px 14px rgba(0,185,255,0.35);
}
.tlb-btn-next:hover:not(:disabled) {
    background: var(--tlb-accent-d); box-shadow: 0 4px 22px rgba(0,185,255,0.45);
    transform: translateY(-1px);
}
.tlb-btn-next:disabled {
    background: var(--tlb-border); color: var(--tlb-muted2); cursor: not-allowed;
    box-shadow: none; transform: none;
}

/* ─── CHECKOUT LOADING ─────────────────────────────────────── */
.tlb-checkout-loading {
    display: flex; align-items: center; gap: 12px; justify-content: center;
    padding: 20px; margin-top: 16px; font-size: 14px; color: var(--tlb-muted); font-weight: 600;
}
.tlb-spinner {
    width: 24px; height: 24px; border: 3px solid var(--tlb-border);
    border-top-color: var(--tlb-accent); border-radius: 50%; animation: tlbSpin 0.6s linear infinite;
}
@keyframes tlbSpin { to { transform: rotate(360deg); } }

/* ─── INLINE WC CHECKOUT ──────────────────────────────────── */
.tlb-inline-checkout {
    margin-top: 20px;
}
/* Hide WC billing fields, order review table — we handle these ourselves */
.tlb-inline-checkout .woocommerce-billing-fields,
.tlb-inline-checkout .woocommerce-additional-fields,
.tlb-inline-checkout .woocommerce-checkout-review-order-table,
.tlb-inline-checkout #order_review_heading,
.tlb-inline-checkout .woocommerce-info,
.tlb-inline-checkout .woocommerce-shipping-fields,
.tlb-inline-checkout .woocommerce-form-login-toggle,
.tlb-inline-checkout .woocommerce-form-coupon-toggle,
.tlb-inline-checkout .woocommerce-form-login,
.tlb-inline-checkout .woocommerce-form-coupon,
.tlb-inline-checkout .checkout_coupon {
    display: none !important;
}
/* Show WC validation error notices inline */
.tlb-inline-checkout .woocommerce-NoticeGroup {
    display: block !important;
}
.tlb-inline-checkout .woocommerce-NoticeGroup .woocommerce-error {
    background: #fef2f2 !important;
    border: 1.5px solid #fca5a5 !important;
    border-radius: var(--tlb-r-sm) !important;
    color: var(--tlb-red) !important;
    padding: 14px 18px !important;
    margin: 0 0 16px 0 !important;
    list-style: none !important;
    font-size: 13px !important;
    font-family: var(--tlb-font) !important;
    font-weight: 600 !important;
}
.tlb-inline-checkout .woocommerce-NoticeGroup .woocommerce-error li {
    list-style: none !important;
    margin: 4px 0 !important;
}
/* Card wrapper for the checkout form */
.tlb-inline-checkout .woocommerce-checkout {
    background: var(--tlb-surface);
    border: 1px solid var(--tlb-border);
    border-radius: var(--tlb-r);
    box-shadow: var(--tlb-shadow-card);
    padding: 24px;
}
/* Billing heading */
.tlb-inline-checkout .woocommerce-billing-fields h3,
.tlb-inline-checkout .woocommerce-additional-fields h3 {
    font-size: 14px !important;
    font-weight: 700 !important;
    color: var(--tlb-ink) !important;
    margin-bottom: 16px !important;
    padding-bottom: 12px !important;
    border-bottom: 1px solid var(--tlb-border) !important;
}
/* Form rows */
.tlb-inline-checkout .form-row {
    margin-bottom: 14px !important;
    padding: 0 !important;
}
.tlb-inline-checkout .form-row label {
    display: block !important;
    font-size: 11px !important;
    font-weight: 700 !important;
    color: var(--tlb-ink3) !important;
    letter-spacing: 0.5px !important;
    text-transform: uppercase !important;
    margin-bottom: 7px !important;
}
.tlb-inline-checkout .form-row label .optional,
.tlb-inline-checkout .form-row label .required {
    font-weight: 400 !important;
    text-transform: none !important;
    letter-spacing: 0 !important;
    font-size: 11px !important;
}
.tlb-inline-checkout .form-row input.input-text,
.tlb-inline-checkout .form-row textarea,
.tlb-inline-checkout .form-row select,
.tlb-inline-checkout .select2-container .select2-selection--single {
    width: 100% !important;
    background: var(--tlb-surface) !important;
    border: 1.5px solid var(--tlb-border) !important;
    color: var(--tlb-ink) !important;
    padding: 11px 14px !important;
    border-radius: var(--tlb-r-sm) !important;
    font-family: var(--tlb-font) !important;
    font-size: 13px !important;
    font-weight: 500 !important;
    outline: none !important;
    transition: border-color var(--tlb-transition), box-shadow var(--tlb-transition) !important;
    height: auto !important;
    line-height: 1.5 !important;
    box-sizing: border-box !important;
}
.tlb-inline-checkout .form-row input.input-text:focus,
.tlb-inline-checkout .form-row textarea:focus,
.tlb-inline-checkout .form-row select:focus {
    border-color: var(--tlb-accent) !important;
    box-shadow: 0 0 0 3px rgba(0,185,255,0.1) !important;
}
/* Select2 dropdown styling */
.tlb-inline-checkout .select2-container--default .select2-selection--single {
    border: 1.5px solid var(--tlb-border) !important;
    border-radius: var(--tlb-r-sm) !important;
    height: 42px !important;
}
.tlb-inline-checkout .select2-container--default .select2-selection--single .select2-selection__rendered {
    line-height: 42px !important;
    padding-left: 14px !important;
    font-size: 13px !important;
    color: var(--tlb-ink) !important;
}
.tlb-inline-checkout .select2-container--default .select2-selection--single .select2-selection__arrow {
    height: 40px !important;
}
/* Two-column layout for first/last name etc */
.tlb-inline-checkout .form-row-first,
.tlb-inline-checkout .form-row-last {
    width: 48% !important;
    display: inline-block !important;
    vertical-align: top !important;
}
.tlb-inline-checkout .form-row-first { margin-right: 4% !important; }
/* Payment methods section */
.tlb-inline-checkout #payment {
    background: transparent !important;
    border: none !important;
    border-radius: 0 !important;
    margin-top: 20px !important;
    padding-top: 20px !important;
    border-top: 1px solid var(--tlb-border) !important;
}
.tlb-inline-checkout #payment .payment_methods {
    list-style: none !important;
    margin: 0 0 16px 0 !important;
    padding: 0 !important;
    border: none !important;
}
.tlb-inline-checkout #payment .payment_methods li {
    margin-bottom: 8px !important;
    padding: 14px 16px !important;
    border: 1.5px solid var(--tlb-border) !important;
    border-radius: var(--tlb-r-sm) !important;
    background: var(--tlb-surface) !important;
    list-style: none !important;
}
.tlb-inline-checkout #payment .payment_methods li:hover {
    border-color: var(--tlb-accent-pale2) !important;
}
.tlb-inline-checkout #payment .payment_methods li label {
    font-size: 13px !important;
    font-weight: 600 !important;
    color: var(--tlb-ink) !important;
    text-transform: none !important;
    letter-spacing: 0 !important;
    cursor: pointer !important;
}
.tlb-inline-checkout #payment .payment_box {
    background: var(--tlb-bg) !important;
    border-radius: var(--tlb-r-sm) !important;
    padding: 14px !important;
    margin-top: 10px !important;
    color: var(--tlb-muted) !important;
    font-size: 13px !important;
}
.tlb-inline-checkout #payment .payment_box::before {
    display: none !important;
}
/* WCPay / Stripe Elements — ensure card fields render inside our checkout */
.tlb-inline-checkout #payment .payment_box iframe {
    min-height: 44px !important;
    width: 100% !important;
    display: block !important;
}
.tlb-inline-checkout .wcpay-upe-element,
.tlb-inline-checkout #wcpay-upe-element,
.tlb-inline-checkout .StripeElement {
    min-height: 44px !important;
    width: 100% !important;
    display: block !important;
}
.tlb-inline-checkout .wcpay-upe-form,
.tlb-inline-checkout .payment_method_woocommerce_payments .payment_box {
    overflow: visible !important;
}
/* WooPay phone input — hide the country flag / dropdown selector */
.tlb-inline-checkout .woopay-save-new-user-container .iti__flag-container,
.tlb-inline-checkout .woopay-save-new-user-container .iti__selected-flag,
.tlb-inline-checkout #wcpay-woopay-phone-container .iti__flag-container,
.tlb-inline-checkout #wcpay-woopay-phone-container .iti__selected-flag {
    display: none !important;
}
.tlb-inline-checkout .woopay-save-new-user-container input[type="tel"],
.tlb-inline-checkout #wcpay-woopay-phone-container input[type="tel"] {
    padding-left: 14px !important;
}
/* WooPay button + separator */
.tlb-inline-checkout #wcpay-woopay-button-container {
    margin-bottom: 10px !important;
}
.tlb-inline-checkout .wcpay-woopay-express-checkout-separator {
    margin: 10px 0 !important;
    font-size: 12px !important;
    color: var(--tlb-muted) !important;
}
/* Place Order button — match our design */
.tlb-inline-checkout #place_order {
    width: 100% !important;
    background: var(--tlb-accent) !important;
    color: #fff !important;
    border: none !important;
    padding: 15px 22px !important;
    border-radius: var(--tlb-r-sm) !important;
    cursor: pointer !important;
    font-family: var(--tlb-font) !important;
    font-size: 14px !important;
    font-weight: 700 !important;
    transition: all var(--tlb-transition) !important;
    box-shadow: 0 2px 14px rgba(0,185,255,0.35) !important;
    margin-top: 8px !important;
}
.tlb-inline-checkout #place_order:hover {
    background: var(--tlb-accent-d) !important;
    box-shadow: 0 4px 22px rgba(0,185,255,0.45) !important;
    transform: translateY(-1px) !important;
}
/* WC notices inside checkout */
.tlb-inline-checkout .woocommerce-error {
    background: #fef2f2 !important;
    border: 1px solid #fca5a5 !important;
    border-radius: var(--tlb-r-sm) !important;
    color: var(--tlb-red) !important;
    padding: 12px 16px !important;
    margin-bottom: 16px !important;
    list-style: none !important;
    font-size: 13px !important;
}
/* WC blockUI overlay */
.tlb-inline-checkout .blockUI.blockOverlay {
    background: rgba(255,255,255,0.7) !important;
    border-radius: var(--tlb-r) !important;
}
/* Privacy policy text */
.tlb-inline-checkout .woocommerce-terms-and-conditions-wrapper,
.tlb-inline-checkout .woocommerce-privacy-policy-text {
    font-size: 11px !important;
    color: var(--tlb-muted) !important;
    margin-bottom: 12px !important;
}
.tlb-inline-checkout .woocommerce-privacy-policy-text p {
    font-size: 11px !important;
    color: var(--tlb-muted) !important;
}

/* ─── FIELD ERRORS ────────────────────────────────────────── */
.tlb-field-err {
    color: var(--tlb-red); font-size: 11px; font-weight: 600; margin-top: 4px;
    font-family: var(--tlb-font);
}

/* ─── FLATPICKR CUSTOM THEME ─────────────────────────────── */
.tlb-app .flatpickr-calendar {
    font-family: var(--tlb-font) !important;
    border: none !important;
    border-radius: 14px !important;
    box-shadow: 0 12px 40px rgba(0,0,0,0.12), 0 0 0 1px rgba(0,0,0,0.04) !important;
    padding: 4px !important;
    background: #fff !important;
}
.tlb-app .flatpickr-calendar.inline {
    width: 100% !important;
    max-width: 100% !important;
}
.tlb-app .flatpickr-months {
    padding: 8px 4px 4px !important;
    border-radius: 14px 14px 0 0;
}
.tlb-app .flatpickr-months .flatpickr-month {
    color: var(--tlb-ink) !important;
    fill: var(--tlb-ink) !important;
    height: 38px !important;
}
.tlb-app .flatpickr-months .flatpickr-prev-month,
.tlb-app .flatpickr-months .flatpickr-next-month {
    padding: 8px !important;
    border-radius: 8px !important;
    fill: var(--tlb-muted) !important;
    transition: all 0.15s !important;
}
.tlb-app .flatpickr-months .flatpickr-prev-month:hover,
.tlb-app .flatpickr-months .flatpickr-next-month:hover {
    background: var(--tlb-accent-pale) !important;
    fill: var(--tlb-accent) !important;
}
.tlb-app .flatpickr-current-month .flatpickr-monthDropdown-months,
.tlb-app .flatpickr-current-month input.cur-year {
    font-family: var(--tlb-font) !important;
    font-weight: 700 !important;
    font-size: 15px !important;
    color: var(--tlb-ink) !important;
}
.tlb-app .flatpickr-weekdays {
    padding: 0 4px !important;
}
.tlb-app span.flatpickr-weekday {
    color: var(--tlb-muted2) !important;
    font-family: var(--tlb-font) !important;
    font-weight: 700 !important;
    font-size: 10px !important;
    text-transform: uppercase !important;
    letter-spacing: 0.5px !important;
}
.tlb-app .flatpickr-days {
    padding: 0 4px 4px !important;
}
.tlb-app .flatpickr-day {
    font-family: var(--tlb-font) !important;
    font-weight: 500 !important;
    font-size: 13px !important;
    color: var(--tlb-ink) !important;
    border-radius: 8px !important;
    height: 36px !important;
    line-height: 36px !important;
    margin: 1px !important;
    transition: all 0.15s !important;
}
.tlb-app .flatpickr-day:hover {
    background: var(--tlb-accent-pale) !important;
    border-color: var(--tlb-accent-pale2) !important;
}
/* Booked dates — distinct orange/amber to differentiate from past dates */
.tlb-app .flatpickr-day.flatpickr-disabled,
.tlb-app .flatpickr-day.flatpickr-disabled:hover {
    background: #fff7ed !important;
    color: #c2410c !important;
    text-decoration: line-through !important;
    border: 1.5px dashed #fdba74 !important;
    cursor: not-allowed !important;
    opacity: 1 !important;
    font-weight: 600 !important;
}
/* Past dates — muted gray */
.tlb-app .flatpickr-day.flatpickr-disabled.prevMonthDay,
.tlb-app .flatpickr-day.flatpickr-disabled.nextMonthDay {
    background: transparent !important;
    color: var(--tlb-muted2) !important;
    text-decoration: none !important;
    border: 1px solid transparent !important;
    opacity: 0.4 !important;
    font-weight: 400 !important;
}
/* Selected dates — accent blue */
.tlb-app .flatpickr-day.selected,
.tlb-app .flatpickr-day.selected:hover {
    background: var(--tlb-accent) !important;
    border-color: var(--tlb-accent) !important;
    color: #fff !important;
    box-shadow: 0 2px 8px rgba(0,185,255,0.35) !important;
    font-weight: 700 !important;
}
.tlb-app .flatpickr-day.startRange,
.tlb-app .flatpickr-day.startRange:hover {
    border-radius: 8px 0 0 8px !important;
}
.tlb-app .flatpickr-day.endRange,
.tlb-app .flatpickr-day.endRange:hover {
    border-radius: 0 8px 8px 0 !important;
}
/* Today indicator */
.tlb-app .flatpickr-day.today:not(.selected) {
    border: 2px solid var(--tlb-accent) !important;
    font-weight: 700 !important;
}
.tlb-app .flatpickr-day.today:not(.selected):hover {
    background: var(--tlb-accent-pale) !important;
}
/* In-range highlight (between start and end) */
.tlb-app .flatpickr-day.inRange {
    background: var(--tlb-accent-pale) !important;
    border-color: var(--tlb-accent-pale) !important;
    box-shadow: -5px 0 0 var(--tlb-accent-pale), 5px 0 0 var(--tlb-accent-pale) !important;
}
/* Time picker section */
.tlb-app .flatpickr-time {
    border-top: 1px solid var(--tlb-border) !important;
    margin: 0 4px !important;
    padding: 8px 0 4px !important;
    max-height: 44px !important;
}
.tlb-app .flatpickr-time input,
.tlb-app .flatpickr-time .flatpickr-am-pm {
    font-family: var(--tlb-font) !important;
    font-weight: 700 !important;
    font-size: 14px !important;
    color: var(--tlb-ink) !important;
    border-radius: 6px !important;
}
.tlb-app .flatpickr-time .flatpickr-am-pm:hover,
.tlb-app .flatpickr-time input:hover,
.tlb-app .flatpickr-time input:focus {
    background: var(--tlb-accent-pale) !important;
}
.tlb-app .flatpickr-time .flatpickr-time-separator {
    color: var(--tlb-muted) !important;
    font-weight: 700 !important;
}
/* Ensure flatpickr altInput matches our input styles */
.tlb-app input.flatpickr-input,
.tlb-app .flatpickr-input[readonly] {
    cursor: pointer !important;
}
/* ─── CHECKOUT IFRAME ────────────────────────────────────── */
.tlb-inline-checkout {
    margin-top: 16px;
}
.tlb-inline-checkout #tlbCheckoutForm iframe {
    width: 100% !important;
    border: none !important;
    display: block !important;
    border-radius: var(--tlb-r-sm);
    overflow: hidden;
}
.tlb-checkout-loading {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    padding: 40px 20px;
    color: var(--tlb-muted);
    font-size: 14px;
    font-weight: 500;
}

/* ─── DATE CONFLICT MESSAGE ──────────────────────────────── */
.tlb-date-conflict {
    background: #fef2f2;
    border: 1.5px solid #fca5a5;
    border-radius: var(--tlb-r-sm);
    color: #dc2626;
    padding: 12px 16px;
    margin-top: 12px;
    margin-bottom: 4px;
    font-size: 13px;
    font-weight: 600;
    font-family: var(--tlb-font);
}

/* ─── UTILITY ─────────────────────────────────────────────── */
.tlb-hidden { display: none !important; }

/* ─── RESPONSIVE ──────────────────────────────────────────── */
@media (max-width: 860px) {
    .tlb-sidebar { display: none; }
    .tlb-main-inner { padding: 24px 16px 40px; }
}
@media (max-width: 560px) {
    .tlb-trailer-grid,
    .tlb-two-col,
    .tlb-upload-grid,
    .tlb-btn-row { grid-template-columns: 1fr; }
    .tlb-drp-times { flex-direction: column; gap: 10px; align-items: stretch; padding: 12px 16px; }
    .tlb-time-group { max-width: 100%; }
    .tlb-time-arrow { display: none; }
    .tlb-time-dropdown { max-height: 160px; }
    .tlb-drp-foot { flex-direction: column; gap: 10px; text-align: center; }
    .tlb-drp-trigger-half { padding: 10px 12px; }
    .tlb-btn-back { order: 2; }
    .tlb-btn-next { order: 1; }
    .tlb-ph-title { font-size: 22px; }
}
