/* Elite Ladies Club 4.0.8 — legibility/contrast layer.
 * Loaded AFTER all preexisting styles on public, member, admin and auth pages.
 * Explicit palettes prevent V4.0.2 foreground overrides from landing on V2.6 dark backgrounds.
 * Target: WCAG AA text contrast >= 4.5:1, 3:1 for large text.
 */

/* Every notice variant MUST define background, text and border as one palette.
   Previous: v402.css forced error foreground #64251e on v26.css background #231b13. */
body.v26-app .notice,
body.v26-app .notice:not(.error):not(.success):not(.warning):not(.info){
  background:#f7eddd!important;
  color:#412c1d!important;
  border:1px solid #b49268!important;
  border-left:4px solid #977148!important;
  border-radius:6px;
  font-size:13px;
  font-weight:500;
  line-height:1.6;
  opacity:1;
  text-shadow:none!important;
}
body.v26-app .notice.error,
body.v26-app .notice.danger,
body.v26-app .notice.failure{
  background:#ffebe8!important;
  color:#6d211b!important;
  border-color:#d77b70!important;
  border-left-color:#b53c32!important;
}
body.v26-app .notice.success{
  background:#e4f5eb!important;
  color:#16472e!important;
  border-color:#82b69a!important;
  border-left-color:#287c50!important;
}
body.v26-app .notice.notice.warning{
  background:#fff2d5!important;
  color:#634013!important;
  border-color:#d6a959!important;
  border-left-color:#a77422!important;
}
body.v26-app .notice.notice.info{
  background:#e8f1ff!important;
  color:#203f66!important;
  border-color:#93b3dc!important;
  border-left-color:#376aab!important;
}
/* Older generic alerts and flash boxes used by plugins must not inherit red-on-brown. */
body.v26-app .flash,
body.v26-app [role="alert"]:not(.notice):not(.elc408-contrast-exempt){
  background:#f7eddd;
  border:1px solid #b49268;
  color:#412c1d;
}
body.v26-app .flash.error,
body.v26-app [role="alert"].error{
  background:#ffebe8!important;
  border-color:#d77b70!important;
  color:#6d211b!important;
}
body.v26-app .flash.success,
body.v26-app [role="alert"].success{
  background:#e4f5eb!important;
  border-color:#82b69a!important;
  color:#16472e!important;
}
body.v26-app .notice :is(b,strong,span,small,p,li,em,label),
body.v26-app .flash :is(b,strong,span,small,p,li,em,label),
body.v26-app [role="alert"] :is(b,strong,span,small,p,li,em,label){color:inherit!important}
body.v26-app .notice a,
body.v26-app .flash a,
body.v26-app [role="alert"] a{
  color:#174c79!important;
  text-decoration:underline;
  text-decoration-thickness:1px;
  text-underline-offset:2px;
  font-weight:700;
}
body.v26-app .notice a:hover,
body.v26-app .flash a:hover,
body.v26-app [role="alert"] a:hover{color:#103458!important}
/* Existing inline note was also made dark in v402.css without a paired surface. */
body.v26-app .v392-inline-note{
  background:#f7eddd!important;
  color:#412c1d!important;
  border:1px solid #b49268!important;
  border-radius:7px;
  padding:13px 16px;
}
/* All form assistance and disabled content remain distinguishable on DARK cards. */
body.v26-app :is(.v26-dark-panel,.panel,.v26-auth-form,.v26-admin,.elc403-aside,.elc405-tier)
  :is(.field small,.small-print,.admin-note,.muted,.field .hint){color:#cfc3b6!important}
body.v26-app :is(.v26-dark-panel,.panel,.v26-auth-form,.v26-admin)
  :is(.field label,legend){color:#e9d9c3}
body.v26-app :is(.v26-dark-panel,.panel,.v26-auth-form,.v26-admin)
  input::placeholder,
body.v26-app :is(.v26-dark-panel,.panel,.v26-auth-form,.v26-admin)
  textarea::placeholder{color:#bcb0a2!important;opacity:1}
body.v26-app :is(.v26-dark-panel,.panel,.v26-auth-form,.v26-admin)
  :is(input,select,textarea){color-scheme:dark}
/* Grid empty states, compact legal copy, low-emphasis labels & inherited links. */
body.v26-app .empty,
body.v26-app .v26-admin-note,
body.v26-app .v26-small-note{color:#d3c4b2}
body.v26-app .content .light-cta,
body.v26-app .v26-dark-panel .light-cta,
body.v26-app .panel .light-cta{color:#f3ca88}
body.v26-app .content .light-cta:hover,
body.v26-app .v26-dark-panel .light-cta:hover{color:#ffe7be}
/* Avoid forcing pale-on-light on editorial ivory surfaces. */
body.v26-app .elc402-city-paper :is(.small-print,.muted,.admin-note){color:#654c3d!important}
body.v26-app .elc402-city-paper a:not(.btn){color:#634122}
/* Visible focus for keyboard users without changing the branding. */
body.v26-app :is(a,button,input,select,textarea):focus-visible{
  outline:2px solid #f4cd88;
  outline-offset:3px;
}
@media (prefers-contrast:more){
  body.v26-app .notice{border-width:2px!important;border-left-width:5px!important}
  body.v26-app :is(.v26-dark-panel,.panel,.v26-admin) .muted{color:#f4eadc!important}
}
