/* Genesis Travel elements for Salient.
   Fonts come from Salient's typography settings; colours follow Salient's accent colour. */
:root {
  --gtt-accent: var(--nectar-accent-color, #1e4d35);
  --gtt-accent-hover: #173d2a;
  --gtt-ink: #0f1311;
  --gtt-stone: #646d67;
  --gtt-line: #dde3dc;
  --gtt-mist: #f2f4f1;
  --gtt-sage: #aebfb2;
  --gtt-mono: "DM Mono", ui-monospace, Menlo, Consolas, monospace;
  --gtt-ease: cubic-bezier(.2, .7, .1, 1);
}

.gtt-ico { width: 18px; height: 18px; flex: none; display: inline-block; vertical-align: middle; }
.gtt-mono, .gtt-route, .gtt-tag, .gtt-days, .gtt-label, .gtt-price small, .gtt-facts dt, .gtt-field label,
.gtt-dest-preview figcaption, .gtt-ch-k, .gtt-copy, .gtt-count {
  font-family: var(--gtt-mono); letter-spacing: .1em; text-transform: uppercase; font-weight: 400;
}

/* ---------- label ---------- */
.gtt-label { font-size: 12px; letter-spacing: .14em; color: var(--gtt-accent); display: flex; align-items: center; gap: 12px; margin: 0 0 16px; padding: 0; line-height: 1.4; }
.gtt-label::before { content: ""; width: 28px; height: 1px; background: currentColor; flex: none; }
.gtt-label.gtt-align-center { justify-content: center; }
.gtt-label.gtt-align-right { justify-content: flex-end; }
.light-text .gtt-label, .row-bg-wrap + .row_col_wrap_12 .light-text .gtt-label { color: var(--gtt-sage); }

/* ---------- buttons ---------- */
.gtt-btn-wrap { display: flex; }
.gtt-btn-wrap.gtt-align-center { justify-content: center; }
.gtt-btn-wrap.gtt-align-right { justify-content: flex-end; }
.gtt-btn-wrap.gtt-align-inline { display: inline-flex; margin-right: 10px; vertical-align: middle; }
body .gtt-btn {
  display: inline-flex; align-items: center; justify-content: center; gap: 10px;
  min-height: 50px; padding: 0 26px; border-radius: 999px; border: 1px solid transparent;
  font-size: 15px; font-weight: 500; line-height: 1.2; text-decoration: none; white-space: nowrap; cursor: pointer;
  transition: background-color .25s var(--gtt-ease), color .25s var(--gtt-ease), border-color .25s var(--gtt-ease), transform .25s var(--gtt-ease);
}
body .gtt-btn:active { transform: translateY(1px); }
body .gtt-btn--sm { min-height: 40px; padding: 0 16px; font-size: 14px; }
body .gtt-btn--lg { min-height: 58px; padding: 0 32px; font-size: 16px; }
body .gtt-btn--block { width: 100%; }
body .gtt-btn--solid { background: var(--gtt-accent); color: #fff; }
body .gtt-btn--solid:hover { background: var(--gtt-accent-hover); color: #fff; }
body .gtt-btn--ink { background: var(--gtt-ink); color: #fff; }
body .gtt-btn--ink:hover { background: var(--gtt-accent); color: #fff; }
body .gtt-btn--light { background: #fff; color: var(--gtt-ink); }
body .gtt-btn--light:hover { background: var(--gtt-mist); color: var(--gtt-ink); }
body .gtt-btn--outline { border-color: var(--gtt-ink); color: var(--gtt-ink); background: transparent; }
body .gtt-btn--outline:hover { background: var(--gtt-ink); color: #fff; }
body .gtt-btn--ghost-light { border-color: rgba(255,255,255,.6); color: #fff; background: transparent; }
body .gtt-btn--ghost-light:hover { background: #fff; color: var(--gtt-ink); }
body .gtt-link {
  display: inline-flex; align-items: center; gap: 8px; font-size: 14px; font-weight: 500; color: inherit;
  text-decoration: none; border-bottom: 1px solid currentColor; padding-bottom: 2px; line-height: 1.3;
}
.gtt-link .gtt-ico { width: 15px; height: 15px; transition: transform .25s var(--gtt-ease); }
.gtt-link:hover .gtt-ico { transform: translateX(4px); }

/* ---------- journey grid ---------- */
.gtt-filters { display: flex; flex-wrap: wrap; gap: 8px; align-items: center; margin-bottom: 40px; }
body .gtt-chip {
  height: 40px; padding: 0 18px; border-radius: 999px; border: 1px solid var(--gtt-line); background: #fff; color: #2b312d;
  font-size: 14px; font-weight: 500; cursor: pointer; transition: all .25s var(--gtt-ease); margin: 0; line-height: 1;
}
body .gtt-chip:hover { border-color: var(--gtt-ink); }
body .gtt-chip[aria-pressed="true"] { background: var(--gtt-ink); color: #fff; border-color: var(--gtt-ink); }
body .gtt-chip--place { display: inline-flex; align-items: center; gap: 8px; background: var(--gtt-accent); border-color: var(--gtt-accent); color: #fff; }
.gtt-chip--place .gtt-ico { width: 13px; height: 13px; }
.gtt-chip[hidden], .gtt-grid-empty[hidden], .gtt-card[hidden] { display: none !important; }
.gtt-count { margin-left: auto; font-size: 11.5px; color: var(--gtt-stone); }
.gtt-grid { display: grid; grid-template-columns: repeat(var(--gtt-cols, 3), minmax(0, 1fr)); gap: clamp(40px, 4vw, 64px) clamp(20px, 2.4vw, 36px); }
.gtt-card { display: flex; flex-direction: column; min-width: 0; }
.gtt-card-media { position: relative; display: block; aspect-ratio: 4 / 5; overflow: hidden; background: var(--gtt-mist); }
.gtt-card-media img { position: absolute; inset: 0; width: 100% !important; height: 100% !important; object-fit: cover; margin: 0 !important; transition: transform 1.1s var(--gtt-ease); }
.gtt-card-media:hover img { transform: scale(1.045); }
.gtt-tag, .gtt-days { position: absolute; top: 16px; padding: 7px 11px; font-size: 10.5px; line-height: 1; background: rgba(255,255,255,.94); color: var(--gtt-ink); }
.gtt-tag { left: 16px; }
.gtt-days { right: 16px; background: var(--gtt-ink); color: #fff; }
.gtt-card-body { padding-top: 22px; display: flex; flex-direction: column; flex: 1; }
body .gtt-card-title { font-size: clamp(24px, 2vw, 30px); line-height: 1.15; margin: 0 !important; padding: 0; }
.gtt-card-title a { color: inherit; text-decoration: none; }
.gtt-card-title a:hover { color: var(--gtt-accent); }
.gtt-route { font-size: 11px; line-height: 1.5; color: var(--gtt-accent); margin: 10px 0 0 !important; padding: 0 !important; }
.gtt-sum { color: var(--gtt-stone); font-size: 15.5px; line-height: 1.6; margin: 12px 0 0 !important; padding: 0 !important; }
.gtt-card-foot { margin-top: auto; padding-top: 22px; display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: 12px 16px; }
.gtt-card-body .gtt-card-foot { border-top: 1px solid var(--gtt-line); margin-top: 22px; }
.gtt-price { margin: 0 !important; padding: 0 !important; font-size: 14px; line-height: 1.3; }
.gtt-price small { display: block; font-size: 10px; color: var(--gtt-stone); margin-bottom: 3px; }
.gtt-price b { font-size: 17px; font-weight: 600; }
.gtt-card-actions { display: flex; align-items: center; gap: 14px; }
.gtt-grid-note { margin: 44px 0 0 !important; padding-top: 18px !important; border-top: 1px solid var(--gtt-line); color: var(--gtt-stone); font-size: 14px; }
.gtt-grid-empty { color: var(--gtt-stone); padding: 32px 0; }
.gtt-empty { padding: 16px; border: 1px dashed var(--gtt-line); color: var(--gtt-stone); font-size: 14px; }

/* ---------- facts ---------- */
.gtt-facts { display: grid; grid-template-columns: repeat(auto-fit, minmax(150px, 1fr)); gap: 16px 24px; margin: 0; padding: 20px 0; border-block: 1px solid var(--gtt-line); }
.gtt-facts > div { min-width: 0; }
.gtt-facts dt { font-size: 10.5px; color: var(--gtt-stone); }
.gtt-facts dd { margin: 6px 0 0 !important; padding: 0 !important; font-size: 16px; font-weight: 500; }
.gtt-facts--dark { border-color: rgba(255,255,255,.25); }
.gtt-facts--dark dt { color: rgba(255,255,255,.7); }
.gtt-facts--dark dd { color: #fff; }

/* ---------- enquiry (journey) ---------- */
.gtt-enquiry { background: var(--gtt-mist); padding: clamp(22px, 3vw, 36px); display: grid; gap: 18px; }
body .gtt-enquiry-title { margin: 0 !important; font-size: 24px; line-height: 1.2; }
.gtt-field { display: grid; gap: 7px; min-width: 0; }
.gtt-field label { font-size: 10.5px; color: var(--gtt-stone); }
body .gtt-field input, body .gtt-field select, body .gtt-field textarea {
  width: 100%; min-width: 0; font-size: 16px; color: var(--gtt-ink); background: transparent !important;
  border: 0 !important; border-bottom: 1px solid #c6cec6 !important; border-radius: 0 !important; padding: 10px 0 !important; box-shadow: none !important; margin: 0;
}
body .gtt-field select { appearance: none; -webkit-appearance: none; background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 8'%3E%3Cpath d='M1 1l5 5 5-5' fill='none' stroke='%230f1311' stroke-width='1.4'/%3E%3C/svg%3E") !important; background-repeat: no-repeat !important; background-position: right 2px center !important; background-size: 12px !important; padding-right: 24px !important; }
body .gtt-field input:focus, body .gtt-field select:focus, body .gtt-field textarea:focus { border-bottom-color: var(--gtt-accent) !important; box-shadow: 0 1px 0 0 var(--gtt-accent) !important; outline: none; }
.gtt-stepper { display: flex; align-items: center; border-bottom: 1px solid #c6cec6; }
body .gtt-stepper input { border: 0 !important; text-align: center; -moz-appearance: textfield; }
.gtt-stepper input::-webkit-inner-spin-button, .gtt-stepper input::-webkit-outer-spin-button { -webkit-appearance: none; margin: 0; }
body .gtt-stepper button { width: 40px; height: 40px; flex: none; border: 0; background: none; cursor: pointer; font-size: 20px; color: var(--gtt-accent); padding: 0; margin: 0; }
.gtt-fine { font-size: 13px; color: var(--gtt-stone); margin: 0 !important; padding: 0 !important; line-height: 1.5; }
.gtt-fine a { color: inherit; }

/* ---------- contact form ---------- */
.gtt-contact-form { background: #fff; color: var(--gtt-ink); padding: clamp(24px, 3.5vw, 48px); display: grid; gap: 18px; text-align: left; }
body .gtt-cf-title { margin: 0 !important; font-size: 30px; line-height: 1.15; color: var(--gtt-ink) !important; }
.gtt-cf-intro { color: var(--gtt-stone); font-size: 14.5px; margin: -6px 0 0 !important; padding: 0 !important; }
.gtt-row-2 { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 18px; }
.gtt-cf-actions { display: flex; flex-wrap: wrap; gap: 12px 20px; align-items: center; margin-top: 6px; }
.gtt-cf-actions .gtt-btn { flex: 1 1 auto; }
.gtt-contact-form .gtt-link { color: var(--gtt-ink); }

/* ---------- contact channels ---------- */
.gtt-channels { list-style: none !important; margin: 0 !important; padding: 0 !important; border-top: 1px solid var(--gtt-line); }
.gtt-channels li { list-style: none !important; display: grid; grid-template-columns: 96px minmax(0, 1fr) auto; gap: 12px; align-items: center; padding: 18px 0 !important; margin: 0 !important; border-bottom: 1px solid var(--gtt-line); }
.gtt-ch-k { font-size: 11px; color: var(--gtt-stone); }
.gtt-ch-v { font-size: 18px; text-decoration: none; color: inherit; overflow-wrap: anywhere; user-select: all; -webkit-user-select: all; }
a.gtt-ch-v:hover { text-decoration: underline; text-underline-offset: 4px; }
body .gtt-copy { background: none; border: 1px solid var(--gtt-line); color: inherit; border-radius: 999px; height: 34px; padding: 0 12px; font-size: 11px; cursor: pointer; display: inline-flex; align-items: center; gap: 6px; margin: 0; }
.gtt-copy .gtt-ico { width: 13px; height: 13px; }
.gtt-channels--dark { border-color: rgba(255,255,255,.18); color: #fff; }
.gtt-channels--dark li { border-color: rgba(255,255,255,.18); }
.gtt-channels--dark .gtt-ch-k { color: rgba(255,255,255,.65); }
.gtt-channels--dark .gtt-ch-v { color: #fff; }
body .gtt-channels--dark .gtt-copy { border-color: rgba(255,255,255,.3); color: #fff; }

/* ---------- destinations ---------- */
.gtt-dest { display: grid; grid-template-columns: minmax(0, 5fr) minmax(0, 7fr); gap: clamp(32px, 5vw, 80px); align-items: start; }
.gtt-dest-preview { position: sticky; top: 120px; margin: 0; }
.gtt-dest-frame { position: relative; aspect-ratio: 16 / 11; overflow: hidden; background: #dfe3df; }
.gtt-dest-frame img { position: absolute; inset: 0; width: 100% !important; height: 100% !important; object-fit: cover; opacity: 0; transform: scale(1.04); transition: opacity .6s var(--gtt-ease), transform 1.2s var(--gtt-ease); margin: 0 !important; }
.gtt-dest-frame img.is-on { opacity: 1; transform: none; }
.gtt-dest-preview figcaption { display: flex; justify-content: space-between; flex-wrap: wrap; gap: 12px; margin-top: 14px; font-size: 11.5px; color: var(--gtt-stone); }
.gtt-dest-preview figcaption b { color: var(--gtt-ink); font-weight: 500; }
.gtt-dest-list { list-style: none !important; margin: 0 !important; padding: 0 !important; border-top: 1px solid #cdd5cd; }
.gtt-dest-list li { list-style: none !important; margin: 0 !important; padding: 0 !important; }
html body .gtt-dest .gtt-dest-row, html body .gtt-dest .gtt-dest-row:hover, html body .gtt-dest .gtt-dest-row:focus {
  border-radius: 0 !important; box-shadow: none !important; background: none !important; border-left: 0 !important; border-right: 0 !important; border-top: 0 !important; letter-spacing: 0; text-transform: none;
  width: 100%; text-align: left; background: none; border: 0; border-bottom: 1px solid #cdd5cd; cursor: pointer; margin: 0; border-radius: 0;
  display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 6px 24px; padding: 22px 0; align-items: center; color: inherit; font: inherit;
}
.gtt-dest-thumb { display: none !important; }
.gtt-dest-name { font-size: clamp(28px, 2.8vw, 42px); line-height: 1.1; transition: color .25s, transform .4s var(--gtt-ease); font-family: inherit; }
.gtt-dest .gtt-dest-name { font-family: var(--gtt-heading-font, inherit); }
.gtt-dest-hl { grid-column: 1; color: var(--gtt-stone); font-size: 15px; line-height: 1.5; }
.gtt-dest-meta { grid-column: 2; grid-row: 1 / span 2; text-align: right; display: grid; gap: 6px; justify-items: end; }
.gtt-dest-meta .gtt-mono { font-size: 11px; color: var(--gtt-stone); }
.gtt-go { display: inline-flex; align-items: center; gap: 6px; color: var(--gtt-accent); font-weight: 500; font-size: 15px; }
.gtt-go .gtt-ico { width: 14px; height: 14px; transition: transform .3s var(--gtt-ease); }
.gtt-dest-row:hover .gtt-dest-name, .gtt-dest-row.is-active .gtt-dest-name { color: var(--gtt-accent); transform: translateX(6px); }
.gtt-dest-row:hover .gtt-go .gtt-ico { transform: translateX(4px); }

/* ---------- layered scene ---------- */
.gtt-scene { position: relative; overflow: hidden; height: var(--gtt-scene-h, clamp(560px, 62vw, 880px)); background: #dfe7ee; isolation: isolate; }
.gtt-scene-layers, .gtt-scene-layers img { position: absolute; inset: 0; width: 100% !important; height: 100% !important; margin: 0 !important; }
.gtt-scene-layers img { object-fit: cover; object-position: 50% 100%; will-change: transform; filter: saturate(.72) contrast(1.02); max-width: none; }
.gtt-scene-sky { transform: scale(1.18); transform-origin: 50% 0; }
.gtt-scene-copy { position: relative; z-index: 2; max-width: 1425px; margin: 0 auto; padding: clamp(40px, 4.5vw, 72px) max(24px, 4.5vw) 0; display: flex; flex-direction: column; }
.gtt-scene--right .gtt-scene-copy { align-items: flex-end; text-align: right; }
.gtt-scene--right .gtt-label { flex-direction: row-reverse; }
body .gtt-scene-title { font-size: clamp(32px, 3.6vw, 56px) !important; line-height: 1.06 !important; max-width: 17ch; color: var(--gtt-ink) !important; margin: 0 0 28px !important; }
.gtt-scene .gtt-label { color: #0e271b; }

/* ---------- floating WhatsApp ---------- */
.gtt-wa-float {
  position: fixed; z-index: 9990; right: calc(20px + env(safe-area-inset-right, 0px)); bottom: calc(20px + env(safe-area-inset-bottom, 0px));
  display: inline-flex; align-items: center; gap: 10px; height: 56px; padding: 0 20px 0 16px; border-radius: 999px;
  background: var(--gtt-accent); color: #fff !important; text-decoration: none; font-weight: 500; font-size: 15px;
  box-shadow: 0 10px 30px rgba(14,39,27,.28); transition: transform .35s var(--gtt-ease), opacity .35s, background-color .25s;
}
.gtt-wa-float:hover { background: var(--gtt-accent-hover); }
.gtt-wa-float .gtt-ico { width: 24px; height: 24px; }
.gtt-wa-float.is-hidden { transform: translateY(120%); opacity: 0; pointer-events: none; }

/* ---------- helpers for demo rows ---------- */
.gtt-eyebrow { font-family: var(--gtt-mono); font-size: 12px; letter-spacing: .12em; text-transform: uppercase; opacity: .85; }
.gtt-eyebrow span + span::before { content: "·"; margin: 0 12px; opacity: .7; }
.gtt-lede { font-size: clamp(16px, 1.35vw, 19px); line-height: 1.6; max-width: 46ch; }
.gtt-statement { font-size: clamp(28px, 3.4vw, 50px) !important; line-height: 1.2 !important; }
.gtt-statement em { color: var(--gtt-accent); }
.gtt-pillar { border-top: 1px solid var(--gtt-ink); padding-top: 20px; }
.gtt-pillar h4 { margin-bottom: 8px !important; }
.gtt-pillar p, .gtt-muted { color: var(--gtt-stone); }
.gtt-facts-strip { list-style: none !important; margin: 0 !important; padding: 18px 0 0 !important; border-top: 1px solid rgba(255,255,255,.22); display: flex; flex-wrap: wrap; gap: 10px 36px; font-family: var(--gtt-mono); font-size: 11.5px; letter-spacing: .1em; text-transform: uppercase; }
.gtt-facts-strip li { list-style: none !important; display: flex; align-items: center; gap: 10px; margin: 0 !important; }
.gtt-facts-strip li::before { content: ""; width: 6px; height: 6px; border-radius: 50%; background: var(--gtt-sage); }
.gtt-style-item { border-top: 1px solid rgba(255,255,255,.16); padding-top: 26px; }
.gtt-style-item img { width: 30px !important; height: auto; margin-bottom: 14px !important; opacity: .9; }
.gtt-style-item p { color: rgba(255,255,255,.66); }
.gtt-day { display: grid; grid-template-columns: 80px minmax(0, 1fr); gap: 16px; padding: 16px 0; border-bottom: 1px solid var(--gtt-line); }
.gtt-day .gtt-d { font-family: var(--gtt-mono); font-size: 11.5px; letter-spacing: .08em; text-transform: uppercase; color: var(--gtt-accent); padding-top: 4px; }
.gtt-day h5 { margin: 0 0 4px !important; }
.gtt-day p { margin: 0 !important; padding: 0 !important; color: var(--gtt-stone); }
.gtt-includes { list-style: none !important; margin: 0 !important; padding: 0 !important; display: flex; flex-wrap: wrap; gap: 8px; }
.gtt-includes li { list-style: none !important; margin: 0 !important; border: 1px solid var(--gtt-line); padding: 7px 14px; border-radius: 999px; font-size: 14px; }
.gtt-sticky { position: sticky; top: 120px; }

/* ---------- responsive ---------- */
@media (max-width: 1000px) {
  .gtt-grid { grid-template-columns: repeat(min(var(--gtt-cols, 3), 2), minmax(0, 1fr)); }
  .gtt-dest { grid-template-columns: minmax(0, 1fr); }
  .gtt-dest-preview { display: none; }
  html body .gtt-dest .gtt-dest-row { grid-template-columns: 96px minmax(0, 1fr); gap: 4px 18px; padding: 16px 0; }
  .gtt-dest-thumb { display: block !important; grid-row: 1 / span 3; width: 96px !important; height: 72px !important; object-fit: cover; margin: 0 !important; }
  .gtt-dest-name, .gtt-dest-hl { grid-column: 2; }
  .gtt-dest-meta { grid-column: 2; grid-row: auto; text-align: left; justify-items: start; display: flex; flex-wrap: wrap; gap: 14px; }
  .gtt-sticky { position: static; }
}
@media (max-width: 690px) {
  .gtt-grid { grid-template-columns: minmax(0, 1fr); }
  .gtt-card-media { aspect-ratio: 5 / 4; }
  .gtt-row-2 { grid-template-columns: minmax(0, 1fr); }
  .gtt-channels li { grid-template-columns: minmax(0, 1fr) auto; }
  .gtt-ch-k { grid-column: 1 / -1; }
  .gtt-count { width: 100%; margin-left: 0; }
  .gtt-scene { height: var(--gtt-scene-h-phone, clamp(560px, 150vw, 700px)); }
  .gtt-scene--right .gtt-scene-copy { align-items: flex-start; text-align: left; }
  .gtt-scene--right .gtt-label { flex-direction: row; }
  .gtt-wa-float { padding: 0; width: 56px; justify-content: center; }
  .gtt-wa-float span { position: absolute !important; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); }
  .gtt-day { grid-template-columns: minmax(0, 1fr); gap: 4px; }
}
@media (prefers-reduced-motion: reduce) {
  .gtt-card-media img, .gtt-dest-frame img, .gtt-btn, .gtt-wa-float { transition: none !important; }
}

/* ---------- footer global section ---------- */
.gtt-foot-h { font-family: var(--gtt-mono) !important; font-size: 11px !important; letter-spacing: .14em !important; text-transform: uppercase; color: #fff !important; margin-bottom: 16px !important; font-weight: 400 !important; }
.gtt-foot-list { list-style: none !important; margin: 0 !important; padding: 0 !important; display: grid; gap: 8px; }
.gtt-foot-list li { list-style: none !important; margin: 0 !important; color: rgba(255,255,255,.66); font-size: 15px; line-height: 1.5; }
.gtt-foot-list a { color: rgba(255,255,255,.66) !important; text-decoration: none !important; border: 0 !important; }
.gtt-foot-list a:hover { color: #fff !important; }
.gtt-foot-p { color: rgba(255,255,255,.66); max-width: 34ch; font-size: 15px; }
.gtt-foot-base { display: flex; justify-content: space-between; flex-wrap: wrap; gap: 8px 24px; font-size: 13px; color: rgba(255,255,255,.55); margin: 0 !important; }

/* Keep the white enquiry card readable inside Salient light-text rows */
.gtt-contact-form, .light-text .gtt-contact-form { color: var(--gtt-ink) !important; }
.light-text .gtt-contact-form .gtt-field label, .gtt-contact-form .gtt-field label { color: var(--gtt-stone) !important; }
.light-text .gtt-contact-form input, .light-text .gtt-contact-form select, .light-text .gtt-contact-form textarea,
.gtt-contact-form input, .gtt-contact-form select, .gtt-contact-form textarea { color: var(--gtt-ink) !important; background-color: transparent !important; }
.gtt-contact-form ::placeholder { color: #8a928c !important; opacity: 1; }
.gtt-contact-form .select2-container .select2-selection, .gtt-enquiry .select2-container .select2-selection { color: var(--gtt-ink) !important; }
.light-text .gtt-contact-form .gtt-link { color: var(--gtt-ink) !important; }

/* Large section icons placed above section labels */
.gtt-section-icon img, img.gtt-section-icon { width: 96px !important; height: auto !important; }
@media (max-width: 690px) { .gtt-section-icon img, img.gtt-section-icon { width: 72px !important; } }

/* ---------- experiences ---------- */
.gtt-exp-list { list-style: none !important; margin: 0 !important; padding: 0 !important; display: grid; grid-template-columns: repeat(var(--gtt-exp-cols, 2), minmax(0, 1fr)); gap: 10px; }
.gtt-exp-list li { list-style: none !important; margin: 0 !important; padding: 0 !important; }
html body .gtt-exp-list .gtt-exp-item {
  width: 100%; height: 100%; text-align: left; display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 4px 16px; align-items: start;
  padding: 16px 18px !important; margin: 0; border: 1px solid var(--gtt-line) !important; border-radius: 0 !important; background: #fff !important; color: var(--gtt-ink) !important;
  box-shadow: none !important; font: inherit; letter-spacing: 0; text-transform: none; cursor: pointer; transition: border-color .2s, background-color .2s;
}
html body .gtt-exp-list div.gtt-exp-item { cursor: default; }
html body .gtt-exp-list button.gtt-exp-item:hover { border-color: var(--gtt-ink) !important; }
html body .gtt-exp-list .gtt-exp-item[aria-pressed="true"] { border-color: var(--gtt-accent) !important; background: #eef3ef !important; }
.gtt-exp-name { grid-column: 1; font-weight: 600; font-size: 16px; line-height: 1.35; }
.gtt-exp-desc { grid-column: 1; color: var(--gtt-stone); font-size: 14.5px; line-height: 1.5; }
.gtt-exp-add { grid-column: 2; grid-row: 1 / span 2; font-family: var(--gtt-mono); font-size: 10.5px; letter-spacing: .1em; text-transform: uppercase; color: var(--gtt-accent); white-space: nowrap; padding-top: 3px; }
.gtt-exp-add-on, [aria-pressed="true"] .gtt-exp-add-off { display: none; }
[aria-pressed="true"] .gtt-exp-add-on { display: inline; }
.gtt-exp-pick { border: 0; padding: 0; margin: 0; min-width: 0; }
.gtt-exp-pick legend { font-family: var(--gtt-mono); font-size: 10.5px; letter-spacing: .1em; text-transform: uppercase; color: var(--gtt-stone); padding: 0; margin-bottom: 10px; }
.gtt-exp-options { display: flex; flex-wrap: wrap; gap: 8px; }
.gtt-exp-option { position: relative; display: inline-flex; cursor: pointer; margin: 0 !important; }
.gtt-exp-option input { position: absolute; opacity: 0; width: 1px; height: 1px; }
.gtt-exp-option span { display: inline-block; border: 1px solid #c6cec6; border-radius: 999px; padding: 7px 13px; font-size: 13.5px; line-height: 1.3; color: var(--gtt-ink); background: transparent; transition: all .2s; }
.gtt-exp-option input:checked + span { background: var(--gtt-accent); border-color: var(--gtt-accent); color: #fff; }
.gtt-exp-option input:focus-visible + span { outline: 2px solid var(--gtt-accent); outline-offset: 2px; }
.gtt-price--request b { font-size: 15px; font-weight: 600; }
@media (max-width: 690px) { .gtt-exp-list { grid-template-columns: minmax(0, 1fr); } }
html body .gtt-field label.gtt-exp-option, html body .gtt-field .gtt-exp-option span {
  font-family: inherit; font-size: 13.5px; letter-spacing: 0; text-transform: none; font-weight: 500; color: var(--gtt-ink);
}
html body .gtt-field .gtt-exp-option input:checked + span { color: #fff; }
