/* Simulateur Retraite France — Style luxe finance */
.sr-app{--sr-navy:#0b1d3a;--sr-navy-2:#13294b;--sr-gold:#c9a24a;--sr-gold-2:#e6c97a;--sr-bg:#ffffff;--sr-text:#0b1d3a;--sr-muted:#5a6b87;--sr-border:#e7ebf3;--sr-radius:18px;--sr-shadow:0 20px 60px rgba(11,29,58,.08);font-family:-apple-system,BlinkMacSystemFont,"Segoe UI","Helvetica Neue",Arial,sans-serif;color:var(--sr-text);background:var(--sr-bg);line-height:1.55;font-size:16px}
.sr-app *{box-sizing:border-box}
.sr-container{max-width:1180px;margin:0 auto;padding:0 22px}
.sr-section{padding:64px 0}
.sr-h1{font-family:Georgia,"Times New Roman",serif;font-size:clamp(2rem,4.5vw,3.4rem);line-height:1.1;margin:14px 0 18px;font-weight:700;letter-spacing:-.02em}
.sr-h2{font-family:Georgia,serif;font-size:clamp(1.5rem,2.6vw,2rem);margin:0 0 26px;letter-spacing:-.01em}
.sr-center{text-align:center}
.sr-gold{color:var(--sr-gold);font-style:italic}
.sr-lead{font-size:1.15rem;color:#dbe3f1;max-width:720px}
.sr-badge{display:inline-block;padding:8px 16px;border:1px solid var(--sr-gold);color:var(--sr-gold);font-size:.75rem;letter-spacing:.18em;border-radius:999px;text-transform:uppercase}

/* HERO */
.sr-hero{background:linear-gradient(160deg,var(--sr-navy) 0%,var(--sr-navy-2) 100%);color:#fff;padding:90px 0 110px;position:relative;overflow:hidden}
.sr-hero::after{content:"";position:absolute;inset:auto -10% -50% auto;width:600px;height:600px;background:radial-gradient(circle,rgba(201,162,74,.18),transparent 60%);border-radius:50%}
.sr-hero .sr-container{position:relative;z-index:2}

/* GRID */
.sr-grid{display:grid;grid-template-columns:1fr 1fr;gap:30px;margin-top:-70px;position:relative;z-index:3}
@media(max-width:900px){.sr-grid{grid-template-columns:1fr;margin-top:-50px}}

/* CARDS */
.sr-card{background:#fff;border-radius:var(--sr-radius);padding:34px;box-shadow:var(--sr-shadow);border:1px solid var(--sr-border)}
.sr-card--results{background:linear-gradient(160deg,var(--sr-navy) 0%,var(--sr-navy-2) 100%);color:#fff;border:none}
.sr-card--results .sr-h2{color:#fff}

/* FIELDS */
.sr-field{margin-bottom:22px}
.sr-field label{display:block;font-size:.92rem;color:var(--sr-muted);margin-bottom:10px;font-weight:500}
.sr-field label strong{color:var(--sr-navy);font-weight:700}
.sr-field-row{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.sr-field select{width:100%;padding:12px 14px;border:1px solid var(--sr-border);border-radius:12px;background:#fff;font-size:1rem;color:var(--sr-navy);font-family:inherit}
.sr-field select:focus{outline:none;border-color:var(--sr-gold)}

/* SLIDERS */
input[type=range]{-webkit-appearance:none;width:100%;height:6px;border-radius:999px;background:linear-gradient(to right,var(--sr-gold) 0%,var(--sr-gold) var(--p,50%),#e7ebf3 var(--p,50%),#e7ebf3 100%);outline:none}
input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;width:22px;height:22px;border-radius:50%;background:var(--sr-navy);border:3px solid var(--sr-gold);cursor:pointer;box-shadow:0 4px 12px rgba(11,29,58,.25);transition:transform .15s}
input[type=range]::-webkit-slider-thumb:hover{transform:scale(1.15)}
input[type=range]::-moz-range-thumb{width:22px;height:22px;border-radius:50%;background:var(--sr-navy);border:3px solid var(--sr-gold);cursor:pointer}

/* KPIs */
.sr-kpis{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-bottom:24px}
.sr-kpi{background:rgba(255,255,255,.07);border:1px solid rgba(201,162,74,.25);border-radius:14px;padding:18px}
.sr-kpi-label{display:block;font-size:.78rem;color:#a9b8d4;letter-spacing:.05em;text-transform:uppercase;margin-bottom:8px}
.sr-kpi-value{display:block;font-family:Georgia,serif;font-size:1.6rem;color:var(--sr-gold-2);font-weight:700}
.sr-kpi--alert .sr-kpi-value{color:#ffb27a}

/* CHART */
.sr-chart-wrap{background:rgba(255,255,255,.04);border-radius:14px;padding:14px;margin-bottom:18px}
.sr-disclaimer{font-size:.78rem;color:#a9b8d4;margin:0}

/* INFO CARDS */
.sr-cards-3{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
@media(max-width:800px){.sr-cards-3{grid-template-columns:1fr}}
.sr-info-card{background:#fff;border:1px solid var(--sr-border);border-radius:var(--sr-radius);padding:28px;text-align:center;transition:transform .25s,box-shadow .25s}
.sr-info-card:hover{transform:translateY(-4px);box-shadow:var(--sr-shadow);border-color:var(--sr-gold)}
.sr-icon{font-size:2.4rem;margin-bottom:12px}
.sr-info-card h3{font-family:Georgia,serif;margin:0 0 10px;color:var(--sr-navy)}
.sr-info-card p{margin:0;color:var(--sr-muted);font-size:.95rem}

/* FAQ */
.sr-faq{max-width:820px;margin:0 auto}
.sr-faq details{background:#fff;border:1px solid var(--sr-border);border-radius:12px;padding:18px 22px;margin-bottom:12px;transition:border-color .2s}
.sr-faq details[open]{border-color:var(--sr-gold)}
.sr-faq summary{cursor:pointer;font-weight:600;color:var(--sr-navy);list-style:none;display:flex;justify-content:space-between;align-items:center}
.sr-faq summary::after{content:"+";color:var(--sr-gold);font-size:1.4rem;font-weight:300}
.sr-faq details[open] summary::after{content:"−"}
.sr-faq p{margin:14px 0 0;color:var(--sr-muted)}

/* ADSENSE */
.sr-ad{position:relative;background:#f6f8fc;border:1px dashed var(--sr-border);border-radius:12px;padding:20px;text-align:center;min-height:120px;margin:30px auto}
.sr-ad-label{position:absolute;top:6px;left:10px;font-size:.7rem;color:#9aa6bf;letter-spacing:.1em;text-transform:uppercase}

/* BUTTONS */
.sr-btn{display:inline-block;padding:14px 28px;border-radius:999px;font-weight:600;text-decoration:none;transition:transform .15s,box-shadow .2s}
.sr-btn--gold{background:linear-gradient(135deg,var(--sr-gold),var(--sr-gold-2));color:var(--sr-navy);box-shadow:0 10px 30px rgba(201,162,74,.4)}
.sr-btn--gold:hover{transform:translateY(-2px)}

/* STICKY MOBILE */
.sr-sticky-mobile{display:none;position:fixed;bottom:14px;left:14px;right:14px;z-index:999;text-align:center}
.sr-sticky-mobile .sr-btn{display:block;padding:16px}
@media(max-width:700px){.sr-sticky-mobile{display:block}body{padding-bottom:80px}}

/* FOOTER */
.sr-footer{background:var(--sr-navy);color:#a9b8d4;text-align:center;padding:30px 0;font-size:.88rem;margin-top:40px}

/* ANIMATIONS */
@keyframes srFadeUp{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}
.sr-card,.sr-info-card,.sr-faq details{animation:srFadeUp .5s ease both}
.sr-kpi-value{transition:color .25s}
