/* ODD24 v2090 - Modal Scope Isolation
   Regola di progetto: ogni modale ha il proprio namespace CSS.
   Da ora le modifiche vanno fatte sui blocchi dedicati:
   - .compare-event-modal-card
   - .compare-options-modal-card
   - .odds-event-modal-card
   - .media-detail-modal-card
   - .multiple-detail-modal-card
   - .valuebet-detail-modal-card
   - .surebet-detail-modal-card
   Non modificare .odds-modal-card generico per varianti grafiche di singoli modali.
*/

/* Foundation isolata: solo modali ODD24 con namespace esplicito */
.compare-event-modal-card,
.compare-options-modal-card,
.odds-event-modal-card,
.media-detail-modal-card,
.multiple-detail-modal-card,
.valuebet-detail-modal-card,
.surebet-detail-modal-card{
  box-sizing:border-box;
  font-family:var(--odd24-modal-font,"Inter","IBM Plex Sans",system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif);
  background:var(--odd24-modal-bg,#f8fbff);
  color:var(--odd24-modal-text,#101827);
  border-radius:var(--odd24-modal-radius,18px);
  border:var(--odd24-modal-border,1px solid rgba(15,23,42,.12));
  box-shadow:var(--odd24-modal-shadow,0 24px 70px rgba(2,8,23,.28));
}

.compare-event-modal-card .odds-modal-head,
.compare-options-modal-card .odds-modal-head,
.odds-event-modal-card .odds-modal-head,
.media-detail-modal-card .odds-modal-head,
.multiple-detail-modal-card .odds-modal-head,
.valuebet-detail-modal-card .odds-modal-head,
.surebet-detail-modal-card .odds-modal-head{
  background:var(--odd24-modal-head-bg,rgba(255,255,255,.72));
  color:var(--odd24-modal-title,#101827);
  border-bottom:var(--odd24-modal-head-border,1px solid rgba(15,23,42,.10));
}

.compare-event-modal-card .odds-modal-title,
.compare-options-modal-card .odds-modal-title,
.odds-event-modal-card .odds-modal-title,
.media-detail-modal-card .odds-modal-title,
.multiple-detail-modal-card .odds-modal-title,
.valuebet-detail-modal-card .odds-modal-title,
.surebet-detail-modal-card .odds-modal-title{
  font-size:var(--odd24-modal-title-size,22px);
  font-weight:var(--odd24-modal-title-weight,900);
  letter-spacing:var(--odd24-modal-title-spacing,-.025em);
  line-height:1.08;
}

.compare-event-modal-card .odds-modal-sub,
.compare-options-modal-card .odds-modal-sub,
.odds-event-modal-card .odds-modal-sub,
.media-detail-modal-card .odds-modal-sub,
.multiple-detail-modal-card .odds-modal-sub,
.valuebet-detail-modal-card .odds-modal-sub,
.surebet-detail-modal-card .odds-modal-sub{
  color:var(--odd24-modal-sub,#607089);
  font-size:var(--odd24-modal-sub-size,14px);
  font-weight:var(--odd24-modal-sub-weight,700);
}

.compare-event-modal-card .odds-modal-body,
.compare-options-modal-card .odds-modal-body,
.odds-event-modal-card .odds-modal-body,
.media-detail-modal-card .odds-modal-body,
.multiple-detail-modal-card .odds-modal-body,
.valuebet-detail-modal-card .odds-modal-body,
.surebet-detail-modal-card .odds-modal-body{
  background:var(--odd24-modal-body-bg,transparent);
  padding:var(--odd24-modal-body-padding,16px);
}

/* COMPARE - dettaglio evento */
.compare-event-modal-root{ --odd24-modal-overlay:rgba(2,8,23,.54); }
.compare-event-modal-card{
  --odd24-modal-bg:#f7f9fc;
  --odd24-modal-radius:18px;
  --odd24-modal-title-size:22px;
  --odd24-modal-body-padding:16px;
  width:min(1120px,calc(100vw - 28px));
}
.compare-event-modal-card.event-mode .odm-wrap{ gap:14px; }

/* COMPARE - opzioni/filtri */
.compare-options-modal-card{
  --odd24-modal-bg:#ffffff;
  --odd24-modal-radius:18px;
  --odd24-modal-title-size:21px;
  width:min(1080px,calc(100vw - 48px));
}

/* ODDS - dettaglio evento/tabellone */
.odds-event-modal-card{
  --odd24-modal-bg:#f8fbff;
  --odd24-modal-radius:18px;
  --odd24-modal-title-size:22px;
  --odd24-modal-body-padding:14px 16px 18px;
  width:min(1120px,calc(100vw - 28px));
}

/* MEDIA - dettaglio evento media quote */
.media-detail-modal-card{
  --odd24-modal-bg:#f7fbff;
  --odd24-modal-radius:18px;
  --odd24-modal-title-size:22px;
  --odd24-modal-body-padding:14px 16px 18px;
  width:min(1120px,calc(100vw - 28px));
}

/* MULTIPLE / NEWMAIN - dettaglio evento multipla */
.multiple-detail-modal-card{
  --odd24-modal-bg:#f7fbff;
  --odd24-modal-radius:18px;
  --odd24-modal-title-size:22px;
  --odd24-modal-body-padding:14px 16px 18px;
  width:min(1120px,calc(100vw - 28px));
}

/* VALUEBET - dettaglio singola quota: compatto, una selezione, indipendente da Surebet */
.valuebet-detail-modal-card{
  --odd24-modal-bg:#f8fbff;
  --odd24-modal-radius:18px;
  --odd24-modal-title-size:20px;
  --odd24-modal-sub-size:13px;
  --odd24-modal-body-padding:10px 14px 14px;
  width:min(820px,calc(100vw - 24px));
  max-height:calc(100vh - 18px);
  margin:8px auto;
}
.valuebet-detail-modal-card .odds-modal-body{
  max-height:calc(100vh - 90px);
  overflow-y:auto;
  overflow-x:hidden;
}
.valuebet-detail-modal-card .odm-wrap,
.valuebet-detail-modal-card .odm-wrap-single,
.valuebet-detail-modal-card .odm-focus-single{
  display:grid;
  grid-template-columns:minmax(540px,720px);
  justify-content:center;
  gap:10px;
}
.valuebet-detail-modal-card .odm-section,
.valuebet-detail-modal-card .odm-section.span-2,
.valuebet-detail-modal-card .odm-section.span-3{
  width:100%;
  grid-column:auto;
}

/* SUREBET - dettaglio multi-selezione: largo, più colonne, indipendente da Valuebet */
.surebet-detail-modal-card{
  --odd24-modal-bg:#f8fbff;
  --odd24-modal-radius:18px;
  --odd24-modal-title-size:22px;
  --odd24-modal-sub-size:14px;
  --odd24-modal-body-padding:14px 16px 18px;
  width:min(1500px,calc(100vw - 36px));
  max-height:calc(100vh - 18px);
  margin:8px auto;
}
.surebet-detail-modal-card .odds-modal-body{
  max-height:calc(100vh - 96px);
  overflow-y:auto;
  overflow-x:hidden;
}
.surebet-detail-modal-card .odm-wrap,
.surebet-detail-modal-card .odm-wrap-single{
  display:grid;
  grid-template-columns:repeat(3,minmax(300px,1fr));
  gap:14px;
  align-items:start;
}
.surebet-detail-modal-card .odm-section,
.surebet-detail-modal-card .odm-section.span-2,
.surebet-detail-modal-card .odm-section.span-3{
  width:100%;
  min-width:0;
  grid-column:auto;
}
.surebet-detail-modal-card .odm-table{ table-layout:fixed; width:100%; }
.surebet-detail-modal-card .odm-table .book-col{ width:42%; }
.surebet-detail-modal-card .odm-table .odm-val-col{ width:26%; }
.surebet-detail-modal-card .odm-table .pay-col{ width:32%; }

@media(max-width:1180px){
  .surebet-detail-modal-card .odm-wrap,
  .surebet-detail-modal-card .odm-wrap-single{
    grid-template-columns:repeat(2,minmax(300px,1fr));
  }
}

@media(max-width:760px){
  .compare-event-modal-card,
  .compare-options-modal-card,
  .odds-event-modal-card,
  .media-detail-modal-card,
  .multiple-detail-modal-card,
  .valuebet-detail-modal-card,
  .surebet-detail-modal-card{
    width:calc(100vw - 16px);
    max-height:calc(100vh - 12px);
    border-radius:14px;
  }
  .valuebet-detail-modal-card .odm-wrap,
  .valuebet-detail-modal-card .odm-wrap-single,
  .surebet-detail-modal-card .odm-wrap,
  .surebet-detail-modal-card .odm-wrap-single{
    grid-template-columns:minmax(0,1fr);
  }
}

/* ODD24 v2105 - Multiple event detail modal only: 3 card per riga + API source=multiple */
.multiple-detail-modal-root:not(.hidden){
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  padding:14px!important;
  background:rgba(4,10,18,.46)!important;
  backdrop-filter:blur(7px);
  -webkit-backdrop-filter:blur(7px);
}

.multiple-detail-modal-card.event-mode,
.multiple-detail-modal-card{
  width:min(1440px,calc(100vw - 26px))!important;
  max-height:calc(100vh - 24px)!important;
  overflow:hidden!important;
  border-radius:18px!important;
}

.multiple-detail-modal-card .odds-modal-head{
  background:linear-gradient(180deg,#ffffff 0%,#f4f8fd 100%)!important;
  border-bottom:1px solid rgba(15,47,91,.12)!important;
}

.multiple-detail-modal-card .odds-modal-body{
  padding:14px 16px 18px!important;
  overflow:auto!important;
  background:#f4f8fd!important;
}

.multiple-detail-modal-card .odm-wrap{
  display:grid!important;
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
  grid-auto-flow:dense!important;
  gap:12px!important;
  align-items:start!important;
}

.multiple-detail-modal-card .multiple-market-card{
  grid-column:auto!important;
  min-width:0!important;
  width:100%!important;
  overflow:hidden!important;
  border:1px solid rgba(15,47,91,.14)!important;
  border-radius:12px!important;
  background:#ffffff!important;
  box-shadow:0 8px 20px rgba(12,32,67,.052)!important;
}

.multiple-detail-modal-card .multiple-market-card.multiple-market-wide{
  grid-column:1 / -1!important;
}

.multiple-detail-modal-card .odm-title{
  padding:11px 13px!important;
  color:#061935!important;
  font-size:17px!important;
  font-weight:950!important;
  letter-spacing:.015em!important;
  text-transform:uppercase!important;
  background:linear-gradient(90deg,rgba(18,126,215,.20),rgba(116,205,255,.14) 58%,rgba(255,255,255,0))!important;
  border-bottom:1px solid rgba(15,47,91,.10)!important;
  box-shadow:inset 4px 0 0 #1686d9!important;
}

.multiple-detail-modal-card .odm-table-wrap{
  overflow-x:auto!important;
  overflow-y:hidden!important;
}

.multiple-detail-modal-card .odm-table{
  width:100%!important;
  min-width:0!important;
  table-layout:fixed!important;
  border-collapse:collapse!important;
  background:#fff!important;
}

.multiple-detail-modal-card .odm-table th,
.multiple-detail-modal-card .odm-table td{
  min-width:0!important;
  padding:5px 4px!important;
  vertical-align:middle!important;
}

.multiple-detail-modal-card .odm-table th{
  font-size:10.5px!important;
  line-height:1.1!important;
  color:#071a36!important;
  background:#fff!important;
}

.multiple-detail-modal-card .odm-table td.empty,
.multiple-detail-modal-card .odm-table .odm-val-col.empty{
  background:#fff!important;
  color:#8a9bb2!important;
}

.multiple-detail-modal-card .odm-table .book-col,
.multiple-detail-modal-card .odm-table .book-col-col{
  width:124px!important;
  min-width:124px!important;
  max-width:124px!important;
}

.multiple-detail-modal-card .odm-table .pay-col,
.multiple-detail-modal-card .odm-table .pay-col-col{
  width:52px!important;
  min-width:52px!important;
  max-width:52px!important;
  text-align:right!important;
  white-space:nowrap!important;
  font-size:11px!important;
}

.multiple-detail-modal-card .odm-table .odm-val-col,
.multiple-detail-modal-card .odm-table .odm-val-col-col{
  width:48px!important;
  min-width:44px!important;
  max-width:50px!important;
  text-align:center!important;
}

.multiple-detail-modal-card .multiple-market-compact .odm-table .odm-val-col,
.multiple-detail-modal-card .multiple-market-compact .odm-table .odm-val-col-col{
  width:56px!important;
  max-width:58px!important;
}

.multiple-detail-modal-card .multiple-market-wide .odm-table .book-col,
.multiple-detail-modal-card .multiple-market-wide .odm-table .book-col-col{
  width:128px!important;
  min-width:128px!important;
  max-width:128px!important;
}

.multiple-detail-modal-card .multiple-market-wide .odm-table .odm-val-col,
.multiple-detail-modal-card .multiple-market-wide .odm-table .odm-val-col-col{
  width:50px!important;
  min-width:46px!important;
  max-width:52px!important;
}

.multiple-detail-modal-card .multiple-market-wide .odm-table .pay-col,
.multiple-detail-modal-card .multiple-market-wide .odm-table .pay-col-col{
  width:56px!important;
  min-width:56px!important;
  max-width:56px!important;
}

.multiple-detail-modal-card .odm-chip,
.multiple-detail-modal-card .odd-chip{
  min-width:0!important;
  width:100%!important;
  max-width:48px!important;
  min-height:23px!important;
  padding:2px 4px!important;
  border-radius:7px!important;
  font-size:12.5px!important;
  font-weight:950!important;
  font-variant-numeric:tabular-nums!important;
}

.multiple-detail-modal-card .multiple-market-compact .odm-chip,
.multiple-detail-modal-card .multiple-market-compact .odd-chip{
  max-width:56px!important;
}

.multiple-detail-modal-card .multiple-market-wide .odm-chip,
.multiple-detail-modal-card .multiple-market-wide .odd-chip{
  max-width:50px!important;
  font-size:12px!important;
}

/* Evidenza quota massima: solo blu/celeste */
.multiple-detail-modal-card .odm-chip.top1,
.multiple-detail-modal-card .odd-chip.top1,
.multiple-detail-modal-card .summary-chip.top1{
  color:#04234d!important;
  background:linear-gradient(90deg,rgba(205,238,255,.98),rgba(111,203,255,.58) 58%,rgba(18,126,215,.25))!important;
  border-color:rgba(24,145,224,.72)!important;
  box-shadow:0 0 0 1px rgba(116,205,255,.30),0 0 14px rgba(24,145,224,.20)!important;
}

.multiple-detail-modal-card .odm-chip.top2,
.multiple-detail-modal-card .odd-chip.top2{
  background:linear-gradient(90deg,rgba(224,242,255,.88),rgba(139,210,255,.24))!important;
  border-color:rgba(72,170,235,.34)!important;
}

.multiple-detail-modal-card .odm-chip.top3,
.multiple-detail-modal-card .odd-chip.top3{
  background:linear-gradient(90deg,rgba(238,246,252,.94),rgba(207,229,244,.56))!important;
  border-color:rgba(148,184,210,.34)!important;
}

.multiple-detail-modal-card .multiple-provider-bonus-link{
  display:inline-flex!important;
  align-items:center!important;
  max-width:100%!important;
  text-decoration:none!important;
  color:inherit!important;
}

.multiple-detail-modal-card .multiple-provider-bonus-link .provider-badge{
  cursor:pointer!important;
  transition:box-shadow .14s ease, transform .14s ease, border-color .14s ease!important;
}

.multiple-detail-modal-card .multiple-provider-bonus-link:hover .provider-badge,
.multiple-detail-modal-card .multiple-provider-bonus-link:focus-visible .provider-badge{
  transform:translateY(-1px)!important;
  border-color:rgba(24,145,224,.70)!important;
  box-shadow:0 0 0 2px rgba(116,205,255,.24),0 8px 18px rgba(12,32,67,.14)!important;
}

.multiple-detail-modal-card .provider-col,
.multiple-detail-modal-card .book-col{
  overflow:hidden!important;
}

.multiple-detail-modal-card .provider-badge{
  max-width:112px!important;
}

.multiple-detail-modal-card .provider-logo{
  max-width:102px!important;
  max-height:22px!important;
}

@media(max-width:1180px){
  .multiple-detail-modal-card .odm-wrap{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
  }
}

@media(max-width:760px){
  .multiple-detail-modal-card .odm-wrap{
    grid-template-columns:1fr!important;
  }
}

/* ODD24 v2109 - link provider nei modali quote: bonus se presente, fallback sito provider */
.provider-modal-target-link{
  display:inline-flex;
  align-items:center;
  max-width:100%;
  color:inherit;
  text-decoration:none;
  border-radius:8px;
}
.provider-modal-target-link .provider-badge{
  cursor:pointer;
  transition:transform .14s ease, box-shadow .14s ease, border-color .14s ease, filter .14s ease;
}
.provider-modal-target-link:hover .provider-badge,
.provider-modal-target-link:focus-visible .provider-badge{
  transform:translateY(-1px);
  box-shadow:0 0 0 2px rgba(32,168,255,.20),0 8px 18px rgba(12,32,67,.13);
  filter:saturate(1.04);
}
.provider-line .provider-modal-target-link{
  min-width:0;
}



/* ODD24 v2131 - ODDS event modal: contrasto dark mode desktop only
   Scope rigido: non coinvolge Media, Multiple, Compare, Valuebet o Surebet.
   Mobile invariato: sotto 761px restano operative le regole dedicate già esistenti. */
@media (min-width:761px){
  .odds-page.theme-dark .odds-event-modal-card{
    --odd24-modal-bg:#182334;
    --odd24-modal-text:#eef4ff;
    --odd24-modal-head-bg:#202c40;
    --odd24-modal-title:#f3f7ff;
    --odd24-modal-sub:#b9cade;
    --odd24-modal-body-bg:#182334;
    --odd24-modal-head-border:1px solid rgba(148,163,184,.20);
    --odd24-modal-border:1px solid rgba(148,163,184,.28);
  }

  .odds-page.theme-dark .odds-event-modal-card .odds-modal-title{
    color:#f3f7ff!important;
    text-shadow:none!important;
  }

  .odds-page.theme-dark .odds-event-modal-card .odds-modal-sub{
    color:#b9cade!important;
  }

  .odds-page.theme-dark .odds-event-modal-card .odds-modal-body{
    color:#eef4ff!important;
  }

  .odds-page.theme-dark .odds-event-modal-card .odm-section{
    background:#141f31!important;
    border-color:#34455e!important;
  }

  .odds-page.theme-dark .odds-event-modal-card .odm-title{
    color:#f3f7ff!important;
    background:#233247!important;
    border-bottom-color:#34455e!important;
  }

  .odds-page.theme-dark .odds-event-modal-card .odm-table th{
    color:#d8e5f6!important;
    background:#1b273a!important;
    border-bottom-color:#34455e!important;
  }

  .odds-page.theme-dark .odds-event-modal-card .odm-table td,
  .odds-page.theme-dark .odds-event-modal-card .odm-table .book-col,
  .odds-page.theme-dark .odds-event-modal-card .odm-table .pay-col{
    color:#eef4ff!important;
    border-bottom-color:#34455e!important;
  }

  .odds-page.theme-dark .odds-event-modal-card .odm-chip{
    color:#e9f2ff!important;
    background:#101a2b!important;
    border-color:#43536a!important;
  }

  .odds-page.theme-dark .odds-event-modal-card .odm-chip.top1,
  .odds-page.theme-dark .odds-event-modal-card .odm-chip.summary-chip.top1{
    color:#06234b!important;
  }

  .odds-page.theme-dark .odds-event-modal-card .odm-chip.top2,
  .odds-page.theme-dark .odds-event-modal-card .odm-chip.top3{
    color:#123c70!important;
  }

  .odds-page.theme-dark .odds-event-modal-card .hi-row td,
  .odds-page.theme-dark .odds-event-modal-card .hi-row .book-col,
  .odds-page.theme-dark .odds-event-modal-card .hi-row .pay-col{
    color:#eef4ff!important;
  }

  .odds-page.theme-dark .odds-event-modal-card .odm-table .empty{
    color:#91a5bd!important;
  }

  .odds-page.theme-dark .odds-event-modal-card [data-close="1"]{
    color:#e5eefc!important;
    border-color:rgba(148,163,184,.30)!important;
    background:rgba(255,255,255,.04)!important;
  }
}


/* ODD24 v2132 - ODDS event modal: leggibilità quote evidenziate dark mode desktop only
   Correzione chirurgica: i chip evidenziati reali sono scuri/traslucidi, pertanto
   il testo deve restare chiaro. Light mode, mobile e altri modali sono esclusi. */
@media (min-width:761px){
  .odds-page.theme-dark .odds-event-modal-card .odm-table tbody tr:not(.hi-row) .odm-chip{
    color:#f2f7ff!important;
    background:rgba(10,18,31,.55)!important;
    border-color:rgba(113,140,174,.54)!important;
    box-shadow:none!important;
  }

  .odds-page.theme-dark .odds-event-modal-card .odm-table .hi-row{
    background:linear-gradient(90deg, rgba(25,63,111,.72) 0%, rgba(17,43,76,.78) 100%)!important;
  }

  .odds-page.theme-dark .odds-event-modal-card .odm-chip.top1,
  .odds-page.theme-dark .odds-event-modal-card .odm-chip.top2,
  .odds-page.theme-dark .odds-event-modal-card .odm-chip.top3,
  .odds-page.theme-dark .odds-event-modal-card .odm-chip.summary-chip,
  .odds-page.theme-dark .odds-event-modal-card .odm-chip.summary-chip.top1,
  .odds-page.theme-dark .odds-event-modal-card .odm-chip.summary-chip.top2,
  .odds-page.theme-dark .odds-event-modal-card .odm-chip.summary-chip.top3{
    color:#f4f9ff!important;
    background:linear-gradient(135deg, rgba(20,92,151,.58), rgba(11,31,57,.92))!important;
    border-color:rgba(73,181,255,.86)!important;
    box-shadow:0 0 0 1px rgba(64,164,239,.16), 0 0 10px rgba(47,153,229,.20)!important;
    text-shadow:none!important;
  }

  .odds-page.theme-dark .odds-event-modal-card .odm-table .hi-row .odm-chip{
    color:#f4f9ff!important;
  }

  .odds-page.theme-dark .odds-event-modal-card .odm-table .hi-row .book-col,
  .odds-page.theme-dark .odds-event-modal-card .odm-table .hi-row .pay-col{
    color:#f2f7ff!important;
    font-weight:800!important;
  }

  .odds-page.theme-dark .odds-event-modal-card .odm-table td.empty{
    color:#91a5bd!important;
  }
}
