:root {
    --tc-yellow: #f6d624;
    --tc-amber: #f4b000;
    --tc-orange: #ec7d00;
    --tc-cream: #fffaf1;
    --tc-white: #ffffff;
    --tc-ink: #151515;
    --tc-muted: #5a5a5a;
    --tc-border: rgba(21, 21, 21, 0.08);
    --tc-shadow: 0 22px 48px rgba(17, 17, 17, 0.08);
    --tc-shadow-soft: 0 14px 34px rgba(17, 17, 17, 0.06);
    --tc-radius-xl: 28px;
    --tc-radius-lg: 20px;
    --tc-radius-md: 14px;
}

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

html, body {
    min-height: 100%;
    margin: 0;
    padding: 0;
    background:
        radial-gradient(circle at top left, rgba(246, 214, 36, 0.14), transparent 28%),
        linear-gradient(180deg, #fffdf8 0%, #f7f6f2 100%);
    color: var(--tc-ink);
    font-family: 'Montserrat', Arial, Helvetica, sans-serif;
}

body { line-height: 1.6; }
a { color: inherit; }
img { max-width: 100%; display: block; }

.tc-shell {
    width: min(1240px, calc(100% - 40px));
    margin: 0 auto;
}

.tc-header {
    position: sticky;
    top: 0;
    z-index: 1000;
    background: rgba(255, 251, 244, 0.9);
    backdrop-filter: blur(12px);
    border-bottom: 1px solid rgba(255, 255, 255, 0.7);
}

.tc-header::before {
    content: "";
    position: absolute;
    inset: 0 0 auto 0;
    height: 4px;
    background: linear-gradient(90deg, var(--tc-yellow) 0%, var(--tc-amber) 45%, var(--tc-orange) 100%);
}

.tc-header-inner {
    display: flex;
    align-items: center;
    gap: 20px;
    min-height: 92px;
    position: relative;
}

.tc-brand {
    display: inline-flex;
    align-items: center;
    gap: 16px;
    text-decoration: none;
    min-width: 0;
}

.tc-brand-logo {
    width: 70px;
    height: 70px;
    border-radius: 18px;
    background: rgba(255,255,255,0.92);
    object-fit: contain;
    box-shadow: 0 12px 28px rgba(17, 17, 17, 0.08);
}

.tc-brand-copy { display: flex; flex-direction: column; min-width: 0; }
.tc-brand-title {
    font-size: clamp(1.2rem, 2.1vw, 1.95rem);
    font-weight: 800;
    line-height: 1.05;
    letter-spacing: -0.03em;
}
.tc-brand-subtitle {
    font-size: 0.92rem;
    font-weight: 600;
    color: rgba(21,21,21,0.72);
}

.tc-site-nav {
    margin-left: auto;
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 14px;
}

.tc-nav-group {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 10px;
}

.tc-nav-divider {
    width: 1px;
    height: 32px;
    background: rgba(21,21,21,0.1);
}

.tc-nav-label {
    display: inline-flex;
    align-items: center;
    padding: 8px 12px;
    border-radius: 999px;
    background: rgba(244, 176, 0, 0.12);
    color: #9d5a00;
    font-size: 0.76rem;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: 0.08em;
}

.tc-site-nav a {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 44px;
    padding: 10px 14px;
    border-radius: 999px;
    text-decoration: none;
    font-size: 0.96rem;
    font-weight: 700;
    color: rgba(21,21,21,0.84);
    background: rgba(255,255,255,0.72);
    border: 1px solid rgba(21,21,21,0.06);
    box-shadow: 0 8px 20px rgba(17,17,17,0.04);
    transition: transform .18s ease, background .18s ease, box-shadow .18s ease, color .18s ease;
}

.tc-site-nav a:hover,
.tc-site-nav a:focus {
    background: rgba(244, 176, 0, 0.18);
    color: var(--tc-ink);
    transform: translateY(-1px);
    box-shadow: 0 12px 26px rgba(236, 125, 0, 0.12);
}

.tc-site-nav .tc-nav-admin {
    background: #151515;
    color: #fff8df;
    border-color: #151515;
}

.tc-site-nav .tc-nav-admin:hover,
.tc-site-nav .tc-nav-admin:focus {
    background: #262626;
    color: #ffffff;
}

.tc-site-nav .tc-nav-cta {
    background: linear-gradient(90deg, var(--tc-yellow), var(--tc-orange));
    color: var(--tc-ink);
    border-color: transparent;
    box-shadow: 0 10px 24px rgba(236, 125, 0, 0.18);
}

.tc-menu-toggle {
    display: none;
    margin-left: auto;
    width: 50px;
    height: 50px;
    border: 0;
    border-radius: 16px;
    background: rgba(244, 176, 0, 0.16);
    align-items: center;
    justify-content: center;
    padding: 0;
}

.tc-menu-toggle span {
    display: block;
    width: 22px;
    height: 2px;
    margin: 4px auto;
    background: var(--tc-ink);
    border-radius: 999px;
}

.tc-main { padding-top: 22px; }
.tc-alert-space {
    margin-top: 12px;
    border-radius: 18px;
    box-shadow: var(--tc-shadow-soft);
    border: 1px solid var(--tc-border);
}
.tc-alert-list ul { padding-left: 18px; }
.tc-alert-title { font-weight: 800; margin-bottom: 8px; }

.tc-card,
.card,
.panel,
.widget,
.table-responsive,
.list-group,
.dropdown-menu,
.nav-tabs,
.nav-pills,
.form-control,
.custom-select,
.pagination {
    border-radius: var(--tc-radius-lg);
}

.tc-card,
.card,
.panel,
.widget,
.table-responsive,
.list-group,
.dropdown-menu {
    background: rgba(255,255,255,0.88);
    border: 1px solid var(--tc-border);
    box-shadow: var(--tc-shadow);
}

.tc-hero-section { padding: 22px 0 12px; }
.tc-hero-grid {
    display: grid;
    grid-template-columns: minmax(0, 1.25fr) minmax(320px, 0.75fr);
    gap: 28px;
    align-items: stretch;
}
.tc-hero-copy { padding: clamp(28px, 4vw, 48px); }
.tc-kicker {
    display: inline-flex;
    align-items: center;
    padding: 8px 12px;
    border-radius: 999px;
    background: rgba(244, 176, 0, 0.14);
    color: #ad6300;
    font-size: 0.78rem;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: 0.1em;
}
.tc-hero-copy h1 {
    margin: 16px 0 18px;
    font-size: clamp(2.7rem, 5vw, 4.9rem);
    line-height: 0.95;
    font-weight: 800;
    letter-spacing: -0.05em;
}
.tc-hero-copy p {
    margin: 0;
    max-width: 720px;
    color: var(--tc-muted);
    font-size: 1.05rem;
}
.tc-hero-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 14px;
    margin-top: 28px;
}
.tc-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 50px;
    padding: 0 20px;
    border-radius: 999px;
    text-decoration: none;
    font-weight: 800;
    font-size: 0.96rem;
    transition: transform .18s ease, box-shadow .18s ease, background .18s ease;
}
.tc-btn:hover { transform: translateY(-1px); }
.tc-btn-primary {
    background: linear-gradient(90deg, var(--tc-yellow), var(--tc-orange));
    color: var(--tc-ink);
    box-shadow: 0 10px 26px rgba(236, 125, 0, 0.2);
}
.tc-btn-secondary {
    background: rgba(255,255,255,0.9);
    border: 1px solid var(--tc-border);
    color: var(--tc-ink);
}
.tc-btn-ghost {
    background: #151515;
    color: #fff8df;
}
.tc-stat-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 14px;
    margin-top: 28px;
}
.tc-stat-card {
    padding: 18px 18px 16px;
    background: rgba(255, 255, 255, 0.7);
    border-radius: 18px;
    border: 1px solid rgba(21,21,21,0.06);
}
.tc-stat-label {
    display: block;
    margin-bottom: 6px;
    color: #8a6a00;
    font-size: 0.8rem;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: 0.08em;
}
.tc-hero-visual {
    padding: 26px;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    gap: 18px;
}
.tc-logo-panel {
    min-height: 360px;
    display: grid;
    place-items: center;
    border-radius: 24px;
    background: linear-gradient(180deg, rgba(255,255,255,0.94), rgba(255,248,229,0.92));
    border: 1px solid rgba(21,21,21,0.06);
}
.tc-logo-panel img {
    width: min(74%, 340px);
    border-radius: 22px;
}

.tc-help-grid {
    display: grid;
    gap: 14px;
}

.tc-help-card {
    padding: 18px 18px 16px;
    background: linear-gradient(180deg, rgba(255,255,255,0.96), rgba(255,248,229,0.92));
    border-radius: 18px;
    border: 1px solid rgba(21,21,21,0.06);
    box-shadow: 0 10px 24px rgba(17, 17, 17, 0.05);
}

.tc-help-card__label {
    display: inline-block;
    margin-bottom: 8px;
    color: #8a6a00;
    font-size: 0.76rem;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: 0.08em;
}

.tc-help-card strong {
    display: block;
    font-size: 1.02rem;
    font-weight: 800;
    margin-bottom: 6px;
    color: var(--tc-ink);
}

.tc-help-card p {
    margin: 0;
    font-size: 0.94rem;
    color: var(--tc-muted);
}
.tc-visual-note {
    display: flex;
    flex-direction: column;
    gap: 4px;
}
.tc-visual-note span {
    color: #9d5a00;
    font-size: 0.78rem;
    font-weight: 800;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}
.tc-visual-note strong { font-size: 1.05rem; }

.tc-info-section { padding: 18px 0 44px; }
.tc-info-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 20px;
}
.tc-info-card { padding: 28px; }
.tc-info-icon {
    display: inline-grid;
    place-items: center;
    width: 56px;
    height: 56px;
    margin-bottom: 14px;
    border-radius: 18px;
    background: rgba(244, 176, 0, 0.14);
    font-size: 1.55rem;
}
.tc-info-card h2 {
    margin: 0 0 10px;
    font-size: 1.35rem;
    font-weight: 800;
}
.tc-info-card p { margin: 0; color: var(--tc-muted); }

.tc-footer {
    margin-top: 20px;
    background: #111111;
    color: #fff8df;
}
.tc-footer-inner {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 20px;
    padding: 24px 0;
}
.tc-footer-title { font-size: 1.15rem; font-weight: 800; }
.tc-footer-copy { color: rgba(255,248,223,0.76); max-width: 620px; }
.tc-footer-links {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
}
.tc-footer-links a {
    padding: 10px 14px;
    border-radius: 999px;
    text-decoration: none;
    background: rgba(255,255,255,0.08);
}

/* Sitewide cleanup for subtabs, pills, dropdowns, lists and pages */
.main-content,
.content,
.container,
.container-fluid { max-width: 1240px; }

ul, ol { padding-left: 1.2rem; }

.nav,
.navbar-nav,
.nav-pills,
.nav-tabs {
    gap: 10px;
}

.nav-tabs,
.nav-pills,
.pagination,
.breadcrumb {
    border: none;
    background: rgba(255,255,255,0.72);
    padding: 10px;
    box-shadow: var(--tc-shadow-soft);
}

.nav-tabs > li,
.nav-pills > li,
.nav-item { margin: 0 !important; }

.nav-tabs > li > a,
.nav-pills > li > a,
.nav-tabs .nav-link,
.nav-pills .nav-link,
.page-link,
.breadcrumb-item,
.dropdown-item,
.list-group-item,
.btn,
button,
input[type="submit"],
input[type="button"] {
    border-radius: 999px !important;
}

.nav-tabs > li > a,
.nav-pills > li > a,
.nav-tabs .nav-link,
.nav-pills .nav-link,
.page-link,
.dropdown-item,
.list-group-item {
    border: 1px solid rgba(21,21,21,0.08) !important;
    background: rgba(255,255,255,0.86);
    color: var(--tc-ink) !important;
    font-weight: 700;
    padding: 10px 14px !important;
    transition: all .18s ease;
}

.nav-tabs > li > a:hover,
.nav-pills > li > a:hover,
.nav-tabs .nav-link:hover,
.nav-pills .nav-link:hover,
.page-link:hover,
.dropdown-item:hover,
.list-group-item:hover,
.nav-tabs > li.active > a,
.nav-pills > li.active > a,
.nav-tabs .nav-link.active,
.nav-pills .nav-link.active {
    background: rgba(244,176,0,0.16) !important;
    border-color: rgba(236,125,0,0.2) !important;
    color: var(--tc-ink) !important;
    box-shadow: 0 10px 24px rgba(236,125,0,0.1);
}

.list-group-item {
    display: flex;
    align-items: center;
    min-height: 46px;
    margin-bottom: 8px;
}

.dropdown-menu {
    padding: 10px;
    min-width: 230px;
}

.dropdown-item { margin-bottom: 8px; }
.dropdown-item:last-child { margin-bottom: 0; }

.btn,
button,
input[type="submit"],
input[type="button"] {
    font-weight: 800 !important;
    min-height: 46px;
    padding-left: 18px !important;
    padding-right: 18px !important;
    border: none;
}

.btn-primary,
.btn-success,
.btn-warning,
.btn-info {
    background: linear-gradient(90deg, var(--tc-yellow), var(--tc-orange)) !important;
    color: var(--tc-ink) !important;
    box-shadow: 0 10px 24px rgba(236,125,0,0.18);
}

.btn-secondary,
.btn-default,
.btn-light {
    background: rgba(255,255,255,0.95) !important;
    color: var(--tc-ink) !important;
    border: 1px solid rgba(21,21,21,0.08) !important;
}

.btn-danger {
    background: #151515 !important;
    color: #fff8df !important;
}

.table {
    margin-bottom: 0;
    overflow: hidden;
    border-radius: 16px;
}

.table thead th,
.table th {
    background: rgba(244, 176, 0, 0.12);
    border-bottom: 0 !important;
    color: var(--tc-ink);
    font-weight: 800;
}

.table td,
.table th {
    border-color: rgba(21,21,21,0.06) !important;
    vertical-align: middle !important;
}

.table-striped tbody tr:nth-of-type(odd) {
    background: rgba(255, 248, 229, 0.4);
}

.form-control,
.form-select,
.custom-select,
input[type="text"],
input[type="email"],
input[type="password"],
input[type="number"],
textarea,
select {
    min-height: 48px;
    border: 1px solid rgba(21,21,21,0.1) !important;
    background: rgba(255,255,255,0.92) !important;
    box-shadow: none !important;
}

.form-group,
.form-row,
.row { gap: 0; }
label,
.control-label,
.form-label {
    font-weight: 700;
    color: rgba(21,21,21,0.82);
}


select.form-select,
select.tc-plain-select,
select.form-control {
    appearance: auto !important;
    -webkit-appearance: menulist !important;
    -moz-appearance: menulist !important;
    color: var(--tc-ink) !important;
    padding-right: 42px !important;
    cursor: pointer;
}

select.form-select option,
select.tc-plain-select option,
select.form-control option {
    color: #151515;
    background: #ffffff;
}

.tc-flight-search-form select,
.tc-flight-search-form input {
    width: 100%;
}

.page-header,
.content-header,
.page-title {
    margin-bottom: 18px;
}

h1, h2, h3, h4, h5 {
    letter-spacing: -0.03em;
    font-weight: 800;
}

@media (max-width: 1080px) {
    .tc-hero-grid,
    .tc-info-grid,
    .tc-stat-grid {
        grid-template-columns: 1fr;
    }

    .tc-site-nav {
        position: absolute;
        top: calc(100% + 12px);
        right: 0;
        left: 0;
        display: none;
        flex-direction: column;
        align-items: stretch;
        gap: 12px;
        padding: 16px;
        background: rgba(255,251,244,0.98);
        border: 1px solid rgba(21,21,21,0.08);
        border-radius: 24px;
        box-shadow: var(--tc-shadow);
    }

    .tc-site-nav.is-open { display: flex; }
    .tc-nav-group { width: 100%; }
    .tc-nav-group,
    .tc-nav-account {
        flex-direction: column;
        align-items: stretch;
    }
    .tc-nav-divider {
        width: 100%;
        height: 1px;
    }
    .tc-menu-toggle { display: inline-flex; }
}

@media (max-width: 640px) {
    .tc-shell { width: min(100% - 24px, 1240px); }
    .tc-header-inner { min-height: 84px; }
    .tc-brand-logo { width: 56px; height: 56px; }
    .tc-brand-title { font-size: 1.25rem; }
    .tc-brand-subtitle { font-size: 0.8rem; }
    .tc-hero-copy h1 { font-size: 2.5rem; }
    .tc-hero-copy,
    .tc-info-card,
    .tc-hero-visual { padding: 22px; }
    .tc-logo-panel { min-height: 260px; }
    .tc-footer-inner { flex-direction: column; align-items: flex-start; }
}


/* Wider content + cleaner inner pages */
.tc-page-stack {
    padding: 8px 0 56px;
}

.tc-page-stack > .container,
.tc-page-stack > .container-fluid,
.tc-page-stack > section:not(.tc-hero-section):not(.tc-info-section),
.tc-page-stack > div:not(.tc-shell) {
    width: min(1440px, calc(100% - 46px));
    max-width: 1440px;
    margin-left: auto;
    margin-right: auto;
}

.tc-page-stack .container,
.tc-page-stack .container-fluid {
    width: 100%;
    max-width: 1440px;
    padding-left: 0;
    padding-right: 0;
}

.tc-page-stack .row {
    margin-left: -12px;
    margin-right: -12px;
    row-gap: 24px;
}

.tc-page-stack .row > [class*="col-"] {
    padding-left: 12px;
    padding-right: 12px;
    margin-bottom: 0;
}

.tc-page-stack .row > [class*="col-"] > .card,
.tc-page-stack .row > [class*="col-"] > .panel,
.tc-page-stack .row > [class*="col-"] > .widget,
.tc-page-stack .row > [class*="col-"] > .table-responsive,
.tc-page-stack .row > [class*="col-"] > .list-group {
    height: 100%;
}

.tc-page-stack .card,
.tc-page-stack .panel,
.tc-page-stack .widget,
.tc-page-stack .table-responsive,
.tc-page-stack .list-group,
.tc-page-stack .dropdown-menu,
.tc-page-stack .well,
.tc-page-stack .jumbotron {
    margin-bottom: 24px;
    overflow: hidden;
}

.tc-page-stack .page-header,
.tc-page-stack .content-header,
.tc-page-stack h1:first-child,
.tc-page-stack h2:first-child {
    margin-top: 0;
}

.tc-page-stack .page-header,
.tc-page-stack .content-header {
    margin-bottom: 28px;
}

.tc-page-stack .table {
    margin-bottom: 0;
}

.tc-page-stack .table-responsive {
    padding: 8px 8px 0;
}

.tc-page-stack .list-group {
    padding: 10px;
}

.tc-page-stack .list-group-item {
    border: 1px solid var(--tc-border);
    border-radius: 16px !important;
    margin-bottom: 10px;
    background: rgba(255,255,255,0.96);
}

.tc-page-stack .list-group-item:last-child {
    margin-bottom: 0;
}

.tc-page-stack .nav-tabs,
.tc-page-stack .nav-pills {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    padding: 10px;
    background: rgba(255,255,255,0.88);
    border: 1px solid var(--tc-border);
    box-shadow: var(--tc-shadow-soft);
}

.tc-page-stack .nav-tabs > li,
.tc-page-stack .nav-pills > li {
    float: none;
    margin: 0;
}

.tc-page-stack .nav-tabs > li > a,
.tc-page-stack .nav-pills > li > a,
.tc-page-stack .pagination > li > a,
.tc-page-stack .pagination > li > span {
    border-radius: 999px !important;
}

.tc-page-stack .tab-content,
.tc-page-stack .panel-body,
.tc-page-stack .card-body,
.tc-page-stack .widget-body,
.tc-page-stack .well {
    padding: clamp(18px, 2vw, 28px);
}

.tc-page-stack form .form-group,
.tc-page-stack form .mb-3,
.tc-page-stack form .mb-4 {
    margin-bottom: 18px;
}

.tc-page-stack .btn,
.tc-page-stack button,
.tc-page-stack input[type="submit"] {
    border-radius: 999px;
}

.tc-page-stack .breadcrumb {
    padding: 14px 18px;
    border-radius: 18px;
    background: rgba(255,255,255,0.82);
    border: 1px solid var(--tc-border);
    box-shadow: var(--tc-shadow-soft);
}

/* Auto-balance repeated info blocks into 2-3 columns on wider pages */
@media (min-width: 992px) {
    .tc-page-stack .list-group.tc-grid-2,
    .tc-page-stack .cards-grid.tc-grid-2,
    .tc-page-stack .tc-auto-grid-2 {
        display: grid;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 18px;
        padding: 0;
        background: transparent;
        border: 0;
        box-shadow: none;
    }

    .tc-page-stack .list-group.tc-grid-2 > .list-group-item,
    .tc-page-stack .cards-grid.tc-grid-2 > *,
    .tc-page-stack .tc-auto-grid-2 > * {
        margin-bottom: 0;
    }
}

@media (min-width: 1200px) {
    .tc-page-stack .list-group.tc-grid-3,
    .tc-page-stack .cards-grid.tc-grid-3,
    .tc-page-stack .tc-auto-grid-3 {
        display: grid;
        grid-template-columns: repeat(3, minmax(0, 1fr));
        gap: 20px;
        padding: 0;
        background: transparent;
        border: 0;
        box-shadow: none;
    }

    .tc-page-stack .list-group.tc-grid-3 > .list-group-item,
    .tc-page-stack .cards-grid.tc-grid-3 > *,
    .tc-page-stack .tc-auto-grid-3 > * {
        margin-bottom: 0;
    }
}

/* Make common dashboard/profile style sidebars less cramped */
@media (min-width: 1200px) {
    .tc-page-stack .col-lg-3,
    .tc-page-stack .col-md-3 {
        width: 28%;
    }

    .tc-page-stack .col-lg-9,
    .tc-page-stack .col-md-9 {
        width: 72%;
    }
}

/* Keep custom homepage sections aligned with the wider shell */
.tc-info-grid,
.tc-hero-grid {
    width: 100%;
}

@media (max-width: 991px) {
    .tc-page-stack > .container,
    .tc-page-stack > .container-fluid,
    .tc-page-stack > section:not(.tc-hero-section):not(.tc-info-section),
    .tc-page-stack > div:not(.tc-shell) {
        width: min(100%, calc(100% - 28px));
    }
}


/* v5 fixes: restore stock seven/bootstrap behaviour and improve flight browsing */
.tc-page-hero {
    padding: 20px 0 8px;
}
.tc-page-hero--compact {
    display: flex;
    align-items: end;
    justify-content: space-between;
}
.tc-page-hero__content h1 {
    margin: 12px 0 8px;
    font-size: clamp(2.1rem, 4vw, 3.2rem);
    line-height: 1;
}
.tc-page-hero__content p {
    max-width: 920px;
    color: var(--tc-muted);
    margin: 0;
}
.tc-page-panel {
    padding: clamp(18px, 2vw, 28px);
}
.tc-panel-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 18px;
    margin-bottom: 18px;
}
.tc-panel-head--stack { align-items: flex-start; }
.tc-panel-head h2 {
    margin: 0;
    font-size: 1.5rem;
}
.tc-panel-body { padding-top: 4px; }
.tc-panel-body--tight { padding-top: 0; }
.tc-pagination-wrap {
    display: flex;
    justify-content: center;
    margin-top: 24px;
}

/* Flights page form/grid */
.tc-filter-panel .search-form form {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 16px 18px;
    align-items: end;
}
.tc-filter-panel .search-form form > div:first-child {
    display: contents;
}
.tc-filter-panel .search-form .mb-3 {
    margin-bottom: 0 !important;
}
.tc-filter-panel .search-form .d-flex,
.tc-filter-panel .search-form .justify-content-between,
.tc-filter-panel .search-form form > .d-flex {
    grid-column: 1 / -1;
    display: flex !important;
    justify-content: flex-start !important;
    gap: 12px;
    margin-top: 6px;
}

/* make stock table/cards breathe */
.tc-results-panel .table-responsive {
    padding: 0;
    background: transparent;
    box-shadow: none;
    border: 0;
}
.tc-results-panel .table.table-sm {
    width: 100%;
    margin-bottom: 18px;
}
.tc-results-panel .card {
    margin-bottom: 18px;
    border-radius: 22px;
    overflow: hidden;
}
.tc-results-panel .card-body,
.tc-results-panel .card-footer {
    padding: 18px 22px;
}
.tc-results-panel .card-footer {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    align-items: center;
}
.tc-results-panel .card-footer .btn {
    margin: 0;
}
.tc-results-panel .badge.bg-secondary {
    background: rgba(21,21,21,0.08) !important;
    color: var(--tc-ink) !important;
    border: 1px solid rgba(21,21,21,0.08);
}
.tc-results-panel a {
    word-break: keep-all;
}

/* Better error and basic pages */
.tc-page-stack .text-center .btn,
.tc-page-stack .text-center a.btn {
    margin-right: 10px;
}

/* protect bootstrap utilities */
.d-none.d-xl-block { display: none !important; }
@media (min-width: 1200px) {
    .d-none.d-xl-block { display: block !important; }
    .d-xl-none { display: none !important; }
}

@media (max-width: 1199px) {
    .tc-filter-panel .search-form form {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 767px) {
    .tc-panel-head,
    .tc-page-hero--compact {
        flex-direction: column;
        align-items: flex-start;
    }
    .tc-filter-panel .search-form form {
        grid-template-columns: 1fr;
    }
    .tc-results-panel .card-body,
    .tc-results-panel .card-footer,
    .tc-page-panel {
        padding: 16px;
    }
}


/* v7 readability + quick access fixes */
body, body * {
    text-shadow: none !important;
    filter: none !important;
}

body,
p,
li,
span,
label,
td,
th,
small,
.help-block,
.form-text,
.text-muted,
.breadcrumb-item,
.card,
.panel,
.widget,
.list-group-item,
.dropdown-item {
    color: var(--tc-ink);
}

p, li, td, th, .help-block, .form-text, .text-muted {
    color: #444 !important;
}

h1, h2, h3, h4, h5, h6,
label, .control-label, .form-label,
.table thead th, .table th {
    color: #161616 !important;
}

.tc-user-quickbar {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    margin: 4px 0 18px;
    padding: 12px;
    border-radius: 20px;
    background: rgba(255,255,255,0.84);
    border: 1px solid var(--tc-border);
    box-shadow: var(--tc-shadow-soft);
}

.tc-user-quickbar a {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 44px;
    padding: 10px 16px;
    border-radius: 999px;
    text-decoration: none;
    font-weight: 800;
    color: var(--tc-ink) !important;
    background: rgba(255,255,255,0.95);
    border: 1px solid rgba(21,21,21,0.08);
}

.tc-user-quickbar__admin {
    background: #151515 !important;
    color: #fff8df !important;
    border-color: #151515 !important;
}

.ts-wrapper,
.ts-control,
.ts-control input {
    cursor: text !important;
}

.ts-control {
    display: flex !important;
    align-items: center;
    min-height: 48px;
    padding: 10px 12px !important;
    background: rgba(255,255,255,0.94) !important;
    border: 1px solid rgba(21,21,21,0.10) !important;
    box-shadow: none !important;
}

.ts-control input {
    flex: 1 1 auto !important;
    width: 100% !important;
    min-width: 120px !important;
    opacity: 1 !important;
    color: #161616 !important;
}

.ts-control > input::placeholder {
    color: #7a7a7a !important;
    opacity: 1 !important;
}

.ts-dropdown,
.ts-dropdown .option,
.ts-dropdown .active {
    color: #161616 !important;
}

@media (max-width: 640px) {
    .tc-user-quickbar {
        padding: 10px;
    }

    .tc-user-quickbar a {
        flex: 1 1 calc(50% - 10px);
    }
}


/* v8 cleanup */
.tc-site-wrap {
    background:
        radial-gradient(circle at top left, rgba(246, 214, 36, 0.12), transparent 28%),
        linear-gradient(180deg, #fffdf8 0%, #f7f6f2 100%);
}

.tc-card,
.card,
.panel,
.widget,
.table-responsive,
.list-group,
.dropdown-menu {
    background: #ffffff;
}

.tc-hero-copy,
.tc-hero-visual,
.tc-info-card,
.tc-page-panel,
.tc-user-quickbar {
    background: #ffffff !important;
}

.tc-hero-copy h1,
.tc-hero-copy h2,
.tc-hero-copy h3,
.tc-hero-copy p,
.tc-info-card h2,
.tc-info-card p,
.tc-visual-note,
.tc-visual-note strong,
.tc-visual-note span,
.tc-page-hero__content h1,
.tc-page-hero__content p,
.tc-panel-head p,
.tc-panel-head h2 {
    color: #191919 !important;
}

.tc-page-hero__content p,
.tc-panel-head p,
.tc-hero-copy p,
.tc-info-card p,
.tc-stat-card,
.tc-card p {
    color: #444 !important;
}

.tc-logo-panel {
    min-height: 300px;
}

.tc-fact-rotator {
    padding: 22px 24px;
    border-radius: 22px;
    background: linear-gradient(135deg, rgba(246,214,36,0.15), rgba(236,125,0,0.12));
    border: 1px solid rgba(236, 125, 0, 0.16);
}

.tc-fact-kicker {
    display: inline-block;
    margin-bottom: 8px;
    color: #9b5d00;
    font-size: 0.76rem;
    font-weight: 800;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

.tc-fact-rotator h2 {
    margin: 0 0 8px;
    font-size: 1.45rem;
    line-height: 1.1;
    color: #191919 !important;
}

.tc-fact-rotator p {
    margin: 0;
    color: #3f3f3f !important;
}

.tc-search-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
    margin-top: 24px;
}

.tc-flight-search-form .form-label {
    margin-bottom: 8px;
    font-size: 0.98rem;
    font-weight: 800;
    color: #181818 !important;
}

.tc-flight-search-form .form-control,
.tc-flight-search-form .form-select {
    border-radius: 16px !important;
}

.tc-flight-search-form .text-uppercase {
    text-transform: uppercase;
}

.tc-user-quickbar {
    align-items: center;
}

.tc-user-quickbar a {
    font-size: 0.96rem;
    line-height: 1;
}

.tc-user-quickbar__admin {
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    min-width: 164px;
    background: #151515 !important;
    color: #fff8df !important;
    font-size: 0.96rem !important;
}

.tc-user-quickbar__admin i,
.tc-nav-admin i {
    color: currentColor !important;
}

.tc-nav-admin {
    white-space: nowrap;
}

.tc-footer {
    display: none !important;
}

.table td,
.table th {
    color: #222 !important;
}

.ts-wrapper.multi .ts-control > div,
.ts-wrapper.single .ts-control {
    color: #161616 !important;
}

.ts-dropdown {
    border-radius: 16px !important;
    border: 1px solid rgba(21,21,21,0.1) !important;
    overflow: hidden;
}

.ts-dropdown .option {
    padding: 10px 12px;
}

.ts-dropdown .active {
    background: rgba(244,176,0,0.18) !important;
}

@media (max-width: 991px) {
    .tc-hero-grid {
        grid-template-columns: 1fr;
    }
}


/* v9 fixes */
html, body, body * {
    text-shadow: none !important;
}

footer,
.footer,
#footer,
.site-footer,
.app-footer,
.page-footer,
.tc-footer {
    display: none !important;
}

.tc-site-wrap,
.tc-main,
.tc-page-stack,
.wrapper,
.content-wrapper,
.content,
.main-content {
    background:
        radial-gradient(circle at top left, rgba(246, 214, 36, 0.10), transparent 30%),
        linear-gradient(180deg, #fffdf8 0%, #f7f6f2 100%) !important;
}

.tc-user-quickbar__admin {
    display: none !important;
}

.tc-nav-admin {
    background: linear-gradient(135deg, var(--tc-yellow), var(--tc-amber)) !important;
    color: #151515 !important;
    border: 1px solid rgba(21,21,21,0.08) !important;
}

.tc-nav-admin:hover,
.tc-nav-admin:focus {
    color: #111 !important;
    opacity: 0.95;
}

.tc-user-quickbar a {
    background: #fff !important;
    color: #151515 !important;
}

.tc-user-quickbar a i,
.tc-site-nav a i {
    color: currentColor !important;
}

.form-control,
.form-select,
.ts-control,
.ts-wrapper.single .ts-control,
.ts-wrapper.multi .ts-control,
.select2-container--default .select2-selection--single,
.select2-container--default .select2-selection--multiple {
    background: #fff !important;
    color: #181818 !important;
    border: 1px solid rgba(21,21,21,0.12) !important;
}

.form-control::placeholder,
.ts-control > input::placeholder {
    color: #8a8a8a !important;
}

.tc-plain-select {
    appearance: auto !important;
    background-image: none !important;
    padding-right: 1rem !important;
}

.ts-dropdown,
.select2-dropdown,
.dropdown-menu {
    background: #fff !important;
    color: #181818 !important;
    border: 1px solid rgba(21,21,21,0.12) !important;
    box-shadow: var(--tc-shadow-soft) !important;
}

.ts-dropdown .option,
.ts-dropdown .optgroup-header,
.dropdown-item,
.select2-results__option {
    background: #fff !important;
    color: #181818 !important;
}

.ts-dropdown .option:hover,
.ts-dropdown .active,
.dropdown-item:hover,
.dropdown-item:focus,
.select2-results__option--highlighted {
    background: rgba(244,176,0,0.18) !important;
    color: #111 !important;
}

.text-white,
[class*="text-white"] {
    color: #1b1b1b !important;
}

.bg-dark,
.text-bg-dark,
.card.bg-dark,
.panel.bg-dark,
.widget.bg-dark,
[class*="bg-dark"] {
    background: #fff !important;
    color: #1b1b1b !important;
    border-color: rgba(21,21,21,0.08) !important;
}

.card,
.card-body,
.card-header,
.panel,
.widget,
.list-group,
.list-group-item,
.table-responsive,
.alert,
.nav-tabs,
.nav-pills,
.pagination,
.page-item,
.tab-content {
    background: #fff !important;
    color: #1b1b1b !important;
    border-color: rgba(21,21,21,0.08) !important;
}

.card-header,
.panel-heading,
.widget-heading,
.list-group-item,
.nav-link,
.page-link,
.table td,
.table th,
.small,
.text-muted {
    color: #222 !important;
}

.nav-link.active,
.nav-pills .nav-link.active,
.page-item.active .page-link,
.badge.bg-primary,
.bg-primary {
    background: linear-gradient(135deg, var(--tc-yellow), var(--tc-amber)) !important;
    color: #151515 !important;
    border-color: transparent !important;
}

.tc-fact-inline {
    margin-top: 24px;
    padding: 18px 20px;
    border-radius: 20px;
    background: linear-gradient(135deg, rgba(246,214,36,0.16), rgba(236,125,0,0.12));
    border: 1px solid rgba(236,125,0,0.18);
}

.tc-fact-inline__label {
    display: inline-block;
    margin-bottom: 6px;
    color: #9b5d00;
    font-size: 0.78rem;
    font-weight: 800;
    letter-spacing: 0.09em;
    text-transform: uppercase;
}

.tc-fact-inline strong {
    display: block;
    margin-bottom: 6px;
    font-size: 1.25rem;
    color: #171717 !important;
}

.tc-fact-inline p {
    margin: 0;
    color: #444 !important;
}

.tc-brand-points {
    display: grid;
    gap: 14px;
    margin-top: 22px;
}

.tc-brand-point {
    padding: 16px 18px;
    border-radius: 18px;
    background: rgba(255,255,255,0.88);
    border: 1px solid rgba(21,21,21,0.08);
}

.tc-brand-point span {
    display: block;
    margin-bottom: 6px;
    color: #9b5d00;
    font-size: 0.78rem;
    font-weight: 800;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

.tc-brand-point strong {
    color: #171717 !important;
    font-size: 1rem;
    line-height: 1.45;
}

.tc-logo-panel {
    min-height: 220px;
}

.tc-logo-panel img {
    max-width: 240px;
    margin: 0 auto;
}

.tc-flight-search-form .row {
    align-items: end;
}

.tc-flight-search-form .form-control,
.tc-flight-search-form .form-select {
    min-height: 48px;
}

.tc-flight-search-form .ts-wrapper {
    width: 100%;
}

.tc-flight-search-form .ts-control,
.tc-flight-search-form .ts-dropdown {
    display: none !important;
}

.tc-page-hero__content p,
.tc-panel-head p,
.tc-info-card p,
.tc-hero-copy p,
.tc-card p,
p,
span,
small,
label,
li,
td,
th {
    color: #333 !important;
}

@media (max-width: 991px) {
    .tc-user-quickbar {
        gap: 10px;
    }

    .tc-user-quickbar a {
        flex: 1 1 calc(50% - 10px);
    }
}
