/* ============================================================
   ROY HABITAT — page « simulateur-solaire »
   Hero de présentation (vert PV) + cadre du simulateur (iframe).
   Tout est scopé sous .royslug-simulateur-solaire pour éviter
   toute interférence ; le simulateur lui-même est isolé en iframe.
   ============================================================ */

.royslug-simulateur-solaire{ --pv:#4F8A1E; --pv-d:#3a6916; --pv-l:#a7e08a; }
.royslug-simulateur-solaire main{ overflow-x:hidden; }

/* ── HERO ───────────────────────────────────────────────── */
.sims-hero{
  position:relative;
  min-height:clamp(340px, 46vh, 430px);
  display:flex; align-items:center;
  overflow:hidden;
  isolation:isolate;
}
.sims-hero-bg{
  position:absolute; inset:0; z-index:0;
  background:
    linear-gradient(180deg, rgba(12,15,20,.58) 0%, rgba(10,13,17,.70) 52%, rgba(7,9,13,.84) 100%),
    url(/wp-content/uploads/2026/06/installation-en-toiture-pompaire.jpg) center 40%/cover no-repeat;
  background-color:#0c0f14;
  transform:scale(1.02);
}
.sims-hero-glow{
  position:absolute; z-index:1; inset:0;
  background:
    radial-gradient(60% 55% at 80% 12%, rgba(255,255,255,.07) 0%, transparent 62%);
  pointer-events:none;
}
.sims-hero-inner{
  position:relative; z-index:2;
  padding:96px 0 60px;
  max-width:780px;
}
.sims-eyebrow{
  display:inline-flex; align-items:center; gap:9px;
  font-size:13px; font-weight:700; letter-spacing:.06em; text-transform:uppercase;
  color:#eef2f6;
  background:rgba(255,255,255,.12);
  border:1px solid rgba(255,255,255,.30);
  padding:8px 16px; border-radius:100px;
  backdrop-filter:blur(8px); -webkit-backdrop-filter:blur(8px);
  margin-bottom:24px;
}
.sims-eyebrow::before{
  content:''; width:8px; height:8px; border-radius:50%;
  background:#fff; box-shadow:0 0 12px rgba(255,255,255,.7);
}
.sims-title{
  font-family:'Sora',sans-serif; font-weight:800;
  font-size:clamp(34px, 5.4vw, 60px); line-height:1.04;
  letter-spacing:-.02em; color:#fff;
  text-shadow:0 4px 40px rgba(8,20,10,.45);
  margin:0 0 22px;
}
.sims-title em{ font-style:normal; color:#eef3f8; }
.sims-sub{
  font-size:clamp(16px, 2vw, 19px); line-height:1.6;
  color:rgba(255,255,255,.9); max-width:620px;
  margin:0 0 30px; text-shadow:0 2px 18px rgba(8,20,10,.4);
}
.sims-sub strong{ color:#fff; font-weight:700; }

.sims-props{ display:flex; flex-wrap:wrap; gap:10px; margin-bottom:34px; }
.sims-prop{
  font-size:13.5px; color:rgba(255,255,255,.92);
  background:rgba(255,255,255,.10);
  border:1px solid rgba(255,255,255,.20);
  backdrop-filter:blur(10px); -webkit-backdrop-filter:blur(10px);
  padding:9px 15px; border-radius:13px;
}
.sims-prop strong{ color:#fff; font-weight:800; }

.sims-cta{ display:flex; flex-wrap:wrap; gap:14px; align-items:center; margin-bottom:26px; }
.sims-btn{
  display:inline-flex; align-items:center; gap:10px;
  background:var(--pv); color:#fff;
  font-weight:700; font-size:16px;
  padding:15px 28px; border-radius:15px;
  box-shadow:0 12px 34px rgba(79,138,30,.42);
  transition:transform .22s ease, box-shadow .22s ease, background .22s ease;
}
.sims-btn:hover{ background:#5aa024; transform:translateY(-2px); box-shadow:0 18px 44px rgba(79,138,30,.5); }
.sims-btn svg{ width:18px; height:18px; }
.sims-btn-ghost{
  display:inline-flex; align-items:center; gap:9px;
  color:#fff; font-weight:700; font-size:15.5px;
  padding:14px 22px; border-radius:15px;
  border:1.5px solid rgba(255,255,255,.45);
  background:rgba(255,255,255,.06);
  backdrop-filter:blur(8px); -webkit-backdrop-filter:blur(8px);
  transition:background .2s ease, border-color .2s ease;
}
.sims-btn-ghost:hover{ background:rgba(255,255,255,.14); border-color:rgba(255,255,255,.7); }

.sims-trust{
  display:flex; align-items:center; gap:9px;
  font-size:13.5px; color:rgba(255,255,255,.78);
  max-width:560px; line-height:1.5;
}
.sims-trust svg{ width:18px; height:18px; flex-shrink:0; color:rgba(255,255,255,.85); }

.sims-scrollcue{
  position:absolute; left:50%; bottom:26px; z-index:3;
  transform:translateX(-50%);
  display:inline-flex; flex-direction:column; align-items:center; gap:6px;
  color:rgba(255,255,255,.82); font-size:12.5px; font-weight:600;
  letter-spacing:.02em;
}
.sims-scrollcue svg{ width:22px; height:22px; animation:simsBounce 1.8s ease-in-out infinite; }
@keyframes simsBounce{ 0%,100%{ transform:translateY(0); } 50%{ transform:translateY(6px); } }

/* ── SECTION SIMULATEUR (iframe) ─────────────────────────── */
.sims-wrap{
  background:linear-gradient(180deg,#ffffff 0%, #f4faf6 100%);
  padding:40px 0 80px;
  scroll-margin-top:88px;
}
.sims-frame-head{ text-align:center; max-width:720px; margin:0 auto 24px; }
.sims-frame-eyebrow{
  display:inline-block; color:var(--pv); font-weight:800;
  font-size:13px; letter-spacing:.1em; text-transform:uppercase; margin-bottom:14px;
}
.sims-frame-head h2{
  font-family:'Sora',sans-serif; font-weight:800;
  font-size:clamp(26px, 3.4vw, 38px); line-height:1.1; letter-spacing:-.02em;
  color:#15201a; margin:0 0 14px;
}
.sims-frame-head p{ font-size:16.5px; line-height:1.62; color:#5a6a57; margin:0; }

.sims-frame-shell{
  position:relative;
  background:transparent;
  border:0;
  border-radius:0;
  box-shadow:none;
}
.sims-frame{
  display:block; width:100%; border:0; margin:0;
  height:1400px; /* hauteur de départ — ajustée automatiquement au contenu par JS */
  background:transparent;
  transition:height .2s ease;
}
/* Modale ouverte dans le simulateur : l'iframe couvre l'écran pour centrer la fenêtre de devis */
.sims-frame.is-modal{
  position:fixed; inset:0; width:100vw; height:100% !important;
  z-index:99999; transition:none; background:transparent;
}
.sims-note{
  max-width:780px; margin:22px auto 0; text-align:center;
  font-size:12.5px; line-height:1.6; color:#7a877a;
}
.sims-note strong{ color:#5a6a57; font-weight:700; }

/* ── MOBILE ──────────────────────────────────────────────── */
@media (max-width:768px){
  .sims-hero{ min-height:auto; }
  .sims-hero-inner{ padding:128px 0 84px; }
  .sims-cta{ gap:10px; }
  .sims-btn, .sims-btn-ghost{ width:100%; justify-content:center; }
  .sims-scrollcue{ display:none; }
  .sims-wrap{ padding:48px 0 64px; }
  .sims-frame{ height:1900px; }
}
