:root{
  --bg:#08060d;--panel:#100b18;--panel2:#171022;--line:#2d1c40;--text:#f8f4ff;--muted:#b8adc8;
  --purple:#9b47ff;--purple2:#c784ff;--violet:#6d22d8;--success:#55ddb3;--danger:#ff708d;
  --shadow:0 24px 80px rgba(97,28,175,.22);--radius:24px
}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:radial-gradient(circle at 50% -10%,#241039 0,#0b0712 36%,#060509 72%);color:var(--text);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;min-height:100vh;line-height:1.6}
a{color:inherit;text-decoration:none}.stars{position:fixed;inset:0;pointer-events:none;opacity:.22;background-image:radial-gradient(circle,#fff 1px,transparent 1px),radial-gradient(circle,#a96cff 1px,transparent 1px);background-size:90px 90px,140px 140px;background-position:0 0,35px 55px;z-index:-2}.site-header{position:sticky;top:0;z-index:50;display:flex;align-items:center;justify-content:space-between;gap:24px;padding:13px clamp(18px,4vw,62px);border-bottom:1px solid rgba(183,121,255,.16);background:rgba(7,5,11,.82);backdrop-filter:blur(18px)}.brand{display:flex;align-items:center;gap:10px;font-weight:900;letter-spacing:.04em}.brand img{width:44px;height:44px;border-radius:50%;object-fit:cover;box-shadow:0 0 26px rgba(155,71,255,.35)}.brand span{font-size:1.05rem}.nav{display:flex;align-items:center;gap:10px;flex-wrap:wrap;justify-content:flex-end}.nav>a,.link-button{padding:9px 12px;border-radius:12px;color:#d9cee8;font:inherit;background:none;border:0;cursor:pointer}.nav>a:hover,.link-button:hover{background:#171020;color:#fff}.nav-cta{border:1px solid #7443ac;background:#271538!important}.nav-form{margin:0}.nav-badge,.grade-badge{font-size:.78rem;font-weight:800;padding:6px 10px;border-radius:999px;border:1px solid #4a365f;background:#17121e;color:#d8cde6}.nav-badge.premium,.grade-badge.premium{border-color:#9d58ed;background:linear-gradient(135deg,#321552,#6c269e);color:#fff;box-shadow:0 0 22px rgba(155,71,255,.2)}.container{width:min(1180px,calc(100% - 34px));margin:0 auto;padding:60px 0 80px}.hero{display:grid;grid-template-columns:1.08fr .92fr;align-items:center;min-height:620px;gap:46px}.hero-copy h1,.premium-hero h1{font-family:Georgia,"Times New Roman",serif;font-weight:600;line-height:1.03;letter-spacing:-.035em;margin:.2em 0;font-size:clamp(3rem,6.2vw,6rem);background:linear-gradient(180deg,#fff,#ded2ef 78%);-webkit-background-clip:text;background-clip:text;color:transparent}.hero-copy p{font-size:1.1rem;color:var(--muted);max-width:700px}.eyebrow{font-size:.78rem;letter-spacing:.18em;font-weight:900;color:#c493ff}.hero-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:28px}.btn{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:12px 19px;border-radius:14px;font-weight:800;border:1px solid transparent;cursor:pointer;font:inherit}.btn.primary{background:linear-gradient(135deg,#8033e8,#b95dff);color:#fff;box-shadow:0 14px 34px rgba(133,50,221,.28)}.btn.primary:hover{filter:brightness(1.08);transform:translateY(-1px)}.btn.secondary{border-color:#4d3467;background:#15101d;color:#f0e7fa}.btn.full{width:100%}.micro-copy{margin-top:24px;color:#887b98;font-size:.88rem}.hero-logo-wrap{position:relative;display:grid;place-items:center}.halo{position:absolute;width:76%;aspect-ratio:1;border-radius:50%;background:#7c29db;filter:blur(70px);opacity:.2;animation:pulse 4s ease-in-out infinite}.hero-logo{position:relative;width:min(100%,530px);border-radius:50%;filter:drop-shadow(0 28px 70px rgba(79,13,151,.48));animation:float 6s ease-in-out infinite}.cards{display:grid;gap:18px;margin:34px 0}.cards.three{grid-template-columns:repeat(3,1fr)}.card{position:relative;overflow:hidden;padding:28px;border:1px solid var(--line);border-radius:var(--radius);background:linear-gradient(180deg,rgba(25,17,37,.96),rgba(11,8,16,.94));box-shadow:var(--shadow)}.card:before{content:"";position:absolute;inset:0 auto auto 0;width:100%;height:1px;background:linear-gradient(90deg,transparent,#a95dff,transparent);opacity:.45}.card .icon{font-size:1.65rem}.card h2{margin:.4rem 0 .25rem;font-size:1.4rem}.card p{color:var(--muted);margin:.3rem 0}.premium-card{border-color:#5e318a;background:radial-gradient(circle at 100% 0,rgba(133,43,220,.22),transparent 42%),linear-gradient(180deg,#1c102a,#0d0912)}.text-link{display:inline-block;margin-top:18px;color:#d9a8ff;font-weight:800}.section-banner{margin-top:64px;padding:34px;border:1px solid #3b2850;border-radius:var(--radius);background:linear-gradient(110deg,rgba(78,24,126,.3),rgba(19,12,28,.9));display:flex;justify-content:space-between;align-items:center;gap:26px}.section-banner h2{margin:.25rem 0}.section-banner p{margin:0;color:var(--muted)}.footer{display:flex;justify-content:space-between;align-items:center;gap:20px;padding:28px clamp(18px,4vw,62px);border-top:1px solid #20152c;background:#07050a;color:#80768b}.footer>div{display:flex;gap:12px;align-items:baseline}.footer strong{color:#ddd1e8}.auth-shell{min-height:670px;display:grid;grid-template-columns:.9fr 1.1fr;border:1px solid #2d1e3d;border-radius:30px;overflow:hidden;background:#0c0811;box-shadow:var(--shadow)}.auth-aside{padding:48px;display:flex;flex-direction:column;justify-content:center;background:radial-gradient(circle at 50% 25%,rgba(137,48,217,.3),transparent 45%),#0a0710}.auth-aside img{width:210px;max-width:70%;border-radius:50%;margin-bottom:26px;box-shadow:0 0 60px rgba(146,50,230,.25)}.auth-aside h1{font-size:clamp(2rem,4vw,3.7rem);line-height:1.05;margin:.25em 0;font-family:Georgia,serif}.auth-aside p{color:var(--muted)}.form-card{padding:48px;display:flex;flex-direction:column;justify-content:center;background:linear-gradient(180deg,#15101d,#0f0b15)}.form-card h2{font-size:2rem;margin-top:0}.form-card form{display:grid;gap:17px}.form-card label,.edit-profile label{display:grid;gap:7px;font-weight:700;color:#d9d0e4}.form-card input,.edit-profile textarea{width:100%;border:1px solid #3b2a4c;background:#09070d;color:#fff;border-radius:13px;padding:13px 14px;font:inherit;outline:none}.form-card input:focus,.edit-profile textarea:focus{border-color:#a15aff;box-shadow:0 0 0 4px rgba(151,75,244,.1)}.form-foot{text-align:center;color:#8d8298}.form-foot a{color:#ce9aff;font-weight:800}.error-list{border:1px solid rgba(255,112,141,.45);background:rgba(142,29,54,.15);color:#ffd2dc;border-radius:14px;padding:12px 14px;margin-bottom:18px}.error-list ul{margin:.4rem 0 0;padding-left:20px}.flash{padding:14px 17px;border-radius:14px;margin:-30px 0 30px;border:1px solid}.flash.success{background:rgba(49,156,124,.12);border-color:rgba(85,221,179,.45);color:#baf5e3}.flash.error{background:rgba(180,50,77,.13);border-color:rgba(255,112,141,.45);color:#ffd5de}.profile-head{position:relative;display:flex;align-items:center;gap:24px;padding:34px;border:1px solid #30213f;border-radius:28px;background:linear-gradient(120deg,#15101d,#0d0912);overflow:hidden}.profile-head.is-premium{border-color:#7c41b8;background:radial-gradient(circle at 0 0,rgba(145,54,225,.25),transparent 34%),linear-gradient(120deg,#1a0c26,#0c0811)}.avatar-ring{width:112px;height:112px;border-radius:50%;padding:4px;background:linear-gradient(135deg,#8740e6,#e3bdff,#5b1cb7);box-shadow:0 0 42px rgba(139,61,220,.24)}.avatar{width:100%;height:100%;display:grid;place-items:center;border-radius:50%;background:#110a19;font-family:Georgia,serif;font-size:3rem}.profile-title h1{margin:0;font-family:Georgia,serif;font-size:2.5rem}.profile-title p{margin:.2rem 0;color:var(--muted)}.profile-name-row{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.profile-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-top:18px}.profile-card{box-shadow:none}.info-row{display:flex;justify-content:space-between;gap:20px;padding:12px 0;border-bottom:1px solid #281b35}.info-row:last-child{border-bottom:0}.info-row span{color:#998da7}.premium-seal,.premium-orb{display:grid;place-items:center;border-radius:50%;font-family:Georgia,serif;background:radial-gradient(circle,#27113d,#0e0718);border:1px solid #9d5ce0;color:#fff;box-shadow:inset 0 0 28px rgba(191,108,255,.18),0 0 40px rgba(119,44,202,.28)}.premium-seal{width:70px;height:70px;margin-top:20px;font-size:2rem}.edit-profile{margin-top:18px}.edit-profile textarea{resize:vertical;min-height:135px}.form-actions{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-top:14px;color:#8d8298;font-size:.85rem}.premium-hero{text-align:center;max-width:930px;margin:0 auto}.premium-orb{width:120px;height:120px;margin:0 auto 20px;font-size:3.5rem;border-width:2px;position:relative}.premium-orb:after{content:"";position:absolute;inset:-13px;border:1px solid rgba(189,111,255,.3);border-radius:50%}.premium-hero h1{font-size:clamp(3.8rem,8vw,7.5rem);margin:.04em 0}.premium-price{display:flex;flex-direction:column;line-height:1.25;margin:16px 0}.premium-price strong{font-size:2.4rem}.premium-price span{color:#9d92a9}.premium-lead{color:var(--muted);font-size:1.1rem;max-width:700px;margin:0 auto}.premium-benefits{display:grid;grid-template-columns:repeat(2,1fr);gap:12px;margin:36px 0}.premium-benefits div{display:flex;align-items:center;gap:9px;text-align:left;padding:18px;border:1px solid #3f2755;border-radius:16px;background:#110b18}.premium-benefits strong{font-size:.98rem}.premium-benefits span{margin-left:auto;color:#897d95;font-size:.86rem}.payment-box{margin:34px auto 0;max-width:680px;padding:28px;border:1px solid #50316a;border-radius:20px;background:linear-gradient(180deg,#181021,#0c0911)}.payment-box h2{margin-top:0}.payment-box p,.payment-box small{color:var(--muted)}.paypal-button{width:100%;border:0;border-radius:14px;padding:15px 18px;margin:10px 0 12px;background:#ffc439;color:#102e5d;font-weight:900;font-size:1rem;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:12px}.paypal-button:hover{filter:brightness(1.03)}.paypal-word{font-size:1.25rem;font-style:italic}.success-box{border-color:#5a4591}.status-page{text-align:center;max-width:700px;margin:80px auto}.status-icon{width:92px;height:92px;border-radius:50%;margin:0 auto 24px;display:grid;place-items:center;font-size:2.8rem;border:1px solid #4fbf9b;color:#a8f5dc;background:rgba(53,170,134,.1)}.status-icon.cancel{border-color:#9a5264;color:#ffc3d0;background:rgba(141,44,65,.1)}.status-page h1{font-size:3.3rem;margin:.2em 0;font-family:Georgia,serif}.status-page p{color:var(--muted);font-size:1.05rem}.redirect-page{display:grid;place-items:center;padding:22px}.redirect-card{width:min(520px,100%);padding:36px;text-align:center;border:1px solid #3e2854;border-radius:24px;background:#110c18;box-shadow:var(--shadow)}.redirect-card img{width:130px;border-radius:50%}.redirect-card p{color:var(--muted)}@keyframes float{50%{transform:translateY(-12px)}}@keyframes pulse{50%{opacity:.34;transform:scale(1.08)}}
@media(max-width:900px){.site-header{position:relative;align-items:flex-start}.nav{gap:4px}.hero{grid-template-columns:1fr;min-height:auto;padding-top:30px}.hero-copy{text-align:center}.hero-copy p{margin-left:auto;margin-right:auto}.hero-actions{justify-content:center}.hero-logo-wrap{order:-1}.hero-logo{width:min(72vw,380px)}.cards.three{grid-template-columns:1fr}.auth-shell{grid-template-columns:1fr}.auth-aside{text-align:center;align-items:center;padding:34px}.form-card{padding:34px}.profile-grid{grid-template-columns:1fr}.premium-benefits{grid-template-columns:1fr}.section-banner{flex-direction:column;align-items:flex-start}.footer{flex-direction:column;text-align:center}.footer>div{flex-direction:column;align-items:center;gap:2px}}
@media(max-width:620px){.container{width:min(100% - 22px,1180px);padding-top:30px}.site-header{padding:10px 12px;flex-direction:column;align-items:stretch}.brand{justify-content:center}.nav{justify-content:center}.nav>a,.link-button{font-size:.87rem;padding:8px}.nav-badge{display:none}.hero-copy h1{font-size:2.8rem}.auth-aside img{width:155px}.auth-aside,.form-card{padding:25px 20px}.profile-head{align-items:flex-start;padding:24px;flex-direction:column}.profile-title h1{font-size:2rem}.avatar-ring{width:90px;height:90px}.premium-benefits div{align-items:flex-start;flex-wrap:wrap}.premium-benefits span{width:100%;margin:0 0 0 28px}.form-actions{align-items:flex-start;flex-direction:column}.section-banner{padding:25px}.footer{padding:24px 14px}.premium-hero h1{font-size:4rem}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;animation:none!important;transition:none!important}}

/* Hypnomium - offres et paiements */
.plan-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px;margin:36px 0 12px}.plan-card{position:relative;display:flex;min-height:170px;flex-direction:column;align-items:center;justify-content:center;gap:6px;padding:20px 12px;border:1px solid #432b59;border-radius:18px;background:linear-gradient(180deg,#171020,#0d0912);cursor:pointer;transition:.18s ease;overflow:hidden}.plan-card:hover,.plan-card.selected{border-color:#a562f0;transform:translateY(-2px);box-shadow:0 14px 40px rgba(127,43,210,.18)}.plan-card input{position:absolute;opacity:0;pointer-events:none}.plan-card.featured{border-color:#7746ad;background:radial-gradient(circle at 50% 0,rgba(164,82,244,.2),transparent 58%),linear-gradient(180deg,#1d102b,#0c0811)}.plan-tag{position:absolute;top:10px;right:10px;padding:4px 7px;border-radius:999px;background:#6f2cb0;color:#fff;font-size:.65rem;font-weight:900;letter-spacing:.08em}.plan-duration{color:#cfc1dc;font-weight:800}.plan-price{font-size:1.75rem;color:#fff;line-height:1.1}.plan-once{font-size:.78rem;color:#877a94}.current-membership{display:flex;flex-direction:column;gap:5px;margin:28px auto 0;max-width:720px;padding:16px 18px;border:1px solid #604086;border-radius:16px;background:rgba(94,43,139,.13)}.current-membership strong{color:#e7c9ff}.current-membership span{font-size:1.05rem;font-weight:800}.current-membership small{color:#9789a5}.payment-methods{display:grid;gap:12px;margin:16px 0}.card-paypal-button{width:100%;border:1px solid #566070;border-radius:14px;padding:14px 18px;background:linear-gradient(180deg,#f8fbff,#e7edf5);color:#17202a;font:inherit;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:12px}.card-paypal-button:hover{filter:brightness(1.03);transform:translateY(-1px)}.card-paypal-button span:last-child{display:flex;flex-direction:column;align-items:flex-start;line-height:1.25}.card-paypal-button small{color:#59636d}.card-icon{font-size:1.45rem}.error-payment{border-color:#8a3b55}.admin-heading{display:flex;justify-content:space-between;gap:20px;align-items:center;margin-bottom:20px}.owner-chip{padding:10px 14px;border:1px solid #694397;border-radius:999px;background:#1a1026}.admin-table-wrap{overflow:auto}.admin-table{width:100%;border-collapse:collapse;min-width:1050px}.admin-table th,.admin-table td{padding:12px 10px;text-align:left;border-bottom:1px solid #2a1d36;vertical-align:top}.admin-table th{font-size:.75rem;color:#a799b7;text-transform:uppercase;letter-spacing:.06em}.admin-actions{display:flex;gap:6px;flex-wrap:wrap}.admin-actions form{margin:0}.tiny-btn{border:1px solid #4a365f;border-radius:9px;background:#17121e;color:#eee;padding:7px 9px;font:inherit;font-size:.78rem;cursor:pointer}.tiny-btn.premium{border-color:#844bbb}.tiny-btn.warn{border-color:#8c6739}.tiny-btn.danger{border-color:#8b3f53}.tiny-btn.admin{border-color:#3b658c}.mini-badge{display:inline-block;padding:4px 7px;border:1px solid #453651;border-radius:999px;font-size:.72rem;white-space:nowrap}.mini-badge.premium{border-color:#8e4dca;color:#e3c0ff}.mini-badge.admin{border-color:#3b658c;color:#b8ddff}.mini-badge.banned{border-color:#8b3f53;color:#ffb2c4}.mini-badge.active{border-color:#3e765f;color:#b7f2d8}.mini-badge.owner{border-color:#a77b34;color:#ffe0a0}
@media(max-width:900px){.plan-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.plan-card.featured{grid-column:1/-1}.admin-heading{align-items:flex-start;flex-direction:column}}
@media(max-width:520px){.plan-grid{grid-template-columns:1fr}.plan-card.featured{grid-column:auto}.plan-card{min-height:125px}.payment-box{padding:20px}.paypal-button,.card-paypal-button{font-size:.9rem}}

/* Hypnomium - avantages visuels premium */
.premium-username{font-weight:900!important;color:#ffb13b;background:linear-gradient(90deg,#ff8a1f,#ffc857,#ffe39a,#f6a324);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;text-shadow:0 0 22px rgba(255,166,48,.16)}
.premium-frame{position:relative;isolation:isolate;background:#5c249a;box-shadow:0 0 26px rgba(135,63,210,.32)}
.premium-frame:before,.premium-frame:after{content:"";position:absolute;pointer-events:none;border-radius:50%}
.premium-frame:before{inset:-5px;z-index:-2}
.premium-frame:after{inset:3px;z-index:-1;border:1px solid rgba(255,255,255,.25)}
.frame-arcane:before{background:conic-gradient(from 15deg,#c88cff,#5a19aa,#f2d6ff,#7d35da,#c88cff);box-shadow:0 0 22px rgba(189,101,255,.55)}
.frame-lunar:before{background:conic-gradient(from 210deg,#4c1a82,#f2c968,#fff0af,#8c4ac5,#f2c968,#4c1a82);box-shadow:0 0 24px rgba(242,201,104,.42)}
.frame-spiral:before{background:conic-gradient(from 0deg,#8d43ff,#5c31d6,#2f9ed2,#e9c6ff,#8d43ff);animation:premiumFrameSpin 8s linear infinite;box-shadow:0 0 25px rgba(98,103,235,.5)}
.frame-eclipse:before{background:conic-gradient(from 110deg,#190926 0 18%,#b52be1 25%,#ef5fa6 46%,#2a0b3a 58% 73%,#9434df 83%,#190926);box-shadow:0 0 26px rgba(206,54,210,.45)}
.frame-nexus:before{background:conic-gradient(from 45deg,#e6d1ff,#7a2bca,#35c7d7,#6f2ac3,#f1d8ff,#35c7d7,#7a2bca);animation:premiumFrameSpin 11s linear infinite reverse;box-shadow:0 0 28px rgba(65,195,212,.38)}
@keyframes premiumFrameSpin{to{transform:rotate(360deg)}}
.premium-perks-inline{display:flex;gap:8px;flex-wrap:wrap;margin-top:18px}.premium-perks-inline span{padding:7px 10px;border:1px solid #69468a;border-radius:999px;background:rgba(105,55,145,.12);color:#dcbcf5;font-size:.78rem;font-weight:800}
.frame-picker-card{margin-top:18px;overflow:hidden}.muted-copy{color:var(--muted)}.premium-frame-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px;margin-top:22px}.frame-choice{position:relative;display:flex;flex-direction:column;align-items:center;gap:8px;padding:18px 10px;border:1px solid #3d2a50;border-radius:18px;background:#100a16;cursor:pointer;text-align:center;transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease}.frame-choice:hover,.frame-choice.selected{transform:translateY(-3px);border-color:#a760e6;box-shadow:0 16px 35px rgba(113,42,172,.18)}.frame-choice input{position:absolute;opacity:0;pointer-events:none}.frame-choice .preview{width:74px;height:74px;padding:4px}.frame-choice .preview .avatar{font-size:1.8rem}.frame-choice strong{font-size:.86rem}.frame-choice small{color:#9988a8}.frame-choice.selected small{color:#dbaeff;font-weight:800}.frame-save{display:flex;justify-content:center;margin-top:20px}.profile-error{margin-top:18px}

/* Liste des membres */
.members-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:18px;margin-bottom:26px}.members-heading h1{font-family:Georgia,serif;font-size:clamp(2.4rem,5vw,4rem);margin:.08em 0}.members-heading p{max-width:700px;color:var(--muted);margin:0}.members-count{padding:10px 14px;border:1px solid #4b3560;border-radius:999px;color:#c9b5dc;white-space:nowrap}.members-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.member-card{position:relative;isolation:isolate;overflow:hidden;padding:24px;border:1px solid #30213e;border-radius:22px;background:linear-gradient(145deg,#15101c,#0d0912);box-shadow:0 16px 40px rgba(0,0,0,.16)}.member-card-top{display:flex;align-items:center;gap:16px}.member-avatar{width:76px;height:76px;padding:4px;flex:0 0 auto}.member-avatar .avatar{font-size:1.9rem}.member-card h2{margin:0 0 6px;font-size:1.2rem}.member-bio{min-height:52px;margin:20px 0;color:#9f94aa;line-height:1.55}.member-card-footer,.hypnomium-card-footer{display:flex;align-items:center;justify-content:space-between;gap:10px;padding-top:14px;border-top:1px solid rgba(255,255,255,.07);font-size:.75rem;color:#887c94}.hypnomium-member-card{border-color:#7445a2;background:radial-gradient(circle at 15% 0,rgba(155,68,228,.28),transparent 38%),linear-gradient(135deg,#241031,#120817 55%,#1b0a29);box-shadow:0 18px 50px rgba(83,24,125,.24);animation:hypnomiumCardFloat 5s ease-in-out infinite}.hypnomium-member-card:before{content:"";position:absolute;inset:-45%;z-index:-2;background:conic-gradient(from 0deg,transparent 0 30%,rgba(181,100,255,.20) 38%,transparent 46% 74%,rgba(89,46,170,.18) 80%,transparent 88%);animation:hypnomiumAuraSpin 12s linear infinite}.hypnomium-member-card:after{content:"";position:absolute;inset:1px;z-index:-1;border-radius:21px;background:linear-gradient(145deg,rgba(39,15,54,.94),rgba(14,8,20,.97));pointer-events:none}.premium-card-glow{position:absolute;width:180px;height:180px;right:-80px;top:-90px;border-radius:50%;background:rgba(143,62,220,.22);filter:blur(28px);animation:hypnomiumGlow 3.6s ease-in-out infinite}.hypnomium-card-footer{position:relative;color:#d9b6f5;border-top-color:rgba(189,118,240,.18)}.hypnomium-card-footer span{font-weight:900;letter-spacing:.08em}.hypnomium-card-footer strong{color:#f2dcff}
@keyframes hypnomiumCardFloat{0%,100%{transform:translateY(0)}50%{transform:translateY(-5px)}}@keyframes hypnomiumAuraSpin{to{transform:rotate(360deg)}}@keyframes hypnomiumGlow{0%,100%{opacity:.55;transform:scale(.92)}50%{opacity:1;transform:scale(1.08)}}

/* Avantage -20 % séances d'hypnose : affichage ; le calcul serveur est dans functions.php */
.hypnomium-discount{display:inline-flex;align-items:center;gap:7px;padding:8px 11px;border:1px solid rgba(245,171,70,.4);border-radius:999px;background:rgba(126,67,13,.12);color:#ffd391;font-weight:900}

@media(max-width:980px){.premium-frame-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.members-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:620px){.premium-frame-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.frame-choice:last-child{grid-column:1/-1}.members-heading{align-items:flex-start;flex-direction:column}.members-grid{grid-template-columns:1fr}.hypnomium-member-card{animation:hypnomiumGlowBorder 4s ease-in-out infinite}.member-card{padding:20px}@keyframes hypnomiumGlowBorder{0%,100%{box-shadow:0 14px 35px rgba(83,24,125,.18)}50%{box-shadow:0 17px 48px rgba(125,46,188,.36)}}}
@media(prefers-reduced-motion:reduce){.frame-spiral:before,.frame-nexus:before,.hypnomium-member-card,.hypnomium-member-card:before,.premium-card-glow{animation:none!important}}


/* Page de réservation / paiement des séances d’hypnose */
.session-page{max-width:1040px;margin:0 auto}.session-hero{text-align:center;margin-bottom:30px}.session-hero h1{font-family:Georgia,"Times New Roman",serif;font-size:clamp(2.7rem,6vw,5.2rem);line-height:1.02;margin:.12em 0 .2em;background:linear-gradient(180deg,#fff,#dfd0ef 78%);-webkit-background-clip:text;background-clip:text;color:transparent}.session-hero p{max-width:760px;margin:0 auto;color:var(--muted);font-size:1.05rem}.session-offer{padding:34px}.session-offer-head{display:flex;align-items:flex-start;justify-content:space-between;gap:22px;margin-bottom:26px}.session-offer-head h2{font-size:1.8rem;margin:.15rem 0}.session-offer-head p{max-width:650px;color:var(--muted);margin:.25rem 0}.session-premium-chip{flex:0 0 auto;padding:10px 13px;border:1px solid rgba(245,171,70,.4);border-radius:999px;background:rgba(126,67,13,.12);color:#ffd391;font-weight:900;font-size:.82rem}.session-plan-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.session-plan{position:relative;display:flex;min-height:154px;flex-direction:column;align-items:center;justify-content:center;gap:7px;padding:18px 12px;border:1px solid #432b59;border-radius:19px;background:linear-gradient(180deg,#171020,#0d0912);cursor:pointer;text-align:center;transition:.18s ease;overflow:hidden}.session-plan:hover,.session-plan.selected{border-color:#b06af0;transform:translateY(-3px);box-shadow:0 18px 45px rgba(127,43,210,.2)}.session-plan input{position:absolute;opacity:0;pointer-events:none}.session-plan.selected:before{content:"SÉLECTIONNÉ";position:absolute;top:9px;right:9px;padding:4px 7px;border-radius:999px;background:#7933bc;color:#fff;font-size:.58rem;font-weight:900;letter-spacing:.08em}.session-duration{font-weight:900;color:#e7d9f3}.session-price{font-size:1.72rem;font-weight:950;line-height:1.08}.session-price-old{font-size:.78rem;color:#8f8299;text-decoration:line-through}.session-saving{font-size:.72rem;color:#ffd08c;font-weight:850}.session-summary{display:grid;grid-template-columns:1fr auto;gap:18px;align-items:center;margin-top:22px;padding:20px;border:1px solid #5f3b7e;border-radius:18px;background:radial-gradient(circle at 100% 0,rgba(150,68,224,.16),transparent 45%),#100a16}.session-summary-main{display:flex;flex-direction:column;gap:3px}.session-summary-main small{color:#9587a3}.session-summary-main strong{font-size:1.2rem}.session-summary-price{text-align:right}.session-summary-price strong{display:block;font-size:1.8rem}.session-summary-price small{color:#a998b8}.session-payment-box{margin-top:22px;padding:24px;border:1px solid #3f2a52;border-radius:20px;background:#0e0914}.session-payment-box h3{margin:0 0 5px;font-size:1.25rem}.session-payment-box>p{margin:0 0 18px;color:var(--muted)}.session-payment-methods{display:grid;grid-template-columns:1fr 1fr;gap:12px}.session-paypal-button,.session-card-button{width:100%;min-height:58px;border-radius:15px;padding:12px 16px;font:inherit;font-weight:900;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:10px}.session-paypal-button{border:1px solid #ffcc4b;background:linear-gradient(180deg,#ffd65a,#ffbd2f);color:#17345c}.session-card-button{border:1px solid #5f6875;background:linear-gradient(180deg,#f8fbff,#e7edf5);color:#17202a}.session-paypal-button:hover,.session-card-button:hover{filter:brightness(1.04);transform:translateY(-1px)}.session-notice{margin-top:18px;padding:14px 16px;border:1px solid #342541;border-radius:14px;background:rgba(17,11,24,.74);color:#968aa1;font-size:.84rem}.session-discount-banner{margin:0 0 20px;padding:16px 18px;border:1px solid rgba(236,168,67,.34);border-radius:16px;background:linear-gradient(100deg,rgba(118,57,6,.14),rgba(70,31,94,.17));display:flex;align-items:center;justify-content:space-between;gap:14px}.session-discount-banner strong{color:#ffd38d}.session-discount-banner a{color:#d8adff;font-weight:900}.session-status-card{max-width:760px;margin:40px auto;text-align:center}.session-status-card .status-icon{margin:0 auto 16px}.order-recap{margin:24px auto;max-width:520px;text-align:left;border:1px solid #3e2a4e;border-radius:16px;overflow:hidden}.order-recap .info-row{padding:11px 14px}.order-recap .info-row+ .info-row{border-top:1px solid #2a1d35}
@media(max-width:850px){.session-plan-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.session-offer-head{flex-direction:column}.session-payment-methods{grid-template-columns:1fr}.session-summary{grid-template-columns:1fr}.session-summary-price{text-align:left}.session-premium-chip{align-self:flex-start}}
@media(max-width:520px){.session-plan-grid{grid-template-columns:1fr}.session-plan{min-height:125px}.session-offer{padding:21px}.session-payment-box{padding:18px}.session-discount-banner{align-items:flex-start;flex-direction:column}}

/* ---- Patch Hypnomium cadres animés + photo de profil ---- */
.avatar{overflow:hidden}.avatar.has-image{font-size:0}.avatar.has-image img{width:100%;height:100%;display:block;object-fit:cover}.profile-head .avatar.has-image img,.member-avatar .avatar.has-image img,.preview-large .avatar.has-image img,.frame-choice .avatar.has-image img{border-radius:50%}
.avatar-upload-card{margin-top:18px;overflow:hidden}.avatar-upload-layout{display:grid;grid-template-columns:.72fr 1.28fr;gap:22px;align-items:center}.avatar-preview-panel{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;text-align:center;padding:18px;border:1px solid rgba(171,106,255,.18);border-radius:22px;background:linear-gradient(180deg,rgba(26,16,37,.9),rgba(13,8,19,.92))}.preview-large{width:136px;height:136px;padding:5px}.preview-large .avatar{font-size:3rem}.avatar-upload-form{display:grid;gap:12px}.avatar-upload-form input[type=file]{width:100%;border:1px dashed #5d3a7c;background:#0f0a15;color:#fff;border-radius:16px;padding:14px;font:inherit}.avatar-upload-form input[type=file]::file-selector-button{margin-right:12px;border:0;border-radius:10px;padding:10px 14px;background:linear-gradient(135deg,#7f39df,#c279ff);color:#fff;font-weight:800;cursor:pointer}.avatar-actions{margin-top:6px}.limit-note{padding:13px 14px;border-radius:14px;border:1px solid rgba(201,148,75,.32);background:rgba(112,70,16,.13);color:#ffdba8}.premium-perks-inline{display:flex;flex-wrap:wrap;gap:9px;margin-top:16px}.premium-perks-inline span{padding:8px 11px;border-radius:999px;background:rgba(131,54,212,.16);border:1px solid rgba(178,108,255,.18);font-size:.83rem;color:#e9d5ff}.frame-grid-extended{grid-template-columns:repeat(4,minmax(0,1fr))!important}.frame-grid-extended .frame-choice:last-child{grid-column:auto}

.avatar-ring.premium-frame{position:relative;overflow:visible;isolation:isolate;padding:5px;animation:premiumAvatarFloat 5.6s ease-in-out infinite}.avatar-ring.premium-frame::before,.avatar-ring.premium-frame::after{content:"";position:absolute;border-radius:50%;pointer-events:none}.avatar-ring.premium-frame::before{inset:-5px;z-index:-2;filter:blur(9px);opacity:.92;animation:premiumFrameSpin 10s linear infinite}.avatar-ring.premium-frame::after{inset:-2px;z-index:-1;border:1px solid rgba(255,255,255,.24);box-shadow:inset 0 0 0 1px rgba(255,255,255,.06),0 0 24px rgba(188,111,255,.18);animation:premiumFramePulse 2.9s ease-in-out infinite}.avatar-ring.premium-frame .avatar{background:radial-gradient(circle at 32% 28%,rgba(255,255,255,.1),transparent 36%),linear-gradient(180deg,#140c1d,#0c0713)}
.avatar-ring.premium-frame.frame-arcane::before{background:conic-gradient(from 0deg,#f0d9ff,#a44eff,#5f1dac,#db8dff,#7f42e4,#f0d9ff)}
.avatar-ring.premium-frame.frame-lunar::before{background:conic-gradient(from 180deg,#2b1047,#f4c867,#fff0b7,#8c52d8,#f4c867,#2b1047);animation-duration:8.5s}
.avatar-ring.premium-frame.frame-spiral::before{background:conic-gradient(from 60deg,#7f45ff,#36c0d8,#ecbeff,#7f45ff,#2d0f53,#7f45ff);animation-duration:6.7s}
.avatar-ring.premium-frame.frame-eclipse::before{background:conic-gradient(from 140deg,#1d0828 0 18%,#b341ff 26%,#fe7cc7 41%,#2f0c42 57% 74%,#8c38ff 84%,#1d0828)}
.avatar-ring.premium-frame.frame-nexus::before{background:conic-gradient(from 40deg,#daf6ff,#7d33ea,#30bfd5,#ffdafb,#6a28d4,#30bfd5,#daf6ff);animation-duration:11s;animation-direction:reverse}
.avatar-ring.premium-frame.frame-celestial::before{background:conic-gradient(from 10deg,#d3cbff,#78ecff,#fff0ff,#8573ff,#d6baff,#78ecff,#d3cbff);animation-duration:7.2s}
.avatar-ring.premium-frame.frame-aurora::before{background:conic-gradient(from 95deg,#ffefb3,#f7a84f,#ffe17e,#f9f2ca,#b56dff,#ffefb3);animation-duration:9.2s}
.avatar-ring.premium-frame.frame-royal::before{background:conic-gradient(from 5deg,#fff2b0,#ffbf38,#7b39e7,#fff0c5,#ffcb61,#7b39e7,#fff2b0);animation-duration:8s}

.frame-choice{overflow:hidden}.frame-choice::after{content:"";position:absolute;inset:0;border-radius:inherit;background:linear-gradient(135deg,rgba(255,255,255,.06),transparent 40%,rgba(187,117,255,.06));opacity:0;transition:opacity .2s ease}.frame-choice:hover::after,.frame-choice.selected::after{opacity:1}.frame-choice .preview{width:80px;height:80px;padding:5px}
.hypnomium-member-card{border-color:#8a57c0;background:radial-gradient(circle at 14% -6%,rgba(168,84,255,.25),transparent 35%),radial-gradient(circle at 100% 0,rgba(93,207,255,.14),transparent 26%),linear-gradient(140deg,#251034,#160a20 56%,#210b31);box-shadow:0 22px 60px rgba(79,19,121,.30),inset 0 1px 0 rgba(255,255,255,.04)}.hypnomium-member-card:before{background:conic-gradient(from 0deg,transparent 0 25%,rgba(189,117,255,.20) 34%,transparent 44% 70%,rgba(91,186,255,.16) 78%,transparent 87%);animation:hypnomiumAuraSpin 10s linear infinite}.premium-card-glow{background:radial-gradient(circle,rgba(151,77,255,.35),rgba(151,77,255,0));filter:blur(30px)}

@keyframes premiumAvatarFloat{0%,100%{transform:translateY(0)}50%{transform:translateY(-2px)}}@keyframes premiumFramePulse{0%,100%{transform:scale(1);opacity:.78}50%{transform:scale(1.03);opacity:1}}
@media(max-width:980px){.avatar-upload-layout{grid-template-columns:1fr}.frame-grid-extended{grid-template-columns:repeat(3,minmax(0,1fr))!important}}
@media(max-width:620px){.frame-grid-extended{grid-template-columns:repeat(2,minmax(0,1fr))!important}.preview-large{width:118px;height:118px}.avatar-upload-form input[type=file]::file-selector-button{display:block;margin:0 0 10px 0;width:100%}}
@media(prefers-reduced-motion:reduce){.avatar-ring.premium-frame,.avatar-ring.premium-frame::before,.avatar-ring.premium-frame::after{animation:none!important}}

/* ---- Réservations de séances + notifications ---- */
.notification-link{position:relative;display:inline-flex!important;align-items:center;gap:6px}.notification-count{display:inline-grid;place-items:center;min-width:20px;height:20px;padding:0 5px;border-radius:999px;background:linear-gradient(135deg,#ff8d2c,#ffc04f);color:#251000;font-size:.68rem;font-weight:950;box-shadow:0 0 18px rgba(255,159,43,.26)}
.booking-step-title{display:flex;align-items:center;gap:13px;margin:26px 0 14px;text-align:left}.booking-step-title>span{display:grid;place-items:center;width:34px;height:34px;flex:0 0 auto;border-radius:50%;background:linear-gradient(135deg,#7a33d6,#c06fff);font-weight:950;box-shadow:0 8px 24px rgba(131,54,214,.3)}.booking-step-title>div{display:flex;flex-direction:column;gap:2px}.booking-step-title strong{font-size:1.05rem}.booking-step-title small{color:var(--muted)}.booking-step-title.compact{margin:0 0 18px}
.schedule-step-title{margin-top:32px}.schedule-picker{display:grid;grid-template-columns:minmax(240px,.72fr) minmax(0,1.28fr);gap:18px;padding:20px;border:1px solid #432b58;border-radius:20px;background:linear-gradient(180deg,rgba(24,15,34,.95),rgba(12,8,17,.96))}.schedule-date-field{display:flex;flex-direction:column;gap:9px;padding:16px;border-radius:16px;background:#0e0914;border:1px solid #2e203b}.schedule-date-field>span,.schedule-hours-label{font-weight:850;color:#e9dcf7}.schedule-date-field input,.booking-reschedule-form input,.booking-reschedule-form select{width:100%;border:1px solid #4a3260;background:#0b0710;color:#fff;border-radius:13px;padding:12px 13px;font:inherit;color-scheme:dark}.schedule-date-field small,.slot-help{color:#8f829a;font-size:.82rem}.schedule-hours-area{display:flex;flex-direction:column;gap:10px}.session-hour-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.session-hour{min-height:48px;border:1px solid #50356b;border-radius:13px;background:linear-gradient(180deg,#1c1128,#110b18);color:#f5eaff;font:inherit;font-weight:850;cursor:pointer;transition:.18s ease}.session-hour:hover:not(:disabled){transform:translateY(-2px);border-color:#aa68eb;box-shadow:0 10px 24px rgba(112,44,170,.2)}.session-hour.selected{border-color:#d39bff;background:linear-gradient(135deg,#6d2bb1,#a44ee3);box-shadow:0 0 0 3px rgba(182,107,239,.12),0 14px 28px rgba(96,28,148,.27)}.session-hour.unavailable{opacity:.35;text-decoration:line-through;cursor:not-allowed}.schedule-loading,.schedule-error{grid-column:1/-1;padding:14px;border:1px dashed #50356b;border-radius:13px;color:#a89ab5;text-align:center}.schedule-error{color:#ffd0db;border-color:rgba(255,111,145,.34);background:rgba(119,28,48,.12)}.booking-summary{margin-top:22px}.booking-pay-button:disabled{opacity:.42;filter:grayscale(.35);cursor:not-allowed}.booking-pay-button:disabled:hover{transform:none}.my-bookings-card{margin-top:22px}.my-bookings-list{display:grid;gap:10px;margin-top:18px}.my-booking-row{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:16px;border:1px solid #342344;border-radius:16px;background:#100a16}.my-booking-row>div{display:flex;flex-direction:column;gap:5px}.my-booking-row span{color:#91849d;font-size:.86rem}.booking-status{display:inline-flex!important;align-items:center;justify-content:center;width:max-content;padding:7px 10px;border-radius:999px;border:1px solid #53386c;background:#171020;color:#d7c9e5!important;font-size:.73rem!important;font-weight:900;white-space:nowrap}.status-awaitingadmin{border-color:#745691;color:#dec9f5!important}.status-confirmed{border-color:#2d8f70;background:rgba(34,122,92,.14);color:#bdf6e0!important}.status-modified{border-color:#b87536;background:rgba(167,95,27,.13);color:#ffdbb0!important}.status-paidconflict{border-color:#c74c6a;background:rgba(151,37,62,.13);color:#ffd0db!important}
.admin-bookings-card{margin-bottom:22px;border-color:#634086;background:radial-gradient(circle at 100% 0,rgba(127,55,199,.12),transparent 35%),linear-gradient(180deg,#171020,#0e0913)}.admin-section-title{display:flex;justify-content:space-between;align-items:flex-start;gap:20px}.admin-section-title h2{font-size:1.65rem;margin:.3rem 0}.admin-section-title p{color:var(--muted);max-width:760px}.booking-admin-count{padding:9px 12px;border:1px solid #5d3d79;border-radius:999px;color:#d8b7f5;white-space:nowrap}.empty-admin-bookings{padding:24px;margin-top:14px;border:1px dashed #4c3262;border-radius:16px;text-align:center;color:#93849f}.admin-booking-list{display:grid;gap:14px;margin-top:20px}.admin-booking-item{display:grid;grid-template-columns:1.15fr .85fr;gap:20px;padding:20px;border:1px solid #3f2b50;border-radius:20px;background:linear-gradient(145deg,#160e1f,#0c0811)}.admin-booking-item.needs-reschedule{border-color:#a94b69;background:linear-gradient(145deg,rgba(72,19,38,.34),#0d0811)}.booking-member-line{display:flex;align-items:baseline;gap:10px;flex-wrap:wrap}.booking-member-line strong{font-size:1.12rem}.booking-member-line span{color:#91849e;font-size:.86rem}.admin-booking-main h3{margin:12px 0 9px;font-size:1.25rem}.booking-meta-line{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:12px}.booking-meta-line span{padding:6px 9px;border-radius:999px;background:#1d1426;border:1px solid #3d2c4c;color:#b9a8c7;font-size:.76rem}.booking-conflict-note{color:#ffc5d3;font-size:.88rem}.admin-booking-actions{display:flex;flex-direction:column;gap:12px;justify-content:center}.admin-booking-actions form>.btn{width:100%}.booking-reschedule-form{display:grid;grid-template-columns:1fr 1fr;gap:10px;padding:13px;border:1px solid #342544;border-radius:15px;background:#0b0710}.booking-reschedule-form label{display:grid;gap:6px;color:#bcaacb;font-size:.8rem;font-weight:800}.booking-reschedule-form .btn{grid-column:1/-1}.confirmed-admin-label{padding:12px;border-radius:13px;border:1px solid rgba(56,171,132,.32);background:rgba(44,139,105,.11);color:#bdf5df;text-align:center;font-weight:850}
.notifications-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;margin-bottom:24px}.notifications-heading h1{font-family:Georgia,serif;font-size:clamp(2.5rem,5vw,4.5rem);margin:.08em 0}.notifications-heading p{margin:0;color:var(--muted)}.notification-list{display:grid;gap:12px}.notification-card{display:grid;grid-template-columns:auto 1fr;gap:15px;padding:20px;border:1px solid #352446;border-radius:20px;background:linear-gradient(145deg,#15101d,#0d0912)}.notification-card.unread{border-color:#8750b6;background:radial-gradient(circle at 0 0,rgba(145,67,215,.16),transparent 30%),linear-gradient(145deg,#1c1027,#0d0912)}.notification-icon{width:48px;height:48px;border-radius:50%;display:grid;place-items:center;background:linear-gradient(135deg,#6e2db1,#a75de2);font-size:1.2rem;font-weight:950}.notification-title-row{display:flex;align-items:center;gap:9px;flex-wrap:wrap}.notification-title-row h2{margin:0;font-size:1.08rem}.notification-title-row span{font-size:.63rem;padding:4px 7px;border-radius:999px;background:#ffad3a;color:#2b1600;font-weight:950}.notification-card p{color:#b3a4bf;line-height:1.55;margin:8px 0}.notification-card small{color:#776c81}.empty-notifications{text-align:center;padding:50px}.notification-big-icon{font-size:2.6rem}
@media(max-width:900px){.schedule-picker,.admin-booking-item{grid-template-columns:1fr}.session-hour-grid{grid-template-columns:repeat(4,minmax(65px,1fr))}.admin-section-title{flex-direction:column}.notifications-heading{align-items:flex-start;flex-direction:column}}
@media(max-width:620px){.session-hour-grid{grid-template-columns:repeat(2,1fr)}.schedule-picker{padding:14px}.my-booking-row{align-items:flex-start;flex-direction:column}.booking-reschedule-form{grid-template-columns:1fr}.booking-reschedule-form .btn{grid-column:auto}.notification-card{grid-template-columns:1fr}.notification-icon{width:42px;height:42px}.admin-booking-item{padding:15px}}
