/* Webrim - Funnel devis on-site. Police: Montserrat partout (= site live). Safran #F7C435, ink #1C0F13, vert #005C29. */
.wd-shell{--ink:#1C0F13;--saffron:#F7C435;--green:#005C29;--ghost:#F0EFF4;--line:#e4e3ea;--muted:#6b6770;
  max-width:720px;margin:0 auto;scroll-margin-top:24px;background:#fff;border:1px solid var(--line);border-radius:18px;
  box-shadow:0 18px 50px rgba(28,15,19,.07);padding:34px 34px 26px;
  font-family:'Montserrat',system-ui,-apple-system,sans-serif;color:var(--ink);box-sizing:border-box}
.wd-shell *{box-sizing:border-box}
.wd-head{margin-bottom:26px}
.wd-progress{height:6px;background:var(--ghost);border-radius:99px;overflow:hidden}
.wd-progress-bar{display:block;height:100%;width:0;background:var(--saffron);border-radius:99px;transition:width .35s ease}
.wd-step-count{margin-top:10px;font-size:12.5px;font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:var(--muted)}
.wd-change{margin-top:6px;font-size:14px;color:var(--muted)}
.wd-change-link{font-size:13px;font-weight:600;color:var(--green);text-decoration:none;border-bottom:1px solid transparent}
.wd-change-link:hover{border-bottom-color:var(--saffron)}
.wd-card{animation:wdfade .3s ease}
@keyframes wdfade{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}
.wd-q-title{font-weight:700;font-size:25px;line-height:1.25;color:var(--ink);margin:0 0 6px}
.wd-q-sub{font-size:15px;line-height:1.6;color:var(--muted);margin:0 0 18px;font-weight:400}
.wd-hint{font-size:12px;font-weight:600;letter-spacing:.03em;text-transform:uppercase;color:var(--green);margin:0 0 12px}
.wd-opts{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.wd-shell .wd-opt{position:relative;display:flex;align-items:center;justify-content:space-between;gap:10px;
  text-align:start;padding:16px 16px;border:1.5px solid var(--line)!important;border-radius:13px!important;background:#fff!important;cursor:pointer;box-shadow:none!important;
  font-family:inherit!important;font-size:15px!important;font-weight:500!important;color:var(--ink)!important;text-transform:none!important;letter-spacing:normal!important;
  transition:border-color .15s,background .15s,box-shadow .15s;width:100%;min-height:0;text-shadow:none}
.wd-shell .wd-opt:hover{border-color:var(--saffron)!important;background:#fffdf4!important}
.wd-shell .wd-opt.is-sel{border-color:var(--saffron)!important;background:#fff9e3!important;box-shadow:0 0 0 3px rgba(247,196,53,.22)!important}
.wd-opt-lb{flex:1 1 auto}
.wd-opt-mark{flex:0 0 auto;width:20px;height:20px;border:1.5px solid var(--line);border-radius:50%;position:relative;transition:.15s;background:#fff}
.wd-checkbox .wd-opt-mark{border-radius:6px}
.wd-opt.is-sel .wd-opt-mark{border-color:var(--saffron);background:var(--saffron)}
.wd-opt.is-sel .wd-opt-mark::after{content:"";position:absolute;left:6px;top:2px;width:5px;height:10px;border:solid var(--ink);border-width:0 2px 2px 0;transform:rotate(45deg)}
.wd-textarea{width:100%;border:1.5px solid var(--line);border-radius:13px;padding:14px 16px;font-family:inherit;font-size:16px;line-height:1.6;color:var(--ink);resize:vertical;min-height:130px;background:#fff}
.wd-textarea:focus{outline:none;border-color:var(--saffron);box-shadow:0 0 0 3px rgba(247,196,53,.22)}
.wd-nav{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-top:26px;padding-top:20px;border-top:1px solid var(--line)}
.wd-shell .wd-back{background:none!important;border:none!important;box-shadow:none!important;cursor:pointer;font-family:inherit!important;font-weight:600!important;font-size:14px!important;color:var(--muted)!important;padding:8px 4px!important;text-transform:none!important}
.wd-shell .wd-back:hover{color:var(--ink)!important}
.wd-shell .wd-next{font-family:inherit!important;font-weight:700!important;font-size:15px!important;letter-spacing:.02em!important;text-transform:none!important;
  border:none!important;border-radius:12px!important;padding:14px 30px!important;cursor:pointer;background:var(--saffron)!important;color:var(--ink)!important;box-shadow:0 8px 20px rgba(247,196,53,.32)!important;margin-left:auto;transition:box-shadow .15s,transform .1s,opacity .15s}
.wd-shell .wd-next:hover{box-shadow:0 10px 26px rgba(247,196,53,.45)!important}
.wd-shell .wd-next:active{transform:translateY(1px)}
.wd-shell .wd-next:disabled{opacity:.4;cursor:not-allowed;box-shadow:none!important}
/* ---- Carte contact (CF7) ---- */
.wd-cf7 .wpcf7{margin:0}
.wd-cf7 form.wpcf7-form{margin:0}
.wd-contact .wd-q-sub{margin-bottom:20px}
.wd-contact .wd-fields{display:block;margin:0 0 4px}
.wd-cf7 .wpcf7-form-control-wrap{display:block;margin-bottom:12px}
.wd-cf7 .wd-input,.wd-cf7 input.wpcf7-form-control:not([type=submit]):not([type=file]){width:100%;border:1.5px solid var(--line)!important;border-radius:12px!important;padding:14px 16px!important;font-family:'Montserrat',system-ui,sans-serif!important;font-size:15.5px!important;font-weight:400!important;color:var(--ink)!important;background:#fff!important;box-shadow:none!important;line-height:1.3}
.wd-cf7 .wd-input::placeholder{color:#9a96a0;font-weight:400}
.wd-cf7 .wd-input:focus,.wd-cf7 input:focus{outline:none;border-color:var(--saffron)!important;box-shadow:0 0 0 3px rgba(247,196,53,.22)!important}
.wd-file-label{display:block;font-family:'Montserrat',sans-serif;font-size:13px;font-weight:600;color:var(--muted);margin:6px 0 0;letter-spacing:.01em}
.wd-file-label input[type=file]{display:block;width:100%;margin-top:9px;font-family:'Montserrat',sans-serif;font-size:13px;color:var(--ink);border:1.5px dashed var(--line);border-radius:12px;padding:12px 14px;background:#faf9fc;cursor:pointer}
.wd-file-label input[type=file]:hover{border-color:var(--saffron);background:#fffdf4}
.wd-file-label input[type=file]::file-selector-button{font-family:'Montserrat',sans-serif;font-weight:600;font-size:12.5px;border:none;border-radius:8px;padding:8px 14px;margin-right:12px;background:var(--ink);color:#fff;cursor:pointer;transition:background .15s}
.wd-file-label input[type=file]::file-selector-button:hover{background:#000}
.wd-cf7 .wd-submit,.wd-cf7 input.wd-submit{font-family:'Montserrat',sans-serif!important;font-weight:700!important;text-transform:none!important;letter-spacing:.02em!important;border:none!important;border-radius:12px!important;padding:16px 30px!important;background:var(--saffron)!important;color:var(--ink)!important;box-shadow:0 8px 20px rgba(247,196,53,.32)!important;width:100%;margin-top:16px;cursor:pointer;font-size:15.5px!important;transition:box-shadow .15s,transform .1s}
.wd-cf7 .wd-submit:hover{box-shadow:0 10px 26px rgba(247,196,53,.45)!important}
.wd-cf7 .wd-submit:active{transform:translateY(1px)}
.wd-cf7 .wpcf7-spinner{margin:12px auto 0;display:block}
.wd-cf7 .wpcf7-response-output{margin:16px 0 0!important;border-radius:10px;font-family:'Montserrat',sans-serif;font-size:14px;padding:12px 14px!important}
.wd-cf7 .wpcf7-not-valid-tip{font-family:'Montserrat',sans-serif;font-size:12.5px;color:#c0392b;margin-top:5px}
.wd-cf7 form>p{margin:0}
/* ---- Confirmation ---- */
.wd-confirm{text-align:center;padding:18px 6px 8px}
.wd-confirm-ic{width:64px;height:64px;border-radius:50%;background:var(--green);color:#fff;font-size:32px;line-height:64px;margin:0 auto 18px}
.wd-confirm .wd-q-title{font-size:26px}
.wd-confirm-cta{display:flex;gap:12px;justify-content:center;flex-wrap:wrap;margin-top:22px}
.wd-btn{display:inline-block;text-decoration:none;text-align:center;font-family:'Montserrat',sans-serif;font-weight:700;border-radius:12px;padding:14px 26px;cursor:pointer}
.wd-btn-primary{background:var(--saffron)!important;color:var(--ink)!important;box-shadow:0 8px 20px rgba(247,196,53,.32)}
.wd-btn-ghost{background:#fff!important;color:var(--ink)!important;border:1.5px solid var(--line)!important}
.wd-btn-ghost:hover{border-color:var(--green)!important;color:var(--green)!important}
@media(max-width:600px){
  .wd-shell{padding:22px 18px 20px;border-radius:14px}
  .wd-q-title{font-size:21px}
  .wd-opts,.wd-opts.wd-radio,.wd-opts.wd-checkbox{grid-template-columns:1fr}
  .wd-shell .wd-next{padding:13px 22px!important}
}
#wbwa{display:none!important}

/* ---- Filet de securite upload bloque ---- */
.wd-stall{margin-top:14px;padding:14px 16px;border:1.5px solid #b8860b;border-radius:12px;background:rgba(184,134,11,.08)}
.wd-stall-txt{margin:0 0 12px;font-size:14px;line-height:1.6;color:var(--ink)}
.wd-stall .wd-stall-btn{width:100%}

/* ===========================================================================
   Page /devis/ en gabarit Canvas (2026-08-15). Le theme ne rend plus ni en-tete,
   ni hero, ni pied de page : le loader emet un micro-chrome (identite, H1, intro,
   ligne legale) et le selecteur de langue reste emis sur wp_footer.
   Les 3 tokens ci-dessous sont le seul endroit ou vit la palette du cadre : le
   format app les redefinit pour passer en palette claire.
   Rollback : option webrim_bak_canvas_20260815.
   =========================================================================== */
body.wbd-page{--wbd-bg:#161616;--wbd-title:#d7d7d7;--wbd-text:#a0a0a0;--wbd-faint:#8a8a8a;background:var(--wbd-bg)}
.wbd-bar{max-width:720px;margin:0 auto;padding:20px 18px 0}
.wbd-bar img{display:block;width:62px;height:auto}
.wbd-hero{max-width:720px;margin:0 auto;padding:22px 18px 26px}
/* Scope body.wbd-page obligatoire : le kit Elementor pose .elementor-kit-7697 h1
   (0,0,1,1), qui bat une simple classe et ramenait le titre a 54 px. */
body.wbd-page .wbd-title{font-family:'Montserrat',system-ui,sans-serif;font-size:30px;line-height:1.2;font-weight:600;color:var(--wbd-title);margin:0 0 10px}
.wbd-intro{font-family:'Montserrat',system-ui,sans-serif;font-size:15px;line-height:1.65;color:var(--wbd-text);margin:0;max-width:58ch}
.wbd-legal{max-width:720px;margin:0 auto;padding:26px 18px 8px;font-family:'Montserrat',system-ui,sans-serif;font-size:12.5px;color:var(--wbd-faint);text-align:center}
@media(max-width:600px){
  .wbd-bar{padding:16px 16px 0}
  .wbd-bar img{width:54px}
  .wbd-hero{padding:16px 16px 20px}
  body.wbd-page .wbd-title{font-size:22px}
  .wbd-intro{font-size:14px}
}

/* ===========================================================================
   FORMAT APP (2026-08-15, maquette validee par Jah). Tout est conditionne a
   body.wd-app-on, posee par funnel.js en FIN de restructuration : sans JS ou en
   cas d'echec, aucune regle ci-dessous ne s'applique et la page garde le flux
   document du gabarit Canvas.
   Palette CLAIRE (arbitrage Jah) : rail creme, scene blanche, safran pour la
   progression et les selections, encre pour le texte, vert pour les reponses.
   Proprietes logiques partout (inset-inline, padding-inline, text-align:start) :
   l'arabe inverse la lecture, le rail passe a droite sans regle dediee.
   Rollback : option webrim_bak_funnel_app_20260815.
   =========================================================================== */
body.wd-app-on{overflow:hidden;height:100vh;height:100dvh;--wbd-bg:#fff;--wbd-title:#1C0F13;--wbd-text:#6b6770;--wbd-faint:#6b6770}
body.wd-app-on .wd-app{--ink:#1C0F13;--saffron:#F7C435;--green:#005C29;--line:#e6e4dd;--muted:#6b6770;--rail:#FBFAF7;
  display:grid;grid-template-columns:360px minmax(0,1fr);height:100vh;height:100dvh;width:100%}
/* ---- Rail de contexte ---- */
/* Le rail ne defile pas d'un bloc : l'identite reste en haut, la reassurance et
   les sorties restent en bas, et SEULE la liste des etapes defile quand elle ne
   tient pas (9 etapes depassaient 820 px de haut). Insensible a la hauteur de
   fenetre et au nombre d'etapes. */
body.wd-app-on .wd-rail{background:var(--rail);border-inline-end:1px solid var(--line);padding:22px 30px;
  display:flex;flex-direction:column;overflow:hidden;color:var(--ink);font-family:'Montserrat',system-ui,sans-serif}
body.wd-app-on .wd-rail-logo img{display:block;width:56px;height:auto}
body.wd-app-on .wd-rail-logo a{color:var(--ink);text-decoration:none;font-weight:700}
body.wd-app-on .wd-rail .wbd-title{font-size:23px;font-weight:600;line-height:1.2;margin:26px 0 8px;color:var(--ink)}
body.wd-app-on .wd-rail-intro{font-size:13px;color:var(--muted);line-height:1.55;margin:0 0 20px;max-width:none;text-align:start}
body.wd-app-on .wd-rail-hint{font-size:12.5px;color:var(--muted);margin:0 0 10px}
body.wd-app-on .wd-steps{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:2px;
  flex:1 1 auto;min-height:0;overflow:auto;overscroll-behavior:contain}
body.wd-app-on .wd-steps li{position:relative;padding:5px 0;padding-inline-start:30px;font-size:14px;color:var(--muted);text-align:start;flex:0 0 auto}
body.wd-app-on .wd-steps li::before{content:"";position:absolute;inset-inline-start:0;top:9px;width:16px;height:16px;
  border-radius:50%;border:2px solid var(--line);background:#fff;box-sizing:border-box}
body.wd-app-on .wd-steps li:not(:last-child)::after{content:"";position:absolute;inset-inline-start:7px;top:29px;bottom:-9px;width:2px;background:var(--line)}
body.wd-app-on .wd-steps li.done{color:var(--ink)}
body.wd-app-on .wd-steps li.done::before{border-color:var(--saffron);background:var(--saffron)}
body.wd-app-on .wd-steps li.done:not(:last-child)::after{background:var(--saffron)}
/* La coche donne au point franchi une forme lisible : un aplat safran sur creme
   ne tient pas seul le contraste. Meme langage visuel que la case d'option. */
body.wd-app-on .wd-step-tick{position:absolute;inset-inline-start:5.5px;top:12px;width:5px;height:9px;
  border:solid var(--ink);border-width:0 2px 2px 0;transform:rotate(45deg)}
body.wd-app-on .wd-steps li.current{color:var(--ink);font-weight:600}
body.wd-app-on .wd-steps li.current::before{border-color:var(--ink)}
body.wd-app-on .wd-step-a{display:block;font-size:12px;color:var(--green);font-weight:500}
body.wd-app-on .wd-rail-proof{margin-top:auto;padding-top:24px;font-size:12px;color:var(--muted)}
body.wd-app-on .wd-rail-foot{padding-top:10px;font-size:12.5px}
body.wd-app-on .wd-rail-foot a{color:var(--muted);text-decoration:underline}
body.wd-app-on .wd-rail-foot a:hover{color:var(--ink)}
/* Fleche de retour posee en CSS : elle doit pointer a droite en lecture arabe. */
body.wd-app-on .wd-rail-foot a::before{content:"\2190\00a0"}
html[dir="rtl"] body.wd-app-on .wd-rail-foot a::before{content:"\2192\00a0"}
/* Le bouton primaire doit filer au bout de la ligne de lecture, donc a gauche en
   arabe : margin-left:auto du style de base le collait au bouton Retour. */
body.wd-app-on .wd-shell .wd-next{margin-left:0;margin-inline-start:auto}
/* Selecteur de langue deplace dans le rail : sa feuille d'origine est ecrite
   pour le fond noir du site, illisible sur le creme. */
body.wd-app-on .wd-rail-langs{margin-top:14px;padding:0;display:flex;flex-wrap:wrap;gap:2px 10px;font-size:12px;background:none;text-align:start}
body.wd-app-on .wd-rail-langs a{color:var(--muted)!important;text-decoration:none;padding:0;margin:0;border:0}
body.wd-app-on .wd-rail-langs a::before,body.wd-app-on .wd-rail-langs a::after{content:none!important}
body.wd-app-on .wd-rail-langs a:hover{color:var(--ink)!important}
body.wd-app-on .wd-rail-langs a.cur{color:var(--ink)!important;font-weight:600;border-bottom:2px solid var(--saffron)}
/* ---- Zone d'action : le shell devient une colonne pleine hauteur ---- */
body.wd-app-on .wd-shell{max-width:none;margin:0;background:#fff;border:0;border-radius:0;box-shadow:none;padding:0;
  scroll-margin-top:0;height:100%;min-width:0;display:flex;flex-direction:column;overflow:hidden}
body.wd-app-on .wd-head{margin:0}
body.wd-app-on .wd-progress{height:3px;border-radius:0;background:#f0efeb}
body.wd-app-on .wd-change{padding-block:10px 0;padding-inline:max(40px,calc((100% - 660px)/2))}
body.wd-app-on .wd-topbar{display:none}
body.wd-app-on .wd-scene{flex:1;overflow:auto;padding:40px 40px 20px;display:flex;flex-direction:column;align-items:center}
body.wd-app-on .wd-mount,body.wd-app-on .wd-cf7,body.wd-app-on .wd-nav,body.wd-app-on .wd-scene>.wd-confirm{width:100%;max-width:660px}
/* Etape 1 en lignes, jamais en tuiles (arbitrage Jah) : 7 libelles de services
   se lisent en colonne, pas en damier. */
body.wd-app-on .wd-card[data-step="service"] .wd-opts{grid-template-columns:1fr}
/* Etape coordonnees : 4 champs dans une scene presque vide flottaient tout en
   haut. Centre verticalement A CETTE ETAPE SEULEMENT : ailleurs le contenu doit
   rester colle au haut de la scene. */
body.wd-app-on .wd-shell.wd-at-contact .wd-cf7{margin-top:auto}
/* Les sauts de ligne du gabarit CF7 creent une ligne de texte vide entre chaque
   champ : 39 px d'ecart au lieu du rythme voulu. font-size:0 sur le conteneur
   annule ces lignes fantomes, les enfants reprennent leur taille. */
body.wd-app-on .wd-cf7 .wd-fields{font-size:0}
body.wd-app-on .wd-cf7 .wpcf7-form-control-wrap{margin-bottom:14px;font-size:15.5px}
body.wd-app-on .wd-cf7 .wd-file-label{font-size:13px;margin-top:14px}
/* 32 px avant l'envoi, comme avant les boutons des autres etapes. */
body.wd-app-on .wd-cf7 .wd-submit{margin-top:32px}
/* 32 px avant les actions : un cran au-dessus de l'ecart entre options (12 px),
   pour marquer le passage de la zone "je reponds" a la zone "je navigue".
   Retour en bouton fantome borde : le style de base le met en texte nu avec un
   !important, il faut le recontrer par un !important. */
body.wd-app-on .wd-nav{margin:32px 0 0;border-top:0;padding:0;background:transparent}
body.wd-app-on .wd-shell .wd-back{border:1.5px solid var(--line)!important;border-radius:12px!important;
  padding:12px 22px!important;color:var(--muted)!important;background:transparent!important;transition:border-color .15s,color .15s}
body.wd-app-on .wd-shell .wd-back:hover{border-color:var(--ink)!important;color:var(--ink)!important}
body.wd-app-on .wd-scene>.wbd-legal{margin-top:auto;padding:26px 0 4px;font-size:11.5px;max-width:660px}
/* Mobile : le rail est masque, le selecteur de langue ferme la scene. */
body.wd-app-on .wd-scene>.wd-rail-langs{width:100%;max-width:660px;justify-content:center;margin:2px 0 0;padding:0 0 4px}
/* Transition laterale : la nouvelle carte entre par la fin de la ligne de
   lecture, donc par la gauche en arabe. */
body.wd-app-on .wd-mount>.wd-card{animation:wdSlide .32s ease}
@keyframes wdSlide{from{opacity:0;transform:translateX(42px)}to{opacity:1;transform:none}}
html[dir="rtl"] body.wd-app-on .wd-mount>.wd-card{animation:wdSlideRtl .32s ease}
@keyframes wdSlideRtl{from{opacity:0;transform:translateX(-42px)}to{opacity:1;transform:none}}
@media(prefers-reduced-motion:reduce){body.wd-app-on .wd-mount>.wd-card{animation:none}}
/* ---- Mobile : pas de rail ni de verrou 100vh (clavier). Bandeau compact
   colle en haut, navigation epinglee en bas dans la zone du pouce. ---- */
@media(max-width:1023px){
  /* visible et pas auto : un overflow non-visible sur body casse position:sticky */
  body.wd-app-on{overflow:visible;height:auto}
  body.wd-app-on .wd-app{grid-template-columns:minmax(0,1fr);height:auto;min-height:100vh;min-height:100dvh}
  body.wd-app-on .wd-rail{display:none}
  body.wd-app-on .wd-shell{height:auto;overflow:visible;min-height:100vh;min-height:100dvh}
  body.wd-app-on .wd-topbar{display:flex;align-items:center;gap:12px;position:sticky;top:0;z-index:9;
    background:rgba(255,255,255,.95);backdrop-filter:blur(6px);height:44px;box-sizing:border-box;padding:8px 16px}
  body.wd-app-on .wd-topbar img{display:block;width:34px;height:auto}
  /* Le trait de progression colle sous le bandeau et lui sert de separateur :
     il reste visible pendant tout le defilement. */
  body.wd-app-on .wd-head{position:sticky;top:44px;z-index:8;background:#fff}
  body.wd-app-on .wd-topbar .wd-step-count{margin:0;margin-inline-start:auto;font-size:11.5px}
  body.wd-app-on .wd-change{padding:10px 16px 0}
  body.wd-app-on .wd-scene{overflow:visible;padding:20px 16px 108px}
  body.wd-app-on .wd-nav{position:fixed;left:0;right:0;bottom:0;z-index:9;max-width:none;margin:0;
    padding:12px 16px calc(12px + env(safe-area-inset-bottom));background:rgba(255,255,255,.97);border-top:1px solid var(--line)}
  body.wd-app-on .wd-shell .wd-next{flex:1;margin-inline-start:16px}
  /* La barre epinglee recouvre les 77 derniers pixels : on resserre le pied de
     scene pour que copyright et langues restent au-dessus d'elle. */
  body.wd-app-on .wd-scene>.wbd-legal{padding:10px 0 2px}
}
/* Focus clavier visible : les options et boutons n'avaient aucun anneau. */
.wd-shell .wd-opt:focus-visible,.wd-shell .wd-next:focus-visible,.wd-shell .wd-back:focus-visible,.wd-shell a:focus-visible{outline:2px solid var(--green);outline-offset:2px}
body.wd-app-on .wd-rail a:focus-visible,body.wd-app-on .wd-topbar a:focus-visible{outline:2px solid #005C29;outline-offset:2px}

/* ---- Ecran de confirmation : ordre de rendu ----
   showConfirm() ajoute la carte en dernier enfant de .wd-scene, donc APRES
   .wbd-legal dont margin-top:auto absorbe tout l'espace libre. Resultat :
   le copyright se retrouve au-dessus du merci, pousse tout en bas de page.
   On retablit l'ordre visuel et on centre la confirmation ; le copyright ferme.
   Porte de FRVO (pose le 2026-08-17 la-bas), pose ici le 2026-08-18.
   Rollback : option webrim_bak_funnel_css_confirm_20260818. */
body.wd-app-on .wd-scene>.wbd-legal:has(~.wd-confirm){margin-top:0;order:1}
body.wd-app-on .wd-scene>.wd-confirm{order:0;margin-top:auto;margin-bottom:auto}
/* Mobile : le selecteur de langue vit en fin de scene, sous le copyright. Sans
   cette ligne, l'ordre pose ci-dessus le laisse en tete du merci (order 0).
   Scope sur la scene et non sur une fratrie : le selecteur est injecte par
   webrim-lang-switcher APRES la carte quand le visiteur envoie vite. */
body.wd-app-on .wd-scene:has(>.wd-confirm)>.wd-rail-langs{order:2}
/* Le bandeau mobile affichait encore "etape 9 sur 9" au-dessus du merci : le
   parcours est fini, le compteur n'a plus d'objet. Le logo, lui, reste. */
body.wd-app-on .wd-shell:has(.wd-confirm) .wd-topbar .wd-step-count{display:none}
/* Contraintes du depot affichees sous le champ (formats, poids, un seul fichier) :
   le visiteur les decouvrait au refus. font-size explicite car .wd-fields est a 0
   en format app pour tuer les lignes fantomes de l'autop CF7. */
.wd-file-hint{display:block;font-family:'Montserrat',system-ui,sans-serif;font-size:12px;line-height:1.5;color:var(--muted);margin:7px 0 2px}
body.wd-app-on .wd-cf7 .wd-file-hint{font-size:12px}
/* Defaut prealable, rendu visible par le libelle plus long : .wd-file-label
   heritait d'une hauteur de ligne a 0 (mesure au navigateur), donc des qu'il
   passait sur deux lignes le texte se superposait a lui-meme. Se voyait sur
   mobile et sur toute colonne etroite. */
.wd-shell .wd-file-label,body.wd-app-on .wd-cf7 .wd-file-label{line-height:1.45}
/* Une etape courte laissait 479 px de vide sous les boutons sur un ecran de
   896 px de haut : le bloc collait en haut de la scene. Une seule marge auto
   sur le contenu suffit : elle partage l'espace libre avec celle du copyright,
   donc la carte et ses boutons descendent a mi-hauteur et le copyright reste
   colle en bas. Deux marges auto ici ecarteraient les boutons de la carte,
   l'ecart de 32 px est un arbitrage a ne pas casser. Hors etape coordonnees :
   la carte CF7 remplit deja la scene et porte sa propre regle. */
body.wd-app-on .wd-shell:not(.wd-at-contact) .wd-scene>.wd-mount{margin-top:auto}
/* Depots supplementaires (2 fichiers et 2 liens de plus) : CF7 exige des noms
   de champs fixes, les emplacements sont donc poses d'avance dans le formulaire
   et le "+" revele le suivant. font-size explicite : .wd-fields est a 0 en
   format app. !important parce que le theme habille tous les boutons. */
.wd-slot{display:block}
.wd-slot.is-off{display:none}
.wd-cf7 .wd-more-btn{display:inline-block;width:auto!important;margin:2px 0 10px!important;padding:8px 14px!important;
  border:1.5px dashed var(--line)!important;border-radius:10px!important;background:none!important;box-shadow:none!important;
  font-family:'Montserrat',system-ui,sans-serif!important;font-size:12.5px!important;font-weight:600!important;
  line-height:1.4!important;letter-spacing:normal!important;text-transform:none!important;color:var(--muted)!important;cursor:pointer}
.wd-cf7 .wd-more-btn::before{content:"+ "}
.wd-cf7 .wd-more-btn:hover{border-color:var(--saffron)!important;color:var(--ink)!important}
