/**
 * Probot Soumission FANUC — Feuille de style
 * Tout est scopé sous .probot-soum pour ne pas polluer le thème WordPress.
 */

/* v1.0.98 — Fonts aligned on brand probotsystems.com : Inter only.
   Previously imported Barlow Condensed + Inter Tight. Now consolidated on
   Inter (weights 400-800 cover everything from body text to h1 bold). Plus
   IBM Plex Sans + JetBrains Mono kept for the developer console widget. */
@import url('https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700;800&family=IBM+Plex+Sans:wght@400;500;600;700&family=JetBrains+Mono:wght@400;500;600;700&display=swap');

.probot-soum{
  --blue:#1A6BAD;--blue-l:#EBF4FC;--dark:#1B2835;--steel:#5A6E7F;
  --light:#F4F7FA;--bd:#DDE4EC;--wh:#FFFFFF;--ok:#16A34A;--ok-l:#F0FDF4;
  --warn:#B45309;--warn-l:#FFFBEB;--err:#DC2626;--gold:#D97706;
  font-family:'Inter',sans-serif;
  color:var(--dark);
  background:var(--light);
  display:block;
  width:100%;
}
.probot-soum *,.probot-soum *::before,.probot-soum *::after{box-sizing:border-box;margin:0;padding:0;}
.probot-soum .ps-page{max-width:720px;margin:0 auto;padding:32px 20px 80px;}
/* v1.1.117 — Cacher le chat HubSpot sur les pages funnel (distraction du
   formulaire). Le CSS du plugin n'est chargé QUE sur ces pages, et `:has()`
   double-verrouille le scope. Le chat reste actif sur le reste du site. */
body:has(.probot-soum) #hubspot-messages-iframe-container{display:none !important;}

/* Header */
.probot-soum .hdr{display:flex;align-items:center;gap:12px;margin-bottom:32px;animation:probot-fu .5s both;}
.probot-soum .logo{height:42px;display:flex;align-items:center;flex-shrink:0;}
.probot-soum .logo img{height:42px;width:auto;object-fit:contain;}
.probot-soum .hdr-info{flex:1;}
.probot-soum .hdr-info strong{font-family:'Inter',sans-serif;font-weight:700;font-size:15px;display:block;}
.probot-soum .hdr-info span{font-size:12px;color:var(--steel);}
.probot-soum .lsw{display:flex;gap:3px;margin-left:auto;}
.probot-soum .lsw button{font-size:11px;font-weight:500;font-family:'Inter',sans-serif;padding:5px 11px;border-radius:7px;border:1px solid var(--bd);background:var(--wh);color:var(--steel);cursor:pointer;transition:all .15s;}
.probot-soum .lsw button.on{background:var(--blue);color:#fff;border-color:var(--blue);}

/* Hero */
.probot-soum .hero{margin-bottom:28px;animation:probot-fu .5s .05s both;border-radius:14px;overflow:hidden;position:relative;}
.probot-soum .hero-bg{position:relative;background:url('https://www.probotsystems.com/wp-content/uploads/2024/07/Media-3-noirci-jpg.webp') center center/cover no-repeat;border-radius:14px;padding:24px 24px 20px;}
.probot-soum .hero-bg::before{content:'';position:absolute;inset:0;background:linear-gradient(135deg,rgba(27,40,53,0.82) 0%,rgba(26,107,173,0.55) 100%);border-radius:14px;z-index:0;}
.probot-soum .hero-inner{display:flex;align-items:center;gap:24px;position:relative;z-index:1;}
.probot-soum .hero-text{flex:1;min-width:0;}
.probot-soum .hero-text h1{color:#fff !important;}
.probot-soum .hero-text h1 em{color:#7EC8F5 !important;font-style:normal;}
.probot-soum .hero-text p{color:rgba(255,255,255,0.85) !important;}
.probot-soum .hero-img{display:none !important;}
.probot-soum .hero img{max-width:100% !important;max-height:140px !important;width:auto !important;height:auto !important;display:block;}
.probot-soum .hero h1{font-family:'Inter',sans-serif;font-weight:800;font-size:clamp(28px,5vw,44px);line-height:1.1;letter-spacing:-.02em;margin-bottom:10px;}
.probot-soum .hero p{font-size:14px;color:var(--steel);}
@media(max-width:520px){
  .probot-soum .hero-inner{flex-direction:column;}
  .probot-soum .hero-img{width:100%;height:150px;}
  .probot-soum .hero-bg{padding:24px 20px 20px;}
}

/* Progress */
.probot-soum .prog{display:flex;background:var(--wh);border:1px solid var(--bd);border-radius:14px;overflow:hidden;margin-bottom:20px;animation:probot-fu .5s .1s both;}
.probot-soum .pt{flex:1;padding:12px 8px;text-align:center;border-right:1px solid var(--bd);transition:all .2s;}
.probot-soum .pt:last-child{border-right:none;}
.probot-soum .pt .pn{font-family:'Inter',sans-serif;font-size:20px;font-weight:800;color:var(--bd);display:block;transition:color .2s;}
.probot-soum .pt .pl{font-size:11px;color:var(--steel);}
.probot-soum .pt.active{background:var(--blue-l);}
.probot-soum .pt.active .pn{color:var(--blue);}
.probot-soum .pt.done .pn{color:var(--ok);font-size:14px;}

/* Card */
.probot-soum .card{background:var(--wh);border:1px solid var(--bd);border-radius:16px;padding:24px;margin-bottom:16px;animation:probot-fu .5s .15s both;}
.probot-soum .ctit{font-family:'Inter',sans-serif;font-weight:600;font-size:12px;letter-spacing:.07em;text-transform:uppercase;color:var(--steel);margin-bottom:18px;padding-bottom:14px;border-bottom:1px solid var(--bd);}

/* Fields */
.probot-soum .field{margin-bottom:16px;}
.probot-soum .field label{display:block;font-size:13px;color:var(--steel);margin-bottom:6px;font-weight:500;}
.probot-soum .field label .req{color:var(--blue);}
.probot-soum .field input,
.probot-soum .field select{width:100%;padding:10px 14px;font-size:14px;font-family:'Inter',sans-serif;border:1px solid var(--bd);border-radius:10px;background:var(--wh);color:var(--dark);outline:none;transition:border .15s,box-shadow .15s;-webkit-appearance:none;}
.probot-soum .field input:focus,
.probot-soum .field select:focus{border-color:var(--blue);box-shadow:0 0 0 3px rgba(26,107,173,.12);}
.probot-soum .field.err input,
.probot-soum .field.err select{border-color:var(--err);}
.probot-soum .emsg{font-size:12px;color:var(--err);margin-top:4px;display:none;}
.probot-soum .field.err .emsg{display:block;}
.probot-soum .frow{display:grid;grid-template-columns:1fr 1fr;gap:14px;}
@media(max-width:500px){.probot-soum .frow{grid-template-columns:1fr;}}

/* City detected badge */
.probot-soum .city-badge{display:none;align-items:center;gap:8px;margin-top:8px;font-size:12px;color:var(--ok);background:var(--ok-l);border:1px solid #86EFAC;border-radius:8px;padding:6px 12px;}
.probot-soum .city-badge.on{display:flex;}
.probot-soum .city-badge svg{flex-shrink:0;}

/* Flight box */
.probot-soum .flt-box{background:var(--blue-l);border:1px solid #BAD8F5;border-radius:12px;padding:14px 16px;margin-top:10px;display:none;}
.probot-soum .flt-box.on{display:block;}
.probot-soum .flt-ld{font-size:13px;color:var(--steel);display:flex;align-items:center;gap:8px;}
.probot-soum .flt-d{display:none;}
.probot-soum .flt-top{display:flex;align-items:center;justify-content:space-between;margin-bottom:4px;}
.probot-soum .flt-rt{font-size:13px;font-weight:500;color:var(--blue);}
.probot-soum .flt-pr{font-family:'Inter',sans-serif;font-size:18px;font-weight:800;color:var(--blue);}
.probot-soum .flt-nt{font-size:11px;color:var(--steel);}
.probot-soum .spin{width:14px;height:14px;border:2px solid var(--bd);border-top-color:var(--blue);border-radius:50%;animation:probot-sp .7s linear infinite;display:inline-block;flex-shrink:0;}

/* Multi-model selector */
.probot-soum .model-selector{margin-bottom:16px;width:100%;}
.probot-soum .model-selector label{display:block;font-size:13px;color:var(--steel);margin-bottom:10px;font-weight:500;}
.probot-soum .model-search{width:100%;padding:10px 14px 10px 36px;font-size:14px;font-family:'Inter',sans-serif;border:1px solid var(--bd);border-radius:10px;background:var(--wh);color:var(--dark);outline:none;transition:border .15s;box-sizing:border-box;}
.probot-soum .model-search:focus{border-color:var(--blue);box-shadow:0 0 0 3px rgba(26,107,173,.12);}
.probot-soum .model-search-wrap{position:relative;display:block;}
.probot-soum .model-search-icon{position:absolute;left:11px;top:50%;transform:translateY(-50%);pointer-events:none;z-index:2;color:#5A6E7F;font-size:14px;line-height:1;}
.probot-soum .model-dropdown{background:var(--wh);border:1px solid var(--bd);border-radius:10px;margin-top:4px;max-height:240px;overflow-y:auto;display:none;box-shadow:0 8px 24px rgba(0,0,0,.1);}
.probot-soum .model-dropdown.on{display:block;}
.probot-soum .model-group-label{font-size:10px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--steel);padding:10px 14px 4px;background:var(--light);}
.probot-soum .model-opt{display:flex;align-items:center;justify-content:space-between;padding:9px 14px;cursor:pointer;transition:background .12s;font-size:13px;border-top:1px solid var(--bd);}
.probot-soum .model-opt:first-of-type{border-top:none;}
.probot-soum .model-opt:hover{background:var(--blue-l);}
.probot-soum .model-opt .mn{font-weight:500;}
.probot-soum .model-opt .mc{font-size:11px;color:var(--steel);margin-top:2px;}
.probot-soum .model-opt .madd{width:24px;height:24px;border-radius:6px;background:var(--blue);color:#fff;border:none;cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:16px;line-height:1;flex-shrink:0;transition:opacity .15s;}
.probot-soum .model-opt .madd:hover{opacity:.8;}

/* Selected models */
.probot-soum .sel-models{margin-top:12px;display:flex;flex-direction:column;gap:8px;width:100%;}
.probot-soum .sel-model-row{display:flex;align-items:flex-start;gap:10px;background:var(--light);border:1px solid var(--bd);border-radius:10px;padding:10px 14px;flex-wrap:nowrap;width:100%;box-sizing:border-box;}
.probot-soum .smr-info{flex:1;}
.probot-soum .smr-name{font-size:14px;font-weight:500;word-break:break-word;}
.probot-soum .smr-cat{font-size:11px;color:var(--steel);}
.probot-soum .smr-qty{display:flex;align-items:center;gap:8px;flex-shrink:0;}
.probot-soum .sqbtn{width:28px;height:28px;border-radius:7px;border:1px solid var(--bd);background:var(--wh);color:var(--dark);font-size:16px;line-height:1;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .15s;flex-shrink:0;}
.probot-soum .sqbtn:hover{background:var(--blue);color:#fff;border-color:var(--blue);}
.probot-soum .sqbtn.del:hover{background:var(--err);border-color:var(--err);}
.probot-soum .sqval{font-family:'Inter',sans-serif;font-size:18px;font-weight:800;min-width:24px;text-align:center;}

/* Robot total pill */
.probot-soum .robot-total{display:flex;align-items:center;justify-content:center;gap:10px;margin-top:14px;padding-top:14px;border-top:1px solid var(--bd);font-size:13px;color:var(--steel);width:100%;}
.probot-soum .rt-pill{font-family:'Inter',sans-serif;font-weight:800;font-size:14px;background:var(--blue);color:#fff;border-radius:20px;padding:4px 14px;}
.probot-soum .no-models{font-size:13px;color:var(--steel);text-align:center;padding:16px;display:none;}
.probot-soum .no-models.on{display:block;}
.probot-soum .model-sel-err{font-size:12px;color:var(--err);margin-top:6px;display:none;}
.probot-soum .model-sel-err.on{display:block;}

/* Quick picks */
.probot-soum .quick-picks{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px;padding-top:12px;border-top:1px dashed var(--bd);}
.probot-soum .quick-pick-label{width:100%;font-size:11px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--steel);}
.probot-soum .qpick{display:flex;align-items:center;gap:7px;font-size:13px;font-weight:500;padding:8px 14px;border-radius:20px;border:1px solid var(--bd);background:var(--wh);color:var(--steel);cursor:pointer;transition:all .15s;font-family:'Inter',sans-serif;}
.probot-soum .qpick:hover{border-color:var(--blue);color:var(--blue);background:var(--blue-l);}
.probot-soum .qpick.on{border-color:var(--blue);color:var(--blue);background:var(--blue-l);font-weight:600;}
.probot-soum .qpick svg{flex-shrink:0;}

/* Robot size selector (pour modèles inconnus) */
.probot-soum .size-picker-inline{margin-top:12px;padding-top:12px;border-top:1px dashed var(--bd);}
.probot-soum .size-picker-lbl{font-size:11px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--steel);margin-bottom:10px;}
.probot-soum .size-picker-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;}
@media(max-width:520px){.probot-soum .size-picker-grid{grid-template-columns:repeat(2,1fr);}}
.probot-soum .size-picker-card{border-radius:10px;overflow:hidden;cursor:pointer;transition:all .15s;border:1px solid var(--bd);background:var(--wh);}
.probot-soum .size-picker-card.on{border:2px solid var(--blue);background:var(--blue-l);}
.probot-soum .size-picker-card img{width:100%;height:60px;object-fit:cover;display:block;background:var(--light);}
.probot-soum .size-picker-body{padding:6px 8px;}
.probot-soum .size-picker-name{font-family:'Inter',sans-serif;font-weight:700;font-size:13px;color:var(--dark);}
.probot-soum .size-picker-card.on .size-picker-name{color:var(--blue);}
.probot-soum .size-picker-det{font-size:9px;color:var(--steel);line-height:1.3;margin-top:2px;}
.probot-soum .size-warn{font-size:11px;color:var(--err);margin-top:6px;display:none;}
.probot-soum .size-warn.on{display:block;}

/* Other text input */
.probot-soum .other-input-wrap{margin-top:10px;padding-top:10px;border-top:1px dashed var(--bd);}
.probot-soum .other-input-wrap input{width:100%;padding:9px 13px;font-size:13px;font-family:'Inter',sans-serif;border:1px solid var(--bd);border-radius:9px;background:var(--light);color:var(--dark);outline:none;transition:border .15s,box-shadow .15s;}
.probot-soum .other-input-wrap input:focus{border-color:var(--blue);box-shadow:0 0 0 3px rgba(26,107,173,.12);}

/* Buttons */
.probot-soum .acts{display:flex;gap:10px;margin-top:18px;align-items:center;}
.probot-soum .bbk{font-size:13px;font-family:'Inter',sans-serif;font-weight:500;padding:10px 18px;border-radius:10px;border:1px solid var(--bd);background:var(--wh);color:var(--steel);cursor:pointer;transition:all .15s;flex-shrink:0;}
.probot-soum .bbk:hover{color:var(--dark);}
.probot-soum .bnx{flex:1;font-size:14px;font-weight:600;font-family:'Inter',sans-serif;padding:12px 24px;border-radius:10px;border:none;background:var(--blue);color:#fff;cursor:pointer;transition:all .15s;box-shadow:0 2px 12px rgba(26,107,173,.25);}
.probot-soum .bnx:hover{background:#1659A0;transform:translateY(-1px);}
.probot-soum .bnx:disabled{opacity:.65;cursor:not-allowed;transform:none;}

/* Trust */
.probot-soum .trust{display:flex;flex-wrap:wrap;gap:20px;padding-top:20px;margin-top:24px;border-top:1px solid var(--bd);animation:probot-fu .5s .4s both;justify-content:center;}
.probot-soum .ti{display:flex;align-items:center;gap:7px;font-size:12px;color:var(--steel);}
.probot-soum .td{width:5px;height:5px;border-radius:50%;background:var(--blue);flex-shrink:0;}

.probot-soum .panel{display:none;}
.probot-soum .panel.on{display:block;}

/* ═══════════════════════════════════════════════════════════════════
   P3 — Date : quad-calendar 2×2 + duration bar + surcharge pills
   ═══════════════════════════════════════════════════════════════════ */

/* Quad-calendar 2×2 */
.probot-soum .qcal{display:grid;grid-template-columns:1fr 1fr;gap:12px;}
@media(max-width:520px){.probot-soum .qcal{grid-template-columns:1fr;}}
.probot-soum .qc-month{border:1px solid var(--bd);border-radius:12px;background:var(--wh);padding:12px 12px 10px;display:flex;flex-direction:column;min-width:0;}
.probot-soum .qc-head{font-family:'Inter',sans-serif;font-weight:700;font-size:15px;letter-spacing:.01em;color:var(--dark);margin-bottom:8px;text-align:center;text-transform:capitalize;}
.probot-soum .qc-dow{display:grid;grid-template-columns:repeat(7,1fr);gap:2px;margin-bottom:4px;}
.probot-soum .qc-dow span{font-size:10px;font-weight:600;color:var(--steel);text-align:center;letter-spacing:.04em;text-transform:uppercase;}
.probot-soum .qc-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:2px;}
.probot-soum .qc-d{aspect-ratio:1;display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:500;border-radius:6px;cursor:pointer;transition:background .12s,color .12s,box-shadow .12s;color:var(--dark);background:transparent;border:none;padding:0;font-family:'Inter',sans-serif;min-width:0;}
.probot-soum .qc-d.empty{cursor:default;background:transparent;}
.probot-soum .qc-d.past{color:#BFC9D3;cursor:not-allowed;}
.probot-soum .qc-d.past:hover{background:transparent;}
.probot-soum .qc-d:hover:not(.past):not(.empty){background:var(--blue-l);color:var(--blue);}
.probot-soum .qc-d.weekend:not(.past):not(.empty){color:var(--gold);}
.probot-soum .qc-d.today{box-shadow:inset 0 0 0 1.5px var(--blue);font-weight:700;color:var(--blue);}
.probot-soum .qc-d.range{background:rgba(26,107,173,.08);color:var(--blue);font-weight:600;border-radius:0;border-top:1.5px dashed var(--blue);border-bottom:1.5px dashed var(--blue);}
.probot-soum .qc-d.range.weekend{color:var(--gold);border-top-color:var(--gold);border-bottom-color:var(--gold);}
.probot-soum .qc-d.range:hover:not(.past){background:rgba(26,107,173,.18);}
.probot-soum .qc-d.sel{background:var(--blue) !important;color:#fff !important;font-weight:700;box-shadow:0 2px 8px rgba(26,107,173,.3);}
.probot-soum .qc-d.sel.range-start{border-top-right-radius:0;border-bottom-right-radius:0;}
.probot-soum .qc-d.sel.range-end{border-top-left-radius:0;border-bottom-left-radius:0;}

/* Nav mois (flèches prev/next au-dessus du quad-calendar) */
.probot-soum .qcal-nav{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:12px;}
.probot-soum .qcal-nav-btn{width:36px;height:36px;border-radius:8px;border:1px solid var(--bd);background:var(--wh);color:var(--dark);font-size:18px;font-weight:700;cursor:pointer;transition:background .12s,color .12s,border-color .12s;display:flex;align-items:center;justify-content:center;padding:0;}
.probot-soum .qcal-nav-btn:hover:not(:disabled){background:var(--blue-l);color:var(--blue);border-color:var(--blue);}
.probot-soum .qcal-nav-btn:disabled{opacity:.35;cursor:not-allowed;}
.probot-soum .qcal-nav-hint{font-size:11px;color:var(--steel);text-align:center;flex:1;}

/* Legend */
.probot-soum .qcal-legend{display:flex;flex-wrap:wrap;gap:14px;justify-content:center;margin-top:14px;padding-top:12px;border-top:1px dashed var(--bd);}
.probot-soum .qcl-i{display:flex;align-items:center;gap:6px;font-size:11px;color:var(--steel);}
.probot-soum .qcl-dot{width:10px;height:10px;border-radius:3px;flex-shrink:0;}
.probot-soum .qcl-dot.today{box-shadow:inset 0 0 0 1.5px var(--blue);background:var(--wh);}
.probot-soum .qcl-dot.sel{background:var(--blue);}
.probot-soum .qcl-dot.we{background:var(--gold);opacity:.35;}

/* Date picked badge */
/* v1.1.29 — Bannière verte de confirmation date masquée (redondant avec la
   sélection bleue dans le calendrier). On garde le node DOM pour servir
   d'anchor à l'insertion du warning travel-day-holiday. */
.probot-soum .date-picked{display:none !important;}
.probot-soum .date-picked.on{display:none !important;}
.probot-soum .date-err{font-size:12px;color:var(--err);margin-top:8px;display:none;}
.probot-soum .date-err.on{display:block;}

/* Duration bar */
.probot-soum .dur-wrap{display:flex;flex-direction:column;gap:10px;}
.probot-soum .dur-bar{display:grid;grid-template-columns:repeat(5,1fr);gap:8px;}
.probot-soum .dur-pill{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;padding:12px 6px;border-radius:10px;border:1px solid var(--bd);background:var(--wh);color:var(--steel);cursor:pointer;transition:all .15s;font-family:'Inter',sans-serif;}
.probot-soum .dur-pill:hover{border-color:var(--blue);color:var(--blue);background:var(--blue-l);}
.probot-soum .dur-pill.on{border-color:var(--blue);background:var(--blue);color:#fff;box-shadow:0 2px 10px rgba(26,107,173,.28);}
.probot-soum .dur-pill .dn{font-family:'Inter',sans-serif;font-weight:800;font-size:22px;line-height:1;}
.probot-soum .dur-pill .dl{font-size:10px;font-weight:500;text-transform:uppercase;letter-spacing:.06em;}
.probot-soum .dur-note{font-size:12px;color:var(--steel);line-height:1.5;margin:0;}

/* Surcharge pills */
.probot-soum .sur-grid{display:flex;flex-direction:column;gap:10px;}
.probot-soum .sur-pill{display:flex;align-items:center;gap:12px;padding:12px 14px;border-radius:12px;border:1px solid var(--bd);background:var(--wh);color:var(--dark);cursor:pointer;transition:all .15s;font-family:'Inter',sans-serif;text-align:left;width:100%;}

/* ═══════════════════════════════════════════════════════════════════════
   SERVICE FLOW — Direction B "Console technique"
   Navy probot + pale-blue accent, JetBrains Mono for codes, IBM Plex Sans
   for body. Industrial console aesthetic.
   ═══════════════════════════════════════════════════════════════════════ */

.probot-soum .ps-console{
  --c-bg: #0B1622;
  --c-surface: #13202E;
  --c-surface2: #1A2A3B;
  --c-ink: #E8EFF7;
  --c-ink2: #A8B8CC;
  --c-muted: #6B7B91;
  --c-line: #22344A;
  --c-line-soft: #1A2939;
  --c-accent: #7EC4F0;
  --c-cyan: #A8DCFB;
  --c-ok: #6FD9A8;
  --c-warn: #F0C66F;
  --c-mono: 'JetBrains Mono', ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
  --c-sans: 'IBM Plex Sans', 'Inter', system-ui, sans-serif;
  font-family: var(--c-sans);
  background: var(--c-bg);
  color: var(--c-ink);
  border: 1px solid var(--c-line);
  border-radius: 4px;
  overflow: hidden;
  box-shadow: 0 10px 40px rgba(11,22,34,.18);
}
.probot-soum .ps-console *{box-sizing:border-box;}
.probot-soum .ps-console button{font-family:var(--c-sans);}

/* OS-like top bar */
.probot-soum .ps-console-topbar{
  display:flex;align-items:center;justify-content:space-between;
  padding:8px 18px;border-bottom:1px solid var(--c-line);
  background:var(--c-surface);font-family:var(--c-mono);font-size:11px;
  color:var(--c-ink2);
}
.probot-soum .ps-console-topbar-left,
.probot-soum .ps-console-topbar-right{display:flex;align-items:center;gap:14px;}
.probot-soum .ps-console-status{display:inline-flex;align-items:center;gap:8px;color:var(--c-ink);font-weight:600;letter-spacing:.04em;}
.probot-soum .ps-console-dot{
  width:7px;height:7px;border-radius:50%;background:var(--c-accent);
  box-shadow:0 0 8px var(--c-accent);
  animation: ps-console-dot 2.2s ease-in-out infinite;
}
@keyframes ps-console-dot{0%,100%{opacity:1;}50%{opacity:.55;}}
.probot-soum .ps-console-meta{color:var(--c-muted);}
.probot-soum .ps-console-env{color:var(--c-cyan);}
.probot-soum .ps-console-secure{color:var(--c-ok);}

/* Numbered panels */
.probot-soum .ps-console-panel{
  padding:18px 22px 16px;border-bottom:1px solid var(--c-line-soft);
  background:transparent;
}
.probot-soum .ps-console-panel-head{
  display:flex;align-items:baseline;gap:10px;flex-wrap:wrap;
  margin-bottom:14px;
}
.probot-soum .ps-console-panel-num{
  font-family:var(--c-mono);font-size:11px;color:var(--c-accent);
  letter-spacing:.18em;font-weight:600;
}
.probot-soum .ps-console-panel-title{
  font-family:var(--c-mono);font-size:12px;color:var(--c-ink);
  letter-spacing:.16em;font-weight:700;text-transform:uppercase;
}
.probot-soum .ps-console-panel-desc{
  font-size:12px;color:var(--c-muted);line-height:1.5;
  margin-left:auto;flex:1 1 280px;text-align:left;
}

/* Type intervention cards */
.probot-soum .ps-console .svc-type-grid{
  display:grid;grid-template-columns:repeat(2, 1fr);gap:8px;margin:0;
}
.probot-soum .ps-console .svc-type-pill{
  position:relative;display:flex;align-items:flex-start;gap:12px;
  padding:14px 16px;text-align:left;cursor:pointer;
  background:var(--c-surface);border:1px solid var(--c-line);
  border-radius:3px;color:var(--c-ink);transition:all .15s ease;
  min-height:74px;
}
.probot-soum .ps-console .svc-type-pill:hover{
  border-color:var(--c-accent);background:var(--c-surface2);
}
.probot-soum .ps-console .svc-type-pill.on{
  border-color:var(--c-accent);background:var(--c-bg);
  outline:1px solid var(--c-accent);outline-offset:1px;
  box-shadow:0 0 0 3px rgba(126,196,240,.10);
}
.probot-soum .ps-console .svc-type-code{
  font-family:var(--c-mono);font-size:10px;letter-spacing:.12em;
  color:var(--c-muted);font-weight:600;flex:0 0 auto;margin-top:2px;
}
.probot-soum .ps-console .svc-type-pill.on .svc-type-code{color:var(--c-accent);}
.probot-soum .ps-console .svc-type-body{display:flex;flex-direction:column;gap:4px;flex:1 1 auto;min-width:0;}
.probot-soum .ps-console .svc-type-title{font-size:14px;font-weight:600;color:var(--c-ink);line-height:1.25;}
.probot-soum .ps-console .svc-type-desc{font-size:12px;line-height:1.45;color:var(--c-ink2);}
.probot-soum .ps-console .svc-type-marker{
  display:none;font-family:var(--c-mono);font-size:10px;
  color:var(--c-accent);letter-spacing:.12em;
  position:absolute;top:10px;right:12px;
}
.probot-soum .ps-console .svc-type-pill.on .svc-type-marker{display:inline;}

/* Description (terminal-style frame) */
.probot-soum .ps-console .svc-desc-frame{
  position:relative;background:var(--c-bg);border:1px solid var(--c-line);
  border-radius:3px;padding:14px 16px 12px;
}
.probot-soum .ps-console textarea.svc-desc-ta{
  box-sizing:border-box;width:100%;display:block;
  background:transparent;border:none;outline:none;resize:vertical;
  font-family:var(--c-mono);font-size:13px;line-height:1.7;
  color:var(--c-ink);min-height:140px;padding:0;
  caret-color:var(--c-accent);
}
.probot-soum .ps-console textarea.svc-desc-ta::placeholder{color:var(--c-muted);}
.probot-soum .ps-console .svc-desc-frame:focus-within{border-color:var(--c-accent);box-shadow:0 0 0 3px rgba(126,196,240,.10);}
.probot-soum .ps-console .svc-desc-meta{
  margin-top:10px;padding-top:10px;border-top:1px dashed var(--c-line);
  display:flex;justify-content:flex-end;align-items:center;gap:14px;
  font-family:var(--c-mono);font-size:10px;color:var(--c-muted);letter-spacing:.06em;
}
.probot-soum .ps-console .svc-desc-counter{font-variant-numeric:tabular-nums;}
.probot-soum .ps-console .field.err .svc-desc-frame{border-color:#E36262;}
.probot-soum .ps-console .emsg{
  display:none;margin-top:8px;font-family:var(--c-mono);font-size:11px;
  color:#E36262;letter-spacing:.04em;
}
.probot-soum .ps-console .field.err .emsg,
.probot-soum .ps-console .ps-console-panel.err .emsg{display:block;}

/* Console buttons */
.probot-soum .ps-console-btn{
  display:inline-flex;align-items:center;gap:10px;
  padding:10px 18px;border-radius:3px;cursor:pointer;
  font-family:var(--c-mono);font-size:11px;font-weight:700;
  letter-spacing:.14em;text-transform:uppercase;transition:all .15s ease;
  border:1px solid transparent;
}
.probot-soum .ps-console-btn-primary{
  background:var(--c-accent);color:var(--c-bg);border-color:var(--c-accent);
}
.probot-soum .ps-console-btn-primary:hover{
  background:var(--c-cyan);border-color:var(--c-cyan);
  box-shadow:0 0 0 3px rgba(126,196,240,.18);
}
.probot-soum .ps-console-btn-primary:disabled{
  background:var(--c-surface2);color:var(--c-muted);border-color:var(--c-line);
  cursor:not-allowed;box-shadow:none;
}
.probot-soum .ps-console-btn-ghost{
  background:transparent;color:var(--c-ink2);border-color:var(--c-line);
}
.probot-soum .ps-console-btn-ghost:hover{
  border-color:var(--c-accent);color:var(--c-ink);
}
.probot-soum .ps-console-btn-arrow{font-family:var(--c-mono);font-size:13px;}
.probot-soum .ps-console #svc-analyze-acts{
  padding:0 22px 18px;display:flex;justify-content:flex-end;
}

/* Bottom nav */
.probot-soum .ps-console-nav{
  display:flex;justify-content:space-between;align-items:center;
  padding:14px 22px;border-top:1px solid var(--c-line);background:var(--c-surface);
}
.probot-soum .svc-desc-hint{font-size:12px;color:var(--steel);margin-top:6px;line-height:1.45;}

/* ─── Chat console (Direction B) ─────────────────────────────────── */
.probot-soum .ps-console .svc-chat{
  margin:0 22px 18px;background:var(--c-surface);
  border:1px solid var(--c-line);border-radius:4px;overflow:hidden;
  display:flex;flex-direction:column;
}
.probot-soum .ps-console .svc-chat-header{
  display:flex;align-items:center;justify-content:space-between;
  padding:14px 18px;border-bottom:1px solid var(--c-line-soft);
  background:linear-gradient(180deg, rgba(126,196,240,.05), transparent);
}
.probot-soum .ps-console .svc-chat-header-left{display:flex;align-items:center;gap:12px;}
.probot-soum .ps-console .svc-chat-bot-badge{
  width:32px;height:32px;display:inline-flex;align-items:center;justify-content:center;
  background:var(--c-bg);border:1px solid var(--c-accent);border-radius:3px;
  color:var(--c-accent);font-family:var(--c-mono);font-size:18px;
}
.probot-soum .ps-console .svc-chat-header-body{display:flex;flex-direction:column;gap:2px;}
.probot-soum .ps-console .svc-chat-header-title{
  font-size:13px;font-weight:600;color:var(--c-ink);font-family:var(--c-sans);
}
.probot-soum .ps-console .svc-chat-header-sub{
  font-family:var(--c-mono);font-size:11px;color:var(--c-muted);letter-spacing:.04em;
}
.probot-soum .ps-console .svc-chat-live{
  font-family:var(--c-mono);font-size:10px;color:var(--c-ok);letter-spacing:.14em;
  padding:4px 8px;border:1px solid rgba(111,217,168,.4);border-radius:2px;
}

/* Message log — terminal style */
.probot-soum .ps-console .svc-chat-log{
  display:flex;flex-direction:column;gap:12px;
  padding:18px 20px 8px;min-height:120px;max-height:420px;overflow-y:auto;
  scrollbar-width:thin;scrollbar-color:var(--c-line) transparent;
}
.probot-soum .ps-console .svc-chat-log::-webkit-scrollbar{width:6px;}
.probot-soum .ps-console .svc-chat-log::-webkit-scrollbar-thumb{background:var(--c-line);border-radius:3px;}

.probot-soum .ps-console .svc-chat-row{
  display:grid;grid-template-columns:60px 1fr;gap:14px;align-items:flex-start;
  animation:ps-console-bubble-in .25s ease-out both;
}
@keyframes ps-console-bubble-in{from{opacity:0;transform:translateY(4px);}to{opacity:1;transform:translateY(0);}}

.probot-soum .ps-console .svc-chat-col{display:contents;}
.probot-soum .ps-console .svc-chat-meta{
  font-family:var(--c-mono);font-size:10px;color:var(--c-muted);
  text-align:right;line-height:1.6;letter-spacing:.04em;
  display:flex;flex-direction:column;align-items:flex-end;gap:1px;
  padding-top:8px;
}
.probot-soum .ps-console .svc-chat-name{font-weight:600;}
.probot-soum .ps-console .svc-chat-row.row-assistant .svc-chat-name{color:var(--c-accent);}
.probot-soum .ps-console .svc-chat-row.row-user .svc-chat-name{color:var(--c-cyan);}
.probot-soum .ps-console .svc-chat-time{color:var(--c-muted);}

.probot-soum .ps-console .svc-chat-avatar-sm{display:none;}

.probot-soum .ps-console .svc-chat-bubble{
  font-size:13.5px;line-height:1.6;color:var(--c-ink);font-family:var(--c-sans);
  padding:10px 14px;border-radius:2px;border:1px solid var(--c-line);
  border-left-width:2px;word-break:break-word;
}
.probot-soum .ps-console .svc-chat-bubble.svc-chat-assistant{
  background:var(--c-surface2);border-left-color:var(--c-accent);
}
.probot-soum .ps-console .svc-chat-bubble.svc-chat-user{
  background:var(--c-bg);border-color:rgba(168,220,251,.27);border-left-color:var(--c-cyan);
}

/* Typing indicator — console */
.probot-soum .ps-console .svc-chat-typing{
  display:grid;grid-template-columns:60px 1fr;gap:14px;align-items:center;
  padding:6px 20px 14px;
  font-family:var(--c-mono);font-size:11px;color:var(--c-muted);
}
.probot-soum .ps-console .svc-chat-typing-tag{
  text-align:right;color:var(--c-accent);font-weight:600;letter-spacing:.04em;
}
.probot-soum .ps-console .svc-typing-dots{
  display:inline-flex;gap:5px;align-items:center;
  padding:6px 12px;background:var(--c-surface2);border:1px solid var(--c-line);
  border-left:2px solid var(--c-accent);border-radius:2px;width:fit-content;
}
.probot-soum .ps-console .svc-typing-dots span{
  width:5px;height:5px;border-radius:50%;background:var(--c-accent);
  animation:ps-console-typing 1.4s infinite ease-in-out both;
}
.probot-soum .ps-console .svc-typing-dots span:nth-child(1){animation-delay:-0.32s;}
.probot-soum .ps-console .svc-typing-dots span:nth-child(2){animation-delay:-0.16s;}
@keyframes ps-console-typing{0%,80%,100%{transform:scale(.6);opacity:.4;}40%{transform:scale(1);opacity:1;}}
.probot-soum .ps-console .svc-typing-label{
  grid-column:2;font-family:var(--c-mono);font-size:11px;color:var(--c-muted);
  margin-left:0;
}

/* Reply input — terminal prompt style */
.probot-soum .ps-console .svc-chat-input{
  display:flex;align-items:flex-end;gap:10px;
  padding:12px 18px;border-top:1px solid var(--c-line-soft);background:var(--c-bg);
}
.probot-soum .ps-console .svc-chat-prompt{
  font-family:var(--c-mono);font-size:14px;color:var(--c-accent);font-weight:700;
  padding:10px 0;line-height:1.4;flex:0 0 auto;
}
.probot-soum .ps-console #inSvcChatReply{
  box-sizing:border-box;flex:1 1 auto;min-width:0;display:block;width:100%;
  background:transparent;border:none;outline:none;resize:none;
  font-family:var(--c-mono);font-size:13px;line-height:1.5;color:var(--c-ink);
  padding:10px 0;min-height:38px;max-height:140px;overflow-y:auto;
  caret-color:var(--c-accent);
}
.probot-soum .ps-console .svc-chat-hint{
  margin:8px 22px 18px;padding:0;
  font-family:var(--c-mono);font-size:10px;color:var(--c-muted);
  letter-spacing:.04em;text-align:right;
}
.probot-soum .ps-console #inSvcChatReply::placeholder{color:var(--c-muted);}
.probot-soum .ps-console .svc-chat-send{
  flex:0 0 auto;padding:8px 16px;border-radius:2px;cursor:pointer;
  font-family:var(--c-mono);font-size:11px;font-weight:700;letter-spacing:.14em;
  background:var(--c-accent);color:var(--c-bg);border:1px solid var(--c-accent);
  transition:all .15s ease;
}
.probot-soum .ps-console .svc-chat-send:hover{background:var(--c-cyan);border-color:var(--c-cyan);}
.probot-soum .ps-console .svc-chat-send:disabled{background:var(--c-line);color:var(--c-muted);border-color:var(--c-line);cursor:not-allowed;}

/* ─── Estimate readout (instrument panel) ──────────────────────── */
.probot-soum .ps-console .svc-estimate{
  margin:0 22px 18px;background:var(--c-bg);
  border:1px solid var(--c-accent);border-radius:4px;overflow:hidden;
}
.probot-soum .ps-console .svc-estimate-head{
  display:flex;justify-content:space-between;align-items:center;
  padding:10px 18px;background:linear-gradient(90deg, rgba(126,196,240,.13), transparent);
  border-bottom:1px solid var(--c-line);
  font-family:var(--c-mono);font-size:11px;color:var(--c-accent);letter-spacing:.1em;
}
.probot-soum .ps-console .svc-estimate-head-meta{color:var(--c-muted);letter-spacing:.04em;}
.probot-soum .ps-console .svc-estimate-body{
  padding:22px 26px;display:grid;grid-template-columns:auto 1fr;gap:32px;align-items:start;
}
.probot-soum .ps-console .svc-estimate-label{
  font-family:var(--c-mono);font-size:10px;color:var(--c-muted);letter-spacing:.18em;
  margin-bottom:8px;
}
.probot-soum .ps-console .svc-estimate-readout{min-width:180px;}
.probot-soum .ps-console .svc-estimate-hours{
  font-family:var(--c-mono);font-size:64px;font-weight:300;line-height:1;
  color:var(--c-accent);letter-spacing:-.04em;font-variant-numeric:tabular-nums;
}
.probot-soum .ps-console .svc-estimate-bars{margin-top:14px;display:flex;flex-direction:column;gap:6px;}
.probot-soum .ps-console .svc-estimate-bar{
  display:grid;grid-template-columns:88px 1fr 30px;gap:10px;align-items:center;
  font-family:var(--c-mono);font-size:10px;color:var(--c-muted);
}
.probot-soum .ps-console .svc-estimate-bar-track{
  height:4px;background:var(--c-line);border-radius:1px;overflow:hidden;
}
.probot-soum .ps-console .svc-estimate-bar-fill{
  display:block;height:100%;background:var(--c-warn);
  transition:width .6s cubic-bezier(.4,0,.2,1);
}
.probot-soum .ps-console .svc-estimate-bar-pct{color:var(--c-ink);text-align:right;font-variant-numeric:tabular-nums;}

.probot-soum .ps-console .svc-estimate-scope{min-width:0;}
.probot-soum .ps-console .svc-estimate-text{
  font-size:13px;line-height:1.65;color:var(--c-ink2);font-family:var(--c-sans);
  margin:0;
}
.probot-soum .ps-console .svc-estimate-conf{
  margin-top:10px;font-family:var(--c-mono);font-size:10px;
  color:var(--c-muted);letter-spacing:.06em;
}

/* ═══════════════════════════════════════════════════════════════════════
 * SERVICE REQUEST REDESIGN — Direction A "Sobre Industriel"
 * Steel #0F4C75 + Cyan #3AAEDC, Inter sans + JetBrains Mono.
 * Scoped under .probot-soum.is-srd so it doesn't touch the maintenance flow.
 * ═══════════════════════════════════════════════════════════════════════ */
/* ── Landing-page mode ────────────────────────────────────────────────
   When a page embeds [probot_service] or [probot_soumission] the plugin
   adds the `probot-soum-fullpage` body class. The form has its own
   topbar + footer trust strip, so we hide the WP theme header, footer,
   page-title block, and any vertical breathing room the theme injects
   to make this a proper landing page. */
body.probot-soum-fullpage > .wp-site-blocks > header.wp-block-template-part,
body.probot-soum-fullpage > .wp-site-blocks > footer.wp-block-template-part,
body.probot-soum-fullpage header.wp-block-template-part[role="banner"],
body.probot-soum-fullpage footer.wp-block-template-part[role="contentinfo"],
body.probot-soum-fullpage .wp-block-post-title{
  display:none !important;
}
/* TwentyTwentyFive injects spacing/preset padding on <main>, the
   constrained wrappers, and `.entry-content` — strip them all so the
   form is flush with the viewport edges (top, bottom AND sides). The
   left/right zero is what makes the topbar truly span edge-to-edge. */
body.probot-soum-fullpage main,
body.probot-soum-fullpage main > .wp-block-group,
body.probot-soum-fullpage .wp-block-post-content,
body.probot-soum-fullpage .entry-content{
  margin:0 !important;
  padding:0 !important;
  max-width:none !important;
}

.probot-soum.is-srd{
  /* v1.1.0 — Probot brand palette synchronisée avec probotsystems.com.
     Le brand utilise 2 bleus distincts :
     - --srd-steel : #217ABD (RGB 33,122,189) — titres section + CTA buttons
     - --srd-steel-darker : #14527E (RGB 20,82,126) — bandeaux accent (header)
     - --srd-steel-dark : variant hover du steel
     - --srd-accent : cyan #38BDF8 — highlights ponctuels ("Sans compromis.") */
  --srd-bg:#F0F4F8; --srd-surface:#FFFFFF;
  --srd-ink:#0F1B26; --srd-ink2:#34495E; --srd-muted:#778695;
  --srd-line:#E2E8F0; --srd-line-soft:#E8ECF1;
  --srd-accent:#38BDF8; --srd-accent-ink:#14527E; --srd-accent-soft:#E8F4FA;
  --srd-steel:#217ABD; --srd-steel-dark:#1B6BA9; --srd-steel-darker:#14527E;
  --srd-ok:#2F7D4D; --srd-green:#5dd396;
  --srd-shadow-card:0 12px 36px rgba(33,122,189,0.10);
  --srd-shadow-card-sm:0 8px 28px rgba(33,122,189,0.08);
  --srd-sans:'Inter',system-ui,sans-serif;
  --srd-mono:'JetBrains Mono',ui-monospace,monospace;

  background:var(--srd-bg) !important;
  color:var(--srd-ink) !important;
  font-family:var(--srd-sans) !important;
  /* The .alignfull class on the wrapper opts the form out of WordPress
     block-theme's `is-layout-constrained` rule, so it gets its natural
     parent width. 100% respects scrollbar width — no horizontal scroll
     unlike the previous 100vw + negative-margin breakout. */
  width:100%;
  max-width:100%;
  padding:0 !important;
  margin:0 !important;
  /* Defensive: clip any single-pixel overflow from rounding so a scrollbar
     never appears even on themes that don't honour `alignfull` cleanly. */
  overflow-x:clip;
}
.probot-soum.is-srd *{box-sizing:border-box;}
.probot-soum.is-srd .ps-page{max-width:none;margin:0;padding:0;}

/* ── Top bar ─────────────────────────────────────────────────────── */
/* v1.0.99 — Aligned on brand "Voyez-le en action" section background. */
.probot-soum.is-srd .srd-topbar{
  display:flex;align-items:center;justify-content:space-between;
  padding:18px clamp(20px,4vw,40px);
  background:var(--srd-steel-darker);color:#fff;
}
.probot-soum.is-srd .srd-topbar-brand{display:flex;align-items:center;gap:14px;}
.probot-soum.is-srd .srd-logo-mark{
  width:30px;height:30px;border-radius:6px;background:#fff;color:var(--srd-steel);
  font-weight:800;font-size:15px;letter-spacing:-.03em;
  display:flex;align-items:center;justify-content:center;flex-shrink:0;
}
.probot-soum.is-srd .srd-logo-link{display:flex;align-items:center;text-decoration:none;line-height:0;}
.probot-soum.is-srd .srd-logo-img{
  max-height:40px;width:auto;display:block;
  /* Force le logo en blanc pur — le logo-blanc-1.webp garde un triangle
     bleu qui se fond sur le bleu Probot du top bar. Le filter ci-dessous
     "ecrase" toute couleur en silhouette blanche (etape 1: brightness(0)
     met tout en noir, etape 2: invert(1) inverse vers blanc). */
  filter:brightness(0) invert(1);
}
.probot-soum.is-srd .srd-brand-name{
  font-weight:600;font-size:13px;letter-spacing:-.01em;line-height:1.1;color:#fff;
}
/* v1.1.5 — Subtitle "Maintenance Quote" : repositionné à gauche à côté du
   logo (style label discret), taille réduite à 18px avec pipe separator
   pour démarquer du logo. */
.probot-soum.is-srd .srd-brand-sub{
  position:relative;
  padding-left:18px;
  font-family:'Inter',sans-serif;
  font-size:18px;
  font-weight:600;
  color:#E2E8F0;
  letter-spacing:normal;
  text-transform:none;
  margin-top:0;
  line-height:1;
}
.probot-soum.is-srd .srd-brand-sub::before{
  content:'';
  position:absolute;
  left:0;
  top:50%;
  transform:translateY(-50%);
  width:1px;
  height:22px;
  background:rgba(255,255,255,0.32);
}
.probot-soum.is-srd .srd-brand-text-with-logo {
  display:flex;
  align-items:center;
}
.probot-soum.is-srd .srd-brand-text-with-logo .srd-brand-sub{
  margin-top:0;
}
.probot-soum.is-srd .srd-topbar-right{display:flex;align-items:center;gap:18px;font-size:12px;}
.probot-soum.is-srd .srd-help{
  color:#a8c0d3;display:flex;align-items:center;gap:6px;
}
.probot-soum.is-srd .srd-help a{color:#fff;text-decoration:none;font-weight:600;margin-left:2px;}
.probot-soum.is-srd .srd-dot-green{
  width:6px;height:6px;border-radius:50%;background:var(--srd-green);
  box-shadow:0 0 0 2px rgba(93,211,150,.18);display:inline-block;
}
.probot-soum.is-srd .srd-dot-cyan{
  width:6px;height:6px;border-radius:50%;background:var(--srd-accent);
  box-shadow:0 0 8px var(--srd-accent);display:inline-block;
}
.probot-soum.is-srd .srd-lang-toggle{
  display:flex;border:1px solid rgba(255,255,255,.18);border-radius:4px;overflow:hidden;
  margin-left:auto;gap:0;
}
.probot-soum.is-srd .srd-lang-toggle button{
  padding:4px 10px;background:transparent;color:#fff;border:none;
  font-size:11px;letter-spacing:.04em;font-family:inherit;cursor:pointer;
  font-weight:500;
}
.probot-soum.is-srd .srd-lang-toggle button.on{
  background:rgba(255,255,255,.95);color:var(--srd-steel);font-weight:700;
}

/* ── Stepper band ────────────────────────────────────────────────── */
.probot-soum.is-srd .srd-stepper-band{
  background:#fff;border-bottom:1px solid var(--srd-line);
  padding:14px clamp(20px,4vw,40px);
}
.probot-soum.is-srd .srd-stepper{
  display:flex;align-items:center;gap:0;
  background:transparent;border:none;border-radius:0;overflow:visible;margin:0;animation:none;
}
.probot-soum.is-srd .srd-step{
  display:flex;align-items:center;gap:10px;flex:0 0 auto;
  background:transparent;border:none;padding:0;
}
.probot-soum.is-srd .srd-step-circle{
  width:26px;height:26px;border-radius:50%;background:#fff;
  border:1.5px solid var(--srd-line);color:var(--srd-muted);
  font-family:var(--srd-mono);font-size:11px;font-weight:700;
  display:flex;align-items:center;justify-content:center;flex-shrink:0;
}
.probot-soum.is-srd .srd-step.active .srd-step-circle,
.probot-soum.is-srd .srd-step.pt.active .srd-step-circle{
  background:var(--srd-accent);border-color:var(--srd-accent);color:#fff;
  box-shadow:0 0 0 4px var(--srd-accent-soft);
}
.probot-soum.is-srd .srd-step.done .srd-step-circle,
.probot-soum.is-srd .srd-step.pt.done .srd-step-circle{
  background:var(--srd-steel);border-color:var(--srd-steel);color:#fff;
}
.probot-soum.is-srd .srd-step-meta{line-height:1.15;}
.probot-soum.is-srd .srd-step-num{
  font-family:var(--srd-mono);font-size:9px;font-weight:700;letter-spacing:.1em;
  text-transform:uppercase;color:var(--srd-muted);
}
.probot-soum.is-srd .srd-step.active .srd-step-num{color:var(--srd-accent);}
.probot-soum.is-srd .srd-step.done .srd-step-num{color:var(--srd-steel);}
.probot-soum.is-srd .srd-step-label{font-size:12px;font-weight:500;color:var(--srd-muted);margin-top:2px;}
.probot-soum.is-srd .srd-step.active .srd-step-label,
.probot-soum.is-srd .srd-step.done .srd-step-label{color:var(--srd-ink);font-weight:600;}
.probot-soum.is-srd .srd-step-line{
  flex:1;height:1px;background:var(--srd-line);margin:0 12px;min-width:16px;
}
.probot-soum.is-srd .srd-step.done + .srd-step-line{background:var(--srd-steel);}

/* ── Body grid ───────────────────────────────────────────────────── */
.probot-soum.is-srd .srd-body{
  display:grid;grid-template-columns:1fr 300px;gap:24px;align-items:flex-start;
  padding:24px clamp(20px,4vw,40px);
  max-width:1280px;margin:0 auto;
}
@media(max-width:880px){
  .probot-soum.is-srd .srd-body{grid-template-columns:1fr;}
  .probot-soum.is-srd .srd-sidebar{order:-1;}
}
.probot-soum.is-srd .srd-main{min-width:0;display:flex;flex-direction:column;gap:0;}

/* Hide the recap sidebar on the early steps where it carries no useful
   info yet (Contact = empty, Robot = empty). The grid collapses to a
   single centered column so the form doesn't sprawl across the full
   1280px max-width — natural reading width is ~720px.
   v1.1.1 — Spécifie le sélecteur sur l'ancien .srd-body sans srd-body-3col,
   pour ne pas casser le nouveau layout 3-col qui a son propre grid. */
.probot-soum.is-srd:has(#p1.on) .srd-body:not(.srd-body-3col),
.probot-soum.is-srd:has(#p2.on) .srd-body:not(.srd-body-3col){grid-template-columns:1fr;}
/* v1.1.96 — Hide TOUTE la sidebar (incluant expert-cta-sidebar) sur p1 Contact :
   le user n'a pas encore rempli son numéro, donc l'instant call n'aurait pas
   de phone à pré-remplir. Sur p2 Robots ET p3 Date, on garde l'Expert CTA
   visible (et on cache seulement le récap sidebar-ticket). */
.probot-soum.is-srd:has(#p1.on) .srd-sidebar{display:none;}
.probot-soum.is-srd:has(#p2.on) .srd-sidebar:not(.expert-cta-sidebar){display:none;}
/* v1.1.115 — Sur l'écran de SUCCÈS (p4), on masque tout le récap sidebar :
   après envoi, le ticket "DRAFT" n'a plus de sens et s'empilait au-dessus du
   message "Thank you" sur mobile (effet bizarre signalé). Même traitement qu'en p1. */
.probot-soum.is-srd:has(#p4.on) .srd-sidebar{display:none;}
.probot-soum.is-srd:has(#p1.on) .srd-main,
.probot-soum.is-srd:has(#p2.on) .srd-main,
.probot-soum.is-srd:has(#p4.on) .srd-main{max-width:720px;margin:0 auto;width:100%;}

/* v1.1.5 — Sur p1 (sidebar caché entièrement), on garde la 3rd column comme
   PHANTOM 220px (symmetric with stepper) pour que le main soit centré
   visuellement dans le viewport (pas centré dans l'espace après stepper). */
.probot-soum.is-srd:has(#p1.on) .srd-body.srd-body-3col,
.probot-soum.is-srd:has(#p4.on) .srd-body.srd-body-3col{
  grid-template-columns: 220px minmax(0, 1fr) 220px;
}
/* v1.1.96 — Sur p2 Robots, l'Expert CTA sidebar est visible. On utilise la
   largeur 300px (mêmes que p3+) pour qu'elle ait l'espace nécessaire. */
.probot-soum.is-srd:has(#p2.on) .srd-body.srd-body-3col{
  grid-template-columns: 220px minmax(0, 1fr) 300px;
}

/* v1.1.5 — Stepper flush LEFT (panel), main centré dans le viewport via
   colonne fantôme symétrique à droite. Sur Step 3+ la colonne fantôme est
   remplacée par le vrai sidebar récap. */
.probot-soum.is-srd .srd-body.srd-body-3col {
  display:grid;
  grid-template-columns: 220px minmax(0, 1fr) 300px;
  gap: 0;
  padding: 0;
  max-width: none;
  margin: 0;
  align-items: start;
  width: 100%;
}
.probot-soum.is-srd .srd-stepper-side {
  background: var(--srd-surface);
  border-right: 1px solid var(--srd-line);
  padding: 28px 22px;
  position: sticky;
  top: 0;
  align-self: start;
}
.probot-soum.is-srd .srd-stepper-side-inner {
  display: flex;
  flex-direction: column;
  gap: 0;
  background: transparent;
  border: none;
  border-radius: 0;
  padding: 0;
  box-shadow: none;
}
/* v1.1.5 — Main centré dans sa colonne via max-width + margin auto.
   Combiné avec la colonne fantôme 220px à droite, le form apparait
   visuellement centré dans le viewport (stepper équilibré par phantom). */
.probot-soum.is-srd .srd-body.srd-body-3col > .srd-main {
  padding: 24px clamp(20px, 3vw, 32px);
  max-width: 720px;
  margin: 0 auto;
  width: 100%;
}
.probot-soum.is-srd .srd-body.srd-body-3col > .srd-sidebar {
  padding: 24px 24px;
  border-left: 1px solid var(--srd-line);
  background: var(--srd-surface);
}
/* v1.1.5 — Stepper redesign #2 (Vercel/Tailwind UI style).
   Design vraiment épuré : pas de pill background, pas de status text,
   juste markers + labels avec lignes de connexion fines proprement alignées.

   Architecture clé :
   - .srd-step-list = <ol>, position: relative, padding-left = marker-col
   - Une seule ligne pseudo-element ::before sur la liste qui traverse tous
     les markers (au lieu d'une ligne par step, fragile).
   - Chaque step a son marker (cercle) absolutely positioned aligned with line. */

/* Brand label above stepper */
.probot-soum.is-srd .srd-stepper-brand {
  padding: 0 4px 16px;
  border-bottom: 1px solid var(--srd-line);
  margin-bottom: 22px;
}
.probot-soum.is-srd .srd-stepper-brand-label {
  font-size: 11px; font-weight: 700; letter-spacing: .12em;
  text-transform: uppercase; color: var(--srd-muted);
}

/* List wrapper avec ligne verticale unique en arrière-plan */
.probot-soum.is-srd .srd-step-list {
  list-style: none;
  margin: 0;
  padding: 0 0 0 14px;  /* left padding aligne avec marker center */
  position: relative;
}
/* Single continuous vertical line through all markers */
.probot-soum.is-srd .srd-step-list::before {
  content: '';
  position: absolute;
  left: 13px;  /* center of marker col (marker = 26px, half = 13px) */
  top: 18px;
  bottom: 18px;
  width: 1.5px;
  background: var(--srd-line);
  z-index: 0;
}

/* Each step row */
.probot-soum.is-srd .srd-step-v {
  position: relative;
  display: flex;
  align-items: center;
  gap: 14px;
  margin: 0 0 18px;
  padding: 0;
  min-height: 0;
}
.probot-soum.is-srd .srd-step-v.is-last { margin-bottom: 0; }

/* Marker = circle 26px sur la ligne */
.probot-soum.is-srd .srd-step-v .srd-step-marker {
  position: relative;
  z-index: 2;
  flex-shrink: 0;
  width: 26px; height: 26px;
  margin-left: -13px;  /* pull marker to align center with line */
}
.probot-soum.is-srd .srd-step-v .srd-step-circle {
  position: absolute;
  inset: 0;
  border-radius: 50%;
  background: #fff;
  border: 1.5px solid var(--srd-line);
  color: var(--srd-muted);
  font: 600 12px/1 var(--srd-sans);
  display: flex; align-items: center; justify-content: center;
  transition: background .25s ease, border-color .25s ease, color .25s ease, box-shadow .25s ease;
}

/* Active : filled brand blue + subtle halo */
.probot-soum.is-srd .srd-step-v.active .srd-step-circle {
  background: var(--srd-steel);
  border-color: var(--srd-steel);
  color: #fff;
  box-shadow: 0 0 0 4px rgba(33,122,189,0.15);
}

/* Done : filled brand blue + show checkmark, hide number.
   v1.1.6 — Spécificité bumpée pour battre `.srd-step.pt.done .srd-step-circle`
   (règle horizontale qui mettait color:#fff → chiffre + crochet visibles
   simultanément). On ajoute `.srd-step.pt` au selector pour matcher 4+ classes. */
.probot-soum.is-srd .srd-step.srd-step-v.done .srd-step-circle,
.probot-soum.is-srd .srd-step.srd-step-v.pt.done .srd-step-circle {
  background: var(--srd-steel);
  border-color: var(--srd-steel);
  color: transparent;  /* number hidden — only checkmark shows */
}
.probot-soum.is-srd .srd-step-v .srd-step-check {
  position: absolute;
  inset: 0;
  margin: auto;
  color: #fff;
  opacity: 0;
  transform: scale(.5);
  transition: opacity .2s ease, transform .3s cubic-bezier(.34,1.56,.64,1);
  pointer-events: none;
  z-index: 3;
}
.probot-soum.is-srd .srd-step-v.done .srd-step-check {
  opacity: 1;
  transform: scale(1);
}

/* Label */
.probot-soum.is-srd .srd-step-v .srd-step-label {
  font: 500 14px/1.3 var(--srd-sans);
  color: var(--srd-muted);
  letter-spacing: -.01em;
  transition: color .2s ease, font-weight .2s ease;
}
.probot-soum.is-srd .srd-step-v.active .srd-step-label {
  color: var(--srd-steel-darker);
  font-weight: 600;
}
.probot-soum.is-srd .srd-step-v.done .srd-step-label {
  color: var(--srd-ink);
  font-weight: 500;
}

/* Hide legacy elements (status text, num eyebrow) — not used in v1.1.5 */
.probot-soum.is-srd .srd-step-v .srd-step-num,
.probot-soum.is-srd .srd-step-v .srd-step-status,
.probot-soum.is-srd .srd-step-v .srd-step-line-v,
.probot-soum.is-srd .srd-step-v-marker {
  display: none;
}

/* Hide the old horizontal stepper-band si jamais encore rendu quelque part. */
.probot-soum.is-srd .srd-stepper-band { display: none; }

/* Mobile : stepper-side retombe en horizontal au-dessus du contenu. */
@media (max-width: 900px) {
  .probot-soum.is-srd .srd-body.srd-body-3col,
  .probot-soum.is-srd:has(#p1.on) .srd-body.srd-body-3col,
  .probot-soum.is-srd:has(#p2.on) .srd-body.srd-body-3col,
  .probot-soum.is-srd:has(#p4.on) .srd-body.srd-body-3col {
    grid-template-columns: 1fr;
    gap: 0;
    padding: 0;
    min-height: auto;
  }
  .probot-soum.is-srd .srd-stepper-side {
    position: static;
    width: 100%;
    height: auto;
    border-right: none;
    border-bottom: 1px solid var(--srd-line);
    padding: 14px 16px;
  }
  .probot-soum.is-srd .srd-stepper-side-inner {
    flex-direction: row;
    overflow-x: auto;
    padding: 0;
    gap: 16px;
  }
  .probot-soum.is-srd .srd-step-v {
    grid-template-columns: 28px 1fr;
    padding-bottom: 0;
    min-height: auto;
    flex-shrink: 0;
  }
  .probot-soum.is-srd .srd-step-v .srd-step-line-v { display: none; }
  .probot-soum.is-srd .srd-body.srd-body-3col > .srd-sidebar {
    border-left: none;
    border-top: 1px solid var(--srd-line);
  }
}

/* ── Section cards (override the existing .card) ─────────────────── */
.probot-soum.is-srd .panel{display:none;animation:none;}
.probot-soum.is-srd .panel.on{display:block;}
.probot-soum.is-srd .card,
.probot-soum.is-srd .srd-section{
  background:var(--srd-surface);border:1px solid var(--srd-line);border-radius:12px;
  padding:18px 22px;margin-bottom:10px;animation:none;
  /* Brand shadow Probot — bleu glow subtil (cf. palletiseur cards) */
  box-shadow:var(--srd-shadow-card-sm);
}
/* v1.1.0 — Card titles in brand bleu #217ABD (matches palletiseur card
   titles "Installation en 1 jour", "Pénurie de main-d'œuvre").
   v1.1.2 — Reduced size 18→16px + margin 18→10px to compact vertical space. */
.probot-soum.is-srd .ctit{
  font-family:var(--srd-sans);font-weight:600;font-size:16px;line-height:1.25;
  letter-spacing:-.01em;text-transform:none;color:var(--srd-steel);
  border-bottom:none;padding:0;margin:0 0 12px 0;
}
.probot-soum.is-srd .srd-section-head{margin-bottom:10px;}
.probot-soum.is-srd .srd-section-title{
  font-size:16px;font-weight:600;line-height:1.25;letter-spacing:-.01em;color:var(--srd-steel);margin:0;
}
.probot-soum.is-srd .srd-section-sub{
  font-size:12px;color:var(--srd-muted);margin:4px 0 0;line-height:1.5;
}
.probot-soum.is-srd .srd-field-label{
  font-size:11px;font-weight:600;color:var(--srd-ink2);
  text-transform:uppercase;letter-spacing:.08em;margin-bottom:10px;
}

/* ── Form fields ─────────────────────────────────────────────────── */
.probot-soum.is-srd .field{margin-bottom:14px;}
.probot-soum.is-srd .field label{font-size:11px;color:var(--srd-muted);font-weight:500;margin-bottom:5px;}
.probot-soum.is-srd .field label .req{color:var(--srd-accent);}
/* v1.1.2 — Compact inputs + labels for no-scroll layout */
.probot-soum.is-srd .field{margin-bottom:10px;}
.probot-soum.is-srd .field label{font-size:11px;color:var(--srd-muted);font-weight:500;margin-bottom:4px;}
.probot-soum.is-srd .field input,
.probot-soum.is-srd .field select{
  width:100%;padding:8px 12px;font-size:13px;font-family:var(--srd-sans);
  border:1px solid var(--srd-line);border-radius:6px;background:#fff;color:var(--srd-ink);
  outline:none;transition:border .15s,box-shadow .15s;
}
.probot-soum.is-srd .field input:focus,
.probot-soum.is-srd .field select:focus{
  border-color:var(--srd-accent);box-shadow:0 0 0 3px var(--srd-accent-soft);
}
.probot-soum.is-srd .field.err input{border-color:#DC2626;}
.probot-soum.is-srd .frow{display:grid;grid-template-columns:1fr 1fr;gap:14px;}
@media(max-width:540px){.probot-soum.is-srd .frow{grid-template-columns:1fr;}}
.probot-soum.is-srd .emsg{font-size:11px;color:#DC2626;margin-top:4px;display:none;}
.probot-soum.is-srd .field.err .emsg,
.probot-soum.is-srd .err > .emsg{display:block;}

/* ── Intervention cards (Direction A) ────────────────────────────── */
.probot-soum.is-srd .srd-int-grid{
  display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:10px;
  margin-bottom:24px;
}
.probot-soum.is-srd .srd-int-card{
  text-align:left;padding:14px;
  background:#fff;color:var(--srd-ink);
  border:1px solid var(--srd-line);border-radius:6px;
  display:flex;align-items:center;gap:14px;
  cursor:pointer;transition:all .15s;
  font-family:inherit;font-size:inherit;position:relative;min-height:78px;
}
.probot-soum.is-srd .srd-int-card:hover{border-color:var(--srd-accent);background:var(--srd-accent-soft);}
.probot-soum.is-srd .srd-int-icon{
  flex-shrink:0;color:var(--srd-muted);display:flex;align-items:center;justify-content:center;
}
.probot-soum.is-srd .srd-int-card:hover .srd-int-icon{color:var(--srd-accent);}
.probot-soum.is-srd .srd-int-body{flex:1;min-width:0;display:flex;flex-direction:column;gap:3px;}
.probot-soum.is-srd .srd-int-title{font-size:13px;font-weight:600;}
.probot-soum.is-srd .srd-int-desc{font-size:11px;color:var(--srd-muted);line-height:1.45;}
.probot-soum.is-srd .srd-int-flag{
  display:none;font-size:9px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;
  padding:3px 7px;background:rgba(255,255,255,.15);color:#fff;border-radius:3px;
  flex-shrink:0;
}
.probot-soum.is-srd .srd-int-card.on{
  background:var(--srd-steel);color:#fff;border-color:var(--srd-steel);
  box-shadow:0 2px 8px rgba(15,76,117,.18);
}
.probot-soum.is-srd .srd-int-card.on .srd-int-icon{
  width:36px;height:36px;border-radius:50%;background:#fff;color:var(--srd-steel);
}
.probot-soum.is-srd .srd-int-card.on .srd-int-icon .srd-icon{stroke-width:2.2;}
.probot-soum.is-srd .srd-int-card.on .srd-int-desc{color:#cfe0ec;}
.probot-soum.is-srd .srd-int-card.on .srd-int-flag{display:inline-block;}

/* ── Description ─────────────────────────────────────────────────── */
.probot-soum.is-srd .srd-desc-head{
  display:flex;align-items:center;justify-content:space-between;margin-bottom:8px;
}
.probot-soum.is-srd .srd-desc-counter{
  font-family:var(--srd-mono);font-size:11px;color:var(--srd-muted);font-weight:400;
}
.probot-soum.is-srd .srd-desc-frame{position:relative;}
.probot-soum.is-srd textarea.srd-desc-ta,
.probot-soum.is-srd .svc-desc-ta{
  width:100%;box-sizing:border-box;
  border:1px solid var(--srd-line);border-radius:6px;padding:14px 16px;background:#fff;
  font-family:var(--srd-sans);font-size:13px;line-height:1.55;color:var(--srd-ink);
  outline:none;transition:border .15s,box-shadow .15s;resize:vertical;
  min-height:140px;
}
.probot-soum.is-srd textarea.srd-desc-ta:focus,
.probot-soum.is-srd .svc-desc-ta:focus{
  border-color:var(--srd-accent);box-shadow:0 0 0 3px var(--srd-accent-soft);
}

/* ── Next-step preview card ──────────────────────────────────────── */
.probot-soum.is-srd .srd-next-preview{
  display:grid;grid-template-columns:auto 1fr auto;gap:14px;align-items:center;
  padding:14px 18px;background:#fff;
  border:1px dashed rgba(58,174,220,.55);border-radius:8px;margin-bottom:14px;
}
.probot-soum.is-srd .srd-next-icon{
  width:40px;height:40px;border-radius:50%;background:rgba(58,174,220,.14);
  display:flex;align-items:center;justify-content:center;color:var(--srd-accent);flex-shrink:0;
}
.probot-soum.is-srd .srd-next-label{
  font-size:10px;color:var(--srd-accent);font-weight:700;
  letter-spacing:.08em;text-transform:uppercase;margin-bottom:3px;
}
.probot-soum.is-srd .srd-next-title{font-size:13px;font-weight:600;color:var(--srd-ink);margin-bottom:2px;}
.probot-soum.is-srd .srd-next-sub{font-size:11px;color:var(--srd-muted);}

/* ── Buttons (synchro brand probotsystems.com) ───────────────────── */
.probot-soum.is-srd .srd-btn{
  display:inline-flex;align-items:center;justify-content:center;gap:8px;
  padding:11px 20px;border-radius:8px;border:none;cursor:pointer;
  font-family:inherit;font-size:14px;font-weight:500;
  transition:all .15s;line-height:1;
}
/* Primaire = bleu Probot #1A6BAD (--srd-steel), hover = #155D96 (--srd-steel-dark)
   Cf. .elementor-button sur probotsystems.com/fr/palletiseur */
.probot-soum.is-srd .srd-btn-primary{background:var(--srd-steel);color:#fff;}
.probot-soum.is-srd .srd-btn-primary:hover:not(:disabled){background:var(--srd-steel-dark);}
.probot-soum.is-srd .srd-btn-primary:disabled{opacity:.45;cursor:not-allowed;}
.probot-soum.is-srd .srd-btn-ghost{
  background:transparent;border:1px solid var(--srd-line);color:var(--srd-ink2);
  border-radius:8px;
}
.probot-soum.is-srd .srd-btn-ghost:hover{background:var(--srd-line-soft);color:var(--srd-ink);}
.probot-soum.is-srd .srd-btn .srd-icon{width:14px;height:14px;}
.probot-soum.is-srd .srd-nav,
.probot-soum.is-srd .acts{
  display:flex;justify-content:space-between;align-items:center;
  gap:12px;margin-top:14px;background:transparent;padding:0;border:none;
}
.probot-soum.is-srd .acts:has(> button:only-child){justify-content:flex-end;}
/* v1.1.0 — CTA primaire = bleu Probot #217ABD (--srd-steel), hover = #1B6BA9.
   Match brand .elementor-button : padding 15px 15px 16px, radius 10px, font 16px/500.
   Pas de box-shadow (brand est flat). */
.probot-soum.is-srd .acts .bnx{
  flex:0 0 auto;font-family:var(--srd-sans);font-size:15px;
  font-weight:500;padding:14px 24px;border-radius:10px;
  background:var(--srd-steel);box-shadow:none;color:#fff;
  transition:background .15s ease, opacity .15s ease;
}
.probot-soum.is-srd .acts .bnx:hover:not(:disabled){background:var(--srd-steel-dark);transform:none;box-shadow:none;}
/* v1.1.3 — Disabled state : gris explicite (au lieu du fade browser par défaut),
   pour distinguer clairement "actif" vs "en attente d'une condition". */
.probot-soum.is-srd .acts .bnx:disabled{
  background:var(--srd-line);color:var(--srd-muted);
  cursor:not-allowed;opacity:1;
}
.probot-soum.is-srd .acts .bbk{font-family:var(--srd-sans);font-size:13px;padding:11px 18px;border-radius:10px;}

/* ── Chat ────────────────────────────────────────────────────────── */
.probot-soum.is-srd .srd-chat-section{padding:14px 18px;margin-bottom:14px;}
.probot-soum.is-srd .srd-chat-head{
  display:flex;align-items:center;justify-content:space-between;gap:14px;margin-bottom:14px;
}
.probot-soum.is-srd .srd-chat-head-left{display:flex;align-items:center;gap:10px;}
.probot-soum.is-srd .srd-chat-head-icon{
  width:30px;height:30px;border-radius:50%;background:var(--srd-accent);color:#fff;
  display:flex;align-items:center;justify-content:center;
}
.probot-soum.is-srd .srd-chat-head-icon .srd-icon{stroke-width:1.8;}
.probot-soum.is-srd .srd-chat-status{
  display:flex;align-items:center;gap:6px;
  font-size:9px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;
  padding:3px 8px;background:rgba(93,211,150,.14);color:var(--srd-ok);border-radius:3px;
}

.probot-soum.is-srd .svc-chat-log,
.probot-soum.is-srd .srd-chat-log{
  display:flex;flex-direction:column;gap:8px;background:transparent;
  padding:4px 0;min-height:0;max-height:none;overflow:visible;
}
.probot-soum.is-srd .svc-chat-row{
  display:flex;gap:8px;align-items:flex-start;animation:probot-bubble-in .25s ease-out both;
}
.probot-soum.is-srd .svc-chat-row.row-assistant{justify-content:flex-start;}
.probot-soum.is-srd .svc-chat-row.row-user{justify-content:flex-end;flex-direction:row-reverse;}
.probot-soum.is-srd .srd-chat-avatar,
.probot-soum.is-srd .svc-chat-avatar-sm{
  width:24px;height:24px;border-radius:50%;flex-shrink:0;flex:0 0 auto;
  display:flex;align-items:center;justify-content:center;
  font-size:9px;font-weight:700;letter-spacing:-.02em;
  background:var(--srd-line-soft);color:var(--srd-ink2);border:none;margin-top:0;
}
.probot-soum.is-srd .srd-chat-avatar-ai,
.probot-soum.is-srd .svc-chat-row.row-assistant .svc-chat-avatar-sm{
  background:var(--srd-accent);color:#fff;
}
.probot-soum.is-srd .svc-chat-row.row-user .svc-chat-avatar-sm{
  background:var(--srd-line-soft);color:var(--srd-ink2);
}
.probot-soum.is-srd .svc-chat-col{display:flex;flex-direction:column;gap:0;max-width:80%;min-width:0;}
.probot-soum.is-srd .svc-chat-row.row-user .svc-chat-col{align-items:flex-end;}
.probot-soum.is-srd .svc-chat-meta{display:none;}
.probot-soum.is-srd .svc-chat-bubble{
  padding:7px 11px;font-size:12px;line-height:1.45;
  word-break:break-word;box-shadow:none;
}
.probot-soum.is-srd .svc-chat-bubble.svc-chat-assistant{
  background:#fff;color:var(--srd-ink);border:1px solid var(--srd-line);
  border-radius:4px 10px 10px 10px;
}
.probot-soum.is-srd .svc-chat-bubble.svc-chat-user{
  background:var(--srd-ink);color:#fff;
  border-radius:10px 4px 10px 10px;
}

.probot-soum.is-srd .srd-chat-typing,
.probot-soum.is-srd .svc-chat-typing{
  display:flex;align-items:center;gap:8px;padding:6px 0;background:transparent;
  font-size:11px;color:var(--srd-muted);
}
.probot-soum.is-srd .svc-typing-dots{
  background:#fff;border:1px solid var(--srd-line);border-radius:10px;
  padding:6px 10px;display:inline-flex;gap:4px;box-shadow:none;
}
.probot-soum.is-srd .svc-typing-dots span{
  width:5px;height:5px;border-radius:50%;background:var(--srd-muted);
  animation:probot-typing 1.4s infinite ease-in-out both;
}
.probot-soum.is-srd .svc-typing-dots span:nth-child(1){animation-delay:-.32s;}
.probot-soum.is-srd .svc-typing-dots span:nth-child(2){animation-delay:-.16s;}
.probot-soum.is-srd .svc-typing-label{font-style:italic;}

.probot-soum.is-srd .srd-chat-input,
.probot-soum.is-srd .svc-chat-input{
  display:flex;align-items:flex-end;gap:8px;
  margin-top:10px;padding:0;border-top:none;background:transparent;flex:0 0 auto;
}
.probot-soum.is-srd #inSvcChatReply{
  flex:1;box-sizing:border-box;
  border:1px solid var(--srd-line);border-radius:18px;
  padding:9px 14px;font-family:var(--srd-sans);font-size:13px;line-height:1.45;
  background:#F8FAFC;color:var(--srd-ink);outline:none;resize:none;
  min-height:38px;max-height:120px;transition:border .15s,box-shadow .15s,background .15s;
}
.probot-soum.is-srd #inSvcChatReply:focus{
  border-color:var(--srd-accent);background:#fff;box-shadow:0 0 0 3px var(--srd-accent-soft);
}
.probot-soum.is-srd .svc-chat-send{
  border-radius:999px;padding:9px 16px;font-size:12px;
}
.probot-soum.is-srd .srd-chat-hint{
  font-size:10px;color:var(--srd-muted);margin-top:6px;font-family:var(--srd-mono);
}

/* ── Estimate readout (dark navy + cyan) ─────────────────────────── */
.probot-soum.is-srd .srd-estimate{
  background:var(--srd-steel);color:#fff;
  border-radius:10px;padding:24px 28px;margin-bottom:14px;
  box-shadow:0 8px 24px rgba(15,76,117,.18);
  position:relative;overflow:hidden;border:none;
}
.probot-soum.is-srd .srd-estimate-glow{
  position:absolute;top:-40px;right:-40px;width:160px;height:160px;border-radius:50%;
  background:radial-gradient(circle,rgba(58,174,220,.22) 0%,transparent 70%);
  pointer-events:none;
}
.probot-soum.is-srd .srd-estimate-head{
  display:flex;justify-content:space-between;align-items:flex-start;
  position:relative;gap:24px;
}
.probot-soum.is-srd .srd-estimate-label{
  display:flex;align-items:center;gap:8px;
  font-family:var(--srd-mono);font-size:9px;letter-spacing:.16em;
  color:#9bb8cc;text-transform:uppercase;margin-bottom:8px;
}
.probot-soum.is-srd .srd-estimate-num-wrap{display:flex;align-items:baseline;gap:10px;}
.probot-soum.is-srd .srd-estimate-num{
  font-size:64px;font-weight:300;line-height:1;letter-spacing:-.04em;color:#fff;
}
.probot-soum.is-srd .srd-estimate-num-unit{font-size:18px;color:var(--srd-accent);font-weight:500;}
.probot-soum.is-srd .srd-estimate-conf-badge{
  display:inline-flex;align-items:center;gap:6px;margin-top:12px;
  padding:4px 10px;background:rgba(58,174,220,.18);color:var(--srd-accent);
  font-size:10px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;border-radius:3px;
}
.probot-soum.is-srd .srd-estimate-ref{text-align:right;position:relative;}
.probot-soum.is-srd .srd-estimate-ref-label{
  font-family:var(--srd-mono);font-size:9px;letter-spacing:.16em;
  color:#9bb8cc;text-transform:uppercase;margin-bottom:6px;
}
.probot-soum.is-srd .srd-estimate-ref-num{font-family:var(--srd-mono);font-size:13px;color:#fff;font-weight:600;}
.probot-soum.is-srd .srd-estimate-ref-time{font-size:10px;color:#9bb8cc;margin-top:8px;}
.probot-soum.is-srd .srd-estimate-divider{height:1px;background:rgba(255,255,255,.1);margin:18px 0;}
.probot-soum.is-srd .srd-estimate-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px;}
@media(max-width:600px){.probot-soum.is-srd .srd-estimate-grid{grid-template-columns:1fr;}}
.probot-soum.is-srd .srd-estimate-col-label{
  font-size:10px;color:#9bb8cc;text-transform:uppercase;letter-spacing:.1em;
  margin-bottom:6px;font-weight:700;font-family:var(--srd-mono);
}
.probot-soum.is-srd .srd-estimate-text{font-size:12px;line-height:1.55;margin:0;color:#dde3ec;}
.probot-soum.is-srd .srd-estimate-steps{
  list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:6px;
}
.probot-soum.is-srd .srd-estimate-steps li{
  display:flex;gap:8px;align-items:flex-start;font-size:12px;color:#dde3ec;
}
.probot-soum.is-srd .srd-estimate-tick{color:var(--srd-accent);margin-top:1px;flex-shrink:0;}
.probot-soum.is-srd .srd-estimate-tick .srd-icon{width:11px;height:11px;stroke-width:2.5;}

/* ── Sidebar — service ticket ────────────────────────────────────── */
.probot-soum.is-srd .srd-sidebar{position:sticky;top:18px;align-self:flex-start;}
@media(max-width:880px){.probot-soum.is-srd .srd-sidebar{position:static;}}
.probot-soum.is-srd .srd-ticket{
  background:#fff;border-radius:10px;border:1px solid var(--srd-line);
  box-shadow:0 1px 2px rgba(15,76,117,.04),0 4px 12px rgba(15,76,117,.06);
  overflow:hidden;
}
.probot-soum.is-srd .srd-ticket-head{
  background:var(--srd-steel);color:#fff;
  padding:14px 16px;display:flex;justify-content:space-between;align-items:center;
}
.probot-soum.is-srd .srd-ticket-label{
  font-size:9px;color:#9bb8cc;letter-spacing:.16em;text-transform:uppercase;font-weight:600;margin-bottom:2px;
}
.probot-soum.is-srd .srd-ticket-ref{font-family:var(--srd-mono);font-size:13px;font-weight:600;letter-spacing:-.01em;}
.probot-soum.is-srd .srd-ticket-status{
  display:inline-flex;align-items:center;gap:5px;
  font-size:9px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;
  padding:3px 7px;background:rgba(93,211,150,.2);color:var(--srd-green);border-radius:3px;
}
.probot-soum.is-srd .srd-ticket-body{padding:14px 16px;font-size:12px;}
.probot-soum.is-srd .srd-ticket-group{
  margin-bottom:12px;padding-bottom:12px;border-bottom:1px dashed var(--srd-line-soft);
}
.probot-soum.is-srd .srd-ticket-group:last-of-type{border-bottom:none;margin-bottom:0;padding-bottom:0;}
.probot-soum.is-srd .srd-ticket-group-label{
  font-size:9px;color:var(--srd-muted);letter-spacing:.12em;text-transform:uppercase;
  font-weight:700;margin-bottom:6px;font-family:var(--srd-mono);
}
.probot-soum.is-srd .srd-ticket-row{
  display:flex;justify-content:space-between;gap:12px;margin-top:6px;align-items:baseline;
}
.probot-soum.is-srd .srd-ticket-row > span:first-child{color:var(--srd-muted);font-size:11px;}
.probot-soum.is-srd .srd-ticket-val{
  font-size:12px;font-weight:500;color:var(--srd-ink);text-align:right;max-width:170px;
  word-break:break-word;
}
.probot-soum.is-srd .srd-ticket-empty{color:var(--srd-muted);font-style:italic;font-weight:400;}
.probot-soum.is-srd .srd-ticket-highlight{color:var(--srd-accent);font-weight:600;}

.probot-soum.is-srd .srd-estimate-mini{
  margin-top:12px;padding:12px 14px;
  background:var(--srd-accent-soft);border:1px solid rgba(58,174,220,.25);border-radius:6px;
  display:flex;justify-content:space-between;align-items:baseline;
}
.probot-soum.is-srd .srd-estimate-mini-label{
  font-size:9px;color:var(--srd-accent-ink);font-weight:700;letter-spacing:.12em;text-transform:uppercase;
}
.probot-soum.is-srd .srd-estimate-mini-sub{font-size:10px;color:var(--srd-muted);margin-top:1px;}
.probot-soum.is-srd .srd-estimate-mini-num{
  font-size:22px;font-weight:600;letter-spacing:-.02em;
  color:var(--srd-muted);font-family:var(--srd-mono);
}
.probot-soum.is-srd .srd-estimate-mini.has-value .srd-estimate-mini-num{color:var(--srd-steel);}

.probot-soum.is-srd .srd-validation-note{
  display:flex;align-items:flex-start;gap:8px;
  margin-top:12px;padding:9px 11px;
  background:var(--srd-line-soft);border-radius:5px;
  font-size:10px;color:var(--srd-ink2);line-height:1.45;
}
.probot-soum.is-srd .srd-validation-tick{color:var(--srd-accent);margin-top:1px;flex-shrink:0;}
.probot-soum.is-srd .srd-validation-tick .srd-icon{width:11px;height:11px;stroke-width:2.5;}

/* ── Hide things from the old design that bleed in ───────────────── */
.probot-soum.is-srd .hdr,
.probot-soum.is-srd .hero,
.probot-soum.is-srd .prog:not(.srd-stepper){display:none !important;}

/* v1.1.6 — Factory address: badge "Aéroport détecté" sous le champ (pas
   à l'intérieur). L'ancien layout absolu écrasait le texte dans l'input
   et tronquait pour les longs noms d'aéroport. */
.probot-soum.is-srd #f-factory-address .city-badge{
  display:none;
  align-items:center;
  gap:6px;
  margin-top:6px;
  padding:4px 8px;
  background:transparent;
  border:none;
  font-family:var(--srd-mono);
  font-size:11.5px;
  color:var(--srd-muted);
  line-height:1.4;
}
.probot-soum.is-srd #f-factory-address .city-badge.on{display:inline-flex;}
.probot-soum.is-srd #f-factory-address .city-badge svg path{stroke:var(--srd-muted) !important;}
.probot-soum.is-srd #f-factory-address .city-badge svg circle{fill:var(--srd-muted) !important;}

/* Email field: MX status indicator sits inline at the right edge.
   The default emoji ⏳ is replaced by a discreet text label via JS,
   but we still want it positioned over the input. */
.probot-soum.is-srd #f-email .email-input-wrap{position:relative;}
.probot-soum.is-srd #f-email .email-mx-indicator{
  position:absolute;right:10px;top:50%;transform:translateY(-50%);
  font-size:11px;color:var(--srd-ok);font-weight:600;line-height:1;
  pointer-events:none;
}
.probot-soum.is-srd #f-email input[type="email"]{padding-right:90px;}

/* Account number: replace "(optionnel)" suffix with a pill. */
.probot-soum.is-srd #f-client-code label{display:flex;align-items:center;gap:8px;}
.probot-soum.is-srd #f-client-code label::after{
  content:'OPTIONAL';
  font-family:var(--srd-mono);font-size:9px;font-weight:600;letter-spacing:.06em;
  color:var(--srd-muted);background:var(--srd-line-soft);
  padding:2px 6px;border-radius:2px;text-transform:uppercase;
}
.probot-soum.is-srd[data-lang="fr"] #f-client-code label::after{content:'OPTIONNEL';}

/* P1 Factory row — Company is wider than Account (1.5fr / 1fr), matching
   Direction A. Selectors below win against `.frow` defaults in both flows. */
.probot-soum .frow.factory-row,
.probot-soum.is-srd .frow.factory-row{grid-template-columns:1.5fr 1fr;}
@media(max-width:540px){
  .probot-soum .frow.factory-row,
  .probot-soum.is-srd .frow.factory-row{grid-template-columns:1fr;}
}

/* ── Calendar — urgent (<14 days) red triangle indicator ─────────── */
.probot-soum .qc-d.urgent,
.probot-soum .qc-d.holiday{position:relative;}
.probot-soum .qc-d.urgent::after{
  content:'';position:absolute;bottom:3px;left:50%;transform:translateX(-50%);
  width:0;height:0;
  border-left:3px solid transparent;
  border-right:3px solid transparent;
  border-bottom:4px solid #DC2626;
  pointer-events:none;
}
/* When the urgent day is also selected, lighten the triangle so it
   stays visible against the dark navy background. */
.probot-soum .qc-d.urgent.sel::after{border-bottom-color:#FCA5A5;}
.probot-soum .qcl-tri{
  display:inline-block;width:0;height:0;
  border-left:4px solid transparent;
  border-right:4px solid transparent;
  border-bottom:6px solid #DC2626;
  flex-shrink:0;
}

/* Calendar — stat holiday (CA/US) amber dot indicator. Top-right corner
   so it doesn't collide with the bottom-center urgent triangle when the
   day is both urgent AND a holiday (rare but real, e.g. Christmas falling
   inside the 14-day window when booked late). */
.probot-soum .qc-d.holiday::before{
  content:'';position:absolute;top:3px;right:3px;
  width:5px;height:5px;border-radius:50%;
  background:#F59E0B;
  pointer-events:none;
}
/* Lighter shade on selected day for contrast on dark navy background. */
.probot-soum .qc-d.holiday.sel::before{background:#FCD34D;}
.probot-soum .qcl-dot.hol{background:#F59E0B;border-radius:50%;}

/* Calendar — unavailable days (tech busy / off-day, fed by Google Calendar
   freebusy or a manual block list). Hatched diagonal stripe pattern + the
   number rendered in a strikethrough muted tone. Not clickable. */
.probot-soum .qc-d.unavailable{
  background:repeating-linear-gradient(
    -45deg,
    rgba(168,184,200,.30) 0,
    rgba(168,184,200,.30) 3px,
    transparent 3px,
    transparent 6px
  );
  color:#A8B8C8;text-decoration:line-through;
  cursor:not-allowed;
}
.probot-soum .qc-d.unavailable:hover{
  /* Override hover from the base rule that would tint these blue. */
  background:repeating-linear-gradient(
    -45deg,
    rgba(168,184,200,.30) 0,
    rgba(168,184,200,.30) 3px,
    transparent 3px,
    transparent 6px
  );
  color:#A8B8C8;
}
/* Hide weekend/urgent/holiday markers when the day is unavailable —
   keep the visual clean (the strike-through carries the info). */
.probot-soum .qc-d.unavailable::before,
.probot-soum .qc-d.unavailable::after{display:none;}

/* v1.1.6 — Travel day : tech en déplacement vers/depuis une autre
   intervention. Ambré (distinct du rouge "Indisponible" et du bleu
   "Sélection") + diagonale légère. Cliquable bloqué (aria-disabled). */
.probot-soum .qc-d.travel-day{
  background:#FEF3C7;color:#92400E;cursor:not-allowed;
  border:1px solid #FCD34D;
  background-image:repeating-linear-gradient(
    45deg,
    rgba(245,158,11,.18) 0,
    rgba(245,158,11,.18) 2px,
    transparent 2px,
    transparent 5px
  );
}
.probot-soum .qc-d.travel-day:hover{background-color:#FEF3C7;cursor:not-allowed;}
.probot-soum .qc-d.travel-day::before,
.probot-soum .qc-d.travel-day::after{display:none;}
/* v1.1.31 — Conflict-block : date non-cliquable parce qu'elle créerait un
   conflit travel avec une indispo, mais visuellement distincte des vraies
   indispos (pas de hachures). Juste grisé doux + cursor not-allowed. */
.probot-soum .qc-d.conflict-block{
  color:#94A3B8 !important;
  cursor:not-allowed !important;
  background:transparent !important;
  background-image:none !important;
  border-color:transparent !important;
  opacity:.55;
}
.probot-soum .qc-d.conflict-block:hover{
  background:transparent !important;
  background-image:none !important;
}
/* v1.1.16 — Travel day du devis COURANT : mêmes hachures ambre que travel-day
   "autre devis", mais cliquable (l'utilisateur peut sélectionner cette date
   comme nouveau jour de mission). */
.probot-soum .qc-d.travel-current{cursor:pointer !important;}
.probot-soum .qc-d.travel-current:hover{
  background-color:#FDE68A !important;
  border-color:#F59E0B !important;
}

/* Legend swatch — travel day */
.probot-soum .qcl-dot.travel{
  display:inline-block;width:10px;height:10px;border-radius:50%;
  background:#F59E0B;
  flex-shrink:0;
}

/* Legend swatch — small tile with the same hatched pattern. */
.probot-soum .qcl-stripe{
  display:inline-block;width:14px;height:10px;border-radius:2px;
  background:repeating-linear-gradient(
    -45deg,
    rgba(168,184,200,.45) 0,
    rgba(168,184,200,.45) 2px,
    transparent 2px,
    transparent 4px
  );
  border:1px solid rgba(168,184,200,.4);
  flex-shrink:0;
}

/* Training option — single compact toggle row below the calendar.
   Replaces the old "Options & surcharges" 4-pill grid. */
.probot-soum .training-row{
  display:flex;align-items:center;gap:10px;
  margin-top:14px;padding:10px 14px;
  background:#fff;border:1px solid var(--bd);border-radius:6px;
  cursor:pointer;font-size:13px;color:var(--steel);
  transition:border .12s,background .12s;
}
.probot-soum .training-row:hover{border-color:var(--blue);}
.probot-soum .training-row .tr-check{
  flex-shrink:0;width:18px;height:18px;border-radius:4px;
  border:1.5px solid var(--bd);background:#fff;
  display:inline-flex;align-items:center;justify-content:center;
  transition:background .12s,border-color .12s;
}
.probot-soum .training-row.on .tr-check{
  background:var(--blue);border-color:var(--blue);
  color:#fff;
}
.probot-soum .training-row .tr-check svg{display:none;width:12px;height:12px;}
.probot-soum .training-row.on .tr-check svg{display:block;}
.probot-soum .training-row .tr-body{flex:1;min-width:0;}
.probot-soum .training-row .tr-title{
  font-size:13px;font-weight:500;color:var(--dark);line-height:1.3;
}
.probot-soum .training-row .tr-sub{
  font-size:11px;color:var(--steel);margin-top:2px;line-height:1.4;
}
.probot-soum.is-srd .training-row{
  background:#fff;border:1px solid var(--srd-line);border-radius:6px;
  padding:11px 14px;font-size:12px;
}
.probot-soum.is-srd .training-row:hover{border-color:var(--srd-accent);}
.probot-soum.is-srd .training-row .tr-check{
  border-color:var(--srd-line);
}
.probot-soum.is-srd .training-row.on .tr-check{
  background:var(--srd-accent);border-color:var(--srd-accent);
}
.probot-soum.is-srd .training-row .tr-title{font-size:13px;color:var(--srd-ink);font-weight:500;}
.probot-soum.is-srd .training-row .tr-sub{font-size:11px;color:var(--srd-muted);}

/* ── Robot picker (P2) — Direction A "Sélectionnez vos robots FANUC" ─
   Reuses the existing markup (#modelDD / .sel-models / .qpick) but
   restyles every piece to match Direction A: chip strip on top, search
   bar with cyan focus ring, always-visible categorised catalog with
   circular [+] buttons, fallback pills below.                       */

/* The maintenance flow's blue label/asterisk pair becomes a small
   uppercase mono field label. */
.probot-soum.is-srd .model-selector > label{
  display:block;font-size:11px;font-weight:600;color:var(--srd-muted);
  text-transform:uppercase;letter-spacing:.08em;margin:0 0 8px;
}
.probot-soum.is-srd .model-selector > label .req{display:none;}

/* "Selected" chip strip — sits ABOVE the catalog. Uses CSS order to
   visually float .sel-models to the top of the .model-selector flex. */
.probot-soum.is-srd .model-selector{display:flex;flex-direction:column;}
.probot-soum.is-srd .model-selector > label{order:1;}
.probot-soum.is-srd .sel-models{order:0;margin:0 0 14px;}
.probot-soum.is-srd .model-search-wrap{order:2;}
.probot-soum.is-srd .model-dropdown{order:3;}
.probot-soum.is-srd .model-sel-err{order:4;}
.probot-soum.is-srd .quick-picks{order:5;}
.probot-soum.is-srd .robot-total{order:6;}
.probot-soum.is-srd .no-models{display:none !important;}

.probot-soum.is-srd .sel-models{
  display:flex;flex-wrap:wrap;gap:6px;align-items:center;
  min-height:30px;padding:8px 10px;
  background:var(--srd-accent-soft);
  border:1px solid rgba(58,174,220,.2);border-radius:6px;
}
.probot-soum.is-srd .sel-models:empty::before,
.probot-soum.is-srd .sel-models:not(:has(.sel-model-row))::before{
  content:'No robot selected';
  font-family:var(--srd-mono);font-size:9px;font-weight:700;
  letter-spacing:.12em;text-transform:uppercase;color:var(--srd-accent-ink);
}
.probot-soum.is-srd[data-lang="fr"] .sel-models:empty::before,
.probot-soum.is-srd[data-lang="fr"] .sel-models:not(:has(.sel-model-row))::before{
  content:'Aucun robot sélectionné';
}
.probot-soum.is-srd .sel-models:has(.sel-model-row)::before{
  content:'Selected';
  font-family:var(--srd-mono);font-size:9px;font-weight:700;
  letter-spacing:.12em;text-transform:uppercase;color:var(--srd-accent-ink);
  margin-right:4px;
}
.probot-soum.is-srd[data-lang="fr"] .sel-models:has(.sel-model-row)::before{
  content:'Sélectionné';
}

/* Each selected row → compact pill chip. Quantity controls inline. */
.probot-soum.is-srd .sel-model-row{
  display:inline-flex !important;flex-direction:row !important;
  align-items:center;gap:8px;padding:4px 6px 4px 10px;width:auto !important;
  background:#fff !important;border:1px solid var(--srd-accent) !important;
  border-radius:14px;flex-wrap:nowrap;box-sizing:border-box;
}
.probot-soum.is-srd .sel-model-row > div:first-child{
  /* The .smr-info row + .smr-qty row built by JS via inline style — flatten. */
  display:contents !important;
}
.probot-soum.is-srd .smr-info{flex:0 0 auto;min-width:0;display:inline-flex;gap:6px;align-items:baseline;}
.probot-soum.is-srd .smr-name{
  font-family:var(--srd-mono);font-size:12px;font-weight:600;letter-spacing:-.01em;color:var(--srd-ink);
}
.probot-soum.is-srd .smr-cat{
  display:inline;font-size:10px;color:var(--srd-muted);font-weight:500;
}
.probot-soum.is-srd .smr-qty{display:inline-flex;align-items:center;gap:4px;flex-shrink:0;}
.probot-soum.is-srd .sqbtn{
  width:18px;height:18px;border-radius:50% !important;
  background:var(--srd-line-soft);color:var(--srd-ink2);
  border:none;font-size:11px;line-height:1;flex-shrink:0;
}
.probot-soum.is-srd .sqbtn:hover{background:var(--srd-line);color:var(--srd-ink);}
.probot-soum.is-srd .sqbtn.del{background:transparent;color:var(--srd-muted);}
.probot-soum.is-srd .sqbtn.del:hover{background:#fee2e2;color:#b91c1c;}
.probot-soum.is-srd .sqval{
  font-family:var(--srd-mono);font-size:11px;font-weight:600;
  min-width:14px;text-align:center;color:var(--srd-ink);
}
/* Hide size-picker and other-input affordances inside chips for now —
   the maintenance-only flow renders them at full width below the chip. */
.probot-soum.is-srd .sel-model-row .size-picker-inline,
.probot-soum.is-srd .sel-model-row .other-input-wrap{display:none;}

/* Search bar — strong cyan focus ring, no left padding for icon (we drop
   the emoji icon and use a flex layout instead). */
.probot-soum.is-srd .model-search-wrap{
  position:relative;display:flex;align-items:center;gap:8px;
  padding:9px 12px;border:1.5px solid var(--srd-line);border-radius:6px;
  background:#fff;transition:border .15s,box-shadow .15s;
}
.probot-soum.is-srd .model-search-wrap:focus-within{
  /* Use outline instead of border-color+box-shadow — TwentyTwentyFive's
     block-theme styles silently win on those properties even with
     !important and html-body specificity, but outline cascades cleanly. */
  outline:2px solid var(--srd-accent);
  outline-offset:1px;
}
.probot-soum.is-srd .model-search-icon{
  position:static;transform:none;color:var(--srd-muted);font-size:0;
  width:15px;height:15px;display:inline-flex;
}
.probot-soum.is-srd .model-search-icon::before{
  /* Replace the 🔍 emoji with a clean SVG search icon. */
  content:'';display:block;width:15px;height:15px;
  background:no-repeat center/contain url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%236B7C8E' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'><circle cx='11' cy='11' r='7'/><path d='M20 20l-3.5-3.5'/></svg>");
}
.probot-soum.is-srd .model-search{
  flex:1;border:none !important;padding:0 !important;
  background:transparent !important;font-size:13px;color:var(--srd-ink);
  box-shadow:none !important;
}
.probot-soum.is-srd .model-search:focus{box-shadow:none !important;}
.probot-soum.is-srd .model-search::placeholder{color:var(--srd-muted);}

/* Catalog dropdown — always visible (override the `.on` toggle). */
.probot-soum.is-srd .model-dropdown{
  display:block !important;margin-top:10px;
  max-height:240px;overflow-y:auto;
  background:#fff;border:1px solid var(--srd-line);border-radius:6px;
  box-shadow:none;
}
.probot-soum.is-srd .model-group-label{
  padding:8px 14px;font-family:var(--srd-mono);
  font-size:9px;font-weight:700;color:var(--srd-ink2);
  text-transform:uppercase;letter-spacing:.12em;
  background:var(--srd-line-soft);border-top:1px solid var(--srd-line);
}
.probot-soum.is-srd .model-group-label:first-child{border-top:none;}
.probot-soum.is-srd .model-opt{
  display:flex;align-items:center;justify-content:space-between;
  padding:10px 14px;border-top:1px solid var(--srd-line-soft);
  font-size:13px;cursor:pointer;background:#fff;
}
.probot-soum.is-srd .model-opt:hover{background:var(--srd-accent-soft);}
.probot-soum.is-srd .model-opt .mn{
  font-family:var(--srd-mono);font-size:13px;font-weight:500;
  letter-spacing:-.01em;color:var(--srd-ink);
}
.probot-soum.is-srd .model-opt .mc{
  font-size:11px;color:var(--srd-muted);margin-top:1px;font-weight:400;
}
.probot-soum.is-srd .model-opt .madd{
  width:28px;height:28px;border-radius:5px;
  background:var(--srd-steel);color:#fff;border:none;
  font-size:14px;font-weight:600;line-height:1;flex-shrink:0;
}
.probot-soum.is-srd .model-opt .madd:hover{background:var(--srd-ink);}

/* Quick-pick fallback section. */
.probot-soum.is-srd .quick-picks{
  margin-top:14px;padding-top:14px;
  border-top:1px dashed var(--srd-line);
  display:flex;flex-wrap:wrap;gap:8px;
  align-items:center;
}
.probot-soum.is-srd .quick-pick-label{
  flex:1 0 100%;font-size:11px;font-weight:600;
  color:var(--srd-muted);text-transform:uppercase;letter-spacing:.08em;
  margin-bottom:0;
}
.probot-soum.is-srd .qpick{
  display:inline-flex;align-items:center;gap:7px;
  padding:7px 14px;border-radius:18px;
  background:#fff;border:1px solid var(--srd-line);
  font-size:12px;font-weight:500;color:var(--srd-ink2);
  font-family:var(--srd-sans);
}
.probot-soum.is-srd .qpick:hover{
  border-color:var(--srd-accent);color:var(--srd-accent-ink);
  background:var(--srd-accent-soft);
}
.probot-soum.is-srd .qpick.on{
  border-color:var(--srd-accent);background:var(--srd-accent-soft);
  color:var(--srd-accent-ink);font-weight:600;
}
.probot-soum.is-srd .qpick svg{stroke:currentColor;}

/* Robot total counter — small footer. */
.probot-soum.is-srd .robot-total{
  margin-top:14px;padding-top:14px;border-top:none;
  font-size:11px;color:var(--srd-muted);justify-content:flex-start;gap:6px;
}
.probot-soum.is-srd .rt-pill{
  background:var(--srd-line-soft);color:var(--srd-ink);
  padding:2px 8px;border-radius:10px;
  font-family:var(--srd-mono);font-size:11px;font-weight:600;
}

.probot-soum.is-srd .model-sel-err{
  font-size:11px;color:#dc2626;margin-top:8px;display:none;
}
.probot-soum.is-srd .model-sel-err.on{display:block;}

/* ── Success page (P6 in service / P4 in maint) — Direction A ────── */
.probot-soum.is-srd .suc{
  max-width:680px;margin:0 auto;
  border:1px solid var(--srd-line);border-radius:8px;
  padding:40px 32px;background:#fff;text-align:center;
}
.probot-soum.is-srd .sci{
  width:52px;height:52px;border-radius:50%;
  background:rgba(47,125,77,.1);color:var(--srd-ok);
  display:inline-flex;align-items:center;justify-content:center;
  margin:0 auto 16px;
}
.probot-soum.is-srd .sci svg{width:26px;height:26px;display:block;}
.probot-soum.is-srd .sci svg path{stroke:var(--srd-ok);}
.probot-soum.is-srd .suc h2{
  font-size:26px;font-weight:600;letter-spacing:-.02em;margin:0;color:var(--srd-ink);
}
.probot-soum.is-srd .suc p{
  font-size:14px;font-weight:400;color:var(--srd-ink2);margin:12px auto 0;
  line-height:1.55;max-width:480px;
}
.probot-soum.is-srd .srd-trust-label{font-weight:400;}
.probot-soum.is-srd .suc .ref{
  display:inline-flex;align-items:center;gap:10px;
  margin:22px auto 0;padding:9px 14px;
  background:var(--srd-line-soft);border-radius:6px;
  font-family:var(--srd-mono);font-size:12px;font-weight:500;
}
.probot-soum.is-srd .suc .ref:empty{display:none;}
.probot-soum.is-srd .suc .ref span{color:var(--srd-muted);}

/* Timeline "What happens next" */
.probot-soum.is-srd .srd-timeline{
  max-width:680px;margin:20px auto 0;
  border:1px solid var(--srd-line);border-radius:8px;
  background:#fff;padding:18px 22px;
}
.probot-soum.is-srd .srd-timeline-label{
  font-family:var(--srd-mono);font-size:11px;font-weight:600;
  color:var(--srd-muted);text-transform:uppercase;letter-spacing:.1em;
  margin-bottom:14px;
}
.probot-soum.is-srd .srd-timeline-steps{display:flex;flex-direction:column;gap:0;}
.probot-soum.is-srd .srd-timeline-step{
  display:grid;grid-template-columns:auto 1fr;gap:14px;
  padding-bottom:16px;
}
.probot-soum.is-srd .srd-timeline-step.is-last{padding-bottom:0;}
.probot-soum.is-srd .srd-timeline-rail{
  display:flex;flex-direction:column;align-items:center;
}
.probot-soum.is-srd .srd-timeline-num{
  width:22px;height:22px;border-radius:50%;
  background:#fff;border:1.5px solid var(--srd-line);color:var(--srd-muted);
  display:flex;align-items:center;justify-content:center;
  font-family:var(--srd-mono);font-size:10px;font-weight:700;
  flex-shrink:0;margin-top:2px;
}
.probot-soum.is-srd .srd-timeline-step.is-active .srd-timeline-num{
  background:var(--srd-accent);border-color:var(--srd-accent);color:#fff;
  box-shadow:0 0 0 4px var(--srd-accent-soft);
}
.probot-soum.is-srd .srd-timeline-line{
  width:1px;flex:1;background:var(--srd-line-soft);
  margin-top:4px;min-height:24px;
}
.probot-soum.is-srd .srd-timeline-time{
  font-family:var(--srd-mono);font-size:9px;font-weight:700;
  letter-spacing:.12em;text-transform:uppercase;
  color:var(--srd-muted);margin-bottom:2px;
}
.probot-soum.is-srd .srd-timeline-step.is-active .srd-timeline-time{color:var(--srd-accent);}
.probot-soum.is-srd .srd-timeline-title{
  font-size:13px;font-weight:600;color:var(--srd-ink);margin-bottom:2px;
}
.probot-soum.is-srd .srd-timeline-desc{
  font-size:12px;color:var(--srd-muted);line-height:1.5;
}

/* Trust trio */
.probot-soum.is-srd .srd-trust-trio{
  max-width:680px;margin:20px auto 0;
  display:grid;grid-template-columns:1fr 1fr 1fr;gap:12px;
}
.probot-soum.is-srd .srd-trust-card{
  padding:16px 18px;background:#fff;
  border:1px solid var(--srd-line);border-radius:8px;
}
.probot-soum.is-srd .srd-trust-num{
  font-size:22px;font-weight:600;letter-spacing:-.02em;color:var(--srd-ink);
}
.probot-soum.is-srd .srd-trust-label{
  font-size:11px;color:var(--srd-muted);margin-top:3px;line-height:1.4;
}
@media(max-width:600px){
  .probot-soum.is-srd .srd-trust-trio{grid-template-columns:1fr;}
}

/* ── Footer trust strip override ─────────────────────────────────── */
.probot-soum.is-srd .trust,
.probot-soum.is-srd .footer-trust,
.probot-soum.is-srd .ftr-trust{
  margin:0 auto;padding:18px clamp(20px,4vw,40px) 28px;max-width:1280px;
  border-top:1px solid var(--srd-line);justify-content:center;
  font-size:11px;color:var(--srd-muted);
  animation:none;
}
.probot-soum.is-srd .trust .ti{display:flex;align-items:center;gap:6px;}
.probot-soum.is-srd .trust .td{
  width:5px;height:5px;border-radius:50%;background:var(--srd-accent);
}

/* ─────────────────────────────────────────────────────────────────────────
 * v1.1.77 — Meeting booking page (form-meeting.php + p-meeting-date.php)
 * ───────────────────────────────────────────────────────────────────────── */
.meeting-instant-card{
  display:flex;flex-wrap:wrap;align-items:center;gap:12px;
  background:linear-gradient(135deg, #16A34A 0%, #15803D 100%);color:#fff;
  border-radius:12px;padding:16px 20px;margin:0 0 24px;
  box-shadow:0 4px 16px rgba(22,163,74,0.25);
}
.meeting-instant-dot{
  width:12px;height:12px;border-radius:50%;background:#fff;
  box-shadow:0 0 0 4px rgba(255,255,255,0.3);
  animation:meeting-pulse 1.5s infinite;flex-shrink:0;
}
@keyframes meeting-pulse{
  0%,100%{opacity:1;}50%{opacity:0.5;}
}
.meeting-instant-info{flex:1;min-width:0;}
.meeting-instant-status{font-weight:700;font-size:13px;text-transform:uppercase;letter-spacing:0.05em;}
.meeting-instant-rep{font-size:15px;margin-top:2px;}
.meeting-instant-btn{
  background:#fff;color:#15803D;font-weight:700;padding:10px 20px;border-radius:8px;
  border:none;cursor:pointer;font-size:15px;
}
.meeting-instant-btn:hover{background:#F0FDF4;}
.meeting-instant-btn:disabled{opacity:0.6;cursor:not-allowed;}
.meeting-instant-note{flex:0 0 100%;font-size:12px;color:rgba(255,255,255,0.85);margin:4px 0 0;}

.meeting-date-grid{
  display:grid;grid-template-columns:minmax(280px, 1fr) minmax(260px, 1fr);
  gap:24px;align-items:start;
}
@media (max-width: 720px){
  .meeting-date-grid{grid-template-columns:1fr;}
}

.meeting-cal{background:#fff;border:1px solid #E5E7EB;border-radius:12px;padding:16px;}
.meeting-cal-head{
  display:flex;align-items:center;justify-content:space-between;margin-bottom:12px;
}
.meeting-cal-title{font-weight:600;font-size:16px;color:#1B2835;text-transform:capitalize;}
.meeting-cal-nav{
  width:32px;height:32px;border:1px solid #E5E7EB;border-radius:8px;background:#fff;
  cursor:pointer;font-size:14px;color:#374151;display:flex;align-items:center;justify-content:center;
}
.meeting-cal-nav:hover{background:#F4F7FA;border-color:#14527E;}

.meeting-cal-dow{
  display:grid;grid-template-columns:repeat(7, 1fr);gap:4px;margin-bottom:6px;
}
.meeting-cal-dow span{
  text-align:center;font-size:11px;font-weight:600;color:#6B7280;
  text-transform:uppercase;padding:6px 0;
}
.meeting-cal-dow .meeting-cal-weekend{color:#9CA3AF;}
.meeting-cal-grid{
  display:grid;grid-template-columns:repeat(7, 1fr);gap:4px;
}
.meeting-cal-cell{
  aspect-ratio:1;border:1px solid transparent;border-radius:8px;background:transparent;
  font-size:14px;color:#1B2835;cursor:pointer;padding:0;display:flex;align-items:center;justify-content:center;
  transition:all 0.15s;
}
.meeting-cal-cell-empty{visibility:hidden;}
.meeting-cal-cell-weekend{color:#D1D5DB;cursor:not-allowed;}
.meeting-cal-cell-past{color:#D1D5DB;cursor:not-allowed;}
.meeting-cal-cell-full{color:#9CA3AF;cursor:not-allowed;background:#F4F7FA;}
.meeting-cal-cell-avail{border-color:#16A34A;color:#15803D;font-weight:600;}
.meeting-cal-cell-avail:hover{background:#16A34A;color:#fff;}
.meeting-cal-cell-selected{background:#14527E !important;color:#fff !important;border-color:#14527E !important;}

.meeting-cal-legend{
  display:flex;gap:16px;margin-top:12px;padding-top:12px;border-top:1px solid #F4F7FA;font-size:12px;color:#6B7280;
}
.meeting-cal-legend-item{display:flex;align-items:center;gap:6px;}
.meeting-cal-dot{width:8px;height:8px;border-radius:50%;}
.meeting-cal-dot-avail{background:#16A34A;}
.meeting-cal-dot-full{background:#D1D5DB;}

.meeting-slots{background:#fff;border:1px solid #E5E7EB;border-radius:12px;padding:16px;min-height:300px;}
.meeting-slots-head{font-weight:600;font-size:15px;color:#1B2835;margin-bottom:4px;text-transform:capitalize;}
.meeting-slots-tz{font-size:11px;color:#9CA3AF;margin-bottom:12px;}
.meeting-slots-list{display:flex;flex-direction:column;gap:8px;}
.meeting-slots-empty{color:#9CA3AF;text-align:center;font-style:italic;padding:32px 16px;}
.meeting-slot{
  width:100%;padding:10px 16px;border:1px solid #E5E7EB;border-radius:8px;background:#fff;
  cursor:pointer;font-size:14px;color:#1B2835;text-align:left;font-weight:500;transition:all 0.15s;
}
.meeting-slot:hover{border-color:#14527E;background:#F4F7FA;}
.meeting-slot-selected{background:#14527E;color:#fff;border-color:#14527E;}
.meeting-slot-selected:hover{background:#0F3F62;}

/* ─────────────────────────────────────────────────────────────────────────
 * v1.1.79 — Popup mode [probot_meeting_popup]
 * ───────────────────────────────────────────────────────────────────────── */
.probot-meeting-trigger{
  display:inline-flex;align-items:center;gap:8px;padding:12px 24px;
  background:#14527E;color:#fff;border:none;border-radius:8px;
  font-size:15px;font-weight:600;cursor:pointer;text-decoration:none;
}
.probot-meeting-trigger:hover{background:#0F3F62;}
.probot-meeting-trigger.meeting-trigger-fullwidth{width:100%;justify-content:center;}

.probot-meeting-modal{
  position:fixed;inset:0;z-index:99999;display:flex;align-items:center;justify-content:center;
}
.probot-meeting-modal[hidden]{display:none;}
.probot-meeting-modal-overlay{
  position:absolute;inset:0;background:rgba(15,40,62,0.65);cursor:pointer;
}
.probot-meeting-modal-content{
  position:relative;z-index:1;width:min(1200px, 95vw);height:min(90vh, 900px);
  background:#fff;border-radius:16px;overflow:hidden;
  display:flex;flex-direction:column;
  box-shadow:0 24px 64px rgba(0,0,0,0.25);
}
.probot-meeting-modal-close{
  position:absolute;top:12px;right:12px;z-index:2;
  width:36px;height:36px;border-radius:50%;background:#fff;border:1px solid #E5E7EB;
  font-size:24px;cursor:pointer;color:#374151;line-height:1;
}
.probot-meeting-modal-close:hover{background:#F4F7FA;}
.probot-meeting-modal-body{flex:1;overflow:auto;}
body.probot-meeting-modal-open{overflow:hidden;}

/* v1.1.80 — Calendar dimanche-first + meilleurs etats vides */
.meeting-cal-cell-noslot{color:#9CA3AF;cursor:default !important;background:transparent;}
.meeting-cal-cell-weekend{cursor:default !important;}
.meeting-cal-cell-past{cursor:default !important;}
.meeting-cal-cell-full{cursor:default !important;}
.meeting-cal-cell:disabled{cursor:default !important;}

/* ─────────────────────────────────────────────────────────────────────────
 * v1.1.89 — Mobile responsive fixes
 * Tous les fixes sont scopes dans des @media (max-width:N) pour ne pas
 * impacter le desktop. Cibles : touch targets WCAG 44x44, no horizontal
 * overflow a 375-414px, sidebar expert visible above-the-fold mobile,
 * stepper horizontal propre, modals bottom-sheet, CTAs full-width.
 * ───────────────────────────────────────────────────────────────────────── */

/* Fix 1 — Top bar mobile. v1.1.120 — Le téléphone étant retiré, le top bar
   tient sur UNE seule ligne même sur mobile (logo+titre à gauche, FR/EN à
   droite), comme le desktop → FR/EN reste à côté du titre, pas de ligne
   gaspillée. flex-wrap:wrap = filet de sécurité : si l'écran est trop petit
   ou le titre trop long, le FR/EN passe gracieusement sur une 2e ligne au
   lieu de déborder. */
@media (max-width: 720px) {
  .probot-soum.is-srd .srd-topbar {
    flex-direction: row;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    padding: 12px 16px;
  }
  .probot-soum.is-srd .srd-topbar-right {
    width: auto;
    flex-shrink: 0;
  }
  .probot-soum.is-srd .srd-lang-toggle {
    margin-left: 0;
  }
}
@media (max-width: 480px) {
  .probot-soum.is-srd .srd-help span:not(:last-child) {
    display: none;
  }
}

/* Fix 2 — v1.1.120 : le rail « Parle à un expert » est un panneau DESKTOP.
   Sur mobile (≤900px) on le CACHE — la barre d'appel sticky en bas
   (.probot-sticky-call) prend le relais. */
@media (max-width: 900px) {
  .probot-soum.is-srd .srd-body.srd-body-3col > .srd-sidebar.expert-cta-sidebar {
    display: none;
  }
}

/* Fix 3 — Calendrier qcal : touch targets 44px + compaction card */
@media (max-width: 520px) {
  .probot-soum .qc-d {
    aspect-ratio: auto;
    min-height: 44px;
    font-size: 13px;
  }
  .probot-soum .qc-grid {
    gap: 4px;
  }
  .probot-soum.is-srd .card {
    padding: 14px 12px;
  }
}

/* Fix 4 — Stepper-side : hide ligne verticale + markers natifs + brand */
@media (max-width: 900px) {
  .probot-soum.is-srd .srd-stepper-side-inner {
    gap: 4px;
    padding: 0;
  }
  .probot-soum.is-srd .srd-step-list {
    display: flex;
    gap: 4px;
    padding: 0;
    margin: 0;
  }
  .probot-soum.is-srd .srd-step-list::before {
    display: none;
  }
  .probot-soum.is-srd .srd-step-v {
    flex-direction: column;
    align-items: center;
    gap: 4px;
    margin: 0;
    min-width: 60px;
    grid-template-columns: 1fr;
    text-align: center;
  }
  .probot-soum.is-srd .srd-step-v .srd-step-marker {
    margin-left: 0;
  }
  .probot-soum.is-srd .srd-step-label {
    font-size: 10px;
    text-align: center;
    line-height: 1.2;
  }
  .probot-soum.is-srd .srd-stepper-brand {
    display: none;
  }
}

/* Fix 5 — Phone input wrap : stack vertical sous 480px + boutons full-width */
@media (max-width: 480px) {
  .probot-soum .phone-input-wrap {
    flex-direction: column;
    align-items: stretch;
  }
  .probot-soum .phone-verify-btn {
    width: 100%;
    justify-content: center;
    padding: 10px 14px;
    min-height: 44px;
  }
  .probot-soum .phone-verified-badge {
    width: 100%;
    justify-content: center;
    padding: 8px 12px;
  }
}

/* Fix 6 — Email field MX indicator : sortir du overlay sur mobile */
@media (max-width: 480px) {
  .probot-soum.is-srd #f-email input[type="email"] {
    padding-right: 14px;
  }
  .probot-soum.is-srd #f-email .email-mx-indicator {
    position: static;
    transform: none;
    display: block;
    margin-top: 4px;
    text-align: right;
  }
}

/* Fix 7 — Meeting date grid : minmax(0,1fr) pour eviter overflow 414-720px */
.meeting-date-grid {
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
}
@media (max-width: 820px) {
  .meeting-date-grid {
    grid-template-columns: 1fr;
  }
}

/* Fix 8 — Meeting calendar cells : touch targets 44px sous 480px */
@media (max-width: 480px) {
  .meeting-cal {
    padding: 12px;
  }
  .meeting-cal-cell {
    aspect-ratio: auto;
    min-height: 44px;
    border-radius: 6px;
  }
  .meeting-cal-grid {
    gap: 3px;
  }
}

/* Fix 9 — Quantite chip buttons : tap zone elargie mobile (preserve compact desktop) */
@media (max-width: 520px) {
  .probot-soum .sqbtn {
    width: 36px;
    height: 36px;
  }
  .probot-soum.is-srd .sqbtn {
    width: 28px;
    height: 28px;
    font-size: 14px;
  }
  .probot-soum.is-srd .sel-model-row {
    padding: 8px 8px 8px 12px;
  }
}

/* Fix 10 — Boutons nav (qcal, meeting-cal, lang toggle) : touch targets */
@media (max-width: 480px) {
  .probot-soum .qcal-nav-btn {
    width: 44px;
    height: 44px;
  }
  .meeting-cal-nav {
    width: 40px;
    height: 40px;
  }
  .probot-soum.is-srd .srd-lang-toggle button {
    padding: 8px 12px;
    font-size: 12px;
    min-height: 36px;
  }
}

/* Fix 14 — Quote actions FR/EN + share + print : wrap mobile */
@media (max-width: 680px) {
  .ps-quote-actions {
    flex-wrap: wrap;
    gap: 8px;
  }
  .ps-quote-act-right {
    flex: 1 1 100%;
    justify-content: flex-end;
  }
  .ps-quote-print {
    padding: 10px 14px;
    font-size: 11px;
    min-height: 40px;
  }
}

/* Fix 15 — Calendar legend en grid 2-cols sous 520px */
@media (max-width: 520px) {
  .probot-soum .qcal-legend {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 6px 12px;
    padding: 10px;
    font-size: 10px;
  }
  .probot-soum .qcl-i {
    font-size: 10px;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
  }
}

/* Fix 17 — Sel-model chips full-width sur mobile pour faciliter le tap */
@media (max-width: 520px) {
  .probot-soum.is-srd .sel-models {
    padding: 10px;
    gap: 8px;
  }
  .probot-soum.is-srd .sel-model-row {
    width: 100% !important;
    justify-content: space-between;
    padding: 10px 12px;
  }
  .probot-soum.is-srd .sqval {
    font-size: 14px;
    min-width: 20px;
  }
}

/* Fix 19 — Actions CTA (Retour + Confirmer) en stack vertical mobile */
@media (max-width: 480px) {
  .probot-soum .acts {
    flex-direction: column-reverse;
    gap: 8px;
  }
  .probot-soum .acts .bnx,
  .probot-soum.is-srd .acts .bnx {
    width: 100%;
    min-height: 48px;
    flex: 1 1 100%;
  }
  .probot-soum .acts .bbk {
    width: 100%;
    min-height: 44px;
  }
}

/* Fix 20 — Meeting instant card en stack vertical + CTA pleine largeur */
@media (max-width: 520px) {
  .meeting-instant-card {
    flex-direction: column;
    align-items: stretch;
    text-align: center;
    padding: 14px;
  }
  .meeting-instant-info {
    width: 100%;
  }
  .meeting-instant-btn {
    width: 100%;
    min-height: 48px;
    justify-content: center;
  }
}

/* Fix 18 — Sticky footer : 100dvh pour suivre URL bar iOS Safari */
@media (max-width: 720px) {
  .probot-soum.is-srd {
    min-height: var(--probot-min-height, 100vh);
    min-height: var(--probot-min-height-dvh, 100dvh);
  }
}
