/* ================================================================
   TimySports — Full Site Redesign v3.0
   Modern, clean, professional sports technology design
   ================================================================ */

/* ─────────────────────────────────────────────────────────────
   PERFORMANCE — GPU promotion & paint containment
   ───────────────────────────────────────────────────────────── */
.mt-cursor {
    will-change: transform;
    contain: strict;
}
#scroll-percentage {
    will-change: transform;
}
.ts-page-card,
.ts-sol-card,
.ts-result-card {
    contain: layout style;
}
.ts-page-card__thumb img,
.ts-sol-card__img-wrap img {
    will-change: transform;
}
/* Scrolling performance: prevent paint on fixed header */
.header.fixed {
    will-change: transform;
}
/* Lazy-load images: prevent layout shift with explicit aspect ratios */
img[loading="lazy"] {
    content-visibility: auto;
}
/* Smooth scroll wrapper — hardware layer */
#smooth-wrapper {
    overflow: hidden;
}
/* Offscreen sections: skip rendering until near viewport */
.ts-sol-card,
.ts-page-card,
.ts-result-card {
    content-visibility: auto;
    contain-intrinsic-size: auto 250px;
}
.ts-qcard {
    content-visibility: auto;
    contain-intrinsic-size: auto 200px;
}

/* ─────────────────────────────────────────────────────────────
   DESIGN TOKENS
   ───────────────────────────────────────────────────────────── */
:root {
    /* Brand */
    --gold:          #eaaa3f;
    --gold-light:    #f5c96a;
    --gold-dark:     #c8853a;
    --blue:          #3f88c5;
    --blue-light:    #5ba3d9;

    /* Backgrounds */
    --bg-base:       #0d1117;
    --bg-card:       #131920;
    --bg-card-hover: #17202a;
    --bg-section:    #111820;
    --bg-alt:        #0a0f15;

    /* Surfaces */
    --surface-1:     rgba(255,255,255,0.04);
    --surface-2:     rgba(255,255,255,0.07);
    --surface-3:     rgba(255,255,255,0.10);

    /* Borders */
    --border-subtle: rgba(255,255,255,0.07);
    --border-mid:    rgba(255,255,255,0.12);
    --border-gold:   rgba(234,170,63,0.30);
    --border-gold-hover: rgba(234,170,63,0.55);

    /* Text */
    --text-primary:  #f0f4f8;
    --text-secondary:#a0aab4;
    --text-muted:    #6b7a8d;
    --text-gold:     #eaaa3f;

    /* Shadows */
    --shadow-sm:     0 2px 8px rgba(0,0,0,0.25);
    --shadow-md:     0 6px 24px rgba(0,0,0,0.40);
    --shadow-lg:     0 16px 48px rgba(0,0,0,0.55);
    --shadow-gold:   0 8px 32px rgba(234,170,63,0.18);
    --shadow-gold-lg:0 16px 48px rgba(234,170,63,0.22);

    /* Spacing scale */
    --space-xs:  8px;
    --space-sm:  16px;
    --space-md:  24px;
    --space-lg:  40px;
    --space-xl:  64px;
    --space-2xl: 96px;

    /* Radii */
    --r-sm:  6px;
    --r-md:  10px;
    --r-lg:  16px;
    --r-xl:  24px;
    --r-pill:100px;

    /* Transitions */
    --ease:        all 0.28s cubic-bezier(0.4,0,0.2,1);
    --ease-fast:   all 0.18s cubic-bezier(0.4,0,0.2,1);
    --ease-slow:   all 0.45s cubic-bezier(0.4,0,0.2,1);
}

/* ─────────────────────────────────────────────────────────────
   NAVBAR — Modern glass header
   ───────────────────────────────────────────────────────────── */
.header.header-5 {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    z-index: 1000;
    background: rgba(10, 15, 21, 0.85);
    backdrop-filter: blur(20px) saturate(1.6);
    -webkit-backdrop-filter: blur(20px) saturate(1.6);
    border-bottom: 1px solid var(--border-subtle);
    transition: var(--ease);
}
.header.header-5.sticky,
.header.header-5.sticky-active {
    background: rgba(8, 12, 18, 0.96);
    border-bottom-color: var(--border-gold);
    box-shadow: 0 4px 40px rgba(0,0,0,0.5);
}

.header .primary-header {
    padding: 0;
}
.header .primary-header .container {
    max-width: 1280px;
}
.header .primary-header-inner {
    display: flex;
    align-items: center;
    justify-content: space-between;
    height: 72px;
    gap: 24px;
}

/* Logo */
.header-logo a {
    display: flex;
    align-items: center;
}
.header .primary-header-inner .header-logo img {
    width: 220px;
    height: auto;
    max-width: 100%;
}
@media (max-width: 1399px) {
    .header .primary-header-inner .header-logo img {
        width: 200px;
    }
}
@media (max-width: 1199px) {
    .header .primary-header-inner .header-logo img {
        width: 180px;
    }
}
@media (max-width: 992px) {
    .header .primary-header-inner .header-logo img {
        width: 160px;
    }
}
@media (max-width: 767px) {
    .header .primary-header-inner .header-logo img {
        width: 140px;
    }
}
@media (max-width: 479px) {
    .header .primary-header-inner .header-logo img {
        width: 120px;
    }
}

/* Desktop Nav */
.header .primary-header-inner .header-menu-wrap {
    flex: 1;
    display: flex;
    justify-content: center;
}
.header .primary-header-inner .header-menu-wrap .mobile-menu-items > ul {
    display: flex;
    align-items: center;
    gap: 4px;
    list-style: none;
    margin: 0;
    padding: 0;
}
.header .primary-header-inner .header-menu-wrap ul li a {
    font-size: 13.5px;
    font-weight: 600;
    letter-spacing: 0.03em;
    color: rgba(240,244,248,0.82);
    padding: 8px 14px;
    border-radius: var(--r-sm);
    display: block;
    transition: var(--ease-fast);
    position: relative;
    white-space: nowrap;
}
.header .primary-header-inner .header-menu-wrap ul li a:hover,
.header .primary-header-inner .header-menu-wrap ul li.active > a {
    color: var(--gold) !important;
    background: rgba(234,170,63,0.08);
}
.header .primary-header-inner .header-menu-wrap ul li.active > a::after {
    content: '';
    position: absolute;
    bottom: 2px;
    left: 14px;
    right: 14px;
    height: 2px;
    background: var(--gold);
    border-radius: 2px;
}

/* Dropdown */
.header .primary-header-inner .header-menu-wrap ul li .sub-menu {
    top: calc(100% + 8px);
    border-radius: var(--r-md);
    border: 1px solid var(--border-gold);
    border-top: 2px solid var(--gold);
    background: rgba(13,17,23,0.98);
    backdrop-filter: blur(16px);
    box-shadow: var(--shadow-lg);
    min-width: 180px;
    padding: 8px;
    overflow: hidden;
}
.header .primary-header-inner .header-menu-wrap ul li .sub-menu li a {
    border-radius: var(--r-sm);
    padding: 9px 14px;
    font-size: 13px;
    color: var(--text-secondary);
}
.header .primary-header-inner .header-menu-wrap ul li .sub-menu li a:hover {
    color: var(--gold) !important;
    background: rgba(234,170,63,0.1);
    padding-left: 18px;
}

/* Nav CTA */
.header-nav-cta {
    display: flex;
    align-items: center;
    gap: 12px;
}
.header-nav-cta .nav-cta-btn {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 9px 20px;
    background: var(--gold);
    color: #0d1117 !important;
    font-size: 13px;
    font-weight: 700;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    border-radius: var(--r-pill);
    transition: var(--ease-fast);
    white-space: nowrap;
    border: none;
}
.header-nav-cta .nav-cta-btn:hover {
    background: var(--gold-light);
    transform: translateY(-1px);
    box-shadow: var(--shadow-gold);
}

/* ─────────────────────────────────────────────────────────────
   DROPDOWN MENU — Dark theme overrides
   Fixes white bg flash & invisible text in dark/ocean/forest/purple
   ───────────────────────────────────────────────────────────── */
/* Dropdown panel background */
.header .primary-header-inner .header-menu-wrap ul li ul {
    top: 55px !important;
    background-color: var(--bg-card) !important;
    border: 1px solid var(--border-mid) !important;
    border-top: 2px solid var(--gold) !important;
    box-shadow: 0 16px 48px rgba(0,0,0,0.55) !important;
    border-radius: 0 0 var(--r-md) var(--r-md) !important;
    overflow: hidden !important;
}

/* Dropdown item link */
.header .primary-header-inner .header-menu-wrap ul li li a {
    background-color: var(--bg-card) !important;
    color: var(--text-secondary) !important;
    font-size: 13px !important;
    letter-spacing: 0.03em !important;
    padding: 14px 20px 14px 20px !important;
    transition: background 0.2s ease, color 0.2s ease, padding-left 0.2s ease !important;
}

/* Item separator */
.header .primary-header-inner .header-menu-wrap ul li li:not(:last-of-type) {
    border-bottom-color: var(--border-subtle) !important;
}

/* Hover state — gold accent */
.header .primary-header-inner .header-menu-wrap ul li li:hover {
    background-color: var(--bg-card-hover) !important;
}
.header .primary-header-inner .header-menu-wrap ul li li:hover a {
    background-color: var(--bg-card-hover) !important;
    color: var(--gold) !important;
    padding-left: 26px !important;
}

/* Active (current page) dropdown item */
.header .primary-header-inner .header-menu-wrap ul li li.active a {
    color: var(--gold) !important;
}

/* Left accent bar on hover (::before in main.css) */
.header .primary-header-inner .header-menu-wrap ul li li a::before {
    background-color: var(--gold) !important;
    width: 3px !important;
}

/* ─────────────────────────────────────────────────────────────
   HERO SLIDER — Full-screen home banner
   ───────────────────────────────────────────────────────────── */

/* ── Reset ALL main.css conflicts ───────────────────────────── */

/* 1. hero-content padding */
.ts-hero-section .hero-content,
.ts-hero-section .hero-content-wrap {
    padding: 0 !important;
    max-width: 100% !important;
    margin-bottom: 0 !important;
}

/* 2. slider-item — must not clip or restrict height */
.ts-hero-section .slider-item {
    overflow: hidden !important;
    z-index: 1 !important;
    height: 100% !important;
    width: 100% !important;
    position: relative !important;
}

/* 3. slide-img-wrap — override main.css fixed px heights at ALL breakpoints */
.ts-hero-section .slide-img-wrap,
.ts-hero-section .slider-item .slide-img-wrap {
    position: absolute !important;
    top: 0 !important;
    left: 0 !important;
    right: 0 !important;
    bottom: 0 !important;
    width: 100% !important;
    height: 100% !important;
}
@media only screen and (max-width: 992px) {
    .ts-hero-section .slider-item .slide-img-wrap {
        height: 100% !important;
    }
}
@media only screen and (max-width: 767px) {
    .ts-hero-section .slider-item .slide-img-wrap {
        height: 100% !important;
    }
}

/* 4. The image itself */
.ts-hero-section .slide-img-wrap img,
.ts-hero-section .slide-img-wrap .slide-img {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
    object-position: center center !important;
    display: block !important;
    position: absolute !important;
    top: 0 !important;
    left: 0 !important;
}

/* 5. Kill the gold background box on .title from main.css */
.ts-hero-section .hero-content .title::before {
    display: none !important;
    content: none !important;
}

/* 6. Kill main.css .sub-title and .title font sizes */
.ts-hero-section .hero-content .sub-title {
    font-size: inherit !important;
    background: none !important;
}
.ts-hero-section .hero-content .title {
    font-size: inherit !important;
    display: block !important;
    position: static !important;
}

/* 7. Slider-content-wrap — kill main.css top:50% transform */
.ts-hero-section .slider-content-wrap {
    top: 0 !important;
    transform: none !important;
}

/* ── Section wrapper ── */
.ts-hero-section {
    position: relative;
    width: 100%;
    overflow: hidden;
}

/* ── Swiper container, wrapper, slides — full viewport height ── */
.ts-hero-section,
.ts-hero-swiper {
    width: 100%;
    height: 100vh;
    min-height: 680px;
}
.ts-hero-swiper .swiper-wrapper,
.ts-hero-swiper .swiper-slide,
.ts-hero-swiper .swiper-slide .ts-hero-slide,
.ts-hero-swiper .swiper-slide .slider-item {
    height: 100% !important;
    width: 100% !important;
}
@supports (height: 100svh) {
    .ts-hero-section,
    .ts-hero-swiper { height: 100svh; }
}

/* ── Each slide ── */
.ts-hero-slide {
    position: relative;
    width: 100%;
    height: 100%;
    overflow: hidden;
}

/* ── Dark gradient overlay ── */
.ts-hero-overlay {
    position: absolute !important;
    inset: 0 !important;
    background: linear-gradient(
        110deg,
        rgba(5,8,14,0.82) 0%,
        rgba(5,8,14,0.55) 50%,
        rgba(5,8,14,0.25) 100%
    ) !important;
    z-index: 2 !important;
    mix-blend-mode: normal !important;
    width: 100% !important;
    height: 100% !important;
    top: 0 !important;
    left: 0 !important;
    opacity: 1 !important;
}

/* ── Bottom vignette — fades into page bg ── */
.ts-hero-vignette {
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    height: 220px;
    background: linear-gradient(to top, #0d1117 0%, transparent 100%);
    z-index: 3;
    pointer-events: none;
}

/* ── Content layer ── */
.ts-hero-content-wrap {
    position: absolute !important;
    inset: 0 !important;
    top: 0 !important;
    left: 0 !important;
    width: 100% !important;
    height: 100% !important;
    display: flex !important;
    align-items: center !important;
    z-index: 10 !important;
    padding-top: 72px !important; /* fixed header offset */
    padding-bottom: 60px !important;
    transform: none !important;
}

/* ── Text block ── */
.ts-hero-content {
    max-width: 700px !important;
    padding: 0 !important;
    margin: 0 !important;
}

/* ── Eyebrow label ── */
.ts-hero-eyebrow {
    display: inline-flex !important;
    align-items: center !important;
    gap: 10px !important;
    font-size: 13px !important;
    font-weight: 700 !important;
    letter-spacing: 4px !important;
    text-transform: uppercase !important;
    color: var(--gold) !important;
    margin-bottom: 20px !important;
    line-height: 1.2 !important;
    white-space: normal !important;
    overflow: visible !important;
}
.ts-hero-eyebrow::before {
    content: '';
    display: inline-block;
    width: 40px;
    height: 2px;
    background: var(--gold);
    border-radius: 2px;
    flex-shrink: 0;
}

/* ── Main heading ── */
.ts-hero-title {
    font-size: clamp(2.8rem, 5.5vw, 5.5rem) !important;
    font-weight: 800 !important;
    line-height: 1.06 !important;
    letter-spacing: -0.025em !important;
    color: #ffffff !important;
    margin-bottom: 36px !important;
    text-shadow: 0 2px 32px rgba(0,0,0,0.55) !important;
}

/* ── CTA buttons ── */
.ts-hero-actions {
    display: flex;
    align-items: center;
    gap: 12px;
    flex-wrap: wrap;
}
.ts-hero-btn-primary {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 14px 28px;
    background: var(--gold);
    color: #0d1117 !important;
    font-size: 12.5px;
    font-weight: 700;
    letter-spacing: 0.05em;
    text-transform: uppercase;
    border-radius: var(--r-pill);
    text-decoration: none;
    transition: var(--ease-fast);
    box-shadow: 0 8px 24px rgba(234,170,63,0.38);
    white-space: nowrap;
}
.ts-hero-btn-primary:hover {
    background: var(--gold-light);
    transform: translateY(-2px);
    box-shadow: 0 12px 32px rgba(234,170,63,0.50);
    color: #0d1117 !important;
}
.ts-hero-btn-outline {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 13px 26px;
    background: rgba(255,255,255,0.08);
    color: #ffffff !important;
    font-size: 12.5px;
    font-weight: 600;
    letter-spacing: 0.05em;
    text-transform: uppercase;
    border-radius: var(--r-pill);
    border: 1.5px solid rgba(255,255,255,0.42);
    text-decoration: none;
    transition: var(--ease-fast);
    backdrop-filter: blur(6px);
    white-space: nowrap;
}
.ts-hero-btn-outline:hover {
    background: rgba(255,255,255,0.16);
    border-color: rgba(255,255,255,0.80);
    transform: translateY(-2px);
    color: #ffffff !important;
}

/* ── Navigation arrows — bottom-right ── */
/* Override main.css: .runok-slider-2 .slider-arrow { display:none } at ≤992px */
.ts-hero-section .runok-slider-2 .slider-arrow,
.ts-hero-arrows {
    display: flex !important;
    position: absolute !important;
    bottom: 40px !important;
    right: 48px !important;
    top: auto !important;
    left: auto !important;
    gap: 10px !important;
    z-index: 20 !important;
    transform: none !important;
    align-items: center !important;
}
/* Override main.css: top:50%, left:100px, width/height:100px on .slider-nav */
.ts-hero-arrows .slider-nav,
.ts-hero-section .slider-arrow .slider-nav {
    width: 50px !important;
    height: 50px !important;
    border-radius: 50% !important;
    background: rgba(255,255,255,0.10) !important;
    border: 1.5px solid rgba(255,255,255,0.28) !important;
    backdrop-filter: blur(8px) !important;
    color: #fff !important;
    font-size: 15px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    cursor: pointer !important;
    transition: background 0.2s ease, border-color 0.2s ease, transform 0.2s ease !important;
    /* Kill main.css absolute positioning */
    position: relative !important;
    top: auto !important;
    left: auto !important;
    right: auto !important;
    bottom: auto !important;
    transform: none !important;
}
.ts-hero-arrows .slider-nav:hover,
.ts-hero-section .slider-arrow .slider-nav:hover {
    background: var(--gold) !important;
    border-color: var(--gold) !important;
    color: #0d1117 !important;
    transform: scale(1.08) !important;
}

/* ── Pagination dots — bottom-centre ── */
.ts-hero-pagination {
    position: absolute !important;
    bottom: 48px !important;
    left: 50% !important;
    right: auto !important;
    transform: translateX(-50%) !important;
    width: auto !important;
    z-index: 20 !important;
    display: flex !important;
    gap: 8px;
}
.ts-hero-pagination .swiper-pagination-bullet {
    width: 8px !important;
    height: 8px !important;
    border-radius: 50% !important;
    background: rgba(255,255,255,0.40) !important;
    opacity: 1 !important;
    transition: all 0.3s ease !important;
    margin: 0 !important;
}
.ts-hero-pagination .swiper-pagination-bullet-active {
    background: var(--gold) !important;
    width: 24px !important;
    border-radius: 4px !important;
}

/* ── Tablet (≤991px) ──────────────────────────────────────── */
@media (max-width: 991px) {
    .ts-hero-section,
    .ts-hero-swiper { min-height: 600px; }
    .ts-hero-swiper .swiper-wrapper,
    .ts-hero-swiper .swiper-slide,
    .ts-hero-swiper .swiper-slide .ts-hero-slide,
    .ts-hero-swiper .swiper-slide .slider-item { height: 100% !important; }

    .ts-hero-content { max-width: 100% !important; }
    .ts-hero-content-wrap {
        padding-top: 72px !important;
        padding-bottom: 90px !important;
    }
    .ts-hero-title { font-size: clamp(2rem, 5vw, 3rem) !important; margin-bottom: 24px !important; }
    .ts-hero-arrows { bottom: 28px !important; right: 24px !important; }
    .ts-hero-arrows .slider-nav { width: 44px !important; height: 44px !important; }
    .ts-hero-pagination { bottom: 34px !important; }
    .ts-hero-vignette { height: 160px; }
}

/* ── Mobile (≤767px) ──────────────────────────────────────── */
@media (max-width: 767px) {
    .ts-hero-section,
    .ts-hero-swiper { min-height: 520px; }
    .ts-hero-swiper .swiper-wrapper,
    .ts-hero-swiper .swiper-slide,
    .ts-hero-swiper .swiper-slide .ts-hero-slide,
    .ts-hero-swiper .swiper-slide .slider-item { height: 100% !important; }
    /* Hard-override main.css fixed height on mobile */
    .ts-hero-section .slider-item .slide-img-wrap { height: 100% !important; }

    /* Uniform overlay — readable from top to bottom */
    .ts-hero-overlay {
        background: rgba(5,8,14,0.62) !important;
    }

    /* Keep content centred vertically inside the banner */
    .ts-hero-content-wrap {
        padding-top: 72px !important;   /* header height */
        padding-bottom: 72px !important;
        align-items: center !important;
    }

    .ts-hero-content {
        max-width: 100% !important;
        text-align: left !important;
    }

    .ts-hero-eyebrow {
        font-size: 9.5px !important;
        letter-spacing: 2px !important;
        margin-bottom: 12px !important;
        gap: 8px !important;
    }
    .ts-hero-eyebrow::before { width: 18px; }

    .ts-hero-title {
        font-size: clamp(1.6rem, 7.5vw, 2.4rem) !important;
        margin-bottom: 20px !important;
        line-height: 1.12 !important;
    }

    .ts-hero-btn-primary,
    .ts-hero-btn-outline { font-size: 11.5px; padding: 11px 20px; }
    .ts-hero-actions { gap: 8px; }

    /* Move arrows above the pagination so they don't overlap text */
    .ts-hero-arrows { bottom: 16px !important; right: 14px !important; gap: 8px; }
    .ts-hero-arrows .slider-nav { width: 38px !important; height: 38px !important; font-size: 13px !important; }
    .ts-hero-pagination { bottom: 20px !important; }
    .ts-hero-vignette { height: 100px; }
}

/* ── Small mobile (≤479px) ────────────────────────────────── */
@media (max-width: 479px) {
    .ts-hero-section,
    .ts-hero-swiper { min-height: 480px; }
    .ts-hero-swiper .swiper-wrapper,
    .ts-hero-swiper .swiper-slide,
    .ts-hero-swiper .swiper-slide .ts-hero-slide,
    .ts-hero-swiper .swiper-slide .slider-item { height: 100% !important; }
    .ts-hero-section .slider-item .slide-img-wrap { height: 100% !important; }

    .ts-hero-content-wrap {
        padding-top: 64px !important;
        padding-bottom: 64px !important;
        align-items: center !important;
    }

    .ts-hero-title {
        font-size: clamp(1.4rem, 8.5vw, 2rem) !important;
        margin-bottom: 16px !important;
    }
    .ts-hero-eyebrow { font-size: 9px !important; letter-spacing: 1.5px !important; }
    .ts-hero-btn-primary { padding: 10px 18px; font-size: 11px; }
    .ts-hero-btn-outline { padding: 9px 16px; font-size: 11px; }
    .ts-hero-arrows .slider-nav { width: 34px !important; height: 34px !important; font-size: 12px !important; }
    .ts-hero-vignette { height: 80px; }
}

/* ─────────────────────────────────────────────────────────────
   PAGE HEADER — Section banners for inner pages
   ───────────────────────────────────────────────────────────── */
.page-header {
    position: relative;
    overflow: hidden;
    background: linear-gradient(135deg, #0a0f16 0%, #111a26 50%, #0d1520 100%);
}
.page-header::before {
    content: '';
    position: absolute;
    inset: 0;
    background:
        radial-gradient(ellipse 60% 80% at 20% 50%, rgba(234,170,63,0.06) 0%, transparent 70%),
        radial-gradient(ellipse 40% 60% at 80% 20%, rgba(63,136,197,0.06) 0%, transparent 70%);
    pointer-events: none;
}
.page-header::after {
    content: '';
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    height: 3px;
    background: linear-gradient(90deg, transparent 0%, var(--gold) 30%, var(--blue) 70%, transparent 100%);
}
.page-header .overlay {
    display: none;
}
.page-header .shapes {
    opacity: 0.04;
}

.page-header-content {
    position: relative;
    z-index: 2;
    padding: 140px 0 72px !important;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 12px;
}
.page-header-content .title {
    color: var(--text-primary) !important;
    margin-bottom: 0;
    text-shadow: 0 2px 20px rgba(0,0,0,0.4);
    width: 100%;
}
.page-header-content .sub-title {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    background: rgba(255,255,255,0.06);
    border: 1px solid var(--border-mid);
    border-radius: var(--r-pill);
    padding: 6px 20px;
    font-size: 13px !important;
    font-weight: 500;
    width: auto;
}
.page-header-content .sub-title .home {
    color: var(--gold) !important;
}
.page-header-content .sub-title span {
    width: 4px;
    height: 4px;
    background: var(--gold);
    border-radius: 50%;
    display: inline-block;
}
.page-header-content .sub-title .inner-page {
    color: var(--text-secondary);
}

/* ─────────────────────────────────────────────────────────────
   SECTION HEADING — Reusable component
   ───────────────────────────────────────────────────────────── */
.ts-section-heading {
    margin-bottom: var(--space-lg);
}
.ts-section-heading .ts-eyebrow {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 3px;
    text-transform: uppercase;
    color: var(--gold);
    margin-bottom: 14px;
}
.ts-section-heading .ts-eyebrow::before,
.ts-section-heading .ts-eyebrow::after {
    content: '';
    display: inline-block;
    width: 24px;
    height: 1.5px;
    background: var(--gold);
    border-radius: 2px;
    opacity: 0.7;
}
.ts-section-heading.text-center .ts-eyebrow {
    justify-content: center;
}
.ts-section-heading .ts-title {
    color: var(--text-primary);
    margin-bottom: 16px;
}
.ts-section-heading .ts-desc {
    color: var(--text-secondary);
    font-size: 15px;
    line-height: 1.8;
    max-width: 560px;
}
.ts-section-heading.text-center .ts-desc {
    margin-left: auto;
    margin-right: auto;
}

/* ─────────────────────────────────────────────────────────────
   HOME — About & Who We Are sections
   ───────────────────────────────────────────────────────────── */
.ts-about-section {
    position: relative;
}
.ts-about-img-wrap {
    position: relative;
    width: 100%;
}
.ts-about-img-wrap img {
    width: 100%;
    height: auto;
    aspect-ratio: 4 / 3;
    object-fit: cover;
    display: block;
    border-radius: var(--r-xl);
    box-shadow: var(--shadow-lg), 0 0 0 1px var(--border-gold);
    transition: var(--ease-slow);
}
.ts-about-img-wrap:hover img {
    box-shadow: var(--shadow-gold-lg), 0 0 0 1px var(--border-gold-hover);
}

.ts-about-content {
    display: flex;
    flex-direction: column;
    justify-content: center;
    height: 100%;
}
.ts-about-content .ts-section-heading {
    margin-bottom: 24px;
}
.ts-about-content p {
    color: var(--text-secondary);
    font-size: 15px;
    line-height: 1.85;
    margin-bottom: 16px;
}
.ts-about-content p:last-of-type {
    margin-bottom: 0;
}


/* ─────────────────────────────────────────────────────────────
   HOME — Mission/Vision tabs section
   ───────────────────────────────────────────────────────────── */
.ts-vision-section {
    background: linear-gradient(135deg, var(--bg-alt) 0%, var(--bg-section) 100%);
    position: relative;
    overflow: hidden;
}
.ts-vision-section::before {
    content: '';
    position: absolute;
    top: -40%;
    right: -10%;
    width: 600px;
    height: 600px;
    background: radial-gradient(circle, rgba(234,170,63,0.04) 0%, transparent 70%);
    pointer-events: none;
}

.ts-tab-nav {
    display: flex;
    gap: 6px;
    margin-bottom: 32px;
    background: var(--surface-1);
    border: 1px solid var(--border-subtle);
    border-radius: var(--r-pill);
    padding: 5px;
    width: fit-content;
}
.ts-tab-nav .nav-link {
    font-size: 12px;
    font-weight: 700;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    padding: 9px 20px;
    border-radius: var(--r-pill);
    border: none !important;
    background: transparent !important;
    color: var(--text-muted) !important;
    transition: var(--ease-fast);
}
.ts-tab-nav .nav-link.active,
.ts-tab-nav .nav-link:hover {
    background: var(--gold) !important;
    color: #0d1117 !important;
    box-shadow: var(--shadow-gold);
}

.ts-tab-content-inner {
    padding: 4px 0;
}
.ts-tab-content-inner .tab-statement {
    font-size: clamp(1.05rem, 2.2vw, 1.35rem);
    font-weight: 500;
    line-height: 1.72;
    color: var(--text-primary);
    margin-bottom: 24px;
    letter-spacing: -0.01em;
    font-style: italic;
}
.ts-tab-content-inner .read-more {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    font-size: 13px;
    font-weight: 700;
    letter-spacing: 0.05em;
    text-transform: uppercase;
    color: var(--gold);
    transition: var(--ease-fast);
}
.ts-tab-content-inner .read-more i {
    transition: transform 0.22s ease;
}
.ts-tab-content-inner .read-more:hover {
    color: var(--gold-light);
}
.ts-tab-content-inner .read-more:hover i {
    transform: translateX(4px);
}

/* Vision images */
.ts-vision-images {
    position: relative;
    padding: 20px 20px 20px 0;
}
.ts-vision-images .img-primary {
    width: 72%;
    border-radius: var(--r-lg);
    box-shadow: var(--shadow-lg);
    position: relative;
    z-index: 2;
}
.ts-vision-images .img-secondary {
    width: 52%;
    border-radius: var(--r-lg);
    box-shadow: var(--shadow-lg);
    position: absolute;
    bottom: 0;
    right: 0;
    z-index: 3;
    border: 4px solid var(--bg-section);
}
.ts-vision-images .img-decoration {
    position: absolute;
    top: -10px;
    right: 30px;
    width: 80px;
    height: 80px;
    border-radius: var(--r-lg);
    background: var(--gold);
    opacity: 0.08;
    z-index: 1;
}

/* ─────────────────────────────────────────────────────────────
   HOME — Solutions carousel
   ───────────────────────────────────────────────────────────── */
.ts-solutions-section {
    position: relative;
}
.ts-solutions-head {
    display: flex;
    flex-direction: column;
    align-items: center;
    margin-bottom: var(--space-lg);
    gap: 16px;
}
.ts-solutions-head .ts-section-heading {
    margin-bottom: 0;
    text-align: center;
}

/* ─────────────────────────────────────────────────────────────
   HOME — Equipment grid section
   ───────────────────────────────────────────────────────────── */
.ts-equipment-section {
    background: linear-gradient(180deg, var(--bg-base) 0%, var(--bg-alt) 100%);
}

/* ─────────────────────────────────────────────────────────────
   HOME — Testimonials / Quotes
   ───────────────────────────────────────────────────────────── */
.ts-quotes-section {
    position: relative;
    background: linear-gradient(160deg, var(--bg-section) 0%, var(--bg-alt) 100%);
    overflow: hidden;
}
/* Giant decorative quote watermark */
.ts-quotes-section::before {
    content: '\201C';
    position: absolute;
    top: -20px;
    right: 4%;
    font-size: 320px;
    font-weight: 900;
    color: var(--gold);
    opacity: 0.035;
    line-height: 1;
    pointer-events: none;
    font-family: Georgia, serif;
    user-select: none;
}

/* Swiper wrapper — must clip overflow */
.ts-quotes-swiper-wrap {
    position: relative;
}
.ts-quotes-swiper {
    overflow: hidden;
}

/* ── Quote card ── */
.ts-qcard {
    background: var(--bg-card);
    border: 1px solid var(--border-subtle);
    border-radius: 16px;
    padding: 28px 28px 24px;
    display: flex;
    flex-direction: column;
    gap: 18px;
    position: relative;
    transition: transform 0.3s ease, box-shadow 0.3s ease, border-color 0.3s ease;
    /* gold left accent bar */
    border-left: 3px solid var(--gold);
    height: 100%;
}
.ts-qcard:hover {
    transform: translateY(-5px);
    box-shadow: 0 16px 48px rgba(0,0,0,0.25), 0 0 0 1px var(--border-gold);
    border-left-color: var(--gold);
}

/* Opening quote SVG icon */
.ts-qcard__top {
    display: flex;
    align-items: flex-start;
}
.ts-qcard__qdot {
    width: 28px;
    height: 22px;
    color: var(--gold);
    opacity: 0.8;
    flex-shrink: 0;
}

/* Quote body text */
.ts-qcard__text {
    font-size: 15px;
    line-height: 1.8;
    font-style: italic;
    color: var(--text-secondary);
    margin: 0;
    flex: 1;
}

/* Author row */
.ts-qcard__author {
    display: flex;
    align-items: center;
    gap: 12px;
    padding-top: 18px;
    border-top: 1px solid var(--border-subtle);
    margin-top: auto;
}
.ts-qcard__avatar-wrap {
    width: 54px;
    height: 54px;
    border-radius: 50%;
    flex-shrink: 0;
    overflow: hidden;
    border: 2px solid var(--gold);
    background: var(--bg-alt);
}
.ts-qcard__avatar {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}
.ts-qcard__info {
    display: flex;
    flex-direction: column;
    gap: 3px;
}
.ts-qcard__name {
    font-size: 14px;
    font-weight: 700;
    color: var(--text-primary);
    line-height: 1.2;
}
.ts-qcard__role {
    font-size: 12px;
    font-weight: 500;
    color: var(--gold);
    letter-spacing: 0.5px;
    opacity: 0.85;
}

/* Swiper pagination dots */
.ts-quotes-pagination {
    text-align: center;
    margin-top: 28px;
}
.ts-quotes-pagination .swiper-pagination-bullet {
    width: 8px;
    height: 8px;
    background: var(--border-subtle);
    opacity: 1;
    border-radius: 50%;
    margin: 0 4px;
    transition: all 0.3s ease;
    display: inline-block;
}
.ts-quotes-pagination .swiper-pagination-bullet-active {
    background: var(--gold);
    width: 24px;
    border-radius: 4px;
}

/* Theme overrides for quote cards */
html[data-theme="light"] .ts-qcard {
    background: #ffffff;
    border-color: #e2e6eb;
    border-left-color: var(--gold);
    box-shadow: 0 2px 12px rgba(0,0,0,0.06);
}
html[data-theme="light"] .ts-qcard__text  { color: #555; }
html[data-theme="light"] .ts-qcard__name  { color: #1a1a2e; }
html[data-theme="light"] .ts-qcard__author { border-top-color: #e2e6eb; }

/* ─────────────────────────────────────────────────────────────
   HOME — Partners / Clients
   ───────────────────────────────────────────────────────────── */
.sponsor-section-6 .sponsor-card img {
    opacity: 0.85;
    transition: opacity 0.3s ease, transform 0.3s ease;
}
.sponsor-section-6 .sponsor-card:hover img {
    opacity: 1;
    transform: scale(1.06);
}

/* ═════════════════════════════════════════════════════════════
   SPORTS SOLUTIONS PAGE
   ═════════════════════════════════════════════════════════════ */

/* Intro — 50/50 image */
.ts-sol-img-wrap {
    position: relative;
    border-radius: 16px;
    overflow: hidden;
    box-shadow: 0 24px 64px rgba(0,0,0,0.4);
    height: 100%;
    min-height: 480px;
    width: 100%;
}
.ts-sol-img-wrap img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    position: absolute;
    inset: 0;
}
.ts-sol-img-badge {
    position: absolute;
    bottom: 20px;
    right: 20px;
    background: var(--gold);
    color: #000;
    padding: 10px 16px;
    border-radius: 10px;
    display: flex;
    align-items: center;
    gap: 8px;
    font-weight: 700;
    font-size: 13px;
    box-shadow: 0 8px 24px rgba(0,0,0,0.3);
    z-index: 2;
}
.ts-sol-img-badge i { font-size: 18px; }

.ts-sol-intro-content { padding-left: 8px; }
.ts-sol-features {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 10px;
    margin-top: 20px;
}
.ts-sol-feature-item {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 11px 14px;
    background: var(--bg-card);
    border: 1px solid var(--border-subtle);
    border-radius: 10px;
    font-size: 13px;
    font-weight: 600;
    color: var(--text-primary);
    transition: var(--ease);
}
.ts-sol-feature-item:hover { border-color: var(--border-gold); background: var(--bg-card-hover); }
.ts-sol-feature-item i { color: var(--gold); font-size: 15px; flex-shrink: 0; }

/* Solutions — 50/50 alternating cards */
.ts-sol-card {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 0;
    background: var(--bg-card);
    border: 1px solid var(--border-subtle);
    border-radius: 20px;
    overflow: hidden;
    margin-bottom: 32px;
    transition: var(--ease);
    min-height: 420px;
}
.ts-sol-card:hover {
    border-color: var(--border-gold);
    box-shadow: 0 16px 48px rgba(0,0,0,0.25);
    transform: translateY(-4px);
}
.ts-sol-card--reverse .ts-sol-card__thumb { order: 2; }
.ts-sol-card--reverse .ts-sol-card__body  { order: 1; }

.ts-sol-card__thumb {
    position: relative;
    overflow: hidden;
}
.ts-sol-card__img-wrap {
    position: absolute;
    inset: 0;
}
.ts-sol-card__img-wrap img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 0.6s ease;
}
.ts-sol-card:hover .ts-sol-card__img-wrap img { transform: scale(1.05); }
.ts-sol-card__num {
    position: absolute;
    bottom: 16px;
    left: 16px;
    font-size: 56px;
    font-weight: 900;
    color: rgba(255,255,255,0.1);
    line-height: 1;
    pointer-events: none;
    font-style: italic;
}

.ts-sol-card__body {
    padding: 36px 40px;
    display: flex;
    flex-direction: column;
    justify-content: center;
    gap: 14px;
}
.ts-sol-card__title {
    font-size: clamp(1.1rem, 1.8vw, 1.35rem);
    font-weight: 700;
    color: var(--text-primary);
    margin: 0 0 4px;
    padding-bottom: 14px;
    border-bottom: 2px solid var(--gold);
    align-self: flex-start;
}
.ts-sol-card__desc {
    color: var(--text-secondary);
    font-size: 14px;
    line-height: 1.8;
    overflow: hidden;
    display: -webkit-box;
    -webkit-line-clamp: 4;
    line-clamp: 4;
    -webkit-box-orient: vertical;
}
.ts-sol-card__desc.ts-expandable--open {
    display: block;
    -webkit-line-clamp: unset;
    line-clamp: unset;
    overflow: visible;
}
.ts-sol-card__actions {
    display: flex;
    align-items: center;
    gap: 10px;
    flex-wrap: wrap;
    margin-top: 4px;
}
.ts-sol-card__desc ul,
.ts-sol-card__desc ol { list-style: none; padding: 0; margin: 6px 0 0; counter-reset: ts-sol-ol; }
.ts-sol-card__desc ol li::before {
    counter-increment: ts-sol-ol;
    content: counter(ts-sol-ol) ".";
    font-family: inherit;
    font-weight: 700;
    font-size: 11px;
    color: var(--gold);
    position: absolute;
    left: 0; top: 7px;
}
.ts-sol-card__desc ul li,
.ts-sol-card__desc ol li {
    padding: 5px 0 5px 22px;
    position: relative;
    font-size: 13.5px;
    color: var(--text-secondary);
    border-bottom: 1px solid var(--border-subtle);
}
.ts-sol-card__desc ul li:last-child,
.ts-sol-card__desc ol li:last-child { border-bottom: none; }
.ts-sol-card__desc ul li::before {
    content: '\f356';
    font-family: "Font Awesome 6 Pro";
    font-weight: 700;
    font-size: 11px;
    position: absolute;
    left: 0; top: 7px;
    color: var(--gold);
}
.ts-sol-card__btn {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    margin-top: 6px;
    padding: 10px 22px;
    border-radius: 8px;
    background: transparent;
    border: 1px solid var(--border-gold);
    color: var(--gold);
    font-size: 13px;
    font-weight: 600;
    text-decoration: none;
    transition: var(--ease);
    align-self: flex-start;
}
.ts-sol-card__btn:hover { background: var(--gold); color: #000; }

/* Solution row divider */
.ts-sol-divider {
    display: flex;
    align-items: center;
    gap: 14px;
    margin: 0 0 32px;
}
/* Span full width when inside a CSS grid (events/equipments) */
.ts-grid-divider {
    grid-column: 1 / -1;
    margin: 8px 0;
}
.ts-sol-divider__line {
    flex: 1;
    border-top: 3px dashed var(--gold);
    opacity: 0.45;
}
.ts-sol-divider__icon {
    color: var(--gold);
    font-size: 14px;
    flex-shrink: 0;
    line-height: 1;
}

@media (max-width: 991px) {
    .ts-sol-card, .ts-sol-card--reverse { grid-template-columns: 1fr; min-height: auto; }
    .ts-sol-card__desc { -webkit-line-clamp: 5; line-clamp: 5; }
    .ts-sol-card--reverse .ts-sol-card__thumb { order: 0; }
    .ts-sol-card--reverse .ts-sol-card__body  { order: 0; }
    .ts-sol-card__thumb { height: 260px; }
    .ts-sol-card__img-wrap { position: relative; height: 260px; }
    .ts-sol-card__body { padding: 26px; }
    .ts-sol-img-wrap { min-height: 300px; }
    .ts-sol-intro-content { padding-left: 0; }
}
@media (max-width: 575px) {
    .ts-sol-features { grid-template-columns: 1fr; }
    .ts-sol-card__body { padding: 20px; }
    .ts-sol-card__thumb { height: 220px; }
}

/* ═════════════════════════════════════════════════════════════
   EVENTS & EQUIPMENT — Shared 4-col grid + expand pattern
   ═════════════════════════════════════════════════════════════ */

/* 3-col grid */
.ts-page-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 24px;
    align-items: start;
}

/* Card — fixed image height, body stretches */
.ts-page-card {
    background: var(--bg-card);
    border: 1px solid var(--border-subtle);
    border-radius: 16px;
    overflow: hidden;
    display: flex;
    flex-direction: column;
    transition: var(--ease);
}
.ts-page-card:hover {
    border-color: var(--border-gold);
    box-shadow: 0 16px 40px rgba(0,0,0,0.28);
    transform: translateY(-4px);
}

/* Image — fixed 200px, never grows */
.ts-page-card__thumb {
    position: relative;
    overflow: hidden;
    height: 200px;
    flex-shrink: 0;
}
.ts-page-card__thumb img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    transition: transform 0.6s ease;
}
.ts-page-card:hover .ts-page-card__thumb img { transform: scale(1.07); }
.ts-page-card__overlay {
    position: absolute;
    inset: 0;
    background: linear-gradient(to top, rgba(0,0,0,0.5) 0%, transparent 55%);
}
.ts-page-card__badge {
    position: absolute;
    top: 12px;
    left: 12px;
    background: var(--gold);
    color: #000;
    padding: 4px 10px;
    border-radius: 20px;
    font-size: 11px;
    font-weight: 700;
    display: flex;
    align-items: center;
    gap: 5px;
}

/* Body */
.ts-page-card__body {
    padding: 20px 20px 18px;
    display: flex;
    flex-direction: column;
    gap: 10px;
    flex: 1;
}
.ts-page-card__title {
    font-size: 0.95rem;
    font-weight: 700;
    color: var(--text-primary);
    margin: 0;
    line-height: 1.4;
    padding-bottom: 10px;
    border-bottom: 1px solid var(--border-subtle);
}

/* Expandable description — clamped by default */
.ts-expandable {
    color: var(--text-secondary);
    font-size: 13px;
    line-height: 1.75;
    overflow: hidden;
    display: -webkit-box;
    -webkit-line-clamp: 3;
    line-clamp: 3;
    -webkit-box-orient: vertical;
    transition: max-height 0.4s ease;
}
.ts-expandable.ts-expandable--open {
    display: block;
    -webkit-line-clamp: unset;
    overflow: visible;
}
.ts-expandable ul,
.ts-expandable ol { list-style: none; padding: 0; margin: 4px 0 0; counter-reset: ts-ol; }
.ts-expandable ul li,
.ts-expandable ol li {
    padding: 3px 0 3px 18px;
    position: relative;
    font-size: 12.5px;
    color: var(--text-secondary);
    border-bottom: 1px solid var(--border-subtle);
}
.ts-expandable ul li:last-child,
.ts-expandable ol li:last-child { border-bottom: none; }
.ts-expandable ol li::before {
    counter-increment: ts-ol;
    content: counter(ts-ol) ".";
    font-family: inherit;
    font-weight: 700;
    font-size: 10px;
    color: var(--gold);
    position: absolute;
    left: 0; top: 7px;
}
.ts-expandable ul li::before {
    content: '\f356';
    font-family: "Font Awesome 6 Pro";
    font-weight: 700;
    font-size: 10px;
    position: absolute;
    left: 0; top: 5px;
    color: var(--gold);
}

/* Actions row */
.ts-page-card__actions {
    display: flex;
    align-items: center;
    gap: 10px;
    flex-wrap: wrap;
    margin-top: auto;
    padding-top: 10px;
}

/* Expand toggle button */
.ts-expand-btn {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 7px 14px;
    border-radius: 6px;
    background: transparent;
    border: 1px solid var(--border-gold);
    color: var(--gold);
    font-size: 12px;
    font-weight: 600;
    cursor: pointer;
    transition: var(--ease);
    line-height: 1;
}
.ts-expand-btn:hover { background: var(--gold); color: #000; }

/* External link button */
.ts-page-card__btn {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 7px 14px;
    border-radius: 6px;
    background: var(--gold);
    border: 1px solid var(--gold);
    color: #000;
    font-size: 12px;
    font-weight: 700;
    text-decoration: none;
    transition: var(--ease);
    line-height: 1;
}
.ts-page-card__btn:hover { background: transparent; color: var(--gold); }

/* Responsive */
@media (max-width: 1199px) {
    .ts-page-grid { grid-template-columns: repeat(2, 1fr); gap: 20px; }
}
@media (max-width: 767px) {
    .ts-page-grid { grid-template-columns: repeat(2, 1fr); gap: 16px; }
    .ts-page-card__thumb { height: 180px; }
    .ts-page-card__body { padding: 16px 16px 14px; }
}
@media (max-width: 480px) {
    .ts-page-grid { grid-template-columns: 1fr; gap: 14px; }
}

/* ─────────────────────────────────────────────────────────────
   LISTING CARDS — Events / Solutions / Equipment pages
   ───────────────────────────────────────────────────────────── */
.ts-listing-card {
    display: flex;
    background: var(--bg-card);
    border: 1px solid var(--border-subtle);
    border-radius: var(--r-lg);
    overflow: hidden;
    transition: var(--ease);
    margin-bottom: 24px;
}
.ts-listing-card:hover {
    border-color: var(--border-gold);
    background: var(--bg-card-hover);
    box-shadow: var(--shadow-gold);
    transform: translateY(-4px);
}
.ts-listing-card .card-thumb {
    flex: 0 0 300px;
    width: 300px;
    min-height: 240px;
    overflow: hidden;
    position: relative;
}
.ts-listing-card .card-thumb img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: var(--ease-slow);
}
.ts-listing-card:hover .card-thumb img {
    transform: scale(1.06);
}
.ts-listing-card .card-body {
    flex: 1;
    padding: 32px 36px;
    display: flex;
    flex-direction: column;
    justify-content: center;
    gap: 12px;
}
.ts-listing-card .card-title {
    font-size: clamp(1.05rem, 2vw, 1.3rem);
    font-weight: 700;
    color: var(--text-primary);
    line-height: 1.35;
    margin: 0;
    position: relative;
    padding-bottom: 14px;
    margin-bottom: 2px;
}
.ts-listing-card .card-title::after {
    content: '';
    position: absolute;
    bottom: 0;
    left: 0;
    width: 36px;
    height: 2px;
    background: var(--gold);
    border-radius: 2px;
    transition: width 0.32s ease;
}
.ts-listing-card:hover .card-title::after {
    width: 64px;
}
.ts-listing-card .card-desc {
    color: var(--text-secondary);
    font-size: 14.5px;
    line-height: 1.8;
    flex: 1;
}
.ts-listing-card .card-desc ul {
    list-style: none;
    padding: 0;
    margin: 8px 0 0;
}
.ts-listing-card .card-desc ul li {
    padding: 6px 0 6px 28px;
    position: relative;
    font-size: 14px;
    line-height: 1.7;
    color: var(--text-secondary);
    border-bottom: 1px solid var(--border-subtle);
}
.ts-listing-card .card-desc ul li:last-child {
    border-bottom: none;
}
.ts-listing-card .card-desc ul li::before {
    content: '\f356';
    font-family: "Font Awesome 6 Pro";
    font-weight: 700;
    font-size: 12px;
    position: absolute;
    left: 0;
    top: 8px;
    color: var(--gold);
}
.ts-listing-card .card-action {
    margin-top: 8px;
}

/* ─────────────────────────────────────────────────────────────
   EQUIPMENT GRID — 4 column grid cards
   ───────────────────────────────────────────────────────────── */
.ts-equipment-card {
    display: flex;
    flex-direction: column;
    height: 100%;
    background: var(--bg-card);
    border: 1px solid var(--border-subtle);
    border-radius: var(--r-lg);
    overflow: hidden;
    transition: var(--ease);
    text-decoration: none;
}
.ts-equipment-card:hover {
    border-color: var(--border-gold);
    background: var(--bg-card-hover);
    box-shadow: var(--shadow-gold);
    transform: translateY(-6px);
}
.ts-equipment-card .card-thumb {
    height: 200px;
    overflow: hidden;
    position: relative;
}
.ts-equipment-card .card-thumb img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: var(--ease-slow);
}
.ts-equipment-card:hover .card-thumb img {
    transform: scale(1.07);
}
.ts-equipment-card .card-thumb .card-thumb-overlay {
    position: absolute;
    inset: 0;
    background: linear-gradient(to top, rgba(13,17,23,0.7) 0%, transparent 50%);
    opacity: 0;
    transition: var(--ease);
}
.ts-equipment-card:hover .card-thumb-overlay {
    opacity: 1;
}
.ts-equipment-card .card-body {
    padding: 24px;
    flex: 1;
    display: flex;
    flex-direction: column;
    gap: 10px;
}
.ts-equipment-card .card-title {
    font-size: 1rem;
    font-weight: 700;
    color: var(--text-primary);
    line-height: 1.4;
    margin: 0;
    position: relative;
    padding-bottom: 12px;
}
.ts-equipment-card .card-title::after {
    content: '';
    position: absolute;
    bottom: 0;
    left: 0;
    width: 28px;
    height: 2px;
    background: var(--gold);
    border-radius: 2px;
    transition: width 0.3s ease;
}
.ts-equipment-card:hover .card-title::after {
    width: 48px;
}
.ts-equipment-card .card-desc {
    font-size: 13.5px;
    line-height: 1.75;
    color: var(--text-secondary);
    flex: 1;
}
.ts-equipment-card .card-link {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    font-size: 12px;
    font-weight: 700;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    color: var(--gold);
    margin-top: 4px;
    transition: var(--ease-fast);
}
.ts-equipment-card .card-link i {
    transition: transform 0.22s;
}
.ts-equipment-card:hover .card-link {
    color: var(--gold-light);
}
.ts-equipment-card:hover .card-link i {
    transform: translateX(4px);
}

/* ─────────────────────────────────────────────────────────────
   RESULTS CARDS — Grid of event result cards
   ───────────────────────────────────────────────────────────── */
.ts-result-card {
    background: var(--bg-card);
    border: 1px solid var(--border-subtle);
    border-radius: var(--r-lg);
    padding: 28px;
    height: 100%;
    display: flex;
    flex-direction: column;
    gap: 14px;
    transition: var(--ease);
    position: relative;
    overflow: hidden;
}
.ts-result-card::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: 3px;
    background: linear-gradient(90deg, var(--gold), var(--blue));
    transform: scaleX(0);
    transform-origin: left;
    transition: transform 0.32s ease;
}
.ts-result-card:hover {
    border-color: var(--border-gold);
    background: var(--bg-card-hover);
    box-shadow: var(--shadow-gold);
    transform: translateY(-5px);
}
.ts-result-card:hover::before {
    transform: scaleX(1);
}
.ts-result-card .result-meta {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    align-items: center;
}
.ts-result-card .meta-badge {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    background: rgba(234,170,63,0.1);
    border: 1px solid rgba(234,170,63,0.2);
    color: var(--gold);
    border-radius: var(--r-pill);
    padding: 4px 12px;
    font-size: 11px;
    font-weight: 600;
    letter-spacing: 0.04em;
}
.ts-result-card .meta-badge i {
    font-size: 10px;
}
.ts-result-card .country-badge {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    background: var(--surface-2);
    border: 1px solid var(--border-mid);
    border-radius: var(--r-pill);
    padding: 4px 12px;
    font-size: 12px;
    font-weight: 600;
    color: var(--text-secondary);
}
.ts-result-card .country-badge img {
    width: 20px;
    height: 15px;
    border-radius: 2px;
    object-fit: cover;
    display: inline-block;
    box-shadow: 0 1px 3px rgba(0,0,0,0.3);
}
.ts-result-card .result-title {
    font-size: 1.0625rem;
    font-weight: 700;
    color: var(--text-primary);
    line-height: 1.4;
    margin: 0;
    flex: 1;
}
.ts-result-card .result-desc {
    font-size: 13.5px;
    color: var(--text-secondary);
    line-height: 1.7;
    margin: 0;
}
.ts-result-card .result-action {
    margin-top: auto;
    padding-top: 16px;
    border-top: 1px solid var(--border-subtle);
}

/* ─────────────────────────────────────────────────────────────
   RESULTS VIEW — iframe embed
   ───────────────────────────────────────────────────────────── */
.ts-result-view-section {
    background: var(--bg-base);
}
.ts-iframe-container {
    background: var(--bg-card);
    border: 1px solid var(--border-subtle);
    border-radius: var(--r-xl);
    overflow: hidden;
    box-shadow: var(--shadow-lg);
}
.ts-iframe-container iframe {
    display: block;
    width: 100%;
    border: none;
    min-height: 640px;
}
.ts-result-meta-bar {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 16px 24px;
    background: var(--surface-1);
    border-bottom: 1px solid var(--border-subtle);
    gap: 16px;
    flex-wrap: wrap;
}
.ts-result-meta-bar .meta-title {
    font-size: 15px;
    font-weight: 700;
    color: var(--text-primary);
    margin: 0;
}
.ts-result-meta-bar .meta-back-btn {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    font-size: 12.5px;
    font-weight: 600;
    color: var(--text-secondary);
    padding: 7px 16px;
    background: var(--surface-2);
    border: 1px solid var(--border-mid);
    border-radius: var(--r-pill);
    transition: var(--ease-fast);
}
.ts-result-meta-bar .meta-back-btn:hover {
    color: var(--gold);
    border-color: var(--border-gold);
    background: rgba(234,170,63,0.08);
}
.ts-result-meta-bar .meta-back-btn i {
    transition: transform 0.22s;
}
.ts-result-meta-bar .meta-back-btn:hover i {
    transform: translateX(-3px);
}

/* ─────────────────────────────────────────────────────────────
   CONTACT PAGE — Split layout
   ───────────────────────────────────────────────────────────── */
.ts-contact-section {
    position: relative;
}
.ts-contact-info-panel {
    background: var(--bg-card);
    border: 1px solid var(--border-subtle);
    border-radius: var(--r-xl);
    padding: 40px;
    height: 100%;
}
.ts-contact-item {
    display: flex;
    gap: 18px;
    align-items: flex-start;
    padding: 20px 0;
    border-bottom: 1px solid var(--border-subtle);
}
.ts-contact-item:last-child {
    border-bottom: none;
    padding-bottom: 0;
}
.ts-contact-item:first-child {
    padding-top: 0;
}
.ts-contact-icon {
    width: 48px;
    height: 48px;
    background: rgba(234,170,63,0.1);
    border: 1px solid var(--border-gold);
    border-radius: var(--r-md);
    display: flex;
    align-items: center;
    justify-content: center;
    color: var(--gold);
    font-size: 18px;
    flex-shrink: 0;
    transition: var(--ease-fast);
}
.ts-contact-item:hover .ts-contact-icon {
    background: var(--gold);
    color: #0d1117;
    box-shadow: var(--shadow-gold);
}
.ts-contact-item-body .contact-label {
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color: var(--text-muted);
    margin-bottom: 4px;
}
.ts-contact-item-body .contact-value {
    font-size: 15px;
    font-weight: 500;
    color: var(--text-primary);
    line-height: 1.6;
}
.ts-contact-item-body a {
    color: var(--text-primary);
    transition: var(--ease-fast);
}
.ts-contact-item-body a:hover {
    color: var(--gold);
}

/* Contact Form Panel */
.ts-contact-form-panel {
    background: var(--bg-card);
    border: 1px solid var(--border-subtle);
    border-radius: var(--r-xl);
    padding: 40px;
}
.ts-form-title {
    font-size: 1.25rem;
    font-weight: 700;
    color: var(--text-primary);
    margin-bottom: 6px;
}
.ts-form-subtitle {
    font-size: 14px;
    color: var(--text-secondary);
    margin-bottom: 28px;
}
.ts-form-group {
    margin-bottom: 18px;
}
.ts-form-group label.ts-label {
    display: block;
    font-size: 12px;
    font-weight: 600;
    letter-spacing: 0.05em;
    text-transform: uppercase;
    color: var(--text-secondary);
    margin-bottom: 8px;
}
.ts-form-control {
    width: 100%;
    background: var(--surface-1);
    border: 1px solid var(--border-mid);
    border-radius: var(--r-md);
    padding: 13px 16px;
    font-size: 14.5px;
    color: var(--text-primary);
    font-family: inherit;
    transition: var(--ease-fast);
    outline: none;
}
.ts-form-control::placeholder {
    color: var(--text-muted);
}
.ts-form-control:focus {
    border-color: var(--gold);
    background: rgba(234,170,63,0.04);
    box-shadow: 0 0 0 3px rgba(234,170,63,0.12);
}
.ts-form-control.is-invalid {
    border-color: #e05050 !important;
}
.ts-form-control.is-invalid:focus {
    box-shadow: 0 0 0 3px rgba(224,80,80,0.15) !important;
}
textarea.ts-form-control {
    resize: vertical;
    min-height: 130px;
}

/* Social links in contact panel */
.ts-social-connect {
    margin-top: 28px;
    padding-top: 24px;
    border-top: 1px solid var(--border-subtle);
}
.ts-social-connect .social-label {
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color: var(--text-muted);
    margin-bottom: 14px;
}
.ts-social-links {
    display: flex;
    gap: 10px;
    flex-wrap: wrap;
}
.ts-social-links a {
    width: 40px;
    height: 40px;
    border-radius: var(--r-md);
    background: var(--surface-2);
    border: 1px solid var(--border-mid);
    display: flex;
    align-items: center;
    justify-content: center;
    color: var(--text-secondary);
    font-size: 16px;
    transition: var(--ease-fast);
    text-decoration: none;
}
.ts-social-links a:hover {
    transform: translateY(-2px);
}
.ts-social-links a.ts-linkedin:hover  { background: #0077b5; border-color: #0077b5; color: #fff; box-shadow: 0 6px 16px rgba(0,119,181,0.35); }
.ts-social-links a.ts-facebook:hover  { background: #1877f2; border-color: #1877f2; color: #fff; box-shadow: 0 6px 16px rgba(24,119,242,0.35); }
.ts-social-links a.ts-instagram:hover { background: linear-gradient(45deg,#f09433,#e6683c,#dc2743,#cc2366); border-color: #dc2743; color: #fff; box-shadow: 0 6px 16px rgba(220,39,67,0.35); }
.ts-social-links a.ts-youtube:hover   { background: #ff0000; border-color: #ff0000; color: #fff; box-shadow: 0 6px 16px rgba(255,0,0,0.35); }

/* Map */
.ts-map-section {
    padding: 0 0 80px;
}
.ts-map-wrapper {
    border-radius: var(--r-xl);
    overflow: hidden;
    box-shadow: var(--shadow-lg);
    border: 1px solid var(--border-subtle);
    position: relative;
}
.ts-map-wrapper::before {
    content: 'Our Location';
    position: absolute;
    top: 20px;
    left: 20px;
    z-index: 2;
    background: var(--bg-card);
    border: 1px solid var(--border-gold);
    border-radius: var(--r-pill);
    padding: 8px 18px;
    font-size: 12px;
    font-weight: 700;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    color: var(--gold);
}
.ts-map-wrapper iframe {
    display: block;
    width: 100%;
    filter: grayscale(0.3) contrast(1.1);
    border: none;
}

/* ─────────────────────────────────────────────────────────────
   ABOUT PAGE — Hero about section
   ───────────────────────────────────────────────────────────── */
.ts-about-page-section {
    background: var(--bg-base);
    position: relative;
}
.ts-about-page-section::before {
    content: '';
    position: absolute;
    top: 0;
    right: 0;
    width: 50%;
    height: 100%;
    background: radial-gradient(ellipse at right top, rgba(234,170,63,0.04) 0%, transparent 60%);
    pointer-events: none;
}

/* ─────────────────────────────────────────────────────────────
   SPORTS SOLUTIONS PAGE — About intro block
   ───────────────────────────────────────────────────────────── */
.ts-solution-intro {
    background: linear-gradient(135deg, var(--bg-alt) 0%, var(--bg-section) 100%);
    position: relative;
    overflow: hidden;
}
.ts-solution-intro::before {
    content: '';
    position: absolute;
    bottom: -30%;
    left: -5%;
    width: 500px;
    height: 500px;
    background: radial-gradient(circle, rgba(63,136,197,0.05) 0%, transparent 70%);
    pointer-events: none;
}

/* ─────────────────────────────────────────────────────────────
   PRIMARY BUTTON — Redesigned
   ───────────────────────────────────────────────────────────── */
.rr-primary-btn,
a.rr-primary-btn {
    display: inline-flex !important;
    align-items: center;
    gap: 8px;
    padding: 13px 28px !important;
    background: var(--gold);
    color: #0d1117 !important;
    font-size: 13px !important;
    font-weight: 700 !important;
    letter-spacing: 0.05em;
    text-transform: uppercase;
    border-radius: var(--r-pill) !important;
    border: none;
    cursor: pointer;
    position: relative;
    overflow: hidden;
    transition: var(--ease-fast) !important;
    text-decoration: none;
    line-height: 1 !important;
}
.rr-primary-btn::before {
    content: '';
    position: absolute;
    inset: 0;
    background: linear-gradient(135deg, rgba(255,255,255,0.15), transparent);
    opacity: 0;
    transition: opacity 0.22s ease;
}
.rr-primary-btn:hover {
    background: var(--gold-light) !important;
    transform: translateY(-2px) !important;
    box-shadow: var(--shadow-gold) !important;
    color: #0d1117 !important;
}
.rr-primary-btn:hover::before {
    opacity: 1;
}
.rr-primary-btn i,
.rr-primary-btn svg {
    transition: transform 0.22s ease;
    font-size: 11px;
}
.rr-primary-btn:hover i,
.rr-primary-btn:hover svg {
    transform: translateX(3px);
}

/* Button variants */
.rr-outline-btn {
    display: inline-flex !important;
    align-items: center;
    gap: 8px;
    padding: 12px 26px !important;
    background: transparent;
    color: var(--gold) !important;
    font-size: 13px !important;
    font-weight: 700 !important;
    letter-spacing: 0.05em;
    text-transform: uppercase;
    border-radius: var(--r-pill) !important;
    border: 1.5px solid var(--border-gold);
    transition: var(--ease-fast);
    text-decoration: none;
}
.rr-outline-btn:hover {
    background: var(--gold);
    color: #0d1117 !important;
    border-color: var(--gold);
    box-shadow: var(--shadow-gold);
    transform: translateY(-2px);
}

/* ─────────────────────────────────────────────────────────────
   FOOTER — Modern redesign
   ───────────────────────────────────────────────────────────── */
.ts-footer {
    background: linear-gradient(180deg, #090d13 0%, #060a0f 100%);
    border-top: 1px solid var(--border-subtle);
    position: relative;
    overflow: hidden;
}
.ts-footer::before {
    content: '';
    position: absolute;
    top: 0;
    left: 50%;
    transform: translateX(-50%);
    width: 80%;
    height: 1px;
    background: linear-gradient(90deg, transparent, var(--gold), transparent);
    opacity: 0.4;
}
.ts-footer::after {
    content: '';
    position: absolute;
    bottom: 80px;
    right: -100px;
    width: 400px;
    height: 400px;
    background: radial-gradient(circle, rgba(234,170,63,0.03) 0%, transparent 70%);
    pointer-events: none;
}

.ts-footer-top {
    padding: 72px 0 48px;
}

.ts-footer-brand .footer-logo img {
    height: 60px;
    width: 244px;
    margin-bottom: 20px;
}
.ts-footer-brand p {
    font-size: 13.5px;
    line-height: 1.8;
    color: var(--text-muted);
    max-width: 280px;
    margin-bottom: 24px;
}

.ts-footer-heading {
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 3px;
    text-transform: uppercase;
    color: var(--text-primary);
    margin-bottom: 20px;
    position: relative;
    padding-bottom: 12px;
}
.ts-footer-heading::after {
    content: '';
    position: absolute;
    bottom: 0;
    left: 0;
    width: 24px;
    height: 2px;
    background: var(--gold);
    border-radius: 2px;
}

.ts-footer-links {
    list-style: none;
    padding: 0;
    margin: 0;
    display: flex;
    flex-direction: column;
    gap: 10px;
}
.ts-footer-links li a {
    font-size: 13.5px;
    color: var(--text-muted);
    text-decoration: none;
    display: inline-flex;
    align-items: center;
    gap: 8px;
    transition: var(--ease-fast);
    position: relative;
    padding-left: 0;
}
.ts-footer-links li a::before {
    content: '›';
    font-size: 1.1em;
    font-weight: 700;
    color: var(--gold);
    opacity: 0;
    transform: translateX(-6px);
    transition: var(--ease-fast);
}
.ts-footer-links li a:hover {
    color: var(--gold);
    padding-left: 14px;
}
.ts-footer-links li a:hover::before {
    opacity: 1;
    transform: translateX(0);
}

.ts-footer-contact-list {
    list-style: none;
    padding: 0;
    margin: 0;
    display: flex;
    flex-direction: column;
    gap: 14px;
}
.ts-footer-contact-list li {
    display: flex;
    gap: 12px;
    align-items: flex-start;
}
.ts-footer-contact-list li .fc-icon {
    color: var(--gold);
    font-size: 14px;
    margin-top: 2px;
    flex-shrink: 0;
    width: 16px;
    text-align: center;
}
.ts-footer-contact-list li .fc-text {
    font-size: 13.5px;
    color: var(--text-muted);
    line-height: 1.65;
}
.ts-footer-contact-list li .fc-text a {
    color: var(--text-muted);
    transition: var(--ease-fast);
}
.ts-footer-contact-list li .fc-text a:hover {
    color: var(--gold);
}

/* Social icons */
.ts-footer-social {
    display: flex;
    gap: 8px;
    margin-top: 8px;
}
.ts-footer-social a {
    width: 38px;
    height: 38px;
    border-radius: var(--r-md);
    background: var(--surface-1);
    border: 1px solid var(--border-subtle);
    display: flex;
    align-items: center;
    justify-content: center;
    color: var(--text-muted);
    font-size: 15px;
    text-decoration: none;
    transition: var(--ease-fast);
}
.ts-footer-social a:hover { transform: translateY(-3px); }
.ts-footer-social a.ts-linkedin:hover  { background:#0077b5;border-color:#0077b5;color:#fff;box-shadow:0 6px 16px rgba(0,119,181,0.4);}
.ts-footer-social a.ts-facebook:hover  { background:#1877f2;border-color:#1877f2;color:#fff;box-shadow:0 6px 16px rgba(24,119,242,0.4);}
.ts-footer-social a.ts-instagram:hover { background:linear-gradient(45deg,#f09433,#e6683c,#dc2743,#cc2366);border-color:#dc2743;color:#fff;box-shadow:0 6px 16px rgba(220,39,67,0.4);}
.ts-footer-social a.ts-youtube:hover   { background:#ff0000;border-color:#ff0000;color:#fff;box-shadow:0 6px 16px rgba(255,0,0,0.4);}

/* Footer divider */
.ts-footer-divider {
    border: none;
    border-top: 1px solid var(--border-subtle);
    margin: 0;
}

/* Copyright bar */
.ts-copyright {
    padding: 20px 0;
    background: #060a0f;
    display: block;
    position: relative;
    z-index: 2;
}
.ts-copyright .copyright-text {
    font-size: 12.5px;
    color: var(--text-muted);
    text-align: center;
    margin: 0;
}
.ts-copyright .copyright-text a {
    color: var(--gold);
    text-decoration: none;
}

/* ─────────────────────────────────────────────────────────────
   SECTION BACKGROUNDS
   ───────────────────────────────────────────────────────────── */
.ts-bg-base    { background: var(--bg-base); }
.ts-bg-alt     { background: var(--bg-alt); }
.ts-bg-section { background: var(--bg-section); }

/* ─────────────────────────────────────────────────────────────
   EMPTY STATE
   ───────────────────────────────────────────────────────────── */
.ts-empty-state {
    text-align: center;
    padding: 80px 20px;
    color: var(--text-muted);
    background: var(--surface-1);
    border: 1px dashed var(--border-mid);
    border-radius: var(--r-xl);
    margin: 20px 0;
}
.ts-empty-state i {
    font-size: 52px;
    margin-bottom: 20px;
    opacity: 0.3;
    display: block;
    color: var(--gold);
}
.ts-empty-state h4 {
    font-size: 18px;
    font-weight: 600;
    color: var(--text-secondary);
}

/* ─────────────────────────────────────────────────────────────
   RESPONSIVE — Unified breakpoints
   ───────────────────────────────────────────────────────────── */

/* ── Desktop nav CTA visible only on desktop ─────────────────── */
@media (max-width: 991px) {
    .header-nav-cta { display: none !important; }
}

/* ── Tablet (≤991px) ─────────────────────────────────────────── */
@media (max-width: 991px) {
    /* Page header */
    .page-header-content { padding: 120px 0 60px !important; }

    /* Section heading */
    .ts-section-heading { margin-bottom: 32px; }

    /* Solutions carousel head stack */
    .ts-solutions-head { align-items: center; gap: 12px; }

    /* Listing cards stack vertically */
    .ts-listing-card { flex-direction: column; }
    .ts-listing-card .card-thumb { flex: none; width: 100%; height: 240px; }
    .ts-listing-card .card-body { padding: 24px; }

    /* Contact panels */
    .ts-contact-info-panel,
    .ts-contact-form-panel { padding: 28px; border-radius: var(--r-lg); }

    /* Footer */
    .ts-footer-top { padding: 48px 0 32px; }
    .ts-footer-brand p { max-width: 100%; }

    /* Vision images */
    .ts-vision-images { padding: 10px 0 10px; }
}

/* ── Mobile (≤767px) ─────────────────────────────────────────── */
@media (max-width: 767px) {
    /* Disable deferred rendering size hint on mobile — prevents phantom spacing */
    .ts-sol-card,
    .ts-page-card,
    .ts-result-card,
    .ts-qcard {
        content-visibility: visible;
        contain-intrinsic-size: none;
    }

    /* Quotes section — allow pagination to show, reduce excess bottom space */
    .ts-quotes-section { overflow: visible; }
    .ts-quotes-swiper { overflow: hidden; }
    .ts-quotes-swiper-wrap { padding-bottom: 40px; }
    .ts-quotes-pagination { position: absolute; bottom: 0; left: 0; right: 0; margin-top: 0; }

    /* Page header */
    .page-header-content { padding: 100px 0 52px !important; }

    /* Stats row */
    .ts-stats-row { gap: 16px; flex-wrap: wrap; }
    .ts-stat-item .stat-number { font-size: 1.5rem; }

    /* Tab nav scroll */
    .ts-tab-nav { overflow-x: auto; width: 100%; border-radius: var(--r-lg); }
    .ts-tab-nav .nav-link { padding: 8px 16px; font-size: 11px; white-space: nowrap; }

    /* Vision images */
    .ts-vision-images .img-primary  { width: 80%; }
    .ts-vision-images .img-secondary { width: 48%; bottom: -10px; right: -5px; }

    /* Cards */
    .ts-result-card  { padding: 20px; }
    .ts-qcard        { padding: 22px 22px 20px; gap: 14px; }
    .ts-equipment-card .card-body { padding: 18px; }
    .ts-listing-card .card-body { padding: 20px; }

    /* Contact */
    .ts-contact-info-panel,
    .ts-contact-form-panel { padding: 20px; border-radius: var(--r-md); }
    .ts-contact-item { gap: 14px; }
    .ts-contact-icon { width: 42px; height: 42px; font-size: 16px; }

    /* iframe */
    .ts-iframe-container iframe { min-height: 460px; }
    .ts-result-meta-bar { flex-direction: column; align-items: flex-start; gap: 10px; }

    /* Map label */
    .ts-map-wrapper::before { font-size: 11px; padding: 6px 14px; }

    /* Buttons */
    .rr-primary-btn,
    a.rr-primary-btn { padding: 12px 22px !important; font-size: 12.5px !important; }

    /* Footer social */
    .ts-footer-social a { width: 36px; height: 36px; font-size: 14px; }

    /* About image badge */
    .ts-about-img-wrap .ts-img-badge {
        min-width: 90px;
        padding: 10px 14px;
        right: 8px;
        bottom: 8px;
    }
    .ts-img-badge .badge-number { font-size: 1.5rem; }
    .ts-img-badge .badge-label { font-size: 10px; }
}

/* ── Small mobile (≤479px) ───────────────────────────────────── */
@media (max-width: 479px) {
    /* Page header */
    .page-header-content { padding: 92px 0 44px !important; }

    /* Cards */
    .ts-result-card  { padding: 16px; gap: 10px; }
    .ts-qcard        { padding: 18px 18px 16px; gap: 12px; }
    .ts-listing-card .card-body { padding: 16px; }
    .ts-equipment-card .card-body { padding: 16px; }

    /* Stats */
    .ts-stats-row { flex-direction: column; gap: 12px; padding-top: 20px; margin-top: 20px; }

    /* iframe */
    .ts-iframe-container iframe { min-height: 360px; }

    /* Buttons */
    .rr-primary-btn,
    a.rr-primary-btn { padding: 11px 18px !important; font-size: 12px !important; }

    /* Footer contact */
    .ts-footer-contact-list li .fc-text { font-size: 12.5px; }
    .ts-footer-links li a { font-size: 13px; }

    /* Contact */
    .ts-contact-info-panel,
    .ts-contact-form-panel { padding: 16px; }
    .ts-form-control { padding: 11px 14px; font-size: 14px; }

    /* Map */
    .ts-map-wrapper iframe { height: 300px; }
}

/* ─────────────────────────────────────────────────────────────
   COLOUR THEMES — All ts-* components respond to data-theme
   ───────────────────────────────────────────────────────────── */

/* ── LIGHT theme overrides ────────────────────────────────────── */
html[data-theme="light"] body,
html[data-theme="light"] #smooth-content {
    background-color: #f5f6f8 !important;
}

/* Page sections — light backgrounds */
html[data-theme="light"] .ts-bg-base,
html[data-theme="light"] .ts-result-view-section,
html[data-theme="light"] .ts-about-page-section,
html[data-theme="light"] .ts-solution-intro,
html[data-theme="light"] .ts-contact-section,
html[data-theme="light"] .ts-equipment-section,
html[data-theme="light"] .ts-solutions-section,
html[data-theme="light"] .ts-about-section {
    background: #ffffff !important;
}
html[data-theme="light"] .ts-bg-alt,
html[data-theme="light"] .ts-bg-section,
html[data-theme="light"] .ts-quotes-section,
html[data-theme="light"] .ts-vision-section {
    background: #f0f2f5 !important;
}

/* Section headings text */
html[data-theme="light"] .ts-section-heading .ts-title,
html[data-theme="light"] .ts-section-heading .ts-eyebrow { color: inherit; }
html[data-theme="light"] .ts-section-heading .ts-desc { color: #555; }

/* Cards */
html[data-theme="light"] .ts-sol-card,
html[data-theme="light"] .ts-event-card,
html[data-theme="light"] .ts-equip-card {
    background: #ffffff !important;
    border-color: #dde1e6 !important;
    box-shadow: 0 2px 16px rgba(0,0,0,0.06) !important;
}
html[data-theme="light"] .ts-sol-card__body,
html[data-theme="light"] .ts-event-card__body,
html[data-theme="light"] .ts-equip-card__body { background: #ffffff !important; }
html[data-theme="light"] .ts-sol-card__title,
html[data-theme="light"] .ts-event-card__title,
html[data-theme="light"] .ts-equip-card__title { color: #1a1a2e !important; }
html[data-theme="light"] .ts-sol-card__desc,
html[data-theme="light"] .ts-event-card__desc,
html[data-theme="light"] .ts-equip-card__desc { color: #555 !important; }
html[data-theme="light"] .ts-sol-feature-item {
    background: #f5f6f8 !important;
    border-color: #dde1e6 !important;
    color: #1a1a2e !important;
}
html[data-theme="light"] .ts-listing-card {
    background: #ffffff !important;
    border-color: #dde1e6 !important;
    box-shadow: 0 2px 16px rgba(0,0,0,0.07) !important;
}
html[data-theme="light"] .ts-listing-card:hover {
    border-color: rgba(196,134,10,0.5) !important;
    box-shadow: 0 8px 32px rgba(196,134,10,0.12) !important;
}
html[data-theme="light"] .ts-listing-card .card-title { color: #1a1a2e !important; }
html[data-theme="light"] .ts-listing-card .card-desc,
html[data-theme="light"] .ts-listing-card .card-desc p,
html[data-theme="light"] .ts-listing-card .card-desc li { color: #555 !important; }

html[data-theme="light"] .ts-equipment-card {
    background: #ffffff !important;
    border-color: #dde1e6 !important;
    box-shadow: 0 2px 12px rgba(0,0,0,0.06) !important;
}
html[data-theme="light"] .ts-equipment-card:hover {
    border-color: rgba(196,134,10,0.5) !important;
    box-shadow: 0 8px 28px rgba(196,134,10,0.1) !important;
}
html[data-theme="light"] .ts-equipment-card .card-title { color: #1a1a2e !important; }
html[data-theme="light"] .ts-equipment-card .card-desc  { color: #555 !important; }

html[data-theme="light"] .ts-result-card {
    background: #ffffff !important;
    border-color: #dde1e6 !important;
    box-shadow: 0 2px 12px rgba(0,0,0,0.06) !important;
}
html[data-theme="light"] .ts-result-card:hover {
    border-color: rgba(196,134,10,0.5) !important;
    box-shadow: 0 8px 28px rgba(196,134,10,0.1) !important;
}
html[data-theme="light"] .ts-result-card .result-title { color: #1a1a2e !important; }
html[data-theme="light"] .ts-result-card .result-desc  { color: #555 !important; }
html[data-theme="light"] .ts-result-card .meta-badge   { background: rgba(196,134,10,0.1) !important; border-color: rgba(196,134,10,0.25) !important; color: #c4860a !important; }
html[data-theme="light"] .ts-result-card .country-badge { background: #f0f2f5 !important; border-color: #dde1e6 !important; color: #444 !important; }

html[data-theme="light"] .ts-qcard {
    background: #ffffff !important;
    border-color: #e2e6eb !important;
    border-left-color: var(--gold) !important;
    box-shadow: 0 2px 12px rgba(0,0,0,0.06) !important;
}
html[data-theme="light"] .ts-qcard:hover { box-shadow: 0 12px 36px rgba(0,0,0,0.12) !important; }
html[data-theme="light"] .ts-qcard__text  { color: #555 !important; }
html[data-theme="light"] .ts-qcard__name  { color: #1a1a2e !important; }
html[data-theme="light"] .ts-qcard__author { border-top-color: #e2e6eb !important; }

/* About / stats */
html[data-theme="light"] .ts-about-content p,
html[data-theme="light"] .ts-about-content .ts-desc { color: #555 !important; }
html[data-theme="light"] .ts-stats-row { border-top-color: #dde1e6 !important; }
html[data-theme="light"] .ts-stat-item .stat-label { color: #888 !important; }

/* Tab nav */
html[data-theme="light"] .ts-tab-nav {
    background: #e8e8e8 !important;
    border-color: #dde1e6 !important;
}
html[data-theme="light"] .ts-tab-nav .nav-link { color: #444 !important; }
html[data-theme="light"] .ts-tab-nav .nav-link.active,
html[data-theme="light"] .ts-tab-nav .nav-link:hover {
    background: var(--primary-color, #c4860a) !important;
    color: #fff !important;
}
html[data-theme="light"] .ts-tab-content-inner .tab-statement { color: #1a1a2e !important; }
html[data-theme="light"] .ts-tab-content-inner .read-more { color: var(--primary-color, #c4860a) !important; }

/* Vision images */
html[data-theme="light"] .ts-vision-images .img-secondary { border-color: #f0f2f5 !important; }

/* Contact panels */
html[data-theme="light"] .ts-contact-info-panel {
    background: #ffffff !important;
    border-color: #dde1e6 !important;
}
html[data-theme="light"] .ts-contact-form-panel {
    background: #ffffff !important;
    border-color: #dde1e6 !important;
}
html[data-theme="light"] .ts-contact-item { border-bottom-color: #ececec !important; }
html[data-theme="light"] .ts-contact-icon {
    background: rgba(196,134,10,0.08) !important;
    border-color: rgba(196,134,10,0.2) !important;
    color: var(--primary-color, #c4860a) !important;
}
html[data-theme="light"] .ts-contact-item-body .contact-label { color: #888 !important; }
html[data-theme="light"] .ts-contact-item-body .contact-value,
html[data-theme="light"] .ts-contact-item-body a { color: #333 !important; }

html[data-theme="light"] .ts-form-title   { color: #1a1a2e !important; }
html[data-theme="light"] .ts-form-subtitle { color: #666 !important; }
html[data-theme="light"] .ts-label        { color: #666 !important; }
html[data-theme="light"] .ts-form-control {
    background: #f5f6f8 !important;
    border-color: #dde1e6 !important;
    color: #1a1a2e !important;
}
html[data-theme="light"] .ts-form-control::placeholder { color: #aaa !important; }
html[data-theme="light"] .ts-form-control:focus {
    background: #ffffff !important;
    border-color: var(--primary-color, #c4860a) !important;
    box-shadow: 0 0 0 3px rgba(196,134,10,0.12) !important;
}

html[data-theme="light"] .ts-social-connect .social-label { color: #888 !important; }
html[data-theme="light"] .ts-social-links a {
    background: #f0f2f5 !important;
    border-color: #dde1e6 !important;
    color: #555 !important;
}

/* Result view */
html[data-theme="light"] .ts-iframe-container {
    background: #ffffff !important;
    border-color: #dde1e6 !important;
}
html[data-theme="light"] .ts-result-meta-bar {
    background: #f5f6f8 !important;
    border-bottom-color: #dde1e6 !important;
}
html[data-theme="light"] .ts-result-meta-bar .meta-title { color: #1a1a2e !important; }
html[data-theme="light"] .ts-result-meta-bar .meta-back-btn {
    background: #e8e8e8 !important;
    border-color: #dde1e6 !important;
    color: #555 !important;
}

/* Partners */
html[data-theme="light"] .ts-partners-section { border-top-color: #dde1e6 !important; }
html[data-theme="light"] .ts-partners-label   { color: #aaa !important; }

/* Empty state */
html[data-theme="light"] .ts-empty-state {
    background: #f5f6f8 !important;
    border-color: #dde1e6 !important;
}
html[data-theme="light"] .ts-empty-state h4 { color: #666 !important; }

/* Footer + copyright stay dark on light */
html[data-theme="light"] .ts-footer { background: linear-gradient(180deg,#1a1a2e 0%,#111120 100%) !important; }
html[data-theme="light"] .ts-copyright { background: #0d0d1a !important; }
html[data-theme="light"] .ts-copyright .copyright-text { color: rgba(255,255,255,0.55) !important; }
html[data-theme="light"] .ts-footer-divider { border-top-color: rgba(255,255,255,0.08) !important; }
html[data-theme="light"] .ts-footer-heading { color: #f0f0f0 !important; }
html[data-theme="light"] .ts-footer-links li a { color: rgba(255,255,255,0.55) !important; }
html[data-theme="light"] .ts-footer-links li a:hover { color: var(--primary-color, #c4860a) !important; }
html[data-theme="light"] .ts-footer-brand p { color: rgba(255,255,255,0.55) !important; }
html[data-theme="light"] .ts-footer-contact-list li .fc-text,
html[data-theme="light"] .ts-footer-contact-list li .fc-text a { color: rgba(255,255,255,0.55) !important; }
html[data-theme="light"] .ts-footer-social a {
    background: rgba(255,255,255,0.06) !important;
    border-color: rgba(255,255,255,0.1) !important;
    color: rgba(255,255,255,0.55) !important;
}

/* About image badge — light */
html[data-theme="light"] .ts-img-badge { background: var(--primary-color, #c4860a) !important; }

/* Map */
html[data-theme="light"] .ts-map-wrapper { border-color: #dde1e6 !important; }

/* ── OCEAN theme ──────────────────────────────────────────────── */
html[data-theme="ocean"] .ts-bg-base    { background: #071828 !important; }
html[data-theme="ocean"] .ts-bg-alt,
html[data-theme="ocean"] .ts-bg-section,
html[data-theme="ocean"] .ts-quotes-section,
html[data-theme="ocean"] .ts-vision-section  { background: #04101e !important; }

html[data-theme="ocean"] .ts-listing-card,
html[data-theme="ocean"] .ts-equipment-card,
html[data-theme="ocean"] .ts-result-card,
html[data-theme="ocean"] .ts-qcard,
html[data-theme="ocean"] .ts-contact-info-panel,
html[data-theme="ocean"] .ts-contact-form-panel,
html[data-theme="ocean"] .ts-iframe-container {
    background: #0d2035 !important;
    border-color: rgba(0,180,216,0.15) !important;
}
html[data-theme="ocean"] .ts-qcard { border-left-color: #00b4d8 !important; }
html[data-theme="ocean"] .ts-listing-card:hover,
html[data-theme="ocean"] .ts-equipment-card:hover,
html[data-theme="ocean"] .ts-result-card:hover,
html[data-theme="ocean"] .ts-qcard:hover {
    border-color: rgba(0,180,216,0.45) !important;
    box-shadow: 0 8px 32px rgba(0,180,216,0.15) !important;
}
html[data-theme="ocean"] .ts-qcard__role  { color: #00b4d8 !important; }
html[data-theme="ocean"] .ts-qcard__qdot  { color: #00b4d8 !important; }
html[data-theme="ocean"] .ts-qcard__author { border-top-color: rgba(0,180,216,0.2) !important; }
html[data-theme="ocean"] .ts-qcard__avatar-wrap { border-color: #00b4d8 !important; }
html[data-theme="ocean"] .ts-tab-nav { background: rgba(0,180,216,0.08) !important; border-color: rgba(0,180,216,0.2) !important; }
html[data-theme="ocean"] .ts-tab-nav .nav-link { color: #90cfe0 !important; }
html[data-theme="ocean"] .ts-tab-nav .nav-link.active,
html[data-theme="ocean"] .ts-tab-nav .nav-link:hover { background: #00b4d8 !important; color: #fff !important; }
html[data-theme="ocean"] .ts-tab-content-inner .tab-statement { color: #e0f4fb !important; }
html[data-theme="ocean"] .ts-contact-icon { background: rgba(0,180,216,0.1) !important; border-color: rgba(0,180,216,0.3) !important; color: #00b4d8 !important; }
html[data-theme="ocean"] .ts-form-control { background: rgba(0,180,216,0.04) !important; border-color: rgba(0,180,216,0.2) !important; color: #caf0f8 !important; }
html[data-theme="ocean"] .ts-form-control:focus { border-color: #00b4d8 !important; box-shadow: 0 0 0 3px rgba(0,180,216,0.15) !important; }
html[data-theme="ocean"] .ts-result-meta-bar { background: rgba(0,0,0,0.3) !important; border-bottom-color: rgba(0,180,216,0.2) !important; }
html[data-theme="ocean"] .ts-stats-row { border-top-color: rgba(0,180,216,0.15) !important; }

/* ── FOREST theme ─────────────────────────────────────────────── */
html[data-theme="forest"] .ts-bg-base   { background: #061209 !important; }
html[data-theme="forest"] .ts-bg-alt,
html[data-theme="forest"] .ts-bg-section,
html[data-theme="forest"] .ts-quotes-section,
html[data-theme="forest"] .ts-vision-section { background: #030a04 !important; }

html[data-theme="forest"] .ts-listing-card,
html[data-theme="forest"] .ts-equipment-card,
html[data-theme="forest"] .ts-result-card,
html[data-theme="forest"] .ts-qcard,
html[data-theme="forest"] .ts-contact-info-panel,
html[data-theme="forest"] .ts-contact-form-panel,
html[data-theme="forest"] .ts-iframe-container {
    background: #0d2213 !important;
    border-color: rgba(76,175,80,0.15) !important;
}
html[data-theme="forest"] .ts-qcard { border-left-color: #4caf50 !important; }
html[data-theme="forest"] .ts-listing-card:hover,
html[data-theme="forest"] .ts-equipment-card:hover,
html[data-theme="forest"] .ts-result-card:hover,
html[data-theme="forest"] .ts-qcard:hover {
    border-color: rgba(76,175,80,0.45) !important;
    box-shadow: 0 8px 32px rgba(76,175,80,0.15) !important;
}
html[data-theme="forest"] .ts-qcard__role  { color: #4caf50 !important; }
html[data-theme="forest"] .ts-qcard__qdot  { color: #4caf50 !important; }
html[data-theme="forest"] .ts-qcard__author { border-top-color: rgba(76,175,80,0.2) !important; }
html[data-theme="forest"] .ts-qcard__avatar-wrap { border-color: #4caf50 !important; }
html[data-theme="forest"] .ts-tab-nav { background: rgba(76,175,80,0.08) !important; border-color: rgba(76,175,80,0.2) !important; }
html[data-theme="forest"] .ts-tab-nav .nav-link { color: #88c88a !important; }
html[data-theme="forest"] .ts-tab-nav .nav-link.active,
html[data-theme="forest"] .ts-tab-nav .nav-link:hover { background: #4caf50 !important; color: #fff !important; }
html[data-theme="forest"] .ts-tab-content-inner .tab-statement { color: #e0f5e1 !important; }
html[data-theme="forest"] .ts-contact-icon { background: rgba(76,175,80,0.1) !important; border-color: rgba(76,175,80,0.3) !important; color: #4caf50 !important; }
html[data-theme="forest"] .ts-form-control { background: rgba(76,175,80,0.04) !important; border-color: rgba(76,175,80,0.2) !important; color: #c8e6c9 !important; }
html[data-theme="forest"] .ts-form-control:focus { border-color: #4caf50 !important; box-shadow: 0 0 0 3px rgba(76,175,80,0.15) !important; }
html[data-theme="forest"] .ts-result-meta-bar { background: rgba(0,0,0,0.3) !important; border-bottom-color: rgba(76,175,80,0.2) !important; }
html[data-theme="forest"] .ts-stats-row { border-top-color: rgba(76,175,80,0.15) !important; }

/* ── PURPLE theme ─────────────────────────────────────────────── */
html[data-theme="purple"] .ts-bg-base   { background: #100820 !important; }
html[data-theme="purple"] .ts-bg-alt,
html[data-theme="purple"] .ts-bg-section,
html[data-theme="purple"] .ts-quotes-section,
html[data-theme="purple"] .ts-vision-section { background: #080412 !important; }

html[data-theme="purple"] .ts-listing-card,
html[data-theme="purple"] .ts-equipment-card,
html[data-theme="purple"] .ts-result-card,
html[data-theme="purple"] .ts-qcard,
html[data-theme="purple"] .ts-contact-info-panel,
html[data-theme="purple"] .ts-contact-form-panel,
html[data-theme="purple"] .ts-iframe-container {
    background: #1e1030 !important;
    border-color: rgba(206,147,216,0.15) !important;
}
html[data-theme="purple"] .ts-qcard { border-left-color: #ce93d8 !important; }
html[data-theme="purple"] .ts-listing-card:hover,
html[data-theme="purple"] .ts-equipment-card:hover,
html[data-theme="purple"] .ts-result-card:hover,
html[data-theme="purple"] .ts-qcard:hover {
    border-color: rgba(206,147,216,0.45) !important;
    box-shadow: 0 8px 32px rgba(206,147,216,0.15) !important;
}
html[data-theme="purple"] .ts-qcard__role  { color: #ce93d8 !important; }
html[data-theme="purple"] .ts-qcard__qdot  { color: #ce93d8 !important; }
html[data-theme="purple"] .ts-qcard__author { border-top-color: rgba(206,147,216,0.2) !important; }
html[data-theme="purple"] .ts-qcard__avatar-wrap { border-color: #ce93d8 !important; }
html[data-theme="purple"] .ts-tab-nav { background: rgba(206,147,216,0.08) !important; border-color: rgba(206,147,216,0.2) !important; }
html[data-theme="purple"] .ts-tab-nav .nav-link { color: #c0a0d0 !important; }
html[data-theme="purple"] .ts-tab-nav .nav-link.active,
html[data-theme="purple"] .ts-tab-nav .nav-link:hover { background: #ce93d8 !important; color: #0d0017 !important; }
html[data-theme="purple"] .ts-tab-content-inner .tab-statement { color: #f0e5f8 !important; }
html[data-theme="purple"] .ts-contact-icon { background: rgba(206,147,216,0.1) !important; border-color: rgba(206,147,216,0.3) !important; color: #ce93d8 !important; }
html[data-theme="purple"] .ts-form-control { background: rgba(206,147,216,0.04) !important; border-color: rgba(206,147,216,0.2) !important; color: #e8d5f0 !important; }
html[data-theme="purple"] .ts-form-control:focus { border-color: #ce93d8 !important; box-shadow: 0 0 0 3px rgba(206,147,216,0.15) !important; }
html[data-theme="purple"] .ts-result-meta-bar { background: rgba(0,0,0,0.3) !important; border-bottom-color: rgba(206,147,216,0.2) !important; }
html[data-theme="purple"] .ts-stats-row { border-top-color: rgba(206,147,216,0.15) !important; }

/* ── ALL dark themes — shared text/border rules ───────────────── */
html[data-theme="ocean"]  .ts-section-heading .ts-eyebrow { color: #00b4d8; }
html[data-theme="forest"] .ts-section-heading .ts-eyebrow { color: #4caf50; }
html[data-theme="purple"] .ts-section-heading .ts-eyebrow { color: #ce93d8; }

html[data-theme="ocean"]  .ts-section-heading .ts-eyebrow::before,
html[data-theme="ocean"]  .ts-section-heading .ts-eyebrow::after { background: #00b4d8; }
html[data-theme="forest"] .ts-section-heading .ts-eyebrow::before,
html[data-theme="forest"] .ts-section-heading .ts-eyebrow::after { background: #4caf50; }
html[data-theme="purple"] .ts-section-heading .ts-eyebrow::before,
html[data-theme="purple"] .ts-section-heading .ts-eyebrow::after { background: #ce93d8; }

html[data-theme="ocean"]  .ts-listing-card .card-title::after,
html[data-theme="ocean"]  .ts-equipment-card .card-title::after { background: #00b4d8; }
html[data-theme="forest"] .ts-listing-card .card-title::after,
html[data-theme="forest"] .ts-equipment-card .card-title::after { background: #4caf50; }
html[data-theme="purple"] .ts-listing-card .card-title::after,
html[data-theme="purple"] .ts-equipment-card .card-title::after { background: #ce93d8; }

html[data-theme="ocean"]  .ts-result-card::before { background: linear-gradient(90deg, #00b4d8, #0077b6); }
html[data-theme="forest"] .ts-result-card::before { background: linear-gradient(90deg, #4caf50, #2e7d32); }
html[data-theme="purple"] .ts-result-card::before { background: linear-gradient(90deg, #ce93d8, #9c27b0); }

html[data-theme="ocean"]  .ts-result-card .meta-badge { background: rgba(0,180,216,0.1) !important; border-color: rgba(0,180,216,0.25) !important; color: #00b4d8 !important; }
html[data-theme="forest"] .ts-result-card .meta-badge { background: rgba(76,175,80,0.1) !important; border-color: rgba(76,175,80,0.25) !important; color: #4caf50 !important; }
html[data-theme="purple"] .ts-result-card .meta-badge { background: rgba(206,147,216,0.1) !important; border-color: rgba(206,147,216,0.25) !important; color: #ce93d8 !important; }

/* Nav CTA button adapts to theme accent */
html[data-theme="ocean"]  .nav-cta-btn { background: #00b4d8 !important; color: #071828 !important; }
html[data-theme="forest"] .nav-cta-btn { background: #4caf50 !important; color: #061209 !important; }
html[data-theme="purple"] .nav-cta-btn { background: #ce93d8 !important; color: #100820 !important; }
html[data-theme="light"]  .nav-cta-btn { background: #c4860a !important; color: #fff !important; }

/* Primary button adapts */
html[data-theme="ocean"]  .rr-primary-btn,
html[data-theme="ocean"]  a.rr-primary-btn { background: #00b4d8 !important; color: #071828 !important; }
html[data-theme="ocean"]  .rr-primary-btn:hover  { background: #48cae4 !important; }
html[data-theme="forest"] .rr-primary-btn,
html[data-theme="forest"] a.rr-primary-btn { background: #4caf50 !important; color: #061209 !important; }
html[data-theme="forest"] .rr-primary-btn:hover  { background: #81c784 !important; }
html[data-theme="purple"] .rr-primary-btn,
html[data-theme="purple"] a.rr-primary-btn { background: #ce93d8 !important; color: #100820 !important; }
html[data-theme="purple"] .rr-primary-btn:hover  { background: #e040fb !important; }
html[data-theme="light"]  .rr-primary-btn,
html[data-theme="light"]  a.rr-primary-btn { background: #c4860a !important; color: #fff !important; }
html[data-theme="light"]  .rr-primary-btn:hover  { background: #e8a020 !important; }

/* Outline button adapts */
html[data-theme="ocean"]  .rr-outline-btn { color: #00b4d8 !important; border-color: rgba(0,180,216,0.4) !important; }
html[data-theme="forest"] .rr-outline-btn { color: #4caf50 !important; border-color: rgba(76,175,80,0.4) !important; }
html[data-theme="purple"] .rr-outline-btn { color: #ce93d8 !important; border-color: rgba(206,147,216,0.4) !important; }
html[data-theme="light"]  .rr-outline-btn { color: #c4860a !important; border-color: rgba(196,134,10,0.4) !important; }

/* Sol nav arrows */
html[data-theme="ocean"]  .sol-nav { border-color: #00b4d8 !important; color: #00b4d8 !important; }
html[data-theme="forest"] .sol-nav { border-color: #4caf50 !important; color: #4caf50 !important; }
html[data-theme="purple"] .sol-nav { border-color: #ce93d8 !important; color: #ce93d8 !important; }
html[data-theme="light"]  .sol-nav { border-color: #c4860a !important; color: #c4860a !important; }
html[data-theme="ocean"]  .sol-nav:hover { background: #00b4d8 !important; color: #fff !important; }
html[data-theme="forest"] .sol-nav:hover { background: #4caf50 !important; color: #fff !important; }
html[data-theme="purple"] .sol-nav:hover { background: #ce93d8 !important; color: #fff !important; }
html[data-theme="light"]  .sol-nav:hover { background: #c4860a !important; color: #fff !important; }

/* Footer stays dark on all themes */
html[data-theme="ocean"]  .ts-footer { background: linear-gradient(180deg, #030e1a 0%, #020910 100%) !important; }
html[data-theme="forest"] .ts-footer { background: linear-gradient(180deg, #030a04 0%, #020604 100%) !important; }
html[data-theme="purple"] .ts-footer { background: linear-gradient(180deg, #080412 0%, #04020a 100%) !important; }
html[data-theme="ocean"]  .ts-copyright { background: #020710 !important; }
html[data-theme="forest"] .ts-copyright { background: #020604 !important; }
html[data-theme="purple"] .ts-copyright { background: #030210 !important; }

/* ts-img-badge gold always */
html[data-theme="ocean"]  .ts-img-badge { background: #00b4d8 !important; color: #071828 !important; }
html[data-theme="forest"] .ts-img-badge { background: #4caf50 !important; color: #061209 !important; }
html[data-theme="purple"] .ts-img-badge { background: #ce93d8 !important; color: #100820 !important; }

/* Hero — vignette fades into each theme's body bg */
html[data-theme="ocean"]  .ts-hero-vignette { background: linear-gradient(to top, #040e1a 0%, transparent 100%) !important; }
html[data-theme="forest"] .ts-hero-vignette { background: linear-gradient(to top, #020804 0%, transparent 100%) !important; }
html[data-theme="purple"] .ts-hero-vignette { background: linear-gradient(to top, #080412 0%, transparent 100%) !important; }
html[data-theme="light"]  .ts-hero-vignette { background: linear-gradient(to top, #f5f6f8 0%, transparent 100%) !important; }

/* Hero — accent colours per theme */
html[data-theme="ocean"]  .ts-hero-eyebrow,
html[data-theme="ocean"]  .ts-hero-eyebrow::before { color: #00b4d8 !important; background: #00b4d8; }
html[data-theme="ocean"]  .ts-hero-btn-primary { background: #00b4d8 !important; color: #071828 !important; box-shadow: 0 8px 28px rgba(0,180,216,0.38) !important; }
html[data-theme="ocean"]  .ts-hero-btn-primary:hover { background: #48cae4 !important; }
html[data-theme="ocean"]  .ts-hero-pagination .swiper-pagination-bullet-active { background: #00b4d8 !important; }

html[data-theme="forest"] .ts-hero-eyebrow,
html[data-theme="forest"] .ts-hero-eyebrow::before { color: #4caf50 !important; background: #4caf50; }
html[data-theme="forest"] .ts-hero-btn-primary { background: #4caf50 !important; color: #061209 !important; box-shadow: 0 8px 28px rgba(76,175,80,0.38) !important; }
html[data-theme="forest"] .ts-hero-btn-primary:hover { background: #81c784 !important; }
html[data-theme="forest"] .ts-hero-pagination .swiper-pagination-bullet-active { background: #4caf50 !important; }

html[data-theme="purple"] .ts-hero-eyebrow,
html[data-theme="purple"] .ts-hero-eyebrow::before { color: #ce93d8 !important; background: #ce93d8; }
html[data-theme="purple"] .ts-hero-btn-primary { background: #ce93d8 !important; color: #100820 !important; box-shadow: 0 8px 28px rgba(206,147,216,0.38) !important; }
html[data-theme="purple"] .ts-hero-btn-primary:hover { background: #e040fb !important; }
html[data-theme="purple"] .ts-hero-pagination .swiper-pagination-bullet-active { background: #ce93d8 !important; }

html[data-theme="light"]  .ts-hero-eyebrow { color: #f5c96a !important; }
html[data-theme="light"]  .ts-hero-eyebrow::before { background: #f5c96a; }
html[data-theme="light"]  .ts-hero-btn-primary { background: #c4860a !important; color: #fff !important; box-shadow: 0 8px 28px rgba(196,134,10,0.38) !important; }
html[data-theme="light"]  .ts-hero-btn-primary:hover { background: #e8a020 !important; }
html[data-theme="light"]  .ts-hero-pagination .swiper-pagination-bullet-active { background: #c4860a !important; }

/* Page header — all themes keep dark */
html[data-theme="ocean"]  .page-header { background: linear-gradient(135deg, #040e1a 0%, #0a1e30 100%) !important; }
html[data-theme="forest"] .page-header { background: linear-gradient(135deg, #020804 0%, #0a1e0d 100%) !important; }
html[data-theme="purple"] .page-header { background: linear-gradient(135deg, #080412 0%, #150928 100%) !important; }

/* Read-more links in tabs */
html[data-theme="ocean"]  .ts-tab-content-inner .read-more { color: #00b4d8 !important; }
html[data-theme="forest"] .ts-tab-content-inner .read-more { color: #4caf50 !important; }
html[data-theme="purple"] .ts-tab-content-inner .read-more { color: #ce93d8 !important; }

/* Contact link icons */
html[data-theme="ocean"]  .ts-footer-contact-list li .fc-icon { color: #00b4d8 !important; }
html[data-theme="forest"] .ts-footer-contact-list li .fc-icon { color: #4caf50 !important; }
html[data-theme="purple"] .ts-footer-contact-list li .fc-icon { color: #ce93d8 !important; }
html[data-theme="light"]  .ts-footer-contact-list li .fc-icon { color: var(--primary-color) !important; }

/* Footer headings gold accent line */
html[data-theme="ocean"]  .ts-footer-heading::after { background: #00b4d8 !important; }
html[data-theme="forest"] .ts-footer-heading::after { background: #4caf50 !important; }
html[data-theme="purple"] .ts-footer-heading::after { background: #ce93d8 !important; }
html[data-theme="light"]  .ts-footer-heading::after { background: var(--primary-color) !important; }

/* Footer arrow-link hover */
html[data-theme="ocean"]  .ts-footer-links li a:hover { color: #00b4d8 !important; }
html[data-theme="forest"] .ts-footer-links li a:hover { color: #4caf50 !important; }
html[data-theme="purple"] .ts-footer-links li a:hover { color: #ce93d8 !important; }
html[data-theme="ocean"]  .ts-footer-links li a::before { color: #00b4d8; }
html[data-theme="forest"] .ts-footer-links li a::before { color: #4caf50; }
html[data-theme="purple"] .ts-footer-links li a::before { color: #ce93d8; }
