/* KISURE FE902 FINAL PRESENTATION OWNER
 * High-contrast solid profile heroes, head-first portrait crop, public-member
 * auth feedback/recovery, saved predictions and push-alert readability.
 * Loaded after FE901 so this file is the deterministic owner of these surfaces.
 */

/* 1. Solid entity hero contrast ------------------------------------------------ */
html[data-kisure-design="865"] body [data-kisure-solid-hero] {
  background-color:var(--ks-hero-accent,#087C78) !important;
  background-image:none !important;
}
html[data-kisure-design="865"] body [data-kisure-solid-hero][data-kisure-hero-tone="light"] :is(.site-kicker,h1,p) {
  color:#10202A !important;
  -webkit-text-fill-color:#10202A !important;
  opacity:1 !important;
}
html[data-kisure-design="865"] body [data-kisure-solid-hero][data-kisure-hero-tone="dark"] :is(.site-kicker,h1,p) {
  color:#FFFFFF !important;
  -webkit-text-fill-color:#FFFFFF !important;
  opacity:1 !important;
}
html[data-kisure-design="865"] body [data-kisure-profile-layout="compact-v901"][data-kisure-hero-tone="light"] .football-player-hero__quick > span,
html[data-kisure-design="865"] body [data-kisure-profile-layout="compact-v901"][data-kisure-hero-tone="light"] .football-club-hero__quick > span,
html[data-kisure-design="865"] body [data-kisure-profile-layout="compact-v901"][data-kisure-hero-tone="light"] :is(.football-player-team-link,.football-hero__actions .site-button) {
  background:#172426 !important;
  border-color:#2D4244 !important;
  color:#FFFFFF !important;
  -webkit-text-fill-color:#FFFFFF !important;
}
html[data-kisure-design="865"] body [data-kisure-profile-layout="compact-v901"][data-kisure-hero-tone="light"] .football-player-hero__quick > span :is(strong,small),
html[data-kisure-design="865"] body [data-kisure-profile-layout="compact-v901"][data-kisure-hero-tone="light"] .football-club-hero__quick > span :is(strong,small),
html[data-kisure-design="865"] body [data-kisure-profile-layout="compact-v901"][data-kisure-hero-tone="light"] :is(.football-player-team-link,.football-hero__actions .site-button) :is(span,strong,small,i) {
  color:#FFFFFF !important;
  -webkit-text-fill-color:#FFFFFF !important;
  opacity:1 !important;
}
html[data-kisure-design="865"] body [data-kisure-profile-layout="compact-v901"][data-kisure-hero-tone="dark"] .football-player-hero__quick > span,
html[data-kisure-design="865"] body [data-kisure-profile-layout="compact-v901"][data-kisure-hero-tone="dark"] .football-club-hero__quick > span,
html[data-kisure-design="865"] body [data-kisure-profile-layout="compact-v901"][data-kisure-hero-tone="dark"] :is(.football-player-team-link,.football-hero__actions .site-button) {
  background:rgba(10,18,19,.58) !important;
  border-color:rgba(255,255,255,.28) !important;
  color:#FFFFFF !important;
  -webkit-text-fill-color:#FFFFFF !important;
}
html[data-kisure-design="865"] body [data-kisure-profile-layout="compact-v901"][data-kisure-hero-tone="dark"] .football-player-hero__quick > span :is(strong,small),
html[data-kisure-design="865"] body [data-kisure-profile-layout="compact-v901"][data-kisure-hero-tone="dark"] .football-club-hero__quick > span :is(strong,small),
html[data-kisure-design="865"] body [data-kisure-profile-layout="compact-v901"][data-kisure-hero-tone="dark"] :is(.football-player-team-link,.football-hero__actions .site-button) :is(span,strong,small,i) {
  color:#FFFFFF !important;
  -webkit-text-fill-color:#FFFFFF !important;
  opacity:1 !important;
}

/* Restore the approved head-first crop. The source cutout stays transparent and
 * non-destructive; the hero slot performs the visual crop instead. */
html[data-kisure-design="865"] body [data-kisure-profile-layout="compact-v901"] > .football-player-hero__media {
  overflow:hidden !important;
  background:transparent !important;
  border:0 !important;
  box-shadow:none !important;
}
html[data-kisure-design="865"] body [data-kisure-profile-layout="compact-v901"] > .football-player-hero__media > img.ks-player-face-img--hero {
  width:100% !important;
  height:100% !important;
  max-width:none !important;
  max-height:none !important;
  object-fit:contain !important;
  object-position:center top !important;
  transform:scale(1.58) !important;
  transform-origin:50% 12% !important;
  background:transparent !important;
  border:0 !important;
  border-radius:0 !important;
  box-shadow:none !important;
}

/* Stadiums and club cards with light identity colours must remain readable. */
html[data-kisure-design="865"] body [data-kisure-solid-hero="stadium"][data-kisure-hero-tone="light"] .ks-stadium-hero__body :is(h1,p,strong,small,.ks-stadium-kicker,i) {
  color:#10202A !important;
  -webkit-text-fill-color:#10202A !important;
}
html[data-kisure-design="865"] body [data-kisure-solid-hero="stadium"][data-kisure-hero-tone="dark"] .ks-stadium-hero__body :is(h1,p,strong,small,.ks-stadium-kicker,i) {
  color:#FFFFFF !important;
  -webkit-text-fill-color:#FFFFFF !important;
}

/* 2. Web-push modal: explicit, high-contrast ownership ------------------------- */
html[data-kisure-design="865"] body .notification-subscribe-modal[data-notification-subscribe-modal] {
  position:fixed !important;
  inset:0 !important;
  z-index:2147483647 !important;
  display:grid !important;
  place-items:center !important;
  padding:18px !important;
  isolation:isolate !important;
  background:rgba(3,9,10,.84) !important;
}
html[data-kisure-design="865"] body .notification-subscribe-modal[data-notification-subscribe-modal][hidden] { display:none !important; }
html[data-kisure-design="865"] body .notification-subscribe-modal .notification-subscribe-modal__card {
  position:relative !important;
  z-index:2 !important;
  background:#F9FFFF !important;
  color:#13292B !important;
  border:1px solid #A8CCCC !important;
}
html[data-kisure-design="865"] body .notification-subscribe-modal .notification-subscribe-modal__content {
  background:#F9FFFF !important;
  color:#13292B !important;
}
html[data-kisure-design="865"] body .notification-subscribe-modal .notification-topic {
  background:#FFFFFF !important;
  color:#13292B !important;
  border:1px solid #B6D2D2 !important;
}
html[data-kisure-design="865"] body .notification-subscribe-modal .notification-topic > strong {
  color:#13292B !important;
  -webkit-text-fill-color:#13292B !important;
  opacity:1 !important;
}
html[data-kisure-design="865"] body .notification-subscribe-modal .notification-topic > span {
  background:#0B9CA0 !important;
  color:#FFFFFF !important;
  -webkit-text-fill-color:#FFFFFF !important;
}
html[data-kisure-design="865"] body .notification-subscribe-modal .notification-topic > span i {
  color:#FFFFFF !important;
  -webkit-text-fill-color:#FFFFFF !important;
}
html[data-kisure-design="865"] body .notification-subscribe-modal :is(.notification-select-all-button,.notification-link-button) {
  color:#087C78 !important;
  -webkit-text-fill-color:#087C78 !important;
}
html[data-kisure-design="865"][data-theme="dark"] body .notification-subscribe-modal .notification-subscribe-modal__card,
html[data-kisure-design="865"][data-theme="dark"] body .notification-subscribe-modal .notification-subscribe-modal__content {
  background:#171D1E !important;
  color:#F5FFFF !important;
  border-color:#385052 !important;
}
html[data-kisure-design="865"][data-theme="dark"] body .notification-subscribe-modal .notification-subscribe-modal__hero {
  background:#103537 !important;
  color:#F8FFFF !important;
}
html[data-kisure-design="865"][data-theme="dark"] body .notification-subscribe-modal .notification-subscribe-modal__hero :is(h2,p,.notification-subscribe-modal__brand,.notification-subscribe-modal__brand span) {
  color:#F8FFFF !important;
  -webkit-text-fill-color:#F8FFFF !important;
  opacity:1 !important;
}
html[data-kisure-design="865"][data-theme="dark"] body .notification-subscribe-modal .notification-topic {
  background:#20292A !important;
  color:#F8FFFF !important;
  border-color:#385052 !important;
}
html[data-kisure-design="865"][data-theme="dark"] body .notification-subscribe-modal .notification-topic > strong {
  color:#FFFFFF !important;
  -webkit-text-fill-color:#FFFFFF !important;
  opacity:1 !important;
}
html[data-kisure-design="865"][data-theme="dark"] body .notification-subscribe-modal :is(.notification-select-all-button,.notification-link-button) {
  color:#8BE9E6 !important;
  -webkit-text-fill-color:#8BE9E6 !important;
}
html[data-kisure-design="865"][data-theme="dark"] body .notification-subscribe-modal .notification-select-all-button {
  background:#103537 !important;
  border-color:#386163 !important;
}
html[data-kisure-design="865"][data-theme="dark"] body .notification-subscribe-modal [data-notification-subscribe] {
  background:#0B9CA0 !important;
  border-color:#0B9CA0 !important;
  color:#FFFFFF !important;
  -webkit-text-fill-color:#FFFFFF !important;
}
html[data-kisure-design="865"][data-theme="dark"] body .notification-subscribe-modal .notification-subscribe-modal__close {
  background:#263133 !important;
  border-color:#4A6264 !important;
  color:#FFFFFF !important;
}

/* 3. Public feedback popup ----------------------------------------------------- */
.ks-site-feedback {
  position:fixed;
  top:86px;
  right:20px;
  z-index:2147483600;
  display:grid;
  grid-template-columns:34px minmax(0,1fr) 32px;
  align-items:center;
  gap:10px;
  width:min(440px,calc(100vw - 32px));
  padding:13px 12px;
  border:1px solid #88BDBD;
  border-radius:14px;
  background:#F8FFFF;
  color:#112A2C;
  box-shadow:0 18px 48px rgba(0,0,0,.24);
  opacity:1;
  transform:translateY(0);
  transition:opacity .2s ease,transform .2s ease;
}
.ks-site-feedback.is-leaving { opacity:0; transform:translateY(-8px); pointer-events:none; }
.ks-site-feedback__icon { display:grid; place-items:center; width:34px; height:34px; border-radius:10px; background:#E8F7F7; color:#087C78; }
.ks-site-feedback__copy { font-weight:750; line-height:1.35; color:inherit; }
.ks-site-feedback__close { display:grid; place-items:center; width:32px; height:32px; border:0; border-radius:9px; background:transparent; color:inherit; cursor:pointer; }
.ks-site-feedback--success { border-color:#5AB8A8; }
.ks-site-feedback--warning { border-color:#D6A84F; }
.ks-site-feedback--warning .ks-site-feedback__icon { background:#FFF4D6; color:#9A6512; }
.ks-site-feedback--error { border-color:#DE7C7C; }
.ks-site-feedback--error .ks-site-feedback__icon { background:#FDE7E7; color:#A52E2E; }
html[data-theme="dark"] .ks-site-feedback { background:#1C2526; color:#F7FFFF; border-color:#496768; box-shadow:0 18px 48px rgba(0,0,0,.5); }
html[data-theme="dark"] .ks-site-feedback__icon { background:#12383A; color:#88E5E2; }
html[data-theme="dark"] .ks-site-feedback--warning .ks-site-feedback__icon { background:#44351A; color:#FFD983; }
html[data-theme="dark"] .ks-site-feedback--error .ks-site-feedback__icon { background:#482426; color:#FFB0B0; }

/* 4. Frontend member auth/recovery -------------------------------------------- */
.ks-member-auth--recovery .ks-member-auth__intro { align-self:stretch; }
.ks-member-auth__notice {
  display:flex;
  gap:10px;
  align-items:flex-start;
  margin:0 0 18px;
  padding:12px 14px;
  border-radius:12px;
  border:1px solid #BFDADA;
  background:#F2FBFB;
  color:#274245;
  line-height:1.5;
}
html[data-theme="dark"] .ks-member-auth__notice { background:#1B292A; color:#DDECEC; border-color:#3A5153; }

/* 5. Saved predictions --------------------------------------------------------- */
html[data-kisure-design="865"] body .ks-member-saved-predictions { padding-top:28px; padding-bottom:54px; }
html[data-kisure-design="865"] body .ks-saved-predictions-shell {
  border:1px solid var(--ks865-border,#D7E3E3);
  border-radius:20px;
  background:var(--ks865-surface,#FFFFFF);
  padding:clamp(18px,3vw,30px);
}
html[data-kisure-design="865"] body .ks-saved-predictions-head {
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:20px;
  margin-bottom:22px;
}
html[data-kisure-design="865"] body .ks-saved-predictions-head h1 { margin:.25rem 0 .35rem; }
html[data-kisure-design="865"] body .ks-saved-predictions-head p { margin:0; max-width:760px; }
html[data-kisure-design="865"] body .ks-saved-predictions-count {
  flex:0 0 auto;
  min-width:96px;
  padding:11px 14px;
  border-radius:14px;
  background:#E8F7F7;
  border:1px solid #B9DADA;
  color:#087C78;
  text-align:center;
}
html[data-kisure-design="865"] body .ks-saved-predictions-count strong { display:block; font-size:1.45rem; line-height:1; }
html[data-kisure-design="865"] body .ks-saved-predictions-count small { font-size:.72rem; font-weight:850; text-transform:uppercase; letter-spacing:.06em; }
html[data-kisure-design="865"] body .ks-saved-prediction-list { display:grid; gap:16px; }
html[data-kisure-design="865"] body .ks-saved-prediction-card {
  display:grid;
  grid-template-columns:minmax(0,1.25fr) minmax(260px,.75fr);
  gap:22px;
  padding:20px;
  border:1px solid var(--ks865-border,#D7E3E3);
  border-radius:17px;
  background:var(--ks865-card,#FFFFFF);
  box-shadow:none;
}
html[data-kisure-design="865"] body .ks-saved-prediction-card__league { margin:0 0 7px; color:#087C78; font-weight:850; font-size:.76rem; text-transform:uppercase; letter-spacing:.08em; }
html[data-kisure-design="865"] body .ks-saved-prediction-card h2 { margin:0 0 12px; font-size:clamp(1.35rem,2vw,1.85rem); }
html[data-kisure-design="865"] body .ks-saved-prediction-card h2 a { color:inherit; text-decoration:none; }
html[data-kisure-design="865"] body .ks-saved-prediction-pick {
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:9px;
  margin:0 0 12px;
}
html[data-kisure-design="865"] body .ks-saved-prediction-pick > span { padding:10px 11px; border-radius:11px; background:#F3F8F8; border:1px solid #D6E4E4; }
html[data-kisure-design="865"] body .ks-saved-prediction-pick small { display:block; margin-bottom:3px; color:#65797B; font-size:.67rem; text-transform:uppercase; letter-spacing:.05em; font-weight:800; }
html[data-kisure-design="865"] body .ks-saved-prediction-pick strong { display:block; color:#172728; }
html[data-kisure-design="865"] body .ks-saved-prediction-meta { display:flex; flex-wrap:wrap; align-items:center; gap:8px 12px; color:#65797B; font-size:.86rem; }
html[data-kisure-design="865"] body .ks-saved-prediction-status { display:inline-flex; align-items:center; gap:6px; padding:5px 9px; border-radius:999px; background:#E8F7F7; color:#087C78; font-size:.75rem; font-weight:850; }
html[data-kisure-design="865"] body .ks-saved-prediction-card__review { display:flex; flex-direction:column; justify-content:center; gap:10px; }
html[data-kisure-design="865"] body .ks-saved-prediction-card__review label { display:block; font-weight:800; }
html[data-kisure-design="865"] body .ks-saved-prediction-card__review textarea { display:block; width:100%; min-height:86px; margin-top:7px; resize:vertical; border:1px solid #C9DBDB; border-radius:11px; background:#FFFFFF; color:#172728; padding:10px 12px; }
html[data-kisure-design="865"] body .ks-saved-prediction-actions { display:flex; flex-wrap:wrap; gap:8px; }
html[data-kisure-design="865"] body .ks-saved-prediction-actions .site-button { min-height:42px; }
html[data-kisure-design="865"] body .ks-saved-predictions-empty { padding:34px; text-align:center; border:1px dashed #BFD6D6; border-radius:15px; }

html[data-kisure-design="865"][data-theme="dark"] body .ks-saved-predictions-shell,
html[data-kisure-design="865"][data-theme="dark"] body .ks-saved-prediction-card {
  background:#171D1E !important;
  border-color:#334345 !important;
  color:#F3FAFA !important;
}
html[data-kisure-design="865"][data-theme="dark"] body .ks-saved-predictions-head :is(h1,p),
html[data-kisure-design="865"][data-theme="dark"] body .ks-saved-prediction-card :is(h2,h2 a,label,strong) {
  color:#F7FFFF !important;
  -webkit-text-fill-color:#F7FFFF !important;
}
html[data-kisure-design="865"][data-theme="dark"] body .ks-saved-prediction-card__league { color:#81E0DD !important; }
html[data-kisure-design="865"][data-theme="dark"] body .ks-saved-prediction-pick > span { background:#222B2C !important; border-color:#3B4B4C !important; }
html[data-kisure-design="865"][data-theme="dark"] body .ks-saved-prediction-pick small,
html[data-kisure-design="865"][data-theme="dark"] body .ks-saved-prediction-meta { color:#B9CACA !important; }
html[data-kisure-design="865"][data-theme="dark"] body .ks-saved-prediction-card__review textarea { background:#20292A !important; border-color:#3B4B4C !important; color:#FFFFFF !important; }
html[data-kisure-design="865"][data-theme="dark"] body .ks-saved-predictions-count,
html[data-kisure-design="865"][data-theme="dark"] body .ks-saved-prediction-status { background:#103537 !important; border-color:#356062 !important; color:#89E9E5 !important; }

/* General dark-mode guard for profile/member cards that previously inherited
 * near-black text from light-mode component files. */
html[data-kisure-design="865"][data-theme="dark"] body :is(.football-player-identity-grid,.football-profile-card,.football-data-card,.ks-member-dashboard__panel,.ks-member-dashboard__card) {
  color:#EEF7F7 !important;
}
html[data-kisure-design="865"][data-theme="dark"] body :is(.football-player-identity-grid,.football-profile-card,.football-data-card,.ks-member-dashboard__panel,.ks-member-dashboard__card) :is(h1,h2,h3,h4,strong,label) {
  color:#FFFFFF !important;
  -webkit-text-fill-color:#FFFFFF !important;
}
html[data-kisure-design="865"][data-theme="dark"] body :is(.football-player-identity-grid,.football-profile-card,.football-data-card,.ks-member-dashboard__panel,.ks-member-dashboard__card) :is(p,small,span,time) {
  color:#C4D1D1 !important;
}

@media (max-width:820px) {
  .ks-site-feedback { top:72px; right:12px; width:calc(100vw - 24px); }
  html[data-kisure-design="865"] body .ks-saved-predictions-head { align-items:flex-start; flex-direction:column; }
  html[data-kisure-design="865"] body .ks-saved-prediction-card { grid-template-columns:1fr; gap:16px; }
}
@media (max-width:560px) {
  html[data-kisure-design="865"] body .ks-saved-prediction-pick { grid-template-columns:1fr; }
  html[data-kisure-design="865"] body .ks-saved-prediction-card { padding:15px; }
  html[data-kisure-design="865"] body .notification-subscribe-modal[data-notification-subscribe-modal] { padding:8px !important; }
}
