/* =========================================================
   Mini-sites 11 PLAY — AppyHour & DiceNite
   Même structure, deux thèmes : body.app-dicenite / body.app-appyhour
   ========================================================= */
:root, .app-dicenite{
	--bg:#14031f;
	--bg-2:#1d0629;
	--panel:#241032;
	--panel-2:#2e1540;
	--line:rgba(255,255,255,.09);
	--text:#f7eefb;
	--text-soft:#eadff0;
	--muted:#ab98b9;
	--accent:#ff4fa3;
	--accent-2:#e8336f;
	--accent-grad:linear-gradient(135deg,#ff4fa3,#e8336f);
	--on-accent:#fff;
	--glow:rgba(255,79,163,.35);
	--subtitle:#ff7a9c;
	--subtitle-font:'Waterfall',cursive;
	--subtitle-weight:400;
	--subtitle-scale:1.25;
	--title-grad:linear-gradient(120deg,#fff 20%,#ffc2dd 60%,#ff4fa3);
	--bg-glow-1:rgba(255,79,163,.20);
	--bg-glow-2:rgba(143,182,255,.10);
	--bg-glow-3:rgba(232,51,111,.16);
	--menu-bg:rgba(20,3,31,.78);
	--footer-bg:#0d0214;
	--footer-text:#8d7a9b;
	--footer-link:#c7a9d6;
	--input-bg:#1d0629;
	--radius:22px;
	--max:1180px;
}
.app-appyhour{
	--bg:#06131b;
	--bg-2:#0a1d28;
	--panel:#0c2230;
	--panel-2:#12303f;
	--line:rgba(127,216,245,.12);
	--text:#f2fbff;
	--text-soft:#d3e9f2;
	--muted:#8db0bf;
	--accent:#ffd23f;
	--accent-2:#ffb21e;
	--accent-grad:linear-gradient(135deg,#ffe17d,#ffc21e);
	--on-accent:#2e2100;
	--glow:rgba(1,160,210,.35);
	--subtitle:#ffe17d;
	--subtitle-font:'Baloo 2',system-ui,sans-serif;
	--subtitle-weight:800;
	--subtitle-scale:.8;
	--title-grad:linear-gradient(120deg,#fff,#fff);
	--bg-glow-1:rgba(1,130,170,.32);
	--bg-glow-2:rgba(255,210,63,.07);
	--bg-glow-3:rgba(1,130,170,.20);
	--menu-bg:rgba(6,19,27,.82);
	--footer-bg:#030b10;
	--footer-text:#6c8d9b;
	--footer-link:#bfe3f0;
	--input-bg:#0a1d28;
}
.app-hub{
	--bg:#120a24;
	--bg-2:#1a1030;
	--panel:#1d1436;
	--panel-2:#281c48;
	--line:rgba(255,255,255,.1);
	--text:#f6f2fb;
	--text-soft:#e4ddf0;
	--muted:#a99cc2;
	--accent:#ffe17d;
	--accent-2:#ffc21e;
	--accent-grad:linear-gradient(135deg,#ffe17d,#ffc21e);
	--on-accent:#2b1d00;
	--glow:rgba(255,225,125,.25);
	--subtitle:#ffe17d;
	--subtitle-font:'Lato',sans-serif;
	--subtitle-weight:700;
	--subtitle-scale:.7;
	--title-grad:linear-gradient(120deg,#fff 30%,#ffc2dd 65%,#7fd8f5);
	--bg-glow-1:rgba(255,79,163,.16);
	--bg-glow-2:rgba(1,130,170,.22);
	--bg-glow-3:rgba(255,225,125,.08);
	--menu-bg:rgba(18,10,36,.82);
	--footer-bg:#0b0618;
	--footer-text:#8e81a8;
	--footer-link:#d2c8e6;
	--input-bg:#1a1030;
}
*{box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{
	margin:0;
	font-family:'Lato','Noto Sans',system-ui,-apple-system,'Segoe UI','PingFang SC','Hiragino Sans','Apple SD Gothic Neo','Microsoft YaHei','Meiryo','Malgun Gothic','Noto Sans CJK SC','Noto Sans CJK JP','Noto Sans CJK KR',sans-serif;
	font-size:17px;
	line-height:1.6;
	color:var(--text);
	background:var(--bg);
	background-image:
		radial-gradient(900px 600px at 85% -10%, var(--bg-glow-1), transparent 60%),
		radial-gradient(800px 600px at -10% 30%, var(--bg-glow-2), transparent 60%),
		radial-gradient(900px 700px at 50% 110%, var(--bg-glow-3), transparent 60%);
	-webkit-font-smoothing:antialiased;
}
img{max-width:100%; display:block;}
a{color:var(--accent); text-decoration:none;}
a:hover{color:#fff;}
b, strong{font-weight:900;}
.o50{opacity:.5;}

/* ---------- Menu ---------- */
.site-menu{
	position:sticky; top:0; z-index:20;
	display:flex; align-items:center; justify-content:space-between; gap:16px;
	padding:10px max(16px, calc((100vw - var(--max))/2));
	background:var(--menu-bg);
	backdrop-filter:blur(14px); -webkit-backdrop-filter:blur(14px);
	border-bottom:1px solid var(--line);
}
.site-brand{display:flex; align-items:center; gap:10px; color:#fff; font-weight:900; letter-spacing:.06em; text-transform:uppercase; font-size:15px;}
.site-brand img{width:32px; height:32px; border-radius:9px;}
.site-links{display:flex; align-items:center; gap:4px;}
.site-links > a{
	color:var(--text); padding:8px 14px; border-radius:999px;
	font-size:14px; font-weight:700; letter-spacing:.08em; text-transform:uppercase;
	transition:background .2s, color .2s;
}
.site-links > a:hover{background:var(--panel-2); color:#fff;}
.site-icon-link{display:flex; align-items:center; gap:8px;}
.site-icon-link.is-active{background:var(--panel-2);}
.site-langmenu{position:relative;}
.site-langmenu summary{
	list-style:none; cursor:pointer; display:flex; align-items:center; gap:6px;
	padding:8px 12px; border-radius:999px; border:1px solid var(--line);
	color:var(--muted); font-size:13px; font-weight:700; letter-spacing:.08em;
}
.site-langmenu summary::-webkit-details-marker{display:none;}
.site-langmenu summary:hover, .site-langmenu[open] summary{color:#fff; background:var(--panel-2);}
.site-langlist{
	position:absolute; right:0; top:calc(100% + 8px); min-width:170px; padding:6px;
	display:flex; flex-direction:column; border-radius:16px;
	background:var(--panel); border:1px solid var(--line); box-shadow:0 20px 40px -10px rgba(0,0,0,.5);
}
.site-langlist a{padding:9px 14px; border-radius:10px; color:var(--text); font-size:15px; font-weight:400;}
.site-langlist a:hover{background:var(--panel-2); color:#fff;}
.site-langlist a.is-current{background:var(--accent-grad); color:var(--on-accent); font-weight:700;}

/* Sélecteur AppyHour / DiceNite */
.site-switch{display:flex; gap:2px; padding:3px; margin-right:8px; border-radius:999px; background:rgba(255,255,255,.07); border:1px solid var(--line);}
.site-switch a{
	display:flex; align-items:center; gap:8px; padding:4px 14px 4px 4px; border-radius:999px;
	color:var(--text); font-size:14px; font-weight:700; transition:background .2s, color .2s;
}
.site-switch a:hover{background:rgba(255,255,255,.08); color:#fff;}
.site-switch img{width:26px; height:26px; border-radius:8px;}
.site-switch a.is-current{background:var(--accent-grad); color:var(--on-accent);}

.site-main{max-width:var(--max); margin:0 auto; padding:0 24px;}

/* ---------- Hero ---------- */
.site-hero{
	display:grid; grid-template-columns:minmax(260px, 400px) 1fr; gap:72px;
	align-items:center; padding:64px 0 48px;
}
.site-phone-wrap{position:relative; justify-self:center; width:100%; max-width:360px;}
.site-phone{
	position:relative; border-radius:46px; padding:10px;
	background:linear-gradient(160deg,#3b2148,#140a1c 60%);
	box-shadow:0 0 0 1px rgba(255,255,255,.08) inset, 0 40px 80px -20px rgba(0,0,0,.7), 0 0 90px -10px var(--glow);
}
.site-phone img{width:100%; height:auto; border-radius:37px;}
/* maquette AppyHour (image avec son propre fond bleu, fondue dans la page) */
.app-appyhour .site-phone, .hub-card-ah .site-phone{background:linear-gradient(160deg,#1d4a5e,#071821 60%);}
.site-mockup{
	width:100%; max-width:330px; height:auto; margin:0 auto;
	filter:drop-shadow(0 40px 60px rgba(0,0,0,.55)) drop-shadow(0 0 70px rgba(1,160,210,.35));
}
.site-hero-dice{
	position:absolute; right:-54px; bottom:60px; width:130px; height:auto;
	filter:drop-shadow(0 18px 30px rgba(0,0,0,.5));
	animation:site-float 6s ease-in-out infinite;
}
@keyframes site-float{0%,100%{transform:translateY(0) rotate(-6deg);}50%{transform:translateY(-14px) rotate(4deg);}}

.site-hero-text p{color:var(--text-soft); font-weight:300; margin:0 0 16px;}
.site-hero-text b{color:#fff;}
.site-logo{width:132px; height:auto; margin:0 0 4px -8px; filter:drop-shadow(0 12px 28px var(--glow));}
.site-title{
	margin:0 0 26px; font-weight:900; font-size:clamp(46px, 6vw, 76px); line-height:1; letter-spacing:-.01em;
	background:var(--title-grad); -webkit-background-clip:text; background-clip:text; color:transparent;
}
.site-title span{
	display:block; margin-top:12px;
	font-family:var(--subtitle-font); font-weight:var(--subtitle-weight);
	font-size:calc(clamp(30px, 3.6vw, 44px) * var(--subtitle-scale)); line-height:1.1;
	color:var(--subtitle); -webkit-text-fill-color:var(--subtitle);
}
.site-title-logo img{width:min(460px, 100%); height:auto; margin:0 0 4px -12px; filter:drop-shadow(0 14px 24px rgba(0,40,60,.35));}
.site-title-logo span{margin-top:0; text-transform:uppercase; letter-spacing:.02em;}

/* ---------- Badges ---------- */
.site-badges{display:flex; flex-wrap:wrap; gap:14px; margin:28px 0 14px;}
.site-badges:has(.is-soon){margin-top:44px;}
.site-badge{position:relative; display:inline-flex; transition:transform .2s;}
a.site-badge:hover{transform:translateY(-2px);}
.site-badge img{height:54px; width:auto;}
.site-gp{
	display:inline-flex; align-items:center; gap:10px; height:54px; padding:0 18px 0 14px;
	background:#000; border:1px solid #a6a6a6; border-radius:10px; color:#fff;
}
.site-gp i{font-size:24px; background:linear-gradient(135deg,#00d7fe,#00f076 40%,#ffd400 70%,#ff3a44); -webkit-background-clip:text; background-clip:text; color:transparent;}
.site-gp span{display:flex; flex-direction:column; font-size:20px; line-height:1;}
.site-gp small{font-size:9.5px; letter-spacing:.06em; margin-bottom:3px;}
.site-badge.is-soon{opacity:.55; cursor:default;}
.site-badge.is-soon em{
	position:absolute; top:-22px; left:50%; transform:translateX(-50%); font-style:normal; font-size:10px; font-weight:900; letter-spacing:.06em; text-transform:uppercase;
	background:var(--accent); color:var(--on-accent); padding:3px 7px; border-radius:999px; white-space:nowrap;
}
.site-small{font-size:14px !important; color:var(--muted) !important;}
.site-small i{color:var(--accent); margin-right:4px;}

/* ---------- Stats ---------- */
.site-stats{
	display:grid; grid-template-columns:repeat(4,1fr);
	border:1px solid var(--line); border-radius:var(--radius);
	background:linear-gradient(180deg,var(--panel-2),var(--panel));
	margin:8px 0 24px;
}
.site-stats-3{grid-template-columns:repeat(3,1fr);}
.site-stat{padding:26px 16px; text-align:center;}
.site-stat + .site-stat{border-left:1px solid var(--line);}
.site-stat strong{display:block; font-size:40px; line-height:1; font-weight:900; color:#fff;}
.app-appyhour .site-stat strong{color:var(--accent); font-family:'Baloo 2',sans-serif; font-weight:800;}
.site-stat span{display:block; margin-top:6px; color:var(--muted); font-size:13px; font-weight:700; text-transform:uppercase; letter-spacing:.12em;}

/* ---------- Sections ---------- */
.site-section{padding:72px 0 0;}
.site-h2{margin:0 0 36px; text-align:center; font-weight:900; font-size:clamp(30px,4vw,44px); line-height:1.1; color:#fff;}
.site-h2 span{
	display:block; margin-top:10px;
	font-family:var(--subtitle-font); font-weight:var(--subtitle-weight);
	font-size:calc(clamp(26px,3vw,36px) * var(--subtitle-scale)); color:var(--subtitle);
}
.site-more{text-align:center; color:var(--muted); margin:28px 0 0;}
.site-more b{color:var(--text);}

.site-games{display:grid; grid-template-columns:repeat(4,1fr); gap:18px;}
.site-games-3{grid-template-columns:repeat(3,1fr);}
.site-game{
	padding:28px 22px; border-radius:var(--radius);
	background:var(--panel); border:1px solid var(--line);
	transition:transform .25s, border-color .25s;
}
.site-game:hover{transform:translateY(-4px); border-color:var(--accent);}
.site-game img{width:64px; height:64px; margin-bottom:16px; filter:drop-shadow(0 8px 18px var(--glow));}
.site-game-icon, .site-step-icon{
	display:grid; place-items:center; width:60px; height:60px; margin-bottom:16px; border-radius:18px;
	background:var(--accent-grad); color:var(--on-accent); font-size:26px;
	box-shadow:0 10px 24px -8px var(--glow), inset 0 -3px 0 rgba(0,0,0,.12);
	transform:rotate(-4deg);
}
.site-game-art{
	display:flex; align-items:center; justify-content:center; height:96px; margin-bottom:16px; border-radius:16px;
	background:radial-gradient(120% 140% at 30% 20%, #19a9d6, #0182aa 55%, #015e7c);
	box-shadow:inset 0 -3px 0 rgba(0,0,0,.15), 0 12px 24px -12px rgba(1,160,210,.6);
}
.site-game-art img{height:70px; width:auto; max-width:85%; object-fit:contain; filter:drop-shadow(0 4px 6px rgba(0,0,0,.25));}
.site-game h3{margin:0 0 6px; font-size:19px; font-weight:900;}
.site-game p{margin:0; color:var(--muted); font-size:15px; line-height:1.5;}

.site-steps{display:grid; grid-template-columns:repeat(3,1fr); gap:40px;}
.site-step{text-align:center;}
.site-steps-icons{gap:24px;}
.site-steps-icons .site-step{padding:32px 24px; border-radius:var(--radius); background:var(--panel); border:1px solid var(--line);}
.site-step-icon{width:76px; height:76px; font-size:32px; margin:0 auto 20px; border-radius:24px;}
.site-phone-sm{max-width:250px; margin:0 auto 24px; border-radius:36px; padding:8px;}
.site-phone-sm img{border-radius:29px;}
.site-step h3{margin:0 0 6px; font-size:20px; font-weight:900; display:flex; align-items:center; justify-content:center; gap:10px;}
.site-num{
	display:inline-grid; place-items:center; width:30px; height:30px; border-radius:50%; flex:none;
	background:var(--accent-grad); color:var(--on-accent); font-size:15px;
}
.site-step p{margin:0 auto; max-width:300px; color:var(--muted); font-size:15px;}

.site-cta-card{
	text-align:center; padding:56px 32px; border-radius:32px;
	background:radial-gradient(600px 300px at 50% 0%, var(--glow), transparent 70%), var(--panel);
	border:1px solid var(--line);
}
.app-appyhour .site-cta-card{background:radial-gradient(600px 300px at 50% 0%, rgba(1,160,210,.32), transparent 70%), var(--panel);}
.site-cta-card .site-h2{margin-bottom:16px;}
.site-cta-card p{max-width:640px; margin:0 auto; color:var(--text-soft); font-weight:300;}
.site-cta-card .site-badges{justify-content:center;}

.site-faq{max-width:780px; margin:0 auto;}
.site-faq details{border-bottom:1px solid var(--line); padding:4px 0;}
.site-faq summary{cursor:pointer; list-style:none; padding:16px 36px 16px 0; font-weight:700; font-size:18px; position:relative;}
.site-faq summary::-webkit-details-marker{display:none;}
.site-faq summary::after{
	content:"+"; position:absolute; right:4px; top:50%; transform:translateY(-50%);
	font-size:26px; font-weight:300; color:var(--accent); transition:transform .25s;
}
.site-faq details[open] summary::after{transform:translateY(-50%) rotate(45deg);}
.site-faq details p{margin:0 0 18px; color:var(--muted);}

/* ---------- Pages texte ---------- */
.site-doc{
	max-width:780px; margin:56px auto 0; padding:48px 48px 40px;
	background:var(--panel); border:1px solid var(--line); border-radius:32px;
}
.site-doc-icon{width:72px; height:72px; border-radius:18px; margin:0 auto 18px; box-shadow:0 12px 30px var(--glow);}
.site-doc .site-h2{margin-bottom:8px;}
.site-doc h2{font-size:19px; font-weight:900; margin:30px 0 8px; color:#fff;}
.site-doc p{color:var(--text-soft); font-weight:300; margin:0 0 14px;}
.site-updated{text-align:center; color:var(--muted) !important; font-size:14px; margin-bottom:28px !important;}
.site-contact{text-align:center;}

.site-form{display:flex; flex-direction:column; gap:12px; margin:28px auto 0; max-width:480px; text-align:left;}
.site-field{position:relative; display:block;}
.site-field > i{position:absolute; left:16px; top:18px; color:var(--muted); font-size:14px; z-index:1;}
.site-captcha > i{top:auto; bottom:18px;}
.site-form input, .site-form textarea{
	width:100%; font:inherit; font-size:16px; color:var(--text);
	background:var(--input-bg); border:1px solid rgba(255,255,255,.18); border-radius:14px;
	padding:14px 16px 14px 42px; transition:border-color .2s, box-shadow .2s;
}
.site-form textarea{padding-left:16px; min-height:160px; resize:vertical;}
.site-form input::placeholder, .site-form textarea::placeholder{color:var(--muted); opacity:.8;}
.site-form input:focus, .site-form textarea:focus{outline:none; border-color:var(--accent); box-shadow:0 0 0 4px var(--glow);}
.site-form .is-ok{border-color:#7fe0b0;}
.site-form .is-bad{border-color:#ff6b6b;}
.site-captcha .realperson-challenge{margin:0 0 8px 0; color:var(--text);}
.site-captcha .realperson-text{color:var(--accent); font-family:monospace; line-height:0.6;}
.site-captcha .realperson-regen{color:var(--muted); font-size:12px;}
.site-group{display:flex; flex-direction:column; gap:6px;}
.site-hint{
	display:none; margin:0 !important; padding:8px 12px; border-radius:10px; font-size:14px; line-height:1.4;
	background:rgba(255,107,107,.14); color:#ffc9c9 !important; font-weight:700 !important;
}
.site-hint.is-visible{display:block; animation:site-hint-in .2s ease-out;}
.site-hint i{margin-right:4px; font-size:12px;}
@keyframes site-hint-in{from{opacity:0; transform:translateY(-3px);}to{opacity:1; transform:none;}}
.site-hint-row{display:flex; align-items:flex-start; justify-content:space-between; gap:10px;}
.site-hint-row .site-hint{flex:1;}
.site-count{margin-left:auto; padding-top:8px; font-size:13px; color:var(--muted); white-space:nowrap;}
.site-count.is-ok{color:#7fe0b0;}
.site-count.is-ok::after{content:" ✓";}
.site-error{margin:0 !important; padding:12px 16px; border-radius:12px; background:rgba(255,107,107,.15); color:#ffd0d0 !important; font-weight:700 !important;}

.site-btn{
	display:inline-flex; align-items:center; justify-content:center; gap:10px;
	font:inherit; font-weight:900; font-size:17px; color:var(--on-accent) !important; cursor:pointer;
	padding:16px 28px; border:0; border-radius:16px;
	background:var(--accent-grad); box-shadow:0 12px 30px -8px var(--glow);
	transition:transform .2s, opacity .2s;
}
.site-btn:hover{transform:translateY(-2px);}
.btn-disabled{opacity:.4; pointer-events:none; filter:grayscale(60%);}

/* ---------- Footer ---------- */
.site-footer{
	margin-top:96px; padding:44px 24px 40px; text-align:center;
	background:var(--footer-bg); border-top:1px solid var(--line);
	font-size:13px; letter-spacing:.06em; color:var(--footer-text);
}
.site-footer p{margin:0 0 14px;}
.site-family{display:flex; justify-content:center; align-items:center; flex-wrap:wrap; gap:12px 22px; margin-bottom:28px;}
.site-family > span{width:100%; text-transform:uppercase; letter-spacing:.2em; font-size:11px;}
.site-family a{display:flex; align-items:center; gap:10px; color:var(--footer-link); font-weight:700; font-size:15px; letter-spacing:.02em;}
.site-family img{width:40px; height:40px; border-radius:11px;}
.site-family a:hover{color:#fff;}
.site-langs{line-height:2.2;}
.site-langs a{color:var(--footer-text); font-size:14px; letter-spacing:.06em; padding:6px 8px; white-space:nowrap;}
.site-langs a.is-current{color:#fff; font-weight:900;}
.site-footer-links a{color:var(--footer-link); padding:6px 10px; display:inline-block;}
.site-footer-links a:hover, .site-langs a:hover{color:#fff;}
.site-adult{color:#ff7a9c;}
.site-copy{letter-spacing:.3em; text-transform:uppercase; font-size:11px; margin:0 !important;}

/* ---------- Accueil 11 PLAY ---------- */
.hub-hero{text-align:center; padding:72px 0 40px; max-width:820px; margin:0 auto;}
.hub-title{
	margin:0; font-weight:900; font-size:clamp(52px,8vw,96px); line-height:1; letter-spacing:-.02em;
	background:var(--title-grad); -webkit-background-clip:text; background-clip:text; color:transparent;
}
.hub-title span{display:block; margin-top:16px; font-size:clamp(20px,2.4vw,28px); font-weight:700; letter-spacing:.01em; color:var(--subtitle); -webkit-text-fill-color:var(--subtitle);}
.hub-intro{margin:22px auto 0; color:var(--text-soft); font-weight:300; font-size:19px; max-width:640px;}
.hub-cards{display:grid; grid-template-columns:1fr 1fr; gap:28px;}
.hub-card{
	position:relative; overflow:hidden; display:grid; grid-template-columns:44% 1fr; align-items:center; gap:8px;
	border-radius:32px; padding:32px 32px 32px 20px; border:1px solid rgba(255,255,255,.12);
	transition:transform .3s cubic-bezier(.2,.7,.2,1), box-shadow .3s;
}
.hub-card:hover{transform:translateY(-4px);}
.hub-card-dn{background:radial-gradient(500px 360px at 20% 20%, rgba(255,79,163,.30), transparent 70%), linear-gradient(160deg,#2a0f3c,#14031f); box-shadow:0 30px 60px -30px rgba(255,79,163,.45);}
.hub-card-ah{background:radial-gradient(500px 360px at 20% 20%, rgba(1,160,210,.38), transparent 70%), linear-gradient(160deg,#0b2c3c,#06131b); box-shadow:0 30px 60px -30px rgba(1,130,170,.6);}
.hub-card-visual{display:flex; justify-content:center;}
.hub-card-visual .site-phone-sm{max-width:200px; margin:0;}
.hub-ah-phone{width:100%; max-width:190px; height:auto; filter:drop-shadow(0 24px 34px rgba(0,0,0,.5));}
.hub-card-text{color:#fff;}
.hub-card-icon{width:56px; height:56px; border-radius:15px; margin-bottom:14px; box-shadow:0 10px 24px rgba(0,0,0,.3);}
.hub-card h2{margin:0; font-size:34px; font-weight:900; line-height:1;}
.hub-card-tag{margin:8px 0 12px; font-weight:700;}
.hub-card-dn .hub-card-tag{color:#ff7a9c; font-family:'Waterfall',cursive; font-weight:400; font-size:30px; line-height:1.1;}
.hub-card-ah .hub-card-tag{color:#ffe17d; font-family:'Baloo 2',sans-serif; font-weight:800; text-transform:uppercase; font-size:18px;}
.hub-card p{margin:0 0 12px; font-size:16px; font-weight:300; color:rgba(255,255,255,.88);}
.hub-card .hub-card-meta{font-size:13px; font-weight:700; letter-spacing:.06em; text-transform:uppercase; color:rgba(255,255,255,.6);}
.hub-btn{
	display:inline-flex; align-items:center; gap:10px; margin-top:6px; padding:13px 22px; border-radius:14px;
	font-weight:900; font-size:16px; transition:transform .2s;
}
.hub-btn:hover{transform:translateX(3px);}
.hub-card-dn .hub-btn{background:linear-gradient(135deg,#ff4fa3,#e8336f); color:#fff !important;}
.hub-card-ah .hub-btn{background:linear-gradient(135deg,#ffe17d,#ffc21e); color:#3b2a00 !important;}
.hub-arrow{transform:rotate(180deg); font-size:14px;}
.hub-about{max-width:720px; margin:0 auto; text-align:center;}
.hub-about p{color:var(--text-soft); font-weight:300;}
.site-family-hub{font-weight:900 !important; letter-spacing:.08em !important;}
@media (max-width:1000px){
	.hub-cards{grid-template-columns:1fr;}
}
@media (max-width:560px){
	.hub-hero{padding:44px 0 28px;}
	.hub-card{grid-template-columns:1fr; padding:28px 22px; text-align:center;}
	.hub-card-visual .site-phone-sm{max-width:170px;}
	.hub-ah-phone{max-width:160px;}
	.hub-card-icon{margin:0 auto 12px;}
}
:lang(ru) .hub-card-dn .hub-card-tag, :lang(zh) .hub-card-dn .hub-card-tag, :lang(ja) .hub-card-dn .hub-card-tag, :lang(ko) .hub-card-dn .hub-card-tag{font-family:inherit; font-weight:700; font-size:18px;}

/* ---------- Langues sans police script (Waterfall = latin uniquement) ---------- */
:lang(ru), :lang(zh), :lang(ja), :lang(ko){--subtitle-font:inherit; --subtitle-weight:700; --subtitle-scale:.72;}
:lang(zh) .site-title span, :lang(ja) .site-title span, :lang(ko) .site-title span, :lang(ru) .site-title span{letter-spacing:.02em;}
:lang(zh) body, :lang(ja) body, :lang(ko) body{word-break:keep-all; overflow-wrap:anywhere; line-height:1.75;}
:lang(zh) .site-stat span, :lang(ja) .site-stat span, :lang(ko) .site-stat span{letter-spacing:.02em; text-transform:none;}

/* ---------- Apparition ---------- */
.js .site-reveal{opacity:0; transform:translateY(24px); transition:opacity .7s ease, transform .7s cubic-bezier(.2,.7,.2,1);}
.js .site-reveal.is-in{opacity:1; transform:none;}
@media (prefers-reduced-motion: reduce){
	.js .site-reveal{opacity:1; transform:none; transition:none;}
	.site-hero-dice{animation:none;}
	html{scroll-behavior:auto;}
}

/* ---------- Responsive ---------- */
@media (max-width:1000px){
	.site-games{grid-template-columns:repeat(2,1fr);}
	.site-hero{gap:48px;}
	.site-desk{display:none;}
}
@media (max-width:820px){
	.site-hero{grid-template-columns:1fr; padding-top:36px; text-align:center;}
	.site-hero-text{order:-1;}
	.site-logo, .site-title-logo img{margin-left:auto; margin-right:auto;}
	.site-badges{justify-content:center;}
	.site-phone-wrap{max-width:300px;}
	.site-hero-dice{right:-30px; width:100px;}
	.site-steps{grid-template-columns:1fr; gap:56px;}
	.site-steps-icons{gap:16px;}
	.site-stats{grid-template-columns:repeat(2,1fr);}
	.site-stats-3{grid-template-columns:repeat(3,1fr);}
	.site-stats:not(.site-stats-3) .site-stat:nth-child(3){border-left:0;}
	.site-stats:not(.site-stats-3) .site-stat:nth-child(n+3){border-top:1px solid var(--line);}
	.site-doc{padding:36px 22px 28px; margin-top:32px; border-radius:24px;}
	.site-brand span{display:none;}
}
@media (max-width:520px){
	body{font-size:16px;}
	.site-main{padding:0 16px;}
	.site-menu{padding:8px 12px; gap:8px;}
	.site-brand img{width:30px; height:30px;}
	.site-links{flex:1; justify-content:space-between;}
	.site-links > a.site-icon-link:not(.site-contact-link){display:none;}   /* « i » confidentialité : reste dans le pied de page */
	.site-langmenu summary{padding:8px 10px;}
	.site-switch{margin-right:2px;}
	.site-switch a{padding:4px 10px 4px 4px; font-size:13px; gap:6px;}
	.site-links{gap:0;}
	.site-links > a{padding:8px 10px;}
	.site-games, .site-games-3{grid-template-columns:1fr;}
	.site-game{display:grid; grid-template-columns:56px 1fr; column-gap:16px; padding:20px;}
	.site-game img, .site-game .site-game-icon{width:56px; height:56px; grid-row:span 2; margin:0;}
	.site-game .site-game-art{width:88px; height:60px; grid-row:span 2; margin:0;}
	.site-game:has(.site-game-art){grid-template-columns:88px 1fr;}
	.site-game .site-game-art img{width:auto; height:42px; grid-row:auto;}
	.site-hero-dice{display:none;}
	.site-cta-card{padding:40px 20px;}
	.site-stat{padding:20px 8px;}
	.site-stat strong{font-size:30px;}
	.site-stat span{font-size:11px; letter-spacing:.08em;}
	.site-badges{gap:10px;}
	.site-badge img, .site-gp{height:46px;}
	.site-gp{padding:0 14px 0 12px; gap:8px;}
	.site-gp i{font-size:20px;}
	.site-gp span{font-size:17px;}
	.site-gp small{font-size:8.5px;}
}
@media (max-width:380px){
	.site-switch span{display:none;}
	.site-switch a{padding:4px;}
}

/* =====================================================================
   Adore — thème « Boudoir » (violet profond, rose poudré, bordeaux)
   Palette reprise de l'application (adore.css)
   ===================================================================== */
.app-adore{
	--bg:#321040;
	--bg-2:#3c164c;
	--panel:#4a2468;
	--panel-2:#582d78;
	--line:rgba(251,233,238,.13);
	--text:#fbe9ee;
	--text-soft:#f5d9e4;
	--muted:#cdb5db;
	--accent:#f2707e;
	--accent-2:#e2566a;
	--accent-grad:linear-gradient(135deg,#f78f9a,#e2566a);
	--on-accent:#2b0a24;
	--glow:rgba(242,112,126,.38);
	--subtitle:#f5c6d8;
	--subtitle-font:'Lora',Georgia,serif;
	--subtitle-weight:500;
	--subtitle-scale:.78;
	--title-grad:linear-gradient(120deg,#fff,#fff);
	--bg-glow-1:rgba(242,112,126,.24);
	--bg-glow-2:rgba(111,134,214,.14);
	--bg-glow-3:rgba(154,42,80,.30);
	--menu-bg:rgba(50,16,64,.84);
	--footer-bg:#220a2e;
	--footer-text:#a58bb8;
	--footer-link:#e3cfee;
	--input-bg:#3c164c;
}
body.app-adore{font-family:'Figtree','Lato',system-ui,-apple-system,'Segoe UI',sans-serif;}
.app-adore .site-h2, .app-adore .site-doc h2, .app-adore .site-stat strong, .app-adore .site-game h3, .app-adore .site-step h3, .app-adore .site-cta-card .site-h2{font-family:'Gloock',Georgia,serif; font-weight:400;}
.app-adore .site-doc h2{font-size:22px;}
.app-adore .site-h2 span{font-style:italic;}
.app-adore .site-title-logo img{filter:drop-shadow(0 14px 28px rgba(0,0,0,.4)); width:min(300px,100%); margin-bottom:10px;}
.app-adore .site-title-logo span{text-transform:none; letter-spacing:0; font-style:italic; font-size:clamp(22px,2.6vw,30px); line-height:1.25; margin-top:6px;}
.app-adore .site-stat strong{font-size:44px; color:var(--accent);}
.app-adore .site-game-icon, .app-adore .site-step-icon{color:#2b0a24;}
.app-adore .site-game-icon svg{width:28px; height:28px;}
.app-adore .site-game-icon.is-sym{font-size:26px; font-weight:700; letter-spacing:-.04em;}
.app-adore .site-adult{color:#f5c6d8;}
.app-adore .site-doc-icon{border-radius:22px;}

/* Pile de cartes (accueil Adore + carte du hub) */
.adore-deck{position:relative; width:100%; max-width:330px; aspect-ratio:3/4; margin:0 auto;}
.adore-card{
	position:absolute; inset:0; border-radius:26px;
	box-shadow:0 34px 60px -22px rgba(0,0,0,.65), 0 0 0 1px rgba(255,255,255,.1) inset;
}
.adore-card-back{background-size:cover; background-position:center;}
.adore-b1{background-image:url(../img/adore/card-back-lui.webp); transform:rotate(-10deg) translate(-34px,10px);}
.adore-b2{background-image:url(../img/adore/card-back-elle.webp); transform:rotate(-4deg) translate(-12px,4px);}
.adore-front{
	display:flex; flex-direction:column; align-items:center; text-align:center;
	padding:30px 28px 26px; transform:rotate(3deg);
	background:#fbe9ee; color:#4a1030;
	box-shadow:0 34px 60px -22px rgba(0,0,0,.7), inset 0 0 0 9px #fbe9ee, inset 0 0 0 10.5px #c25a7c;
	transition:transform .5s cubic-bezier(.2,.7,.2,1);
}
.adore-deck:hover .adore-front{transform:rotate(1deg) translateY(-6px);}
.adore-level{
	display:inline-flex; align-items:center; gap:6px; padding:5px 12px; border-radius:999px;
	background:#f5d3de; color:#9a2a50; font-size:11.5px; font-weight:900; letter-spacing:.1em; text-transform:uppercase;
}
.adore-level i{font-size:10px;}
.adore-gage{
	flex:1; display:flex; align-items:center; margin:0 !important;
	font-family:'Lora',Georgia,serif; font-style:italic; font-weight:500; font-size:clamp(20px,2.1vw,24px); line-height:1.35;
	color:#4a1030 !important;
}
.adore-gage b{font-style:normal; font-weight:900; font-family:'Figtree',sans-serif;}
.adore-j1{color:#9a2a50;}
.adore-j2{color:#3a55b8;}
.adore-timer{
	display:inline-flex; align-items:center; gap:7px; margin-bottom:6px; padding:6px 14px; border-radius:999px;
	border:1.5px solid #c25a7c; color:#9a2a50; font-weight:900; font-size:15px; font-variant-numeric:tabular-nums;
}
.adore-timer svg{width:16px; height:16px;}
.adore-seal{
	position:absolute; right:-14px; bottom:-14px; display:grid; place-items:center; width:58px; height:58px; border-radius:50%;
	background:radial-gradient(circle at 35% 30%,#8a2f72,#5a1f52 70%); color:#f2707e; font-size:22px;
	box-shadow:0 10px 20px rgba(0,0,0,.4), inset 0 0 0 3px rgba(242,112,126,.35); transform:rotate(-12deg);
}
.adore-deck-sm{max-width:215px;}
.adore-deck-sm .adore-front{padding:20px 18px 18px; border-radius:20px;}
.adore-deck-sm .adore-card{border-radius:20px;}
.adore-deck-sm .adore-gage{font-size:16px;}
.adore-deck-sm .adore-level{font-size:9.5px; padding:4px 9px;}
.adore-deck-sm .adore-timer{font-size:12px; padding:4px 10px;}
.adore-deck-sm .adore-seal{width:42px; height:42px; font-size:16px; right:-10px; bottom:-10px;}
.adore-deck-sm .adore-b1{transform:rotate(-10deg) translate(-24px,8px);}
.adore-deck-sm .adore-b2{transform:rotate(-4deg) translate(-9px,3px);}

/* Carte Adore sur l'accueil 11 PLAY : pleine largeur sous les deux autres */
.hub-card-ad{
	grid-column:1/-1; grid-template-columns:minmax(220px,34%) 1fr; padding:36px 36px 36px 28px;
	background:radial-gradient(520px 380px at 16% 30%, rgba(242,112,126,.36), transparent 70%), linear-gradient(160deg,#4a2468,#321040);
	box-shadow:0 30px 60px -30px rgba(242,112,126,.5);
}
.hub-card-ad .hub-card-visual{padding:10px 0 10px 24px;}
.hub-card-ad h2{font-family:'Gloock',Georgia,serif; font-weight:400;}
.hub-card-ad .hub-card-tag{color:#f5c6d8; font-family:'Lora',Georgia,serif; font-style:italic; font-weight:500; font-size:22px; line-height:1.25;}
.hub-card-ad .hub-btn{background:linear-gradient(135deg,#f78f9a,#e2566a); color:#2b0a24 !important;}
.hub-card-ad .hub-card-text{max-width:560px;}
@media (max-width:820px){
	.adore-deck{max-width:270px;}
}
@media (max-width:560px){
	.hub-card-ad{padding:28px 22px; grid-template-columns:1fr;}
	.hub-card-ad .hub-card-visual{padding:0 0 18px 20px;}
	.adore-deck-sm{max-width:190px;}
}
@media (prefers-reduced-motion: reduce){
	.adore-front, .adore-deck:hover .adore-front{transition:none;}
}

/* Sélecteur d'apps à 3 jeux : sur mobile, seul le jeu courant garde son nom */
@media (max-width:560px){
	.site-switch a:not(.is-current) span{display:none;}
	.site-switch a:not(.is-current){padding-right:4px;}
}
