/* MedicinIA Pages — design blanc et rouge */
:root{
  --mx-red:#E11D2E;
  --mx-red-soft:color-mix(in srgb,var(--mx-red) 9%,#fff);
  --mx-ink:#16181D;
  --mx-muted:#646B78;
  --mx-line:#ECEDF0;
  --mx-bg:#FAFAFB;
  --mx-ok:#15803D; --mx-ok-bg:#E9F7EE;
  --mx-low:#B45309; --mx-low-bg:#FEF3E2;
  --mx-radius:18px;
  --mx-shadow:0 1px 2px rgba(16,24,40,.04),0 8px 24px rgba(16,24,40,.06);
}
.mx-wrap{max-width:1180px;margin:0 auto;padding:40px 16px 56px;color:var(--mx-ink);font-family:inherit;line-height:1.55;box-sizing:border-box;position:relative;isolation:isolate;color-scheme:light}
/* Fond pleine largeur blanc et rouge, identique sur toutes les pages MedicinIA */
.mx-wrap::before{content:"";position:absolute;top:0;bottom:0;left:calc(50% - 50vw);width:100vw;z-index:-1;
  background:radial-gradient(900px 340px at 50% 0,var(--mx-red-soft),transparent 70%),linear-gradient(180deg,#fff 0,var(--mx-bg) 100%)}
body.mx-page{background:#fff!important;overflow-x:clip}
body.mx-page .elementor-widget-shortcode,body.mx-page .elementor-shortcode{width:100%}
body.mx-page .elementor-section,body.mx-page .e-con{--background-color:transparent}
.mx-wrap *,.mx-wrap *::before,.mx-wrap *::after{box-sizing:border-box}
.mx-wrap h1,.mx-wrap h2,.mx-wrap h3{color:var(--mx-ink);letter-spacing:-.01em;margin:0 0 .5em;line-height:1.2}
.mx-wrap a{color:var(--mx-red)}
.mx-muted{color:var(--mx-muted)}
.mx-note{font-size:.9rem;color:var(--mx-muted);margin:.5em 0 0}

/* Hero */
.mx-hero{text-align:center;max-width:760px;margin:0 auto 32px}
.mx-kicker{display:inline-block;background:var(--mx-red-soft);color:var(--mx-red);font-weight:600;font-size:.82rem;padding:6px 14px;border-radius:99px;margin-bottom:14px;text-transform:uppercase;letter-spacing:.06em}
.mx-hero h1{font-size:clamp(1.9rem,4vw,2.8rem);font-weight:800}
.mx-hero p{color:var(--mx-muted);font-size:1.08rem;margin:0}

/* Cartes, boutons */
.mx-card{background:#fff;border:1px solid var(--mx-line);border-radius:var(--mx-radius);padding:24px;box-shadow:var(--mx-shadow)}
.mx-card-red{background:var(--mx-red-soft);border-color:color-mix(in srgb,var(--mx-red) 25%,#fff)}
.mx-card-warn{border-left:4px solid var(--mx-red)}
.mx-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;background:var(--mx-red);color:#fff!important;border:1px solid var(--mx-red);border-radius:12px;padding:12px 20px;font-weight:600;font-size:1rem;text-decoration:none;cursor:pointer;transition:filter .15s,transform .15s;font-family:inherit}
.mx-btn:hover{filter:brightness(.92)}
.mx-btn:active{transform:translateY(1px)}
.mx-btn-ghost{background:#fff;color:var(--mx-red)!important}
.mx-btn-ghost:hover{background:var(--mx-red-soft);filter:none}
.mx-btn-block{width:100%;margin-top:12px}
.mx-btn[disabled]{opacity:.6;cursor:wait}
.mx-link{background:none;border:0;color:var(--mx-red);font-weight:600;cursor:pointer;padding:8px 0;font-family:inherit}

/* Formulaires */
.mx-form label,.mx-panel label,.mx-filters label{display:block;font-weight:600;font-size:.92rem;margin-bottom:14px}
.mx-wrap input[type=text],.mx-wrap input[type=email],.mx-wrap input[type=number],.mx-wrap input[type=search],.mx-wrap select,.mx-wrap textarea{
  display:block;width:100%;margin-top:6px;padding:12px 14px;border:1px solid #DADDE3;border-radius:12px;background:#fff;font:inherit;font-weight:400;color:var(--mx-ink);transition:border-color .15s,box-shadow .15s}
.mx-wrap input:focus,.mx-wrap select:focus,.mx-wrap textarea:focus{outline:none;border-color:var(--mx-red);box-shadow:0 0 0 3px var(--mx-red-soft)}
.mx-row2{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.mx-check{display:flex!important;gap:10px;align-items:flex-start;font-weight:400!important}
.mx-check input{margin-top:4px;accent-color:var(--mx-red)}
.mx-hp{position:absolute!important;left:-9999px!important;width:1px;height:1px}
.mx-alert{padding:12px 16px;border-radius:12px;margin-bottom:16px;font-weight:500}
.mx-ok{background:var(--mx-ok-bg);color:var(--mx-ok)}
.mx-ko{background:var(--mx-red-soft);color:var(--mx-red)}
.mx-actions{display:flex;gap:10px;flex-wrap:wrap;justify-content:flex-end;margin-top:8px}

/* Contact */
.mx-contact{display:grid;grid-template-columns:1.6fr 1fr;gap:24px;align-items:start}
.mx-side{display:grid;gap:16px}
.mx-side h3{font-size:1.05rem}
.mx-side p{margin:0 0 .5em}

/* Urgence */
.mx-urgence{margin:28px auto 0;text-align:center;background:var(--mx-red-soft);color:var(--mx-ink);border-radius:12px;padding:12px 16px;font-size:.92rem;max-width:760px}
.mx-urgence strong{color:var(--mx-red)}

/* Médicaments : recherche */
.mx-search{margin-bottom:20px}
.mx-search-main{display:flex;gap:10px}
.mx-search-main input{margin-top:0!important;font-size:1.05rem}
.mx-filters{display:flex;flex-wrap:wrap;gap:14px;align-items:flex-end;margin-top:16px}
.mx-filters label{flex:1 1 180px;margin:0}
.mx-reset{font-weight:600;padding:12px 4px}
.mx-az{display:flex;flex-wrap:wrap;gap:4px;margin-top:16px;padding-top:16px;border-top:1px solid var(--mx-line)}
.mx-az a{width:32px;height:32px;display:grid;place-items:center;border-radius:8px;text-decoration:none;color:var(--mx-ink)!important;font-weight:600;font-size:.88rem}
.mx-az a:hover{background:var(--mx-red-soft)}
.mx-az a.on{background:var(--mx-red);color:#fff!important}
.mx-count{color:var(--mx-muted);margin:0 0 14px}
.mx-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:18px}
.mx-med{text-decoration:none;color:var(--mx-ink)!important;display:flex;flex-direction:column;transition:transform .15s,border-color .15s}
.mx-med:hover{transform:translateY(-2px);border-color:var(--mx-red)}
.mx-med h3{font-size:1.15rem;margin:10px 0}
.mx-med dl{display:grid;grid-template-columns:auto 1fr;gap:4px 12px;margin:0 0 14px;font-size:.92rem}
.mx-med dt{color:var(--mx-muted)}
.mx-med dd{margin:0;font-weight:500}
.mx-more{margin-top:auto;color:var(--mx-red);font-weight:600}
.mx-pill{display:inline-block;align-self:flex-start;background:var(--mx-red-soft);color:var(--mx-red);border-radius:99px;padding:4px 12px;font-size:.78rem;font-weight:600}
.mx-empty{text-align:center;color:var(--mx-muted)}
.mx-pages{display:flex;gap:6px;justify-content:center;margin-top:24px}
.mx-pages a{min-width:38px;height:38px;display:grid;place-items:center;border:1px solid var(--mx-line);border-radius:10px;text-decoration:none;color:var(--mx-ink)!important;font-weight:600}
.mx-pages a.on{background:var(--mx-red);border-color:var(--mx-red);color:#fff!important}

/* Fiche style Vidal */
.mx-crumbs{font-size:.88rem;color:var(--mx-muted);margin-bottom:16px}
.mx-crumbs a{text-decoration:none}
.mx-fiche-head{display:flex;justify-content:space-between;gap:20px;align-items:flex-start;border-top:5px solid var(--mx-red);margin-bottom:24px}
.mx-fiche-head h1{font-size:clamp(1.7rem,3.5vw,2.4rem);margin:10px 0 6px}
.mx-sub{color:var(--mx-muted);margin:0;font-size:1.05rem}
.mx-head-badges{display:flex;flex-wrap:wrap;gap:8px;justify-content:flex-end}
.mx-badge{border:1px solid var(--mx-line);border-radius:10px;padding:6px 12px;font-size:.88rem;font-weight:600;background:var(--mx-bg)}
.mx-fiche-body{display:grid;grid-template-columns:260px 1fr;gap:24px;align-items:start}
.mx-toc{position:sticky;top:96px}
.mx-toc .mx-card{padding:18px;display:flex;flex-direction:column;gap:2px}
.mx-toc strong{margin-bottom:8px}
.mx-toc a{text-decoration:none;color:var(--mx-ink)!important;padding:7px 10px;border-radius:8px;font-size:.93rem}
.mx-toc a:hover{background:var(--mx-red-soft);color:var(--mx-red)!important}
.mx-fiche-main{display:grid;gap:18px;min-width:0}
.mx-fiche-main h2{font-size:1.2rem;display:flex;align-items:center;gap:10px}
.mx-fiche-main h2::before{content:"";width:6px;height:20px;background:var(--mx-red);border-radius:3px}
.mx-fiche-main section{scroll-margin-top:100px}
.mx-fiche-main section p:last-child{margin-bottom:0}
.mx-table{width:100%;border-collapse:collapse;font-size:.95rem}
.mx-table th,.mx-table td{padding:10px 12px;border-bottom:1px solid var(--mx-line);text-align:left;vertical-align:top}
.mx-table th{color:var(--mx-muted);font-weight:600;width:38%}
.mx-table tr:last-child th,.mx-table tr:last-child td{border-bottom:0}
.mx-links{display:flex;flex-wrap:wrap;gap:10px}

/* Analyse */
.mx-steps{display:flex;gap:8px;list-style:none;padding:0;margin:0 auto 24px;justify-content:center;flex-wrap:wrap}
.mx-steps li{display:flex;align-items:center;gap:8px;padding:8px 16px;border-radius:99px;background:#fff;border:1px solid var(--mx-line);color:var(--mx-muted);font-weight:600;font-size:.92rem}
.mx-steps li span{width:24px;height:24px;border-radius:50%;display:grid;place-items:center;background:var(--mx-bg);font-size:.8rem}
.mx-steps li.on{border-color:var(--mx-red);color:var(--mx-red)}
.mx-steps li.on span,.mx-steps li.done span{background:var(--mx-red);color:#fff}
.mx-ana-grid{display:grid;grid-template-columns:1.5fr 1fr;gap:24px;align-items:start}
.mx-panel h2{font-size:1.3rem}
.mx-panel textarea{font-family:ui-monospace,Menlo,Consolas,monospace!important;font-size:.92rem!important;margin-bottom:14px}
.mx-table-wrap{overflow-x:auto;margin:0 -4px}
.mx-edit th{width:auto;font-size:.82rem;white-space:nowrap}
.mx-edit td{padding:6px 4px}
.mx-edit input{margin:0!important;padding:8px 10px!important;min-width:64px}
.mx-edit td:first-child input{min-width:150px}
.mx-del{background:none;border:0;color:var(--mx-muted);cursor:pointer;font-size:1.1rem;padding:6px}
.mx-del:hover{color:var(--mx-red)}
.mx-bilan{position:sticky;top:96px}
.mx-bilan-head{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:12px}
.mx-bilan-head span{color:var(--mx-muted);font-size:.85rem}
.mx-bl{display:grid;grid-template-columns:1fr auto auto;gap:10px;align-items:center;padding:10px 0;border-bottom:1px solid var(--mx-line);font-size:.95rem}
.mx-bl strong{white-space:nowrap}
.mx-tag{font-size:.75rem;font-weight:700;padding:3px 10px;border-radius:99px}
.mx-tag.n{background:var(--mx-ok-bg);color:var(--mx-ok)}
.mx-tag.b{background:var(--mx-low-bg);color:var(--mx-low)}
.mx-tag.h{background:var(--mx-red-soft);color:var(--mx-red)}
.mx-tag.u{background:var(--mx-bg);color:var(--mx-muted)}
.mx-legend{display:flex;gap:8px;margin-top:14px}
.mx-result h2{font-size:1.08rem;margin-top:1.2em}
.mx-result h2:first-child{margin-top:0}
.mx-result ul{padding-left:1.2em}
.mx-result li{margin-bottom:.4em}
.mx-loading{display:flex;align-items:center;gap:12px;color:var(--mx-muted)}
.mx-loading::before{content:"";width:20px;height:20px;border:3px solid var(--mx-red-soft);border-top-color:var(--mx-red);border-radius:50%;animation:mxspin .8s linear infinite}
@keyframes mxspin{to{transform:rotate(360deg)}}
.mx-checks{list-style:none;padding:0;margin:28px 0 0;display:flex;flex-wrap:wrap;gap:12px 28px;justify-content:center;color:var(--mx-muted)}
.mx-checks li::before{content:"✓";color:var(--mx-red);font-weight:800;margin-right:8px}

/* Diagnostic */
.mx-row3{display:grid;grid-template-columns:1.2fr .8fr 1fr;gap:14px}
.mx-chips{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 16px}
.mx-chip{border:1px solid color-mix(in srgb,var(--mx-red) 30%,#fff);background:#fff;color:var(--mx-red);border-radius:99px;padding:8px 14px;font:inherit;font-size:.9rem;font-weight:600;cursor:pointer;transition:background .15s}
.mx-chip:hover{background:var(--mx-red-soft)}
.mx-chip[disabled]{opacity:.5;cursor:default}
.mx-chat{padding:0;overflow:hidden}
.mx-chat-head{display:flex;gap:12px;align-items:center;padding:16px 20px;border-bottom:1px solid var(--mx-line)}
.mx-chat-head span{display:block;font-size:.85rem;color:var(--mx-muted)}
.mx-avatar{width:40px;height:40px;border-radius:50%;background:var(--mx-red);color:#fff;display:grid;place-items:center;font-weight:800}
.mx-progress{height:4px;background:var(--mx-line)}
.mx-progress span{display:block;height:100%;width:0;background:var(--mx-red);transition:width .4s}
.mx-thread{padding:20px;display:flex;flex-direction:column;gap:12px;max-height:460px;min-height:220px;overflow-y:auto;background:var(--mx-bg)}
.mx-msg{max-width:85%;padding:12px 16px;border-radius:16px;line-height:1.5}
.mx-msg.bot{background:#fff;border:1px solid var(--mx-line);border-top-left-radius:4px;align-self:flex-start}
.mx-msg.me{background:var(--mx-red);color:#fff;border-top-right-radius:4px;align-self:flex-end}
.mx-chat .mx-chips{padding:14px 20px 0;margin:0}
.mx-compose{display:flex;gap:10px;padding:14px 20px}
.mx-compose input{margin:0!important}
.mx-chat .mx-link{margin:0 20px 14px}
.mx-typing{display:inline-flex;gap:4px}
.mx-typing i{width:7px;height:7px;border-radius:50%;background:var(--mx-muted);animation:mxdot 1s infinite}
.mx-typing i:nth-child(2){animation-delay:.15s}.mx-typing i:nth-child(3){animation-delay:.3s}
@keyframes mxdot{0%,80%,100%{opacity:.3;transform:translateY(0)}40%{opacity:1;transform:translateY(-3px)}}
#mxd-result{display:grid;gap:18px;margin-bottom:8px}
#mxd-result h2{font-size:1.15rem}
#mxd-result ul{margin:0;padding-left:1.2em}
.mx-level{border-radius:var(--mx-radius);padding:22px 24px;border:1px solid}
.mx-level strong{font-size:1.25rem;display:block;margin-bottom:6px}
.mx-level p{margin:0 0 12px}
.lv-urg{background:var(--mx-red);border-color:var(--mx-red);color:#fff}
.lv-urg .mx-btn{background:#fff;color:var(--mx-red)!important;border-color:#fff}
.lv-urg .mx-btn-ghost{background:transparent;color:#fff!important}
.lv-fast{background:var(--mx-low-bg);border-color:#F5C98B;color:#7A3A00}
.lv-doc{background:var(--mx-red-soft);border-color:color-mix(in srgb,var(--mx-red) 25%,#fff)}
.lv-ok{background:var(--mx-ok-bg);border-color:#B7E4C7;color:#14532D}
.mx-pistes{display:grid;gap:12px}
.mx-piste{border:1px solid var(--mx-line);border-radius:12px;padding:14px 16px}
.mx-piste>div{display:flex;justify-content:space-between;gap:10px;align-items:center}
.mx-piste p{margin:6px 0 0;color:var(--mx-muted)}
.mx-ol{margin:0;padding-left:1.2em}
.mx-ol li{margin-bottom:6px}

/* Responsive */
@media (max-width:900px){
  .mx-contact,.mx-fiche-body,.mx-ana-grid{grid-template-columns:1fr}
  .mx-toc,.mx-bilan{position:static}
  .mx-toc .mx-card{display:none}
  .mx-bilan{order:-1}
  .mx-fiche-head{flex-direction:column}
  .mx-head-badges{justify-content:flex-start}
}
@media (max-width:560px){
  .mx-row2,.mx-row3{grid-template-columns:1fr}
  .mx-msg{max-width:92%}
  .mx-search-main{flex-direction:column}
  .mx-card{padding:18px}
  .mx-actions .mx-btn{flex:1 1 auto}
}
@media print{
  .mx-wrap::before,.mx-steps,.mx-actions,.mx-toc,.mx-checks,.mx-side,.mx-hero,[data-dpanel=start],[data-dpanel=chat],.mx-panel[data-panel="1"],.mx-panel[data-panel="2"]{display:none!important}
  .mx-card{box-shadow:none}
}

/* Logo */
img.mx-logo{height:44px!important;width:auto!important;max-width:220px;display:block}
@media (max-width:560px){img.mx-logo{height:34px!important}}

/* Connexion / Inscription */
.mx-login-grid{display:grid;grid-template-columns:1fr 1fr;gap:32px;align-items:center;max-width:1040px;margin:0 auto}
.mx-login .mx-login-grid:has(.mx-side){align-items:start}
.mx-logo-lg{height:56px;width:auto;margin-bottom:22px}
.mx-login-pitch h1{font-size:clamp(1.8rem,3.4vw,2.5rem);font-weight:800}
.mx-benefits{list-style:none;padding:0;margin:20px 0;display:grid;gap:12px}
.mx-benefits li{padding-left:32px;position:relative}
.mx-benefits li::before{content:"✓";position:absolute;left:0;top:0;width:22px;height:22px;border-radius:50%;background:var(--mx-red-soft);color:var(--mx-red);font-weight:800;display:grid;place-items:center;font-size:.8rem}
.mx-login-form{padding:28px}
.mx-login .mx-btn-block+.mx-btn-block{margin-top:10px}
/* Habillage des formulaires Login & Register Customizer et du formulaire WordPress */
.mx-login-form input[type=text],.mx-login-form input[type=email],.mx-login-form input[type=password],.mx-login-form input[type=tel]{width:100%;padding:12px 14px!important;border:1px solid #DADDE3!important;border-radius:12px!important;font:inherit;background:#fff!important}
.mx-login-form input:focus{border-color:var(--mx-red)!important;box-shadow:0 0 0 3px var(--mx-red-soft)!important;outline:none}
.mx-login-form button[type=submit],.mx-login-form input[type=submit],.mx-login-form .xoo-el-action-btn{background:var(--mx-red)!important;border:1px solid var(--mx-red)!important;color:#fff!important;border-radius:12px!important;padding:12px 20px!important;font-weight:600!important;width:100%;cursor:pointer}
.mx-login-form a{color:var(--mx-red)}
.mx-login-form [class*="xoo-el-tabs"] li,.mx-login-form [class*="xoo-el-tabs"] a{border-radius:10px}
.mx-login-form [class*="xoo-el-tabs"] .xoo-el-active,.mx-login-form [class*="xoo-el-tabs"] li.xoo-el-active a{background:var(--mx-red)!important;color:#fff!important}
.mx-login-form input[type=checkbox]{accent-color:var(--mx-red)}
@media (max-width:900px){.mx-login-grid{grid-template-columns:1fr}}
