/*
 * Asia Cycling Tours — final sitewide design system.
 * Version 1.9.0. Loaded last so Homepage, Blog, Archive, Taxonomy,
 * WooCommerce product archive and Single Tour share one visual language.
 */
:root {
    --act-indigo: #273469;
    --act-midnight: #182044;
    --act-vermilion: #D94F30;
    --act-vermilion-dark: #BC3E24;
    --act-saffron: #E3A72F;
    --act-saffron-soft: #FFF1D2;
    --act-rice: #FFF9F0;
    --act-mist: #F2F4FA;
    --act-heading: #172033;
    --act-text: #536071;
    --act-muted: #778294;
    --act-line: #DDE1EC;
    --act-white: #FFFFFF;
    --act-radius: 18px;
    --act-radius-sm: 10px;
    --act-shadow: 0 18px 48px rgba(24, 32, 68, .12);
    --act-shadow-soft: 0 10px 30px rgba(24, 32, 68, .08);

    /* Compatibility variables used by the existing template files. */
    --tbt-forest: var(--act-indigo);
    --tbt-forest-dark: var(--act-midnight);
    --tbt-leaf: var(--act-vermilion);
    --tbt-gold: var(--act-saffron);
    --tbt-ink: var(--act-heading);
    --tbt-muted: var(--act-text);
    --tbt-line: var(--act-line);
    --tbt-soft: var(--act-rice);
    --gct-navy: var(--act-indigo);
    --gct-navy-deep: var(--act-midnight);
    --gct-blue: var(--act-vermilion);
    --gct-blue-dark: var(--act-vermilion-dark);
    --gct-teal: var(--act-saffron);
    --gct-green: var(--act-saffron);
    --gct-green-dark: #B77C16;
    --gct-sky: var(--act-mist);
    --gct-soft: var(--act-rice);
    --gct-ink: var(--act-heading);
    --gct-muted: var(--act-text);
    --gct-line: var(--act-line);
    --gct-shadow: var(--act-shadow);
    --gct-shadow-soft: var(--act-shadow-soft);
}

html { scroll-behavior: smooth; }
body {
    color: var(--act-text);
    background: var(--act-white);
    font-family: Inter, -apple-system, BlinkMacSystemFont, "Segoe UI", Arial, sans-serif;
    -webkit-font-smoothing: antialiased;
}
body, button, input, select, textarea { font-family: Inter, -apple-system, BlinkMacSystemFont, "Segoe UI", Arial, sans-serif; }
h1, h2, h3, h4, h5, h6,
.gct-home h1, .gct-home h2, .gct-home h3,
.gct-tour-single h1, .gct-tour-single h2, .gct-tour-single h3,
.gct-tour-archive h1, .gct-tour-archive h2, .gct-tour-archive h3,
.gct-blog-single h1, .gct-blog-single h2, .gct-blog-single h3,
.gct-blog-archive h1, .gct-blog-archive h2, .gct-blog-archive h3,
.gct-page h1, .gct-page h2, .gct-page h3 {
    color: var(--act-heading);
    font-family: Georgia, "Times New Roman", serif;
    letter-spacing: -.025em;
}
a { color: var(--act-vermilion); }
a:hover { color: var(--act-vermilion-dark); }
::selection { color: var(--act-white); background: var(--act-vermilion); }
:focus-visible { outline: 3px solid rgba(227, 167, 47, .5) !important; outline-offset: 3px; }

/* Utility bar from the approved mockup. */
.act-topbar {
    position: relative;
    z-index: 10001;
    color: rgba(255,255,255,.86);
    background: var(--act-midnight);
    font-size: 11.5px;
    line-height: 1.2;
}
.act-topbar__inner {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 24px;
    width: min(1240px, calc(100% - 36px));
    min-height: 36px;
    margin-inline: auto;
}
.act-topbar__tagline { margin: 0; font-weight: 650; letter-spacing: .015em; }
.act-topbar__links { display: flex; align-items: center; gap: 20px; }
.act-topbar__links a { color: rgba(255,255,255,.82); text-decoration: none; }
.act-topbar__links a:hover { color: var(--act-saffron); }

/* Header / navigation */
#masthead {
    --tbt-menu-forest: var(--act-indigo);
    --tbt-menu-forest-dark: var(--act-midnight);
    --tbt-menu-leaf: var(--act-vermilion);
    --tbt-menu-gold: var(--act-saffron);
    --tbt-menu-ink: var(--act-midnight);
    --tbt-menu-muted: var(--act-text);
    --tbt-menu-line: var(--act-line);
    position: sticky !important;
    top: 0 !important;
    z-index: 10000;
    background: rgba(255,255,255,.98) !important;
    border-bottom: 1px solid var(--act-line) !important;
    box-shadow: 0 8px 28px rgba(24,32,68,.06) !important;
    backdrop-filter: blur(14px);
}
body.admin-bar #masthead { top: 32px !important; }
body.home #masthead,
body.page-template-page-global-cycling-home #masthead {
    position: relative !important;
    top: 0 !important;
    background: var(--act-white) !important;
}
body.home #masthead .inside-header,
body.page-template-page-global-cycling-home #masthead .inside-header,
#masthead .inside-header {
    width: min(1240px, calc(100% - 36px)) !important;
    min-height: 72px !important;
    margin-inline: auto !important;
    padding: 8px 0 !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
}
#masthead .site-logo img,
#masthead .inside-header .site-logo img {
    width: auto !important;
    max-width: 176px !important;
    height: 52px !important;
    max-height: 52px !important;
    border: 0 !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    object-fit: contain !important;
}
#masthead .main-title a {
    max-width: 190px !important;
    color: var(--act-midnight) !important;
    font-family: Georgia, "Times New Roman", serif;
    font-size: 15px !important;
    font-weight: 800 !important;
    text-transform: uppercase;
}
#site-navigation .main-nav > ul > li > a {
    min-height: 44px !important;
    padding: 10px 11px !important;
    color: var(--act-midnight) !important;
    border-radius: 8px !important;
    font-size: 11.5px !important;
    font-weight: 800 !important;
    letter-spacing: .025em !important;
}
#site-navigation .main-nav > ul > li > a:hover,
#site-navigation .main-nav > ul > li.sfHover > a,
#site-navigation .main-nav > ul > li.current-menu-item:not(.menu-cta) > a,
#site-navigation .main-nav > ul > li.current-menu-ancestor:not(.menu-cta) > a {
    color: var(--act-vermilion) !important;
    background: rgba(217,79,48,.07) !important;
    border-color: rgba(217,79,48,.12) !important;
}
#site-navigation .main-nav > ul > li.current-menu-item:not(.menu-cta) > a::after,
#site-navigation .main-nav > ul > li.current-menu-ancestor:not(.menu-cta) > a::after {
    background: var(--act-vermilion) !important;
}
#site-navigation .main-nav > ul > li.menu-cta > a {
    min-height: 44px !important;
    padding: 11px 18px !important;
    color: var(--act-white) !important;
    border: 1px solid var(--act-vermilion) !important;
    border-radius: 8px !important;
    background: var(--act-vermilion) !important;
    box-shadow: 0 10px 22px rgba(217,79,48,.22) !important;
}
#site-navigation .main-nav > ul > li.menu-cta > a:hover {
    border-color: var(--act-vermilion-dark) !important;
    background: var(--act-vermilion-dark) !important;
    transform: translateY(-1px);
}
.main-navigation ul ul {
    border-color: var(--act-line) !important;
    border-radius: 12px !important;
    box-shadow: var(--act-shadow) !important;
}
.main-navigation ul ul li a:hover,
.main-navigation ul ul li.current-menu-item > a {
    color: var(--act-vermilion) !important;
    background: var(--act-rice) !important;
}

/* Shared buttons and labels */
.gct-btn,
.gct-tour-button,
.gct-blog-button,
.gct-page-button,
button.button,
a.button,
.woocommerce a.button,
.woocommerce button.button,
.woocommerce input.button {
    border-radius: 8px !important;
    font-weight: 800 !important;
    letter-spacing: .02em;
}
.gct-btn--primary,
.gct-tour-button--primary,
.gct-blog-button--primary,
.gct-page-button--primary,
.woocommerce a.button.alt,
.woocommerce button.button.alt,
.woocommerce input.button.alt {
    color: var(--act-white) !important;
    border-color: var(--act-vermilion) !important;
    background: var(--act-vermilion) !important;
    box-shadow: 0 10px 24px rgba(217,79,48,.22) !important;
}
.gct-btn--primary:hover,
.gct-tour-button--primary:hover,
.gct-blog-button--primary:hover,
.gct-page-button--primary:hover,
.woocommerce a.button.alt:hover,
.woocommerce button.button.alt:hover {
    border-color: var(--act-vermilion-dark) !important;
    background: var(--act-vermilion-dark) !important;
}
.gct-eyebrow,
.gct-tour-eyebrow,
.gct-blog-eyebrow,
.gct-page-eyebrow {
    color: var(--act-saffron) !important;
    font-family: Inter, -apple-system, BlinkMacSystemFont, "Segoe UI", Arial, sans-serif !important;
    font-weight: 900 !important;
    letter-spacing: .1em !important;
}

/* Homepage hero */
.gct-home {
    --gct-forest: var(--act-indigo);
    --gct-forest-dark: var(--act-midnight);
    --gct-leaf: var(--act-vermilion);
    --gct-gold: var(--act-saffron);
    --gct-ink: var(--act-heading);
    --gct-muted: var(--act-text);
    --gct-line: var(--act-line);
    --gct-soft: var(--act-rice);
    --gct-shadow: var(--act-shadow);
    color: var(--act-text);
    background: var(--act-white);
}
body.page-template-page-global-cycling-home .gct-hero,
body.home .gct-hero {
    min-height: 590px !important;
    background:
        radial-gradient(circle at 74% 18%, rgba(227,167,47,.34), transparent 28%),
        linear-gradient(135deg, var(--act-midnight), var(--act-indigo)) !important;
}
body.page-template-page-global-cycling-home .gct-hero__inner,
body.home .gct-hero__inner {
    min-height: 590px !important;
    padding-top: 80px !important;
    padding-bottom: 104px !important;
}
body.page-template-page-global-cycling-home .gct-hero__background,
body.home .gct-hero__background {
    object-position: center 48% !important;
    transform: scale(1.01) !important;
    filter: saturate(1.08) contrast(1.04) !important;
}
body.page-template-page-global-cycling-home .gct-hero__overlay,
body.home .gct-hero__overlay {
    background:
        linear-gradient(90deg, rgba(24,32,68,.94) 0%, rgba(24,32,68,.78) 37%, rgba(24,32,68,.28) 70%, rgba(24,32,68,.08) 100%),
        linear-gradient(0deg, rgba(24,32,68,.40), transparent 58%) !important;
}
body.page-template-page-global-cycling-home .gct-hero__copy,
body.home .gct-hero__copy {
    max-width: 650px !important;
    padding-bottom: 16px !important;
}
.gct-hero__copy .gct-eyebrow { color: #F3C85B !important; }
.gct-hero__copy h1 {
    max-width: 650px !important;
    color: var(--act-white) !important;
    font-size: clamp(3rem, 5.1vw, 5.2rem) !important;
    line-height: 1.02 !important;
    text-shadow: 0 5px 28px rgba(0,0,0,.34);
}
.gct-hero__lead {
    max-width: 610px !important;
    color: rgba(255,255,255,.86) !important;
    font-size: clamp(1rem, 1.4vw, 1.18rem) !important;
    line-height: 1.65 !important;
}
.gct-hero .gct-btn--light {
    color: var(--act-white) !important;
    border-color: rgba(255,255,255,.72) !important;
    background: rgba(255,255,255,.06) !important;
    box-shadow: none !important;
}
.gct-hero .gct-btn--light:hover {
    color: var(--act-midnight) !important;
    background: var(--act-white) !important;
}

/* Search band */
body.page-template-page-global-cycling-home .gct-search-wrap,
body.home .gct-search-wrap {
    margin-top: -64px !important;
    padding-bottom: 20px !important;
}
body.page-template-page-global-cycling-home .gct-search-wrap .gct-shell,
body.home .gct-search-wrap .gct-shell { width: min(1240px, calc(100% - 40px)) !important; }
body.page-template-page-global-cycling-home .gct-tour-search,
body.home .gct-tour-search {
    grid-template-columns: repeat(4, minmax(0, 1fr)) minmax(180px, auto) !important;
    gap: 10px !important;
    padding: 16px !important;
    border: 1px solid rgba(255,255,255,.12) !important;
    border-radius: 12px !important;
    background: linear-gradient(135deg, var(--act-midnight), #22315F) !important;
    box-shadow: 0 24px 60px rgba(24,32,68,.22) !important;
    backdrop-filter: none !important;
}
body.page-template-page-global-cycling-home .gct-tour-search::before,
body.home .gct-tour-search::before { display: none !important; }
body.page-template-page-global-cycling-home .gct-tour-search label,
body.home .gct-tour-search label {
    padding: 10px 14px !important;
    border: 1px solid rgba(255,255,255,.18) !important;
    border-radius: 8px !important;
    background: var(--act-white) !important;
}
body.page-template-page-global-cycling-home .gct-tour-search label > span,
body.home .gct-tour-search label > span { color: var(--act-muted) !important; }
body.page-template-page-global-cycling-home .gct-tour-search select,
body.home .gct-tour-search select {
    color: var(--act-midnight) !important;
    background-color: transparent !important;
}
body.page-template-page-global-cycling-home .gct-search-submit,
body.home .gct-search-submit {
    min-height: 66px !important;
    color: var(--act-white) !important;
    border-color: var(--act-vermilion) !important;
    border-radius: 8px !important;
    background: var(--act-vermilion) !important;
    box-shadow: 0 12px 26px rgba(217,79,48,.26) !important;
}
body.page-template-page-global-cycling-home .gct-search-submit:hover,
body.home .gct-search-submit:hover {
    color: var(--act-white) !important;
    border-color: var(--act-vermilion-dark) !important;
    background: var(--act-vermilion-dark) !important;
}

/* Trust strip */
.gct-home-stats {
    padding: 12px 0 24px !important;
    border: 0 !important;
    background: var(--act-white) !important;
}
.gct-home-stats__grid {
    grid-template-columns: repeat(4, minmax(0,1fr)) !important;
    gap: 0 !important;
}
.gct-home-stats__grid > div {
    min-height: 74px;
    padding: 12px 22px !important;
    border-right: 1px solid var(--act-line);
}
.gct-home-stats__grid > div:last-child { border-right: 0; }
.gct-home-stats__grid svg { color: var(--act-saffron) !important; }
.gct-home-stats__grid strong { color: var(--act-midnight) !important; font-size: .79rem !important; text-transform: uppercase; }

/* Homepage sections */
.gct-section { padding: 72px 0 !important; }
.gct-section--soft { background: var(--act-rice) !important; }
.gct-section-heading h2 { font-size: clamp(2rem, 3.2vw, 3.15rem) !important; color: var(--act-midnight) !important; }
.gct-heading-with-link > a { color: var(--act-vermilion) !important; font-weight: 850 !important; }
.gct-tour-grid--featured { grid-template-columns: repeat(5, minmax(0,1fr)) !important; gap: 16px !important; }
.gct-tour-grid--featured .gct-tour-card h3 { font-size: 1.05rem !important; }
.gct-tour-card,
.gct-blog-card,
.gct-review-card,
.gct-benefit,
.gct-destination-card {
    border-color: var(--act-line) !important;
    border-radius: 10px !important;
    background: var(--act-white) !important;
    box-shadow: var(--act-shadow-soft) !important;
}
.gct-tour-card:hover,
.gct-blog-card:hover,
.gct-destination-card:hover { box-shadow: var(--act-shadow) !important; transform: translateY(-4px); }
.gct-tour-card h3 a,
.gct-blog-card h3 a { color: var(--act-midnight) !important; }
.gct-tour-card h3 a:hover,
.gct-blog-card h3 a:hover { color: var(--act-vermilion) !important; }
.gct-tour-card__price,
.gct-tour-price,
.gct-tour-card .price { color: var(--act-vermilion) !important; }
.gct-tour-card__badge,
.gct-tour-kickers span,
.gct-blog-category-pill {
    color: var(--act-white) !important;
    border-color: rgba(255,255,255,.12) !important;
    background: var(--act-midnight) !important;
}
.gct-benefits { background: var(--act-white) !important; }
.gct-benefit svg { color: var(--act-saffron) !important; }
.gct-benefit h3 { color: var(--act-midnight) !important; }
.gct-destination-card__overlay {
    background: linear-gradient(0deg, rgba(24,32,68,.84), rgba(24,32,68,.08) 70%) !important;
}
.gct-review-card__stars svg { color: var(--act-saffron) !important; fill: var(--act-saffron) !important; }
.gct-faq-list details {
    border-color: var(--act-line) !important;
    border-radius: 10px !important;
    background: var(--act-white) !important;
}
.gct-faq-list summary { color: var(--act-midnight) !important; }
.gct-faq-list summary span { color: var(--act-vermilion) !important; }
.gct-home-editorial { background: var(--act-rice) !important; }
.gct-final-cta {
    color: var(--act-white) !important;
    background:
        radial-gradient(circle at 90% 10%, rgba(227,167,47,.24), transparent 30%),
        linear-gradient(135deg, var(--act-midnight), var(--act-indigo)) !important;
}
.gct-final-cta h2 { color: var(--act-white) !important; }
.gct-final-cta .gct-btn--light {
    color: var(--act-midnight) !important;
    border-color: var(--act-white) !important;
    background: var(--act-white) !important;
}

/* Blog archive and single */
.gct-blog-single,
.gct-blog-archive {
    --gct-blog-navy: var(--act-indigo);
    --gct-blog-navy-deep: var(--act-midnight);
    --gct-blog-blue: var(--act-vermilion);
    --gct-blog-blue-dark: var(--act-vermilion-dark);
    --gct-blog-teal: var(--act-saffron);
    --gct-blog-green: var(--act-saffron);
    --gct-blog-green-dark: #B77C16;
    --gct-blog-sky: var(--act-mist);
    --gct-blog-soft: var(--act-rice);
    --gct-blog-ink: var(--act-heading);
    --gct-blog-muted: var(--act-text);
    --gct-blog-line: var(--act-line);
    --gct-blog-shadow: var(--act-shadow);
    --gct-blog-shadow-soft: var(--act-shadow-soft);
}
.gct-blog-single-hero,
.gct-blog-archive-hero {
    background:
        radial-gradient(circle at 83% 14%, rgba(227,167,47,.28), transparent 26%),
        radial-gradient(circle at 11% 95%, rgba(217,79,48,.14), transparent 32%),
        linear-gradient(135deg, var(--act-midnight), var(--act-indigo)) !important;
}
.gct-blog-single-hero h1,
.gct-blog-archive-hero h1 { color: var(--act-white) !important; }
.gct-blog-category-pill {
    color: var(--act-midnight) !important;
    border-color: rgba(227,167,47,.44) !important;
    background: var(--act-saffron) !important;
}
.gct-blog-card,
.gct-blog-featured,
.gct-blog-sidebar-card,
.gct-author-card,
.gct-blog-newsletter {
    border-color: var(--act-line) !important;
    border-radius: 12px !important;
    box-shadow: var(--act-shadow-soft) !important;
}
.gct-blog-sidebar-card--cta,
.gct-blog-newsletter {
    color: var(--act-white) !important;
    background:
        radial-gradient(circle at 90% 0, rgba(227,167,47,.25), transparent 34%),
        linear-gradient(145deg, var(--act-midnight), var(--act-indigo)) !important;
}
.gct-blog-search-form button,
.gct-blog-newsletter button {
    color: var(--act-white) !important;
    background: var(--act-vermilion) !important;
}
.gct-blog-search-form button:hover,
.gct-blog-newsletter button:hover { background: var(--act-vermilion-dark) !important; }
.gct-blog-topic-nav a:hover,
.gct-blog-topic-nav a.is-active,
.gct-toc__item a.is-active,
.gct-toc__item a:hover {
    color: var(--act-vermilion) !important;
    border-color: rgba(217,79,48,.22) !important;
    background: rgba(217,79,48,.07) !important;
}
.gct-toc {
    --gct-toc-blue: var(--act-vermilion);
    --gct-toc-navy: var(--act-midnight);
    --gct-toc-green: var(--act-saffron);
    border-color: var(--act-line) !important;
    background: linear-gradient(135deg, var(--act-mist), var(--act-rice)) !important;
}
.gct-toc__icon { background: linear-gradient(135deg, var(--act-midnight), var(--act-indigo)) !important; }
.gct-article-content a { color: var(--act-vermilion) !important; }
.gct-article-content h2 { color: var(--act-midnight) !important; }
.gct-article-content h3 { color: var(--act-indigo) !important; }
.gct-article-share a,
.gct-article-share button { color: var(--act-vermilion) !important; border-color: var(--act-line) !important; }
.gct-article-share a:hover,
.gct-article-share button:hover,
.gct-article-share button.is-copied { color: var(--act-white) !important; background: var(--act-vermilion) !important; border-color: var(--act-vermilion) !important; }

/* WooCommerce tour archive / taxonomy / single product */
body.gct-tour-detail-template,
body.gct-tour-archive-template {
    --gct-navy: var(--act-indigo);
    --gct-navy-deep: var(--act-midnight);
    --gct-blue: var(--act-vermilion);
    --gct-blue-dark: var(--act-vermilion-dark);
    --gct-sky: var(--act-mist);
    --gct-teal: var(--act-saffron);
    --gct-green: var(--act-saffron);
    --gct-green-dark: #B77C16;
    --gct-ink: var(--act-heading);
    --gct-muted: var(--act-text);
    --gct-line: var(--act-line);
    --gct-soft: var(--act-rice);
    --gct-shadow: var(--act-shadow);
    --gct-shadow-soft: var(--act-shadow-soft);
}
.gct-tour-archive-hero,
.gct-tour-taxonomy-hero {
    color: var(--act-white) !important;
    background:
        radial-gradient(circle at 82% 15%, rgba(227,167,47,.28), transparent 28%),
        linear-gradient(135deg, var(--act-midnight), var(--act-indigo)) !important;
}
.gct-tour-archive-hero h1,
.gct-tour-taxonomy-hero h1 { color: var(--act-white) !important; }
.gct-tour-detail-hero {
    min-height: 610px !important;
    background: linear-gradient(135deg, var(--act-midnight), var(--act-indigo)) !important;
}
.gct-tour-detail-hero__overlay {
    background:
        linear-gradient(90deg, rgba(24,32,68,.94) 0%, rgba(24,32,68,.75) 42%, rgba(24,32,68,.24) 76%, rgba(24,32,68,.08) 100%),
        linear-gradient(0deg, rgba(24,32,68,.48), transparent 56%) !important;
}
.gct-tour-detail-hero h1 { color: var(--act-white) !important; font-size: clamp(2.7rem, 5vw, 5rem) !important; }
.gct-tour-filter,
.gct-tour-filter-bar,
.gct-tour-summary-card,
.gct-tour-booking-card,
.gct-tour-content-card,
.gct-tour-itinerary-item,
.gct-tour-archive-card {
    border-color: var(--act-line) !important;
    border-radius: 12px !important;
    background: var(--act-white) !important;
    box-shadow: var(--act-shadow-soft) !important;
}
.gct-tour-archive-card:hover { box-shadow: var(--act-shadow) !important; transform: translateY(-4px); }
.gct-tour-filter select,
.gct-tour-filter input,
.gct-tour-filter-bar select,
.gct-tour-filter-bar input {
    border-color: var(--act-line) !important;
    border-radius: 8px !important;
    background: var(--act-white) !important;
}
.gct-tour-price,
.gct-tour-price strong,
.gct-tour-archive-card .price { color: var(--act-vermilion) !important; }
.gct-tour-tabs,
.gct-tour-sticky-nav { border-color: var(--act-line) !important; background: rgba(255,255,255,.96) !important; }
.gct-tour-tabs a.is-active,
.gct-tour-tabs a:hover,
.gct-tour-sticky-nav a.is-active,
.gct-tour-sticky-nav a:hover { color: var(--act-vermilion) !important; border-color: var(--act-vermilion) !important; }
.gct-tour-feature-icon,
.gct-tour-inclusion-icon { color: var(--act-saffron) !important; }

/* Standard pages, utility pages, order success */
.gct-page-hero,
.gct-utility-hero,
.gct-order-success__hero {
    color: var(--act-white) !important;
    background:
        radial-gradient(circle at 85% 10%, rgba(227,167,47,.28), transparent 28%),
        linear-gradient(135deg, var(--act-midnight), var(--act-indigo)) !important;
}
.gct-page-hero h1,
.gct-utility-hero h1,
.gct-order-success__hero h1 { color: var(--act-white) !important; }
.gct-page-card,
.gct-utility-card,
.gct-order-success__card {
    border-color: var(--act-line) !important;
    border-radius: 12px !important;
    background: var(--act-white) !important;
    box-shadow: var(--act-shadow-soft) !important;
}


/* Sitewide CTA before the footer */
.gct-sitewide-cta {
    padding: 56px 20px;
    color: var(--act-white);
    background:
        radial-gradient(circle at 88% 12%, rgba(227,167,47,.24), transparent 30%),
        linear-gradient(135deg, var(--act-indigo), var(--act-midnight));
}
.gct-sitewide-cta__inner {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 32px;
    width: min(1180px, 100%);
    margin-inline: auto;
}
.gct-sitewide-cta h2 { margin: 0 0 8px; color: var(--act-white); font-size: clamp(2rem, 3vw, 3rem); }
.gct-sitewide-cta p { max-width: 760px; margin: 0; color: rgba(255,255,255,.78); }
.gct-sitewide-cta__actions { display: flex; flex-wrap: wrap; gap: 10px; }
.gct-sitewide-cta__actions a {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 46px;
    padding: 11px 18px;
    color: var(--act-white);
    border: 1px solid var(--act-vermilion);
    border-radius: 8px;
    background: var(--act-vermilion);
    font-weight: 800;
    text-decoration: none;
}
.gct-sitewide-cta__actions a:last-child { color: var(--act-white); border-color: rgba(255,255,255,.62); background: transparent; }
.gct-sitewide-cta__actions a:hover { border-color: var(--act-vermilion-dark); background: var(--act-vermilion-dark); }
.gct-sitewide-cta__actions a:last-child:hover { color: var(--act-midnight); border-color: var(--act-white); background: var(--act-white); }
@media (max-width: 768px) {
    .gct-sitewide-cta__inner { display: block; }
    .gct-sitewide-cta__actions { margin-top: 22px; }
}

/* Footer */
.footer-widgets {
    color: rgba(255,255,255,.76) !important;
    border-top: 1px solid rgba(255,255,255,.08) !important;
    background: var(--act-midnight) !important;
}
.site-info { color: rgba(255,255,255,.68) !important; background: #101631 !important; }
.footer-widgets h2,
.footer-widgets h3,
.footer-widgets .widget-title { color: var(--act-white) !important; font-family: Georgia, "Times New Roman", serif !important; }
.gct-footer-widget h3::after { background: linear-gradient(90deg, var(--act-saffron), var(--act-vermilion)) !important; }
.footer-widgets a { color: rgba(255,255,255,.76) !important; }
.footer-widgets a:hover { color: var(--act-saffron) !important; }

/* Responsive */
@media (max-width: 1180px) {
    .gct-tour-grid--featured { grid-template-columns: repeat(3, minmax(0,1fr)) !important; }
    body.page-template-page-global-cycling-home .gct-tour-search,
    body.home .gct-tour-search { grid-template-columns: repeat(2, minmax(0,1fr)) !important; }
    body.page-template-page-global-cycling-home .gct-search-submit,
    body.home .gct-search-submit { grid-column: 1 / -1; }
}
@media (max-width: 900px) {
    .act-topbar__tagline { max-width: 66%; }
    .act-topbar__links a:nth-child(-n+2) { display: none; }
    .gct-home-stats__grid { grid-template-columns: repeat(2, minmax(0,1fr)) !important; }
    .gct-home-stats__grid > div:nth-child(2) { border-right: 0; }
    .gct-home-stats__grid > div { border-bottom: 1px solid var(--act-line); }
    .gct-home-stats__grid > div:nth-last-child(-n+2) { border-bottom: 0; }
}
@media (max-width: 768px) {
    body.admin-bar #masthead { top: 46px !important; }
    .act-topbar__inner { width: calc(100% - 28px); min-height: 34px; }
    .act-topbar__tagline { max-width: 100%; font-size: 10px; }
    .act-topbar__links { display: none; }
    body.page-template-page-global-cycling-home .gct-hero,
    body.home .gct-hero,
    body.page-template-page-global-cycling-home .gct-hero__inner,
    body.home .gct-hero__inner { min-height: 680px !important; }
    body.page-template-page-global-cycling-home .gct-hero__inner,
    body.home .gct-hero__inner { padding-top: 94px !important; padding-bottom: 120px !important; }
    body.page-template-page-global-cycling-home .gct-hero__overlay,
    body.home .gct-hero__overlay {
        background: linear-gradient(90deg, rgba(24,32,68,.92), rgba(24,32,68,.58)) !important;
    }
    .gct-hero__copy h1 { font-size: clamp(2.65rem, 12vw, 4rem) !important; }
    body.page-template-page-global-cycling-home .gct-search-wrap,
    body.home .gct-search-wrap { margin-top: -78px !important; }
    body.page-template-page-global-cycling-home .gct-tour-search,
    body.home .gct-tour-search { grid-template-columns: 1fr !important; padding: 12px !important; }
    body.page-template-page-global-cycling-home .gct-search-submit,
    body.home .gct-search-submit { grid-column: auto; }
    .gct-tour-grid--featured { grid-template-columns: 1fr !important; }
    .gct-section { padding: 56px 0 !important; }
}
@media (max-width: 520px) {
    .gct-home-stats__grid { grid-template-columns: 1fr !important; }
    .gct-home-stats__grid > div { border-right: 0 !important; border-bottom: 1px solid var(--act-line) !important; }
    .gct-home-stats__grid > div:last-child { border-bottom: 0 !important; }
}
@media (prefers-reduced-motion: reduce) {
    *, *::before, *::after { scroll-behavior: auto !important; transition-duration: .01ms !important; animation-duration: .01ms !important; }
}
