/* ================================================================
   NAPPARYE — thème BetLab (paris sportifs, style haïtien, bleu)
   Réécriture de la structure d'accueil : topbar clair, ticker,
   hero, cartes catégories, cartes de match compactes, nav bas.
   Charge par-dessus main.css (grille + JS bet slip conservés).
   ================================================================ */
@import url('https://fonts.googleapis.com/css2?family=Barlow:wght@400;500;600;700&family=Barlow+Condensed:wght@600;700;800&display=swap');

:root {
  --nap-blue:#1C60DA; --nap-blue-deep:#123F94;
  --nap-card:#fff; --nap-paper:#F1F3F7; --nap-line:#E3E6EC;
  --nap-ink:#16181F; --nap-muted:#6B7280;
  --nap-green:#1FA463; --nap-gold:#F1B01A; --nap-red:#E01021; --nap-indigo:#4C43C4;
  --nap-r:14px; --nap-app:1040px; --nap-pad:14px; --nap-nav:60px;
  --base:217 78% 48%; --base-dark:217 78% 40%;
}

* { box-sizing:border-box; }
body {
  background:var(--nap-paper)!important;
  font-family:"Barlow","Roboto",sans-serif!important;
  color:var(--nap-ink)!important;
  display:block!important;
}
/* mode sombre optionnel (toggle) */
html.nap-dark{
  --nap-card:#17191F; --nap-paper:#0D0E12; --nap-line:#262A33;
  --nap-ink:#ECEDF1; --nap-muted:#9CA1AC;
}
html.nap-dark body{ background:var(--nap-paper)!important; color:var(--nap-ink)!important; }
.preloader{ background:var(--nap-paper)!important; }
h1,h2,h3,h4,h5,h6,.nap-h { font-family:"Barlow Condensed","Inter",sans-serif!important; font-weight:800!important; text-transform:uppercase; letter-spacing:.005em; }
a{ text-decoration:none; }
::selection{ background:rgba(28,96,218,.18); }

/* ---------------- app frame ---------------- */
/* neutralise le layout 3-colonnes de BetLab qui mettait les sections en ligne */
.home-page, .sports-body, .betting-body, .betting-body > .row,
.nap-main, .nap-app { display:block !important; float:none !important; }
.nap-app {
  max-width:var(--nap-app); margin-inline:auto; background:var(--nap-paper);
  min-height:100vh; padding-bottom:calc(var(--nap-nav) + 16px); position:relative;
  overflow-x:clip; width:100%;
}
@media (min-width:1060px){ .nap-app{ box-shadow:0 0 60px -22px rgba(23,24,31,.16); } }
.nap-main{ display:block !important; padding:0 var(--nap-pad); width:100%; }
.nap-section{ display:block; width:100%; max-width:100%; padding:14px 0 2px; overflow:hidden; }
.nap-section > .nap-rail, .nap-section > .nap-grid { max-width:100%; }
.nap-sec-head{ display:flex; align-items:center; gap:8px; margin-bottom:10px; }
.nap-sec-head h3{ font-size:1.15rem; }
.nap-sec-head .nap-more{ margin-left:auto; color:var(--nap-muted); font:600 .68rem/1 "Barlow Condensed"; letter-spacing:.06em; text-transform:uppercase; display:inline-flex; gap:3px; align-items:center; }

/* ---------------- topbar ---------------- */
.nap-top{ position:sticky; top:0; z-index:60; background:var(--nap-card)!important; border-bottom:1px solid var(--nap-line); }
.header-fluid-custom-parent{ display:flex!important; align-items:center; gap:10px; padding:9px var(--nap-pad); max-width:var(--nap-app); margin-inline:auto; width:100%; }
.nap-top .primary-menu-container{ margin-left:auto; }
.nap-actions{ display:flex; align-items:center; gap:8px; }
.nap-iconbtn{ width:34px; height:34px; border-radius:9px; border:1px solid var(--nap-line); background:var(--nap-card); color:var(--nap-ink); display:grid; place-items:center; flex:none; }
.nap-iconbtn i{ font-size:1rem; }
.nap-iconbtn .moon{ display:none; }
html.nap-dark .nap-iconbtn .moon{ display:inline; }
html.nap-dark .nap-iconbtn .sun{ display:none; }
.nap-login{ font-family:"Barlow Condensed"; font-weight:700; text-transform:uppercase; letter-spacing:.03em; color:var(--nap-ink)!important; padding:8px 6px; }
.nap-top .logo{ position:relative; margin-right:auto; line-height:1; }
.nap-top .logo img{ max-height:34px; width:auto; }
.nap-top .logo a::after{
  content:"PARYE \00B7 GENYEN \00B7 RETR\00C8"; position:absolute; left:2px; top:100%;
  font:700 .46rem/1 "Barlow Condensed"; letter-spacing:.14em; color:var(--nap-muted); white-space:nowrap;
}
.nap-top .primary-menu-container{ display:flex; align-items:center; gap:10px; }
.nap-top .primary-menu-container > ul.d-lg-flex{ display:none!important; }
.nap-top .right-side-nav{ display:flex; align-items:center; gap:8px; margin:0; padding:0; list-style:none; }
.nap-top .select-lang--container, .nap-top .dropdown-lang{ display:none; }
.nap-top .form-select{ background:var(--nap-card)!important; color:var(--nap-ink)!important; border:1px solid var(--nap-line)!important; font-size:.78rem; border-radius:8px; padding:6px 26px 6px 10px; }
.nap-top .language-btn .language-text{ color:var(--nap-ink)!important; }
.nap-top .btn--signup{
  background:var(--nap-blue)!important; color:#fff!important; border:0!important;
  font-family:"Barlow Condensed"; font-weight:700; letter-spacing:.03em; text-transform:uppercase;
  padding:8px 14px; border-radius:9px; white-space:nowrap;
}
.nap-top .btn--signup:hover{ background:var(--nap-blue-deep)!important; }
.nap-top .user-profile-btn{ background:none; border:1px solid var(--nap-line); border-radius:9px; padding:7px 12px; color:var(--nap-ink); font-weight:600; }

/* ---------------- promo ticker ---------------- */
.nap-ticker{ display:flex; gap:2px; background:var(--nap-card); border-bottom:1px solid var(--nap-line);
  font-family:"Barlow Condensed"; font-weight:700; font-size:.7rem; letter-spacing:.08em; text-transform:uppercase; }
.nap-ticker span{ flex:1; display:flex; align-items:center; justify-content:center; gap:7px; padding:9px 6px; color:var(--nap-muted); }
.nap-ticker span::before{ content:""; width:6px; height:6px; border-radius:50%; background:var(--nap-blue); }
.nap-ticker span:last-child::before{ background:var(--nap-gold); }

/* ---------------- hero ---------------- */
.banner-slider,.hero-slider{ margin:var(--nap-pad) 0 6px!important; border-radius:var(--nap-r); overflow:hidden; }
.banner_slide{ position:relative; border-radius:var(--nap-r); overflow:hidden; }
.banner_image{ object-fit:cover; width:100%; display:block; }
.banner_slide::after{ content:""; position:absolute; inset:0; background:linear-gradient(transparent 35%, rgba(5,8,18,.55)); pointer-events:none; }
/* hero de secours (aucune image téléversée) */
.nap-hero{
  margin:var(--nap-pad) 0 2px; padding:22px 18px; border-radius:var(--nap-r); color:#fff;
  min-height:150px; display:flex; flex-direction:column; justify-content:center; position:relative; overflow:hidden;
  background:linear-gradient(120deg,var(--nap-blue-deep),#0a1f4d 55%,#37121a);
}
.nap-hero::after{ content:""; position:absolute; inset:0; pointer-events:none;
  background:radial-gradient(110% 80% at 82% 18%,rgba(255,255,255,.18),transparent 55%),
  repeating-linear-gradient(118deg,transparent 0 20px,rgba(255,255,255,.045) 20px 22px); }
.nap-hero > *{ position:relative; z-index:1; }
.nap-hero__k{ font-family:"Barlow Condensed"; font-weight:700; font-size:.72rem; letter-spacing:.18em; text-transform:uppercase; opacity:.85; }
.nap-hero__t{ font-family:"Barlow Condensed"; font-weight:800; font-size:clamp(1.9rem,1.2rem+3.4vw,3rem); line-height:.94; text-transform:uppercase; margin:6px 0 0; max-width:16ch; }
.nap-hero__d{ font-size:.9rem; opacity:.92; margin-top:7px; max-width:34ch; }
.nap-hero__go{ align-self:flex-start; margin-top:12px; background:#fff; color:var(--nap-ink); padding:8px 16px; border-radius:8px;
  font-family:"Barlow Condensed"; font-weight:700; letter-spacing:.04em; text-transform:uppercase; font-size:.85rem; }

/* ---------------- category cards rail ---------------- */
.sports-category, .nap-cats,
.sports-category.nap-cats{
  display:flex!important; flex-direction:row!important; flex-wrap:nowrap!important; gap:10px!important;
  overflow-x:auto!important; overflow-y:visible!important;
  width:100%!important; max-width:100%!important; height:auto!important; min-height:0!important;
  position:static!important; top:auto!important; left:auto!important; right:auto!important; bottom:auto!important;
  transform:none!important; visibility:visible!important; z-index:1!important;
  background:transparent!important; border:0!important; margin:0!important; padding:8px 0 4px!important;
  scrollbar-width:none;
}
.sports-category::-webkit-scrollbar, .nap-cats::-webkit-scrollbar{ display:none; }
.sports-category__list{ display:contents!important; }
.nap-cat, .sports-category__link{
  flex:0 0 auto; min-width:118px; width:31%; max-width:190px;
  border-radius:var(--nap-r); padding:13px; min-height:92px; color:#fff!important;
  display:flex; flex-direction:column; justify-content:space-between; overflow:hidden; position:relative;
  border:0!important;
}
.nap-cat .nap-cat-t, .sports-category__text{
  font-family:"Barlow Condensed"!important; font-weight:800!important; font-size:1.05rem!important;
  text-transform:uppercase; line-height:1; color:#fff!important;
}
.nap-cat .nap-cat-d{ font-size:.68rem; opacity:.92; line-height:1.3; }
.nap-cats a.nap-cat, .sports-category a.nap-cat{ background:linear-gradient(135deg,#2b3a63,#3350a8)!important; }
.nap-cats a.c-sport, .sports-category a.c-sport{ background:linear-gradient(135deg,#12894f,#1FA463)!important; }
.nap-cats a.c-live,  .sports-category a.live-btn{ background:linear-gradient(135deg,#8f0c17,#E01021)!important; }
.nap-cats a.c-ucl,   .sports-category a.c-ucl{ background:linear-gradient(135deg,#2c1076,var(--nap-indigo))!important; }
.nap-cats a.c-today, .sports-category a.c-today{ background:linear-gradient(135deg,#b9820b,var(--nap-gold))!important; color:#241a02!important; }
.nap-cats a.c-today .nap-cat-t{ color:#241a02!important; }
.nap-cats a.c-blue,  .sports-category a.c-blue, .sports-category a.active{ background:linear-gradient(135deg,var(--nap-blue-deep),var(--nap-blue))!important; }
.nap-cat, .nap-cat .nap-cat-t, .nap-cat .nap-cat-d{ color:#fff!important; }
.nap-cat.c-today, .nap-cat.c-today .nap-cat-d{ color:#241a02!important; }
.sports-category__icon{ font-size:1.1rem; opacity:.9; }
.sports-category__icon svg, .sports-category__icon i{ color:#fff!important; }

/* ---------------- leagues chips ---------------- */
.top-sticky{ position:static!important; }
.sub-category-drawer{ padding:6px 0 0; }
.sub-category-drawer__list{ display:flex; gap:8px; overflow-x:auto; scrollbar-width:none; padding:0; margin:0; list-style:none; }
.sub-category-drawer__list::-webkit-scrollbar{ display:none; }
.sub-category-drawer__link{
  flex:0 0 auto; display:flex; align-items:center; gap:8px; padding:8px 12px;
  background:var(--nap-card); border:1px solid var(--nap-line); border-radius:10px;
}
.sub-category-drawer__link.active{ background:var(--nap-blue); border-color:var(--nap-blue); }
.sub-category-drawer__link.active .sub-category-drawer__text{ color:#fff; }
.sub-category-drawer__flag-img{ width:18px; height:18px; border-radius:4px; object-fit:cover; }
.sub-category-drawer__text{ font-family:"Barlow Condensed"!important; font-weight:700!important; text-transform:uppercase; font-size:.8rem; color:var(--nap-ink); }

/* ---------------- match rail + compact card ---------------- */
.nap-rail{ display:flex; gap:10px; overflow-x:auto; padding-bottom:6px; scrollbar-width:none; }
.nap-rail::-webkit-scrollbar{ display:none; }
.nap-match{
  flex:0 0 268px; background:var(--nap-card); border:1px solid var(--nap-line);
  border-radius:var(--nap-r); padding:12px; display:flex; flex-direction:column; gap:9px;
  box-shadow:0 8px 22px -16px rgba(23,24,31,.2);
}
.nap-grid .nap-match{ flex:1 1 268px; }
.nap-match__meta{ display:flex; align-items:center; gap:6px; font-size:.68rem; color:var(--nap-muted); }
.nap-match__lg{ color:var(--nap-blue); font-weight:700; letter-spacing:.04em; text-transform:uppercase; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; min-width:0; }
.nap-match__meta > .nap-when{ flex:none; margin-left:auto; white-space:nowrap; }
.nap-match__meta .nap-live{ flex:none; margin-left:auto; color:var(--nap-green); font-weight:700; display:inline-flex; align-items:center; gap:4px; }
.nap-match__meta .nap-live::before{ content:""; width:6px; height:6px; border-radius:50%; background:var(--nap-green); }
.nap-match__teams{ display:flex; flex-direction:column; gap:5px; }
.nap-match__team{ display:flex; align-items:center; gap:8px; font-family:"Barlow Condensed"; font-weight:700; font-size:.95rem; text-transform:uppercase; min-width:0; }
.nap-match__team img{ width:18px; height:18px; border-radius:4px; object-fit:cover; flex:none; background:var(--nap-line); }
.nap-match__team span{ overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.nap-match__odds{ display:grid; gap:6px; }
.nap-match__odds[data-cols="3"]{ grid-template-columns:repeat(3,1fr); }
.nap-match__odds[data-cols="2"]{ grid-template-columns:repeat(2,1fr); }
.nap-match__odds .nap-o{ display:flex; flex-direction:column; min-width:0; }
.nap-match__odds .nap-k{ font-size:.58rem; font-weight:600; color:var(--nap-muted); letter-spacing:.08em; text-align:center; margin-bottom:3px; }
.nap-match__odds .nap-o .oddBtn{ width:100%; }
.nap-match__more{ font:600 .66rem/1 "Barlow Condensed"; letter-spacing:.05em; text-transform:uppercase; color:var(--nap-muted); }

/* odd buttons (used in cards + markets page) */
.oddBtn, .odd-list__outcome, .option-odd-lists .oddBtn, .btn-light.oddBtn{
  width:100%; border:1px solid var(--nap-line)!important; border-radius:9px!important;
  background:var(--nap-card)!important; color:var(--nap-ink)!important;
  font-family:"Barlow Condensed"!important; font-weight:700!important; font-size:.92rem!important;
  padding:8px 4px!important; transition:background .15s,border-color .15s,color .15s;
}
.oddBtn:hover, .odd-list__outcome:hover{ border-color:var(--nap-blue)!important; }
.oddBtn.active, .odd-list__outcome.active{ background:var(--nap-blue)!important; border-color:var(--nap-blue)!important; color:#fff!important; }
.oddBtn.active *, .odd-list__outcome.active *{ color:#fff!important; }
.oddBtn.locked, .odd-list__outcome.locked{ opacity:.45; }
.oddBtn[disabled]{ opacity:.4; }

/* fallback for the wide BetLab card (category/markets pages) */
.sports-card{ background:var(--nap-card)!important; border:1px solid var(--nap-line); border-radius:var(--nap-r)!important; box-shadow:0 8px 22px -16px rgba(23,24,31,.18); margin-bottom:12px; }
.odd-list__team-name,.team-select-title,.odd-list__team-divide{ font-family:"Barlow Condensed"!important; font-weight:700!important; text-transform:uppercase; }
.odd-list__title{ color:var(--nap-blue)!important; letter-spacing:.06em; }

/* ---------------- sports list ---------------- */
.nap-sports{ display:grid; gap:2px; border:1px solid var(--nap-line); border-radius:var(--nap-r); overflow:hidden; background:var(--nap-line); }
.nap-sports a{ display:flex; align-items:center; gap:12px; padding:12px 14px; background:var(--nap-card); color:var(--nap-ink); }
.nap-sports a .si{ width:22px; height:22px; color:var(--nap-blue); flex:none; display:grid; place-items:center; }
.nap-sports a .nm{ font-family:"Barlow Condensed"; font-weight:700; text-transform:uppercase; letter-spacing:.02em; }
.nap-sports a .cnt{ margin-left:auto; font-size:.7rem; color:var(--nap-muted); }
.nap-sports a .cnt::after{ content:"\203A"; margin-left:8px; font-size:1rem; }

/* ---------------- buttons ---------------- */
.btn--base,.btn--primary{ background:var(--nap-blue)!important; border-color:var(--nap-blue)!important; border-radius:9px!important; font-family:"Barlow Condensed"!important; font-weight:700!important; letter-spacing:.03em; }
.btn--base:hover{ background:var(--nap-blue-deep)!important; border-color:var(--nap-blue-deep)!important; }
.btn{ border-radius:9px; }

/* ---------------- bet slip ---------------- */
.nap-scrim{
  position:fixed; inset:0; z-index:68; background:rgba(8,10,16,.5);
  opacity:0; pointer-events:none; transition:opacity .3s;
}
.nap-scrim.nap-open{ opacity:1; pointer-events:auto; }
.betslip.nap-slip{
  position:fixed !important; left:50% !important; right:auto !important; top:auto !important; bottom:0 !important;
  z-index:70; width:min(560px,100%); max-width:100vw;
  transition:transform .34s cubic-bezier(.7,0,.2,1);
  background:var(--nap-card); border:1px solid var(--nap-line); border-bottom:0;
  border-radius:18px 18px 0 0; max-height:82vh; display:flex !important; flex-direction:column;
  visibility:visible !important; opacity:1 !important;
}
/* état fermé prioritaire : dès que nap-open est absent, il est caché en bas,
   quelles que soient les autres classes que BetLab pourrait ajouter */
.betslip.nap-slip:not(.nap-open){ transform:translate(-50%,110%) !important; }
.betslip.nap-slip.nap-open{ transform:translate(-50%,0) !important; }
.nap-slip-close{ position:relative; z-index:3; background:none; border:0; width:36px; height:36px; border-radius:8px; font-size:1.6rem; line-height:1; color:var(--nap-muted); flex:none; display:grid; place-items:center; cursor:pointer; }
.nap-slip-close:hover{ background:var(--nap-line); color:var(--nap-ink); }
.betslip-header{ padding:8px 12px; border-bottom:1px solid var(--nap-line); display:flex; align-items:center; gap:8px; }
.bet-type{ display:flex; gap:6px; flex:1; }
.bet-type__btn{ flex:1; text-align:center; padding:7px; border:1px solid var(--nap-line); border-radius:8px; cursor:pointer; }
.bet-type__btn span{ font-family:"Barlow Condensed"!important; font-weight:700!important; text-transform:uppercase; font-size:.8rem; }
.bet-type__btn input{ display:none; }
.bet-type__btn input:checked + span{ color:var(--nap-blue); }
.bet-type__btn:has(input:checked){ border-color:var(--nap-blue); }
.nap-slip-close{ background:none; border:0; font-size:1.4rem; line-height:1; color:var(--nap-muted); flex:none; }
.betslip-inner{ overflow-y:auto; }
.mybet-container{ display:none; }
.betslip__footer{ padding:12px; border-top:1px solid var(--nap-line); background:var(--nap-card); }
.betPlaceBtn,.betslip__footer-btn,.bet-place-btn{ background:var(--nap-blue)!important; border-color:var(--nap-blue)!important; width:100%; border-radius:10px!important; font-family:"Barlow Condensed"!important; font-weight:800!important; text-transform:uppercase; padding:11px!important; }
.total-return-amount{ color:var(--nap-green)!important; font-weight:700; }
.empty-slip-message{ display:block; text-align:center; color:var(--nap-muted); font-size:.85rem; padding:26px 14px; }
.empty-slip-message img{ max-width:70px; opacity:.5; margin-bottom:8px; }

/* ---------------- footer ---------------- */
.nap-foot{ padding:22px 0 10px; text-align:center; display:grid; gap:14px; }
.nap-foot .footer--light, .footer--light, .footer-bottom{ background:var(--nap-card)!important; border-radius:var(--nap-r); }
.footer--light *, .footer-bottom *{ color:var(--nap-muted); }
.footer--light a:hover, .footer-bottom a:hover{ color:var(--nap-blue); }
.nap-rg{ display:inline-flex; align-items:center; gap:8px; justify-self:center; font:600 .72rem/1 "Barlow Condensed"; letter-spacing:.06em; text-transform:uppercase; color:var(--nap-muted); }
.nap-18{ width:26px; height:26px; border-radius:50%; border:2px solid var(--nap-muted); display:grid; place-items:center; font-family:"Barlow Condensed"; font-weight:800; font-size:.66rem; }

/* ---------------- floating koupon + bottom nav ---------------- */
.nap-koupon{
  position:fixed; right:14px; bottom:calc(var(--nap-nav) + 14px); z-index:65;
  background:var(--nap-blue); color:#fff; border-radius:28px; padding:11px 16px;
  display:flex; align-items:center; gap:8px; font-family:"Barlow Condensed"; font-weight:800;
  letter-spacing:.05em; text-transform:uppercase; box-shadow:0 12px 26px -10px var(--nap-blue);
}
.nap-koupon .bet-count{ background:#fff; color:var(--nap-blue); min-width:20px; height:20px; border-radius:10px; display:grid; place-items:center; font-size:.78rem; padding:0 5px; }
@media (min-width:1060px){ .nap-koupon{ right:calc(50% - var(--nap-app)/2 + 16px); } }

.app-nav{
  display:block!important;
  position:fixed!important; left:50%!important; right:auto!important; top:auto!important; bottom:0!important;
  transform:translateX(-50%)!important; width:min(var(--nap-app),100%)!important;
  z-index:62; height:var(--nap-nav); background:var(--nap-card)!important;
  border-top:1px solid var(--nap-line)!important; box-shadow:0 -6px 18px -12px rgba(23,24,31,.2);
}
.app-nav .container-fluid,.app-nav .row,.app-nav .col-12{ height:100%; padding:0; }
.app-nav__menu{ display:flex!important; height:100%; margin:0; padding:0; list-style:none; }
.app-nav__menu > li{ flex:1; display:flex; }
.app-nav__menu-link,.app-nav__menu-link-important{
  flex:1; display:flex; flex-direction:column; align-items:center; justify-content:center; gap:3px;
  color:var(--nap-muted)!important; font-size:.6rem;
}
.app-nav__menu-icon i, .app-nav__menu-icon{ font-size:1.1rem; color:inherit!important; }
.app-nav__menu-icon img{ width:20px; height:20px; filter:grayscale(1) brightness(0) opacity(.42); }
.app-nav__menu-text{ font-family:"Barlow Condensed"!important; font-weight:700!important; letter-spacing:.04em; text-transform:uppercase; }
.app-nav__menu-link.active, .app-nav__menu-link.active *{ color:var(--nap-blue)!important; }
.app-nav__menu-link.active .app-nav__menu-icon img{ filter:none; }
.app-nav__menu-link-important-container{ flex:0 0 auto!important; display:flex; align-items:center; }
.app-nav__menu-link-important{
  width:46px; height:46px; border-radius:50%; background:var(--nap-blue)!important; color:#fff!important;
  margin-top:-16px; box-shadow:0 8px 18px -6px var(--nap-blue);
}
.open-betslip .bet-count{
  position:absolute; top:2px; right:calc(50% - 22px); background:var(--nap-red); color:#fff;
  min-width:16px; height:16px; border-radius:8px; font-size:.62rem; display:grid; place-items:center;
}
.app-nav__drawer{ background:var(--nap-card)!important; }
.app-nav__drawer-link,.app-nav__drawer-text,.app-nav__drawer-icon i{ color:var(--nap-ink)!important; }

/* hide leftovers from old layout */
.header-primary > .container-fluid{ padding:0; }
.nap-foot .footer, .nap-foot .footer-bottom{ margin-top:10px; }
