/* =====================================================================
   Julius Casino — design opérateur, thème romain (bordeaux & or)
   Préfixe de classes : jcr-  (Julius Casino Roman)
   Feuille de style externe — propre à ce site (n'emprunte rien au réseau).
   ===================================================================== */

:root{
  /* Fonds */
  --jcr-bg:        #1a0509;   /* fond général, pourpre-bordeaux très sombre */
  --jcr-bg-2:      #240810;
  --jcr-surface:   #2a0b13;   /* cartes, tableaux */
  --jcr-surface-2: #350f19;
  --jcr-header:    #4a0d1a;   /* bandeau d'en-tête bordeaux */
  --jcr-header-2:  #6d1424;
  --jcr-footer:    #14060a;

  /* Or impérial */
  --jcr-gold:      #c9a24b;
  --jcr-gold-soft: #e2c982;
  --jcr-gold-deep: #9d7a2e;

  /* Bordeaux d'accent */
  --jcr-wine:      #8a1730;
  --jcr-wine-2:    #a51f3c;

  /* Texte */
  --jcr-text:      #f4ece0;   /* parchemin clair */
  --jcr-text-2:    #cdbfae;
  --jcr-text-dim:  #9a8c7b;

  --jcr-line:      rgba(201,162,75,0.20);
  --jcr-radius:    8px;
  --jcr-shadow:    0 6px 24px rgba(0,0,0,0.45);
  --jcr-shadow-gold: 0 0 22px rgba(201,162,75,0.30);
  --jcr-ease:      0.28s ease;
  --jcr-wrap:      1240px;
}

*{ box-sizing:border-box; margin:0; padding:0; }
html{ scroll-behavior:smooth; -webkit-text-size-adjust:100%; }
body{
  font-family: "Poppins", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
  background: var(--jcr-bg);
  color: var(--jcr-text);
  line-height: 1.65;
  min-height: 100vh;
}
img{ max-width:100%; height:auto; display:block; }
a{ color: inherit; text-decoration:none; transition: color var(--jcr-ease); }

h1,h2,h3,h4{ font-family: Georgia, "Times New Roman", serif; line-height:1.3; }

/* ---------- Conteneur ---------- */
.jcr-wrap{ width:100%; max-width:var(--jcr-wrap); margin:0 auto; padding:0 20px; }

/* ---------- En-tête / navigation ---------- */
.jcr-header{
  position:sticky; top:0; z-index:1000;
  background: linear-gradient(120deg, var(--jcr-header) 0%, var(--jcr-header-2) 100%);
  border-bottom: 2px solid var(--jcr-gold);
  box-shadow: var(--jcr-shadow);
}
.jcr-header-row{
  display:flex; align-items:center; justify-content:space-between;
  gap:16px; height:78px;
}
.jcr-brand{ display:flex; align-items:center; gap:10px; font-family:Georgia,serif; }
.jcr-brand img{ width:auto; height:52px; }
.jcr-brand-name{ font-size:1.35rem; font-weight:700; letter-spacing:.5px; }
.jcr-brand-name .jcr-gold{ color:var(--jcr-gold); }

.jcr-nav{ display:flex; align-items:center; gap:6px; }
.jcr-nav a{
  padding:9px 14px; font-size:.92rem; color:var(--jcr-text-2);
  border-radius:var(--jcr-radius); font-weight:500;
}
.jcr-nav a:hover{ color:var(--jcr-gold); background:rgba(201,162,75,0.08); }

.jcr-actions{ display:flex; align-items:center; gap:10px; }

/* ---------- Boutons ---------- */
.jcr-btn{
  display:inline-flex; align-items:center; justify-content:center;
  padding:11px 22px; border:none; border-radius:var(--jcr-radius);
  font-weight:700; font-size:.85rem; letter-spacing:.4px; text-transform:uppercase;
  cursor:pointer; transition: transform var(--jcr-ease), box-shadow var(--jcr-ease);
}
.jcr-btn:hover{ transform: translateY(-2px); }
.jcr-btn-ghost{
  background: transparent; color:var(--jcr-gold);
  border:1px solid var(--jcr-gold);
}
.jcr-btn-ghost:hover{ background:rgba(201,162,75,0.12); }
.jcr-btn-gold{
  background: linear-gradient(120deg, var(--jcr-gold-deep), var(--jcr-gold), var(--jcr-gold-soft));
  color:#2a0b13; box-shadow: var(--jcr-shadow-gold);
}
.jcr-btn-wine{
  background: linear-gradient(120deg, var(--jcr-wine), var(--jcr-wine-2));
  color:var(--jcr-text);
}
.jcr-btn-cta{
  padding:15px 34px; font-size:1rem;
  background: linear-gradient(120deg, var(--jcr-gold-deep), var(--jcr-gold), var(--jcr-gold-soft));
  color:#2a0b13; box-shadow: var(--jcr-shadow-gold);
}

/* ---------- Menu mobile ---------- */
.jcr-burger{ display:none; background:none; border:none; cursor:pointer; padding:6px; }
.jcr-burger svg{ width:30px; height:30px; stroke:var(--jcr-gold); }
.jcr-mobile{
  display:none; flex-direction:column; gap:4px;
  background: var(--jcr-bg-2); border-top:1px solid var(--jcr-line);
  padding:14px 20px 20px;
}
.jcr-mobile.jcr-open{ display:flex; }
.jcr-mobile a{ padding:11px 8px; color:var(--jcr-text); border-bottom:1px solid var(--jcr-line); }
.jcr-mobile a:hover{ color:var(--jcr-gold); }
.jcr-mobile .jcr-mobile-actions{ display:flex; gap:10px; margin-top:12px; }
.jcr-mobile .jcr-mobile-actions .jcr-btn{ flex:1; }

/* ---------- Bannière hero ---------- */
.jcr-hero{
  position:relative; width:100%; border-radius:12px; overflow:hidden;
  margin:26px 0; border:1px solid var(--jcr-line);
  min-height:300px; display:flex; align-items:center;
}
.jcr-hero img{
  position:absolute; inset:0; width:100%; height:100%;
  object-fit:cover; object-position:center; z-index:0;
}
.jcr-hero-veil{
  position:relative; z-index:1; width:100%;
  background: linear-gradient(90deg, rgba(20,6,10,0.86) 0%, rgba(20,6,10,0.35) 100%);
  padding:48px 38px; min-height:300px;
  display:flex; flex-direction:column; justify-content:center; gap:18px;
}
.jcr-hero-veil h2{
  color:var(--jcr-gold-soft); font-size:clamp(1.5rem,4vw,2.4rem); max-width:560px;
  text-shadow:0 2px 10px rgba(0,0,0,.6);
}
.jcr-hero-veil .jcr-sub{ color:var(--jcr-text); max-width:520px; }
.jcr-hero-veil .jcr-btn-cta{ align-self:flex-start; }

/* ---------- Lignes de jeux (lobby) ---------- */
.jcr-row{ margin:34px 0; }
.jcr-row-head{
  display:flex; align-items:center; justify-content:space-between;
  border-bottom:1px solid var(--jcr-line); padding-bottom:10px; margin-bottom:18px;
}
.jcr-row-head h2{ font-size:1.4rem; color:var(--jcr-gold); }
.jcr-row-head a{ font-size:.85rem; color:var(--jcr-text-2); }
.jcr-row-head a:hover{ color:var(--jcr-gold); }

.jcr-grid{
  display:grid; grid-template-columns:repeat(6,1fr); gap:14px;
}
.jcr-tile{
  position:relative; border-radius:10px; overflow:hidden;
  background:var(--jcr-surface); aspect-ratio:1/1; border:1px solid transparent;
  transition: transform var(--jcr-ease), border-color var(--jcr-ease), box-shadow var(--jcr-ease);
}
.jcr-tile:hover{ transform:translateY(-6px); border-color:var(--jcr-gold); box-shadow:var(--jcr-shadow-gold); }
.jcr-tile img{ width:100%; height:100%; object-fit:cover; }
.jcr-tile-veil{
  position:absolute; inset:0; display:flex; align-items:center; justify-content:center;
  background:rgba(20,6,10,0); opacity:0; transition: var(--jcr-ease);
}
.jcr-tile:hover .jcr-tile-veil{ background:rgba(20,6,10,.5); opacity:1; }
.jcr-tile-veil span{
  width:46px; height:46px; border-radius:50%;
  background:var(--jcr-gold); color:#2a0b13;
  display:flex; align-items:center; justify-content:center; font-size:1.1rem;
}
.jcr-tile-name{
  position:absolute; left:0; right:0; bottom:0; padding:8px 10px;
  background:linear-gradient(transparent, rgba(20,6,10,.92));
  font-size:.8rem; font-weight:600; text-align:center;
}

/* ---------- Catégories (boutons) ---------- */
.jcr-cats{ display:grid; grid-template-columns:repeat(auto-fit,minmax(180px,1fr)); gap:14px; margin:30px 0; }

/* ---------- Bloc promotions ---------- */
.jcr-promo{
  background: linear-gradient(135deg, var(--jcr-surface) 0%, var(--jcr-surface-2) 100%);
  border:1px solid var(--jcr-line); border-radius:12px;
  padding:34px 28px; text-align:center; margin:34px 0;
}
.jcr-promo h2{ color:var(--jcr-gold); margin-bottom:12px; }
.jcr-promo h3{ color:var(--jcr-gold-soft); font-size:1.2rem; margin-bottom:10px; }
.jcr-promo p{ color:var(--jcr-text-2); max-width:640px; margin:0 auto 18px; }
.jcr-promo .jcr-links{ margin-top:14px; font-size:.9rem; }
.jcr-promo .jcr-links a{ color:var(--jcr-gold); text-decoration:underline; text-underline-offset:3px; }

/* ---------- Bloc de contenu (légalité, produit) ---------- */
.jcr-content{ max-width:980px; margin:30px auto; padding:10px 0 30px; }
.jcr-content h1{
  font-size:clamp(1.7rem,3.5vw,2.3rem); color:var(--jcr-gold);
  text-align:center; margin:18px 0 22px;
}
.jcr-content h2{
  font-size:clamp(1.3rem,2.6vw,1.7rem); color:var(--jcr-gold-soft);
  margin:34px 0 12px; padding-left:14px; border-left:4px solid var(--jcr-gold);
}
.jcr-content h3{ font-size:1.15rem; color:var(--jcr-gold); margin:24px 0 10px; text-align:left; }
.jcr-content p{ color:var(--jcr-text-2); margin:0 0 14px; }
.jcr-content ul, .jcr-content ol{ color:var(--jcr-text-2); margin:14px 0 18px 26px; }
.jcr-content li{ margin-bottom:8px; }
.jcr-content a:not(.jcr-btn){ color:var(--jcr-gold); text-decoration:underline; text-underline-offset:3px; }
.jcr-content a:not(.jcr-btn):hover{ color:var(--jcr-gold-soft); }
.jcr-content strong{ color:var(--jcr-text); }
.jcr-content em{ color:var(--jcr-gold-soft); }
.jcr-lead{ font-size:1.05rem; color:var(--jcr-text) !important; }
.jcr-center{ text-align:center; }
.jcr-cta-row{ display:flex; justify-content:center; margin:24px 0; }

/* ---------- Tableaux ---------- */
.jcr-table-wrap{ overflow-x:auto; margin:20px 0; border:1px solid var(--jcr-line); border-radius:10px; }
.jcr-table{ width:100%; border-collapse:collapse; font-size:.93rem; }
.jcr-table th, .jcr-table td{ padding:12px 14px; text-align:left; border-bottom:1px solid var(--jcr-line); }
.jcr-table thead th{
  background:var(--jcr-surface-2); color:var(--jcr-gold);
  font-family:Georgia,serif; text-transform:uppercase; font-size:.78rem; letter-spacing:.5px;
}
.jcr-table tbody tr{ background:var(--jcr-surface); }
.jcr-table tbody tr:hover{ background:var(--jcr-surface-2); }
.jcr-table td{ color:var(--jcr-text-2); }

/* ---------- Centre d'aide (support uniquement) ---------- */
.jcr-help{ max-width:820px; margin:18px auto; }
.jcr-help-item{ border:1px solid var(--jcr-line); border-radius:8px; margin-bottom:10px; overflow:hidden; }
.jcr-help-q{
  width:100%; text-align:left; background:var(--jcr-surface);
  color:var(--jcr-text); border:none; cursor:pointer;
  padding:15px 18px; font-size:1rem; font-weight:600; font-family:Georgia,serif;
}
.jcr-help-q:hover{ color:var(--jcr-gold); }
.jcr-help-a{ max-height:0; overflow:hidden; transition:max-height .3s ease; }
.jcr-help-a.jcr-show{ max-height:600px; }
.jcr-help-a p{ padding:0 18px 16px; color:var(--jcr-text-2); margin:0; }

/* ---------- Pied de page ---------- */
.jcr-footer{ background:var(--jcr-footer); border-top:2px solid var(--jcr-gold); margin-top:46px; padding:40px 0 80px; }
.jcr-footer-cols{ display:grid; grid-template-columns:repeat(auto-fit,minmax(190px,1fr)); gap:26px; margin-bottom:28px; }
.jcr-footer-col h4{ color:var(--jcr-gold); font-size:.8rem; text-transform:uppercase; letter-spacing:.6px; margin-bottom:12px; }
.jcr-footer-col a{ display:block; color:var(--jcr-text-2); font-size:.9rem; margin-bottom:8px; }
.jcr-footer-col a:hover{ color:var(--jcr-gold); }
.jcr-footer-trust{ display:flex; flex-wrap:wrap; align-items:center; justify-content:center; gap:18px; padding:22px 0; border-top:1px solid var(--jcr-line); border-bottom:1px solid var(--jcr-line); margin-bottom:22px; }
.jcr-footer-trust img{ height:38px; width:auto; opacity:.7; transition:opacity var(--jcr-ease); }
.jcr-footer-trust a:hover img{ opacity:1; }
.jcr-footer-contact{ text-align:center; color:var(--jcr-text-2); margin-bottom:16px; font-size:.92rem; }
.jcr-footer-contact a{ color:var(--jcr-gold); }
.jcr-legal{ max-width:1000px; margin:0 auto 16px; text-align:center; color:var(--jcr-text-dim); font-size:.8rem; line-height:1.6; }
.jcr-legal p{ margin-bottom:8px; }
.jcr-copy{ text-align:center; color:var(--jcr-text-dim); font-size:.85rem; }

/* ---------- Barre promo fixe ---------- */
.jcr-promobar{
  position:fixed; left:0; right:0; bottom:0; z-index:1100; height:58px;
  background: linear-gradient(120deg, var(--jcr-gold-deep), var(--jcr-gold), var(--jcr-gold-soft));
  display:flex; align-items:center; justify-content:space-between; gap:14px; padding:0 18px;
}
.jcr-promobar-track{ flex:1; overflow:hidden; }
.jcr-promobar-text{ display:inline-block; white-space:nowrap; color:#2a0b13; font-weight:700; animation: jcr-marquee 16s linear infinite; }
.jcr-promobar .jcr-btn{ background:#2a0b13; color:var(--jcr-gold); padding:9px 18px; }
@keyframes jcr-marquee{ 0%{ transform:translateX(100%);} 100%{ transform:translateX(-100%);} }

/* ---------- Réactif ---------- */
@media (max-width:1024px){
  .jcr-grid{ grid-template-columns:repeat(4,1fr); }
  .jcr-nav, .jcr-actions{ display:none; }
  .jcr-burger{ display:block; }
}
@media (max-width:640px){
  .jcr-grid{ grid-template-columns:repeat(2,1fr); }
  .jcr-hero-veil{ padding:30px 22px; }
  .jcr-brand-name{ font-size:1.1rem; }
  .jcr-footer-cols{ text-align:center; }
  .jcr-content h2{ border-left:none; padding-left:0; text-align:center; }
}
