/* ==========================================================================
   Fidelyxa — fenêtres (inscription, connexion, démo, devis, récapitulatif…)
   Même direction artistique que la démo : panneau vert foncé au coin ouvert,
   carte de fidélité, titres Bricolage, champs et boutons arrondis.

   Tout vit dans le calque « fxskin », déclaré avant « legacy » dans index.html :
   c'est ce qui permet à ces règles de passer devant les anciens !important de
   styles.css. Dans un calque, il faut donc !important sur chaque déclaration.
   ========================================================================== */
@layer fxskin{

  /* --- Toutes les fenêtres --------------------------------------------------- */
  .modal{--mo-deep:#052f2b;--mo-green:#0f8f83;--mo-green-ui:#0d8378;--mo-green-text:#0a6f66;--mo-mint:#e2f3ef;--mo-paper:#f6faf8;--mo-ink:#0f201d;--mo-soft:#44605a;--mo-line:rgba(15,32,29,.12);--mo-display:'Bricolage Grotesque','Avenir Next','Segoe UI',system-ui,sans-serif;--mo-text:'Figtree','Segoe UI',system-ui,sans-serif;--mo-ease:cubic-bezier(.22,1,.36,1);background:rgba(3,28,25,.66)!important;backdrop-filter:none!important;-webkit-backdrop-filter:none!important;font-family:var(--mo-text)!important}
  .modal .modal-card{border:0!important;border-radius:32px!important;background:#fff!important;color:var(--mo-ink)!important;box-shadow:0 40px 90px -30px rgba(0,0,0,.55)!important;backdrop-filter:none!important;font-family:var(--mo-text)!important}
  .modal .modal-card h2{font-family:var(--mo-display)!important;font-weight:800!important;letter-spacing:-.035em!important;color:var(--mo-ink)!important}
  .modal .modal-card>p,.modal .modal-card form+small{color:var(--mo-soft)!important}
  .modal .modal-card>.modal-close,.modal .fx-demo-window>.modal-close{display:grid!important;place-items:center!important;z-index:5!important;right:18px!important;top:18px!important;width:40px!important;height:40px!important;padding:0!important;border:1px solid var(--mo-line)!important;border-radius:50%!important;background:#fff!important;color:var(--mo-ink)!important;box-shadow:none!important;backdrop-filter:none!important;transition:background-color .2s ease,transform .3s var(--mo-ease)!important}
  .modal .modal-card>.modal-close:hover,.modal .fx-demo-window>.modal-close:hover{background:var(--mo-mint)!important;transform:rotate(90deg)!important}
  .modal .checkout-eyebrow,.modal .onboarding-kicker{display:inline-block!important;padding:6px 12px!important;border-radius:999px!important;background:var(--mo-mint)!important;color:var(--mo-green-text)!important;font:700 .78rem/1 var(--mo-text)!important;letter-spacing:0!important;text-transform:none!important}
  .modal .modal-card form label{color:var(--mo-ink)!important;font-family:var(--mo-text)!important;font-weight:700!important}
  .modal .modal-card :is(input:not([type=checkbox]):not([type=radio]):not([type=color]):not([type=hidden]),select,textarea){border:1px solid var(--mo-line)!important;border-radius:14px!important;background:var(--mo-paper)!important;color:var(--mo-ink)!important;font-family:var(--mo-text)!important;box-shadow:none!important}
  .modal .modal-card :is(input:not([type=checkbox]):not([type=radio]):not([type=color]),select,textarea):focus{border-color:var(--mo-green)!important;background:#fff!important;box-shadow:0 0 0 3px rgba(15,143,131,.14)!important;outline:0!important}
  .modal .modal-card .btn-primary{border:0!important;border-radius:999px!important;background:var(--mo-green-ui)!important;color:#fff!important;font-family:var(--mo-text)!important;font-weight:700!important;box-shadow:none!important}
  .modal .modal-card .btn-primary:hover{background:var(--mo-deep)!important}
  .modal .modal-card .btn-ghost{border-radius:999px!important;font-family:var(--mo-text)!important}

  /* --- Inscription et connexion ---------------------------------------------- */
  #loginModal .auth-card{display:grid!important;grid-template-rows:minmax(0,1fr)!important;grid-template-columns:minmax(300px,.9fr) minmax(400px,1.1fr)!important;width:min(1000px,calc(100vw - 40px))!important;max-height:calc(100svh - 40px)!important;padding:10px!important;overflow:hidden!important;border-radius:40px 40px 40px 104px!important}
  #loginModal .auth-showcase{position:relative!important;isolation:isolate!important;overflow:hidden!important;display:flex!important;flex-direction:column!important;justify-content:flex-start!important;gap:0!important;min-height:0!important;padding:36px 36px 38px 40px!important;border-radius:30px 30px 30px 94px!important;color:#fff!important;background:radial-gradient(80% 60% at 100% 0%,rgba(19,168,153,.55),transparent 65%),radial-gradient(50% 40% at 0% 100%,rgba(244,183,63,.12),transparent 70%),var(--mo-deep)!important}
  #loginModal .auth-showcase::before{content:""!important;position:absolute!important;z-index:-1!important;inset:auto -90px -120px auto!important;width:420px!important;height:420px!important;background:url("assets/optimized/LEF.webp") center/contain no-repeat!important;opacity:.11!important;pointer-events:none!important}
  #loginModal .auth-showcase::after{display:none!important}
  #loginModal .auth-showcase>img{width:132px!important;height:auto!important;margin:0!important}
  #loginModal .auth-pass{align-self:flex-end!important;width:236px!important;margin:26px 4px 0 0!important;padding:14px 15px 15px!important;border-radius:18px!important;background:linear-gradient(150deg,#e9f8f4,#a9e1d5)!important;color:var(--mo-deep)!important;transform:rotate(-5deg)!important;box-shadow:0 30px 44px -22px rgba(0,0,0,.65)!important}
  #loginModal .auth-pass-top{display:flex!important;align-items:center!important;justify-content:space-between!important;gap:8px!important;font:800 .92rem/1 var(--mo-display)!important;letter-spacing:-.02em!important}
  #loginModal .auth-pass-top span{display:flex!important;align-items:center!important;gap:8px!important;white-space:nowrap!important}
  #loginModal .auth-pass-top i{display:grid!important;place-items:center!important;width:22px!important;height:22px!important;border-radius:50%!important;background:var(--mo-green)!important;color:#fff!important;font:800 .7rem/1 var(--mo-display)!important;font-style:normal!important}
  #loginModal .auth-pass-mid{margin:13px 0 11px!important}
  #loginModal .auth-pass-mid small{display:block!important;font:700 .56rem/1.3 var(--mo-text)!important;letter-spacing:.09em!important;text-transform:uppercase!important;color:var(--mo-green-text)!important}
  #loginModal .auth-pass-mid strong{display:block!important;font:700 .92rem/1.25 var(--mo-text)!important;color:var(--mo-deep)!important}
  #loginModal .auth-pass-stamps{display:grid!important;grid-template-columns:repeat(10,1fr)!important;gap:4px!important}
  #loginModal .auth-pass-stamps i{display:block!important;aspect-ratio:1!important;border-radius:50%!important;border:1.5px solid rgba(5,47,43,.28)!important}
  #loginModal .auth-pass-stamps i.on{border-color:transparent!important;background:var(--mo-green)!important}
  #loginModal .auth-showcase>div:not(.auth-pass){margin-top:auto!important;padding-top:30px!important}
  #loginModal .auth-kicker{display:block!important;margin:0 0 14px!important;color:#8fe0d2!important;font:600 .9rem/1 var(--mo-text)!important;letter-spacing:0!important;text-transform:none!important}
  #loginModal .auth-showcase h2{margin:0 0 14px!important;color:#fff!important;font:800 2.6rem/.98 var(--mo-display)!important;letter-spacing:-.045em!important}
  #loginModal .auth-showcase p{max-width:300px!important;margin:0!important;color:rgba(255,255,255,.78)!important;font:500 .98rem/1.55 var(--mo-text)!important}
  #loginModal .auth-showcase ul{display:flex!important;flex-wrap:wrap!important;gap:8px!important;margin:24px 0 0!important;padding:0!important;list-style:none!important}
  #loginModal .auth-showcase li{display:flex!important;align-items:center!important;gap:7px!important;padding:8px 12px!important;border-radius:999px!important;background:rgba(255,255,255,.1)!important;border:1px solid rgba(255,255,255,.16)!important;color:#fff!important;font:600 .8rem/1 var(--mo-text)!important;white-space:nowrap!important}
  #loginModal .auth-showcase li svg{width:15px!important;height:15px!important;color:#8fe0d2!important}
  #loginModal .auth-panel{overflow:auto!important;padding:58px 46px 34px 48px!important;background:#fff!important}
  #loginModal .auth-view h2{margin:0!important;color:var(--mo-ink)!important;font:800 2.2rem/1.02 var(--mo-display)!important;letter-spacing:-.04em!important}
  #loginModal .auth-view>p{margin:10px 0 24px!important;color:var(--mo-soft)!important;font:500 1rem/1.5 var(--mo-text)!important}
  #loginModal .auth-view form>label,#loginModal .auth-field-row label{margin:14px 0 0!important;color:var(--mo-ink)!important;font:700 .84rem/1.3 var(--mo-text)!important}
  #loginModal .auth-field-row{gap:12px!important}
  #loginModal .auth-input{display:flex!important;align-items:center!important;gap:10px!important;min-height:52px!important;margin-top:7px!important;padding:0 16px!important;border:1px solid var(--mo-line)!important;border-radius:16px!important;background:var(--mo-paper)!important;box-shadow:none!important;transition:border-color .2s ease,background-color .2s ease,box-shadow .2s ease!important}
  #loginModal .auth-input:focus-within{border-color:var(--mo-green)!important;background:#fff!important;box-shadow:0 0 0 3px rgba(15,143,131,.14)!important}
  #loginModal .auth-input svg{width:18px!important;height:18px!important;color:var(--mo-green-text)!important}
  #loginModal .auth-input input{height:50px!important;padding:0!important;border:0!important;border-radius:0!important;background:transparent!important;color:var(--mo-ink)!important;font:500 1rem/1 var(--mo-text)!important;box-shadow:none!important}
  #loginModal .auth-options{margin:16px 0 0!important}
  #loginModal .auth-options label,#loginModal .auth-view form>label.auth-consent{color:var(--mo-soft)!important;font:500 .82rem/1.5 var(--mo-text)!important}
  #loginModal .auth-view form>label.auth-consent{margin-top:16px!important}
  #loginModal .auth-options input,#loginModal .auth-consent input{width:16px!important;height:16px!important;margin-top:2px!important;accent-color:var(--mo-green-ui)!important}
  #loginModal .auth-options button,#loginModal .auth-switch button{padding:0!important;border:0!important;background:none!important;color:var(--mo-green-text)!important;font:700 .82rem/1.5 var(--mo-text)!important;cursor:pointer!important}
  #loginModal .auth-options button:hover,#loginModal .auth-switch button:hover{text-decoration:underline!important}
  #loginModal .auth-submit{display:flex!important;align-items:center!important;justify-content:center!important;gap:10px!important;width:100%!important;height:auto!important;min-height:54px!important;margin-top:20px!important;border:0!important;border-radius:999px!important;background:var(--mo-green-ui)!important;color:#fff!important;font:700 1rem/1 var(--mo-text)!important;box-shadow:none!important;transition:background-color .25s ease,transform .3s var(--mo-ease)!important}
  #loginModal .auth-submit:hover{background:var(--mo-deep)!important;transform:translateY(-1px)!important}
  #loginModal .auth-submit svg{width:18px!important;height:18px!important;transition:transform .3s var(--mo-ease)!important}
  #loginModal .auth-submit:hover svg{transform:translateX(4px)!important}
  #loginModal .auth-demo{display:flex!important;align-items:center!important;justify-content:center!important;gap:7px!important;margin-top:14px!important;color:var(--mo-soft)!important;font:500 .78rem/1.4 var(--mo-text)!important}
  #loginModal .auth-demo svg{width:15px!important;height:15px!important;color:var(--mo-green-text)!important}
  #loginModal .auth-switch{display:block!important;margin-top:14px!important;padding-top:14px!important;border-top:1px solid var(--mo-line)!important;text-align:center!important;color:var(--mo-soft)!important;font:500 .82rem/1.5 var(--mo-text)!important}
  #loginModal .auth-mobile-brand{display:none!important}

  /* --- « Voir la démo » -------------------------------------------------------- */
  #demoModal .fx-demo-window{grid-template-columns:.92fr 1.08fr!important;width:min(900px,100%)!important;padding:10px!important;border:0!important;border-radius:40px 40px 40px 104px!important;background:#fff!important;box-shadow:0 40px 90px -30px rgba(0,0,0,.55)!important}
  #demoModal .fx-demo-art{isolation:isolate!important;gap:18px!important;padding:40px 24px 34px!important;border-radius:30px 30px 30px 94px!important;color:#fff!important;background:radial-gradient(80% 60% at 100% 0%,rgba(19,168,153,.55),transparent 65%),var(--mo-deep)!important}
  #demoModal .fx-demo-art::before{content:""!important;position:absolute!important;z-index:-1!important;inset:auto -80px -110px auto!important;width:380px!important;height:380px!important;background:url("assets/optimized/LEF.webp") center/contain no-repeat!important;opacity:.11!important;pointer-events:none!important}
  #demoModal .fx-demo-art>img{filter:drop-shadow(0 26px 26px rgba(0,0,0,.45))!important}
  #demoModal .fx-demo-art>p{color:rgba(255,255,255,.8)!important;font:500 .95rem/1.45 var(--mo-text)!important}
  #demoModal .fx-demo-badge{background:rgba(255,255,255,.1)!important;border:1px solid rgba(255,255,255,.18)!important;color:#fff!important;font:600 .82rem/1 var(--mo-text)!important}
  #demoModal .fx-demo-badge svg{color:#8fe0d2!important}
  #demoModal .fx-demo-copy{padding:46px 34px 30px 38px!important}
  #demoModal .fx-demo-copy h2{text-wrap:balance!important;font:800 2.3rem/1.02 var(--mo-display)!important;letter-spacing:-.045em!important;color:var(--mo-ink)!important}
  #demoModal .fx-demo-launch{min-height:54px!important;background:var(--mo-green-ui)!important;transition:background-color .25s ease,transform .3s var(--mo-ease)!important}
  #demoModal .fx-demo-launch:hover{background:var(--mo-deep)!important;transform:translateY(-1px)!important}

  /* --- Mot de passe oublié, devis, récapitulatif, fiches ------------------------ */
  .modal .modal-card:not(.auth-card):not(.onboarding-card)>h2{font-size:1.6rem!important;line-height:1.1!important}
  .modal .recovery-icon{border-radius:16px!important;background:var(--mo-mint)!important;color:var(--mo-green-text)!important}
  .modal .checkout-summary{border:1px solid var(--mo-line)!important;border-radius:20px!important;overflow:hidden!important}
  .modal .checkout-summary .checkout-total{background:var(--mo-mint)!important}
  .modal .checkout-summary strong{font-family:var(--mo-display)!important;font-weight:800!important;letter-spacing:-.02em!important}

  /* --- Premiers pas (choix de la formule) ---------------------------------------- */
  #onboardingModal .onboarding-card{border-radius:36px!important}
  #onboardingModal .onboarding-head{padding-right:76px!important}
  #onboardingModal .onboarding-head span{color:var(--mo-soft)!important;font:600 .8rem/1 var(--mo-text)!important;letter-spacing:0!important}
  #onboardingModal .onboarding-progress{background:var(--mo-mint)!important}
  #onboardingModal .onboarding-progress i{background:var(--mo-green)!important}
  #onboardingModal .onboarding-step h2{margin:14px 0 8px!important;font:800 2rem/1.05 var(--mo-display)!important;letter-spacing:-.04em!important}
  #onboardingModal .onboarding-step>p{color:var(--mo-soft)!important;font:500 .95rem/1.5 var(--mo-text)!important}
  #onboardingModal .onboarding-billing{border-radius:999px!important;background:var(--mo-mint)!important;border:0!important}
  #onboardingModal .onboarding-billing button{border-radius:999px!important;font-family:var(--mo-text)!important}
  #onboardingModal .onboarding-billing button.active{background:var(--mo-ink)!important;color:#fff!important;box-shadow:none!important}
  #onboardingModal .onboarding-billing button.active em{color:#8fe0d2!important}
  #onboardingModal .onboarding-options label>span{border:1px solid var(--mo-line)!important;border-radius:22px!important;background:#fff!important;box-shadow:none!important}
  #onboardingModal .onboarding-options label:hover>span{border-color:rgba(15,143,131,.4)!important}
  #onboardingModal .onboarding-options input:checked+span{border:2px solid var(--mo-green)!important;background:var(--mo-mint)!important;box-shadow:none!important}
  #onboardingModal .onboarding-options label>span>svg{color:var(--mo-green-text)!important}
  #onboardingModal .onboarding-options b{font:800 1.15rem/1.2 var(--mo-display)!important;letter-spacing:-.02em!important;color:var(--mo-ink)!important}
  #onboardingModal .onboarding-options small{color:var(--mo-soft)!important;font:500 .78rem/1.4 var(--mo-text)!important}
  #onboardingModal .onboarding-options em{border-radius:999px!important;padding:5px 9px!important;background:var(--mo-deep)!important;color:#fff!important;font:700 .66rem/1 var(--mo-text)!important}
  #onboardingModal .onboarding-ready{border:0!important;border-radius:18px!important;background:var(--mo-mint)!important}
  #onboardingModal .onboarding-ready>svg{background:var(--mo-green-ui)!important;color:#fff!important}
  #onboardingModal .onboarding-ready small{color:var(--mo-soft)!important}
  #onboardingModal .onboarding-color{border:1px solid var(--mo-line)!important;border-radius:14px!important}
  #onboardingModal .onboarding-actions{background:var(--mo-paper)!important;border-top:1px solid var(--mo-line)!important}
  #onboardingModal .onboarding-actions #onboardingNext{box-shadow:none!important}
  @media (max-height:800px) and (min-width:761px){
    #loginModal .auth-panel{padding:40px 46px 24px 48px!important}
    #loginModal .auth-view>p{margin:8px 0 14px!important}
    #loginModal .auth-view form>label,#loginModal .auth-field-row label{margin-top:10px!important}
    #loginModal .auth-input{min-height:46px!important}
    #loginModal .auth-input input{height:44px!important}
    #loginModal .auth-submit{min-height:50px!important;margin-top:16px!important}
    #loginModal .auth-pass{margin-top:18px!important}
    #loginModal .auth-showcase h2{font-size:2.3rem!important}
  }
  @media (max-height:700px) and (min-width:761px){
    #loginModal .auth-pass{display:none!important}
    #loginModal .auth-showcase>div:not(.auth-pass){padding-top:20px!important}
  }
  @media (max-width:760px){
    #loginModal{padding:12px!important}
    #loginModal .auth-card{display:block!important;width:min(500px,100%)!important;max-height:calc(100svh - 24px)!important;padding:0!important;border-radius:28px!important;overflow-y:auto!important}
    #loginModal .auth-showcase{display:none!important}
    #loginModal .auth-panel{padding:52px 24px 26px!important}
    #loginModal .auth-mobile-brand{display:block!important;margin-bottom:26px!important}
    #loginModal .auth-mobile-brand img{width:126px!important}
    #loginModal .auth-field-row{grid-template-columns:1fr!important;gap:0!important}
    #loginModal .auth-view h2{font-size:1.85rem!important}
  }
  @media (max-width:650px){
    #demoModal .fx-demo-window{padding:8px!important;border-radius:28px!important}
    #demoModal .fx-demo-art{padding:18px 20px!important;border-radius:22px 22px 22px 48px!important}
    #demoModal .fx-demo-copy{padding:24px 18px 18px!important}
    #demoModal .fx-demo-copy h2{font-size:1.85rem!important}
    .modal .modal-card{border-radius:26px!important}
    #onboardingModal .onboarding-card{border-radius:26px!important}
    #onboardingModal .onboarding-step h2{font-size:1.6rem!important}
  }
  @media (prefers-reduced-motion:reduce){
    .modal .modal-close,#loginModal .auth-submit,#loginModal .auth-submit svg,#demoModal .fx-demo-launch{transition:none!important}
  }

  /* --- Récapitulatif avant paiement ------------------------------------------ */
  .modal .fxc{width:min(480px,calc(100vw - 32px))!important;padding:10px!important;overflow:hidden!important}
  .modal .fxc>.modal-close{border-color:rgba(255,255,255,.25)!important;background:rgba(255,255,255,.1)!important;color:#fff!important}
  .modal .fxc>.modal-close:hover{background:rgba(255,255,255,.2)!important}
  .modal .fxc-head{position:relative!important;isolation:isolate!important;overflow:hidden!important;padding:30px 30px 26px!important;border-radius:24px 24px 24px 64px!important;color:#fff!important;background:radial-gradient(80% 120% at 100% 0%,rgba(19,168,153,.55),transparent 62%),var(--mo-deep)!important}
  .modal .fxc-head::before{content:""!important;position:absolute!important;z-index:-1!important;right:-70px!important;bottom:-90px!important;width:260px!important;height:260px!important;background:url("assets/optimized/LEF.webp") center/contain no-repeat!important;opacity:.14!important}
  .modal .fxc-eyebrow{display:inline-block!important;padding:6px 12px!important;border-radius:999px!important;background:rgba(127,227,211,.16)!important;color:#9fe9dc!important;font:700 .78rem/1 var(--mo-text)!important}
  .modal .fxc-head h2{margin:16px 0 0!important;color:#fff!important;font-size:2rem!important;line-height:1.05!important}
  .modal .fxc-price{display:flex!important;align-items:baseline!important;flex-wrap:wrap!important;gap:4px 10px!important;margin:10px 0 0!important;color:rgba(255,255,255,.72)!important;font:600 .9rem/1.3 var(--mo-text)!important}
  .modal .fxc-price strong{color:#fff!important;font:800 1.6rem/1 var(--mo-display)!important;letter-spacing:-.03em!important}
  .modal .fxc-trial{display:inline-flex!important;align-items:center!important;gap:8px!important;margin-top:18px!important;padding:8px 12px!important;border-radius:999px!important;background:#fff!important;color:var(--mo-deep)!important;font:700 .8rem/1.2 var(--mo-text)!important}
  .modal .fxc-trial svg{flex:none!important;width:16px!important;height:16px!important;color:var(--mo-green)!important}
  .modal .fxc-body{padding:22px 20px 14px!important}
  .modal .fxc-steps{position:relative!important;display:grid!important;gap:18px!important;margin:0!important;padding:0!important;list-style:none!important}
  .modal .fxc-steps::before{content:""!important;position:absolute!important;left:7px!important;top:14px!important;bottom:14px!important;border-left:2px dashed var(--mo-line)!important}
  .modal .fxc-steps li{position:relative!important;display:grid!important;grid-template-columns:16px minmax(0,1fr) auto!important;align-items:center!important;gap:14px!important}
  .modal .fxc-dot{width:16px!important;height:16px!important;border-radius:50%!important;border:2px solid var(--mo-green)!important;background:#fff!important;box-sizing:border-box!important}
  .modal .fxc-steps li.is-now .fxc-dot{background:var(--mo-green)!important;box-shadow:0 0 0 4px var(--mo-mint)!important}
  .modal .fxc-steps b{display:block!important;color:var(--mo-ink)!important;font:700 .95rem/1.25 var(--mo-text)!important}
  .modal .fxc-steps small{display:block!important;margin-top:2px!important;color:var(--mo-soft)!important;font-size:.8rem!important}
  .modal .fxc-steps strong{color:var(--mo-ink)!important;font:800 1rem/1 var(--mo-display)!important;white-space:nowrap!important}
  .modal .fxc-total{display:flex!important;align-items:center!important;justify-content:space-between!important;gap:16px!important;margin:22px 0 18px!important;padding:16px 18px!important;border-radius:20px!important;background:var(--mo-mint)!important}
  .modal .fxc-total span{color:var(--mo-ink)!important;font:700 .95rem/1.25 var(--mo-text)!important}
  .modal .fxc-total small{display:block!important;margin-top:2px!important;color:var(--mo-soft)!important;font:500 .78rem/1.3 var(--mo-text)!important}
  .modal .fxc-total strong{color:var(--mo-green-text)!important;font:800 1.6rem/1 var(--mo-display)!important;letter-spacing:-.03em!important;white-space:nowrap!important}
  .modal .fxc-cta{display:flex!important;align-items:center!important;justify-content:center!important;gap:10px!important;min-height:54px!important;font-size:1rem!important}
  .modal .fxc-cta svg{width:18px!important;height:18px!important}
  .modal .fxc-legal{display:flex!important;align-items:center!important;justify-content:center!important;gap:6px!important;margin-top:12px!important;color:var(--mo-soft)!important;font-size:.78rem!important;text-align:center!important}
  .modal .fxc-legal svg{flex:none!important;width:15px!important;height:15px!important;color:var(--mo-green)!important}
  @media (max-width:480px){
    .modal .fxc-head{padding:26px 22px 22px!important;border-radius:22px 22px 22px 48px!important}
    .modal .fxc-head h2{font-size:1.7rem!important}
    .modal .fxc-body{padding:18px 12px 10px!important}
    .modal .fxc-total strong{font-size:1.35rem!important}
  }

  /* --- Demande de devis (même gabarit que le récapitulatif) ------------------- */
  .modal .fxc--quote{width:min(560px,calc(100vw - 32px))!important;max-height:calc(100svh - 32px)!important;overflow-y:auto!important}
  .modal .fxc-intro{max-width:34em!important;margin:10px 0 0!important;color:rgba(255,255,255,.75)!important;font:500 .92rem/1.5 var(--mo-text)!important}
  .modal .fxc-head h2{padding-right:44px!important}
  .modal .fxc-form{display:grid!important;gap:16px!important;margin:0!important}
  .modal .fxc-row{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:14px!important}
  .modal .fxc-form label{display:grid!important;gap:7px!important;margin:0!important;font-size:.88rem!important}
  .modal .fxc-form :is(input,textarea){width:100%!important;box-sizing:border-box!important;font-size:.95rem!important}
  .modal .fxc-form input{height:48px!important;padding:0 14px!important}
  .modal .fxc-form textarea{min-height:96px!important;padding:12px 14px!important;resize:vertical!important}
  .modal .fxc-form .fxc-cta{margin-top:4px!important}
  @media (max-width:480px){.modal .fxc-row{grid-template-columns:1fr!important}}
}
