/* ==========================================================================
   Template 3 (t3) — editorial premium.
   Palette: ink navy primary, champagne-gold accent, ivory paper. Sharp 4–8px radius, thin rules.
   Display type: the device's own serif (ui-serif / Georgia) — no font files are shipped.
   Homepage: ink hero, service menu as text links with a gold underline, serif headline,
   search as a "ticket" with a tear-off stub. Results: each flight drawn on a 30-hour
   timeline; details open in a docked inspector (wide screens) or a drawer (theme.js).
   Contrast (WCAG AA) checked: white on primary 14.3:1, gold on ivory 4.6:1,
   gold on ink 9.5:1, muted text 5.8:1, subtle text 4.9:1.
   ========================================================================== */

:root[data-template="t3"] {
    --tb-primary: #1E2B3C;
    --tb-primary-rgb: 30, 43, 60;
    --tb-primary-hover: #141E2B;
    --tb-primary-soft: #ECEEF1;
    --tb-primary-50: #F6F7F9;
    --tb-primary-150: #D3D8DF;
    --tb-primary-200: #B9C1CC;
    --tb-primary-300: #9AA5B4;
    --tb-primary-ink: #0E151E;
    --tb-ink-rgb: 14, 21, 30;

    --tb-secondary: #8A6A23;          /* champagne gold, dark enough for text on ivory */
    --tb-secondary-soft: #F5EEDC;
    --tb-secondary-ink: #6E541A;
    --t3-gold: #D6B676;               /* gold on ink */
    --t3-ivory: #F7F4EE;

    --tb-bg: #F7F4EE;
    --tb-bg-warm: #EFE9DE;
    --tb-surface: #FFFDF9;
    --tb-surface-muted: #F1EDE5;
    --tb-surface-strong: #E6E0D4;
    --tb-text: #1F2328;
    --tb-text-strong: #12161B;
    --tb-text-muted: #5B5F66;
    --tb-text-subtle: #676B73;
    --tb-border: #E4DED3;
    --tb-border-strong: #CFC6B6;

    --tb-radius-card: 6px;
    --tb-radius-lg: 8px;
    --tb-radius-control: 4px;

    --tb-font-display: ui-serif, "Iowan Old Style", "Palatino Linotype", Georgia, "Times New Roman", serif;
    --tb-shadow-md: 0 14px 34px rgba(var(--tb-ink-rgb), .10);
    --tb-shadow-lg: 0 30px 60px -20px rgba(var(--tb-ink-rgb), .45);
}

/* Editorial type: serif for page and section headings */
[data-template="t3"] h1, [data-template="t3"] h2, [data-template="t3"] .section-head__title, [data-template="t3"] .rs-count, [data-template="t3"] .rs-col__head b {
    font-family: var(--tb-font-display); font-weight: 600; letter-spacing: -.01em;
}
[data-template="t3"] .site-header { background: rgba(255, 253, 249, .97); }
[data-template="t3"] .btn { border-radius: 4px; }
[data-template="t3"] .btn-tb-primary { letter-spacing: .02em; }

/* ======================================================================
   Homepage hero (Views/Templates/t3/Shared/_HomeHero.cshtml)
   ====================================================================== */
[data-template="t3"] .hero3 { position: relative; z-index: 2; isolation: isolate; padding: 0 0 56px; background: var(--tb-primary-ink); color: var(--t3-ivory); }
[data-template="t3"] body.fs-sheet-open .hero3 { z-index: 1070; }
[data-template="t3"] .hero3__media { position: absolute; inset: 0; z-index: -2; overflow: hidden; }
[data-template="t3"] .hero3__media img { width: 100%; height: 100%; object-fit: cover; object-position: center 40%; opacity: .42; filter: grayscale(.4) contrast(1.05); }
[data-template="t3"] .hero3::after {
    content: ""; position: absolute; inset: 0; z-index: -1;
    background:
        linear-gradient(90deg, rgba(var(--tb-ink-rgb), .97) 0%, rgba(var(--tb-ink-rgb), .8) 45%, rgba(var(--tb-ink-rgb), .45) 100%),
        linear-gradient(180deg, rgba(var(--tb-ink-rgb), .2) 0%, rgba(var(--tb-ink-rgb), .9) 100%);
}

/* Service menu: uppercase text links with a gold underline */
[data-template="t3"] .hero3 .service-nav { margin: 0 0 44px; border-bottom: 1px solid rgba(255, 255, 255, .12); }
[data-template="t3"] .hero3 .service-nav__list { gap: 28px; padding: 0; background: none; border: 0; border-radius: 0; box-shadow: none; -webkit-backdrop-filter: none; backdrop-filter: none; }
[data-template="t3"] .hero3 .service-nav__item,
[data-template="t3"] .hero3 .service-nav__item:hover,
[data-template="t3"] .hero3 .service-nav__item.is-active {
    position: relative; height: 52px; padding: 0; border-radius: 0; background: none; box-shadow: none;
    font-size: 12px; font-weight: 500; letter-spacing: .12em; text-transform: uppercase;
}
[data-template="t3"] .hero3 .service-nav__item { color: rgba(247, 244, 238, .66); }
[data-template="t3"] .hero3 .service-nav__item .bi { display: none; }
[data-template="t3"] .hero3 .service-nav__item:hover { color: var(--t3-ivory); }
[data-template="t3"] .hero3 .service-nav__item.is-active { color: var(--t3-gold); font-weight: 600; }
[data-template="t3"] .hero3 .service-nav__item.is-active::after { content: ""; position: absolute; left: 0; right: 0; bottom: -1px; height: 2px; background: var(--t3-gold); }
[data-template="t3"] .hero3 .service-nav__item:focus-visible { outline: 2px solid var(--t3-gold); outline-offset: 2px; }

[data-template="t3"] .hero3__head { max-width: 720px; margin: 0 0 30px; }
[data-template="t3"] .hero3__eyebrow { display: flex; align-items: center; gap: 12px; margin: 0 0 16px; font-size: 12px; font-weight: 600; letter-spacing: .2em; text-transform: uppercase; color: var(--t3-gold); }
[data-template="t3"] .hero3__eyebrow span { width: 40px; height: 1px; background: var(--t3-gold); }
[data-template="t3"] .hero3__title { margin: 0 0 14px; font-family: var(--tb-font-display); font-size: 68px; font-weight: 500; line-height: 1; letter-spacing: -.02em; color: var(--t3-ivory); }
[data-template="t3"] .hero3__title em { font-style: italic; color: var(--t3-gold); }
[data-template="t3"] .hero3__sub { margin: 0; max-width: 560px; font-size: 17px; color: rgba(247, 244, 238, .78); }

/* Options row on ink */
[data-template="t3"] .hero3 .fs-form { padding: 0; background: none; border-radius: 0; box-shadow: none; }
[data-template="t3"] .hero3 .fs-top { margin-bottom: 14px; }
[data-template="t3"] .hero3 .fs-trip { gap: 24px; padding: 0; background: none; border-radius: 0; }
[data-template="t3"] .hero3 .fs-trip__opt span { height: 36px; padding: 0; border-radius: 0; background: none; box-shadow: none; color: rgba(247, 244, 238, .66); font-size: 13.5px; }
[data-template="t3"] .hero3 .fs-trip__opt:hover span { color: var(--t3-ivory); }
[data-template="t3"] .hero3 .fs-trip__opt input:checked + span { background: none; box-shadow: inset 0 -2px 0 var(--t3-gold); color: var(--t3-ivory); }
[data-template="t3"] .hero3 .fs-chip, [data-template="t3"] .hero3 .fs-field.fs-chip { height: 36px; border-radius: 4px; border-color: rgba(255, 255, 255, .22); background: rgba(255, 255, 255, .05); color: var(--t3-ivory); }
[data-template="t3"] .hero3 .fs-chip > .bi:first-child, [data-template="t3"] .hero3 .fs-chip__caret { color: rgba(247, 244, 238, .66); }
[data-template="t3"] .hero3 .fs-chip:hover, [data-template="t3"] .hero3 .fs-field.fs-chip:hover { border-color: var(--t3-gold); background: rgba(255, 255, 255, .09); }
[data-template="t3"] .hero3 .fs-chip.is-open, [data-template="t3"] .hero3 .fs-field.fs-chip.is-open,
[data-template="t3"] .hero3 .fs-chip.is-set, [data-template="t3"] .hero3 .fs-chip--toggle[aria-pressed="true"] { border-color: var(--t3-gold); background: rgba(214, 182, 118, .14); color: var(--t3-gold); }
[data-template="t3"] .hero3 .fs-chip.is-set > .bi:first-child { color: var(--t3-gold); }
[data-template="t3"] .hero3 .fs-chip__tick { border-color: rgba(255, 255, 255, .45); }
[data-template="t3"] .hero3 .fs-chip--toggle[aria-pressed="true"] .fs-chip__tick { background: var(--t3-gold); border-color: var(--t3-gold); color: var(--tb-primary-ink); }
[data-template="t3"] .hero3 .fs-opts .fs-error { color: #F3B49C; }
[data-template="t3"] .hero3 .fs-sfares { margin-top: 16px; }
[data-template="t3"] .hero3 .fs-sfares__title, [data-template="t3"] .hero3 .fs-sfares__note { color: rgba(247, 244, 238, .72); }
[data-template="t3"] .hero3 .fs-sfare { height: 32px; }

/* The ticket: one paper strip with a perforated tear-off stub for Search */
[data-template="t3"] .hero3 .fs-grid { border: 0; border-radius: 8px; background: var(--tb-surface); box-shadow: 0 30px 60px -20px rgba(0, 0, 0, .65); }
[data-template="t3"] .hero3 .fs-grid:focus-within { box-shadow: 0 30px 60px -20px rgba(0, 0, 0, .65), 0 0 0 3px rgba(214, 182, 118, .55); }
[data-template="t3"] .hero3 .fs-grid:has(.fs-field.is-open) { box-shadow: 0 30px 60px -20px rgba(0, 0, 0, .65), 0 0 0 3px rgba(214, 182, 118, .55); }
[data-template="t3"] .hero3 .fs-grid > .fs-route > .fs-cell:first-child .fs-field { border-radius: 8px 0 0 8px; }
[data-template="t3"] .hero3 .fs-grid .fs-field { min-height: 96px; padding: 14px 20px; }
[data-template="t3"] .hero3 .fs-field__label { font-size: 10.5px; font-weight: 600; letter-spacing: .16em; text-transform: uppercase; color: var(--tb-text-subtle); }
[data-template="t3"] .hero3 .fs-field__value { font-family: var(--tb-font-display); font-size: 26px; font-weight: 600; letter-spacing: -.01em; }
[data-template="t3"] .hero3 .fs-field.is-empty .fs-field__value { font-size: 20px; }
[data-template="t3"] .hero3 .fs-code { font-family: var(--tb-font); background: none; border: 1px solid var(--tb-border-strong); border-radius: 3px; color: var(--tb-secondary); }
[data-template="t3"] .hero3 .fs-swap { color: var(--tb-secondary); }
[data-template="t3"] .hero3 .fs-swap:hover { border-color: var(--tb-secondary); background: var(--tb-secondary-soft); }
[data-template="t3"] .hero3 .fs-submit-wrap { position: relative; padding: 16px 20px; border-left: 2px dashed var(--tb-border-strong); }
[data-template="t3"] .hero3 .fs-submit-wrap::before,
[data-template="t3"] .hero3 .fs-submit-wrap::after { content: ""; position: absolute; left: -12px; width: 22px; height: 22px; border-radius: 50%; background: var(--tb-primary-ink); }
[data-template="t3"] .hero3 .fs-submit-wrap::before { top: -11px; }
[data-template="t3"] .hero3 .fs-submit-wrap::after { bottom: -11px; }
[data-template="t3"] .hero3 .fs-submit {
    height: 62px; min-width: 156px; border-radius: 4px; box-shadow: none; transform: none;
    font-size: 13px; font-weight: 700; letter-spacing: .14em; text-transform: uppercase;
}
[data-template="t3"] .hero3 .fs-submit:hover, [data-template="t3"] .hero3 .fs-submit:focus { box-shadow: 0 0 0 3px rgba(214, 182, 118, .5); transform: none; }

/* Multi-city: each leg is its own ticket; actions sit on the ink */
[data-template="t3"] .hero3 .fs-mode-MC .fs-grid { background: none; box-shadow: none; }
[data-template="t3"] .hero3 .fs-mode-MC .fs-submit-wrap { border-left: 0; padding: 0; }
[data-template="t3"] .hero3 .fs-mode-MC .fs-submit-wrap::before, [data-template="t3"] .hero3 .fs-mode-MC .fs-submit-wrap::after { display: none; }
[data-template="t3"] .hero3 .fs-legs__title { color: rgba(247, 244, 238, .7); }
[data-template="t3"] .hero3 .fs-legs__title span { color: rgba(247, 244, 238, .5); }
[data-template="t3"] .hero3 .fs-leg { border: 0; border-radius: 8px; background: var(--tb-surface); }
[data-template="t3"] .hero3 .fs-add-leg { color: var(--t3-gold); }
[data-template="t3"] .hero3 .fs-add-leg:disabled { color: rgba(247, 244, 238, .4); }
[data-template="t3"] .hero3 .fs-multi-actions__hint { color: rgba(247, 244, 238, .55); }

/* Popular / recent on ink */
[data-template="t3"] .hero3 .fs-popular { margin-top: 18px; color: rgba(247, 244, 238, .7); text-shadow: none; }
[data-template="t3"] .hero3 .fs-popular__label { color: var(--t3-gold); }
[data-template="t3"] .hero3 .fs-popular__link { color: var(--t3-ivory); }
[data-template="t3"] .hero3 .fs-popular__link + .fs-popular__link::before { color: rgba(247, 244, 238, .35); }

[data-template="t3"] .fs-pop { border-radius: 8px; }

@media (max-width: 991.98px) {
    [data-template="t3"] .hero3__title { font-size: 50px; }
    [data-template="t3"] .hero3 .service-nav { margin-bottom: 32px; }
}
@media (max-width: 767.98px) {
    [data-template="t3"] .hero3 { padding-bottom: 32px; }
    [data-template="t3"] .hero3 .service-nav { margin: 0 -16px 24px; }
    [data-template="t3"] .hero3 .service-nav__list { gap: 20px; padding: 0 16px; }
    [data-template="t3"] .hero3 .service-nav__item, [data-template="t3"] .hero3 .service-nav__item:hover, [data-template="t3"] .hero3 .service-nav__item.is-active { height: 46px; font-size: 11.5px; }
    [data-template="t3"] .hero3__title { font-size: 40px; }
    [data-template="t3"] .hero3__sub { font-size: 15px; }
    [data-template="t3"] .hero3 .fs-trip { gap: 0; }
    [data-template="t3"] .hero3 .fs-grid > .fs-route > .fs-cell:first-child .fs-field { border-radius: 8px 8px 0 0; }
    [data-template="t3"] .hero3 .fs-grid .fs-field { min-height: 76px; padding: 10px 14px; }
    [data-template="t3"] .hero3 .fs-field__value { font-size: 22px; }
    /* The stub sits below on phones: perforation along the top */
    [data-template="t3"] .hero3 .fs-submit-wrap { border-left: 0; border-top: 2px dashed var(--tb-border-strong); padding: 14px; }
    [data-template="t3"] .hero3 .fs-submit-wrap::before { top: -12px; left: -12px; }
    [data-template="t3"] .hero3 .fs-submit-wrap::after { top: -12px; bottom: auto; left: auto; right: -12px; }
    [data-template="t3"] .hero3 .fs-submit { width: 100%; height: 54px; }
}

/* ======================================================================
   Results page: timeline rows + inspector (markup hooks in theme.js)
   ====================================================================== */
[data-template="t3"] body.page-results { --tb-container: 1400px; }
[data-template="t3"] .rs-card.is-open { border-color: var(--tb-secondary); box-shadow: inset 3px 0 0 var(--tb-secondary); }
[data-template="t3"] .rs-tag--best { background: var(--tb-secondary-soft); color: var(--tb-secondary-ink); }
[data-template="t3"] .rs-pill { border-radius: 3px; }
[data-template="t3"] .rs-date, [data-template="t3"] .rs-group__toggle, [data-template="t3"] .rs-demo, [data-template="t3"] .rs-mode, [data-template="t3"] .rs-mode__opt span { border-radius: 3px; }
[data-template="t3"] .rs-qf { border-radius: 4px; }

/* Timeline: 30-hour scale (00:00 to 06:00 next day), one bar per flight segment */
[data-template="t3"] .t3-track { display: block; min-width: 0; }
[data-template="t3"] .t3-track__rail {
    position: relative; display: block; height: 10px; margin: 4px 0 5px; border-radius: 2px;
    background:
        repeating-linear-gradient(90deg, var(--tb-border-strong) 0 1px, transparent 1px 20%),
        var(--tb-surface-muted);
}
[data-template="t3"] .t3-seg { position: absolute; top: 0; bottom: 0; min-width: 3px; border-radius: 2px; background: var(--tb-primary); }
[data-template="t3"] .t3-lay { position: absolute; top: 3px; bottom: 3px; background: repeating-linear-gradient(90deg, var(--tb-secondary) 0 3px, transparent 3px 6px); }
[data-template="t3"] .t3-track small { display: block; font-size: 11.5px; color: var(--tb-text-muted); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
[data-template="t3"] .t3-axis { display: none; }

@media (min-width: 768px) {
    /* Same five columns for the axis and every row, so the bars line up */
    [data-template="t3"] .rs-layout:not(.is-split) .rs-card:not(.rs-card--split) .rs-c__row,
    [data-template="t3"] .rs-layout:not(.is-split) .t3-axis {
        display: grid; grid-template-columns: minmax(120px, 1fr) 132px minmax(150px, 2.2fr) 92px 92px; gap: 14px; align-items: center;
    }
    [data-template="t3"] .rs-layout:not(.is-split) .t3-axis { padding: 0 15px 6px; font-size: 11px; color: var(--tb-text-subtle); }
    [data-template="t3"] .t3-axis__scale { position: relative; height: 14px; }
    [data-template="t3"] .t3-axis__scale i { position: absolute; top: 0; transform: translateX(-50%); font-style: normal; letter-spacing: .04em; }
    [data-template="t3"] .t3-axis__scale i:first-child { transform: none; }
    [data-template="t3"] .t3-axis__scale sup { font-size: 8px; color: var(--tb-secondary); }
    [data-template="t3"] .rs-layout:not(.is-split) .rs-card:not(.rs-card--split) .rs-c__row { padding: 10px 14px; }
    [data-template="t3"] .rs-layout:not(.is-split) .rs-card:not(.rs-card--split) .rs-c__route { grid-template-columns: auto auto; justify-content: space-between; gap: 8px; }
    [data-template="t3"] .rs-layout:not(.is-split) .rs-card:not(.rs-card--split) .rs-path { display: none; }
    [data-template="t3"] .rs-layout:not(.is-split) .rs-card:not(.rs-card--split) .rs-time--end { text-align: right; }
    [data-template="t3"] .rs-layout:not(.is-split) .rs-card:not(.rs-card--split) .rs-facts { display: none; }
    [data-template="t3"] .rs-layout:not(.is-split) .rs-card:not(.rs-card--split) .rs-c__name small { display: none; }
    [data-template="t3"] .rs-layout:not(.is-split) .rs-card:not(.rs-card--split) .rs-c__act .rs-more-link { font-size: 11.5px; }
    [data-template="t3"] .rs-layout:not(.is-split) .rs-card:not(.rs-card--split) { cursor: pointer; }
    [data-template="t3"] .rs-layout:not(.is-split) .rs-card--child { margin-left: 0; }
    [data-template="t3"] .rs-layout:not(.is-split) .rs-card--child::before { display: none; }
}
@media (max-width: 767.98px) {
    [data-template="t3"] .t3-track { display: none; }
}

/* Inspector, docked beside the timeline on wide screens */
[data-template="t3"] .t3-dock { display: grid; grid-template-columns: minmax(0, 1fr) 340px; gap: 16px; align-items: start; }
[data-template="t3"] .t3-dock > .rs-col { min-width: 0; }
[data-template="t3"] .t3-inspector {
    position: sticky; top: calc(var(--tb-header-h) + 76px); max-height: calc(100vh - var(--tb-header-h) - 92px); overflow-y: auto; overscroll-behavior: contain;
    background: var(--tb-surface); border: 1px solid var(--tb-border); border-top: 3px solid var(--tb-secondary); border-radius: 6px; box-shadow: var(--tb-shadow-xs);
}
[data-template="t3"] .t3-inspector .rs-x { border-top: 0; }
[data-template="t3"] .t3-inspector .rs-fares { grid-template-columns: minmax(0, 1fr); }
[data-template="t3"] .t3-inspector__empty { padding: 40px 24px; text-align: center; color: var(--tb-text-muted); }
[data-template="t3"] .t3-inspector__empty i { display: inline-flex; width: 48px; height: 48px; align-items: center; justify-content: center; border-radius: 50%; background: var(--tb-secondary-soft); color: var(--tb-secondary); font-size: 20px; }
[data-template="t3"] .t3-inspector__empty b { display: block; margin: 12px 0 4px; font-family: var(--tb-font-display); font-size: 18px; color: var(--tb-text-strong); }
[data-template="t3"] .t3-inspector__empty p { margin: 0; font-size: 13px; }
[data-template="t3"] .rs-x__drawer-head { display: flex; align-items: center; gap: 12px; padding: 14px 16px 12px; border-bottom: 1px solid var(--tb-border); }
[data-template="t3"] .rs-x__drawer-head b { display: block; font-family: var(--tb-font-display); font-size: 16px; color: var(--tb-text-strong); }
[data-template="t3"] .rs-x__drawer-head small { display: block; font-size: 12px; color: var(--tb-text-muted); }
[data-template="t3"] .rs-x__drawer-head .btn-close { margin-left: auto; }

/* Narrower screens and round-trip split: details open in a drawer from the right */
[data-template="t3"] .rs-card .rs-x {
    position: fixed; top: 0; right: 0; bottom: 0; z-index: 1065; width: min(440px, 100%);
    display: flex; flex-direction: column; background: var(--tb-surface); border-top: 3px solid var(--tb-secondary);
    box-shadow: -24px 0 60px rgba(var(--tb-ink-rgb), .25); cursor: default;
}
[data-template="t3"] .rs-card .rs-x__body { flex: 1 1 auto; overflow-y: auto; }
[data-template="t3"] .rs-card .rs-x .rs-fares { grid-template-columns: minmax(0, 1fr); }
[data-template="t3"] .rs-drawer-backdrop { position: fixed; inset: 0; z-index: 1064; background: rgba(var(--tb-ink-rgb), .4); cursor: default; }
@media (max-width: 767.98px) {
    [data-template="t3"] .rs-card .rs-x { top: auto; width: 100%; max-height: 88vh; max-height: 88dvh; border-radius: 8px 8px 0 0; }
}
