/* ============================================================
   Big Annuaire — habillage « ENCRE »
   feuille = fl-  ·  grille CSS nommée  ·  filets, pas d'ombres
   ============================================================ */

:root{
  --papier:#f7f4ee;
  --surface:#fffdf8;
  --encre:#16150f;
  --second:#6b6558;
  --outremer:#2b4ea2;
  --outremer-fonce:#1d3873;
  --filet:#cdc5b4;
  --filet-pale:#e5dfd2;
  --brique:#9d3b28;
  --pad:20px;
  --colonne:888px;
  --large:1120px;
  --pas:8px;
}
@media (max-width:780px){ :root{ --pad:14px } }

html{ -webkit-text-size-adjust:100% }
body{
  margin:0;
  background:var(--papier);
  color:var(--encre);
  font-family:NotoSans-Regular,"Noto Sans",system-ui,-apple-system,"Segoe UI",sans-serif;
  font-size:17px;
  line-height:1.62;
}
img{ max-width:100%; height:auto }
a{ color:var(--outremer-fonce) }
a:hover{ color:var(--brique) }

/* ---------- largeurs ---------- */
.fl-l{ max-width:var(--large); margin:0 auto; padding-left:var(--pad); padding-right:var(--pad); box-sizing:border-box }
.fl-c{ max-width:var(--colonne); margin:0 auto; padding-left:var(--pad); padding-right:var(--pad); box-sizing:border-box }

/* ============================================================
   BANDEAU (masthead)
   ============================================================ */
.fl-bandeau{ background:var(--surface); border-bottom:2px solid var(--encre) }
.fl-bandeau-h{
  display:grid;
  grid-template-columns:auto 1fr auto;
  grid-template-areas:"titre . reperes";
  align-items:end;
  gap:var(--pas);
  padding-top:22px; padding-bottom:14px;
}
.fl-titre{ grid-area:titre; display:block; text-decoration:none; color:var(--encre); line-height:1 }
.fl-titre b{
  display:block;
  font-family:Montserrat,"Montserrat",Georgia,serif;
  font-weight:800;
  font-size:38px;
  letter-spacing:-0.02em;
}
.fl-titre b i{ font-style:normal; color:var(--outremer) }
.fl-titre span{
  display:block; margin-top:6px;
  font-size:11.5px; letter-spacing:.16em; text-transform:uppercase; color:var(--second);
}
.fl-reperes{ grid-area:reperes; text-align:right; font-size:11.5px; letter-spacing:.12em; text-transform:uppercase; color:var(--second) }
.fl-reperes b{ display:block; color:var(--encre); font-weight:700 }

/* rubriques — rangée plate, sans menus déroulants */
.fl-rangee{ border-top:1px solid var(--filet); background:var(--surface) }
.fl-rangee-h{ display:flex; flex-wrap:wrap; gap:0 26px; padding-top:0; padding-bottom:0 }
.fl-rangee a{
  display:inline-block; padding:11px 0;
  font-size:13.5px; font-weight:700; letter-spacing:.03em;
  color:var(--encre); text-decoration:none;
  border-bottom:3px solid transparent;
}
.fl-rangee a:hover{ color:var(--outremer); border-bottom-color:var(--outremer) }
.fl-rangee a.fl-jeux{ color:var(--brique) }
.fl-rangee a.fl-jeux:hover{ border-bottom-color:var(--brique) }

/* ============================================================
   CORPS
   ============================================================ */
.fl-corps{ padding-top:26px; padding-bottom:40px }
.fl-corps > *{ box-sizing:border-box }

/* étiquette de rubrique : mot + filet qui court */
.fl-etiquette{
  display:grid; grid-template-columns:auto 1fr; align-items:center; gap:12px;
  margin:34px 0 16px;
}
.fl-etiquette b{
  font-family:Montserrat,Georgia,serif; font-weight:800;
  font-size:13px; letter-spacing:.18em; text-transform:uppercase; color:var(--outremer);
}
.fl-etiquette i{ display:block; height:1px; background:var(--filet) }

/* une (page d'accueil) : lead + secondaires séparés par une gouttière filetée */
.fl-une{
  display:grid; gap:0 26px;
  grid-template-columns:1.85fr 1fr;
  grid-template-areas:"lead cotes";
}
.fl-une > .fl-lead{ grid-area:lead; padding-right:26px; border-right:1px solid var(--filet) }
.fl-une > .fl-cotes{ grid-area:cotes }
.fl-lead h2{ font-family:Montserrat,Georgia,serif; font-weight:800; font-size:31px; line-height:1.18; margin:.35em 0 .3em; letter-spacing:-.015em }
.fl-lead h2 a{ color:var(--encre); text-decoration:none }
.fl-lead h2 a:hover{ color:var(--outremer) }
.fl-lead p{ margin:0; color:var(--second); font-size:16px }
.fl-vignette{ display:block; border:1px solid var(--filet-pale) }

.fl-cotes article{ padding:14px 0; border-top:1px solid var(--filet-pale) }
.fl-cotes article:first-child{ border-top:0; padding-top:0 }
.fl-cotes h3{ font-family:Montserrat,Georgia,serif; font-weight:700; font-size:17px; line-height:1.3; margin:0 0 4px }
.fl-cotes h3 a{ color:var(--encre); text-decoration:none }
.fl-cotes h3 a:hover{ color:var(--outremer) }
.fl-cotes p{ margin:0; font-size:14px; color:var(--second) }

/* bande de rubriques : colonnes filetées */
.fl-bande{ display:grid; gap:0; grid-template-columns:repeat(3,1fr) }
.fl-bande > div{ padding:0 20px; border-left:1px solid var(--filet-pale) }
.fl-bande > div:first-child{ padding-left:0; border-left:0 }
.fl-bande > div:last-child{ padding-right:0 }
.fl-bande h3{ font-family:Montserrat,Georgia,serif; font-size:16px; line-height:1.32; margin:0 0 6px }
.fl-bande h3 a{ color:var(--encre); text-decoration:none }
.fl-bande h3 a:hover{ color:var(--outremer) }
.fl-bande p{ margin:0; font-size:14px; color:var(--second) }

/* répertoire : le mot « annuaire » tenu au sérieux — liens en colonnes */
.fl-repertoire{ columns:3; column-gap:26px; column-rule:1px solid var(--filet-pale); margin:0; padding:0; list-style:none }
.fl-repertoire li{ break-inside:avoid; padding:5px 0; font-size:14.5px }
.fl-repertoire li a{ text-decoration:none }
.fl-repertoire li a:hover{ text-decoration:underline }
.fl-repertoire li span{ display:block; font-size:12.5px; color:var(--second) }

/* texte courant */
.fl-corps h1{ font-family:Montserrat,Georgia,serif; font-weight:800; font-size:34px; line-height:1.16; letter-spacing:-.02em; margin:0 0 .45em }
.fl-corps h2{ font-family:Montserrat,Georgia,serif; font-weight:700; font-size:24px; line-height:1.25; margin:1.5em 0 .5em }
.fl-corps h3{ font-family:Montserrat,Georgia,serif; font-weight:700; font-size:19px; margin:1.4em 0 .45em }
.fl-chapeau{ font-size:19px; line-height:1.55; color:var(--second); border-left:3px solid var(--outremer); padding-left:16px; margin:0 0 22px }
.fl-corps table{ border-collapse:collapse; width:100%; font-size:15px }
.fl-corps th,.fl-corps td{ border-bottom:1px solid var(--filet-pale); padding:9px 10px; text-align:left; vertical-align:top }
.fl-corps th{ font-size:12px; letter-spacing:.1em; text-transform:uppercase; color:var(--second); border-bottom:1px solid var(--filet) }
.fl-corps blockquote{ margin:22px 0; padding:0 0 0 18px; border-left:3px solid var(--filet); color:var(--second) }
.fl-legende{ font-size:12.5px; color:var(--second); margin:6px 0 0 }

/* fil d'Ariane */
.fl-fil{ font-size:12.5px; color:var(--second); padding-top:14px }
.fl-fil a{ color:var(--second) }

/* mention Canada dans la rubrique jeux */
.fl-cadre-jeux{ border:1px solid var(--filet); background:var(--surface); padding:18px var(--pad); margin:26px 0 }
.fl-cadre-jeux b{ display:block; font-family:Montserrat,Georgia,serif; font-size:14px; letter-spacing:.08em; text-transform:uppercase; color:var(--brique); margin-bottom:6px }
.fl-cadre-jeux p{ margin:0; font-size:14.5px; color:var(--second) }

/* ============================================================
   PIED
   ============================================================ */
.fl-pied{ background:var(--encre); color:#cfcabb; margin-top:44px; border-top:6px solid var(--outremer) }
.fl-pied-h{ padding-top:34px; padding-bottom:30px; display:grid; gap:26px; grid-template-columns:1.4fr 1fr 1fr }
.fl-pied a{ color:#e8e3d6; text-decoration:none }
.fl-pied a:hover{ color:#fff; text-decoration:underline }
.fl-pied h4{ font-family:Montserrat,Georgia,serif; font-size:12px; letter-spacing:.16em; text-transform:uppercase; color:#8e8776; margin:0 0 12px; font-weight:700 }
.fl-pied ul{ list-style:none; margin:0; padding:0; font-size:14px }
.fl-pied li{ padding:4px 0 }
.fl-pied p{ margin:0 0 10px; font-size:14px; line-height:1.6; color:#a8a294 }
.fl-marque b{ font-family:Montserrat,Georgia,serif; font-weight:800; font-size:22px; color:#fff; display:block; margin-bottom:10px }
.fl-marque b i{ font-style:normal; color:var(--outremer) }
.fl-ourlet{ border-top:1px solid #2e2c24; padding-top:16px; padding-bottom:22px; font-size:12.5px; color:#8e8776 }
.fl-ourlet .fl-age{ display:inline-block; border:1px solid #55503f; padding:1px 7px; margin-right:8px; font-weight:700; color:#cfcabb }

/* ============================================================
   ADAPTATIF
   ============================================================ */
@media (max-width:1000px){
  .fl-bande{ grid-template-columns:repeat(2,1fr) }
  .fl-bande > div:nth-child(3){ padding-left:0; border-left:0 }
  .fl-repertoire{ columns:2 }
  .fl-pied-h{ grid-template-columns:1fr 1fr }
}
@media (max-width:780px){
  body{ font-size:16px }
  .fl-bandeau-h{ grid-template-columns:1fr; grid-template-areas:"titre" "reperes"; align-items:start; padding-top:16px }
  .fl-reperes{ text-align:left; margin-top:8px }
  .fl-titre b{ font-size:29px }
  .fl-rangee-h{ gap:0 18px; overflow-x:auto; flex-wrap:nowrap; white-space:nowrap }
  .fl-une{ grid-template-columns:1fr; grid-template-areas:"lead" "cotes"; gap:0 }
  .fl-une > .fl-lead{ padding-right:0; border-right:0; border-bottom:1px solid var(--filet); padding-bottom:18px; margin-bottom:18px }
  .fl-bande{ grid-template-columns:1fr }
  .fl-bande > div{ padding:16px 0; border-left:0; border-top:1px solid var(--filet-pale) }
  .fl-bande > div:first-child{ border-top:0; padding-top:0 }
  .fl-repertoire{ columns:1 }
  .fl-corps h1{ font-size:26px }
  .fl-lead h2{ font-size:24px }
  .fl-pied-h{ grid-template-columns:1fr }
}

/* ============================================================
   HÉRITAGE — blocs de l'ancien site remis dans notre grille
   ============================================================ */
.fl-corps .container,.fl-corps .container-fluid,.fl-corps .o-container{ max-width:100%!important; width:auto!important; padding-left:0!important; padding-right:0!important; margin-left:0!important; margin-right:0!important }
.fl-corps .row{ display:block!important; margin-left:0!important; margin-right:0!important }
.fl-corps [class*="col-"]{ width:auto!important; max-width:100%!important; flex:none!important; padding-left:0!important; padding-right:0!important }
.fl-corps .card,.fl-corps .shadow,.fl-corps .shadow-lg,.fl-corps .shadow-sm{ box-shadow:none!important; border:1px solid var(--filet-pale)!important; border-radius:0!important; background:var(--surface)!important }
.fl-corps .card-body{ padding:16px var(--pad)!important }
.fl-corps .sticky-top,.fl-corps .default-sticky{ position:static!important }
.fl-corps .bg-pattern,.fl-corps .bg-primary-dark,.fl-corps .bg-primary-very-light,.fl-corps .bg-very-light-grey,.fl-corps .accent{ background:transparent!important; color:inherit!important }
.fl-corps .text-white,.fl-corps .text-light{ color:var(--encre)!important }
.fl-corps [class*="c-top-3"],.fl-corps [class*="c-top-casino"],.fl-corps [class*="c-bonus-card"],.fl-corps [class*="c-others-casino"]{ background:var(--surface)!important; color:var(--encre)!important; border-radius:0!important; box-shadow:none!important }
.fl-corps [style*="color:#fff"],.fl-corps [style*="color: #fff"],.fl-corps [style*="color:#ffffff"]{ color:var(--encre)!important }
.fl-corps .btn,.fl-corps [class*="__btn"],.fl-corps [class*="-btn"]{
  display:inline-block; background:var(--brique)!important; color:#fff!important;
  border:0!important; border-radius:0!important; box-shadow:none!important;
  padding:11px 20px!important; font-weight:700; text-decoration:none; font-size:14.5px;
}
.fl-corps .btn:hover,.fl-corps [class*="__btn"]:hover{ background:#82301f!important }
.fl-corps img{ border-radius:0!important }
.fl-corps h1,.fl-corps h2,.fl-corps h3,.fl-corps h4{ color:var(--encre) }
.fl-corps ul,.fl-corps ol{ padding-left:22px }
.fl-corps iframe{ max-width:100% }

/* ============================================================
   CORRECTIFS — blocs du donneur remis au pas (relevé écran 08.09)
   ============================================================ */

/* 1. SVG sans dimensions : l'étoile de notation occupait 700 px de haut */
.fl-corps svg{ max-width:100%; height:auto }
.fl-corps svg.icon,
.fl-corps [class*="star"] svg,
.fl-corps [class*="rating"] svg,
.fl-corps [class*="fill-yellow"]{ width:1.05em!important; height:1.05em!important; vertical-align:-.12em }
.fl-corps svg:not([width]):not([height]):not(.icon){ max-height:2.2em; width:auto }

/* 2. plaques grises arrondies avec ombre -> feuille filetée */
.fl-corps [class*="intro-txt"],
.fl-corps [class*="__box"],
.fl-corps [class*="-box"],
.fl-corps [class*="common-content-section"]{
  background:var(--surface)!important; border-radius:0!important; box-shadow:none!important;
  border:0!important;
}
.fl-corps [class*="intro-txt-section"]{
  border-left:3px solid var(--outremer)!important;
  padding:18px var(--pad)!important; margin:0 0 26px!important;
}
.fl-corps *{ border-radius:0!important }

/* 3. rangée de rubriques sur une seule ligne */
.fl-rangee-h{ gap:0 22px }
.fl-rangee a{ font-size:13px }
@media (max-width:1180px){ .fl-rangee-h{ gap:0 16px } .fl-rangee a{ font-size:12.5px } }

/* 4. fil d'Ariane du donneur */
.fl-corps .c-breadcrumbs{ font-size:12.5px; color:var(--second); padding:0 0 14px!important; margin:0!important }
.fl-corps .c-breadcrumbs a{ color:var(--second) }
.fl-corps .c-breadcrumbs ul,.fl-corps .c-breadcrumbs ol{ list-style:none; padding:0; margin:0; display:flex; flex-wrap:wrap; gap:6px }

/* 5. vitrines héritées : grille lisible au lieu de colonnes écrasées */
.fl-corps [class*="c-top-3__item"],
.fl-corps [class*="c-top-casino__item"],
.fl-corps [class*="c-bonus-card"]{
  display:grid!important; grid-template-columns:150px 1fr 210px; align-items:center; gap:14px;
  border-bottom:1px solid var(--filet-pale)!important; padding:14px var(--pad)!important;
}
.fl-corps [class*="logo-holder"]{ background:var(--surface)!important; padding:6px!important; border:1px solid var(--filet-pale)!important }
.fl-corps [class*="logo-holder"] img{ max-height:46px; width:auto; object-fit:contain }
@media (max-width:780px){
  .fl-corps [class*="c-top-3__item"],
  .fl-corps [class*="c-top-casino__item"],
  .fl-corps [class*="c-bonus-card"]{ grid-template-columns:1fr; text-align:left }
}

/* 6. images sans logo (ассет отсутствует) не должны оставлять пустую рамку */
.fl-corps img[alt]:not([src]),
.fl-corps img[src=""]{ display:none }

/* 7. таблицы донора, съезжавшие за колонку */
.fl-corps table{ display:block; overflow-x:auto; max-width:100% }

/* --- ЛИНИЯ РУБРИК В ОДНУ СТРОКУ (10 пунктов в 1120 px) --- */
.fl-rangee-h{ gap:0 20px; flex-wrap:nowrap; overflow-x:auto; scrollbar-width:none }
.fl-rangee-h::-webkit-scrollbar{ display:none }
.fl-rangee a{ font-size:12.5px; white-space:nowrap; letter-spacing:.02em }
@media (min-width:1200px){ .fl-rangee-h{ gap:0 24px } .fl-rangee a{ font-size:13px } }

/* ============================================================
   MARGES INTÉRIEURES — блоки донора, которые РИСУЮТ фон или рамку.
   Правило владельца: отступ вешается на блок, который красит фон,
   а не только на контейнер. Найдено gate_padding.js (18 блоков).
   ============================================================ */
.fl-corps .card,
.fl-corps .card-body,
.fl-corps .casino-card,
.fl-corps [class*="c-main__common-content-section"],
.fl-corps [class*="c-aside__top-3"],
.fl-corps [class*="c-top-3"],
.fl-corps [class*="c-top-casino"],
.fl-corps [class*="c-bonus-card"],
.fl-corps [class*="c-others-casino"],
.fl-corps [class*="c-payment-table"],
.fl-corps [class*="__logo-holder"],
.fl-corps [class*="-box"],
.fl-corps [class*="__box"]{
  padding-left:var(--pad)!important;
  padding-right:var(--pad)!important;
  box-sizing:border-box;
}
/* у плашки логотипа отступ маленький, иначе знак схлопывается */
.fl-corps [class*="__logo-holder"]{ padding-left:14px!important; padding-right:14px!important }
/* вертикальные поля отдельно — шорткат padding затирает боковые */
.fl-corps .card-body{ padding-top:16px!important; padding-bottom:16px!important }
.fl-corps [class*="c-main__common-content-section"]{ padding-top:16px!important; padding-bottom:16px!important }

/* ============================================================
   BLOCS TRONQUÉS — у донора текст обрезался по max-height, а кнопка
   «развернуть» жила на JS. JS снят, значит обрезка должна уйти тоже
   (иначе абзац обрывается на полуслове — правило donor-js-controls-leave-dead-links).
   ============================================================ */
.fl-corps [class*="common-content-section"],
.fl-corps [class*="intro-txt"],
.fl-corps [class*="__text"],
.fl-corps [class*="-text"],
.fl-corps [class*="collaps"],
.fl-corps [class*="spoiler"],
.fl-corps [class*="hidden"],
.fl-corps [class*="more"]{
  max-height:none!important; height:auto!important; overflow:visible!important;
  -webkit-line-clamp:none!important;
}
.fl-corps [class*="common-content-section"]:after,
.fl-corps [class*="intro-txt"]:after{ content:none!important }
/* мёртвые кнопки-раскрывалки донора */
.fl-corps [class*="__more"],
.fl-corps [class*="read-more"],
.fl-corps [class*="show-more"],
.fl-corps [class*="toggle"],
.fl-corps [class*="__plus"]{ display:none!important }
/* картинки без источника (лого брендов донора не тянем) */
.fl-corps img[src="#"],
.fl-corps img[src=""],
.fl-corps img:not([src]){ display:none!important }
/* хлебные крошки донора не должны толкать страницу вбок */
.fl-corps .c-breadcrumbs{ overflow-x:auto; white-space:nowrap; -webkit-overflow-scrolling:touch }

/* мёртвая кнопка «развернуть» донора: класс c-main__btn-more(-holder).
   Общее правило [class*="more"] её РАСКРЫВАЛО, но не прятало, а
   [class*="__btn"] красило в кирпич — на экране оставался висячий «+». */
.fl-corps [class*="btn-more"],
.fl-corps [class*="btn_more"]{ display:none!important }

/* виньетки рубрик — собственная графика, не фото и не картинки донора */
.fl-vignette{ width:100%; height:auto; margin:0 0 14px; border:1px solid var(--filet-pale) }
.fl-vig-bande{ margin:0 0 16px; max-height:150px; object-fit:cover; object-position:center }
@media (max-width:780px){ .fl-vig-bande{ max-height:110px } }

/* ============================================================
   VITRINE — rubrique Jeux d'argent (Canada) uniquement.
   ⚠️ Этот блок обязан жить В ИСХОДНИКЕ encre.css: раньше он дописывался
   на сервере, и следующий scp исходника его стирал — витрина рассыпалась.
   ============================================================ */
.fl-jx{ margin:26px 0 }
.fl-jx-ligne{
  display:grid; grid-template-columns:34px 150px 1fr 220px; align-items:center; gap:16px;
  padding:16px 0; border-bottom:1px solid var(--filet-pale);
}
.fl-jx-ligne:first-of-type{ border-top:2px solid var(--encre) }
.fl-jx-rang{
  font-family:Montserrat,Georgia,serif; font-weight:800; font-size:19px; color:var(--brique);
  text-align:center; border-right:1px solid var(--filet-pale); padding-right:8px;
}
.fl-jx-marque{ background:#fff; border:1px solid var(--filet-pale); padding:8px; text-align:center }
.fl-jx-marque img{ max-height:52px; width:auto; object-fit:contain; display:inline-block }
.fl-jx-corps h3{ font-family:Montserrat,Georgia,serif; font-size:18px; margin:0 0 6px }
.fl-corps ul.fl-jx-chips{ list-style:none!important; margin:0; padding:0!important; display:flex; flex-wrap:wrap; gap:6px }
.fl-corps ul.fl-jx-chips li{
  font-size:12px; color:var(--second); border:1px solid var(--filet);
  padding:2px 8px; white-space:nowrap; list-style:none!important;
}
.fl-jx-offre{ text-align:right }
.fl-jx-offre b{ display:block; font-size:15px; line-height:1.35; margin-bottom:9px }
.fl-corps a.fl-jx-cta{
  display:inline-block; background:var(--brique)!important; color:#fff!important;
  text-decoration:none; font-weight:700; font-size:14px; padding:10px 18px!important;
}
.fl-corps a.fl-jx-cta:hover{ background:#82301f!important }
.fl-jx-cond{ display:block; font-size:11.5px; color:var(--second); margin-top:7px }
@media (max-width:860px){
  .fl-jx-ligne{ grid-template-columns:30px 1fr; grid-template-areas:"rang marque" "corps corps" "offre offre"; gap:10px }
  .fl-jx-rang{ grid-area:rang; border-right:0 }
  .fl-jx-marque{ grid-area:marque; text-align:left }
  .fl-jx-corps{ grid-area:corps }
  .fl-jx-offre{ grid-area:offre; text-align:left }
}

/* archives : sections repliées, sans dates */
.fl-arch{ border-top:1px solid var(--filet-pale); padding:0 }
.fl-arch summary{
  cursor:pointer; padding:14px 0; font-family:Montserrat,Georgia,serif; font-weight:700;
  font-size:16px; list-style:none;
}
.fl-arch summary::-webkit-details-marker{ display:none }
.fl-arch summary:before{ content:"+ "; color:var(--outremer); font-weight:800 }
.fl-arch[open] summary:before{ content:"– " }
.fl-arch summary b{ color:var(--second); font-weight:400; font-size:14px }
.fl-arch > ul{ padding-bottom:16px }

/* заголовок номера на первой полосе — это H1 страницы, а не декоративный h2 */
.fl-corps h1.fl-lead-h1{
  font-family:Montserrat,Georgia,serif; font-weight:800; font-size:31px; line-height:1.18;
  letter-spacing:-.015em; margin:.35em 0 .3em;
}
.fl-corps h1.fl-lead-h1 a{ color:var(--encre); text-decoration:none }
.fl-corps h1.fl-lead-h1 a:hover{ color:var(--outremer) }
@media (max-width:780px){ .fl-corps h1.fl-lead-h1{ font-size:24px } }
