/*
Theme Name: Prescri'Jeux
Author: CH La Chartreuse
Description: Thème dédié au portail Prescri'Jeux du CH La Chartreuse. Interface Wood Edition : sobre, chaleureuse et ludique, inspirée des tables de jeux réelles avec des détails pixelisés discrets.
Version: 2.1.0
Requires at least: 6.5
Requires PHP: 8.0
Text Domain: prescrijeux-theme
*/

:root{
  --pj-bg:#f6f4f0;
  --pj-surface:#ffffff;
  --pj-surface-soft:#f1ede7;
  --pj-text:#24211f;
  --pj-muted:#6f6964;
  --pj-line:#ded8d1;
  --pj-primary:#2f5d45;
  --pj-primary-strong:#244a37;
  --pj-accent:#c75a45;
  --pj-accent-soft:#f6e8e3;
  --pj-warning:#a67014;
  --pj-success:#3f7656;
  --pj-danger:#b54238;
  --pj-radius:18px;
  --pj-radius-sm:12px;
  --pj-shadow:0 10px 30px rgba(40,34,29,.07);
  --pj-max:1480px;
}

*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;
  background:var(--pj-bg);
  color:var(--pj-text);
  font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;
  font-size:16px;
  line-height:1.55;
  -webkit-font-smoothing:antialiased;
}
a{color:var(--pj-primary);text-decoration-thickness:1px;text-underline-offset:3px}
a:hover{color:var(--pj-primary-strong)}
img{max-width:100%;height:auto}
button,input,select,textarea{font:inherit}

.pj-site-header{
  background:rgba(255,255,255,.94);
  border-bottom:1px solid var(--pj-line);
  position:sticky;
  top:0;
  z-index:50;
  backdrop-filter:blur(10px);
}
.pj-site-header__inner{
  max-width:var(--pj-max);
  margin:0 auto;
  padding:18px 28px;
  display:flex;
  align-items:center;
  gap:14px;
}
.pj-site-logo{display:block;width:44px;height:44px;object-fit:contain}
.pj-site-title{
  margin:0;
  font-size:clamp(1.3rem,2vw,1.65rem);
  line-height:1;
  font-weight:750;
  letter-spacing:-.03em;
}
.pj-site-title a{color:var(--pj-text);text-decoration:none}
.pj-site-subtitle{margin:5px 0 0;color:var(--pj-muted);font-size:.84rem}

.pj-main{
  max-width:var(--pj-max);
  margin:0 auto;
  padding:28px;
  min-height:calc(100vh - 150px);
}
.pj-main--auth{max-width:760px;padding-top:54px}

.pj-page-title{font-size:clamp(1.8rem,3.1vw,3rem);line-height:1.08;margin:0 0 18px;letter-spacing:-.045em}
.entry-content{margin:0}
.entry-content>:first-child{margin-top:0}

.pj-site-footer{max-width:var(--pj-max);margin:0 auto;padding:22px 28px 34px;color:var(--pj-muted);font-size:.82rem}

/* UI commune Prescri'Jeux */
.prescrijeux-home,
.prescrijeux-dashboard,
.prescrijeux-profile-wrap,
.prescrijeux-charter,
.prescrijeux-library,
.prescrijeux-play,
.prescrijeux-statistics,
.prescrijeux-auth-wrap{max-width:none!important}

/* Cartes / surfaces */
.pj-home-welcome,
.pj-home-card,
.pj-session-card,
.pj-dashboard-card,
.prescrijeux-profile-card,
.pj-auth-card,
.pj-stat-card,
.pj-library-card{
  border-color:var(--pj-line)!important;
  border-radius:var(--pj-radius)!important;
  box-shadow:var(--pj-shadow)!important;
  background:var(--pj-surface)!important;
}

/* Accueil */
.pj-home-welcome{background:linear-gradient(135deg,#f1ede7 0%,#f8f6f2 100%)!important}
.pj-home-actions{gap:16px!important}
.pj-home-card{transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease!important}
.pj-home-card:hover{transform:translateY(-2px);box-shadow:0 14px 34px rgba(40,34,29,.10)!important;border-color:#cfc6bd!important}

/* Boutons */
.prescrijeux-home a[class*="button"],
.prescrijeux-dashboard a[class*="button"],
.pj-auth-card button,
.prescrijeux-profile-card button,
.pj-reserve-btn,
.pj-cancel-btn,
.pj-wait-btn,
button.button,
a.button{
  border-radius:10px!important;
}

/* Formulaires */
.prescrijeux-profile-card input,
.prescrijeux-profile-card select,
.pj-auth-card input,
.pj-auth-card select,
.pj-stat-filters input,
.pj-stat-filters select{
  border:1px solid var(--pj-line)!important;
  border-radius:10px!important;
  background:#fff!important;
  color:var(--pj-text)!important;
  min-height:44px;
  padding:9px 11px!important;
}
.prescrijeux-profile-card input:focus,
.pj-auth-card input:focus,
.pj-stat-filters input:focus,
.pj-stat-filters select:focus{
  outline:3px solid rgba(47,93,69,.14)!important;
  border-color:var(--pj-primary)!important;
}

/* Ludothèque */
.pj-library-grid{gap:20px!important}
.pj-game-card,.pj-library-card{overflow:hidden}
.pj-game-image-wrap{background:#f4f1ec!important;border-radius:14px!important}
.pj-game-image-wrap img{transition:transform .2s ease}
.pj-game-card:hover .pj-game-image-wrap img{transform:scale(1.02)}

/* Sessions / tables */
.pj-session-card{overflow:hidden}
.pj-table-layout{align-items:start!important}
.pj-table-visual{border-radius:var(--pj-radius)!important;background:#f5f0e7!important}
.pj-seat{box-shadow:0 4px 12px rgba(40,34,29,.07)!important}
.pj-seat--free{border-color:#9cbea7!important}
.pj-seat--mine{border-color:#3f78b8!important;background:#eef5fc!important}
.pj-seat--taken{border-color:#d7a13b!important;background:#fff8e8!important}
.pj-seat--disabled{opacity:.55}

/* Alertes */
.pj-waitlist-offer,
.pj-home-priority,
.pj-notice{
  border-radius:var(--pj-radius-sm)!important;
}

/* Dashboard */
.pj-dashboard-kpis,.pj-stat-kpis{gap:14px!important}
.pj-kpi,.pj-stat-kpi{border-radius:14px!important;background:var(--pj-surface)!important;border:1px solid var(--pj-line)!important}

/* WordPress core */
.wp-block-post-title{display:none!important}
.wp-site-blocks{padding:0!important}
.wp-block-post-content{margin-top:0!important}

@media(max-width:900px){
  .pj-site-header__inner{padding:16px 20px}
  .pj-main{padding:20px}
}
@media(max-width:640px){
  body{font-size:15px}
  .pj-site-header__inner{padding:14px 16px}
  .pj-site-logo{width:38px;height:38px}
  .pj-site-subtitle{display:none}
  .pj-main{padding:16px}
  .pj-main--auth{padding-top:28px}
}


/* ==========================================================
   Prescri'Jeux 1.1 — CLEAN CRAFT
   Une touche pixel / bloc sans casser le design sobre.
   ========================================================== */

:root{
  --pj-craft-grass:#587a47;
  --pj-craft-dirt:#8a6847;
  --pj-craft-stone:#8b8984;
  --pj-craft-sand:#d7c39a;
  --pj-pixel:4px;
  --pj-block-shadow:5px 5px 0 rgba(54,45,37,.11);
  --pj-block-shadow-hover:7px 7px 0 rgba(54,45,37,.14);
}

/* Texture extrêmement légère : visible de près, calme de loin */
body{
  background-color:var(--pj-bg);
  background-image:
    linear-gradient(rgba(47,93,69,.018) 1px, transparent 1px),
    linear-gradient(90deg, rgba(47,93,69,.018) 1px, transparent 1px);
  background-size:24px 24px;
}

/* Header : toujours premium, avec un détail "bloc" */
.pj-site-header{
  border-bottom:2px solid #d8d1c9;
  box-shadow:0 3px 0 rgba(54,45,37,.035);
}
.pj-site-logo{
  image-rendering:auto;
  filter:drop-shadow(3px 3px 0 rgba(54,45,37,.08));
}
.pj-site-title a{
  position:relative;
}
.pj-site-title a::after{
  content:"";
  display:inline-block;
  width:7px;
  height:7px;
  margin-left:8px;
  vertical-align:middle;
  background:var(--pj-accent);
  box-shadow:7px 0 0 var(--pj-craft-grass),0 7px 0 var(--pj-craft-sand);
  opacity:.78;
}

/* Tuiles d'accueil : deviennent de petits "blocs" interactifs */
.pj-home-card{
  position:relative;
  border-radius:12px!important;
  border:2px solid #d8d0c7!important;
  box-shadow:var(--pj-block-shadow)!important;
  overflow:hidden;
}
.pj-home-card::before{
  content:"";
  position:absolute;
  inset:0 auto auto 0;
  width:42px;
  height:6px;
  background:var(--pj-craft-grass);
  box-shadow:42px 0 0 var(--pj-craft-sand),84px 0 0 var(--pj-accent);
  opacity:.88;
}
.pj-home-card:hover{
  transform:translate(-2px,-2px)!important;
  box-shadow:var(--pj-block-shadow-hover)!important;
  border-color:#c8bdb2!important;
}
.pj-home-card:active{
  transform:translate(2px,2px)!important;
  box-shadow:2px 2px 0 rgba(54,45,37,.12)!important;
}

/* Bandeau de bienvenue : petite trame de blocs, presque ton sur ton */
.pj-home-welcome{
  position:relative;
  overflow:hidden;
  border-radius:14px!important;
  border:2px solid #ddd4ca!important;
  box-shadow:4px 4px 0 rgba(54,45,37,.07)!important;
}
.pj-home-welcome::after{
  content:"";
  position:absolute;
  right:-18px;
  bottom:-18px;
  width:130px;
  height:130px;
  background:
    linear-gradient(90deg,rgba(88,122,71,.10) 50%,transparent 50%),
    linear-gradient(rgba(88,122,71,.10) 50%,transparent 50%);
  background-size:26px 26px;
  transform:rotate(8deg);
  pointer-events:none;
}

/* Boutons : plus "game UI", sans police pixel */
.prescrijeux-home a[class*="button"],
.prescrijeux-dashboard a[class*="button"],
.pj-auth-card button,
.prescrijeux-profile-card button,
.pj-reserve-btn,
.pj-cancel-btn,
.pj-wait-btn,
button.button,
a.button{
  border-radius:7px!important;
  border-width:2px!important;
  box-shadow:3px 3px 0 rgba(54,45,37,.13)!important;
  transition:transform .12s ease,box-shadow .12s ease,filter .12s ease!important;
}
.prescrijeux-home a[class*="button"]:hover,
.prescrijeux-dashboard a[class*="button"]:hover,
.pj-auth-card button:hover,
.prescrijeux-profile-card button:hover,
.pj-reserve-btn:hover,
.pj-cancel-btn:hover,
.pj-wait-btn:hover,
button.button:hover,
a.button:hover{
  transform:translate(-1px,-1px);
  box-shadow:4px 4px 0 rgba(54,45,37,.16)!important;
}
.prescrijeux-home a[class*="button"]:active,
.prescrijeux-dashboard a[class*="button"]:active,
.pj-auth-card button:active,
.prescrijeux-profile-card button:active,
.pj-reserve-btn:active,
.pj-cancel-btn:active,
.pj-wait-btn:active,
button.button:active,
a.button:active{
  transform:translate(2px,2px);
  box-shadow:1px 1px 0 rgba(54,45,37,.13)!important;
}

/* Ludothèque : esprit inventaire discret */
.pj-game-card,.pj-library-card{
  border-radius:10px!important;
  border:2px solid #d8d0c7!important;
  box-shadow:4px 4px 0 rgba(54,45,37,.085)!important;
}
.pj-game-image-wrap{
  border-radius:7px!important;
  border:1px solid #ddd5cb!important;
  background:
    linear-gradient(45deg,rgba(138,104,71,.035) 25%,transparent 25%,transparent 75%,rgba(138,104,71,.035) 75%),
    linear-gradient(45deg,rgba(138,104,71,.035) 25%,transparent 25%,transparent 75%,rgba(138,104,71,.035) 75%),
    #f5f1eb!important;
  background-position:0 0,8px 8px!important;
  background-size:16px 16px!important;
}

/* Sessions : séparation plus franche et petite marque "terrain" */
.pj-session-card{
  position:relative;
  border-radius:12px!important;
  border:2px solid #d9d1c7!important;
  box-shadow:4px 4px 0 rgba(54,45,37,.08)!important;
}
.pj-session-card::before{
  content:"";
  position:absolute;
  left:0;
  top:0;
  bottom:0;
  width:5px;
  background:linear-gradient(var(--pj-craft-grass) 0 33%,var(--pj-craft-dirt) 33% 66%,var(--pj-craft-stone) 66% 100%);
}

/* Zone table : quadrillage doux rappelant un plateau */
.pj-table-visual{
  border-radius:10px!important;
  border:2px solid #e1d6c9!important;
  background-color:#f5f0e7!important;
  background-image:
    linear-gradient(rgba(138,104,71,.028) 1px,transparent 1px),
    linear-gradient(90deg,rgba(138,104,71,.028) 1px,transparent 1px)!important;
  background-size:32px 32px!important;
  box-shadow:inset 0 0 0 4px rgba(255,255,255,.55)!important;
}
.pj-seat{
  border-width:2px!important;
  border-radius:8px!important;
  box-shadow:3px 3px 0 rgba(54,45,37,.10)!important;
}
.pj-seat:hover{
  transform:translate(-1px,-1px);
  box-shadow:4px 4px 0 rgba(54,45,37,.12)!important;
}

/* KPI / statistiques : badges façon HUD mais sobres */
.pj-kpi,.pj-stat-kpi{
  position:relative;
  border-radius:8px!important;
  border:2px solid #dbd3ca!important;
  box-shadow:3px 3px 0 rgba(54,45,37,.07)!important;
  overflow:hidden;
}
.pj-kpi::before,.pj-stat-kpi::before{
  content:"";
  position:absolute;
  left:0;top:0;bottom:0;
  width:4px;
  background:var(--pj-craft-grass);
}

/* Formulaires : angles plus francs, toujours très lisibles */
.prescrijeux-profile-card input,
.prescrijeux-profile-card select,
.pj-auth-card input,
.pj-auth-card select,
.pj-stat-filters input,
.pj-stat-filters select{
  border-radius:6px!important;
  border-width:2px!important;
  box-shadow:inset 2px 2px 0 rgba(54,45,37,.035)!important;
}

/* Cartes auth/profil : simples, avec ombre "bloc" */
.prescrijeux-profile-card,.pj-auth-card{
  border-radius:12px!important;
  border-width:2px!important;
  box-shadow:5px 5px 0 rgba(54,45,37,.085)!important;
}

/* Alertes : aspect panneau de jeu */
.pj-waitlist-offer,
.pj-home-priority,
.pj-notice{
  border-radius:8px!important;
  border-width:2px!important;
  box-shadow:3px 3px 0 rgba(54,45,37,.08)!important;
}

/* Une touche craft dans les titres de section, très discrète */
.prescrijeux-home h2,
.prescrijeux-dashboard h2,
.prescrijeux-library h2,
.prescrijeux-play h2,
.prescrijeux-statistics h2{
  position:relative;
}
.prescrijeux-home h2::after,
.prescrijeux-dashboard h2::after,
.prescrijeux-library h2::after,
.prescrijeux-play h2::after,
.prescrijeux-statistics h2::after{
  content:"";
  display:inline-block;
  width:18px;
  height:4px;
  margin-left:9px;
  vertical-align:middle;
  background:var(--pj-craft-grass);
  box-shadow:6px 4px 0 var(--pj-craft-dirt);
  opacity:.72;
}

/* Mobile : on garde le caractère sans alourdir */
@media(max-width:640px){
  body{background-size:20px 20px}
  .pj-home-card,.pj-session-card,.pj-game-card,.pj-library-card{
    box-shadow:3px 3px 0 rgba(54,45,37,.08)!important;
  }
  .pj-home-welcome::after{width:90px;height:90px;background-size:20px 20px}
}

/* ==========================================================
   Prescri'Jeux 1.1.1 — PIXEL BACKGROUND
   Le langage "bloc" est porte par le fond global, pas par les cartes.
   ========================================================== */

/* Retour aux cartes fines et elegantes de la v1.0 */
.pj-site-header{border-bottom:1px solid var(--pj-line);box-shadow:none}
.pj-site-title a::after{display:none}
.pj-home-card,
.pj-home-welcome,
.pj-game-card,.pj-library-card,
.pj-session-card,
.pj-kpi,.pj-stat-kpi{
  border:1px solid var(--pj-line)!important;
  box-shadow:var(--pj-shadow)!important;
}
.pj-home-card{border-radius:var(--pj-radius)!important}
.pj-home-card::before,.pj-session-card::before,.pj-kpi::before,.pj-stat-kpi::before{display:none!important}
.pj-home-card:hover{transform:translateY(-2px)!important;box-shadow:0 14px 34px rgba(40,34,29,.10)!important;border-color:#cfc6bd!important}
.pj-home-card:active{transform:translateY(0)!important;box-shadow:var(--pj-shadow)!important}
.pj-home-welcome{border-radius:var(--pj-radius)!important}
.pj-home-welcome::after{display:none!important}
.pj-game-card,.pj-library-card{border-radius:10px!important}
.pj-session-card{border-radius:var(--pj-radius)!important}
.pj-kpi,.pj-stat-kpi{border-radius:14px!important}

/* Boutons a nouveau sobres : pas de gros effet de bloc */
.prescrijeux-home a[class*="button"],
.prescrijeux-dashboard a[class*="button"],
.pj-auth-card button,.prescrijeux-profile-card button,
.pj-reserve-btn,.pj-cancel-btn,.pj-wait-btn,button.button,a.button{
  border-width:1px!important;
  box-shadow:none!important;
  transform:none!important;
}

/* Fond global : paysage abstrait en pixels, tres doux et non repetitif. */
body{
  background-color:#f7f5f1;
  background-image:
    /* amas haut gauche */
    linear-gradient(rgba(88,122,71,.10),rgba(88,122,71,.10)),
    linear-gradient(rgba(88,122,71,.07),rgba(88,122,71,.07)),
    linear-gradient(rgba(215,195,154,.16),rgba(215,195,154,.16)),
    /* amas haut droit */
    linear-gradient(rgba(139,137,132,.09),rgba(139,137,132,.09)),
    linear-gradient(rgba(88,122,71,.08),rgba(88,122,71,.08)),
    /* amas milieu gauche */
    linear-gradient(rgba(138,104,71,.075),rgba(138,104,71,.075)),
    linear-gradient(rgba(215,195,154,.13),rgba(215,195,154,.13)),
    /* amas bas droit */
    linear-gradient(rgba(88,122,71,.075),rgba(88,122,71,.075)),
    linear-gradient(rgba(138,104,71,.06),rgba(138,104,71,.06));
  background-size:
    72px 72px,48px 48px,24px 24px,
    56px 56px,28px 28px,
    48px 48px,24px 24px,
    64px 64px,32px 32px;
  background-position:
    2vw 150px,calc(2vw + 72px) 198px,calc(2vw + 120px) 174px,
    calc(100% - 80px) 125px,calc(100% - 108px) 181px,
    4vw 62%,calc(4vw + 48px) calc(62% + 24px),
    calc(100% - 95px) 82%,calc(100% - 127px) calc(82% + 64px);
  background-repeat:no-repeat;
  background-attachment:fixed;
}

/* Quelques pixels plus fins autour du contenu, sans encadrer les composants */
.pj-site-main{position:relative;z-index:1}
.pj-site-main::before,.pj-site-main::after{
  content:"";
  position:fixed;
  pointer-events:none;
  z-index:-1;
  opacity:.55;
}
.pj-site-main::before{
  width:16px;height:16px;left:2.2vw;top:42%;
  background:rgba(88,122,71,.13);
  box-shadow:16px 0 0 rgba(88,122,71,.08),0 16px 0 rgba(215,195,154,.17),32px 32px 0 rgba(139,137,132,.08);
}
.pj-site-main::after{
  width:20px;height:20px;right:2.5vw;top:52%;
  background:rgba(138,104,71,.08);
  box-shadow:-20px 20px 0 rgba(215,195,154,.15),0 40px 0 rgba(88,122,71,.09),-40px 60px 0 rgba(139,137,132,.07);
}

/* Le plateau conserve seulement son quadrillage subtil */
.pj-table-visual{border:1px solid #e1d6c9!important;box-shadow:none!important}
.pj-seat{border-width:1px!important;box-shadow:0 4px 12px rgba(40,34,29,.07)!important}

@media (max-width:900px){
  body{background-attachment:scroll;background-size:48px 48px,32px 32px,20px 20px,40px 40px,24px 24px,36px 36px,20px 20px,44px 44px,24px 24px}
  .pj-site-main::before,.pj-site-main::after{opacity:.32}
}


/* ==========================================================
   Prescri'Jeux 1.2 — WOOD EDITION
   Ambiance table de jeu premium + accents pixel/craft legers.
   ========================================================== */
:root{
  --pj-bg:#f6f1e7;
  --pj-surface:#fffdf8;
  --pj-surface-soft:#f2eadc;
  --pj-text:#261f18;
  --pj-muted:#746a5f;
  --pj-line:#ded3c4;
  --pj-primary:#234f36;
  --pj-primary-strong:#173c28;
  --pj-accent:#b95636;
  --pj-wood:#9a6538;
  --pj-wood-dark:#4b2d18;
  --pj-wood-light:#c7955f;
  --pj-felt:#6d7d3e;
  --pj-shadow:0 10px 28px rgba(64,44,27,.08);
}
body{
  background-color:#f7f2e8;
  background-image:
    linear-gradient(rgba(86,116,54,.08),rgba(86,116,54,.08)),
    linear-gradient(rgba(86,116,54,.055),rgba(86,116,54,.055)),
    linear-gradient(rgba(125,86,47,.06),rgba(125,86,47,.06)),
    linear-gradient(rgba(214,191,149,.13),rgba(214,191,149,.13)),
    linear-gradient(rgba(86,116,54,.065),rgba(86,116,54,.065));
  background-size:64px 64px,32px 32px,48px 48px,24px 24px,56px 56px;
  background-position:0 120px,64px 184px,calc(100% - 48px) 210px,calc(100% - 72px) 258px,0 calc(100% - 80px);
  background-repeat:no-repeat;
  background-attachment:fixed;
}
.pj-site-header{background:rgba(255,253,248,.96);border-bottom:1px solid #ded3c4;box-shadow:0 2px 14px rgba(63,44,27,.045)}
.pj-site-title{font-weight:800}.pj-site-title a{color:var(--pj-primary)}
.pj-site-subtitle{color:#817568}
.pj-site-logo{filter:drop-shadow(0 2px 3px rgba(68,45,28,.12))}

/* Surfaces creme, ombres chaudes */
.pj-home-welcome,.pj-home-card,.pj-session-card,.pj-dashboard-card,
.prescrijeux-profile-card,.pj-auth-card,.pj-stat-card,.pj-library-card,
.pj-game-card,.pj-kpi,.pj-stat-kpi,.pj-table-legend{
  background:#fffdf8!important;border-color:#ded3c4!important;box-shadow:var(--pj-shadow)!important;
}
.pj-home-welcome{background:linear-gradient(135deg,#f0e7d9,#fffaf2)!important}
.pj-home-card:hover,.pj-game-card:hover{border-color:#c9b79f!important;box-shadow:0 14px 32px rgba(64,44,27,.11)!important}

/* Boutons vert foret */
.pj-reserve-btn,.pj-wait-btn,.pj-auth-card button[type="submit"],
.prescrijeux-profile-card button[type="submit"],a.button,button.button{
  background:var(--pj-primary)!important;color:#fff!important;border-color:var(--pj-primary)!important;
}
.pj-reserve-btn:hover,.pj-wait-btn:hover,.pj-auth-card button[type="submit"]:hover,
a.button:hover,button.button:hover{background:var(--pj-primary-strong)!important;color:#fff!important}
.pj-cancel,.pj-cancel-btn{background:#fffaf6!important;color:#a74431!important;border-color:#c8664d!important}

/* Ludotheque : cartes type collection */
.pj-game-image-wrap,.pj-play-game-image{background:#f0e7d9!important;border:1px solid #e0d2bf!important}
.pj-game-card,.pj-library-card{overflow:hidden;border-radius:14px!important}

/* ==========================================================
   TABLE DE JEU — coeur visuel de la Wood Edition
   ========================================================== */
.pj-table-visual{background:transparent!important;border:0!important}
.pj-table-scene{
  height:560px!important;
  border-radius:18px!important;
  overflow:hidden!important;
  background-color:#5b3a22!important;
  background-image:
    repeating-linear-gradient(0deg,rgba(255,255,255,.018) 0 1px,transparent 1px 7px),
    repeating-linear-gradient(92deg,rgba(33,19,10,.07) 0 2px,transparent 2px 52px),
    linear-gradient(90deg,#4c2e1b 0%,#684426 28%,#58371f 55%,#704a2a 78%,#50301c 100%)!important;
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.05),0 12px 28px rgba(54,35,20,.16)!important;
}
.pj-board-table{
  width:61%!important;height:42%!important;
  border-radius:20px!important;
  color:#2b1b0f!important;
  background-color:#a96f3c!important;
  background-image:
    repeating-linear-gradient(0deg,rgba(255,255,255,.025) 0 1px,transparent 1px 6px),
    repeating-linear-gradient(91deg,rgba(66,37,16,.055) 0 2px,transparent 2px 46px),
    linear-gradient(90deg,#a86e3c,#bd8750 40%,#a66c39 75%,#c18c55)!important;
  border:14px solid #242321!important;
  outline:5px solid #bd8a55!important;
  outline-offset:-19px!important;
  box-shadow:0 11px 18px rgba(20,13,8,.28),inset 0 0 22px rgba(63,34,15,.18)!important;
}
.pj-board-table::before{
  content:"";position:absolute;inset:13px;border:2px solid rgba(70,40,20,.32);border-radius:9px;pointer-events:none;
}
.pj-board-game{font-size:clamp(1.05rem,1.55vw,1.55rem)!important;color:#24170e;text-shadow:0 1px rgba(255,255,255,.2)}
.pj-board-meta{background:#7b512d;color:#fff;padding:4px 10px;border-radius:7px;opacity:1!important}
.pj-board-count{color:#214b31!important;font-size:.88rem!important}

/* Les places deviennent de petits fauteuils de club, avec une tablette bois. */
.pj-seat{
  width:var(--seat-size,82px)!important;height:calc(var(--seat-size,82px) * .86)!important;
  border-radius:14px 14px 18px 18px!important;
  background:linear-gradient(#4e5b31,#27321e)!important;
  border:3px solid #32281c!important;
  color:#fff!important;
  box-shadow:inset 0 4px 0 rgba(255,255,255,.08),0 7px 12px rgba(27,18,11,.26)!important;
  overflow:visible!important;
  z-index:3;
}
.pj-seat::after{
  content:"";position:absolute;left:50%;top:calc(100% + 4px);transform:translateX(-50%);
  width:76%;height:18px;border-radius:4px;
  background:linear-gradient(90deg,#b87c42,#d0a06a 45%,#a96e37);
  border:1px solid #79502c;box-shadow:0 3px 5px rgba(32,20,11,.2);z-index:-1;
}
.pj-seat-free{border-color:#4b5e38!important}.pj-seat-free:hover{box-shadow:inset 0 4px 0 rgba(255,255,255,.1),0 8px 15px rgba(27,18,11,.34)!important}
.pj-seat-occupied{border-color:#9c6b36!important}.pj-seat-mine{border-color:#8eaf58!important;box-shadow:0 0 0 4px rgba(142,175,88,.22),0 8px 15px rgba(27,18,11,.28)!important}
.pj-seat img{width:48%!important;border:2px solid rgba(255,255,255,.72);background:#eee}
.pj-chair{filter:saturate(.75);font-size:22px!important}
.pj-seat span:last-child{background:rgba(255,253,248,.92);color:#3b2a1c;padding:2px 6px;border-radius:8px;font-weight:700;max-width:94%!important}
.pj-seat-free .pj-chair + span{background:rgba(255,253,248,.94);color:#31532e}

/* Tablettes laterales visibles au plus pres des bouts de table */
.pj-board-table::after{
  content:"";position:absolute;left:-25%;right:-25%;top:50%;height:64px;transform:translateY(-50%);pointer-events:none;z-index:-1;
  background:
    linear-gradient(90deg,#b67a40,#d1a16c 48%,#ad7139) left center/17% 64px no-repeat,
    linear-gradient(90deg,#ad7139,#d1a16c 52%,#b67a40) right center/17% 64px no-repeat;
  filter:drop-shadow(0 4px 3px rgba(32,20,11,.22));
}

/* Legende et fiche table */
.pj-table-legend{background:#fffaf2!important;border-radius:12px!important}
.pj-legend-dot{border-radius:6px!important}.pj-legend-mine{border-color:#6f954e!important;background:#edf4e8!important}
.pj-play-table-body{background:#fffdf8!important;border-color:#ded3c4!important;box-shadow:var(--pj-shadow)!important}
.pj-table-name{color:var(--pj-primary)!important}.pj-my-booking{background:#f2f6ed!important;border-color:#cbd9bd!important}
.pj-booking-copy strong{color:var(--pj-primary)!important}

/* Dashboard et statistiques */
.pj-kpi,.pj-stat-kpi{background:#fffdf8!important}.pj-kpi strong,.pj-stat-kpi strong{color:var(--pj-primary)!important}

/* Auth : on conserve la sobriete, avec les pixels de fond */
.pj-main--auth{max-width:720px}.pj-auth-card{background:#fffdf8!important}

@media(max-width:980px){
  .pj-table-scene{height:500px!important}
  .pj-board-table{width:58%!important;height:37%!important;border-width:11px!important}
}
@media(max-width:640px){
  body{background-attachment:scroll}
  .pj-table-scene{height:390px!important;border-radius:12px!important}
  .pj-board-table{width:55%!important;height:31%!important;border-width:8px!important;outline-width:3px!important;outline-offset:-12px!important}
  .pj-board-table::after{height:40px;background-size:15% 40px,15% 40px}
  .pj-seat{height:calc(var(--seat-size,82px) * .72)!important;border-width:2px!important;border-radius:10px!important}
  .pj-seat::after{height:11px;top:calc(100% + 2px)}
  .pj-seat span:last-child{font-size:9px;padding:1px 4px}
}

/* ==========================================================
   1.2.1 — Wood Edition affinée
   Référence : ambiance crème / bois / vert forêt, pixel subtil.
   ========================================================== */

:root{
  --pj-cream:#f5efe4;
  --pj-cream-2:#fbf7ef;
  --pj-forest:#214c33;
  --pj-forest-dark:#173824;
  --pj-moss:#6f8d43;
  --pj-wood-mid:#9a6234;
  --pj-wood-light:#c79258;
  --pj-wood-deep:#3a2415;
  --pj-ink:#2b2118;
}

body{
  background-color:var(--pj-cream)!important;
  background-image:
    linear-gradient(rgba(245,239,228,.86),rgba(245,239,228,.86)),
    linear-gradient(90deg,rgba(91,113,59,.10) 16px,transparent 16px) 0 0/64px 64px,
    linear-gradient(rgba(91,113,59,.08) 16px,transparent 16px) 0 0/64px 64px!important;
}
body::before,body::after{
  content:"";position:fixed;pointer-events:none;z-index:-1;opacity:.62;
  width:180px;height:180px;
  background:
    linear-gradient(#6f8d43 0 0) 0 0/36px 36px no-repeat,
    linear-gradient(#88a857 0 0) 36px 0/36px 36px no-repeat,
    linear-gradient(#4f7137 0 0) 72px 36px/36px 36px no-repeat,
    linear-gradient(#79502d 0 0) 0 72px/36px 36px no-repeat,
    linear-gradient(#9b6d3f 0 0) 36px 72px/36px 36px no-repeat,
    linear-gradient(#d8bd8f 0 0) 72px 108px/36px 36px no-repeat;
}
body::before{left:0;bottom:0}
body::after{right:0;top:84px;transform:rotate(180deg)}

.pj-site-header{
  background:rgba(251,247,239,.96)!important;
  border-bottom:1px solid #ded2c0!important;
  box-shadow:0 4px 18px rgba(65,45,28,.05)!important;
}
.pj-site-title a{color:var(--pj-forest)!important}
.pj-site-subtitle{color:#766c62!important}
.pj-site-footer{color:#6f665d!important}

/* Connexion / inscription : fond crème et éclats pixel sans surcharge. */
body:has(.pj-main--auth){
  background-color:#f7f1e7!important;
}
.pj-main--auth{position:relative!important}
.pj-main--auth::before,.pj-main--auth::after{
  content:"";position:absolute;pointer-events:none;opacity:.38;width:120px;height:120px;z-index:0;
  background:
    linear-gradient(#78954d 0 0) 0 0/24px 24px no-repeat,
    linear-gradient(#5f7d3d 0 0) 24px 24px/24px 24px no-repeat,
    linear-gradient(#d9c49e 0 0) 48px 48px/24px 24px no-repeat,
    linear-gradient(#b98b58 0 0) 72px 72px/24px 24px no-repeat;
}
.pj-main--auth::before{left:-72px;top:22px}
.pj-main--auth::after{right:-72px;bottom:22px;transform:rotate(180deg)}
.pj-auth-card{position:relative;z-index:1;background:#fffaf2!important;border-color:#dfd1bd!important;box-shadow:0 18px 50px rgba(74,50,30,.10)!important}
.pj-auth-card button[type="submit"]{background:var(--pj-forest)!important;border-color:var(--pj-forest)!important}

/* Session : laisse la fiche respirer et donne la priorité visuelle à la table. */
.pj-play-table{grid-template-columns:minmax(330px,38%) minmax(0,62%)!important;gap:24px!important;align-items:start!important}
.pj-play-table-body{background:#fffaf2!important;border:1px solid #ddcfbb!important;border-radius:16px!important}
.pj-game-name{color:var(--pj-ink)!important}

/* Scène en bois foncé, façon vraie table de jeu vue du dessus. */
.pj-table-scene{
  height:610px!important;
  background-color:#4b2f1d!important;
  background-image:
    repeating-linear-gradient(0deg,rgba(255,255,255,.018) 0 1px,transparent 1px 8px),
    repeating-linear-gradient(90deg,rgba(21,12,7,.12) 0 2px,transparent 2px 82px),
    linear-gradient(90deg,#3c2517 0%,#563722 22%,#452a19 48%,#624027 73%,#3c2517 100%)!important;
  border:1px solid rgba(56,34,18,.32)!important;
  border-radius:18px!important;
  box-shadow:inset 0 0 45px rgba(20,11,5,.18),0 16px 32px rgba(69,46,28,.13)!important;
}

/* Plateau central : cadre noir + liseré bois + tapis bois clair. */
.pj-board-table{
  width:63%!important;
  height:42%!important;
  border-radius:22px!important;
  background:
    repeating-linear-gradient(0deg,rgba(255,255,255,.025) 0 1px,transparent 1px 7px),
    repeating-linear-gradient(90deg,rgba(88,48,18,.06) 0 2px,transparent 2px 48px),
    linear-gradient(90deg,#b77b42,#c99459 45%,#ad703a)!important;
  border:15px solid #252521!important;
  outline:6px solid #b67f49!important;
  outline-offset:-22px!important;
  box-shadow:0 13px 24px rgba(20,12,7,.38),inset 0 0 0 2px rgba(76,42,18,.30),inset 0 0 26px rgba(75,39,15,.14)!important;
  color:#2d1c10!important;
}
.pj-board-table::before{
  inset:15px!important;border:2px solid rgba(72,39,17,.32)!important;border-radius:11px!important;
}
.pj-board-table::after{display:none!important}
.pj-board-game{color:#2b1c11!important;font-size:clamp(1.08rem,1.55vw,1.6rem)!important;text-shadow:0 1px rgba(255,255,255,.24)!important}
.pj-board-meta{background:#7d522f!important;color:#fff!important;border-radius:7px!important;padding:4px 10px!important}
.pj-board-count{color:var(--pj-forest)!important;font-weight:850!important}

/* Fauteuils : plus proches de la maquette, sans emoji comme élément principal. */
.pj-seat{
  width:var(--seat-size,78px)!important;
  height:calc(var(--seat-size,78px) * .82)!important;
  border-radius:16px 16px 12px 12px!important;
  background:linear-gradient(180deg,#4d5a31 0%,#2c3820 58%,#20291a 100%)!important;
  border:3px solid #735232!important;
  box-shadow:inset 0 4px 0 rgba(255,255,255,.08),inset 0 -5px 0 rgba(0,0,0,.12),0 9px 15px rgba(16,10,5,.30)!important;
  overflow:visible!important;
  color:#fff!important;
}
.pj-seat-back{
  position:absolute;left:9%;right:9%;top:-17%;height:36%;border-radius:14px 14px 8px 8px;
  background:linear-gradient(#58673a,#313d23);border:2px solid #79583a;z-index:-1;
  box-shadow:inset 0 2px rgba(255,255,255,.08);
}
.pj-chair{font-size:0!important;width:0;height:0;overflow:hidden}
.pj-seat img{width:48%!important;aspect-ratio:1!important;border-radius:50%!important;border:2px solid #f7f0df!important;box-shadow:0 2px 5px rgba(0,0,0,.22)!important}
.pj-seat-label{position:relative;z-index:4;background:#fffaf0!important;color:#3d2b1e!important;border:1px solid #d9c8ad;border-radius:8px!important;padding:2px 7px!important;font-size:11px!important;font-weight:750!important;white-space:nowrap;max-width:105%!important;overflow:hidden;text-overflow:ellipsis}
.pj-seat-free .pj-seat-label{color:#31502f!important}
.pj-seat-mine{border-color:#8eb64e!important;box-shadow:0 0 0 4px rgba(136,181,69,.28),0 9px 16px rgba(16,10,5,.30)!important}
.pj-seat-occupied{border-color:#90653b!important}
.pj-seat-disabled{filter:grayscale(.72);opacity:.58!important}
.pj-seat-free:hover{transform:translate(-50%,-50%) scale(1.045)!important}

/* Tablette individuelle : elle est orientée vers le plateau selon le côté du joueur. */
.pj-seat-tray{
  position:absolute;display:block;z-index:-1;
  background:
    repeating-linear-gradient(90deg,rgba(70,38,16,.05) 0 2px,transparent 2px 26px),
    linear-gradient(90deg,#b4773e,#d0a06a 48%,#ad7138);
  border:1px solid #77502f;border-radius:5px;box-shadow:0 4px 7px rgba(23,14,8,.24);
}
.pj-seat-top .pj-seat-tray{width:86%;height:22px;left:7%;top:calc(100% + 5px)}
.pj-seat-bottom .pj-seat-tray{width:86%;height:22px;left:7%;bottom:calc(100% + 5px)}
.pj-seat-right .pj-seat-tray{width:24px;height:84%;right:calc(100% + 5px);top:8%}
.pj-seat-left .pj-seat-tray{width:24px;height:84%;left:calc(100% + 5px);top:8%}

/* Petits détails gravés sur les tablettes. */
.pj-seat-tray::after{content:"◆";position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);font-size:9px;color:rgba(71,42,22,.52)}

.pj-table-legend{background:#fffaf2!important;border:1px solid #ddcfbb!important;box-shadow:0 8px 22px rgba(68,44,27,.06)!important}
.pj-legend-dot{border-radius:5px!important}

/* Tuiles / cartes : crème et vert, avec une touche pixel légère seulement. */
.pj-home-card,.pj-dashboard-card,.pj-stat-card,.pj-game-card,.pj-library-card{
  background:#fffaf2!important;border-color:#dfd2bf!important;
}
.pj-home-welcome{background:linear-gradient(135deg,#eee6d9 0%,#fbf7ef 100%)!important;position:relative;overflow:hidden}
.pj-home-welcome::after{content:"";position:absolute;right:28px;bottom:0;width:96px;height:72px;opacity:.18;background:linear-gradient(#6e8a47 0 0) 0 0/24px 24px no-repeat,linear-gradient(#8da85c 0 0) 24px 24px/24px 24px no-repeat,linear-gradient(#9a6c3c 0 0) 48px 48px/24px 24px no-repeat}

@media(max-width:1100px){
  .pj-play-table{grid-template-columns:1fr!important}
  .pj-table-scene{height:560px!important}
}
@media(max-width:700px){
  body::before,body::after{opacity:.30;transform:scale(.7);transform-origin:center}
  .pj-table-scene{height:420px!important;border-radius:12px!important}
  .pj-board-table{width:60%!important;height:34%!important;border-width:9px!important;outline-width:4px!important;outline-offset:-14px!important}
  .pj-seat{width:calc(var(--seat-size,78px) * .74)!important;height:calc(var(--seat-size,78px) * .62)!important;border-width:2px!important}
  .pj-seat-back{top:-15%;height:30%}
  .pj-seat-label{font-size:9px!important;padding:1px 4px!important}
  .pj-seat-top .pj-seat-tray,.pj-seat-bottom .pj-seat-tray{height:14px}
  .pj-seat-right .pj-seat-tray,.pj-seat-left .pj-seat-tray{width:15px}
}

/* ==========================================================
   Wood Edition 1.3 - harmonisation generale
   ========================================================== */
:root{--pj-cream:#fbf7ee;--pj-cream-2:#f4ecdf;--pj-forest:#214c32;--pj-forest-2:#173b27;--pj-wood:#8b5a31;--pj-wood-light:#c7955f;--pj-pixel-green:#78974b;--pj-pixel-earth:#795033}
body{background-color:var(--pj-cream)!important;background-image:linear-gradient(rgba(255,255,255,.34),rgba(255,255,255,.34))!important}
.pj-site-header{background:rgba(255,251,244,.94)!important;border-bottom:1px solid #e5d8c7!important;box-shadow:0 5px 18px rgba(65,43,27,.045)!important}
.pj-site-title a{color:var(--pj-forest)!important}.pj-site-subtitle{color:#817466!important}

/* Conteneurs : aspect papier / cartes de jeu. */
.pj-home-card,.pj-dashboard-card,.pj-stat-card,.pj-game-card,.pj-library-card,.pj-session-card,.pj-profile-card,.pj-panel,.pj-auth-card{
 background:rgba(255,252,246,.96)!important;border:1px solid #dfd1bd!important;box-shadow:0 8px 24px rgba(68,44,27,.055)!important;border-radius:14px!important
}
.pj-home-card:hover,.pj-game-card:hover,.pj-library-card:hover{box-shadow:0 13px 30px rgba(68,44,27,.10)!important;transform:translateY(-2px)}

/* Accueil : navigation claire, ludique mais pas surchargee. */
.pj-home-welcome{border:1px solid #ded0bc!important;background:linear-gradient(135deg,#eee5d7,#fffaf2)!important;box-shadow:0 8px 25px rgba(68,44,27,.05)!important}
.pj-home-card{position:relative;overflow:hidden}
.pj-home-card::after{content:"";position:absolute;right:-12px;bottom:-12px;width:56px;height:56px;opacity:.10;background:linear-gradient(var(--pj-pixel-green) 0 0) 0 0/14px 14px no-repeat,linear-gradient(var(--pj-pixel-green) 0 0) 14px 14px/14px 14px no-repeat,linear-gradient(var(--pj-pixel-earth) 0 0) 28px 28px/14px 14px no-repeat}

/* Ludotheque : esprit collection / etagere. */
.pj-game-card,.pj-library-card{overflow:hidden!important}
.pj-game-card img,.pj-library-card img{background:#f0e6d6!important;border-radius:9px!important}
.pj-game-card h2,.pj-game-card h3,.pj-library-card h2,.pj-library-card h3{color:#302419!important}
.pj-game-meta,.pj-game-details{color:#71665c!important}

/* Dashboard / statistiques : conserver un rendu professionnel. */
.pj-stat-card{border-top:3px solid rgba(33,76,50,.55)!important}
.pj-stat-value,.pj-dashboard-value{color:var(--pj-forest)!important}
.pj-dashboard-card h2,.pj-dashboard-card h3,.pj-stat-card h2,.pj-stat-card h3{color:#302419!important}
table.pj-table, .pj-stats-table{background:#fffdf8!important;border-color:#e2d6c5!important}
table.pj-table th,.pj-stats-table th{background:#eee6d9!important;color:#3e3024!important}

/* Formulaires / profil. */
.pj-profile-card input,.pj-profile-card select,.pj-profile-card textarea,.pj-auth-card input,.pj-auth-card select,.pj-auth-card textarea,
.pj-form input,.pj-form select,.pj-form textarea{background:#fffefb!important;border:1px solid #d8cab7!important;border-radius:8px!important;box-shadow:inset 0 1px 2px rgba(60,38,22,.035)!important}
.pj-profile-card input:focus,.pj-auth-card input:focus,.pj-form input:focus{border-color:#77916c!important;box-shadow:0 0 0 3px rgba(71,104,69,.12)!important;outline:none!important}

/* Boutons Wood Edition. */
.pj-button,.pj-btn,.pj-auth-card button,.pj-form button,input[type=submit]{background:var(--pj-forest)!important;color:#fff!important;border:1px solid var(--pj-forest-2)!important;border-radius:8px!important;box-shadow:0 3px 0 rgba(18,51,32,.16)!important}
.pj-button:hover,.pj-btn:hover,.pj-auth-card button:hover,.pj-form button:hover,input[type=submit]:hover{background:var(--pj-forest-2)!important;transform:translateY(-1px)}

/* Auth : pixels uniquement dans les angles, comme la maquette validee. */
body.page-connexion,body.page-inscription,body.page-validation-du-compte{background:#fbf7ee!important;position:relative}
body.page-connexion::before,body.page-inscription::before,body.page-validation-du-compte::before,
body.page-connexion::after,body.page-inscription::after,body.page-validation-du-compte::after{content:"";position:fixed;width:190px;height:190px;pointer-events:none;opacity:.38;z-index:-1;background:linear-gradient(#78974b 0 0) 0 0/38px 38px no-repeat,linear-gradient(#9bb06d 0 0) 38px 38px/38px 38px no-repeat,linear-gradient(#795033 0 0) 76px 76px/38px 38px no-repeat,linear-gradient(#a77b50 0 0) 114px 114px/38px 38px no-repeat}
body.page-connexion::before,body.page-inscription::before,body.page-validation-du-compte::before{left:0;bottom:0}
body.page-connexion::after,body.page-inscription::after,body.page-validation-du-compte::after{right:0;top:0;transform:rotate(180deg)}
.pj-auth-card{box-shadow:0 18px 50px rgba(65,43,27,.10)!important}

/* Scene de table : fond bois sombre plus naturel et moins orange. */
.pj-table-scene{background-color:#4a2f1d!important;background-image:repeating-linear-gradient(0deg,rgba(255,255,255,.018) 0 1px,transparent 1px 54px),repeating-linear-gradient(90deg,rgba(25,12,5,.09) 0 2px,transparent 2px 112px),linear-gradient(110deg,#573923 0%,#3d2719 48%,#50321e 100%)!important;box-shadow:inset 0 0 55px rgba(22,12,7,.24),0 10px 25px rgba(53,34,20,.10)!important}
.pj-board-table{background:linear-gradient(105deg,#b77d46,#d0a16a 48%,#af733d)!important}

/* Badges / messages. */
.pj-badge,.pj-pill{background:#eee6d9!important;color:#514233!important;border:1px solid #d8cab6!important}
.pj-alert-success,.pj-success{background:#eef4e8!important;border-color:#bdd0ae!important;color:#315532!important}
.pj-alert-warning,.pj-warning{background:#fff5df!important;border-color:#e4c98e!important;color:#74571d!important}

/* Decoration pixel globale : plus diffuse que la version precedente. */
body::before{opacity:.16!important}body::after{opacity:.13!important}

@media(max-width:700px){
 .pj-site-header__inner{padding-top:12px!important;padding-bottom:12px!important}
 .pj-site-subtitle{font-size:.78rem!important}
 .pj-home-card,.pj-dashboard-card,.pj-stat-card,.pj-game-card,.pj-library-card,.pj-session-card,.pj-profile-card,.pj-panel,.pj-auth-card{border-radius:11px!important}
 body.page-connexion::before,body.page-inscription::before,body.page-validation-du-compte::before,body.page-connexion::after,body.page-inscription::after,body.page-validation-du-compte::after{width:120px;height:120px;opacity:.24;background-size:24px 24px}
}


/* ==========================================================
   Prescri'Jeux 1.4 — SESSION IMMERSIVE
   Reproduction fonctionnelle de la maquette Wood Edition.
   ========================================================== */
:root{
  --pj-cream:#f7f1e6;
  --pj-cream-2:#fbf7ef;
  --pj-forest:#173f29;
  --pj-forest-2:#315d32;
  --pj-wood:#6c4328;
  --pj-wood-dark:#3c2417;
  --pj-wood-light:#b8793f;
  --pj-charcoal:#1f211f;
}
body{background:#f5efe4!important;background-image:linear-gradient(rgba(103,83,57,.025) 1px,transparent 1px),linear-gradient(90deg,rgba(103,83,57,.025) 1px,transparent 1px)!important;background-size:28px 28px!important}
.pj-site-header{position:sticky;top:0;background:rgba(255,252,246,.97)!important;border-bottom:1px solid #e6ddcf!important;box-shadow:0 3px 18px rgba(58,42,27,.06)!important}
.pj-site-header__inner{max-width:1540px!important;padding:16px 28px!important}
.pj-site-brand{display:flex;align-items:center;gap:10px;min-width:max-content}
.pj-site-nav{margin-left:auto;display:flex;align-items:center;gap:28px}
.pj-site-nav a{display:inline-flex;align-items:center;gap:8px;color:#24221f;text-decoration:none;font-weight:650;font-size:.88rem;white-space:nowrap}
.pj-site-nav a:hover{color:var(--pj-forest)}
.pj-nav-user{display:flex;align-items:center;gap:8px;margin-left:12px;padding-left:18px;border-left:1px solid #ebe2d6}
.pj-nav-user img{width:34px;height:34px;border-radius:50%;object-fit:cover;border:2px solid #d3c5af}
.pj-nav-user span{font-weight:650;font-size:.88rem}
.pj-main{max-width:1540px!important;padding:22px 26px 28px!important}

.pj-session-detail{display:grid;grid-template-columns:minmax(0,1fr) 330px;gap:18px;align-items:start}
.pj-detail-main{min-width:0}
.pj-detail-back{display:inline-flex;margin:2px 0 16px;color:#302c27!important;text-decoration:none!important;font-weight:650;font-size:.86rem}
.pj-detail-scene{padding:0;background:transparent}
.pj-session-detail .pj-table-scene{height:640px!important;border-radius:14px!important;overflow:hidden!important;background-color:#4e2f1d!important;background-image:repeating-linear-gradient(0deg,rgba(255,255,255,.025) 0 1px,transparent 1px 24px),repeating-linear-gradient(90deg,rgba(255,255,255,.018) 0 1px,transparent 1px 34px),linear-gradient(180deg,#614026,#412719)!important;box-shadow:inset 0 0 55px rgba(0,0,0,.18),0 14px 32px rgba(53,36,23,.12)!important}
.pj-session-detail .pj-board-table{width:63%!important;height:43%!important;border-radius:30px!important;background:linear-gradient(90deg,rgba(255,255,255,.035),rgba(0,0,0,.02)),linear-gradient(180deg,#b97c41,#9a6132)!important;color:#21170f!important;border:16px solid #20211f!important;box-shadow:inset 0 0 0 5px #d49a5d,inset 0 0 0 8px rgba(69,38,18,.35),0 14px 25px rgba(0,0,0,.30)!important}
.pj-session-detail .pj-board-table:before{content:"";position:absolute;inset:12px;border:2px solid rgba(82,47,23,.38);border-radius:14px;pointer-events:none}
.pj-session-detail .pj-board-game{font-size:clamp(1.25rem,2.1vw,2rem)!important;color:#25180f!important;letter-spacing:-.02em}
.pj-session-detail .pj-board-meta{background:#7d542f;color:#fff;padding:5px 13px;border-radius:8px;opacity:1!important;margin-top:12px!important}
.pj-session-detail .pj-board-count{font-size:1rem!important;color:#16492a!important;margin-top:9px!important}

/* fauteuils : vert profond, bois chaud, étiquette ivoire */
.pj-session-detail .pj-seat{border-radius:20px!important;border:3px solid #5a4a27!important;background:linear-gradient(#35411f,#202810)!important;box-shadow:inset 0 0 0 3px rgba(255,255,255,.06),0 8px 15px rgba(0,0,0,.35)!important;color:#fff!important}
.pj-session-detail .pj-seat-back{position:absolute;inset:5px 10px 18px;border-radius:15px;background:linear-gradient(#384521,#171d0d);box-shadow:inset 0 3px 4px rgba(255,255,255,.08),inset 0 -5px 8px rgba(0,0,0,.45);z-index:-1}
.pj-session-detail .pj-seat img{width:48%!important;z-index:2;border:2px solid #efe8d8!important;box-shadow:0 2px 6px rgba(0,0,0,.25)}
.pj-session-detail .pj-chair{display:none!important}
.pj-session-detail .pj-seat-label{position:absolute;bottom:-11px;left:50%;transform:translateX(-50%);z-index:4;min-width:72%;max-width:118%!important;padding:4px 10px;background:#fffaf0;border:1px solid #d6c7ae;border-radius:16px;color:#3d3328!important;font-weight:750;box-shadow:0 3px 7px rgba(0,0,0,.18)}
.pj-session-detail .pj-seat-mine{border-color:#86a82e!important;box-shadow:0 0 0 4px #a9cc45,0 8px 16px rgba(0,0,0,.32)!important}
.pj-session-detail .pj-seat-tray{position:absolute;background:linear-gradient(#c58a4d,#a86732);border:2px solid #7d4b25;border-radius:7px;box-shadow:inset 0 1px rgba(255,255,255,.22),0 3px 5px rgba(0,0,0,.3);z-index:0}
.pj-session-detail .pj-seat-top .pj-seat-tray{width:92%;height:27px;left:4%;bottom:-40px}
.pj-session-detail .pj-seat-bottom .pj-seat-tray{width:92%;height:27px;left:4%;top:-40px}
.pj-session-detail .pj-seat-left .pj-seat-tray{height:92%;width:27px;top:4%;right:-40px}
.pj-session-detail .pj-seat-right .pj-seat-tray{height:92%;width:27px;top:4%;left:-40px}
.pj-session-detail .pj-seat-free:hover{transform:translate(-50%,-50%) scale(1.04)!important}

.pj-session-detail .pj-table-legend{margin-top:14px!important;border:1px solid #e5dccf!important;border-radius:10px!important;background:#fffaf2!important;box-shadow:0 6px 16px rgba(58,42,27,.06)!important;padding:15px 18px!important;justify-content:space-around!important}
.pj-legend-chair{display:inline-block;width:19px;height:23px;border-radius:4px 4px 3px 3px;background:#383b34;border:2px solid #222}
.pj-legend-chair.pj-legend-mine{background:#617c20;border-color:#405612}
.pj-legend-chair.pj-legend-booked{background:#3b3e31;border-color:#24261f}
.pj-legend-chair.pj-legend-off{background:#aaa8a0;border-color:#8b8983;opacity:.65}
.pj-legend-hourglass{font-style:normal;font-size:20px}

.pj-detail-sidebar{display:grid;gap:10px;position:sticky;top:86px}
.pj-side-card{background:#fffaf2;border:1px solid #e5dccf;border-radius:10px;padding:16px;box-shadow:0 5px 14px rgba(58,42,27,.06)}
.pj-side-card h2,.pj-side-card h3{margin:0 0 11px;color:#27231f;line-height:1.15}.pj-side-card h2{font-size:1.12rem}.pj-side-card h3{font-size:.98rem}
.pj-side-pixel-band{height:44px;margin:-16px -16px 12px;border-radius:10px 10px 0 0;background:linear-gradient(180deg,transparent 0 32%,#4f6f2d 32% 58%,#694024 58% 100%);position:relative;overflow:hidden}
.pj-side-pixel-band:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,transparent 0 4%,rgba(152,190,54,.8) 4% 12%,transparent 12% 17%,rgba(75,117,31,.85) 17% 25%,transparent 25% 32%,rgba(138,177,48,.9) 32% 42%,transparent 42% 49%,rgba(78,121,34,.8) 49% 60%,transparent 60% 69%,rgba(145,186,48,.9) 69% 81%,transparent 81% 90%,rgba(84,125,34,.8) 90% 100%);opacity:.65}
.pj-side-game-grid{display:grid;grid-template-columns:92px 1fr;gap:14px;align-items:start}.pj-side-thumb{background:#efe7da;border-radius:6px;overflow:hidden;aspect-ratio:3/4;display:flex;align-items:center;justify-content:center}.pj-side-thumb img{width:100%;height:100%;object-fit:contain}.pj-side-facts{display:grid;gap:10px;color:#4c4741;font-size:.82rem}.pj-side-outline{display:block;margin-top:14px;text-align:center;padding:9px 10px;border:1px solid #81937a;border-radius:6px;color:#2e4b33!important;text-decoration:none!important;font-weight:700;background:#fffdf8}.pj-side-outline:hover{background:#f1f5ed}
.pj-side-lines{display:grid;gap:9px;font-size:.84rem;color:#47413b}.pj-side-muted{margin:0;color:#6d665e;font-size:.82rem}.pj-side-muted strong{color:#27231f}
.pj-side-card-head{display:flex;align-items:center;justify-content:space-between;gap:10px}.pj-side-card-head h3{margin:0}.pj-side-card-head>span{background:#1f5a30;color:#fff;padding:3px 8px;border-radius:6px;font-size:.75rem;font-weight:800}
.pj-player-list{display:grid;gap:7px;margin-top:11px}.pj-player-row{display:grid;grid-template-columns:26px 1fr auto;gap:8px;align-items:center;font-size:.82rem}.pj-player-row img{width:24px;height:24px;border-radius:5px;object-fit:cover}.pj-player-row em{font-style:normal;padding:3px 7px;background:#eef3e5;border:1px solid #c9d6b8;border-radius:6px;font-size:.68rem;color:#395d31}.pj-player-empty{color:#496d36}.pj-empty-chair{font-size:18px;text-align:center}.pj-side-primary{width:100%;appearance:none;border:0;border-radius:5px;padding:12px 14px;background:#0d4d27;color:#fff;font-weight:800;cursor:pointer}.pj-side-primary:hover{background:#083d1e}.pj-side-primary:disabled{opacity:.5;cursor:not-allowed}.pj-side-actions form{margin:0}.pj-side-offer{background:#f2f8ec;border-color:#c9ddbd}

.pj-open-table{display:inline-block;margin:-3px 0 12px;color:#2f5d45!important;font-weight:750;font-size:.8rem;text-decoration:none!important}.pj-open-table:hover{text-decoration:underline!important}

/* coquille latérale uniquement sur une table détaillée */
.pj-app-shell{max-width:1540px;margin:0 auto;display:grid;grid-template-columns:230px minmax(0,1fr);gap:0;padding:0 26px}
.pj-app-sidebar{padding:24px 18px 24px 0;border-right:1px solid #e8dfd2;min-height:calc(100vh - 78px)}
.pj-app-sidebar nav{display:grid;gap:6px;position:sticky;top:100px}.pj-app-sidebar a{display:flex;align-items:center;gap:11px;padding:11px 13px;border-radius:9px;color:#28241f;text-decoration:none;font-size:.86rem;font-weight:600}.pj-app-sidebar a:hover,.pj-app-sidebar a.is-active{background:#efe8da;color:#1d4c2d}.pj-app-sidebar hr{border:0;border-top:1px solid #e7ddcf;margin:12px 0}.pj-app-user-card{margin-top:18px;padding:13px;border-radius:10px;background:#eee4d4}.pj-app-user-card img{width:42px;height:42px;border-radius:50%;object-fit:cover;float:left;margin-right:10px}.pj-app-user-card strong{display:block;font-size:.82rem}.pj-app-user-card small{color:#6c645a}
.pj-app-shell>.pj-main{width:100%;padding-right:0!important}

.pj-detail-bottom{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-top:18px}.pj-bottom-card{background:#fffaf2;border:1px solid #e5dccf;border-radius:10px;padding:14px;box-shadow:0 5px 14px rgba(58,42,27,.05)}.pj-bottom-card h3{margin:0 0 10px;font-size:.9rem}.pj-bottom-card a{font-size:.78rem;font-weight:700}.pj-bottom-mini{display:grid;gap:7px;color:#595149;font-size:.76rem}.pj-bottom-game{display:grid;grid-template-columns:38px 1fr;gap:8px;align-items:center}.pj-bottom-game img{width:38px;height:42px;object-fit:cover;border-radius:4px}.pj-bottom-kpis{display:grid;grid-template-columns:repeat(3,1fr);gap:7px}.pj-bottom-kpi{padding:9px;background:#f7f0e5;border-radius:7px;text-align:center}.pj-bottom-kpi strong{display:block;font-size:1.25rem;color:#1e522f}.pj-bottom-kpi span{font-size:.66rem;color:#6b635a}

@media(max-width:1180px){.pj-site-nav{gap:14px}.pj-site-nav a{font-size:.8rem}.pj-session-detail{grid-template-columns:1fr}.pj-detail-sidebar{position:static;grid-template-columns:repeat(2,minmax(0,1fr))}.pj-side-action-form{grid-column:1/-1}.pj-app-shell{grid-template-columns:1fr}.pj-app-sidebar{display:none}.pj-detail-bottom{grid-template-columns:repeat(2,1fr)}}
@media(max-width:760px){.pj-site-nav{display:none}.pj-session-detail .pj-table-scene{height:430px!important}.pj-session-detail .pj-board-table{width:58%!important;height:34%!important;border-width:10px!important}.pj-detail-sidebar{grid-template-columns:1fr}.pj-detail-bottom{grid-template-columns:1fr}.pj-session-detail .pj-seat-label{font-size:9px}.pj-session-detail .pj-seat-top .pj-seat-tray,.pj-session-detail .pj-seat-bottom .pj-seat-tray{height:20px}.pj-session-detail .pj-seat-left .pj-seat-tray,.pj-session-detail .pj-seat-right .pj-seat-tray{width:20px}}


/* Prescri'Jeux 1.4.1 - corrections navigation et stabilité des sièges */
/* Les fauteuils ne se déplacent jamais au survol : seul l'état visuel change. */
.pj-seat:hover,
.pj-seat-free:hover,
.pj-session-detail .pj-seat:hover,
.pj-session-detail .pj-seat-free:hover{
  transform:translate(-50%,-50%)!important;
}
.pj-seat-free:hover,
.pj-session-detail .pj-seat-free:hover{
  filter:brightness(1.06)!important;
  box-shadow:0 0 0 3px rgba(142,175,88,.22),0 8px 16px rgba(0,0,0,.30)!important;
}

/* ==========================================================
   PRESCRI'JEUX V2 — WOOD EDITION
   Maquette de référence : application claire, bois + vert,
   table centrale immersive, panneaux latéraux structurés.
   ========================================================== */
:root{
  --pj2-cream:#f7f1e6;
  --pj2-paper:#fffaf2;
  --pj2-paper-2:#fbf5eb;
  --pj2-ink:#251f19;
  --pj2-muted:#756b60;
  --pj2-line:#e7dccb;
  --pj2-green:#154d2c;
  --pj2-green-2:#315f35;
  --pj2-green-soft:#edf3e5;
  --pj2-wood:#6a4328;
  --pj2-wood-dark:#3b2417;
  --pj2-wood-mid:#895832;
  --pj2-wood-light:#bf8148;
  --pj2-frame:#1f211f;
  --pj2-radius:14px;
  --pj2-shadow:0 12px 34px rgba(60,42,26,.10);
}
body{
  background-color:var(--pj2-cream)!important;
  background-image:
    linear-gradient(rgba(93,122,59,.025) 1px,transparent 1px),
    linear-gradient(90deg,rgba(93,122,59,.025) 1px,transparent 1px),
    radial-gradient(circle at 3% 14%,rgba(119,155,63,.08) 0 22px,transparent 23px),
    radial-gradient(circle at 97% 88%,rgba(141,102,57,.07) 0 26px,transparent 27px)!important;
  background-size:26px 26px,26px 26px,220px 220px,260px 260px!important;
  color:var(--pj2-ink)!important;
}

/* Header V2 */
.pj-site-header{background:rgba(255,250,242,.96)!important;border-bottom:1px solid var(--pj2-line)!important;box-shadow:0 4px 18px rgba(73,52,33,.05)!important}
.pj-site-header__inner{max-width:1580px!important;padding:14px 28px!important;min-height:78px}
.pj-site-brand{display:flex;align-items:center;gap:12px;min-width:330px}
.pj-site-logo{width:46px!important;height:46px!important}
.pj-site-title{font-size:1.58rem!important;font-weight:850!important;letter-spacing:-.035em!important}
.pj-site-title a{color:var(--pj2-green)!important}
.pj-site-subtitle{font-size:.8rem!important;margin-top:4px!important;color:#5d554c!important}
.pj-site-nav{margin-left:auto;display:flex;align-items:center;gap:14px!important}
.pj-site-nav a{padding:10px 12px;border-radius:8px;font-size:.82rem!important;font-weight:750!important;color:#29251f!important;text-decoration:none!important;transition:background .15s,color .15s}
.pj-site-nav a:hover,.pj-site-nav a.is-active{background:#f0eadf;color:var(--pj2-green)!important}
.pj-site-nav .pj-nav-user{padding-left:16px;border-left:1px solid var(--pj2-line);margin-left:4px}
.pj-nav-user img{width:36px!important;height:36px!important;border-radius:50%;object-fit:cover;border:2px solid #d6c6ae}

/* App shell */
.pj-app-shell{max-width:1580px!important;margin:0 auto!important;display:grid!important;grid-template-columns:235px minmax(0,1fr)!important;padding:0 22px!important;gap:0!important}
.pj-app-sidebar{padding:25px 18px 28px 0!important;border-right:1px solid var(--pj2-line)!important;min-height:calc(100vh - 79px)!important}
.pj-app-sidebar nav{position:sticky;top:96px;display:grid;gap:5px}
.pj-app-sidebar a{padding:11px 13px!important;border-radius:9px!important;font-size:.83rem!important;font-weight:650!important;color:#2b261f!important}
.pj-app-sidebar a:hover,.pj-app-sidebar a.is-active{background:#efe6d7!important;color:var(--pj2-green)!important}
.pj-app-sidebar hr{border-color:var(--pj2-line)!important}
.pj-app-user-card{margin-top:18px!important;background:#efe4d3!important;border:1px solid #e2d2bb!important;border-radius:11px!important;padding:13px!important;box-shadow:0 6px 16px rgba(69,47,28,.05)}
.pj-app-user-card img{width:46px!important;height:46px!important}
.pj-app-user-card strong{font-size:.82rem!important;color:#272018}
.pj-app-user-card small{font-size:.68rem!important}
.pj-app-shell>.pj-main{max-width:none!important;padding:24px 0 34px 24px!important}

/* Vue détaillée stricte */
.pj-session-detail{display:grid!important;grid-template-columns:minmax(0,1fr) 322px!important;gap:18px!important;align-items:start!important;max-width:none!important}
.pj-detail-main{min-width:0}
.pj-detail-back{display:inline-flex!important;align-items:center;gap:7px;margin:2px 0 13px!important;color:#3f392f!important;font-size:.79rem!important;font-weight:650!important;text-decoration:none!important}
.pj-detail-back:hover{color:var(--pj2-green)!important}
.pj-detail-scene{margin:0!important}
.pj-session-detail .pj-table-scene{
  position:relative!important;
  height:560px!important;
  overflow:hidden!important;
  border-radius:13px!important;
  background:
    repeating-linear-gradient(0deg,rgba(255,255,255,.02) 0 1px,transparent 1px 22px),
    repeating-linear-gradient(90deg,rgba(0,0,0,.025) 0 1px,transparent 1px 120px),
    linear-gradient(180deg,#5b3922,#3d2518)!important;
  box-shadow:inset 0 0 68px rgba(0,0,0,.24),0 10px 28px rgba(63,43,26,.13)!important;
}
.pj-session-detail .pj-table-scene:after{
  content:"";position:absolute;inset:0;pointer-events:none;opacity:.18;
  background:repeating-linear-gradient(90deg,transparent 0 124px,rgba(255,255,255,.06) 125px,transparent 126px 252px)
}
.pj-session-detail .pj-board-table{
  position:absolute!important;left:50%!important;top:50%!important;transform:translate(-50%,-50%)!important;
  width:64%!important;height:47%!important;min-width:440px!important;
  border:17px solid var(--pj2-frame)!important;border-radius:28px!important;
  background:
    repeating-linear-gradient(90deg,rgba(255,255,255,.025) 0 2px,transparent 2px 86px),
    linear-gradient(180deg,#c2874e,#a66b37)!important;
  box-shadow:inset 0 0 0 5px #d99b5e,inset 0 0 0 8px rgba(84,49,24,.42),0 16px 30px rgba(0,0,0,.34)!important;
  z-index:2!important;
}
.pj-session-detail .pj-board-table:before{content:"";position:absolute;inset:13px;border:2px solid rgba(79,43,20,.36);border-radius:13px;pointer-events:none}
.pj-session-detail .pj-board-table:after{content:"";position:absolute;inset:-13px;border-radius:22px;pointer-events:none;box-shadow:inset 0 0 0 1px rgba(255,255,255,.06)}
.pj-session-detail .pj-board-game{position:absolute;left:50%;top:43%;transform:translate(-50%,-50%);width:90%;text-align:center;font-size:clamp(1.25rem,1.8vw,1.9rem)!important;font-weight:850!important;color:#2b190f!important;line-height:1.1}
.pj-session-detail .pj-board-meta{position:absolute;left:50%;top:56%;transform:translate(-50%,-50%);margin:0!important;background:#7c542f!important;color:#fff!important;padding:5px 12px!important;border-radius:7px!important;font-size:.75rem!important;font-weight:750!important;white-space:nowrap}
.pj-session-detail .pj-board-count{position:absolute;left:50%;top:68%;transform:translate(-50%,-50%);margin:0!important;color:#164c2b!important;font-size:1rem!important;font-weight:850!important;white-space:nowrap}

/* Sièges : fixes, fauteuil + tablette ; jamais de mouvement */
.pj-session-detail .pj-seat-form{display:contents!important}
.pj-session-detail .pj-seat{
  width:var(--seat-size)!important;height:var(--seat-size)!important;
  transform:translate(-50%,-50%)!important;transition:filter .15s,box-shadow .15s,border-color .15s!important;
  border-radius:19px!important;border:3px solid #5a4828!important;
  background:linear-gradient(180deg,#34411e,#171e0e)!important;
  box-shadow:inset 0 0 0 3px rgba(255,255,255,.05),0 9px 15px rgba(0,0,0,.34)!important;
  overflow:visible!important;z-index:5!important;color:#fff!important;
}
.pj-session-detail .pj-seat:hover,.pj-session-detail .pj-seat-free:hover{transform:translate(-50%,-50%)!important;filter:brightness(1.07)!important}
.pj-session-detail .pj-seat-back{position:absolute;inset:6px 8px 18px;border-radius:14px;background:linear-gradient(180deg,#3f4e26,#18200e);box-shadow:inset 0 4px 5px rgba(255,255,255,.06),inset 0 -5px 9px rgba(0,0,0,.5);z-index:-1}
.pj-session-detail .pj-seat img{position:relative!important;width:49%!important;height:auto!important;aspect-ratio:1;border-radius:50%!important;object-fit:cover!important;z-index:3!important;border:2px solid #fff6e7!important}
.pj-session-detail .pj-chair{display:none!important}
.pj-session-detail .pj-seat-label{position:absolute!important;left:50%!important;bottom:-13px!important;transform:translateX(-50%)!important;min-width:74%!important;max-width:128%!important;padding:4px 9px!important;border-radius:14px!important;background:#fffaf0!important;color:#3c3024!important;border:1px solid #d8c7ae!important;font-size:10px!important;font-weight:800!important;white-space:nowrap!important;box-shadow:0 3px 7px rgba(0,0,0,.2)!important;z-index:7!important}
.pj-session-detail .pj-seat-mine{border-color:#789729!important;box-shadow:0 0 0 4px #a4c640,0 8px 16px rgba(0,0,0,.35)!important}
.pj-session-detail .pj-seat-tray{position:absolute!important;display:block!important;background:linear-gradient(180deg,#c98d4e,#a66832)!important;border:2px solid #7e4c27!important;border-radius:6px!important;box-shadow:inset 0 1px rgba(255,255,255,.24),0 3px 5px rgba(0,0,0,.3)!important;z-index:1!important}
.pj-session-detail .pj-seat-top .pj-seat-tray{width:112%!important;height:28px!important;left:-6%!important;bottom:-43px!important}
.pj-session-detail .pj-seat-bottom .pj-seat-tray{width:112%!important;height:28px!important;left:-6%!important;top:-43px!important}
.pj-session-detail .pj-seat-left .pj-seat-tray{height:112%!important;width:28px!important;top:-6%!important;right:-43px!important}
.pj-session-detail .pj-seat-right .pj-seat-tray{height:112%!important;width:28px!important;top:-6%!important;left:-43px!important}
.pj-session-detail .pj-seat-disabled{opacity:.64!important}

/* Légende */
.pj-session-detail .pj-table-legend{display:flex!important;align-items:center!important;justify-content:space-around!important;gap:15px!important;margin:14px 0 0!important;padding:14px 16px!important;border:1px solid var(--pj2-line)!important;border-radius:10px!important;background:var(--pj2-paper)!important;box-shadow:0 5px 15px rgba(55,39,24,.05)!important}
.pj-legend-item{display:flex!important;align-items:center!important;gap:8px!important;font-size:.76rem!important;color:#3c362f!important;font-weight:650!important;white-space:nowrap}

/* Colonne droite */
.pj-detail-sidebar{display:grid!important;gap:9px!important;position:sticky!important;top:92px!important;align-self:start!important}
.pj-side-card{background:var(--pj2-paper)!important;border:1px solid var(--pj2-line)!important;border-radius:10px!important;padding:15px!important;box-shadow:0 5px 14px rgba(59,42,27,.055)!important}
.pj-side-card h2{font-size:1.08rem!important}.pj-side-card h3{font-size:.9rem!important}.pj-side-card h2,.pj-side-card h3{margin:0 0 10px!important;color:#262019!important}
.pj-side-pixel-band{height:44px!important;margin:-15px -15px 12px!important;border-radius:10px 10px 0 0!important;background:linear-gradient(180deg,#7ba83e 0 29%,#5e8835 29% 50%,#704625 50% 100%)!important;image-rendering:pixelated}
.pj-side-pixel-band:after{opacity:.7!important}
.pj-side-game-grid{grid-template-columns:88px 1fr!important;gap:13px!important}
.pj-side-thumb{border-radius:6px!important;background:#efe5d5!important}
.pj-side-facts{gap:8px!important;font-size:.75rem!important;color:#494137!important}
.pj-side-outline{margin-top:12px!important;padding:8px 9px!important;border-radius:5px!important;border-color:#9aab8d!important;font-size:.75rem!important;background:#fffdf8!important}
.pj-side-lines{gap:8px!important;font-size:.76rem!important}
.pj-side-card-head>span{background:var(--pj2-green)!important;border-radius:6px!important;font-size:.69rem!important}
.pj-player-list{gap:6px!important}.pj-player-row{grid-template-columns:24px 1fr auto!important;gap:7px!important;font-size:.75rem!important}.pj-player-row img{width:22px!important;height:22px!important;border-radius:5px!important}.pj-player-row em{font-size:.62rem!important;padding:2px 6px!important}
.pj-side-primary{border-radius:5px!important;padding:11px 13px!important;background:var(--pj2-green)!important;font-size:.78rem!important}.pj-side-primary:hover{background:#0e3e23!important}

/* Cartes inférieures */
.pj-detail-bottom{display:grid!important;grid-template-columns:1.25fr 1fr 1.1fr .9fr!important;gap:12px!important;margin-top:14px!important}
.pj-bottom-card{background:var(--pj2-paper)!important;border:1px solid var(--pj2-line)!important;border-radius:9px!important;padding:12px!important;box-shadow:0 5px 14px rgba(59,42,27,.045)!important;min-height:150px}
.pj-bottom-card h3{font-size:.82rem!important;margin:0 0 9px!important;color:#252019!important}.pj-bottom-card a{font-size:.7rem!important;color:var(--pj2-green)!important}
.pj-bottom-mini{font-size:.7rem!important;gap:6px!important}.pj-bottom-game{grid-template-columns:34px 1fr!important}.pj-bottom-game img{width:34px!important;height:40px!important}.pj-bottom-kpi{background:#f3ecdf!important;border:1px solid #eadfce!important}.pj-bottom-kpi strong{font-size:1.12rem!important;color:var(--pj2-green)!important}

/* Footer */
.pj-site-footer{max-width:1580px!important;padding:20px 28px 28px!important;color:#665e55!important;text-align:center!important;border-top:1px solid rgba(220,208,190,.65)!important}

@media(max-width:1250px){
  .pj-site-brand{min-width:280px}.pj-site-nav{gap:6px!important}.pj-site-nav a{padding:9px 8px!important;font-size:.76rem!important}
  .pj-session-detail{grid-template-columns:1fr 292px!important}.pj-session-detail .pj-table-scene{height:510px!important}
  .pj-detail-bottom{grid-template-columns:repeat(2,minmax(0,1fr))!important}
}
@media(max-width:1050px){
  .pj-site-nav{display:none!important}.pj-app-shell{grid-template-columns:1fr!important}.pj-app-sidebar{display:none!important}.pj-app-shell>.pj-main{padding-left:0!important}
  .pj-session-detail{grid-template-columns:1fr!important}.pj-detail-sidebar{position:static!important;grid-template-columns:repeat(2,minmax(0,1fr))!important}.pj-side-action-form{grid-column:1/-1}.pj-session-detail .pj-table-scene{height:500px!important}
}
@media(max-width:680px){
  .pj-site-header__inner{padding:12px 15px!important}.pj-site-brand{min-width:0}.pj-site-subtitle{display:none!important}.pj-app-shell{padding:0 12px!important}.pj-app-shell>.pj-main{padding-top:15px!important}
  .pj-session-detail .pj-table-scene{height:410px!important}.pj-session-detail .pj-board-table{width:62%!important;height:38%!important;min-width:0!important;border-width:10px!important}.pj-session-detail .pj-board-game{font-size:1rem!important}.pj-session-detail .pj-board-meta{font-size:.63rem!important}.pj-session-detail .pj-board-count{font-size:.78rem!important}
  .pj-detail-sidebar{grid-template-columns:1fr!important}.pj-session-detail .pj-table-legend{overflow-x:auto!important;justify-content:flex-start!important}.pj-detail-bottom{grid-template-columns:1fr!important}
  .pj-session-detail .pj-seat-label{font-size:8px!important}.pj-session-detail .pj-seat-top .pj-seat-tray,.pj-session-detail .pj-seat-bottom .pj-seat-tray{height:18px!important}.pj-session-detail .pj-seat-left .pj-seat-tray,.pj-session-detail .pj-seat-right .pj-seat-tray{width:18px!important}
}


/* =========================================================
   Wood Edition v2.0.1 — sélection des sessions
   La page Je souhaite jouer devient une vraie vue de choix.
   Les fauteuils et la table immersive ne sont rendus qu'après
   ouverture d'une table.
   ========================================================= */
.pj-play-intro{max-width:760px!important;margin:8px 0 20px!important;color:#6b6258!important;font-size:.96rem!important}
.pj-session-card{padding:20px!important;border:1px solid #e2d5c3!important;border-radius:13px!important;background:rgba(255,250,242,.94)!important;box-shadow:0 8px 24px rgba(58,42,27,.06)!important;margin-bottom:20px!important}
.pj-session-head{padding:0 0 15px!important;margin:0 0 15px!important;border-bottom:1px solid #e7dccd!important;align-items:center!important}
.pj-session-head h2{font-size:1.22rem!important;letter-spacing:-.02em!important;color:#2d261f!important}
.pj-session-info{gap:9px 18px!important;font-size:.82rem!important;color:#6b6258!important}
.pj-session-badge{padding:7px 11px!important;background:#edf5e8!important;border:1px solid #d6e4ce!important;color:#275632!important;font-size:.73rem!important}
.pj-table-grid{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:12px!important}
.pj-session-table-card{display:grid;grid-template-columns:104px minmax(0,1fr) 150px;gap:14px;align-items:center;min-width:0;padding:12px;border:1px solid #e3d8ca;border-radius:10px;background:#fffdf8;box-shadow:0 4px 12px rgba(58,42,27,.04);transition:border-color .15s ease,box-shadow .15s ease}
.pj-session-table-card:hover{border-color:#cbb99f;box-shadow:0 8px 20px rgba(58,42,27,.08)}
.pj-session-table-card.is-mine{border-color:#9fba88;background:#fbfdf7}
.pj-session-table-thumb{width:104px;height:96px;display:flex;align-items:center;justify-content:center;overflow:hidden;border-radius:7px;background:#eee2d2;border:1px solid #ddcdb8;text-decoration:none!important}
.pj-session-table-thumb img{width:100%;height:100%;object-fit:contain;padding:5px;background:#f6eee3}.pj-session-table-thumb span{font-size:2rem}
.pj-session-table-content{min-width:0}.pj-session-table-kicker{font-size:.68rem;font-weight:850;text-transform:uppercase;letter-spacing:.08em;color:#42683f;margin-bottom:3px}
.pj-session-table-content h3{margin:0 0 7px!important;font-size:1.04rem!important;line-height:1.15!important;color:#2a2119!important;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.pj-session-table-meta{display:flex;flex-wrap:wrap;gap:5px 11px;color:#70665c;font-size:.69rem;line-height:1.25}.pj-session-table-meta span{white-space:nowrap}
.pj-session-table-warning{margin-top:7px;color:#916613;font-size:.68rem;font-weight:700}.pj-session-table-note{display:inline-flex;margin-top:7px;padding:4px 7px;border-radius:5px;background:#edf5e8;color:#2b5b36;font-size:.67rem;font-weight:750}.pj-session-table-note.is-offer{background:#eef7e9}.pj-session-table-note.is-waiting{background:#fff3d9;color:#79580c}
.pj-session-table-side{display:grid;justify-items:stretch;gap:7px;align-self:stretch;padding-left:12px;border-left:1px solid #eee3d6}.pj-session-table-fill strong{display:block;font-size:.98rem;color:#1f5332}.pj-session-table-fill span{display:block;color:#81776c;font-size:.62rem;margin-top:-1px}.pj-session-table-meter{height:4px;margin-top:6px;background:#e9e2d9;border-radius:999px;overflow:hidden}.pj-session-table-meter i{display:block;height:100%;background:#456f39;border-radius:999px}
.pj-session-table-state{justify-self:start;padding:3px 7px;border-radius:999px;background:#edf5e8;color:#315c36;font-size:.62rem;font-weight:750}.pj-session-table-state.is-full{background:#f5e9dc;color:#835329}
.pj-session-table-open{align-self:end;display:flex!important;justify-content:center;align-items:center;padding:8px 9px!important;border-radius:6px!important;background:#154f2b!important;color:#fff!important;text-decoration:none!important;font-size:.7rem!important;font-weight:800!important}.pj-session-table-open:hover{background:#0e3f21!important;color:#fff!important}
/* L'ancien rendu complet de table n'est plus présent sur la liste, seulement dans la vue détaillée. */
@media(max-width:1180px){.pj-table-grid{grid-template-columns:1fr!important}.pj-session-table-card{grid-template-columns:92px minmax(0,1fr) 145px}.pj-session-table-thumb{width:92px;height:88px}}
@media(max-width:700px){.pj-session-card{padding:14px!important}.pj-session-head{display:block!important}.pj-session-badge{display:inline-flex!important;margin-top:10px!important}.pj-session-table-card{grid-template-columns:76px minmax(0,1fr);gap:10px}.pj-session-table-thumb{width:76px;height:76px}.pj-session-table-side{grid-column:1/-1;border-left:0;border-top:1px solid #eee3d6;padding:9px 0 0;grid-template-columns:1fr auto;align-items:center}.pj-session-table-fill{display:none}.pj-session-table-open{min-width:128px}.pj-session-table-content h3{white-space:normal}}


/* === Prescri'Jeux 2.0.3 : table immersive stabilisee === */
.pj-main{max-width:1580px!important;margin:0 auto!important;padding:24px 28px 36px!important;width:100%!important}
.pj-app-shell,.pj-app-sidebar{display:none!important}
.pj-session-detail{grid-template-columns:minmax(0,1fr) 340px!important;gap:22px!important;width:100%!important}
.pj-session-detail .pj-table-scene{
  position:relative!important;height:650px!important;overflow:hidden!important;border-radius:16px!important;
  background-color:#4a2915!important;
  background-image:
    radial-gradient(ellipse at 12% 18%,rgba(38,18,8,.42) 0 7px,transparent 8px),
    radial-gradient(ellipse at 74% 67%,rgba(36,17,7,.36) 0 9px,transparent 10px),
    radial-gradient(ellipse at 44% 42%,rgba(255,208,139,.07) 0 18px,transparent 19px),
    repeating-linear-gradient(3deg,rgba(255,210,150,.045) 0 1px,transparent 1px 5px),
    repeating-linear-gradient(0deg,transparent 0 48px,rgba(30,14,6,.18) 49px 51px,transparent 52px 104px),
    linear-gradient(90deg,#3d2112 0%,#63391e 17%,#4b2915 38%,#6b3e20 60%,#452513 82%,#60371d 100%)!important;
  box-shadow:inset 0 0 90px rgba(19,9,4,.35),0 12px 30px rgba(55,35,20,.16)!important;
}
.pj-session-detail .pj-table-scene:before{content:"";position:absolute;inset:0;pointer-events:none;opacity:.32;background:repeating-linear-gradient(90deg,transparent 0 178px,rgba(20,10,4,.22) 179px 181px,transparent 182px 360px)}
.pj-session-detail .pj-table-scene:after{content:"";position:absolute;inset:0;pointer-events:none;opacity:.22;background:repeating-linear-gradient(2deg,transparent 0 12px,rgba(255,221,174,.08) 13px,transparent 14px 27px)}
.pj-session-detail .pj-board-table{z-index:3!important;width:60%!important;height:46%!important;min-width:430px!important;border:18px solid #20211f!important;border-radius:30px!important;background:repeating-linear-gradient(2deg,rgba(90,45,17,.08) 0 2px,transparent 2px 11px),linear-gradient(90deg,#ad713b,#c68b50 48%,#a76b36)!important;box-shadow:inset 0 0 0 5px #d49a5d,inset 0 0 0 8px rgba(69,38,18,.34),0 16px 30px rgba(0,0,0,.38)!important}
/* Important: les coordonnees calculees par le plugin doivent piloter chaque fauteuil. */
.pj-session-detail .pj-seat-form{display:contents!important}
.pj-session-detail .pj-seat{position:absolute!important;left:var(--seat-x)!important;top:var(--seat-y)!important;width:var(--seat-size,78px)!important;height:calc(var(--seat-size,78px) * .82)!important;margin:0!important;transform:translate(-50%,-50%)!important;transition:filter .15s ease,box-shadow .15s ease,border-color .15s ease!important;z-index:8!important}
.pj-session-detail .pj-seat:hover,.pj-session-detail .pj-seat-free:hover{left:var(--seat-x)!important;top:var(--seat-y)!important;transform:translate(-50%,-50%)!important;filter:brightness(1.06)!important}
.pj-session-detail .pj-seat-top .pj-seat-tray{width:112%!important;height:28px!important;left:-6%!important;top:calc(100% + 9px)!important;bottom:auto!important}
.pj-session-detail .pj-seat-bottom .pj-seat-tray{width:112%!important;height:28px!important;left:-6%!important;bottom:calc(100% + 9px)!important;top:auto!important}
.pj-session-detail .pj-seat-left .pj-seat-tray{height:112%!important;width:28px!important;top:-6%!important;left:calc(100% + 9px)!important;right:auto!important}
.pj-session-detail .pj-seat-right .pj-seat-tray{height:112%!important;width:28px!important;top:-6%!important;right:calc(100% + 9px)!important;left:auto!important}
@media(max-width:1180px){.pj-main{padding:20px!important}.pj-session-detail{grid-template-columns:minmax(0,1fr) 310px!important}.pj-session-detail .pj-table-scene{height:570px!important}}
@media(max-width:900px){.pj-session-detail{grid-template-columns:1fr!important}.pj-detail-sidebar{position:static!important}.pj-session-detail .pj-table-scene{height:520px!important}}
@media(max-width:680px){.pj-main{padding:14px 10px 24px!important}.pj-session-detail .pj-table-scene{height:430px!important}.pj-session-detail .pj-board-table{min-width:0!important;width:58%!important;height:36%!important;border-width:10px!important}}

/* =========================================================
   Prescri'Jeux v2.0.4 — Ludothèque Wood Edition
   Cartes compactes, classement par type et fiche jeu intégrée.
   ========================================================= */
.pj-library-wood{
  position:relative;
  max-width:1480px!important;
  padding:22px!important;
  border-radius:18px;
  background:
    linear-gradient(rgba(24,12,5,.08),rgba(24,12,5,.08)),
    repeating-linear-gradient(2deg,rgba(255,225,180,.035) 0 1px,transparent 1px 6px),
    repeating-linear-gradient(90deg,transparent 0 210px,rgba(28,13,6,.16) 211px 213px,transparent 214px 420px),
    linear-gradient(90deg,#3d2112 0%,#583018 22%,#462513 43%,#64371c 66%,#432312 84%,#5a3119 100%);
  box-shadow:inset 0 0 70px rgba(18,8,3,.28),0 14px 34px rgba(60,40,24,.12);
}
.pj-library-wood:after{content:"";position:absolute;inset:0;pointer-events:none;border-radius:18px;opacity:.22;background:repeating-linear-gradient(3deg,transparent 0 11px,rgba(255,225,181,.07) 12px,transparent 13px 26px)}
.pj-library-wood>*{position:relative;z-index:1}
.pj-library-wood .pj-library-intro{color:#f2e7d7!important;margin:0 0 17px!important}
.pj-library-type-nav{padding:10px 12px;border:1px solid rgba(243,228,208,.3);background:rgba(28,15,7,.42);border-radius:10px;backdrop-filter:blur(3px)}
.pj-library-type-nav a{background:#f5ecdf!important;color:#284f35!important;border:1px solid #dbc8ae!important;box-shadow:0 3px 8px rgba(25,12,5,.18)}
.pj-library-type-nav a:hover{background:#fff9ef!important;color:#183e27!important}
.pj-library-type-nav small{margin-left:4px;color:#836c53}
.pj-library-group{padding:14px;border-radius:13px;background:rgba(28,15,7,.26);border:1px solid rgba(242,226,204,.18)}
.pj-library-group-head h2{color:#fff8ee!important;text-shadow:0 2px 10px rgba(0,0,0,.28)}
.pj-library-group-count{background:#e5d3b9;color:#4a3521;font-weight:800}
.pj-library-wood .pj-game-card{background:#fbf7ef!important;border:1px solid #d8c5aa!important;border-radius:10px!important;box-shadow:0 7px 16px rgba(24,12,5,.2)!important;transform:none!important}
.pj-library-wood .pj-game-card:hover{transform:translateY(-2px)!important;box-shadow:0 11px 22px rgba(24,12,5,.28)!important;border-color:#bfa27d!important}
.pj-library-wood .pj-game-image{background:linear-gradient(145deg,#ead9c0,#f7ecdc)!important;border-bottom:1px solid #dcc8aa!important;text-decoration:none!important}
.pj-library-wood .pj-game-image img{filter:drop-shadow(0 5px 8px rgba(44,27,15,.16));border-radius:6px!important;background:transparent!important}
.pj-library-wood .pj-game-body{background:linear-gradient(#fffaf2,#f6ecdd)!important}
.pj-library-wood .pj-game-body h3 a{color:#2d241c!important}
.pj-library-wood .pj-game-meta span{background:#eee1ce!important;border:1px solid #dfceb4!important;color:#645647!important}
.pj-library-wood .pj-game-meta strong{color:#2f5d45!important}
.pj-library-wood .pj-game-open{border-radius:6px!important;background:#174f2d!important;color:#fff!important;border:1px solid #174f2d!important}
.pj-library-wood .pj-video{border-radius:6px!important;background:#efe2cf!important;color:#4b3625!important;border:1px solid #dac5a8!important}

/* Fiche jeu : le lien "Voir la fiche du jeu" reste dans la ludothèque, sans CPT public. */
.pj-library-detail{max-width:1320px!important;padding:0 18px!important}
.pj-library-back{display:inline-flex;margin:0 0 15px;color:#315b3c!important;font-weight:800;text-decoration:none!important}
.pj-game-sheet{display:grid;grid-template-columns:minmax(280px,38%) minmax(0,1fr);gap:0;overflow:hidden;border:1px solid #d6c3a8;border-radius:16px;background:#fff9ef;box-shadow:0 16px 38px rgba(56,38,23,.13)}
.pj-game-sheet-visual{min-height:500px;display:flex;align-items:center;justify-content:center;padding:34px;background:
  repeating-linear-gradient(3deg,rgba(255,222,175,.045) 0 1px,transparent 1px 6px),
  repeating-linear-gradient(90deg,transparent 0 160px,rgba(28,13,6,.16) 161px 163px,transparent 164px 320px),
  linear-gradient(90deg,#3d2112,#5f351b 45%,#472613)}
.pj-game-sheet-visual img{max-height:470px;width:100%;object-fit:contain;padding:10px;border-radius:10px!important;background:rgba(255,248,236,.92)!important;box-shadow:0 12px 30px rgba(17,8,3,.28)}
.pj-game-sheet-visual>span{font-size:5rem}
.pj-game-sheet-content{padding:34px 38px;background:linear-gradient(160deg,#fffaf2 0%,#f4e8d7 100%)}
.pj-game-sheet-kicker{text-transform:uppercase;letter-spacing:.09em;font-weight:900;font-size:.72rem;color:#4e774d}
.pj-game-sheet h1{margin:6px 0 18px!important;font-size:2rem!important;color:#2b231d!important}
.pj-game-sheet-meta{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;margin-bottom:22px}
.pj-game-sheet-meta span{display:flex;flex-direction:column;gap:3px;padding:11px 12px;border-radius:8px;background:#eadcc8;border:1px solid #dac5a5;color:#655647}
.pj-game-sheet-meta b{color:#28583a;font-size:.72rem}
.pj-game-sheet-desc{color:#51483f;line-height:1.7}.pj-game-sheet-desc p:first-child{margin-top:0}
.pj-game-sheet-video{display:inline-flex;margin-top:18px;padding:10px 14px;border-radius:7px;background:#174f2d;color:#fff!important;text-decoration:none!important;font-weight:850}
@media(max-width:900px){.pj-library-wood{padding:14px!important}.pj-game-sheet{grid-template-columns:1fr}.pj-game-sheet-visual{min-height:330px}.pj-game-sheet-visual img{max-height:300px}.pj-game-sheet-content{padding:25px}}
@media(max-width:600px){.pj-library-wood{border-radius:12px}.pj-library-group{padding:9px}.pj-game-sheet-meta{grid-template-columns:1fr}.pj-game-sheet h1{font-size:1.5rem!important}}

/* =========================================================
   Prescri'Jeux v2.0.5 — Ludothèque filtrable + dashboard joueur
   ========================================================= */
.pj-library-all{padding:18px!important}
.pj-library-all .pj-library-toolbar{padding:13px 14px;border-radius:11px;background:rgba(27,15,8,.44);border:1px solid rgba(245,230,209,.25);backdrop-filter:blur(2px)}
.pj-library-all .pj-library-intro{color:#fff8ee!important;font-weight:700;margin:0 0 4px!important}
.pj-library-all .pj-library-summary{color:#d9c7ae!important}
.pj-library-all .pj-library-type-nav{padding:0!important;border:0!important;background:transparent!important;backdrop-filter:none!important}
.pj-library-all .pj-library-type-nav button{background:#f4eadc!important;color:#31573d!important;border:1px solid #d4bea0!important;box-shadow:0 3px 8px rgba(28,13,6,.16)!important;transition:background .15s ease,border-color .15s ease,color .15s ease!important}
.pj-library-all .pj-library-type-nav button:hover{background:#fff8ed!important;border-color:#b99870!important}
.pj-library-all .pj-library-type-nav button.is-active{background:#315c3d!important;color:#fff!important;border-color:#315c3d!important;box-shadow:0 4px 10px rgba(21,55,34,.28)!important}
.pj-library-all .pj-library-type-nav button small{margin-left:4px;opacity:.72}
.pj-library-all .pj-games-grid{padding:14px;border-radius:12px;background:rgba(28,15,7,.24);border:1px solid rgba(242,226,204,.16)}
.pj-library-all .pj-game-type-line{color:#8b755f!important}
.pj-library-all .pj-library-no-result{color:#fff5e7;border:1px dashed rgba(255,244,227,.34);border-radius:10px;background:rgba(28,15,7,.28)}

/* Tableau de bord joueur : même langage Wood Edition, sans perdre la lisibilité. */
.pj-player-dashboard{max-width:1480px;margin:0 auto}
.pj-player-dashboard .pj-db-head{margin-top:2px!important}
.pj-player-dashboard .pj-db-head h2{color:#2c241e!important}
.pj-player-dashboard .pj-db-btn.primary{background:#315c3d!important;border-color:#315c3d!important;color:#fff!important}
.pj-player-dashboard .pj-db-btn:not(.primary){background:#fffaf1!important;border-color:#d9c6aa!important;color:#3d3228!important}
.pj-player-dashboard .pj-db-kpis-player{grid-template-columns:repeat(4,minmax(0,1fr))!important}
.pj-player-dashboard .pj-db-kpi,.pj-player-dashboard .pj-db-card{background:linear-gradient(160deg,#fffaf2,#f4e8d8)!important;border-color:#d9c7ac!important;box-shadow:0 7px 18px rgba(55,37,22,.07)!important}
.pj-player-dashboard .pj-db-kpi{position:relative;overflow:hidden}
.pj-player-dashboard .pj-db-kpi:after{content:"";position:absolute;width:46px;height:46px;right:-11px;bottom:-14px;opacity:.13;background:linear-gradient(90deg,#315c3d 0 50%,transparent 50%),linear-gradient(#315c3d 0 50%,transparent 50%);background-size:18px 18px}
.pj-player-dashboard .pj-db-kpi .n{color:#315c3d!important}
.pj-player-dashboard .pj-db-card h3{color:#30261e!important}
.pj-player-dashboard .pj-db-item{background:#fffaf2!important;border-color:#e0d0ba!important}
.pj-player-dashboard .pj-db-date{background:#e9dcc8!important;color:#315c3d!important}
.pj-player-dashboard .pj-db-stat{background:#eadcc8!important}
.pj-player-dashboard .pj-db-badge.ok{background:#dcebd7!important;color:#315c3d!important}

.pj-db-next{display:grid;grid-template-columns:118px minmax(0,1fr) auto;gap:18px;align-items:center;margin:0 0 16px;padding:14px 16px;border:1px solid #cdb797;border-radius:14px;background:
  linear-gradient(105deg,rgba(255,250,241,.97),rgba(243,231,213,.96)),
  repeating-linear-gradient(3deg,rgba(92,53,25,.045) 0 1px,transparent 1px 7px);
  box-shadow:0 9px 22px rgba(57,39,24,.09);overflow:hidden;position:relative}
.pj-db-next:after{content:"";position:absolute;right:-18px;top:-18px;width:92px;height:72px;opacity:.1;background:linear-gradient(90deg,#315c3d 0 50%,transparent 50%),linear-gradient(#315c3d 0 50%,transparent 50%);background-size:24px 24px;pointer-events:none}
.pj-db-next-image{height:94px;border-radius:9px;overflow:hidden;display:flex;align-items:center;justify-content:center;background:#e7d7c0;border:1px solid #ccb491;font-size:2.3rem}
.pj-db-next-image img{width:100%;height:100%;object-fit:contain;background:#f8eee0;padding:5px}
.pj-db-next-content{min-width:0}.pj-db-next-kicker{display:block;font-size:.64rem;letter-spacing:.11em;font-weight:900;color:#55724e;margin-bottom:3px}.pj-db-next h3{margin:0!important;font-size:1.2rem!important;color:#2b221c!important}.pj-db-next-meta{display:flex;gap:7px 14px;flex-wrap:wrap;margin-top:7px;font-size:.76rem;color:#6b5d50}.pj-db-next-open{white-space:nowrap;position:relative;z-index:2}
.pj-db-next-empty{grid-template-columns:1fr auto;padding:20px}.pj-db-next-empty p{margin:5px 0 0;color:#75695d}

@media(max-width:900px){.pj-player-dashboard .pj-db-kpis-player{grid-template-columns:repeat(2,minmax(0,1fr))!important}.pj-db-next{grid-template-columns:90px 1fr}.pj-db-next-open{grid-column:2;justify-self:start}.pj-db-next-image{height:78px}.pj-library-all .pj-library-toolbar{align-items:flex-start}}
@media(max-width:600px){.pj-db-next{grid-template-columns:72px 1fr;gap:11px;padding:11px}.pj-db-next-image{height:68px}.pj-db-next-meta{font-size:.69rem}.pj-db-next-open{grid-column:1/-1;width:100%}.pj-player-dashboard .pj-db-kpis-player{grid-template-columns:1fr 1fr!important}.pj-library-all{padding:10px!important}.pj-library-all .pj-games-grid{padding:8px}}


/* Prescri'Jeux 2.0.6 — Ludothèque compacte + vidéo visible */
.pj-library-all .pj-games-grid{
  grid-template-columns:repeat(6,minmax(0,1fr))!important;
  gap:11px!important;
}
.pj-library-all .pj-game-image{
  height:138px!important;
  min-height:138px!important;
  aspect-ratio:auto!important;
  padding:7px!important;
}
.pj-library-all .pj-game-image img{
  width:100%!important;
  height:100%!important;
  max-height:124px!important;
  object-fit:contain!important;
}
.pj-library-all .pj-game-body{padding:9px 10px 10px!important}
.pj-library-all .pj-game-body h3{font-size:.86rem!important;margin-bottom:5px!important}
.pj-library-all .pj-game-meta{gap:4px!important;font-size:.64rem!important}
.pj-library-all .pj-game-meta span{padding:4px 5px!important}
.pj-library-all .pj-game-actions{gap:5px!important;padding-top:7px!important;flex-wrap:wrap!important}
.pj-library-all .pj-game-open,
.pj-library-all .pj-video{
  display:inline-flex!important;
  visibility:visible!important;
  opacity:1!important;
  min-height:28px!important;
  padding:5px 7px!important;
  font-size:.63rem!important;
  line-height:1!important;
}
.pj-library-all .pj-video{
  background:#ead8bd!important;
  color:#3e2b1c!important;
  border:1px solid #c9ad87!important;
}
.pj-game-sheet-actions{margin-top:18px!important;display:flex!important;gap:8px!important;flex-wrap:wrap!important}
.pj-game-sheet-video{
  display:inline-flex!important;
  visibility:visible!important;
  opacity:1!important;
  align-items:center!important;
  gap:6px!important;
}
@media(max-width:1300px){.pj-library-all .pj-games-grid{grid-template-columns:repeat(5,minmax(0,1fr))!important}}
@media(max-width:1100px){.pj-library-all .pj-games-grid{grid-template-columns:repeat(4,minmax(0,1fr))!important}}
@media(max-width:900px){.pj-library-all .pj-games-grid{grid-template-columns:repeat(3,minmax(0,1fr))!important}.pj-library-all .pj-game-image{height:126px!important;min-height:126px!important}}
@media(max-width:650px){.pj-library-all .pj-games-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}.pj-library-all .pj-game-image{height:112px!important;min-height:112px!important}.pj-library-all .pj-game-actions{display:grid!important;grid-template-columns:1fr!important}.pj-library-all .pj-game-open,.pj-library-all .pj-video{width:100%!important}}


/* Prescri'Jeux 2.0.7 — fond blanc des visuels de la Ludothèque */
.pj-library-all .pj-game-image,
.pj-library-wood .pj-game-image,
.pj-library-all .pj-game-image img,
.pj-library-wood .pj-game-image img{
  background:#ffffff!important;
}
.pj-library-all .pj-game-image,
.pj-library-wood .pj-game-image{
  border-bottom:1px solid #e4d8c8!important;
}
