/* ===== IDENTIQUE fsite.php ===== */
    .home-hero{
      border-radius:22px;
      padding:56px 52px;
      background: linear-gradient(180deg, rgba(47,133,90,0.10), rgba(47,133,90,0.02));
      border: 1px solid rgba(0,0,0,0.06);
      box-shadow: var(--shadow);
      overflow:hidden;
    }
    [data-theme="dark"] .home-hero, body.dark-mode .home-hero{
      border-color: rgba(255,255,255,0.08);
      background: linear-gradient(180deg, rgba(56,161,105,0.16), rgba(56,161,105,0.04));
    }
    .hero-grid{ display:grid; grid-template-columns:1.15fr .85fr; gap:18px; align-items:stretch; }
    .kicker{
      display:inline-flex; gap:10px; align-items:center;
      padding:8px 12px; border-radius:999px;
      background: rgba(47,133,90,0.10);
      border: 1px solid rgba(47,133,90,0.18);
      font-weight:800; font-size:13px;
      width: fit-content;
    }
    .home-hero h1{ margin:14px 0 8px; font-size:40px; line-height:1.08; letter-spacing:-0.02em; }
    .lead{ margin:0; color:var(--muted); font-size:16px; line-height:1.7; max-width:65ch; }

    .hero-cta{ display:flex; gap:12px; margin-top:16px; flex-wrap:wrap; }
    .btn-outline{
      padding:10px 14px; border-radius:10px;
      border:1px solid rgba(47,133,90,0.35);
      background:transparent; color:var(--text);
      font-weight:800; text-decoration:none;
      transition: transform .2s ease, background .2s ease, border-color .2s ease;
      display:inline-flex; align-items:center; justify-content:center; gap:8px;
    }
    .btn-outline:hover{ transform: translateY(-2px); background: rgba(47,133,90,0.08); border-color: rgba(47,133,90,0.55); }

    .panel{
      background:var(--card);
      border-radius:18px;
      border:1px solid rgba(0,0,0,0.06);
      box-shadow: 0 18px 44px rgba(0,0,0,0.10);
      padding:18px;
    }
    [data-theme="dark"] .panel, body.dark-mode .panel{
      border-color: rgba(255,255,255,0.08);
      box-shadow:0 18px 44px rgba(0,0,0,0.45);
    }

    .section{ margin-top:32px; }
    .section-title{ display:flex; justify-content:space-between; gap:12px; align-items:baseline; margin-bottom:14px; }
    .section-title h2{ margin:0; font-size:22px; letter-spacing:-0.01em; }
    .section-title p{ margin:0; color:var(--muted); font-size:14px; }

    .content-grid{ display:grid; grid-template-columns: repeat(12, 1fr); gap:14px; }
    .feature{
      grid-column: span 4;
      padding:18px;
      border-radius:16px;
      background:var(--card);
      border:1px solid rgba(0,0,0,0.06);
      box-shadow: var(--shadow);
    }
    [data-theme="dark"] .feature, body.dark-mode .feature{ border-color: rgba(255,255,255,0.08); }
    .feature h3{ margin:0 0 8px; font-size:16px; }
    .feature ul{ margin:0; padding-left:18px; color:var(--muted); }
    .feature li{ margin:6px 0; font-size:14px; line-height:1.6; }

    /* Builder */
    .builder{ display:grid; grid-template-columns: 1fr 380px; gap:14px; align-items:start; }
    .builder .controls{
      padding:18px; border-radius:16px; background:var(--card);
      border:1px solid rgba(0,0,0,0.06); box-shadow: var(--shadow);
    }
    .builder .summary{
      padding:18px; border-radius:16px; background:var(--card);
      border:1px solid rgba(0,0,0,0.06); box-shadow: var(--shadow);
      position: sticky; top: calc(var(--header-h) + 16px);
    }
    [data-theme="dark"] .builder .controls,
    [data-theme="dark"] .builder .summary,
    body.dark-mode .builder .controls,
    body.dark-mode .builder .summary { border-color: rgba(255,255,255,0.08); }

    .muted{ color: var(--muted); font-size:13px; line-height:1.6; }

    .badge{
      display:inline-flex; align-items:center; gap:6px;
      padding:6px 10px; border-radius:999px; font-weight:900; font-size:12px;
      background: rgba(47,133,90,0.12);
      border: 1px solid rgba(47,133,90,0.20);
    }
    .price-big{ font-size:34px; font-weight:900; margin:8px 0 2px; letter-spacing:-0.02em; }

    .pay-tabs{ display:flex; gap:8px; margin-top:10px; }
    .pay-tabs button{
      flex:1; padding:10px 12px; border-radius:12px;
      border:1px solid rgba(0,0,0,0.10);
      background: rgba(0,0,0,0.03);
      color: var(--text);
      font-weight:900;
      cursor:pointer;
      transition: transform .2s ease, background .2s ease, border-color .2s ease;
    }
    [data-theme="dark"] .pay-tabs button, body.dark-mode .pay-tabs button{
      border-color: rgba(255,255,255,0.10);
      background: rgba(255,255,255,0.03);
    }
    .pay-tabs button.active{
      background: rgba(47,133,90,0.12);
      border-color: rgba(47,133,90,0.35);
    }

    /* PREMIUM OPTION SELECTOR */
    .option-group{ margin-bottom: 18px; }
    .option-title{ font-weight: 900; font-size: 14px; margin-bottom: 10px; }
    .option-grid{
      display:grid;
      grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
      gap: 10px;
    }
    .option-card{
      position: relative;
      padding: 14px 14px 16px;
      border-radius: 14px;
      background: var(--card);
      border: 1px solid rgba(0,0,0,0.12);
      cursor: pointer;
      transition: all .2s ease;
      box-shadow: 0 4px 14px rgba(0,0,0,0.06);
    }
    [data-theme="dark"] .option-card, body.dark-mode .option-card{ border-color: rgba(255,255,255,0.12); }
    .option-card:hover{ transform: translateY(-2px); box-shadow: 0 8px 22px rgba(0,0,0,0.10); }
    .option-card.active{ border-color: var(--accent); box-shadow: 0 0 0 2px rgba(47,133,90,0.35); }
    .option-card input{ display:none; }
    .option-label{ font-weight: 900; font-size: 14px; margin-bottom: 6px; }
    .option-desc{ font-size: 13px; color: var(--muted); line-height: 1.5; }
    .option-price{ margin-top: 10px; font-size: 13px; font-weight: 900; color: var(--accent); }

    /* TYPE DE CLIENT — forcer 3 boutons sur une ligne */
.option-group[data-group="customer_type"] .option-grid{
  grid-template-columns: repeat(3, 1fr);
}

.option-group[data-group="customer_type"] .option-card{
  padding: 10px 8px;
}

.option-group[data-group="customer_type"] .option-label{
  font-size: 13px;
  text-align: center;
}

@media (max-width: 380px){
  .option-group[data-group="customer_type"] .option-label{
    font-size: 12px;
  }
}

    /* PRICING CLARITY */
    .pricing-breakdown { margin-top: 14px; }
    .pricing-section { padding: 12px 0; }
    .pricing-title{
      font-weight: 900; font-size: 14px; margin-bottom: 6px;
      display:flex; align-items:center; gap:8px;
    }
    .pricing-note{
      font-size: 11px; font-weight: 800;
      padding: 3px 8px; border-radius: 999px;
      background: rgba(47,133,90,0.12);
      border: 1px solid rgba(47,133,90,0.25);
      color: var(--accent);
    }
    .pricing-row{
      display:flex; justify-content:space-between;
      font-size:14px; padding:4px 0;
    }
    .pricing-divider{
      height:1px; background: rgba(0,0,0,0.08); margin: 6px 0;
    }
    [data-theme="dark"] .pricing-divider{ background: rgba(255,255,255,0.12); }

    .pricing-ttc{
      margin-top: 6px;
      padding-top: 8px;
      border-top: 1px dashed rgba(0,0,0,0.12);
    }
    [data-theme="dark"] .pricing-ttc, body.dark-mode .pricing-ttc{
      border-top-color: rgba(255,255,255,0.14);
    }

    /* Exemples */
    .examples-grid{ display:grid; grid-template-columns: repeat(auto-fill, minmax(240px, 1fr)); gap:14px; }
    .ex-card{
      display:block; text-decoration:none; color:inherit;
      background:var(--card); border:1px solid rgba(0,0,0,0.06);
      border-radius:16px; overflow:hidden; box-shadow: var(--shadow);
      transition: transform .2s ease;
    }
    .ex-card:hover{ transform: translateY(-3px); }
    [data-theme="dark"] .ex-card, body.dark-mode .ex-card{ border-color: rgba(255,255,255,0.08); }
    .ex-thumb{ height:150px; background: rgba(0,0,0,0.06); }
    .ex-thumb img{ width:100%; height:100%; object-fit:cover; display:block; }
    .ex-body{ padding:14px 14px 16px; }
    .ex-body h3{ margin:0 0 6px; font-size:16px; }
    .ex-body .tag{
      display:inline-flex; padding:5px 10px; border-radius:999px;
      font-weight:900; font-size:12px;
      background: rgba(47,133,90,0.10);
      border:1px solid rgba(47,133,90,0.18);
    }

    @media (max-width: 900px){
      .hero-grid{ grid-template-columns:1fr; }
      .home-hero{ padding:34px 22px; }
      .home-hero h1{ font-size:32px; }
      .feature{ grid-column: span 6; }
      .builder{ grid-template-columns:1fr; }
      .builder .summary{ position: relative; top: auto; }
    }
    @media (max-width: 520px){
      .feature{ grid-column: span 12; }
      .option-grid{ grid-template-columns: 1fr; }
    }

    .pricing-base {
  margin-top: 6px;
  font-size: 0.95rem;
  color: var(--muted);
}

.pricing-base strong {
  color: var(--text);
}

.price-accent {
  color: var(--accent);
  font-weight: 600;
}

.pricing-sep {
  margin: 0 6px;
  opacity: 0.6;
}

/* Mobile */
@media (max-width: 640px) {
  .pricing-base {
    font-size: 0.9rem;
    line-height: 1.4;
  }
}