/* THE FRENCH STORE — visible Gold / Diamond premium themes v1.
   Brand identity stays cyan/blue. Rank colors decorate the experience without replacing the logo palette. */

.fs-rank-premium-ribbon{width:100%;border:0;border-bottom:1px solid rgba(255,255,255,.08);display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:10px;align-items:center;padding:9px 18px;background:rgba(4,15,25,.96);color:#eefbff;text-align:left;font:inherit;cursor:pointer;position:relative;overflow:hidden;z-index:18}.fs-rank-premium-ribbon:focus-visible{outline:2px solid #83e9ff;outline-offset:-3px}.fs-rank-premium-icon{width:34px;height:34px;border-radius:11px;display:grid;place-items:center;border:1px solid rgba(255,255,255,.1);background:rgba(255,255,255,.04)}.fs-rank-premium-copy{display:grid;gap:1px;min-width:0}.fs-rank-premium-copy b{font-family:Orbitron,sans-serif;font-size:.72rem;letter-spacing:.06em}.fs-rank-premium-copy small{color:#a8bdca;font-size:.72rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.fs-rank-premium-end{justify-self:end;font-size:.64rem;letter-spacing:.08em;text-transform:uppercase;padding:5px 8px;border-radius:999px;border:1px solid rgba(255,255,255,.1);color:#b9ced9}
.fs-rank-premium-ribbon[data-theme="gold"]{border-bottom-color:rgba(244,196,66,.35);background:linear-gradient(90deg,rgba(42,30,7,.98),rgba(5,18,28,.98) 48%,rgba(36,26,7,.97));box-shadow:0 8px 22px rgba(109,72,7,.08)}.fs-rank-premium-ribbon[data-theme="gold"] .fs-rank-premium-icon{border-color:rgba(247,201,79,.33);background:rgba(247,195,54,.11);box-shadow:0 0 18px rgba(214,151,24,.08)}.fs-rank-premium-ribbon[data-theme="gold"] .fs-rank-premium-copy b,.fs-rank-premium-ribbon[data-theme="gold"] .fs-rank-premium-end{color:#ffe293}.fs-rank-premium-ribbon[data-theme="gold"] .fs-rank-premium-end{border-color:rgba(244,196,66,.3);background:rgba(244,196,66,.06)}
.fs-rank-premium-ribbon[data-theme="diamond"]{border-bottom-color:rgba(80,224,255,.5);background:linear-gradient(90deg,rgba(4,43,61,.99),rgba(4,17,30,.98) 42%,rgba(5,49,69,.98));box-shadow:0 10px 30px rgba(29,172,225,.13)}.fs-rank-premium-ribbon[data-theme="diamond"]:after{content:"";position:absolute;top:0;bottom:0;left:-28%;width:22%;background:linear-gradient(105deg,transparent,rgba(205,252,255,.15),transparent);transform:skewX(-16deg);opacity:0;animation:none;pointer-events:none}.fs-rank-premium-ribbon[data-theme="diamond"] .fs-rank-premium-icon{border-color:rgba(132,241,255,.4);background:rgba(74,218,255,.13);box-shadow:0 0 22px rgba(67,217,255,.17)}.fs-rank-premium-ribbon[data-theme="diamond"] .fs-rank-premium-copy b,.fs-rank-premium-ribbon[data-theme="diamond"] .fs-rank-premium-end{color:#c9f8ff;text-shadow:0 0 10px rgba(91,230,255,.2)}.fs-rank-premium-ribbon[data-theme="diamond"] .fs-rank-premium-end{border-color:rgba(103,233,255,.36);background:rgba(73,219,255,.08)}

.fs-rank-profile-badge{margin-left:auto;display:flex;align-items:center;gap:8px;padding:7px 9px;border-radius:13px;border:1px solid rgba(255,255,255,.1);background:rgba(3,14,24,.56)}.fs-rank-profile-badge>span:first-child{font-size:1.05rem}.fs-rank-profile-badge>span:last-child{display:grid;gap:1px}.fs-rank-profile-badge b{font-family:Orbitron,sans-serif;font-size:.65rem;letter-spacing:.04em}.fs-rank-profile-badge small{font-size:.66rem;color:#91a8b8}.fs-rank-profile-badge[data-theme="gold"]{border-color:rgba(244,197,69,.34);background:linear-gradient(145deg,rgba(48,34,6,.68),rgba(7,19,29,.72))}.fs-rank-profile-badge[data-theme="gold"] b{color:#ffe298}.fs-rank-profile-badge[data-theme="diamond"]{border-color:rgba(90,230,255,.43);background:linear-gradient(145deg,rgba(5,47,64,.72),rgba(5,18,31,.76));box-shadow:0 0 20px rgba(47,200,247,.1)}.fs-rank-profile-badge[data-theme="diamond"] b{color:#d1faff}

/* Keep the FRENCH STORE brand cyan/blue even when a Rank Pass is active. */
html[data-fs-membership="gold"] .brand b,html[data-fs-membership="diamond"] .brand b{color:#dff8ff!important;text-shadow:0 0 12px rgba(77,218,255,.2)!important}html[data-fs-membership="gold"] .brand span,html[data-fs-membership="diamond"] .brand span{filter:drop-shadow(0 0 8px rgba(68,214,255,.42))!important}

/* GOLD — visible premium warmth across the store, still restrained. */
html[data-fs-membership="gold"] body{background-image:radial-gradient(circle at 12% 4%,rgba(212,151,25,.07),transparent 26%),radial-gradient(circle at 88% 32%,rgba(244,195,58,.035),transparent 24%)}
html[data-fs-membership="gold"] .hero{border-color:rgba(239,192,70,.28);box-shadow:0 18px 46px rgba(72,49,7,.12),inset 0 1px 0 rgba(255,232,162,.04);background-image:radial-gradient(circle at 92% 8%,rgba(244,190,43,.08),transparent 38%)}
html[data-fs-membership="gold"] .hero .eyebrow,html[data-fs-membership="gold"] #view-perfil>.panel>.eyebrow{color:#f5cf69}
html[data-fs-membership="gold"] .panel:not(.admin-panel){border-color:rgba(241,193,66,.17);box-shadow:inset 0 1px 0 rgba(255,229,147,.025)}
html[data-fs-membership="gold"] .category-card{border-color:rgba(239,192,70,.17);box-shadow:inset 0 1px 0 rgba(255,226,134,.025)}
html[data-fs-membership="gold"] .category-card:active{border-color:rgba(247,205,86,.38)}
html[data-fs-membership="gold"] .profile-panel{border-color:rgba(241,193,68,.29);box-shadow:0 0 0 1px rgba(238,187,51,.04),0 20px 50px rgba(73,48,6,.08)}
html[data-fs-membership="gold"] .profile-card{position:relative;overflow:hidden;border-color:rgba(244,197,70,.48)!important;background-image:linear-gradient(135deg,rgba(220,159,28,.075),transparent 48%);box-shadow:0 0 0 1px rgba(246,200,75,.06),0 0 24px rgba(156,105,13,.09)!important}
html[data-fs-membership="gold"] .profile-card:after{content:"GOLD";position:absolute;right:12px;bottom:7px;font-family:Orbitron,sans-serif;font-size:.55rem;letter-spacing:.18em;color:rgba(248,208,101,.16);pointer-events:none}
html[data-fs-membership="gold"] .fs-active-pass{border-color:rgba(246,201,78,.42);background:linear-gradient(145deg,rgba(49,35,7,.58),rgba(7,22,33,.86));box-shadow:0 12px 28px rgba(78,52,7,.08)}
html[data-fs-membership="gold"] .fs-active-pass b{color:#ffe5a0}
html[data-fs-membership="gold"] .fs-rank-intro{border-color:rgba(244,198,75,.28);background:linear-gradient(145deg,rgba(39,30,10,.67),rgba(6,17,29,.96))}
html[data-fs-membership="gold"] .fs-rank-intro-icon{border-color:rgba(243,196,72,.3);background:rgba(243,190,48,.08)}
html[data-fs-membership="gold"] .bottom-nav{border-top-color:rgba(238,189,55,.22);box-shadow:0 -8px 30px rgba(84,55,7,.07)}
html[data-fs-membership="gold"] .bottom-nav button.active{color:#ffd766!important;text-shadow:0 0 9px rgba(231,178,43,.15)}
html[data-fs-membership="gold"] .r6-game-card,html[data-fs-membership="gold"] .r6-feature-card,html[data-fs-membership="gold"] .game-card{border-color:rgba(236,189,61,.16)}

/* DIAMOND — deliberately stronger than Gold: crystal surfaces, glow and motion. */
html[data-fs-membership="diamond"] body{background-image:radial-gradient(circle at 10% 3%,rgba(50,202,246,.12),transparent 28%),radial-gradient(circle at 90% 28%,rgba(79,224,255,.07),transparent 25%),linear-gradient(180deg,rgba(3,22,36,.18),transparent 34%)}
html[data-fs-membership="diamond"] .hero{position:relative;overflow:hidden;border-color:rgba(97,232,255,.48);box-shadow:0 20px 54px rgba(28,167,219,.15),0 0 0 1px rgba(174,248,255,.04),inset 0 0 34px rgba(51,203,245,.04);background-image:radial-gradient(circle at 88% 12%,rgba(77,221,255,.14),transparent 38%),linear-gradient(145deg,rgba(6,38,54,.7),rgba(5,14,27,.94))}
html[data-fs-membership="diamond"] .hero:after{content:"";position:absolute;inset:-20% auto -20% -35%;width:28%;background:linear-gradient(108deg,transparent 32%,rgba(214,253,255,.17) 49%,rgba(90,232,255,.09) 53%,transparent 66%);transform:skewX(-12deg);opacity:0;animation:none;pointer-events:none}
html[data-fs-membership="diamond"] .hero .eyebrow,html[data-fs-membership="diamond"] #view-perfil>.panel>.eyebrow{color:#8cecff;text-shadow:0 0 10px rgba(83,226,255,.2)}
html[data-fs-membership="diamond"] .panel:not(.admin-panel){border-color:rgba(80,220,255,.23);box-shadow:0 0 0 1px rgba(82,220,255,.025),inset 0 1px 0 rgba(207,251,255,.03)}
html[data-fs-membership="diamond"] .category-card{border-color:rgba(82,220,255,.25);background-image:linear-gradient(145deg,rgba(48,200,239,.045),transparent 50%);box-shadow:0 8px 26px rgba(25,150,200,.055),inset 0 1px 0 rgba(206,250,255,.025)}
html[data-fs-membership="diamond"] .category-card:active{border-color:rgba(118,238,255,.56);box-shadow:0 0 20px rgba(59,210,250,.11)}
html[data-fs-membership="diamond"] .profile-panel{position:relative;overflow:hidden;border-color:rgba(82,222,255,.43)!important;box-shadow:0 0 0 1px rgba(143,241,255,.045),0 0 46px rgba(32,174,225,.12)!important;background-image:radial-gradient(circle at 90% 4%,rgba(79,223,255,.09),transparent 34%)}
html[data-fs-membership="diamond"] .profile-panel:before{content:"◆   ◇   ◆";position:absolute;right:18px;top:13px;color:rgba(130,239,255,.12);font-size:1rem;letter-spacing:.28em;pointer-events:none}
html[data-fs-membership="diamond"] .profile-card{position:relative;overflow:hidden;border-color:rgba(108,237,255,.68)!important;background-image:radial-gradient(circle at 88% 12%,rgba(88,228,255,.16),transparent 38%),linear-gradient(135deg,rgba(35,186,229,.09),rgba(4,19,31,.72))!important;box-shadow:0 0 0 1px rgba(211,253,255,.07),0 0 35px rgba(47,202,247,.19),inset 0 0 26px rgba(64,211,251,.05)!important}
html[data-fs-membership="diamond"] .profile-card:after{content:"DIAMOND";position:absolute;right:11px;bottom:7px;font-family:Orbitron,sans-serif;font-size:.56rem;letter-spacing:.2em;color:rgba(154,244,255,.24);text-shadow:0 0 10px rgba(75,222,255,.18);pointer-events:none}
html[data-fs-membership="diamond"] .profile-card .avatar{border-color:rgba(151,245,255,.78)!important;box-shadow:0 0 0 3px rgba(66,216,255,.09),0 0 25px rgba(69,219,255,.3)!important;background-image:linear-gradient(145deg,rgba(84,229,255,.2),rgba(39,113,207,.12))!important}
html[data-fs-membership="diamond"] .fs-active-pass{border-color:rgba(94,232,255,.62);background:radial-gradient(circle at 88% 5%,rgba(91,230,255,.13),transparent 42%),linear-gradient(145deg,rgba(5,48,67,.78),rgba(5,18,31,.94));box-shadow:0 0 30px rgba(42,191,238,.13),inset 0 1px 0 rgba(214,253,255,.055)}
html[data-fs-membership="diamond"] .fs-active-pass b{color:#d6fbff;text-shadow:0 0 12px rgba(85,228,255,.22)}
html[data-fs-membership="diamond"] .fs-rank-intro{border-color:rgba(87,225,255,.48);background:radial-gradient(circle at 92% 0,rgba(81,226,255,.12),transparent 38%),linear-gradient(145deg,rgba(5,44,62,.84),rgba(5,16,29,.97));box-shadow:0 18px 42px rgba(28,160,211,.1),inset 0 1px 0 rgba(207,251,255,.05)}
html[data-fs-membership="diamond"] .fs-rank-intro-icon{border-color:rgba(119,239,255,.48);background:rgba(74,218,255,.13);box-shadow:0 0 24px rgba(61,211,255,.16)}
html[data-fs-membership="diamond"] .fs-pass-diamond.active{border-color:rgba(121,240,255,.72)!important;box-shadow:0 0 0 1px rgba(213,253,255,.08),0 0 38px rgba(52,203,247,.2),0 16px 38px rgba(0,0,0,.25)!important}
html[data-fs-membership="diamond"] .r6-game-card,html[data-fs-membership="diamond"] .r6-feature-card,html[data-fs-membership="diamond"] .game-card{border-color:rgba(77,218,255,.24);box-shadow:0 10px 30px rgba(26,145,194,.055)}
html[data-fs-membership="diamond"] .bottom-nav{border-top-color:rgba(76,221,255,.38)!important;box-shadow:0 -9px 34px rgba(28,164,219,.12)!important;background-image:linear-gradient(180deg,rgba(5,35,49,.96),rgba(4,15,25,.99))}
html[data-fs-membership="diamond"] .bottom-nav button.active{color:#85ebff!important;text-shadow:0 0 12px rgba(79,224,255,.24);filter:drop-shadow(0 0 7px rgba(76,221,255,.22))}
html[data-fs-membership="diamond"] .primary-btn{box-shadow:0 0 0 1px rgba(139,240,255,.07),0 9px 26px rgba(43,184,234,.13)}

/* R150: translation is relative to the pseudo-element width, not the hero.
   Ribbon: (112 + 28) / 22 = 6.363636 widths; hero: (118 + 35) / 28 = 5.464286.
   Preserve clipping/skew, and let the browser release layers after a finite entry. */
html[data-r8-motion="full"] .fs-rank-premium-ribbon[data-theme="diamond"]:after{animation:fsRankRibbonGlint 1.6s ease-out 1}
html[data-r8-motion="full"][data-fs-membership="diamond"] .hero:after{animation:fsDiamondHeroSweep 1.8s ease-out 1}
@keyframes fsRankRibbonGlint{0%{transform:translateX(0) skewX(-16deg);opacity:0}15%{opacity:1}85%{opacity:.9}100%{transform:translateX(636.363636%) skewX(-16deg);opacity:0}}
@keyframes fsDiamondHeroSweep{0%{transform:translateX(0) skewX(-12deg);opacity:0}18%{opacity:1}85%{opacity:.9}100%{transform:translateX(546.428571%) skewX(-12deg);opacity:0}}
html:not([data-r8-motion="full"]) .fs-rank-premium-ribbon[data-theme="diamond"]:after,html:not([data-r8-motion="full"])[data-fs-membership="diamond"] .hero:after{animation:none;display:none}

@media(max-width:700px){.fs-rank-premium-ribbon{padding:8px 12px}.fs-rank-premium-end{display:none}.fs-rank-profile-badge{margin-left:0;margin-top:8px;width:100%}.profile-card{flex-wrap:wrap}}
@media(max-width:430px){.fs-rank-premium-copy small{font-size:.66rem}.fs-rank-premium-icon{width:31px;height:31px}.fs-rank-premium-ribbon{gap:8px}}
@media(prefers-reduced-motion:reduce){.fs-rank-premium-ribbon[data-theme="diamond"]:after,html[data-fs-membership="diamond"] .hero:after{animation:none!important;display:none}}
