/* OTL-BRAND-COLORS-20261020. Exact brand values; no page-specific shade variants. */
:root {
  --otl-blue: #192F58;
  --otl-gold: #B88D2D;
  --otl-white: #FFFFFF;
  --otl-blue-rgb: 25, 47, 88;
  --otl-gold-rgb: 184, 141, 45;
  /* Neutral interface roles, not extra brand colours. */
  --otl-action-ink: #1E1E1E;
  --otl-disabled-bg: #E5E5E5;
  --otl-disabled-ink: #555555;
  --swiper-theme-color: var(--otl-blue);
}

/* These classes are attached only to owned controls matching exact brand fills.
   No event listeners, form state, input values, routes or numerical logic change. */
html[data-otl-brand] .otl-brand-gold-action {
  color: var(--otl-action-ink) !important;
  background-color: var(--otl-gold) !important;
  background-image: none !important;
  filter: none !important;
  transition: box-shadow .15s ease !important;
}
html[data-otl-brand] .otl-brand-blue-action {
  color: var(--otl-white) !important;
  background-color: var(--otl-blue) !important;
  background-image: none !important;
  filter: none !important;
  transition: box-shadow .15s ease !important;
}
html[data-otl-brand] :is(.otl-brand-gold-action,.otl-brand-blue-action):hover {
  text-decoration: underline;
  text-underline-offset: 4px;
  box-shadow: inset 0 -2px 0 currentColor;
  filter: none !important;
}
html[data-otl-brand] :is(.otl-brand-gold-action,.otl-brand-blue-action):active {
  box-shadow: inset 0 0 0 2px currentColor;
}
html[data-otl-brand] :is(a,button,input,select,textarea,summary):focus-visible {
  outline: 3px solid var(--otl-blue) !important;
  outline-offset: 4px !important;
  box-shadow: 0 0 0 2px var(--otl-white) !important;
}
html[data-otl-brand] :is(.otl-brand-gold-action,.otl-brand-blue-action):disabled {
  color: var(--otl-disabled-ink) !important;
  background: var(--otl-disabled-bg) !important;
  opacity: 1 !important;
  box-shadow: none !important;
  text-decoration: none;
}
/* A pale/white surface does not support small gold type. Gold remains an accent;
   the text uses approved blue. On a dark brand surface, text uses white. */
html[data-otl-brand] .otl-brand-gold-on-light { color: var(--otl-blue) !important; }
html[data-otl-brand] .otl-brand-gold-on-dark { color: var(--otl-white) !important; }
html[data-otl-brand] .info-sw,
html[data-otl-brand] .info-sw :is(p,span,strong,h2,h3) {
  background-color: var(--otl-blue);
  color: var(--otl-white);
}

/* Preview-only safety chrome; excluded from the website colour inventory. */
.otl-local-note { position:relative; z-index:99999; padding:10px 18px; background:#FFFFFF;
  color:#192F58; border-bottom:3px solid #B88D2D; font:14px/1.45 Arial,sans-serif; }
.otl-local-note a { color:#192F58; text-decoration:underline; margin-right:14px; }
