/* SK v6 contrast contract, 2026-09-18.
 * Loaded after the existing global, clarity and motion styles.
 * Paired foreground/background colours prevent inherited link colours from
 * turning navy buttons dark or yellow buttons white. Draft v6 only.
 */
body.sk-legacy-restore :is(.skv6-home,.skv6-page,.skv6-global-header,.skv6-global-footer){
  --sk-copy:#32373b;--sk-heading:#003366;--sk-secondary:#44515d;
}
/* Dark surfaces. Nested light cards reset the same variables below. */
body.sk-legacy-restore :is(.skv6-hero,.skv6-service-featured,.skv6-oma,.skv6-b2b,.skv6-final-panel,.skv6-booking-hero,.skv6-station-live-section,.skv6-live-card,.skv6-b2b-summary,.skv6-fleet-card,.skv6-guide-topic-dark,.skv6-dashboard-nav,.skv6-global-footer){
  --sk-copy:#ffffff;--sk-heading:#ffffff;--sk-secondary:#e6edf4;color:#ffffff;
}
/* Light cards must not inherit white copy from a surrounding dark section. */
body.sk-legacy-restore :is(.skv6-action-center,.skv6-decision-card,.skv6-station-decision,.skv6-content-card,.skv6-service-card:not(.skv6-service-featured),.skv6-station-card,.skv6-station-directory-card,.skv6-availability-card,.skv6-catalog-card,.skv6-action-card,.skv6-dashboard-main,.skv6-booking-stage,.skv6-choice-card,.skv6-checkout-summary,.skv6-payment-state,.skv6-booking-note,.skv6-inline-notice,.skv6-error-recovery,.skv6-receipt-preview,.skv6-guide-grid>a,.skv6-guide-quick>a,.skv6-principles>div,.skv6-phase-grid>article,.skv6-compare-grid>article,.skv6-segment-grid>article,.skv6-b2b-data-grid>article){
  --sk-copy:#32373b;--sk-heading:#003366;--sk-secondary:#44515d;color:#32373b;
}
body.sk-legacy-restore :is(.skv6-package-card,.skv6-station-price-panel,.skv6-mega-feature){
  --sk-copy:#003366;--sk-heading:#003366;--sk-secondary:#003366;color:#003366;
}
body.sk-legacy-restore :is(.skv6-home,.skv6-page,.skv6-global-footer) :is(p,li,dd){color:var(--sk-copy,#32373b)}
body.sk-legacy-restore :is(.skv6-home,.skv6-page,.skv6-global-footer) :is(h1,h2,h3,h4){color:var(--sk-heading,#003366)}
body.sk-legacy-restore :is(.skv6-home,.skv6-page,.skv6-global-footer) :is(small,dt){color:var(--sk-secondary,#44515d);opacity:1}
body.sk-legacy-restore :is(.skv6-b2b-summary-grid,.skv6-fleet-bars,.skv6-fleet-upcoming) span{color:#ffffff;opacity:1}
body.sk-legacy-restore :is(.skv6-reg-card,.skv6-trust-row) :is(small,.skv6-field-label){color:#ffffff;opacity:1}
body.sk-legacy-restore .skv6-service-featured .skv6-service-label{color:#ffed00}
body.sk-legacy-restore .skv6-global-footer .skv6-footer-grid h3{color:#ffed00}
body.sk-legacy-restore .skv6-dashboard-nav a{color:#ffffff}
body.sk-legacy-restore .skv6-dashboard-nav a:is(:hover,:focus-visible,.is-active){background:#174b7f;color:#ffffff}

/* Explicit button pairs. Important is restricted to the control colour contract
 * to protect these components from legacy/plugin link rules and visited styles. */
body.sk-legacy-restore .skv6-btn{
  --sk-btn-bg:#003366;--sk-btn-fg:#ffffff;--sk-btn-hover:#00264b;--sk-btn-border:#003366;
  background-color:var(--sk-btn-bg)!important;
  background-image:none!important;
  color:var(--sk-btn-fg)!important;
  -webkit-text-fill-color:var(--sk-btn-fg)!important;
  border-color:var(--sk-btn-border)!important;
  text-shadow:none!important;opacity:1!important;
}
body.sk-legacy-restore .skv6-btn.skv6-btn-yellow{
  --sk-btn-bg:#ffed00;--sk-btn-fg:#003366;--sk-btn-hover:#f4df00;--sk-btn-border:#003366;
}
body.sk-legacy-restore .skv6-btn.skv6-btn-navy{
  --sk-btn-bg:#003366;--sk-btn-fg:#ffffff;--sk-btn-hover:#00264b;--sk-btn-border:#003366;
}
body.sk-legacy-restore .skv6-btn.skv6-btn-outline{
  --sk-btn-bg:#ffffff;--sk-btn-fg:#003366;--sk-btn-hover:#e6edf4;--sk-btn-border:#003366;
}
body.sk-legacy-restore .skv6-btn.skv6-btn-ghost{
  --sk-btn-bg:#003366;--sk-btn-fg:#ffffff;--sk-btn-hover:#00264b;--sk-btn-border:#ffffff;
}
body.sk-legacy-restore .skv6-btn:is(:link,:visited,:hover,:focus,:focus-visible,:active){
  color:var(--sk-btn-fg)!important;-webkit-text-fill-color:var(--sk-btn-fg)!important;
}
body.sk-legacy-restore .skv6-btn:is(:hover,:active):not(:disabled):not([aria-disabled="true"]){background-color:var(--sk-btn-hover)!important}
body.sk-legacy-restore .skv6-btn :is(span,b,strong,small,em,i){
  color:inherit!important;-webkit-text-fill-color:inherit!important;opacity:1!important;text-shadow:none!important;
}
body.sk-legacy-restore .skv6-btn:is(:disabled,[aria-disabled="true"]){
  --sk-btn-bg:#e6e6e6;--sk-btn-fg:#44515d;--sk-btn-border:#52606c;
  opacity:1!important;box-shadow:none;cursor:not-allowed;transform:none!important;
}
/* Two-tone focus ring remains visible against either light or dark surfaces. */
body.sk-legacy-restore :is(.skv6-btn,.skv6-filter,.skv6-menu-toggle,.skv6-mobile-actions a):focus-visible{
  outline:3px solid #ffffff!important;outline-offset:2px;box-shadow:0 0 0 7px #003366!important;
}

/* Non-button controls and link cards also get complete colour pairs. */
body.sk-legacy-restore :is(.skv6-filter,.skv6-menu-toggle){background:#ffffff;color:#003366!important;border-color:#52606c}
body.sk-legacy-restore .skv6-filter:is(.is-active,[aria-pressed="true"]){background:#003366;color:#ffffff!important}
body.sk-legacy-restore .skv6-mobile-actions a{background:#ffffff;color:#003366!important}
body.sk-legacy-restore .skv6-mobile-actions a.is-primary{background:#ffed00;color:#003366!important}
body.sk-legacy-restore .skv6-mobile-primary>a{background:#003366;color:#ffffff!important}
body.sk-legacy-restore .skv6-mobile-primary>a:first-child{background:#ffed00;color:#003366!important}
body.sk-legacy-restore .skv6-mobile-primary>a :is(span,strong,small){color:inherit!important;opacity:1}
body.sk-legacy-restore .skv6-map-pin{background:#003366;color:#ffffff!important}
body.sk-legacy-restore .skv6-announcement{background:#ffed00;color:#003366}
body.sk-legacy-restore .skv6-announcement :is(a,button,span,strong){color:#003366!important;opacity:1}
body.sk-legacy-restore .skv6-mega-feature :is(b,small){color:#003366!important;opacity:1}
body.sk-legacy-restore .skv6-booking-progress button{background:#ffffff;color:#003366!important}
body.sk-legacy-restore .skv6-booking-progress button:is(.is-active,[aria-current="step"]){background:#fff8b3;color:#003366!important}
body.sk-legacy-restore .skv6-booking-progress button :is(span,b,small){color:#003366!important;opacity:1}

/* Form values, placeholders and disabled previews remain legible, including Safari. */
body.sk-legacy-restore :is(input.skv6-input,select.skv6-input,textarea.skv6-input,.skv6-reg-form input){
  background-color:#ffffff!important;color:#32373b!important;-webkit-text-fill-color:#32373b!important;
  border-color:#52606c;opacity:1!important;caret-color:#003366;
}
body.sk-legacy-restore :is(.skv6-input,.skv6-reg-form input)::placeholder{
  color:#52606c!important;-webkit-text-fill-color:#52606c!important;opacity:1!important;
}
body.sk-legacy-restore :is(.skv6-input,.skv6-reg-form input):is(:disabled,[readonly]){
  background-color:#e6e6e6!important;color:#44515d!important;-webkit-text-fill-color:#44515d!important;opacity:1!important;
}
body.sk-legacy-restore :is(.skv6-input,.skv6-reg-form input):focus-visible{
  border-color:#003366;outline:3px solid #003366!important;outline-offset:3px;box-shadow:0 0 0 2px #ffffff;
}
body.sk-legacy-restore select.skv6-input option{background:#ffffff;color:#32373b}
body.sk-legacy-restore .skv6-choice-card :is(b,small,em,.skv6-choice-city){color:#32373b}
body.sk-legacy-restore .skv6-choice-card:has(input:checked){background:#fff8b3;border-color:#003366;color:#003366}

/* Never lower text contrast during the decorative reveal animations.
 * Translation/depth effects stay intact; only opacity is held at full strength. */
body.sk-legacy-restore :is(.skv6-motion-target,.skv6-hero-copy>.skv6-kicker,.skv6-hero-copy>h1,.skv6-hero-copy>.skv6-lead,.skv6-reg-card,.skv6-hero-actions,.skv6-trust-row,.skv6-package-card,.skv6-action-center,.skv6-mega,.skv6-mobile-panel,.skv6-announcement,.skv6-booking-panel){opacity:1!important}
@media(forced-colors:active){
  body.sk-legacy-restore .skv6-btn{background:ButtonFace!important;color:ButtonText!important;-webkit-text-fill-color:ButtonText!important;border-color:ButtonText!important;forced-color-adjust:auto}
  body.sk-legacy-restore .skv6-btn:is(:disabled,[aria-disabled="true"]){color:GrayText!important;-webkit-text-fill-color:GrayText!important}
  body.sk-legacy-restore .skv6-btn:focus-visible{outline:3px solid Highlight!important;box-shadow:none!important}
}
