/* GlobalTrekVisa typography system: Plus Jakarta Sans for display, Inter for UI/body. */
:root {
    --gtv-font-body: "Inter", "Segoe UI", Roboto, Arial, sans-serif;
    --gtv-font-display: "Plus Jakarta Sans", "Inter", "Segoe UI", Roboto, Arial, sans-serif;
    --gtv-navy: #092b49;
    --gtv-navy-2: #123f63;
    --gtv-orange: #d71920;
    --gtv-orange-dark: #a90f16;
    --gtv-accent-warm: #f59e0b;
    --gtv-sky: #eef5fb;
    --gtv-border: #dbe4ee;
    --gtv-text: #102033;
    --gtv-muted: #5f6f82;
    --gtv-white: #ffffff;
    --gtv-surface: #f6f8fb;
    --gtv-shadow: 0 18px 44px rgba(9, 43, 73, 0.10);
}

/* Override legacy theme/Elementor font stacks without changing layout geometry. */
body,
button,
input,
select,
textarea {
    font-family: var(--gtv-font-body) !important;
}

body #gtv-home,
body #gtv-home *,
body #gtv-page,
body #gtv-page *,
body .gtv-page,
body .gtv-page *,
body .gtv-vfs-page,
body .gtv-vfs-page *,
body .gtv-site-shell,
body .gtv-site-shell *,
body .gtv-form-page,
body .gtv-form-page *,
body .gtv-tracking-page,
body .gtv-tracking-page *,
body .gtv-direct-track-shell,
body .gtv-direct-track-shell * {
    font-family: var(--gtv-font-body) !important;
}

body h1,
body h2,
body h3,
body h4,
body h5,
body h6,
body #gtv-home h1,
body #gtv-home h2,
body #gtv-home h3,
body #gtv-page h1,
body #gtv-page h2,
body #gtv-page h3,
body .gtv-page h1,
body .gtv-page h2,
body .gtv-page h3,
body .gtv-vfs-page h1,
body .gtv-vfs-page h2,
body .gtv-vfs-page h3,
body .gtv-site-shell h1,
body .gtv-site-shell h2,
body .gtv-site-shell h3,
body .gtv-form-page h1,
body .gtv-form-page h2,
body .gtv-form-page h3,
body .gtv-tracking-page h1,
body .gtv-tracking-page h2,
body .gtv-tracking-page h3,
body .gtv-direct-track-shell h1,
body .gtv-direct-track-shell h2,
body .gtv-direct-track-shell h3 {
    font-family: var(--gtv-font-display) !important;
    font-weight: 700;
    letter-spacing: -0.025em;
}

body #gtv-home h1,
body #gtv-page h1,
body .gtv-page h1,
body .gtv-vfs-page h1,
body .gtv-site-shell h1,
body .gtv-form-page h1,
body .gtv-tracking-page h1,
body .gtv-direct-track-shell h1 {
    font-weight: 800;
    letter-spacing: -0.04em;
}

.gtv-site-shell, .gtv-form-page, .gtv-tracking-page {
    color: var(--gtv-text);
    font-family: Inter, "Segoe UI", Roboto, Arial, sans-serif;
    line-height: 1.55;
}

.gtv-site-shell *,.gtv-form-page *,.gtv-tracking-page *,.gtv-admin-dashboard * { box-sizing: border-box; }

.gtv-top-tabs {
    display: flex;
    gap: 24px;
    padding: 14px 42px 0;
    background: var(--gtv-white);
    border-bottom: 1px solid rgba(6, 44, 71, 0.08);
}
.gtv-top-tabs a { color: var(--gtv-text); text-decoration: none; padding-bottom: 12px; font-weight: 600; }
.gtv-top-tabs a.is-active { border-bottom: 3px solid var(--gtv-navy); }

.gtv-main-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 20px;
    padding: 24px 42px;
    background: var(--gtv-white);
}
.gtv-brand { display: inline-flex; align-items: center; gap: 12px; text-decoration: none; color: var(--gtv-navy); }
.gtv-logo-mark { width: 54px; height: 54px; border: 2px solid var(--gtv-navy); border-radius: 50%; display: grid; place-items: center; font-weight: 800; font-style: italic; font-size: 21px; letter-spacing: -2px; }
.gtv-brand-text { font-size: 20px; font-weight: 800; letter-spacing: 0.02em; text-transform: uppercase; }
.gtv-brand-text span { color: var(--gtv-orange); margin-left: 3px; }
.gtv-header-links { display: flex; gap: 26px; align-items: center; }
.gtv-header-links a { color: var(--gtv-text); text-decoration: none; font-weight: 600; }
.gtv-header-links a:hover { color: var(--gtv-orange); }
.gtv-outline-btn { border: 1px solid var(--gtv-orange); color: var(--gtv-orange); text-decoration: none; border-radius: 6px; padding: 10px 18px; font-weight: 700; background: #fff7f2; }

.gtv-hero {
    position: relative;
    min-height: 430px;
    display: flex;
    align-items: center;
    background:
        linear-gradient(105deg, rgba(6, 44, 71, 0.94), rgba(6, 44, 71, 0.75), rgba(6, 44, 71, 0.35)),
        radial-gradient(circle at 78% 34%, rgba(255,255,255,0.26), transparent 20%),
        linear-gradient(135deg, #154a6d, #0b2f4f 55%, #f15a24 160%);
    overflow: hidden;
}
.gtv-hero:after {
    content: "";
    position: absolute;
    inset: 0;
    background-image:
        linear-gradient(30deg, rgba(255,255,255,0.07) 12%, transparent 12%, transparent 50%, rgba(255,255,255,0.07) 50%, rgba(255,255,255,0.07) 62%, transparent 62%);
    background-size: 52px 52px;
    opacity: 0.22;
    pointer-events: none;
}
.gtv-hero-content { position: relative; z-index: 1; max-width: 760px; padding: 64px 42px 95px; color: var(--gtv-white); }
.gtv-eyebrow { margin: 0 0 10px; color: #496276; text-transform: none; letter-spacing: 0.01em; font-weight: 700; }
.gtv-hero .gtv-eyebrow { color: rgba(255,255,255,0.78); }
.gtv-hero h1 { margin: 0; color: var(--gtv-white); font-size: clamp(34px, 5vw, 62px); line-height: 1.05; font-weight: 600; }
.gtv-hero p:not(.gtv-eyebrow) { max-width: 650px; font-size: 19px; color: rgba(255,255,255,0.86); }

.gtv-category-strip {
    display: grid;
    grid-template-columns: repeat(5, 1fr);
    max-width: 1120px;
    margin: -45px auto 0;
    position: relative;
    z-index: 3;
    background: var(--gtv-white);
    border: 1px solid var(--gtv-border);
    box-shadow: var(--gtv-shadow);
}
.gtv-category-strip a { padding: 19px 18px; text-align: center; text-decoration: none; color: var(--gtv-text); font-weight: 700; border-right: 1px solid var(--gtv-border); }
.gtv-category-strip a:last-child { border-right: 0; }
.gtv-category-strip a.is-active, .gtv-category-strip a:hover { background: var(--gtv-sky); color: var(--gtv-orange); }

.gtv-card-raised {
    background: var(--gtv-white);
    border: 1px solid var(--gtv-border);
    box-shadow: var(--gtv-shadow);
    border-bottom: 4px solid var(--gtv-orange);
    border-radius: 3px;
}
.gtv-service-finder { max-width: 1060px; margin: 26px auto 54px; padding: 28px; }
.gtv-inline-form { display: flex; gap: 22px; align-items: end; flex-wrap: wrap; }
.gtv-inline-form label { flex: 1 1 220px; font-weight: 700; color: var(--gtv-text); }
.gtv-inline-form select, .gtv-inline-form input, .gtv-application-form input, .gtv-application-form select, .gtv-application-form textarea, .gtv-tracking-form input, .gtv-admin-dashboard input, .gtv-admin-dashboard select, .gtv-admin-dashboard textarea {
    width: 100%;
    border: 1px solid var(--gtv-border);
    border-radius: 6px;
    padding: 12px 13px;
    margin-top: 7px;
    min-height: 44px;
    background: var(--gtv-white);
    color: var(--gtv-text);
}
.gtv-orange-btn { background: var(--gtv-orange); color: var(--gtv-white); border: 0; border-radius: 6px; padding: 13px 24px; font-weight: 800; cursor: pointer; text-decoration: none; display: inline-block; }
.gtv-orange-btn:hover { background: var(--gtv-orange-dark); color: var(--gtv-white); }
.gtv-protection-note { margin-top: 22px; background: #eaf5fb; border-left: 4px solid var(--gtv-navy); padding: 14px 18px; }
.gtv-protection-note strong { color: var(--gtv-navy); }

.gtv-action-panels { max-width: 1120px; margin: 0 auto 70px; display: grid; grid-template-columns: repeat(3, 1fr); gap: 22px; }
.gtv-action-panels article { padding: 28px; border: 1px solid var(--gtv-border); background: var(--gtv-white); min-height: 220px; }
.gtv-action-panels h2 { margin: 12px 0 10px; font-size: 26px; color: var(--gtv-navy); }
.gtv-action-panels a, .gtv-insight-row a, .gtv-finder-result a { color: var(--gtv-orange); font-weight: 800; }
.gtv-panel-icon { color: var(--gtv-orange); font-weight: 900; font-size: 26px; }

.gtv-section { max-width: 1120px; margin: 70px auto; padding: 0 10px; }
.gtv-section h2 { font-size: clamp(30px, 4vw, 48px); line-height: 1.18; font-weight: 500; color: var(--gtv-navy); max-width: 930px; }
.gtv-service-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 16px; margin-top: 42px; }
.gtv-service-card { min-height: 190px; border-radius: 8px; padding: 18px; display: flex; flex-direction: column; justify-content: space-between; color: var(--gtv-navy); }
.gtv-service-card span { font-weight: 900; font-size: 15px; }
.gtv-service-card strong { font-size: 18px; line-height: 1.3; }
.gtv-green { background: linear-gradient(135deg, #e9f6ad, #60d0b7); }
.gtv-peach { background: linear-gradient(135deg, #ffd7c6, #f5a7a8); }
.gtv-blue { background: linear-gradient(135deg, #c7f0f4, #d5b7ed); }
.gtv-cyan { background: linear-gradient(135deg, #7edff0, #43b0db); }

.gtv-footprint { background: #fbfdff; border-top: 1px solid var(--gtv-border); border-bottom: 1px solid var(--gtv-border); padding: 72px 42px; position: relative; overflow: hidden; }
.gtv-footprint:before { content: ""; position: absolute; inset: 14px; opacity: 0.06; background: radial-gradient(circle at 30% 40%, var(--gtv-navy), transparent 30%), radial-gradient(circle at 70% 60%, var(--gtv-navy), transparent 26%); }
.gtv-footprint > * { position: relative; z-index: 1; max-width: 1120px; margin-left: auto; margin-right: auto; }
.gtv-footprint h2 { font-size: clamp(30px, 4vw, 52px); color: var(--gtv-navy); font-weight: 500; margin: 0; }
.gtv-muted { color: var(--gtv-muted); }
.gtv-metrics { display: flex; gap: 80px; margin-top: 64px; }
.gtv-metrics span { display: flex; flex-direction: column; }
.gtv-metrics strong { color: var(--gtv-orange); font-size: 42px; font-weight: 500; }
.gtv-metrics em { color: var(--gtv-muted); font-style: normal; }

.gtv-quote-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 28px; }
.gtv-quote-grid blockquote { margin: 0; border-left: 0; padding: 0; color: var(--gtv-text); }
.gtv-quote-grid blockquote:before { content: "“"; display: block; color: var(--gtv-orange); font-size: 48px; line-height: 0.8; font-weight: 900; }
.gtv-quote-grid cite { display: block; color: var(--gtv-muted); font-style: normal; margin-top: 28px; }

.gtv-insight-row { border-top: 1px solid var(--gtv-border); display: grid; grid-template-columns: 1fr 1.7fr; gap: 36px; padding: 34px 0; align-items: center; }
.gtv-image-placeholder { min-height: 220px; display: grid; place-items: center; background: linear-gradient(135deg, #dfeef7, #b6d0e2); color: var(--gtv-navy); font-size: 30px; font-weight: 900; border-radius: 4px; }
.gtv-image-placeholder.gtv-alt { background: linear-gradient(135deg, #fce8dd, #f7b28e); }

.gtv-bottom-finder { background: #f6f8fa; padding: 60px 42px; }
.gtv-bottom-finder h2, .gtv-bottom-finder .gtv-mini-finder { max-width: 1120px; margin-left: auto; margin-right: auto; }
.gtv-bottom-finder h2 { color: var(--gtv-navy); font-size: clamp(30px, 4vw, 48px); font-weight: 500; }
.gtv-mini-finder { background: var(--gtv-white); padding: 24px; border-bottom: 4px solid var(--gtv-orange); box-shadow: var(--gtv-shadow); }
.gtv-finder-result { margin-top: 18px; padding: 14px; background: var(--gtv-sky); display: flex; gap: 14px; flex-wrap: wrap; align-items: center; }

.gtv-footer { padding: 34px 42px; background: #f6f8fa; text-align: center; border-top: 1px solid var(--gtv-border); display: flex; gap: 24px; justify-content: center; flex-wrap: wrap; }
.gtv-footer a { color: var(--gtv-text); }
.gtv-footer span { flex-basis: 100%; color: var(--gtv-muted); }

.gtv-page-hero.small { background: linear-gradient(135deg, var(--gtv-navy), var(--gtv-navy-2)); color: white; padding: 56px 42px; margin-bottom: 34px; }
.gtv-page-hero.small .gtv-eyebrow, .gtv-page-hero.small h1, .gtv-page-hero.small p { color: white; max-width: 900px; }
.gtv-page-hero.small h1 { font-size: clamp(34px, 5vw, 56px); margin: 0 0 12px; }
.gtv-application-form, .gtv-tracking-form, .gtv-status-card { max-width: 980px; margin: 0 auto 32px; padding: 28px; }
.gtv-form-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 18px; }
.gtv-form-grid.compact { grid-template-columns: repeat(3, 1fr); }
.gtv-application-form label, .gtv-tracking-form label, .gtv-admin-form label { display: block; font-weight: 700; margin-bottom: 16px; }
.gtv-checkbox { display: flex !important; gap: 10px; align-items: start; font-weight: 500 !important; }
.gtv-checkbox input { width: auto; margin-top: 5px; min-height: auto; }
.gtv-notice { max-width: 980px; margin: 0 auto 24px; padding: 16px 18px; border-radius: 6px; }
.gtv-notice-success { background: #e9f8ef; border: 1px solid #b7e5c7; }
.gtv-notice-error { background: #fff2ef; border: 1px solid #ffc8bd; }
.gtv-tracking-code { display: inline-block; background: var(--gtv-navy); color: white; padding: 4px 8px; border-radius: 4px; cursor: pointer; }
.gtv-status-head { display: flex; justify-content: space-between; gap: 22px; align-items: center; }
.gtv-status-head h2 { margin: 0; color: var(--gtv-navy); }
.gtv-status-pill { background: var(--gtv-orange); color: white; border-radius: 999px; padding: 9px 16px; font-weight: 800; }
.gtv-status-details { display: grid; grid-template-columns: repeat(4, 1fr); gap: 18px; margin: 28px 0; }
.gtv-status-details div { background: #f8fbfd; padding: 14px; border: 1px solid var(--gtv-border); }
.gtv-status-details dt { color: var(--gtv-muted); }
.gtv-status-details dd { margin: 4px 0 0; font-weight: 800; color: var(--gtv-text); }
.gtv-status-timeline { display: grid; gap: 12px; margin-top: 22px; }
.gtv-timeline-step { display: grid; grid-template-columns: 24px 1fr; gap: 12px; align-items: center; color: var(--gtv-muted); }
.gtv-timeline-step span { width: 16px; height: 16px; border-radius: 50%; border: 2px solid var(--gtv-border); background: white; }
.gtv-timeline-step.is-complete span { border-color: var(--gtv-orange); background: var(--gtv-orange); }
.gtv-timeline-step.is-current strong { color: var(--gtv-orange); }
.gtv-admin-note { margin-top: 22px; padding: 16px; background: var(--gtv-sky); border-left: 4px solid var(--gtv-navy); }

.gtv-admin-dashboard .description { color: #617386; }
.gtv-admin-stats { display: grid; grid-template-columns: repeat(auto-fit, minmax(150px, 1fr)); gap: 12px; margin: 20px 0; }
.gtv-admin-stats div { background: #fff; border: 1px solid #dce6ee; border-left: 4px solid var(--gtv-orange); padding: 14px; }
.gtv-admin-stats strong { display: block; font-size: 28px; color: var(--gtv-navy); }
.gtv-admin-layout { display: grid; grid-template-columns: 2fr 1fr; gap: 18px; align-items: start; }
.gtv-admin-panel { background: #fff; border: 1px solid #dce6ee; padding: 18px; margin-bottom: 18px; }
.gtv-admin-form textarea, .gtv-row-form textarea { width: 100%; }
.gtv-admin-search { display: grid; gap: 10px; }
.gtv-applications-table td { vertical-align: top; }
.gtv-row-form { display: grid; gap: 8px; }

@media (max-width: 900px) {
    .gtv-category-strip, .gtv-action-panels, .gtv-service-grid, .gtv-quote-grid, .gtv-insight-row, .gtv-admin-layout { grid-template-columns: 1fr; }
    .gtv-header-links { display: none; }
    .gtv-metrics { gap: 28px; flex-wrap: wrap; }
    .gtv-status-details { grid-template-columns: repeat(2, 1fr); }
}

@media (max-width: 760px) {
    .gtv-top-tabs, .gtv-main-header, .gtv-hero-content, .gtv-bottom-finder, .gtv-footer, .gtv-page-hero.small { padding-left: 20px; padding-right: 20px; }
    .gtv-main-header { flex-wrap: wrap; }
    .gtv-category-strip { margin: 0; }
    .gtv-service-finder, .gtv-action-panels, .gtv-section, .gtv-application-form, .gtv-tracking-form, .gtv-status-card { margin-left: 16px; margin-right: 16px; }
    .gtv-form-grid, .gtv-form-grid.compact, .gtv-status-details { grid-template-columns: 1fr; }
    .gtv-status-head { align-items: start; flex-direction: column; }
}


/* Direct visa tracking layout coordinated with Dave: compact VFS-style hero + card + metadata/history panels. */
.gtv-direct-track-shell {
    color: var(--gtv-text);
    font-family: Inter, "Segoe UI", Roboto, Arial, sans-serif;
}
.gtv-direct-track-hero {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 320px;
    gap: 28px;
    align-items: end;
    padding: 58px 42px;
    background: linear-gradient(135deg, var(--gtv-navy), #12476a 72%, #f15a24 160%);
    color: #fff;
}
.gtv-direct-track-hero .gtv-eyebrow,
.gtv-direct-track-hero h1,
.gtv-direct-track-hero p { color: #fff; }
.gtv-direct-track-hero h1 { margin: 0 0 12px; font-size: clamp(34px, 5vw, 56px); line-height: 1.08; }
.gtv-direct-track-help { background: rgba(255,255,255,0.12); border: 1px solid rgba(255,255,255,0.25); padding: 18px; border-radius: 8px; display: grid; gap: 6px; }
.gtv-direct-track-form { max-width: 980px; margin: -28px auto 32px; padding: 24px; position: relative; z-index: 2; display: grid; grid-template-columns: 1fr auto; gap: 18px; align-items: end; }
.gtv-direct-track-form label { font-weight: 800; }
.gtv-direct-track-form input { width: 100%; border: 1px solid var(--gtv-border); border-radius: 6px; padding: 13px; margin-top: 7px; min-height: 46px; }
.gtv-direct-track-card { max-width: 980px; margin: 0 auto 42px; padding: 28px; }
.gtv-direct-track-card-head { display: flex; justify-content: space-between; gap: 22px; align-items: center; border-bottom: 1px solid var(--gtv-border); padding-bottom: 18px; }
.gtv-direct-track-card-head h2 { color: var(--gtv-navy); margin: 4px 0 0; font-size: clamp(26px, 4vw, 40px); }
.gtv-direct-track-summary { font-size: 18px; background: var(--gtv-sky); border-left: 4px solid var(--gtv-orange); padding: 16px 18px; margin: 22px 0; }
.gtv-direct-track-meta { display: grid; grid-template-columns: repeat(4, 1fr); gap: 14px; margin: 24px 0; }
.gtv-direct-track-meta div { border: 1px solid var(--gtv-border); background: #fbfdff; padding: 14px; border-radius: 6px; }
.gtv-direct-track-meta dt { color: var(--gtv-muted); font-size: 13px; }
.gtv-direct-track-meta dd { color: var(--gtv-text); font-weight: 800; margin: 3px 0 0; }
.gtv-direct-track-history { margin-top: 26px; border-top: 1px solid var(--gtv-border); padding-top: 22px; }
.gtv-direct-track-history h3 { color: var(--gtv-navy); margin-top: 0; }
.gtv-history-item { display: grid; grid-template-columns: 190px 170px 1fr; gap: 12px; padding: 12px 0; border-bottom: 1px solid var(--gtv-border); }
.gtv-history-item strong { color: var(--gtv-navy); }
.gtv-history-item span { color: var(--gtv-muted); }
.gtv-history-item p { margin: 0; }

@media (max-width: 900px) {
    .gtv-direct-track-hero, .gtv-direct-track-form, .gtv-direct-track-meta, .gtv-history-item { grid-template-columns: 1fr; }
    .gtv-direct-track-form { margin-left: 16px; margin-right: 16px; }
}

.gtv-track-message.is-loading { background: #eef6ff; color: #0f4f71; }
.gtv-track-message.is-success { background: #e8f8dc; color: #163300; }
.gtv-track-message.is-error { background: #ffe8e5; color: #8a1f11; }
.gtv-home-track-result { display: grid; gap: 12px; }
.gtv-home-track-head { display: flex; justify-content: space-between; gap: 14px; align-items: center; }
.gtv-home-track-head strong { display: block; color: var(--gtv-navy); font-size: 18px; margin-top: 3px; }
.gtv-home-track-result p { margin: 0; color: inherit; }
.gtv-home-track-result dl { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; margin: 0; }
.gtv-home-track-result dt { color: var(--gtv-muted); font-size: 12px; }
.gtv-home-track-result dd { margin: 2px 0 0; font-weight: 800; color: var(--gtv-text); }
.gtv-home-track-link { font-weight: 900; color: var(--gtv-navy); text-decoration: underline; }
@media(max-width:700px){ .gtv-home-track-head, .gtv-home-track-result dl { grid-template-columns: 1fr; flex-direction: column; align-items: flex-start; } }



/* Shared AJAX tracking result used by homepage, corner popup, and floating tracking widgets. */
.gtv-shared-track-result,
.gtv-corner-track-result,
.gtv-popup-track-result {
    display: grid;
    gap: 12px;
}
.gtv-corner-track-result .gtv-home-track-head,
.gtv-popup-track-result .gtv-home-track-head,
.gtv-shared-track-result .gtv-home-track-head {
    display: flex;
    justify-content: space-between;
    gap: 14px;
    align-items: center;
}
.gtv-corner-track-result dl,
.gtv-popup-track-result dl,
.gtv-shared-track-result dl {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px;
    margin: 0;
}
.gtv-corner-track-result dt,
.gtv-popup-track-result dt,
.gtv-shared-track-result dt {
    color: var(--gtv-muted);
    font-size: 12px;
}
.gtv-corner-track-result dd,
.gtv-popup-track-result dd,
.gtv-shared-track-result dd {
    margin: 2px 0 0;
    font-weight: 800;
    color: var(--gtv-text);
}
@media(max-width:700px){
    .gtv-corner-track-result .gtv-home-track-head,
    .gtv-popup-track-result .gtv-home-track-head,
    .gtv-shared-track-result .gtv-home-track-head,
    .gtv-corner-track-result dl,
    .gtv-popup-track-result dl,
    .gtv-shared-track-result dl {
        grid-template-columns: 1fr;
        flex-direction: column;
        align-items: flex-start;
    }
}


/* MANI tracking sync visibility: homepage, corner popup, and floating trackers share the same result box. */
.gtv-track-message { display:none; margin-top:14px; padding:14px; border-radius:12px; border:1px solid var(--gtv-border); background:#fff; box-shadow:0 10px 28px rgba(6,44,71,.10); }
.gtv-track-message.is-loading,.gtv-track-message.is-success,.gtv-track-message.is-error { display:block; }
.gtv-track-message.is-loading { background:#eef6ff; color:#0f4f71; }
.gtv-track-message.is-success { background:#e8f8dc; color:#163300; }
.gtv-track-message.is-error { background:#ffe8e5; color:#8a1f11; }
.gtv-track-message .gtv-shared-track-result { display:grid; gap:12px; }
.gtv-track-message .gtv-home-track-link { display:inline-block; margin-top:4px; }
.gtv-track-loading { display:inline-flex; align-items:center; gap:8px; }
.gtv-track-spinner { width:1.1em; height:1.1em; min-width:1.1em; flex:0 0 auto; border:2.5px solid currentColor; border-right-color:transparent; border-radius:50%; animation:gtv-track-spin .75s linear infinite; will-change:transform; }
@keyframes gtv-track-spin { to { transform:rotate(360deg); } }
@media (prefers-reduced-motion: reduce) { .gtv-track-spinner { animation:none; border-right-color:currentColor; } }


/* Uploaded GlobalTrekVisa branding assets. The mark replaces legacy CSS-only branding. */
body .gtv-logo-mark,
body #gtv-home .gtv-logo-mark,
body #gtv-page .gtv-logo-mark,
body .gtv-page .gtv-logo-mark,
body .gtv-vfs-page .gtv-logo-mark,
body .gtv-site-shell .gtv-logo-mark {
    background: transparent url("https://globaltrekvisa.com/wp-content/uploads/2026/08/globaltrekvisa-logo-mark.png") center / contain no-repeat !important;
    border: 0 !important;
    border-radius: 12px !important;
    box-shadow: none !important;
    color: transparent !important;
    font-size: 0 !important;
    line-height: 0 !important;
}

/* Keep the full uploaded logo visible in the footer without disturbing its content. */
body .gtv-footer::before,
body .gtv-consistency-footer::before {
    content: "";
    display: block;
    width: 108px;
    height: 86px;
    margin: 0 auto 16px;
    border-radius: 14px;
    background: #fff url("https://globaltrekvisa.com/wp-content/uploads/2026/08/globaltrekvisa-logo-full.png") center / contain no-repeat;
    box-shadow: 0 12px 30px rgba(0, 0, 0, .12);
}

@media (max-width: 640px) {
    body .gtv-footer::before,
    body .gtv-consistency-footer::before {
        width: 92px;
        height: 74px;
        margin-bottom: 14px;
    }
}


/* Carol 1.5.0 redesign: VFS-style service-centre content strategy in an original light corporate theme. */
body .gtv-site-shell {
    background: #ffffff;
    color: var(--gtv-text);
}
body .gtv-top-tabs {
    align-items: center;
    background: #f8fafc;
    border-bottom: 1px solid var(--gtv-border);
    gap: 20px;
    padding: 10px 42px 0;
}
body .gtv-top-tabs a {
    color: var(--gtv-muted);
    font-size: 13px;
    font-weight: 700;
}
body .gtv-top-tabs a.is-active {
    border-bottom-color: var(--gtv-orange);
    color: var(--gtv-navy);
}
body .gtv-top-tabs .gtv-utility-link {
    margin-left: auto;
    font-size: 12px;
    opacity: .72;
}
body .gtv-main-header {
    border-bottom: 1px solid rgba(217, 226, 239, .8);
    padding: 18px 42px;
    position: sticky;
    top: 0;
    z-index: 20;
}
body.admin-bar .gtv-main-header { top: 32px; }
body .gtv-header-links { gap: 20px; }
body .gtv-header-links a,
body .gtv-footer a {
    color: var(--gtv-text);
}
body .gtv-header-links a:hover,
body .gtv-footer a:hover,
body .gtv-action-panels a,
body .gtv-country-card a,
body .gtv-work-card a,
body .gtv-appointment-grid a,
body .gtv-finder-result a {
    color: var(--gtv-orange);
}
body .gtv-outline-btn,
body .gtv-secondary-btn {
    border: 1px solid var(--gtv-orange);
    color: var(--gtv-orange);
    background: #ffffff;
    border-radius: 0;
    padding: 12px 18px;
    font-weight: 800;
    text-decoration: none;
}
body .gtv-primary-btn,
body .gtv-orange-btn {
    align-items: center;
    background: var(--gtv-orange);
    border: 1px solid var(--gtv-orange);
    border-radius: 0;
    color: #ffffff;
    cursor: pointer;
    display: inline-flex;
    font-weight: 800;
    justify-content: center;
    min-height: 48px;
    padding: 13px 22px;
    text-decoration: none;
}
body .gtv-primary-btn:hover,
body .gtv-orange-btn:hover {
    background: var(--gtv-orange-dark);
    border-color: var(--gtv-orange-dark);
    color: #ffffff;
}
body .gtv-secondary-btn:hover,
body .gtv-outline-btn:hover {
    background: var(--gtv-sky);
    color: var(--gtv-orange-dark);
}
body .gtv-hero {
    background:
        linear-gradient(90deg, rgba(255,255,255,.98) 0%, rgba(248,250,252,.96) 44%, rgba(237,245,255,.94) 100%),
        radial-gradient(circle at 82% 26%, rgba(15,98,254,.18), transparent 28%),
        linear-gradient(135deg, #ffffff, #edf5ff);
    border-bottom: 1px solid var(--gtv-border);
    min-height: auto;
}
body .gtv-hero:after {
    background-image: linear-gradient(90deg, rgba(15, 98, 254, .08) 1px, transparent 1px), linear-gradient(0deg, rgba(15, 98, 254, .08) 1px, transparent 1px);
    background-size: 48px 48px;
    opacity: .4;
}
body .gtv-hero-content {
    color: var(--gtv-text);
    max-width: 1120px;
    padding: 72px 42px 112px;
}
body .gtv-hero .gtv-eyebrow,
body .gtv-eyebrow {
    color: var(--gtv-orange);
    font-size: 13px;
    font-weight: 900;
    letter-spacing: .08em;
    text-transform: uppercase;
}
body .gtv-hero h1 {
    color: var(--gtv-navy);
    font-size: clamp(36px, 5vw, 64px);
    font-weight: 800;
    line-height: 1.04;
    max-width: 980px;
}
body .gtv-hero p:not(.gtv-eyebrow) {
    color: var(--gtv-muted);
    font-size: 18px;
    max-width: 820px;
}
.gtv-hero-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
    margin-top: 28px;
}
body .gtv-card-raised {
    border: 1px solid var(--gtv-border);
    border-bottom: 0;
    border-radius: 0;
    box-shadow: var(--gtv-shadow);
}
.gtv-route-selector {
    max-width: 1120px;
    margin: -54px auto 56px;
    overflow: hidden;
    position: relative;
    z-index: 4;
}
.gtv-finder-heading {
    align-items: center;
    background: var(--gtv-navy);
    color: #ffffff;
    display: flex;
    gap: 16px;
    padding: 20px 24px;
}
.gtv-finder-heading > span {
    align-items: center;
    background: #ffffff;
    color: var(--gtv-orange);
    display: inline-flex;
    font-weight: 900;
    height: 36px;
    justify-content: center;
    width: 36px;
}
.gtv-finder-heading .gtv-eyebrow,
.gtv-finder-heading h2 {
    color: #ffffff;
    margin: 0;
}
.gtv-finder-heading h2 {
    font-size: 22px;
    font-weight: 700;
    letter-spacing: 0;
}
.gtv-route-selector .gtv-inline-form {
    padding: 24px;
}
.gtv-helper-text {
    background: #f8fafc;
    border-top: 1px solid var(--gtv-border);
    color: var(--gtv-muted);
    padding: 16px 24px 22px;
}
body .gtv-inline-form select,
body .gtv-inline-form input,
body .gtv-application-form input,
body .gtv-application-form select,
body .gtv-application-form textarea,
body .gtv-tracking-form input,
body .gtv-admin-dashboard input,
body .gtv-admin-dashboard select,
body .gtv-admin-dashboard textarea {
    background: #f8fafc;
    border: 0;
    border-bottom: 2px solid var(--gtv-border);
    border-radius: 0;
    min-height: 48px;
}
body .gtv-inline-form select:focus,
body .gtv-inline-form input:focus,
body .gtv-application-form input:focus,
body .gtv-application-form select:focus,
body .gtv-tracking-form input:focus {
    border-bottom-color: var(--gtv-orange);
    outline: 2px solid rgba(15,98,254,.18);
}
body .gtv-action-panels {
    grid-template-columns: repeat(4, minmax(0, 1fr));
    margin-bottom: 64px;
}
body .gtv-action-panels article,
.gtv-country-card,
.gtv-work-card,
.gtv-appointment-grid article,
.gtv-journey-steps article {
    background: #ffffff;
    border: 1px solid var(--gtv-border);
    border-radius: 0;
    min-height: 0;
    padding: 24px;
}
body .gtv-action-panels article:hover,
.gtv-country-card:hover,
.gtv-work-card:hover,
.gtv-appointment-grid article:hover {
    background: #f8fafc;
}
body .gtv-action-panels h2,
.gtv-country-card h3,
.gtv-work-card h3,
.gtv-appointment-grid h3,
.gtv-journey-steps h3 {
    color: var(--gtv-navy);
}
body .gtv-panel-icon,
.gtv-journey-steps span {
    color: var(--gtv-orange);
    font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace;
}
body .gtv-section {
    margin: 76px auto;
}
body .gtv-section h2,
body .gtv-bottom-finder h2,
.gtv-cta-band h2 {
    color: var(--gtv-navy);
    font-weight: 700;
    letter-spacing: -.02em;
}
.gtv-journey-steps {
    display: grid;
    gap: 1px;
    grid-template-columns: repeat(5, minmax(0, 1fr));
    margin-top: 32px;
}
.gtv-journey-steps article {
    background: #f8fafc;
}
.gtv-journey-steps span {
    display: block;
    font-size: 24px;
    font-weight: 900;
    margin-bottom: 16px;
}
.gtv-country-grid,
.gtv-work-grid,
.gtv-appointment-grid {
    display: grid;
    gap: 16px;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    margin-top: 32px;
}
.gtv-work-grid,
.gtv-appointment-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
}
.gtv-country-card span,
.gtv-work-card span {
    color: var(--gtv-orange);
    display: block;
    font-size: 12px;
    font-weight: 900;
    letter-spacing: .06em;
    min-height: 34px;
    text-transform: uppercase;
}
.gtv-country-card p,
.gtv-work-card p,
.gtv-appointment-grid p,
.gtv-journey-steps p {
    color: var(--gtv-muted);
}
.gtv-chip-row {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
    margin: 16px 0;
}
.gtv-chip-row em {
    background: var(--gtv-sky);
    color: var(--gtv-orange-dark);
    font-size: 11px;
    font-style: normal;
    font-weight: 800;
    padding: 4px 8px;
}
.gtv-work-visas {
    background: #f8fafc;
    max-width: none;
    padding: 72px max(42px, calc((100vw - 1120px) / 2));
}
.gtv-work-visas > .gtv-eyebrow,
.gtv-work-visas > h2,
.gtv-work-visas > .gtv-work-grid {
    max-width: 1120px;
    margin-left: auto;
    margin-right: auto;
}
body .gtv-bottom-finder {
    background: #f8fafc;
    border-top: 1px solid var(--gtv-border);
    border-bottom: 1px solid var(--gtv-border);
}
body .gtv-mini-finder {
    border: 1px solid var(--gtv-border);
    border-bottom: 0;
    box-shadow: none;
}
body .gtv-finder-result {
    align-items: center;
    background: var(--gtv-sky);
    border-left: 4px solid var(--gtv-orange);
    padding: 16px;
}
.gtv-cta-band {
    align-items: center;
    background: var(--gtv-navy);
    color: #ffffff;
    display: flex;
    gap: 32px;
    justify-content: space-between;
    padding: 58px max(42px, calc((100vw - 1120px) / 2));
}
.gtv-cta-band .gtv-eyebrow,
.gtv-cta-band h2 {
    color: #ffffff;
    margin-top: 0;
}
.gtv-cta-band .gtv-secondary-btn {
    background: transparent;
    border-color: rgba(255,255,255,.8);
    color: #ffffff;
}
body .gtv-footer {
    background: #ffffff;
    border-top: 1px solid var(--gtv-border);
    text-align: left;
}
body .gtv-footer span {
    color: var(--gtv-muted);
    font-size: 13px;
}
body .gtv-footer .gtv-footer-agent {
    color: var(--gtv-muted);
    font-size: 12px;
    margin-left: 8px;
    opacity: .7;
}
@media (max-width: 1100px) {
    body .gtv-action-panels,
    .gtv-country-grid,
    .gtv-work-grid,
    .gtv-appointment-grid,
    .gtv-journey-steps {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}
@media (max-width: 760px) {
    body.admin-bar .gtv-main-header { top: 46px; }
    body .gtv-main-header { position: relative; top: auto; }
    body .gtv-hero-content { padding: 48px 20px 92px; }
    .gtv-route-selector { margin: -42px 16px 44px; }
    body .gtv-action-panels,
    .gtv-country-grid,
    .gtv-work-grid,
    .gtv-appointment-grid,
    .gtv-journey-steps {
        grid-template-columns: 1fr;
    }
    .gtv-cta-band {
        align-items: flex-start;
        flex-direction: column;
        padding-left: 20px;
        padding-right: 20px;
    }
    body .gtv-top-tabs .gtv-utility-link { margin-left: 0; }
}


/* Alice/Bob/Carol 1.5.1 final visual redesign: original VFS-inspired light service-centre finish. */
body #gtv-home,
body .gtv-site-shell,
body .gtv-vfs-page {
    background: var(--gtv-surface) !important;
    color: var(--gtv-text) !important;
    font-family: var(--gtv-font-body) !important;
}
body #gtv-home h1,
body #gtv-home h2,
body #gtv-home h3,
body .gtv-site-shell h1,
body .gtv-site-shell h2,
body .gtv-site-shell h3 {
    color: var(--gtv-navy) !important;
    font-family: var(--gtv-font-display) !important;
    letter-spacing: -0.035em;
}
body .gtv-topbar,
body .gtv-top-tabs {
    background: #ffffff !important;
    border-bottom: 1px solid var(--gtv-border) !important;
    box-shadow: none !important;
    color: #526274 !important;
}
body .gtv-topbar *,
body .gtv-top-tabs a {
    color: #526274 !important;
}
body .gtv-top-tabs a.is-active,
body .gtv-topbar strong,
body .gtv-topbar b {
    color: var(--gtv-navy) !important;
}
body .gtv-top-tabs a.is-active {
    border-bottom-color: var(--gtv-orange) !important;
}
body .gtv-main-header,
body .gtv-header {
    background: rgba(255,255,255,.96) !important;
    border-bottom: 1px solid var(--gtv-border) !important;
    box-shadow: 0 10px 30px rgba(9,43,73,.05) !important;
}
body .gtv-brand,
body .gtv-brand-text,
body .gtv-header a,
body .gtv-header-links a {
    color: var(--gtv-navy) !important;
}
body .gtv-brand-text span,
body .gtv-header a:hover,
body .gtv-header-links a:hover {
    color: var(--gtv-orange) !important;
}
body .gtv-hero {
    background:
        linear-gradient(104deg, #ffffff 0%, #f9fbfd 56%, #eef5fb 100%) !important;
    border-bottom: 1px solid var(--gtv-border) !important;
    box-shadow: none !important;
    color: var(--gtv-text) !important;
    min-height: auto !important;
    overflow: hidden;
}
body .gtv-hero:after {
    background-image:
        linear-gradient(90deg, rgba(9,43,73,.055) 1px, transparent 1px),
        linear-gradient(0deg, rgba(9,43,73,.055) 1px, transparent 1px) !important;
    background-size: 56px 56px !important;
    opacity: .65 !important;
}
body .gtv-hero-layout {
    align-items: center;
    display: grid;
    gap: 44px;
    grid-template-columns: minmax(0, 1.08fr) minmax(340px, .72fr);
    margin: 0 auto;
    max-width: 1180px;
    padding: 74px 42px 104px;
    position: relative;
    z-index: 1;
}
body .gtv-hero-content {
    color: var(--gtv-text) !important;
    max-width: none !important;
    padding: 0 !important;
    position: relative;
    z-index: 2;
}
body .gtv-hero .gtv-eyebrow,
body .gtv-eyebrow {
    color: var(--gtv-orange) !important;
    font-weight: 900 !important;
    letter-spacing: .09em !important;
    text-transform: uppercase !important;
}
body .gtv-hero h1 {
    color: var(--gtv-navy) !important;
    font-size: clamp(38px, 5vw, 66px) !important;
    font-weight: 800 !important;
    line-height: 1.03 !important;
    margin-bottom: 18px !important;
    max-width: 860px !important;
}
body .gtv-hero p:not(.gtv-eyebrow) {
    color: var(--gtv-muted) !important;
    font-size: 18px !important;
    line-height: 1.75 !important;
    max-width: 760px !important;
}
body .gtv-hero-visual {
    position: relative;
    z-index: 2;
}
body .gtv-hero-visual:before {
    background: radial-gradient(circle, rgba(215,25,32,.13), transparent 68%);
    content: "";
    height: 420px;
    position: absolute;
    right: -120px;
    top: -80px;
    width: 420px;
    z-index: -1;
}
body .gtv-visual-window {
    background: #ffffff;
    border: 1px solid var(--gtv-border);
    border-radius: 18px;
    box-shadow: 0 24px 70px rgba(9,43,73,.14);
    overflow: hidden;
    padding: 24px;
}
body .gtv-visual-top {
    background: #f3f6fa;
    border-bottom: 1px solid var(--gtv-border);
    display: flex;
    gap: 7px;
    margin: -24px -24px 22px;
    padding: 14px 18px;
}
body .gtv-visual-top span {
    background: #c8d4df;
    border-radius: 50%;
    height: 9px;
    width: 9px;
}
body .gtv-visual-top span:first-child { background: var(--gtv-orange); }
body .gtv-visual-passport,
body .gtv-visual-status {
    align-items: center;
    background: #f8fafc;
    border: 1px solid var(--gtv-border);
    border-radius: 14px;
    display: flex;
    gap: 14px;
    margin-bottom: 14px;
    padding: 16px;
}
body .gtv-passport-icon {
    background: linear-gradient(145deg, var(--gtv-navy), var(--gtv-navy-2));
    border-radius: 9px;
    box-shadow: inset 0 0 0 2px rgba(255,255,255,.14);
    height: 58px;
    position: relative;
    width: 44px;
}
body .gtv-passport-icon:after {
    border: 2px solid rgba(255,255,255,.78);
    border-radius: 50%;
    content: "";
    height: 20px;
    left: 10px;
    position: absolute;
    top: 14px;
    width: 20px;
}
body .gtv-visual-window strong {
    color: var(--gtv-navy);
    display: block;
    font-weight: 900;
}
body .gtv-visual-window small {
    color: var(--gtv-muted);
    display: block;
    margin-top: 3px;
}
body .gtv-status-dot {
    background: var(--gtv-orange);
    border: 6px solid #ffe7e9;
    border-radius: 50%;
    height: 28px;
    width: 28px;
}
body .gtv-visual-steps {
    display: grid;
    gap: 8px;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    margin-top: 18px;
}
body .gtv-visual-steps span {
    background: #ffffff;
    border: 1px solid var(--gtv-border);
    border-radius: 999px;
    color: var(--gtv-navy);
    font-size: 12px;
    font-weight: 800;
    padding: 9px 11px;
}
body .gtv-primary-btn,
body .gtv-orange-btn,
body .gtv-btn-primary,
body .gtv-contact-action {
    background: var(--gtv-orange) !important;
    border: 1px solid var(--gtv-orange) !important;
    border-radius: 4px !important;
    box-shadow: 0 12px 26px rgba(215,25,32,.18) !important;
    color: #ffffff !important;
    font-weight: 850 !important;
    letter-spacing: .01em !important;
}
body .gtv-primary-btn:hover,
body .gtv-orange-btn:hover,
body .gtv-btn-primary:hover,
body .gtv-contact-action:hover {
    background: var(--gtv-orange-dark) !important;
    border-color: var(--gtv-orange-dark) !important;
    color: #ffffff !important;
}
body .gtv-secondary-btn,
body .gtv-outline-btn,
body .gtv-btn-secondary {
    background: #ffffff !important;
    border: 1px solid #cfd9e4 !important;
    border-radius: 4px !important;
    box-shadow: 0 10px 24px rgba(9,43,73,.06) !important;
    color: var(--gtv-navy) !important;
    font-weight: 850 !important;
}
body .gtv-secondary-btn:hover,
body .gtv-outline-btn:hover,
body .gtv-btn-secondary:hover {
    background: #f8fafc !important;
    border-color: var(--gtv-orange) !important;
    color: var(--gtv-orange) !important;
}
body .gtv-card-raised,
body .gtv-action-panels article,
body .gtv-country-card,
body .gtv-work-card,
body .gtv-appointment-grid article,
body .gtv-service-card,
body .gtv-update,
body .gtv-contact-home,
body .gtv-process,
body .gtv-step {
    background: #ffffff !important;
    border: 1px solid var(--gtv-border) !important;
    border-radius: 12px !important;
    box-shadow: 0 12px 34px rgba(9,43,73,.06) !important;
    color: var(--gtv-text) !important;
}
body .gtv-finder-heading {
    background: var(--gtv-navy) !important;
    border-radius: 12px 12px 0 0 !important;
}
body .gtv-finder-heading > span,
body .gtv-step .gtv-num {
    background: var(--gtv-orange) !important;
    color: #ffffff !important;
}
body .gtv-chip-row em,
body .gtv-country-card span,
body .gtv-work-card span,
body .gtv-panel-icon,
body .gtv-journey-steps span {
    color: var(--gtv-orange) !important;
}
body .gtv-inline-form select,
body .gtv-inline-form input,
body .gtv-application-form input,
body .gtv-application-form select,
body .gtv-application-form textarea,
body .gtv-tracking-form input,
body .gtv-home-tracker input {
    background: #ffffff !important;
    border: 1px solid #cfd9e4 !important;
    border-radius: 4px !important;
    color: var(--gtv-text) !important;
}
body .gtv-inline-form select:focus,
body .gtv-inline-form input:focus,
body .gtv-application-form input:focus,
body .gtv-application-form select:focus,
body .gtv-tracking-form input:focus,
body .gtv-home-tracker input:focus {
    border-color: var(--gtv-orange) !important;
    box-shadow: 0 0 0 3px rgba(215,25,32,.12) !important;
    outline: 0 !important;
}
body .gtv-work-visas,
body .gtv-bottom-finder,
body .gtv-updates,
body .gtv-services {
    background: var(--gtv-surface) !important;
}
body .gtv-cta-band {
    background: var(--gtv-navy) !important;
    color: #ffffff !important;
}
body .gtv-cta-band h2,
body .gtv-cta-band .gtv-eyebrow {
    color: #ffffff !important;
}
body .gtv-appointment-disclaimer,
body #appointment-options .gtv-appointment-disclaimer,
body .gtv-disclaimer,
body .gtv-notice-bar {
    background: #fff7f7 !important;
    border: 1px solid #ffd9dc !important;
    border-left: 4px solid var(--gtv-orange) !important;
    border-radius: 10px !important;
    color: var(--gtv-navy) !important;
}
body .gtv-footer {
    background: #ffffff !important;
    border-top: 1px solid var(--gtv-border) !important;
    box-shadow: none !important;
    color: var(--gtv-muted) !important;
}
body .gtv-footer *,
body .gtv-footer a {
    color: var(--gtv-muted) !important;
}
body .gtv-footer a:hover {
    color: var(--gtv-orange) !important;
}
body .gtv-footer .gtv-footer-agent,
body .gtv-top-tabs .gtv-utility-link {
    color: #7a8796 !important;
    opacity: .58 !important;
}
#wpconsent-container,
.wpconsent-container {
    background: #ffffff !important;
    border: 1px solid var(--gtv-border) !important;
    border-radius: 12px !important;
    box-shadow: 0 16px 50px rgba(9,43,73,.13) !important;
    color: var(--gtv-text) !important;
}
#wpconsent-container button,
.wpconsent-container button {
    border-radius: 4px !important;
}
#wpconsent-container button:last-child,
.wpconsent-container button:last-child {
    background: var(--gtv-orange) !important;
    border-color: var(--gtv-orange) !important;
    color: #ffffff !important;
}
@media (max-width: 980px) {
    body .gtv-hero-layout {
        grid-template-columns: 1fr;
        padding: 54px 24px 92px;
    }
    body .gtv-hero-visual {
        max-width: 560px;
    }
}
@media (max-width: 640px) {
    body .gtv-topbar,
    body .gtv-top-tabs {
        gap: 10px !important;
        padding-left: 16px !important;
        padding-right: 16px !important;
    }
    body .gtv-hero h1 {
        font-size: clamp(32px, 11vw, 46px) !important;
    }
    body .gtv-visual-steps {
        grid-template-columns: 1fr;
    }
}


/* Alice polish pass: keep the light hero official/professional instead of oversized marketing. */
body .gtv-hero h1 {
    font-size: clamp(34px, 4.15vw, 56px) !important;
    line-height: 1.08 !important;
    max-width: 760px !important;
}
body .gtv-action-panels h2,
body .gtv-country-card h3,
body .gtv-work-card h3,
body .gtv-appointment-grid h3 {
    font-size: clamp(22px, 2.05vw, 30px) !important;
    line-height: 1.18 !important;
}
body .gtv-visual-steps span {
    align-items: center;
    display: inline-flex;
    gap: 6px;
}
body .gtv-visual-steps strong {
    color: var(--gtv-orange);
    font-weight: 900;
}


/* Alice final polish: light WPConsent banner and compact mobile homepage header. */
#wpconsent-container {
    --wpconsent-background: #ffffff !important;
    --wpconsent-text: #102033 !important;
    --wpconsent-accept-bg: #d71920 !important;
    --wpconsent-accept-color: #ffffff !important;
    --wpconsent-cancel-bg: #ffffff !important;
    --wpconsent-cancel-color: #092b49 !important;
    --wpconsent-preferences-bg: #eef5fb !important;
    --wpconsent-preferences-color: #092b49 !important;
    --wpconsent-shadow: 0 16px 50px rgba(9, 43, 73, .13) !important;
    --wpconsent-border-radius: 12px !important;
    --wpconsent-focus-outline-color: #d71920 !important;
}
@media (max-width: 760px) {
    #gtv-home .gtv-topbar {
        display: none !important;
    }
    #gtv-home .gtv-header .gtv-container {
        align-items: center !important;
        flex-direction: row !important;
        gap: 10px !important;
        justify-content: space-between !important;
        min-height: 72px !important;
        padding: 10px 18px !important;
    }
    #gtv-home .gtv-header .gtv-nav {
        display: none !important;
    }
    #gtv-home .gtv-brand {
        font-size: 18px !important;
        min-width: 0 !important;
    }
    #gtv-home .gtv-brand span:last-child {
        white-space: nowrap !important;
    }
    #gtv-home .gtv-tools {
        display: flex !important;
        flex: 0 0 auto !important;
        gap: 6px !important;
        width: auto !important;
    }
    #gtv-home .gtv-tool {
        border-radius: 999px !important;
        font-size: 11px !important;
        min-height: 34px !important;
        padding: 8px 10px !important;
        white-space: nowrap !important;
    }
    #gtv-home .gtv-hero {
        padding-top: 0 !important;
    }
}
