/* V300 — Verrouillage premium global façon Finary : visible, flouté, non cliquable */
:root{
  --role-gold:#f5d77d;
  --role-gold-2:#fff2bd;
  --role-rose:#efb4d8;
  --role-violet:#9f72ff;
  --role-dark:#07070d;
}
.role-page-lock-overlay-v300{
  position:fixed;
  z-index:99999;
  left:50%;
  top:50%;
  transform:translate(-50%,-50%);
  width:min(420px,calc(100vw - 38px));
  padding:26px 24px 24px;
  border-radius:30px;
  border:1px solid rgba(245,215,125,.34);
  background:
    radial-gradient(circle at 20% 0%, rgba(245,215,125,.18), transparent 33%),
    radial-gradient(circle at 80% 15%, rgba(239,180,216,.16), transparent 35%),
    linear-gradient(145deg, rgba(18,18,28,.94), rgba(7,7,13,.92));
  box-shadow:0 30px 90px rgba(0,0,0,.55), inset 0 1px 0 rgba(255,255,255,.08);
  text-align:center;
  color:#fff;
  font-family:Manrope, system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
  backdrop-filter:blur(20px);
}
.role-page-lock-overlay-v300 small{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  height:30px;
  padding:0 18px;
  border-radius:999px;
  border:1px solid rgba(245,215,125,.45);
  color:var(--role-gold-2);
  font-size:11px;
  line-height:1;
  letter-spacing:.18em;
  text-transform:uppercase;
  font-weight:900;
  margin-bottom:16px;
  background:rgba(255,255,255,.035);
}
.role-page-lock-overlay-v300 strong{
  display:block;
  font-size:24px;
  line-height:1.1;
  font-weight:900;
  margin-bottom:8px;
  letter-spacing:-.03em;
}
.role-page-lock-overlay-v300 .role-gradient-v300{
  background:linear-gradient(100deg,#fff2bd 0%, #f3c55f 28%, #efb4d8 62%, #9f72ff 100%);
  -webkit-background-clip:text;
  background-clip:text;
  color:transparent;
}
.role-page-lock-overlay-v300 p{
  margin:0 auto 18px;
  max-width:330px;
  color:rgba(255,255,255,.72);
  font-size:14px;
  line-height:1.55;
}
.role-page-lock-overlay-v300 a{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:46px;
  padding:0 24px;
  border-radius:999px;
  color:#141008;
  text-decoration:none;
  font-weight:900;
  background:linear-gradient(100deg,#fff2bd 0%,#f3d47c 38%,#e9a947 72%,#efb4d8 100%);
  box-shadow:0 14px 36px rgba(245,215,125,.24), inset 0 1px 0 rgba(255,255,255,.65);
}
body.page-role-locked-v300{
  overflow:hidden;
}
body.page-role-locked-v300 > *:not(.role-page-lock-overlay-v300):not(script):not(style):not(link):not(meta):not(title){
  filter:blur(5px);
  opacity:.48;
  pointer-events:none !important;
  user-select:none !important;
}
body.page-role-locked-v300::before{
  content:'';
  position:fixed;
  inset:0;
  z-index:99998;
  background:radial-gradient(circle at 50% 42%, rgba(245,215,125,.08), transparent 28%), rgba(4,4,8,.38);
  backdrop-filter:blur(2px);
}
body[data-theme='light'].page-role-locked-v300::before,
html[data-theme='light'] body.page-role-locked-v300::before{
  background:radial-gradient(circle at 50% 42%, rgba(245,215,125,.20), transparent 30%), rgba(250,246,236,.36);
}
body[data-theme='light'] .role-page-lock-overlay-v300,
html[data-theme='light'] body .role-page-lock-overlay-v300{
  color:#17131d;
  background:
    radial-gradient(circle at 20% 0%, rgba(245,215,125,.28), transparent 35%),
    radial-gradient(circle at 80% 15%, rgba(239,180,216,.24), transparent 36%),
    linear-gradient(145deg, rgba(255,255,255,.94), rgba(246,239,226,.92));
  border-color:rgba(189,141,39,.26);
  box-shadow:0 30px 90px rgba(95,74,39,.16), inset 0 1px 0 rgba(255,255,255,.9);
}
body[data-theme='light'] .role-page-lock-overlay-v300 p,
html[data-theme='light'] body .role-page-lock-overlay-v300 p{color:rgba(23,19,29,.68)}
body[data-theme='light'] .role-page-lock-overlay-v300 small,
html[data-theme='light'] body .role-page-lock-overlay-v300 small{color:#9a6a15;background:rgba(255,255,255,.52)}

/* V301 — pages verrouillées visibles : moins de flou, plus premium, moins frustrant */
body.page-role-locked-v300{overflow:auto!important;}
body.page-role-locked-v300 > *:not(.role-page-lock-overlay-v300):not(script):not(style):not(link):not(meta):not(title){
  filter:blur(2.4px) saturate(.90)!important;
  opacity:.66!important;
}
body.page-role-locked-v300::before{
  background:radial-gradient(circle at 50% 36%, rgba(245,215,125,.07), transparent 26%), rgba(4,4,8,.18)!important;
  backdrop-filter:blur(1px)!important;
}
.role-page-lock-overlay-v300{
  top:18px!important;
  transform:translateX(-50%)!important;
  width:min(520px,calc(100vw - 42px))!important;
  padding:14px 16px!important;
  border-radius:22px!important;
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  gap:14px!important;
  text-align:left!important;
}
.role-page-lock-overlay-v300 small{display:none!important;}
.role-page-lock-overlay-v300 strong{font-size:16px!important;margin:0!important;white-space:nowrap!important;}
.role-page-lock-overlay-v300 p{font-size:12px!important;line-height:1.35!important;margin:0!important;max-width:260px!important;}
.role-page-lock-overlay-v300 a{min-height:36px!important;padding:0 16px!important;white-space:nowrap!important;}
@media (max-width:720px){
  .role-page-lock-overlay-v300{top:12px!important;align-items:flex-start!important;flex-direction:column!important;}
  .role-page-lock-overlay-v300 p{max-width:none!important;}
}

/* V302 — Avantages / partenaires ouvert à tous */
body:not([data-page-min-role]) .role-page-lock-overlay-v300{display:none!important;}



/* V303 — Lock premium conversion : plus fintech, moins popup technique */
body.page-role-locked-v300{
  overflow:auto!important;
}
body.page-role-locked-v300 > *:not(.role-page-lock-overlay-v300):not(script):not(style):not(link):not(meta):not(title){
  filter:blur(1.45px) saturate(.94) brightness(.72)!important;
  opacity:.82!important;
  pointer-events:none!important;
  user-select:none!important;
}
body.page-role-locked-v300::before{
  content:''!important;
  position:fixed!important;
  inset:0!important;
  z-index:99998!important;
  background:
    radial-gradient(900px 360px at 50% 16%, rgba(159,114,255,.12), transparent 62%),
    radial-gradient(740px 320px at 50% 0%, rgba(245,215,125,.10), transparent 58%),
    linear-gradient(180deg, rgba(2,4,10,.24), rgba(2,4,10,.48))!important;
  backdrop-filter:blur(.8px)!important;
  -webkit-backdrop-filter:blur(.8px)!important;
}
.role-page-lock-overlay-v300{
  position:fixed!important;
  z-index:99999!important;
  left:50%!important;
  top:24px!important;
  transform:translateX(-50%)!important;
  width:min(860px,calc(100vw - 42px))!important;
  min-height:112px!important;
  padding:18px 20px!important;
  border-radius:28px!important;
  display:grid!important;
  grid-template-columns:auto minmax(0,1fr) auto!important;
  align-items:center!important;
  gap:18px!important;
  text-align:left!important;
  color:#fff!important;
  border:1px solid rgba(245,215,125,.24)!important;
  background:
    radial-gradient(520px 160px at 16% 0%, rgba(245,215,125,.13), transparent 62%),
    radial-gradient(520px 160px at 82% 0%, rgba(159,114,255,.16), transparent 64%),
    linear-gradient(135deg, rgba(17,20,32,.88), rgba(8,10,18,.94) 58%, rgba(19,14,31,.92))!important;
  box-shadow:
    0 26px 80px rgba(0,0,0,.46),
    0 0 0 1px rgba(255,255,255,.035) inset,
    inset 0 1px 0 rgba(255,255,255,.08)!important;
  backdrop-filter:blur(24px) saturate(1.1)!important;
  -webkit-backdrop-filter:blur(24px) saturate(1.1)!important;
}
.role-lock-icon-v300{
  width:58px!important;
  height:58px!important;
  border-radius:20px!important;
  display:grid!important;
  place-items:center!important;
  color:#2a1a05!important;
  font-size:22px!important;
  font-weight:900!important;
  background:linear-gradient(135deg,#fff2bd,#f3d47c 48%,#efb4d8)!important;
  box-shadow:0 16px 38px rgba(245,215,125,.20), inset 0 1px 0 rgba(255,255,255,.72)!important;
}
.role-lock-copy-v300{
  min-width:0!important;
}
.role-page-lock-overlay-v300 small,
.role-lock-copy-v300 small{
  display:inline-flex!important;
  align-items:center!important;
  height:24px!important;
  padding:0 10px!important;
  margin:0 0 8px!important;
  border-radius:999px!important;
  border:1px solid rgba(245,215,125,.24)!important;
  background:rgba(245,215,125,.055)!important;
  color:#ffe7a0!important;
  font-size:10px!important;
  line-height:1!important;
  letter-spacing:.15em!important;
  text-transform:uppercase!important;
  font-weight:900!important;
}
.role-page-lock-overlay-v300 strong,
.role-lock-copy-v300 strong{
  display:block!important;
  margin:0 0 6px!important;
  font-size:22px!important;
  line-height:1.05!important;
  letter-spacing:-.045em!important;
  font-weight:900!important;
  white-space:normal!important;
}
.role-page-lock-overlay-v300 .role-gradient-v300{
  background:linear-gradient(100deg,#fff5cf 0%, #f3c55f 28%, #efb4d8 62%, #a87cff 100%)!important;
  -webkit-background-clip:text!important;
  background-clip:text!important;
  color:transparent!important;
}
.role-page-lock-overlay-v300 p,
.role-lock-copy-v300 p{
  margin:0!important;
  max-width:560px!important;
  color:rgba(242,245,252,.74)!important;
  font-size:13.5px!important;
  line-height:1.45!important;
}
.role-lock-actions-v300{
  display:grid!important;
  gap:9px!important;
  justify-items:stretch!important;
  min-width:198px!important;
}
.role-page-lock-overlay-v300 a{
  text-decoration:none!important;
}
.role-lock-primary-v300,
.role-page-lock-overlay-v300 a.role-lock-primary-v300{
  min-height:46px!important;
  padding:0 18px!important;
  border-radius:16px!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  white-space:nowrap!important;
  color:#241604!important;
  font-weight:950!important;
  font-size:14px!important;
  background:linear-gradient(100deg,#fff2bd 0%,#f3d47c 44%,#efb4d8 100%)!important;
  box-shadow:0 16px 36px rgba(245,215,125,.22), inset 0 1px 0 rgba(255,255,255,.70)!important;
}
.role-lock-secondary-v300,
.role-page-lock-overlay-v300 a.role-lock-secondary-v300{
  min-height:34px!important;
  padding:0 14px!important;
  border-radius:999px!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  color:rgba(247,244,255,.72)!important;
  background:rgba(255,255,255,.035)!important;
  border:1px solid rgba(255,255,255,.09)!important;
  font-weight:800!important;
  font-size:12px!important;
  box-shadow:none!important;
}
.role-lock-primary-v300:hover{
  transform:translateY(-1px)!important;
}
body[data-theme='light'].page-role-locked-v300::before,
html[data-theme='light'] body.page-role-locked-v300::before{
  background:
    radial-gradient(900px 360px at 50% 16%, rgba(159,114,255,.16), transparent 62%),
    radial-gradient(740px 320px at 50% 0%, rgba(245,215,125,.18), transparent 58%),
    linear-gradient(180deg, rgba(250,246,236,.22), rgba(250,246,236,.50))!important;
}
body[data-theme='light'] .role-page-lock-overlay-v300,
html[data-theme='light'] body .role-page-lock-overlay-v300{
  color:#17131d!important;
  background:
    radial-gradient(520px 160px at 16% 0%, rgba(245,215,125,.20), transparent 62%),
    radial-gradient(520px 160px at 82% 0%, rgba(159,114,255,.15), transparent 64%),
    linear-gradient(135deg, rgba(255,255,255,.92), rgba(248,242,232,.94))!important;
  border-color:rgba(189,141,39,.24)!important;
}
body[data-theme='light'] .role-lock-copy-v300 p,
html[data-theme='light'] body .role-lock-copy-v300 p{
  color:rgba(23,19,29,.68)!important;
}
body[data-theme='light'] .role-lock-secondary-v300,
html[data-theme='light'] body .role-lock-secondary-v300{
  color:rgba(23,19,29,.68)!important;
  border-color:rgba(23,19,29,.10)!important;
  background:rgba(255,255,255,.50)!important;
}
@media (max-width:820px){
  .role-page-lock-overlay-v300{
    top:14px!important;
    grid-template-columns:auto minmax(0,1fr)!important;
    width:min(620px,calc(100vw - 28px))!important;
    padding:16px!important;
  }
  .role-lock-actions-v300{
    grid-column:1 / -1!important;
    grid-template-columns:1fr 1fr!important;
    min-width:0!important;
  }
}
@media (max-width:560px){
  .role-page-lock-overlay-v300{
    grid-template-columns:1fr!important;
    gap:12px!important;
  }
  .role-lock-icon-v300{
    width:48px!important;
    height:48px!important;
    border-radius:16px!important;
  }
  .role-lock-actions-v300{
    grid-template-columns:1fr!important;
  }
  .role-lock-copy-v300 strong{
    font-size:20px!important;
  }
}



/* V304 — Lock premium plus compact, équilibré, avec vraie promesse */
.role-page-lock-overlay-v300{
  width:min(760px,calc(100vw - 42px))!important;
  min-height:126px!important;
  grid-template-columns:auto minmax(0,1fr) 190px!important;
  gap:16px!important;
  padding:18px 20px!important;
}
.role-lock-icon-v300{
  width:56px!important;
  height:56px!important;
  border-radius:19px!important;
}
.role-page-lock-overlay-v300 strong,
.role-lock-copy-v300 strong{
  font-size:21px!important;
  margin-bottom:5px!important;
}
.role-page-lock-overlay-v300 p,
.role-lock-copy-v300 p{
  max-width:470px!important;
  font-size:13.25px!important;
  line-height:1.42!important;
  color:rgba(242,245,252,.76)!important;
}
.role-lock-proof-v300{
  display:flex!important;
  flex-wrap:wrap!important;
  gap:7px!important;
  margin-top:10px!important;
}
.role-lock-proof-v300 span{
  display:inline-flex!important;
  align-items:center!important;
  min-height:25px!important;
  padding:0 9px!important;
  border-radius:999px!important;
  border:1px solid rgba(255,255,255,.08)!important;
  background:rgba(255,255,255,.035)!important;
  color:rgba(247,244,255,.68)!important;
  font-size:10.5px!important;
  font-weight:800!important;
  white-space:nowrap!important;
}
.role-lock-actions-v300{
  min-width:190px!important;
  gap:8px!important;
}
.role-lock-primary-v300,
.role-page-lock-overlay-v300 a.role-lock-primary-v300{
  min-height:45px!important;
  border-radius:15px!important;
}
.role-lock-secondary-v300,
.role-page-lock-overlay-v300 a.role-lock-secondary-v300{
  min-height:33px!important;
}

@media (max-width:820px){
  .role-page-lock-overlay-v300{
    width:min(620px,calc(100vw - 28px))!important;
    grid-template-columns:auto minmax(0,1fr)!important;
  }
  .role-lock-actions-v300{
    grid-column:1 / -1!important;
    grid-template-columns:1fr 1fr!important;
    min-width:0!important;
  }
}
@media (max-width:560px){
  .role-page-lock-overlay-v300{
    grid-template-columns:1fr!important;
  }
  .role-lock-proof-v300 span{
    flex:1 1 auto!important;
    justify-content:center!important;
  }
  .role-lock-actions-v300{
    grid-template-columns:1fr!important;
  }
}



/* V305 — Pages verrouillées : cacher fortement les chiffres, garder les intitulés compréhensibles */
body.page-role-locked-v300 [class*="amount"],
body.page-role-locked-v300 [class*="price"],
body.page-role-locked-v300 [class*="total"],
body.page-role-locked-v300 [class*="value"],
body.page-role-locked-v300 [class*="result"],
body.page-role-locked-v300 [class*="projection"],
body.page-role-locked-v300 [class*="revenue"],
body.page-role-locked-v300 [class*="gain"],
body.page-role-locked-v300 [class*="capital"],
body.page-role-locked-v300 [class*="metric"] strong,
body.page-role-locked-v300 [class*="stat"] strong,
body.page-role-locked-v300 [class*="kpi"] strong,
body.page-role-locked-v300 .hero strong,
body.page-role-locked-v300 output,
body.page-role-locked-v300 input,
body.page-role-locked-v300 select{
  filter:blur(8px)!important;
  opacity:.42!important;
  user-select:none!important;
  pointer-events:none!important;
}

/* Garde les labels et titres lisibles malgré le verrouillage */
body.page-role-locked-v300 label,
body.page-role-locked-v300 small,
body.page-role-locked-v300 h1,
body.page-role-locked-v300 h2,
body.page-role-locked-v300 h3,
body.page-role-locked-v300 [class*="label"],
body.page-role-locked-v300 [class*="title"],
body.page-role-locked-v300 .role-page-lock-overlay-v300,
body.page-role-locked-v300 .role-page-lock-overlay-v300 *{
  filter:none!important;
  opacity:1!important;
}

/* Masquage spécial des gros chiffres isolés souvent dans les simulateurs */
body.page-role-locked-v300 main strong:not(.role-page-lock-overlay-v300 strong),
body.page-role-locked-v300 main b:not(.role-page-lock-overlay-v300 b){
  text-shadow:0 0 14px currentColor!important;
}

/* Le fond global reste premium mais les données deviennent vraiment non exploitables */
body.page-role-locked-v300 > *:not(.role-page-lock-overlay-v300):not(script):not(style):not(link):not(meta):not(title){
  filter:blur(1.2px) saturate(.88) brightness(.56)!important;
  opacity:.72!important;
}

/* CTA principal : passage direct au checkout quand l’utilisateur est connecté */
.role-lock-primary-v300,
.role-page-lock-overlay-v300 a.role-lock-primary-v300{
  background:linear-gradient(100deg,#fff2bd 0%,#f3d47c 42%,#efb4d8 100%)!important;
}



/* V306 — Upgrade direct universel par rôle : Bronze / Argent / Premium Max */
.role-lock-primary-v300[data-upgrade-plan="bronze"]::after,
.role-lock-primary-v300[data-upgrade-plan="argent"]::after,
.role-lock-primary-v300[data-upgrade-plan="premium-max"]::after{
  content:"";
}
.role-lock-primary-v300{
  cursor:pointer!important;
}
