
  :root{
    --paper:#F4F7F0; --paper-card:#FFFFFF; --ink:#1C2B22; --ink-soft:#4A5A4F;
    --green:#2F6B4F; --green-deep:#1F4D38; --amber:#E8B94A; --amber-soft:#FBF0D6;
    --brick:#C0503D; --brick-soft:#FBEDE9; --line:#DCE3D6; --green-soft:#EAF3EC;
    --green-soft-border:var(--green-soft-border); --amber-soft-border:var(--amber-soft-border); --brick-soft-border:var(--brick-soft-border);
    --amber-soft-text:#8A5A00; --amber-soft-text-strong:#7A5C00;
  }
  html.dark-mode{
    --paper:#181F1B; --paper-card:#232E28; --ink:#EAF0E7; --ink-soft:#9FB0A5;
    --green:#4C9370; --green-deep:#2E6B4C; --amber:#F0C868; --amber-soft:#33291A;
    --brick:#E08A78; --brick-soft:#3A2320; --line:#334038; --green-soft:#1E3329;
    --green-soft-border:#2E4A3A; --amber-soft-border:#4A3B1F; --brick-soft-border:#4A2C26;
    --amber-soft-text:#E8C77A; --amber-soft-text-strong:#E8C77A;
  }
  html{font-size:15px;}
  *{box-sizing:border-box; margin:0; padding:0;}
  body{
    background-color:var(--paper); color:var(--ink); font-family:'Public Sans',sans-serif; line-height:1.55;
    background-image:radial-gradient(circle, var(--line) 1px, transparent 1px);
    background-size:28px 28px;
    background-attachment:fixed;
  }
  h1,h2,h3{font-family:'Playfair Display',serif; font-weight:600;}
  a{color:inherit; text-decoration:none;}
  a:focus-visible, button:focus-visible, input:focus-visible{outline:3px solid var(--amber); outline-offset:2px;}
  .wrap{max-width:820px; margin:0 auto; padding:0 24px;}

  /* Site footer */
  .site-footer{background:var(--paper-card); border-top:1px solid var(--line); margin-top:60px;}
  .footer-top{
    max-width:960px; margin:0 auto; padding:48px 24px 32px;
    display:grid; grid-template-columns:1.4fr 1fr 1fr 1fr; gap:32px;
  }
  .footer-brand-logo{display:flex; align-items:center; gap:10px; font-family:'Playfair Display',serif; font-weight:700; font-size:1.1rem; color:var(--ink); margin-bottom:10px;}
  .footer-brand-logo img{width:26px; height:26px; object-fit:contain;}
  .footer-tagline{font-size:0.85rem; color:var(--ink-soft); max-width:28ch; line-height:1.5;}
  .footer-col-title{font-size:0.72rem; font-weight:700; text-transform:uppercase; letter-spacing:0.06em; color:var(--ink-soft); margin-bottom:14px; opacity:0.8;}
  .footer-link{display:block; font-size:0.88rem; color:var(--ink); margin-bottom:11px; cursor:pointer; text-decoration:none; transition:color 0.15s ease;}
  .footer-link:hover{color:var(--green);}
  .footer-bottom{
    border-top:1px solid var(--line); padding:20px 24px; text-align:center;
    font-size:0.78rem; color:var(--ink-soft);
  }
  @media (max-width:680px){
    .footer-top{grid-template-columns:1fr 1fr; gap:28px 20px;}
    .footer-brand-block{grid-column:1 / -1;}
  }

  /* Large text accessibility mode — toggling on <html> scales every rem-based element site-wide */
  html.large-text{font-size:21px;}

  /* Print-friendly fiche */
  @media print{
    header, footer, .back-link, .breadcrumb, .no-print{display:none !important;}
    body{background:#fff; color:#000;}
    section.card{border:1px solid #ccc; break-inside:avoid; box-shadow:none;}
    .wrap{max-width:100%;}
  }

  .fiche-utility-bar{display:flex; gap:12px; margin:24px 0; flex-wrap:wrap;}
  .fiche-utility-btn{
    display:inline-flex; align-items:center; gap:7px; font-size:0.85rem; font-weight:600;
    padding:11px 20px; border-radius:100px; border:1px solid var(--line); background:var(--paper-card);
    color:var(--ink-soft); cursor:pointer; text-decoration:none;
    transition:border-color .15s ease, color .15s ease, transform .1s ease, box-shadow .15s ease;
  }
  .fiche-utility-btn:hover{border-color:var(--green); color:var(--green-deep); box-shadow:0 4px 12px -4px rgba(47,107,79,0.25); transform:translateY(-1px);}
  .fiche-utility-btn:active{transform:translateY(0);}
  .verified-date{font-size:0.78rem; color:var(--ink-soft); margin-top:6px;}

  .pictogram-row{display:flex; gap:10px; flex-wrap:wrap; margin:14px 0;}
  .pictogram{
    display:flex; align-items:center; gap:9px; padding:9px 16px 9px 10px; border-radius:100px;
    font-size:0.85rem; font-weight:600; border:1px solid transparent;
  }
  .pictogram-icon{
    width:26px; height:26px; border-radius:50%; background:rgba(255,255,255,0.6);
    display:flex; align-items:center; justify-content:center; flex-shrink:0; font-size:0.9rem;
  }
  .pictogram.pregnancy-ok{background:var(--green-soft); color:var(--green-deep); border-color:var(--green-soft-border);}
  .pictogram.pregnancy-caution{background:var(--amber-soft); color:var(--amber-soft-text); border-color:var(--amber-soft-border);}
  .pictogram.pregnancy-no{background:var(--brick-soft); color:var(--brick); border-color:var(--brick-soft-border);}
  .pictogram.driving-1{background:var(--green-soft); color:var(--green-deep); border-color:var(--green-soft-border);}
  .pictogram.driving-2{background:var(--amber-soft); color:var(--amber-soft-text); border-color:var(--amber-soft-border);}
  .pictogram.driving-3{background:var(--brick-soft); color:var(--brick); border-color:var(--brick-soft-border);}

  header.site-header,
header{
  position:sticky;
  top:0;
  z-index:60;
  padding:14px 14px 0;
  background:linear-gradient(to bottom, rgba(244,247,240,.94), rgba(244,247,240,.78) 70%, rgba(244,247,240,0));
  backdrop-filter:blur(12px) saturate(130%);
  -webkit-backdrop-filter:blur(12px) saturate(130%);
  border-bottom:none;
}
.nav{
  max-width:1100px;
  margin:0 auto;
  position:relative;
}
.nav-shell{
  display:flex;
  align-items:center;
  gap:14px;
  padding:12px 14px;
  background:rgba(255,255,255,.7);
  border:1px solid rgba(219,227,214,.95);
  border-radius:24px;
  box-shadow:
    0 18px 44px -30px rgba(28,43,34,.28),
    0 1px 0 rgba(255,255,255,.65) inset;
}
.brand-cluster{
  display:flex;
  align-items:center;
  gap:12px;
  min-width:0;
  flex:1 1 auto;
}
.logo{
  min-width:0;
  cursor:pointer;
  display:flex;
  align-items:center;
  gap:12px;
  text-decoration:none;
}
.logo-mark{
  width:42px;
  height:42px;
  padding:7px;
  flex-shrink:0;
  border-radius:14px;
  background:linear-gradient(180deg, rgba(255,255,255,.92), rgba(237,243,234,.95));
  border:1px solid rgba(219,227,214,.95);
  box-shadow:0 8px 20px -16px rgba(28,43,34,.3);
}
.logo-mark img{width:100%; height:100%; display:block; object-fit:contain;}
.logo-copy{
  display:flex;
  flex-direction:column;
  min-width:0;
}
.logo-text{
  font-family:'Playfair Display',serif;
  font-weight:700;
  font-size:1.22rem;
  line-height:1;
  color:var(--ink);
  letter-spacing:-.02em;
}
.logo-subtext{
  margin-top:4px;
  font-size:.72rem;
  color:var(--ink-soft);
  line-height:1.2;
  white-space:nowrap;
}
.header-badge{
  display:none;
  align-items:center;
  gap:6px;
  padding:8px 11px;
  border-radius:999px;
  background:rgba(47,107,79,.07);
  border:1px solid rgba(47,107,79,.12);
  color:var(--green-deep);
  font-size:.75rem;
  font-weight:700;
  white-space:nowrap;
}
.top-nav-links{display:none;}
.header-actions{
  display:flex;
  align-items:center;
  gap:10px;
  margin-left:auto;
  flex-shrink:0;
}
.top-nav-secondary{
  display:none;
  padding:10px 14px;
  border-radius:999px;
  border:1px solid rgba(219,227,214,.95);
  background:rgba(255,255,255,.55);
  color:var(--ink-soft);
  font-size:.86rem;
  font-weight:650;
  cursor:pointer;
  transition:.18s ease;
}
.top-nav-secondary:hover{
  color:var(--green-deep);
  border-color:rgba(47,107,79,.18);
  transform:translateY(-1px);
}
.top-nav-link{
  position:relative;
  font-size:.92rem;
  font-weight:650;
  color:var(--ink-soft);
  cursor:pointer;
  transition:color .18s ease;
}
.top-nav-link:hover{color:var(--green-deep);}
.top-nav-link::after{
  content:"";
  position:absolute;
  left:0;
  bottom:-8px;
  width:100%;
  height:2px;
  border-radius:999px;
  background:var(--green);
  transform:scaleX(0);
  transform-origin:left;
  transition:transform .18s ease;
}
.top-nav-link:hover::after{transform:scaleX(1);}
.top-nav-cta{
  font-size:.87rem;
  font-weight:750;
  color:#fff;
  background:linear-gradient(180deg, var(--green), var(--green-deep));
  padding:11px 18px;
  border-radius:999px;
  cursor:pointer;
  box-shadow:0 10px 20px -14px rgba(47,107,79,.5);
  transition:transform .16s ease, box-shadow .16s ease, filter .16s ease;
}
.top-nav-cta:hover{
  transform:translateY(-1px);
  box-shadow:0 16px 28px -18px rgba(47,107,79,.55);
  filter:saturate(1.05);
}
.menu-btn{
  width:46px;
  height:46px;
  background:rgba(255,255,255,.7);
  border:1px solid rgba(219,227,214,.95);
  cursor:pointer;
  padding:0;
  display:flex;
  align-items:center;
  justify-content:center;
  border-radius:14px;
  flex-shrink:0;
  margin-left:auto;
  box-shadow:0 10px 20px -16px rgba(28,43,34,.35);
  transition:transform .15s ease, border-color .15s ease, background .15s ease;
}
.menu-btn:hover{
  background:rgba(255,255,255,.92);
  border-color:rgba(47,107,79,.18);
  transform:translateY(-1px);
}
.menu-btn svg{width:22px; height:22px; display:block;}

@media (min-width:900px){
  .brand-cluster{flex:0 0 auto;}
  .header-badge{display:inline-flex;}
  .top-nav-links{
    display:flex;
    align-items:center;
    gap:22px;
    padding:0 4px;
    margin-left:auto;
  }
  .top-nav-secondary{display:inline-flex;}
  .menu-btn{display:none;}
}

@media (max-width:899px){
  header.site-header,
  header{
    padding:10px 10px 0;
  }
  .nav-shell{
    padding:11px 12px;
    gap:12px;
    border-radius:20px;
  }
  .logo-mark{
    width:38px;
    height:38px;
    border-radius:12px;
  }
  .logo-text{font-size:1.12rem;}
  .logo-subtext{display:none;}
}

  .menu-dropdown{
    position:fixed; top:0; right:0; bottom:0; margin-top:0;
    background:var(--paper-card); border:none; border-left:1px solid var(--line); border-radius:0;
    box-shadow:-20px 0 48px -14px rgba(28,43,34,0.28);
    width:320px; max-width:85vw;
    height:100vh; overflow-y:auto; z-index:50; display:none; padding:0;
    transform:translateX(100%);
    transition:transform 0.28s cubic-bezier(0.32,0.72,0,1);
    scrollbar-width:thin; scrollbar-color:var(--line) transparent;
  }
  .menu-dropdown::-webkit-scrollbar{width:6px;}
  .menu-dropdown::-webkit-scrollbar-track{background:transparent;}
  .menu-dropdown::-webkit-scrollbar-thumb{background:var(--line); border-radius:10px;}
  .menu-dropdown::-webkit-scrollbar-thumb:hover{background:var(--ink-soft);}
  .menu-dropdown.open{display:block; transform:translateX(0);}
  .menu-drawer-header{
    display:flex; align-items:center; justify-content:space-between;
    padding:20px 20px 16px; border-bottom:1px solid var(--line); position:sticky; top:0;
    background:var(--paper-card); z-index:2;
  }
  .menu-drawer-title{font-family:'Playfair Display',serif; font-weight:600; font-size:1.1rem; color:var(--ink);}
  .menu-drawer-close{
    width:34px; height:34px; border-radius:50%; border:1px solid var(--line); background:var(--paper);
    display:flex; align-items:center; justify-content:center; cursor:pointer; font-size:1.1rem; color:var(--ink-soft);
    transition:background .15s ease, transform .1s ease;
  }
  .menu-drawer-close:hover{background:var(--line);}
  .menu-drawer-body{padding:8px;}
  .menu-group-label{
    font-size:0.68rem; font-weight:700; text-transform:uppercase; letter-spacing:0.08em;
    color:var(--ink-soft); padding:14px 12px 8px; opacity:0.65;
  }
  .menu-group-label:first-child{padding-top:8px;}
  .menu-group-label:not(:first-child){
    margin-top:4px; border-top:1px solid var(--line); padding-top:14px;
  }
  .menu-item{
    display:flex; align-items:center; gap:12px; font-size:0.9rem; font-weight:600;
    color:var(--ink); padding:8px 12px; cursor:pointer; text-decoration:none;
    transition:background 0.15s ease, transform 0.1s ease; border-radius:10px;
  }
  .menu-item:hover{background:var(--paper); transform:translateX(2px);}
  .menu-item:active{transform:translateX(2px) scale(0.98);}
  .menu-item-icon{
    font-size:0.95rem; width:30px; height:30px; flex-shrink:0;
    background:var(--amber-soft); border-radius:9px;
    display:flex; align-items:center; justify-content:center;
  }
  .menu-section-title{
    font-size:0.78rem; font-weight:700; text-transform:uppercase; letter-spacing:0.05em;
    color:var(--ink-soft); padding:14px 18px 8px;
  }
  .menu-med-item{
    display:flex; flex-direction:column; gap:1px; padding:10px 18px; cursor:pointer;
    border-top:1px solid var(--line);
  }
  .menu-med-item:hover{background:var(--paper);}
  .menu-med-name{font-size:0.92rem; font-weight:600; color:var(--ink);}
  .menu-med-brands{font-size:0.78rem; color:var(--ink-soft);}
  .menu-overlay{
    position:fixed; inset:0; z-index:40; display:none;
    background:rgba(28,43,34,0.35); backdrop-filter:blur(2px);
    opacity:0; transition:opacity 0.25s ease;
  }
  .menu-overlay.open{display:block; opacity:1;}

  /* Barre de navigation basse — optimisée smartphone */
  body{padding-bottom:calc(78px + env(safe-area-inset-bottom, 0px));}
  .bottom-nav{
    position:fixed; bottom:0; left:0; right:0; z-index:35;
    background:color-mix(in srgb, var(--paper-card) 94%, transparent); border-top:1px solid var(--line);
    display:flex; align-items:stretch; justify-content:space-around;
    box-shadow:0 -10px 30px -16px rgba(28,43,34,0.28);
    padding:4px 4px env(safe-area-inset-bottom, 0px);
    backdrop-filter:blur(14px); -webkit-backdrop-filter:blur(14px);
  }
  .bottom-nav-item{
    flex:1; min-width:0; min-height:58px; display:flex; flex-direction:column; align-items:center; justify-content:center;
    gap:3px; padding:7px 2px 6px; cursor:pointer; color:var(--ink-soft); border-radius:12px;
    transition:color .15s ease, background .15s ease, transform .12s ease; user-select:none; -webkit-tap-highlight-color:transparent;
  }
  .bottom-nav-item:hover{color:var(--ink); background:var(--green-soft);}
  .bottom-nav-item:active{transform:scale(.96);}
  .bottom-nav-item.active{color:var(--green-deep); background:var(--green-soft);}
  .bottom-nav-icon{font-size:1.16rem; line-height:1; transition:transform .15s ease;}
  .bottom-nav-item.active .bottom-nav-icon{transform:translateY(-1px);}
  .bottom-nav-label{font-size:0.61rem; line-height:1.05; font-weight:700; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; max-width:100%;}
  @media (max-width:680px){
    html{font-size:14.5px;}
    .wrap{padding-left:16px; padding-right:16px;}
    .hero{padding-top:42px;}
    .hero h1{font-size:clamp(2rem,10vw,3rem); line-height:1.03;}
    section.card,.card{border-radius:16px;}
    button,.btn,.fiche-utility-btn{min-height:44px;}
    input,select,textarea{font-size:16px !important;} /* évite le zoom automatique sur iPhone */
    .fiche-utility-bar{gap:8px;}
    .fiche-utility-btn{flex:1 1 calc(50% - 8px); justify-content:center; padding:10px 12px;}
    .footer-top{padding-bottom:92px;}
  }
  @media (max-width:380px){
    .bottom-nav-label{font-size:0.56rem;}
    .bottom-nav-icon{font-size:1.08rem;}
    .wrap{padding-left:13px; padding-right:13px;}
  }
  @media (min-width:900px){
    .bottom-nav{display:none;}
    body{padding-bottom:0;}
  }

  .pwa-install-banner{
    display:none; position:fixed; left:12px; right:12px; bottom:88px; z-index:36;
    background:var(--green-deep); color:#fff; border-radius:14px; padding:12px 14px;
    align-items:center; gap:10px; box-shadow:0 12px 32px -10px rgba(28,43,34,0.4);
    animation:fadeInView 0.3s ease;
  }
  .pwa-install-banner.show{display:flex;}
  .pwa-install-text{flex:1; font-size:0.82rem; line-height:1.4;}
  .pwa-install-btn{
    background:var(--amber); color:var(--green-deep); border:none; border-radius:100px;
    padding:8px 16px; font-size:0.82rem; font-weight:700; cursor:pointer; flex-shrink:0;
  }
  .pwa-install-close{cursor:pointer; opacity:0.7; padding:4px; flex-shrink:0;}
  @media (min-width:900px){
    .pwa-install-banner{bottom:20px; left:auto; right:20px; max-width:360px;}
  }
  .nav-count{font-size:0.82rem; color:var(--ink-soft);}

  main{min-height:60vh;}

  /* HOME */
  .hero{
    padding:76px 0 12px; text-align:left; position:relative;
  }
  .hero::before{
    content:''; position:absolute; top:-40px; left:50%; transform:translateX(-50%);
    width:700px; height:400px; max-width:150vw;
    background:radial-gradient(ellipse at center, rgba(47,107,79,0.06) 0%, rgba(232,185,74,0.04) 45%, transparent 75%);
    pointer-events:none; z-index:-1;
  }
  .eyebrow{display:inline-flex; align-items:center; gap:8px; font-size:0.74rem; font-weight:600; color:var(--ink-soft); text-transform:uppercase; letter-spacing:0.1em; margin-bottom:22px; opacity:0.85;}
  .quick-search-row{display:flex; align-items:center; flex-wrap:wrap; gap:8px; margin-top:14px;}
  .quick-search-label{font-size:0.82rem; color:var(--ink-soft); margin-right:2px;}
  .quick-chip{
    font-size:0.82rem; font-weight:600; color:var(--ink-soft); background:var(--paper-card);
    border:1px solid var(--line); border-radius:100px; padding:6px 14px; cursor:pointer;
    transition:border-color .15s ease, color .15s ease, background .15s ease;
  }
  .quick-chip:hover{border-color:var(--green); color:var(--green-deep); background:var(--green-soft);}

  .recent-viewed-header{display:flex; align-items:center; justify-content:space-between; margin:22px 0 10px;}
  .recent-viewed-title{font-size:0.8rem; font-weight:700; color:var(--ink-soft); text-transform:uppercase; letter-spacing:0.05em;}
  .recent-viewed-clear{font-size:0.78rem; font-weight:600; color:var(--ink-soft); cursor:pointer; text-decoration:underline; text-underline-offset:2px; opacity:0.75; transition:opacity .15s ease, color .15s ease;}
  .recent-viewed-clear:hover{opacity:1; color:var(--brick);}
  .recent-chip-row{display:flex; flex-wrap:wrap; gap:8px;}
  .recent-chip{
    display:inline-flex; align-items:center; gap:7px; font-size:0.85rem; font-weight:600;
    color:var(--ink); background:var(--paper-card); border:1px solid var(--line);
    border-radius:100px; padding:7px 14px 7px 10px; cursor:pointer;
    transition:border-color .15s ease, transform .1s ease;
  }
  .recent-chip:hover{border-color:var(--green); transform:translateY(-1px);}
  .recent-chip-icon{opacity:0.6; font-size:0.8rem;}

  .recently-added-title{
    font-size:0.8rem; font-weight:700; color:var(--ink-soft); margin:22px 0 10px;
    text-transform:uppercase; letter-spacing:0.05em; display:flex; align-items:center; gap:8px;
  }
  .recently-added-title .pulse-dot{
    width:7px; height:7px; border-radius:50%; background:var(--amber);
    animation:pulseDot 1.8s ease-in-out infinite;
  }
  @keyframes pulseDot{ 0%,100%{opacity:1; transform:scale(1);} 50%{opacity:0.4; transform:scale(0.8);} }
  .recently-added-row{display:flex; flex-wrap:wrap; gap:8px;}
  .recently-added-chip{
    display:inline-flex; align-items:center; gap:7px; font-size:0.85rem; font-weight:600;
    color:var(--ink); background:var(--amber-soft); border:1px solid var(--amber-soft-border);
    border-radius:100px; padding:7px 14px; cursor:pointer;
    transition:border-color .15s ease, transform .1s ease;
  }
  .recently-added-chip:hover{border-color:var(--amber); transform:translateY(-1px);}

  .sphere-filter-row{display:flex; flex-wrap:wrap; gap:8px; margin-bottom:18px;}
  .sphere-filter-chip{
    font-size:0.8rem; font-weight:600; color:var(--ink-soft); background:var(--paper-card);
    border:1px solid var(--line); border-radius:100px; padding:6px 14px; cursor:pointer;
    transition:all .15s ease;
  }
  .sphere-filter-chip:hover{border-color:var(--green); color:var(--green-deep);}
  .sphere-filter-chip.active{background:var(--green-deep); color:#fff; border-color:var(--green-deep);}
  .eyebrow::before{content:''; width:8px; height:8px; border-radius:50%; background:var(--amber);}
  h1{font-size:2.5rem; line-height:1.1; margin-bottom:18px; letter-spacing:-0.01em;}
  h1 em{font-style:normal; color:var(--green);}
  .hero-sub{color:var(--ink-soft); font-size:1.02rem; line-height:1.6; max-width:50ch; margin-bottom:28px;}
  .trust-strip{display:flex; flex-wrap:wrap; align-items:center; gap:10px; margin-bottom:32px;}
  .trust-strip-item{font-size:0.82rem; color:var(--ink-soft);}
  .trust-strip-item strong{color:var(--green-deep); font-weight:700;}
  .trust-strip-dot{color:var(--line); font-weight:700;}

  .search-box{background:var(--paper-card); border:1px solid var(--line); border-radius:22px; padding:10px 12px; display:flex; gap:8px; box-shadow:0 4px 16px -8px rgba(28,43,34,0.06); transition:border-color .15s ease, box-shadow .15s ease;}
  .search-box:focus-within{border-color:var(--green); box-shadow:0 4px 20px -6px rgba(47,107,79,0.15);}

  .form-input{
    width:100%; padding:13px 15px; border:1px solid var(--line); border-radius:12px;
    font-family:'Public Sans',sans-serif; font-size:0.95rem; background:var(--paper-card);
    color:var(--ink); transition:border-color .15s ease, box-shadow .15s ease;
  }
  .form-input:focus{outline:none; border-color:var(--green); box-shadow:0 0 0 4px rgba(47,107,79,0.1);}

  .carnet-count-label{
    font-size:0.8rem; font-weight:700; color:var(--ink-soft); text-transform:uppercase;
    letter-spacing:0.05em; margin-bottom:12px;
  }
  .carnet-remove-btn{
    font-size:0.78rem; font-weight:600; color:var(--ink-soft); background:transparent;
    border:1px solid var(--line); border-radius:100px; padding:6px 14px; cursor:pointer;
    transition:border-color .15s ease, color .15s ease, background .15s ease;
  }
  .carnet-remove-btn:hover{border-color:var(--brick); color:var(--brick); background:var(--brick-soft);}

  .quiz-score-badge{
    display:inline-flex; align-items:center; gap:8px; font-size:0.85rem; font-weight:700;
    color:var(--green-deep); background:var(--green-soft); border-radius:100px; padding:8px 18px; margin-bottom:18px;
  }
  .quiz-question-pair{
    text-align:center; padding:24px 16px 28px; margin-bottom:18px;
    background:var(--paper); border:1px dashed var(--line); border-radius:16px;
  }
  .quiz-question-label{font-size:0.8rem; color:var(--ink-soft); text-transform:uppercase; letter-spacing:0.05em; margin-bottom:10px;}
  .quiz-question-names{font-size:1.5rem; font-weight:700; font-family:'Playfair Display',serif; color:var(--ink);}
  .quiz-question-plus{color:var(--amber); font-weight:400; padding:0 6px;}
  .quiz-option-btn{
    width:100%; text-align:left; padding:16px 18px; font-size:0.95rem; font-weight:600;
    border:2px solid var(--line); border-radius:14px; background:var(--paper-card); color:var(--ink);
    cursor:pointer; transition:border-color .15s ease, background .15s ease, transform .1s ease;
  }
  .quiz-option-btn:hover:not(:disabled){border-color:var(--green); background:var(--green-soft); transform:translateX(3px);}
  .quiz-option-btn:disabled{cursor:default; opacity:0.5;}
  textarea.form-input{resize:vertical;}
  .search-box input{flex:1; border:none; background:transparent; padding:12px 14px; font-family:'Public Sans',sans-serif; font-size:1rem; color:var(--ink);}
  .search-box input:focus{outline:none;}
  .search-box .icon{display:flex; align-items:center; padding-left:8px; color:var(--ink-soft);}

  .results{margin-top:28px; padding-bottom:56px;}
  .results-label{font-size:0.85rem; color:var(--ink-soft); margin-bottom:12px;}
  .sphere-group{margin-bottom:8px;}
  .sphere-header{
    font-family:'Playfair Display',serif; font-weight:600; font-size:1.02rem; color:var(--green-deep);
    padding:18px 2px 10px; display:flex; align-items:center; gap:10px;
    border-bottom:2px solid var(--amber-soft);
  }
  .sphere-group:first-child .sphere-header{padding-top:4px;}
  .sphere-count{
    font-family:'Public Sans',sans-serif; font-size:0.72rem; font-weight:700; color:var(--ink-soft);
    background:var(--paper); border:1px solid var(--line); border-radius:100px; padding:2px 9px;
  }
  .sphere-jump-row{
    display:flex; flex-wrap:wrap; gap:8px; padding:14px; margin-bottom:20px;
    background:var(--paper-card); border:1px solid var(--line); border-radius:14px;
  }
  .sphere-jump-chip{
    font-size:0.78rem; font-weight:600; color:var(--ink-soft); background:var(--paper);
    border:1px solid var(--line); border-radius:100px; padding:6px 13px; cursor:pointer;
    transition:border-color .15s ease, color .15s ease, background .15s ease;
  }
  .sphere-jump-chip:hover{border-color:var(--green); color:var(--green-deep); background:var(--green-soft);}

  .faq-list{display:flex; flex-direction:column; gap:12px;}
  .faq-item{
    background:var(--paper-card); border:1px solid var(--line); border-radius:14px;
    overflow:hidden; transition:border-color .15s ease;
  }
  .faq-item.open{border-color:var(--green);}
  .faq-question{
    display:flex; align-items:center; justify-content:space-between; gap:16px;
    padding:18px 20px; cursor:pointer; font-weight:700; font-size:0.98rem; color:var(--ink);
  }
  .faq-question-icon{
    flex-shrink:0; width:22px; height:22px; display:flex; align-items:center; justify-content:center;
    color:var(--green-deep); font-size:1.1rem; font-weight:400; transition:transform .2s ease;
  }
  .faq-item.open .faq-question-icon{transform:rotate(45deg);}
  .faq-answer{
    max-height:0; overflow:hidden; transition:max-height .25s ease;
  }
  .faq-answer-inner{padding:0 20px 18px; font-size:0.92rem; color:var(--ink-soft); line-height:1.6;}
  .result-card{
    display:flex; align-items:center; justify-content:space-between; gap:14px;
    background:var(--paper-card); border:1px solid var(--line); border-radius:16px;
    padding:18px 20px; margin-bottom:12px; cursor:pointer;
    transition:border-color .15s ease, box-shadow .15s ease, transform .15s ease;
  }
  .result-card:hover{border-color:var(--green); box-shadow:0 8px 20px -8px rgba(47,107,79,0.2); transform:translateY(-1px);}
  .result-main{display:flex; flex-direction:column; gap:3px;}
  .result-name{font-weight:600; font-size:1.02rem;}
  .result-sub{font-size:0.85rem; color:var(--ink-soft);}
  .result-badges{display:flex; gap:6px; flex-shrink:0;}
  .mini-badge{font-size:0.7rem; font-weight:700; padding:4px 10px; border-radius:100px; white-space:nowrap;}
  .mini-badge.free{background:var(--green-soft); color:var(--green-deep);}
  .mini-badge.rx{background:var(--brick-soft); color:var(--brick);}

  .interaction-tool-row{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;margin:14px 0 2px;}
  .interaction-entry-row{display:flex;gap:10px;align-items:stretch;margin-bottom:8px;}
  .interaction-entry-row .search-box{min-width:0;}
  .interaction-add-btn{border:0;background:var(--green-deep);color:#fff;border-radius:13px;padding:0 18px;min-height:48px;font:inherit;font-weight:750;cursor:pointer;white-space:nowrap;}
  .interaction-add-btn:hover{filter:brightness(1.04);}
  .interaction-entry-help{font-size:.78rem;color:var(--ink-soft);margin:0 0 12px;}
  @media(max-width:560px){.interaction-entry-row{flex-direction:column}.interaction-add-btn{width:100%;min-height:44px;}}

  .interaction-tool-actions{display:flex;gap:8px;flex-wrap:wrap;}
  .interaction-mini-btn{border:1px solid var(--line);background:var(--paper-card);color:var(--ink);border-radius:999px;padding:9px 13px;font:inherit;font-size:.82rem;font-weight:700;cursor:pointer;}
  .interaction-mini-btn:hover{border-color:var(--green);color:var(--green-deep);}
  .interaction-stats{font-size:.8rem;color:var(--ink-soft);}
  .interaction-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:18px 0 8px;}
  .interaction-summary-item{border:1px solid var(--line);border-radius:14px;padding:12px 14px;background:var(--paper-card);}
  .interaction-summary-item strong{display:block;font-size:1.1rem;color:var(--ink);}
  .interaction-summary-item span{font-size:.78rem;color:var(--ink-soft);}
  @media(max-width:680px){.interaction-summary{grid-template-columns:1fr;}}
  .interaction-chip{
    display:inline-flex; align-items:center; gap:8px;
    background:var(--green-deep); color:#fff; padding:8px 10px 8px 16px;
    border-radius:100px; font-size:0.88rem; font-weight:600;
  }
  .interaction-chip button{
    background:rgba(255,255,255,0.2); border:none; color:#fff; width:20px; height:20px;
    border-radius:50%; cursor:pointer; font-size:0.85rem; line-height:1; display:flex;
    align-items:center; justify-content:center; padding:0;
  }
  .interaction-search-item{
    width:100%; font:inherit; text-align:left;
    display:flex; justify-content:space-between; align-items:center;
    padding:12px 16px; border:1px solid var(--line); border-radius:12px;
    margin-bottom:8px; cursor:pointer; background:var(--paper-card);
    transition:border-color .15s ease, box-shadow .15s ease, transform .1s ease;
  }
  .interaction-search-item:hover{border-color:var(--green); box-shadow:0 4px 14px -8px rgba(47,107,79,0.25); transform:translateY(-1px);}
  .interaction-search-item.disabled{opacity:0.4; cursor:not-allowed;}
  .interaction-result-card{
    border-radius:14px; padding:22px; margin-bottom:14px; border:1px solid var(--line);
    border-left-width:5px; box-shadow:0 4px 14px -8px rgba(28,43,34,0.12);
    animation:fadeInView 0.3s ease;
  }
  .interaction-result-card.none{background:var(--paper-card); border-left-color:var(--green);}
  .interaction-result-card.caution{background:var(--amber-soft); border-color:var(--amber-soft-border); border-left-color:var(--amber);}
  .interaction-result-card.danger{background:var(--brick-soft); border-color:var(--brick-soft-border); border-left-color:var(--brick);}
  .interaction-pair-names{font-weight:700; font-size:1.02rem; margin-bottom:8px; font-family:'Playfair Display',serif;}
  .interaction-severity-tag{
    display:inline-flex; align-items:center; gap:6px; font-size:0.72rem; font-weight:700; padding:5px 12px;
    border-radius:100px; margin-bottom:10px; text-transform:uppercase; letter-spacing:0.03em;
  }
  .interaction-severity-tag.caution{background:var(--amber-soft-border); color:var(--amber-soft-text-strong);}
  .interaction-severity-tag.danger{background:var(--brick-soft-border); color:var(--brick);}
  .interaction-severity-tag.none{background:var(--green-soft); color:var(--green-deep);}
  .no-results{
    color:var(--ink-soft); font-size:0.95rem; text-align:center; padding:48px 20px;
    display:flex; flex-direction:column; align-items:center; gap:12px;
  }
  .no-results-icon{
    width:52px; height:52px; border-radius:50%; background:var(--amber-soft);
    display:flex; align-items:center; justify-content:center; font-size:1.4rem;
  }
  .no-results p{max-width:38ch; line-height:1.5;}

  .browse-all{margin-top:6px; font-size:0.88rem; color:var(--green-deep); font-weight:600; cursor:pointer; display:inline-block;}

  /* DETAIL PAGE */
  .detail{padding-top:24px; padding-bottom:56px; display:none;}
  @keyframes fadeInView{ from{opacity:0; transform:translateY(8px);} to{opacity:1; transform:translateY(0);} }

  /* Squelette de chargement (fiche détail) */
  .skeleton-wrap{padding-top:24px;}
  @keyframes skeletonPulse{ 0%,100%{opacity:0.55;} 50%{opacity:1;} }
  .skeleton{
    background:linear-gradient(90deg, var(--line) 25%, var(--paper) 50%, var(--line) 75%);
    background-size:200% 100%;
    animation:skeletonPulse 1.3s ease-in-out infinite;
    border-radius:8px;
  }
  .skeleton-line{height:14px; margin-bottom:8px;}
  .skeleton-title{height:34px; border-radius:10px;}
  .skeleton-badge-row{display:flex; gap:10px; margin:18px 0;}
  .skeleton-badge{width:110px; height:30px; border-radius:100px;
    background:linear-gradient(90deg, var(--line) 25%, var(--paper) 50%, var(--line) 75%);
    background-size:200% 100%; animation:skeletonPulse 1.3s ease-in-out infinite;}
  .skeleton-card{height:100px; border-radius:16px; margin-bottom:16px;}

  @keyframes bouncePop{
    0%{transform:scale(1);}
    30%{transform:scale(1.08);}
    55%{transform:scale(0.97);}
    100%{transform:scale(1);}
  }
  .bounce-pop{animation:bouncePop 0.4s cubic-bezier(0.34,1.56,0.64,1);}

  /* Barre de progression de lecture */
  .reading-progress-bar{
    position:fixed; top:0; left:0; height:3px; width:0%; z-index:60;
    background:linear-gradient(90deg, var(--green), var(--amber));
    transition:width 0.1s linear;
  }

  /* Bouton retour en haut */
  .scroll-top-btn{
    position:fixed; bottom:96px; right:18px; z-index:34;
    width:44px; height:44px; border-radius:50%;
    background:var(--paper-card); border:1px solid var(--line);
    box-shadow:0 8px 20px -8px rgba(28,43,34,0.3);
    display:flex; align-items:center; justify-content:center;
    font-size:1.2rem; color:var(--green-deep); cursor:pointer;
    opacity:0; pointer-events:none; transform:translateY(8px);
    transition:opacity 0.2s ease, transform 0.2s ease;
  }
  .scroll-top-btn.show{opacity:1; pointer-events:auto; transform:translateY(0);}
  @media (min-width:900px){
    .scroll-top-btn{bottom:28px;}
  }
  #home-view, .detail{animation:fadeInView 0.28s ease;}
  .back-link{font-size:0.88rem; color:var(--ink-soft); cursor:pointer; display:inline-block; margin-bottom:24px;}
  .back-link:hover{color:var(--green-deep);}
  .breadcrumb{font-size:0.78rem; color:var(--ink-soft); margin-bottom:20px; text-transform:uppercase; letter-spacing:0.06em; opacity:0.8;}
  .breadcrumb span{color:var(--green-deep); font-weight:600;}
  .title-block{margin-bottom:32px;}
  .title-block h1{font-size:2.1rem; line-height:1.15; letter-spacing:-0.01em;}
  .sub{color:var(--ink-soft); font-size:0.98rem; line-height:1.6; margin-top:10px; max-width:56ch;}
  .badges{display:flex; gap:8px; flex-wrap:wrap; margin:16px 0 28px;}
  .badge{font-size:0.78rem; font-weight:600; padding:6px 13px; border-radius:100px; border:1px solid var(--line); background:var(--paper-card); transition:transform .1s ease;}
  .badge.ok{color:var(--green-deep); border-color:var(--green-soft-border); background:var(--green-soft);}
  .badge.rx{color:var(--brick); border-color:var(--brick-soft-border); background:var(--brick-soft);}
  .badge.info{color:var(--ink-soft);}

  section.card{background:var(--paper-card); border:1px solid var(--line); border-radius:18px; padding:28px 26px; margin-bottom:20px; box-shadow:0 2px 10px -4px rgba(28,43,34,0.05);}
  section.card h2{font-size:1.12rem; font-weight:600; margin-bottom:16px; display:flex; align-items:center; gap:11px; letter-spacing:-0.005em;}
  section.card h2 .dot{width:8px; height:8px; border-radius:50%; background:var(--amber); flex-shrink:0; box-shadow:0 0 0 4px var(--amber-soft);}
  section.card p{color:var(--ink-soft); font-size:0.94rem; line-height:1.65;}
  section.card ul{padding-left:20px; color:var(--ink-soft); font-size:0.94rem; line-height:1.65;}
  section.card ul li{margin-bottom:6px;}
  section.card ul li{margin-bottom:6px;}

  .dose-disclaimer{margin-top:14px;padding:12px 14px;border-radius:12px;background:var(--surface-soft,#f6f8f6);border:1px solid var(--border,#dde5df);font-size:.91rem;line-height:1.5;color:var(--text-soft,#506058)}
  [data-theme="dark"] .dose-disclaimer{background:rgba(255,255,255,.045)}
    .warn-box{background:var(--brick-soft); border:1px solid var(--brick-soft-border); border-left:4px solid var(--brick); border-radius:12px; padding:14px 16px; margin-top:14px; display:flex; gap:10px; align-items:flex-start;}
  .warn-box p{color:var(--brick); font-weight:600; font-size:0.9rem;}

  .severity{display:flex; flex-direction:column; gap:9px;}
  .sev-item{display:flex; gap:12px; align-items:flex-start; padding:11px 13px; border-radius:10px; border:1px solid var(--line); border-left-width:4px;}
  .sev-item.sev-border-mild{border-left-color:var(--green);}
  .sev-item.sev-border-watch{border-left-color:var(--amber);}
  .sev-item.sev-border-urgent{border-left-color:var(--brick);}
  .sev-tag{font-size:0.7rem; font-weight:700; padding:3px 10px; border-radius:100px; white-space:nowrap; flex-shrink:0; margin-top:1px;}
  .sev-tag.mild{background:var(--green-soft); color:var(--green-deep);}
  .sev-tag.watch{background:var(--amber-soft); color:var(--amber-soft-text);}
  .sev-tag.urgent{background:var(--brick-soft); color:var(--brick);}
  .sev-item p{font-size:0.9rem; color:var(--ink); margin:0;}

  .sources{display:flex; align-items:center; gap:14px; font-size:0.83rem; color:var(--ink-soft); padding:16px 4px 8px;}
  .sources .trust-badge{width:34px; height:34px; border-radius:9px; background:var(--amber-soft); display:flex; align-items:center; justify-content:center; flex-shrink:0; font-family:'Playfair Display',serif; font-weight:700; color:var(--green-deep); font-size:0.78rem;}

  footer{border-top:1px solid var(--line); padding:24px; font-size:0.8rem; color:var(--ink-soft); text-align:center; margin-top:20px;}


/* ==========================================================
   MonMédoc — finition visuelle 2026
   Refonte non destructive : identité et fonctionnalités conservées
   ========================================================== */
:root{
  --green-soft-border:#CFE0D3;
  --amber-soft-border:#EBD79E;
  --brick-soft-border:#EBCBC4;
  --shadow-soft:0 8px 26px -18px rgba(28,43,34,.28);
  --shadow-card:0 14px 40px -28px rgba(28,43,34,.36);
  --shadow-hover:0 18px 42px -26px rgba(31,77,56,.38);
}

body{
  background-size:32px 32px;
  background-image:radial-gradient(circle, color-mix(in srgb, var(--line) 72%, transparent) 1px, transparent 1.1px);
}

.wrap{max-width:860px; padding:0 28px;}

header{
  background:color-mix(in srgb, var(--paper) 92%, transparent);
  border-bottom-color:color-mix(in srgb, var(--line) 82%, transparent);
  backdrop-filter:blur(14px) saturate(135%);
  -webkit-backdrop-filter:blur(14px) saturate(135%);
}
.nav{padding-top:14px; padding-bottom:14px;}
.logo{gap:10px; font-size:1.22rem; letter-spacing:-.015em;}
.logo-mark{width:29px; height:29px;}
.top-nav-links{gap:8px;}
.top-nav-link{padding:9px 11px; border-radius:10px;}
.top-nav-link:hover{background:var(--green-soft);}
.top-nav-cta{box-shadow:0 7px 18px -11px rgba(31,77,56,.65);}

.hero{padding:88px 0 30px;}
.hero::before{
  width:760px; height:450px; top:-55px;
  background:radial-gradient(ellipse at 44% 38%, rgba(47,107,79,.105), rgba(232,185,74,.045) 46%, transparent 73%);
}
.eyebrow{
  margin-bottom:24px; font-size:.72rem; letter-spacing:.115em;
  padding:7px 11px; border:1px solid var(--line); border-radius:999px;
  background:color-mix(in srgb, var(--paper-card) 78%, transparent);
}
.eyebrow::before{box-shadow:0 0 0 4px var(--amber-soft);}
h1{font-size:2.78rem; line-height:1.06; letter-spacing:-.026em;}
h1 em{color:var(--green-deep); position:relative;}
.hero-sub{font-size:1.04rem; line-height:1.72; max-width:52ch; margin-bottom:24px;}
.trust-strip{margin-bottom:28px; gap:9px;}
.trust-strip-item{font-size:.8rem;}

.search-box{
  border-radius:18px; padding:8px 10px;
  border-color:color-mix(in srgb, var(--line) 92%, var(--green) 8%);
  box-shadow:var(--shadow-soft), inset 0 1px 0 rgba(255,255,255,.45);
}
.search-box:focus-within{
  border-color:var(--green);
  box-shadow:0 0 0 4px rgba(47,107,79,.09), 0 16px 32px -24px rgba(31,77,56,.5);
}
.search-box .icon{font-size:1.05rem; padding-left:10px;}
.search-box input{padding:14px 12px; font-size:1.01rem;}
.quick-search-row{margin-top:16px; gap:7px;}
.quick-chip,.recent-chip,.recently-added-chip,.sphere-filter-chip,.sphere-jump-chip{
  box-shadow:0 2px 8px -7px rgba(28,43,34,.4);
}
.quick-chip:hover,.recent-chip:hover,.recently-added-chip:hover,.sphere-filter-chip:hover,.sphere-jump-chip:hover{
  transform:translateY(-1px);
}

.detail{padding-top:34px; padding-bottom:68px;}
.back-link{
  margin-bottom:18px; padding:7px 11px; margin-left:-11px;
  border-radius:9px; transition:background .15s ease,color .15s ease;
}
.back-link:hover{background:var(--green-soft);}
.breadcrumb{margin-bottom:22px; letter-spacing:.075em;}
.title-block{margin-bottom:34px;}
.title-block h1{font-size:2.28rem; letter-spacing:-.025em;}
.sub{font-size:1rem; line-height:1.7;}

section.card{
  border-radius:20px; padding:30px 28px; margin-bottom:18px;
  border-color:color-mix(in srgb, var(--line) 92%, var(--green) 8%);
  box-shadow:var(--shadow-card);
}
section.card h2{font-size:1.16rem; margin-bottom:17px;}
section.card h2 .dot{width:7px; height:7px; box-shadow:0 0 0 5px var(--amber-soft);}

.result-card,.faq-item,.interaction-search-item{
  box-shadow:0 4px 18px -16px rgba(28,43,34,.34);
}
.result-card{border-radius:17px; padding:19px 20px;}
.result-card:hover,.interaction-search-item:hover{
  box-shadow:var(--shadow-hover);
}
.faq-item{border-radius:16px;}
.faq-question{padding:20px 21px;}
.faq-answer-inner{padding:0 21px 20px; line-height:1.7;}

.form-input{
  border-radius:13px; padding:14px 15px; min-height:49px;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.35);
}
.form-input:focus{box-shadow:0 0 0 4px rgba(47,107,79,.09);}

.fiche-utility-btn{
  min-height:44px; padding:11px 18px; border-radius:999px;
  box-shadow:0 3px 14px -12px rgba(28,43,34,.5);
}
.fiche-utility-btn:hover{box-shadow:0 10px 22px -16px rgba(47,107,79,.6);}

.warn-box{
  border-radius:14px; padding:16px 17px; line-height:1.55;
  box-shadow:0 7px 20px -20px rgba(192,80,61,.5);
}
.interaction-result-card{border-radius:16px; box-shadow:var(--shadow-soft);}
.quiz-question-pair{border-radius:18px; padding:28px 18px 30px;}
.quiz-option-btn{border-radius:15px; padding:17px 18px;}
.quiz-option-btn:hover:not(:disabled){transform:translateX(2px);}

.menu-dropdown{width:336px; box-shadow:-24px 0 60px -28px rgba(28,43,34,.5);}
.menu-drawer-header{padding:19px 20px 15px;}
.menu-item{padding:9px 12px; border-radius:11px;}
.menu-item-icon{width:32px; height:32px; border-radius:10px;}

.bottom-nav{
  border-top-color:color-mix(in srgb, var(--line) 82%, transparent);
  background:color-mix(in srgb, var(--paper-card) 95%, transparent);
  backdrop-filter:blur(14px) saturate(135%);
  -webkit-backdrop-filter:blur(14px) saturate(135%);
}
.bottom-nav-item{padding-top:10px; padding-bottom:9px;}
.bottom-nav-item.active .bottom-nav-icon{transform:translateY(-1px);}

footer{
  margin-top:30px; padding:28px 24px;
  background:color-mix(in srgb, var(--paper-card) 84%, transparent);
}

html.dark-mode header{background:rgba(24,31,27,.88);}
html.dark-mode .eyebrow{background:rgba(35,46,40,.78);}
html.dark-mode .search-box{box-shadow:0 8px 26px -18px rgba(0,0,0,.7);}
html.dark-mode section.card{box-shadow:0 14px 40px -28px rgba(0,0,0,.7);}

@media (min-width:900px){
  .nav{max-width:1100px;}
  .top-nav-links{gap:4px;}
}

@media (max-width:680px){
  .wrap{padding:0 18px;}
  .hero{padding:54px 0 26px;}
  h1{font-size:2.35rem;}
  .hero-sub{font-size:.98rem;}
  .trust-strip{gap:7px; margin-bottom:24px;}
  .trust-strip-dot{display:none;}
  .trust-strip-item{
    padding:5px 9px; border:1px solid var(--line); border-radius:999px;
    background:color-mix(in srgb,var(--paper-card) 72%,transparent);
  }
  .search-box{border-radius:16px;}
  .quick-search-row{gap:6px;}
  .quick-search-label{width:100%; margin-bottom:2px;}
  .detail{padding-top:24px;}
  .title-block h1{font-size:2rem;}
  section.card{padding:22px 18px; border-radius:17px;}
  .result-card{padding:17px 16px;}
  .result-badges{gap:4px;}
  .mini-badge{padding:4px 8px;}
}

@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{scroll-behavior:auto!important; animation-duration:.01ms!important; animation-iteration-count:1!important; transition-duration:.01ms!important;}
}



.mini-badge.mixed-rx,
.badge.mixed-rx{
  background:#FFF4DD;
  color:#8A5A00;
  border-color:#E8C779;
}


/* ===== MonMédoc — modules express / risque / étudiant ===== */
.quick-pair-card{
  margin:22px 0;
  border:1px solid var(--line);
  background:var(--paper-card);
  border-radius:20px;
  padding:20px;
  box-shadow:0 10px 28px -22px rgba(28,43,34,.35);
}
.quick-pair-card h3{
  margin:0 0 6px;
  font-family:'Playfair Display',serif;
  color:var(--ink);
}
.quick-pair-card p{
  margin:0 0 14px;
  color:var(--ink-soft);
  font-size:.84rem;
}
.quick-pair-grid{
  display:grid;
  grid-template-columns:1fr 1fr auto;
  gap:10px;
  align-items:end;
}
.quick-pair-field{
  position:relative;
}
.quick-pair-field label{
  display:block;
  margin-bottom:6px;
  font-size:.78rem;
  font-weight:750;
  color:var(--ink);
}
.quick-pair-search{
  width:100%;
  min-height:48px;
  border:1px solid var(--line);
  border-radius:13px;
  background:var(--paper);
  color:var(--ink);
  padding:0 12px;
  font:inherit;
  outline:none;
}
.quick-pair-search:focus{
  border-color:var(--green);
  box-shadow:0 0 0 3px rgba(47,107,79,.1);
}
.quick-pair-suggestions{
  position:absolute;
  z-index:80;
  left:0;
  right:0;
  top:calc(100% + 6px);
  max-height:260px;
  overflow:auto;
  background:var(--paper-card);
  border:1px solid var(--line);
  border-radius:14px;
  box-shadow:0 16px 34px -18px rgba(28,43,34,.38);
  display:none;
}
.quick-pair-suggestions.show{display:block;}
.quick-pair-suggestion{
  width:100%;
  border:0;
  background:transparent;
  padding:11px 12px;
  text-align:left;
  cursor:pointer;
  border-bottom:1px solid var(--line);
  color:var(--ink);
}
.quick-pair-suggestion:last-child{border-bottom:0;}
.quick-pair-suggestion:hover{background:var(--green-soft);}
.quick-pair-suggestion strong{display:block;font-size:.86rem;}
.quick-pair-suggestion small{display:block;color:var(--ink-soft);font-size:.74rem;margin-top:2px;}
.quick-pair-selected{
  margin-top:7px;
  min-height:22px;
  font-size:.75rem;
  color:var(--green-deep);
  font-weight:700;
}
.quick-pair-result{
  margin-top:14px;
  border-radius:15px;
  padding:14px 15px;
  display:none;
}
.quick-pair-result.show{display:block;}
.quick-pair-result.danger{background:rgba(180,83,55,.08);border:1px solid rgba(180,83,55,.22);}
.quick-pair-result.caution{background:#FFF8E9;border:1px solid #E7CC8A;}
.quick-pair-result.none{background:var(--green-soft);border:1px solid rgba(47,107,79,.18);}
.quick-pair-result strong{display:block;margin-bottom:5px;}

.risk-section{
  margin:20px 0;
}
.risk-section-title{
  display:flex;
  align-items:center;
  gap:8px;
  margin-bottom:10px;
  color:var(--ink);
  font-weight:800;
}
.risk-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:10px;
}
.risk-card{
  border:1px solid var(--line);
  background:var(--paper-card);
  border-radius:16px;
  padding:15px;
}
.risk-card.high{border-color:rgba(180,83,55,.28);background:rgba(180,83,55,.05);}
.risk-card.medium{border-color:#E7CC8A;background:#FFF8E9;}
.risk-card strong{display:block;color:var(--ink);margin-bottom:4px;}
.risk-card small{display:block;color:var(--ink-soft);line-height:1.45;}
.risk-tag{
  display:inline-flex;
  align-items:center;
  padding:4px 8px;
  border-radius:999px;
  font-size:.7rem;
  font-weight:800;
  margin-bottom:8px;
}
.risk-tag.high{background:rgba(180,83,55,.12);color:var(--brick);}
.risk-tag.medium{background:#FFF0CC;color:#8A5A00;}

.student-mode-card{
  border:1px solid var(--line);
  background:linear-gradient(135deg,var(--paper-card),var(--green-soft));
  border-radius:18px;
  padding:18px;
  margin-bottom:16px;
}
.student-mode-card h3{margin:0 0 6px;color:var(--ink);}
.student-mode-card p{margin:0 0 12px;color:var(--ink-soft);font-size:.84rem;}
.student-theme-grid{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
}
.student-theme-btn{
  border:1px solid var(--line);
  background:var(--paper-card);
  color:var(--ink-soft);
  border-radius:999px;
  padding:8px 12px;
  font:inherit;
  font-size:.78rem;
  font-weight:750;
  cursor:pointer;
}
.student-theme-btn.active{
  background:var(--green-deep);
  color:#fff;
  border-color:var(--green-deep);
}

@media(max-width:760px){
  .quick-pair-grid{grid-template-columns:1fr;}
  .quick-pair-grid button{width:100%;}
  .risk-grid{grid-template-columns:1fr;}
}

/* ===== MonMédoc — fonctionnalités UX supplémentaires ===== */
.home-actions{
  margin:28px 0 8px;
}
.home-actions-title{
  font-family:'Playfair Display',serif;
  font-size:1.12rem;
  font-weight:700;
  color:var(--ink);
  margin-bottom:12px;
}
.home-actions-grid{
  display:grid;
  grid-template-columns:repeat(5,minmax(0,1fr));
  gap:10px;
}
.home-action{
  border:1px solid var(--line);
  background:var(--paper-card);
  border-radius:16px;
  padding:16px 14px;
  cursor:pointer;
  text-align:left;
  color:var(--ink);
  box-shadow:0 5px 16px -12px rgba(28,43,34,.24);
  transition:.16s ease;
}
.home-action:hover{
  border-color:var(--green);
  transform:translateY(-2px);
  box-shadow:0 10px 22px -14px rgba(47,107,79,.4);
}
.home-action-icon{display:block;font-size:1.35rem;margin-bottom:8px;}
.home-action strong{display:block;font-size:.9rem;line-height:1.25;}
.home-action small{display:block;color:var(--ink-soft);font-size:.73rem;margin-top:4px;line-height:1.35;}

.source-confidence{
  margin:14px 0 2px;
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:8px;
}
.source-confidence-badge{
  display:inline-flex;
  align-items:center;
  gap:7px;
  padding:7px 11px;
  border-radius:999px;
  background:var(--green-soft);
  border:1px solid rgba(47,107,79,.18);
  color:var(--green-deep);
  font-size:.78rem;
  font-weight:700;
}
.source-confidence-date{
  font-size:.78rem;
  color:var(--ink-soft);
}
.pwa-home-card{
  margin:22px 0 4px;
  border:1px solid var(--line);
  background:linear-gradient(135deg,var(--green-soft),var(--paper-card));
  border-radius:18px;
  padding:18px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:18px;
}
.pwa-home-card-copy{display:flex;gap:12px;align-items:flex-start;}
.pwa-home-card-icon{font-size:1.65rem;line-height:1;}
.pwa-home-card strong{display:block;color:var(--green-deep);margin-bottom:3px;}
.pwa-home-card p{margin:0;color:var(--ink-soft);font-size:.84rem;line-height:1.45;}
.pwa-home-card button{white-space:nowrap;}

.quiz-toolbar{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  align-items:center;
  margin-bottom:18px;
}
.quiz-level-btn{
  border:1px solid var(--line);
  background:var(--paper-card);
  color:var(--ink-soft);
  border-radius:999px;
  padding:8px 13px;
  font-family:'Public Sans',sans-serif;
  font-size:.8rem;
  font-weight:700;
  cursor:pointer;
}
.quiz-level-btn.active{
  background:var(--green-deep);
  color:white;
  border-color:var(--green-deep);
}
.quiz-progress{
  margin-left:auto;
  color:var(--ink-soft);
  font-size:.78rem;
  font-weight:700;
}
.quiz-final{
  padding:28px 20px;
  text-align:center;
  border:1px solid var(--line);
  border-radius:18px;
  background:var(--green-soft);
}
.quiz-final-score{
  font-family:'Playfair Display',serif;
  font-size:2rem;
  font-weight:700;
  color:var(--green-deep);
  margin:8px 0;
}
.share-toast{
  position:fixed;
  left:50%;
  bottom:94px;
  transform:translateX(-50%) translateY(12px);
  z-index:300;
  background:var(--green-deep);
  color:white;
  border-radius:999px;
  padding:10px 15px;
  font-size:.82rem;
  font-weight:700;
  opacity:0;
  pointer-events:none;
  transition:.2s ease;
}
.share-toast.show{opacity:1;transform:translateX(-50%) translateY(0);}


@media(max-width:1050px){
  .home-actions-grid{grid-template-columns:repeat(3,minmax(0,1fr));}
}

@media(max-width:780px){
  .home-actions-grid{grid-template-columns:repeat(2,minmax(0,1fr));}
  .pwa-home-card{align-items:flex-start;flex-direction:column;}
  .pwa-home-card button{width:100%;}
  .quiz-progress{width:100%;margin-left:0;}
}


/* ===== MonMédoc — Pharmacie de garde ===== */

#pharmacie-garde-view{
  width:100%;
  min-width:0;
}
#pharmacie-garde-view *{
  min-width:0;
}
.garde-search-row > *{
  min-width:0;
  max-width:100%;
}

.garde-hero-card{
  position:relative;
  overflow:hidden;
  border:1px solid var(--line);
  border-radius:22px;
  padding:26px;
  background:
    radial-gradient(circle at 90% 10%, rgba(212,139,46,.13), transparent 180px),
    linear-gradient(135deg,var(--paper-card),var(--green-soft));
  margin-bottom:18px;
}
.garde-eyebrow{
  display:inline-flex;
  align-items:center;
  gap:7px;
  color:var(--green-deep);
  font-size:.78rem;
  font-weight:800;
  letter-spacing:.02em;
  text-transform:uppercase;
  margin-bottom:8px;
}
.garde-hero-card h2{
  margin:0 0 8px;
  font-family:'Playfair Display',serif;
  font-size:clamp(1.75rem,4vw,2.45rem);
  color:var(--ink);
}
.garde-hero-card p{
  margin:0;
  max-width:720px;
  color:var(--ink-soft);
  line-height:1.6;
}
.garde-search-card{
  border:1px solid var(--line);
  background:var(--paper-card);
  border-radius:20px;
  padding:22px;
  margin-bottom:16px;
}
.garde-search-row{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  gap:10px;
  align-items:end;
}
.garde-search-card label{
  display:block;
  margin-bottom:7px;
  color:var(--ink);
  font-size:.82rem;
  font-weight:750;
}
.garde-input{
  width:100%;
  border:1px solid var(--line);
  background:var(--paper);
  color:var(--ink);
  border-radius:13px;
  padding:13px 14px;
  font:inherit;
  outline:none;
}
.garde-input:focus{
  border-color:var(--green);
  box-shadow:0 0 0 3px rgba(47,107,79,.11);
}
.garde-primary{
  border:0;
  background:var(--green-deep);
  color:#fff;
  border-radius:13px;
  padding:13px 17px;
  min-height:48px;
  font:inherit;
  font-weight:750;
  cursor:pointer;
}
.garde-secondary{
  border:1px solid var(--line);
  background:var(--paper-card);
  color:var(--green-deep);
  border-radius:13px;
  padding:11px 14px;
  min-height:44px;
  font:inherit;
  font-weight:700;
  cursor:pointer;
}
.garde-actions{
  display:flex;
  gap:9px;
  flex-wrap:wrap;
  margin-top:12px;
}
.garde-location-status{
  margin-top:10px;
  min-height:18px;
  color:var(--ink-soft);
  font-size:.79rem;
}
.garde-info-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:12px;
  margin:18px 0;
}
.garde-info-card{
  border:1px solid var(--line);
  background:var(--paper-card);
  border-radius:17px;
  padding:18px;
}
.garde-info-card .ico{
  font-size:1.35rem;
  margin-bottom:8px;
}
.garde-info-card strong{
  display:block;
  margin-bottom:5px;
  color:var(--ink);
}
.garde-info-card p{
  margin:0;
  color:var(--ink-soft);
  font-size:.82rem;
  line-height:1.5;
}
.garde-night{
  border:1px solid rgba(180,83,55,.24);
  background:rgba(180,83,55,.06);
  border-radius:18px;
  padding:18px;
  margin-top:16px;
}
.garde-night strong{
  color:var(--brick);
}
.garde-night p{
  margin:5px 0 0;
  color:var(--ink-soft);
  font-size:.85rem;
  line-height:1.55;
}
.garde-source{
  margin-top:16px;
  padding-top:15px;
  border-top:1px solid var(--line);
  color:var(--ink-soft);
  font-size:.76rem;
  line-height:1.5;
}
.garde-result{
  display:none;
  margin-top:15px;
  border:1px solid rgba(47,107,79,.2);
  background:var(--green-soft);
  border-radius:16px;
  padding:16px;
}
.garde-result.show{display:block;}
.garde-result strong{
  display:block;
  color:var(--green-deep);
  margin-bottom:5px;
}
.garde-result p{
  margin:0 0 11px;
  color:var(--ink-soft);
  font-size:.83rem;
}
@media(max-width:760px){
  .garde-search-row{grid-template-columns:1fr;}
  .garde-search-row .garde-primary{width:100%;}
  .garde-info-grid{grid-template-columns:1fr;}
  .garde-hero-card,.garde-search-card{padding:18px;}
}


/* ===== Correctif header desktop / tablette ===== */
@media (min-width:900px){
  .nav-shell{
    width:100%;
    min-width:0;
  }

  .brand-cluster{
    flex:0 0 auto;
    min-width:max-content;
  }

  .header-badge{
    display:none !important;
  }

  .top-nav-links{
    display:flex !important;
    flex:1 1 auto;
    min-width:0;
    justify-content:center;
    gap:4px !important;
    overflow:visible;
  }

  .top-nav-link{
    display:inline-flex !important;
    align-items:center;
    white-space:nowrap;
    padding:9px 8px;
    font-size:.84rem;
  }

  .header-actions{
    flex:0 0 auto;
    margin-left:0;
  }

  .top-nav-secondary{
    display:none !important;
  }

  .top-nav-cta{
    display:inline-flex !important;
    white-space:nowrap;
    padding:10px 15px;
  }

  .menu-btn{
    display:none !important;
  }
}

/* Sur les ordinateurs larges : navigation complète et plus confortable */
@media (min-width:1180px){
  .top-nav-links{
    gap:10px !important;
  }

  .top-nav-link{
    padding:9px 10px;
    font-size:.9rem;
  }

  .top-nav-secondary{
    display:inline-flex !important;
  }
}

/* Entre 900 et 1040 px, on masque seulement les deux liens secondaires
   pour préserver Interactions / Mes médicaments / Grossesse / Quiz. */
@media (min-width:900px) and (max-width:1040px){
  .top-nav-links .top-nav-link:nth-child(5),
  .top-nav-links .top-nav-link:nth-child(6){
    display:none !important;
  }

  .logo-subtext{
    display:none;
  }
}

/* Mobile : logo + menu, sans éléments qui débordent */
@media (max-width:899px){
  .top-nav-links,
  .top-nav-cta,
  .top-nav-secondary,
  .header-badge{
    display:none !important;
  }

  .menu-btn{
    display:flex !important;
    margin-left:auto;
  }

  .brand-cluster{
    flex:1 1 auto;
    min-width:0;
  }
}



/* ===== MonMédoc — amélioration vigilance / bilan traitement ===== */
.vigilance-banner{margin:18px 0 14px;padding:16px 18px;border-radius:16px;border:1px solid var(--line);display:flex;gap:13px;align-items:flex-start;background:var(--paper-card)}
.vigilance-banner .vigilance-icon{font-size:1.35rem;line-height:1;flex:0 0 auto;margin-top:2px}.vigilance-banner strong{display:block;margin-bottom:3px}.vigilance-banner p{margin:0;font-size:.84rem;color:var(--ink-soft);line-height:1.45}
.vigilance-banner.low{background:var(--green-soft);border-color:rgba(47,107,79,.18)}.vigilance-banner.medium{background:var(--amber-soft);border-color:var(--amber-soft-border)}.vigilance-banner.high{background:var(--brick-soft);border-color:var(--brick-soft-border)}
.missed-dose-highlight{border:1px solid var(--amber-soft-border);background:linear-gradient(135deg,var(--amber-soft),var(--paper-card));border-radius:18px;padding:18px;margin:18px 0}.missed-dose-highlight h2{font-size:1.15rem;margin-bottom:8px}.missed-dose-highlight p{margin:0}.missed-dose-highlight .eyebrow{font-size:.72rem;text-transform:uppercase;letter-spacing:.06em;font-weight:800;color:var(--amber-soft-text-strong);margin-bottom:5px}
.source-panel{margin:18px 0;border:1px solid var(--line);background:var(--paper-card);border-radius:16px;overflow:hidden}.source-panel summary{cursor:pointer;padding:15px 17px;font-weight:750;color:var(--green-deep);list-style:none}.source-panel summary::-webkit-details-marker{display:none}.source-panel summary:after{content:'+';float:right}.source-panel[open] summary:after{content:'−'}.source-panel-body{padding:0 17px 16px;font-size:.84rem;color:var(--ink-soft);line-height:1.55}.source-panel-body strong{color:var(--ink)}
.treatment-analysis{margin:18px 0}.treatment-summary{border:1px solid var(--line);background:var(--paper-card);border-radius:18px;padding:18px;margin-bottom:12px}.treatment-summary h3{margin-bottom:7px}.treatment-summary p{font-size:.86rem;color:var(--ink-soft)}.analysis-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:12px}.analysis-card{border:1px solid var(--line);border-radius:14px;padding:13px;background:var(--paper-card)}.analysis-card strong{display:block;font-size:.86rem;margin-bottom:5px}.analysis-card small{color:var(--ink-soft);line-height:1.45}.analysis-card.alert{background:var(--brick-soft);border-color:var(--brick-soft-border)}.analysis-card.warn{background:var(--amber-soft);border-color:var(--amber-soft-border)}.analysis-card.ok{background:var(--green-soft);border-color:rgba(47,107,79,.18)}
.search-hint{font-size:.76rem;color:var(--ink-soft);margin:8px 4px 0}.search-match-note{font-size:.7rem;color:var(--green-deep);margin-top:3px;font-weight:650}
@media(max-width:680px){.analysis-grid{grid-template-columns:1fr}.vigilance-banner{padding:14px}.missed-dose-highlight{padding:15px}}


/* ==========================================================
   MonMédoc — Modern UI v4
   Visual-only refresh; application behavior unchanged.
   ========================================================== */
:root{
  --paper:#F5F8F5;
  --paper-card:#FFFFFF;
  --ink:#14231B;
  --ink-soft:#607067;
  --green:#247252;
  --green-deep:#15583D;
  --green-soft:#EAF5EF;
  --line:#DEE8E1;
  --mm-radius-xl:28px;
  --mm-radius-lg:22px;
  --mm-radius-md:16px;
  --mm-shadow-1:0 1px 2px rgba(18,43,31,.035),0 12px 30px -22px rgba(18,43,31,.22);
  --mm-shadow-2:0 18px 48px -30px rgba(18,43,31,.32);
  --mm-shadow-focus:0 0 0 5px rgba(36,114,82,.10),0 18px 40px -28px rgba(21,88,61,.45);
}
html.dark-mode{
  --paper:#111814;
  --paper-card:#1B2620;
  --ink:#F1F5F2;
  --ink-soft:#A5B2AA;
  --green:#64B58E;
  --green-deep:#86C9A7;
  --green-soft:#193529;
  --line:#2B3A32;
}
body{
  background-image:
    radial-gradient(circle at 15% -5%, rgba(36,114,82,.10), transparent 30rem),
    radial-gradient(circle at 95% 20%, rgba(232,185,74,.08), transparent 24rem),
    radial-gradient(circle, color-mix(in srgb,var(--line) 55%,transparent) .7px, transparent .8px);
  background-size:auto,auto,30px 30px;
  min-height:100vh;
}
.wrap{max-width:900px;}
h2,h3{font-family:'Public Sans',sans-serif; letter-spacing:-.022em;}

/* Header: floating app bar */
header.site-header,header{
  padding:12px 14px 0;
  background:linear-gradient(to bottom,color-mix(in srgb,var(--paper) 94%,transparent) 66%,transparent);
}
.nav-shell{
  min-height:68px;
  border-radius:22px;
  background:color-mix(in srgb,var(--paper-card) 88%,transparent);
  border:1px solid color-mix(in srgb,var(--line) 88%,transparent);
  box-shadow:0 16px 44px -32px rgba(17,50,35,.38), inset 0 1px 0 rgba(255,255,255,.65);
}
.logo-mark{border-radius:13px; background:linear-gradient(145deg,#fff,color-mix(in srgb,var(--green-soft) 72%,#fff));}
.logo-text{font-size:1.26rem; letter-spacing:-.035em;}
.logo-subtext{font-size:.68rem; opacity:.82;}
.menu-btn{border-radius:15px; transition:transform .18s ease,border-color .18s ease,background .18s ease;}
.menu-btn:hover{transform:translateY(-1px); border-color:color-mix(in srgb,var(--green) 32%,var(--line)); background:var(--green-soft);}
.top-nav-cta{padding:12px 19px; box-shadow:0 12px 26px -18px rgba(21,88,61,.7);}

/* Hero */
.hero{padding:82px 0 38px; position:relative;}
.hero::before{
  width:860px; height:520px; left:50%; transform:translateX(-50%); top:-72px;
  background:radial-gradient(ellipse at 50% 42%,rgba(36,114,82,.13),rgba(36,114,82,.035) 48%,transparent 72%);
  pointer-events:none;
}
.eyebrow{
  text-transform:none; letter-spacing:.015em; font-size:.77rem; font-weight:720;
  color:var(--green-deep); padding:8px 12px; margin-bottom:22px;
  background:color-mix(in srgb,var(--green-soft) 78%,var(--paper-card));
  border-color:color-mix(in srgb,var(--green) 18%,var(--line));
  box-shadow:0 6px 18px -16px rgba(21,88,61,.45);
}
.eyebrow::before{width:7px;height:7px;background:var(--green);box-shadow:0 0 0 4px color-mix(in srgb,var(--green-soft) 88%,transparent);}
.hero h1{font-size:clamp(2.7rem,6.7vw,4.25rem); line-height:.99; letter-spacing:-.045em; max-width:760px;}
.hero h1 em{
  color:var(--green-deep); font-style:italic;
  background:linear-gradient(90deg,var(--green-deep),color-mix(in srgb,var(--green) 75%,var(--amber)));
  -webkit-background-clip:text; background-clip:text; color:transparent;
}
.hero-sub{font-size:1.08rem; line-height:1.75; max-width:56ch; margin-top:20px; margin-bottom:22px;}
.trust-strip{gap:8px; margin-bottom:28px;}
.trust-strip-item{
  display:inline-flex; align-items:center; min-height:30px; padding:5px 10px;
  border:1px solid color-mix(in srgb,var(--line) 88%,transparent); border-radius:999px;
  background:color-mix(in srgb,var(--paper-card) 74%,transparent); font-size:.77rem;
  box-shadow:0 4px 12px -11px rgba(18,43,31,.28);
}
.trust-strip-dot{display:none;}

/* Main search: product-level emphasis */
.search-box{
  min-height:66px; border-radius:20px; padding:8px 11px;
  background:color-mix(in srgb,var(--paper-card) 96%,transparent);
  border:1px solid color-mix(in srgb,var(--green) 16%,var(--line));
  box-shadow:0 22px 54px -34px rgba(18,43,31,.38),inset 0 1px 0 rgba(255,255,255,.72);
}
.search-box:focus-within{box-shadow:var(--mm-shadow-focus); border-color:color-mix(in srgb,var(--green) 68%,var(--line));}
.search-box .icon{
  width:42px;height:42px;justify-content:center;padding-left:0;border-radius:13px;
  background:var(--green-soft); color:var(--green-deep); flex:0 0 auto;
}
.search-box input{font-size:1.03rem; font-weight:520; padding:13px 12px;}
.search-box input::placeholder{color:color-mix(in srgb,var(--ink-soft) 78%,transparent);font-weight:450;}
.results-label{margin-top:17px;}
.quick-search-row{margin-top:14px;}
.quick-chip,.recent-chip,.recently-added-chip,.sphere-filter-chip,.sphere-jump-chip{
  border-radius:999px; padding:7px 11px; border-color:color-mix(in srgb,var(--line) 90%,transparent);
  background:color-mix(in srgb,var(--paper-card) 82%,transparent); font-size:.76rem;
  transition:transform .16s ease,border-color .16s ease,background .16s ease,color .16s ease;
}
.quick-chip:hover,.recent-chip:hover,.recently-added-chip:hover,.sphere-filter-chip:hover,.sphere-jump-chip:hover{
  background:var(--green-soft); border-color:color-mix(in srgb,var(--green) 24%,var(--line)); color:var(--green-deep);
}

/* Home action hub */
.home-actions{margin:38px 0 10px;}
.home-actions-title{font-family:'Public Sans',sans-serif; font-size:.78rem; text-transform:uppercase; letter-spacing:.105em; color:var(--ink-soft); margin-bottom:14px;}
.home-actions-grid{grid-template-columns:repeat(6,minmax(0,1fr)); gap:11px;}
.home-action{
  position:relative; overflow:hidden; grid-column:span 2; min-height:150px;
  border-radius:21px; padding:18px 17px; background:linear-gradient(160deg,var(--paper-card),color-mix(in srgb,var(--green-soft) 20%,var(--paper-card)));
  border:1px solid color-mix(in srgb,var(--line) 92%,var(--green) 8%); box-shadow:var(--mm-shadow-1);
  transition:transform .18s cubic-bezier(.2,.8,.2,1),box-shadow .18s ease,border-color .18s ease;
}
.home-action::after{
  content:''; position:absolute; width:95px;height:95px;border-radius:50%; right:-44px;bottom:-54px;
  background:radial-gradient(circle,rgba(36,114,82,.10),transparent 70%); pointer-events:none;
}
.home-action:hover{transform:translateY(-3px); border-color:color-mix(in srgb,var(--green) 28%,var(--line)); box-shadow:var(--mm-shadow-2);}
.home-action-icon{
  display:flex;align-items:center;justify-content:center;width:42px;height:42px;margin-bottom:18px;
  border-radius:13px;font-size:1.18rem;background:var(--green-soft);box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--green) 12%,transparent);
}
.home-action:nth-child(2) .home-action-icon{background:var(--amber-soft);}
.home-action:nth-child(4) .home-action-icon{background:color-mix(in srgb,var(--brick-soft) 72%,var(--paper-card));}
.home-action strong{font-size:.92rem;letter-spacing:-.012em;}
.home-action small{font-size:.75rem;line-height:1.45;margin-top:6px;max-width:25ch;}
.home-action:last-child{grid-column:span 3;}
.home-action:nth-last-child(2){grid-column:span 3;}

.pwa-home-card{
  margin-top:18px; border-radius:22px !important; border:1px solid color-mix(in srgb,var(--green) 15%,var(--line)) !important;
  background:linear-gradient(135deg,color-mix(in srgb,var(--green-soft) 58%,var(--paper-card)),var(--paper-card)) !important;
  box-shadow:var(--mm-shadow-1);
}

/* Results and app cards */
.result-card,.interaction-search-item,.faq-item,section.card,.garde-search-card,.garde-hero-card{
  border-color:color-mix(in srgb,var(--line) 92%,var(--green) 8%);
}
.result-card{
  border-radius:19px; padding:20px 21px; background:var(--paper-card); box-shadow:var(--mm-shadow-1);
  transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease;
}
.result-card:hover{transform:translateY(-2px);box-shadow:var(--mm-shadow-2);}
section.card{
  border-radius:23px; padding:30px; box-shadow:var(--mm-shadow-1); position:relative; overflow:hidden;
}
section.card::before{
  content:'';position:absolute;left:0;top:22px;bottom:22px;width:3px;border-radius:0 999px 999px 0;
  background:linear-gradient(var(--green),color-mix(in srgb,var(--green) 40%,var(--amber)));
  opacity:.42;
}
section.card h2{font-size:1.12rem;font-weight:760;letter-spacing:-.025em;}
section.card h2 .dot{display:none;}
.title-block h1{font-size:clamp(2.3rem,5vw,3.3rem);letter-spacing:-.045em;}
.breadcrumb{font-size:.67rem;font-weight:720;}

/* Buttons */
.fiche-utility-btn,.garde-primary,.primary-btn,.quiz-option-btn{
  font-family:'Public Sans',sans-serif; font-weight:720;
}
.fiche-utility-btn{background:color-mix(in srgb,var(--paper-card) 94%,transparent);border-color:color-mix(in srgb,var(--line) 92%,var(--green) 8%);}
.fiche-utility-btn:hover{background:var(--green-soft);}

/* Drawer */
.menu-dropdown{border-radius:26px 0 0 26px; background:color-mix(in srgb,var(--paper-card) 97%,transparent);}
.menu-item{border-radius:13px; min-height:48px;}
.menu-item:hover{background:var(--green-soft);}
.menu-item-icon{border-radius:11px;background:color-mix(in srgb,var(--green-soft) 66%,var(--paper-card));}

/* Bottom navigation: app-like pill */
.bottom-nav{
  left:12px; right:12px; bottom:max(10px,env(safe-area-inset-bottom)); width:auto;
  border:1px solid color-mix(in srgb,var(--line) 86%,transparent); border-radius:22px;
  background:color-mix(in srgb,var(--paper-card) 92%,transparent);
  box-shadow:0 20px 44px -24px rgba(17,50,35,.42); overflow:hidden;
  padding:5px 6px;
}
.bottom-nav-item{border-radius:16px;padding:9px 3px 8px;min-width:0;}
.bottom-nav-item.active{background:var(--green-soft);color:var(--green-deep);}
.bottom-nav-icon{font-size:1.08rem;}
.bottom-nav-label{font-size:.59rem;letter-spacing:-.01em;}

/* Motion */
#home-view,#detail-view,#interactions-view,#carnet-view,#grossesse-view,#garde-view,#student-view{
  animation:mmViewIn .28s ease both;
}
@keyframes mmViewIn{from{opacity:0;transform:translateY(5px)}to{opacity:1;transform:none}}

html.dark-mode .nav-shell,html.dark-mode .bottom-nav{box-shadow:0 20px 50px -30px rgba(0,0,0,.75);}
html.dark-mode .search-box{box-shadow:0 20px 46px -30px rgba(0,0,0,.75);}
html.dark-mode .home-action{background:linear-gradient(160deg,var(--paper-card),color-mix(in srgb,var(--green-soft) 26%,var(--paper-card)));}

@media (min-width:900px){
  .home-actions-grid{grid-template-columns:repeat(6,minmax(0,1fr));}
}
@media (max-width:680px){
  body{background-image:radial-gradient(circle at 50% -8%,rgba(36,114,82,.13),transparent 24rem),radial-gradient(circle,color-mix(in srgb,var(--line) 45%,transparent) .65px,transparent .75px);background-size:auto,28px 28px;}
  header.site-header,header{padding:8px 9px 0;}
  .nav-shell{min-height:60px;border-radius:19px;padding:9px 10px;}
  .logo-mark{width:38px;height:38px;}
  .logo-text{font-size:1.13rem;}
  .logo-subtext{display:none;}
  .menu-btn{width:42px;height:42px;border-radius:13px;}
  .wrap{padding:0 17px;}
  .hero{padding:52px 0 26px;}
  .hero::before{width:130vw;height:430px;top:-72px;}
  .eyebrow{font-size:.7rem;margin-bottom:18px;padding:7px 10px;}
  .hero h1{font-size:clamp(2.5rem,12vw,3.45rem);line-height:.98;}
  .hero-sub{font-size:.97rem;line-height:1.68;margin-top:17px;}
  .trust-strip{margin-bottom:22px;}
  .trust-strip-item{font-size:.68rem;padding:4px 8px;min-height:27px;}
  .search-box{min-height:59px;border-radius:18px;padding:7px 8px;}
  .search-box .icon{width:39px;height:39px;border-radius:12px;}
  .search-box input{font-size:1rem;padding:11px 9px;}
  .home-actions{margin-top:32px;}
  .home-actions-grid{grid-template-columns:1fr 1fr;gap:9px;}
  .home-action,.home-action:last-child,.home-action:nth-last-child(2){grid-column:auto;min-height:138px;border-radius:18px;padding:15px 14px;}
  .home-action:last-child{grid-column:1/-1;min-height:118px;}
  .home-action-icon{width:39px;height:39px;border-radius:12px;margin-bottom:14px;}
  .home-action strong{font-size:.84rem;}
  .home-action small{font-size:.69rem;}
  section.card{padding:23px 19px;border-radius:20px;}
  section.card::before{top:18px;bottom:18px;}
  .title-block h1{font-size:2.25rem;}
  .pwa-home-card{border-radius:19px !important;}
  main.wrap{padding-bottom:92px;}
}
@media (max-width:390px){
  .home-actions-grid{grid-template-columns:1fr;}
  .home-action,.home-action:last-child,.home-action:nth-last-child(2){grid-column:1;min-height:112px;}
  .home-action-icon{margin-bottom:11px;}
}


/* ==========================================================
   v5 — Desktop restoration
   Keep modern visual refresh while preserving a true web layout.
   ========================================================== */
@media (min-width:900px){
  /* Desktop must feel like a website, not an enlarged mobile view */
  .wrap{
    max-width:1060px !important;
    padding-left:32px !important;
    padding-right:32px !important;
  }

  .nav{
    max-width:1180px !important;
  }

  .nav-shell{
    padding-left:20px;
    padding-right:14px;
  }

  /* Restore access to the full dropdown/drawer on desktop */
  .menu-btn{
    display:flex !important;
    margin-left:2px !important;
  }

  .header-actions{
    gap:8px;
  }

  /* Keep the principal web navigation visible */
  .top-nav-links{
    display:flex !important;
  }

  .hero{
    padding-top:88px;
    padding-bottom:46px;
  }

  .hero h1{
    max-width:840px;
  }

  .hero-sub{
    max-width:62ch;
  }

  .search-box{
    max-width:920px;
  }

  .home-actions-grid{
    grid-template-columns:repeat(6,minmax(0,1fr)) !important;
  }

  .home-action{
    min-height:158px;
  }

  section.card{
    padding:32px 34px;
  }

  /* Bottom mobile navigation is never shown on desktop */
  .bottom-nav{
    display:none !important;
  }
}

/* Laptop widths: keep menu access even if secondary links are condensed */
@media (min-width:900px) and (max-width:1090px){
  .wrap{max-width:960px !important;}
  .top-nav-links{gap:2px !important;}
  .top-nav-link{font-size:.8rem !important;padding-left:6px !important;padding-right:6px !important;}
  .top-nav-secondary{display:none !important;}
}

/* ===== MonMédoc v9 — finition desktop, structure web conservée ===== */
@media (min-width:900px){
  :root{
    --mm-desk-radius:20px;
    --mm-desk-shadow:0 16px 44px -34px rgba(28,43,34,.34);
    --mm-desk-shadow-hover:0 22px 52px -34px rgba(31,77,56,.42);
  }

  body{
    background-image:
      radial-gradient(circle at 14% 2%, rgba(232,185,74,.055), transparent 30rem),
      radial-gradient(circle at 88% 8%, rgba(47,107,79,.055), transparent 32rem),
      radial-gradient(circle, var(--line) .7px, transparent .7px);
    background-size:auto,auto,30px 30px;
  }

  .wrap{max-width:1180px;padding-left:32px;padding-right:32px;}
  .nav{max-width:1240px;}
  header.site-header,header{padding-top:14px;}
  .nav-shell{
    border-radius:22px;
    padding:11px 15px;
    box-shadow:0 18px 48px -38px rgba(28,43,34,.36),0 1px 0 rgba(255,255,255,.75) inset;
  }
  .logo-mark{width:44px;height:44px;border-radius:14px;}
  .logo-text{font-size:1.25rem;}
  .top-nav-links{gap:24px;}
  .top-nav-link{font-size:.9rem;}
  .top-nav-secondary{padding:10px 15px;}

  .hero{
    padding:86px 0 18px;
    max-width:980px;
  }
  .hero::before{
    width:780px;height:420px;left:45%;top:-32px;
    background:radial-gradient(ellipse at center,rgba(47,107,79,.07),rgba(232,185,74,.035) 46%,transparent 74%);
  }
  .eyebrow{
    margin-bottom:20px;
    font-size:.72rem;
    letter-spacing:.105em;
  }
  .hero h1{
    font-size:clamp(3.8rem,6.2vw,5.45rem);
    line-height:.96;
    letter-spacing:-.048em;
    max-width:880px;
    margin-bottom:24px;
  }
  .hero-sub{
    max-width:720px;
    font-size:1.08rem;
    line-height:1.72;
    margin-bottom:17px;
  }
  .trust-strip{margin-bottom:30px;gap:10px;}
  .trust-strip-item{font-size:.8rem;}

  .search-box{
    max-width:900px;
    min-height:68px;
    border-radius:17px;
    padding:8px 14px;
    border-color:rgba(47,107,79,.17);
    box-shadow:0 16px 42px -32px rgba(31,77,56,.42),0 1px 0 rgba(255,255,255,.75) inset;
  }
  .search-box input{font-size:1.03rem!important;}
  .search-box:focus-within{
    border-color:rgba(47,107,79,.55);
    box-shadow:0 20px 46px -32px rgba(31,77,56,.46),0 0 0 3px rgba(47,107,79,.055);
  }
  .quick-search-row{margin-top:14px;}
  .quick-chip{padding:7px 12px;border-radius:999px;}

  .home-actions{margin:46px 0 16px;}
  .home-actions-title{
    font-size:1.42rem;
    letter-spacing:-.02em;
    margin-bottom:17px;
  }
  .home-actions-grid{
    grid-template-columns:repeat(5,minmax(0,1fr));
    gap:13px;
  }
  .home-action{
    min-height:150px;
    padding:20px 18px 18px;
    border-radius:18px;
    background:var(--paper-card);
    box-shadow:var(--mm-desk-shadow);
    transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease;
  }
  .home-action:hover{
    transform:translateY(-3px);
    box-shadow:var(--mm-desk-shadow-hover);
    border-color:rgba(47,107,79,.35);
  }
  .home-action-icon{
    width:42px;height:42px;
    display:flex;align-items:center;justify-content:center;
    border-radius:13px;
    margin-bottom:20px;
    background:var(--green-soft);
    border:1px solid rgba(47,107,79,.10);
    font-size:1.2rem;
  }
  .home-action strong{font-size:.96rem;line-height:1.28;}
  .home-action small{font-size:.75rem;line-height:1.45;margin-top:7px;}

  .pwa-home-card{
    margin-top:27px;
    padding:20px 22px;
    border-radius:18px;
    box-shadow:var(--mm-desk-shadow);
  }
  .pwa-home-card-icon{
    width:42px;height:42px;display:flex;align-items:center;justify-content:center;
    border-radius:13px;background:var(--paper-card);border:1px solid var(--line);font-size:1.2rem;
  }

  .quick-pair-card{
    margin:32px 0;
    padding:25px 27px;
    border-radius:20px;
    box-shadow:var(--mm-desk-shadow);
  }
  .quick-pair-card h3{font-size:1.38rem;letter-spacing:-.02em;}
  .quick-pair-card p{max-width:760px;line-height:1.6;}
  .quick-pair-search{border-radius:13px;min-height:50px;}

  section.card,.card,.garde-hero-card,.garde-search-card,.garde-info-card{
    box-shadow:var(--mm-desk-shadow);
  }
  section.card,.card{border-radius:19px;}

  .fiche-utility-bar{gap:10px;}
  .fiche-utility-btn{
    padding:10px 17px;
    box-shadow:0 8px 20px -18px rgba(28,43,34,.35);
  }
  .fiche-utility-btn:hover{box-shadow:0 12px 24px -18px rgba(47,107,79,.38);}

  .menu-dropdown{border-radius:18px;box-shadow:0 24px 60px -32px rgba(28,43,34,.5);}

  footer{margin-top:76px;}
}

html.dark-mode .home-action-icon{background:var(--green-soft);border-color:var(--green-soft-border);}



/* ===== MonMédoc v10 — navigation desktop enrichie ===== */
@media (min-width:900px){
  .site-header-inner{gap:18px;}
  .brand-cluster{flex:0 0 auto;}
  .header-badge{display:none !important;}
  .top-nav-links{
    display:flex !important;
    align-items:center;
    justify-content:center;
    gap:4px;
    flex:1 1 auto;
    min-width:0;
  }
  .top-nav-link{
    display:inline-flex !important;
    align-items:center;
    white-space:nowrap;
    padding:10px 8px;
    font-size:.82rem;
    letter-spacing:-.01em;
  }
  .header-actions{gap:8px; flex:0 0 auto;}
  .top-nav-secondary{display:none !important;}
  .top-nav-cta{padding:10px 14px; font-size:.82rem;}
  .menu-btn{
    display:flex !important;
    width:42px;
    height:42px;
    margin-left:0;
    border-radius:12px;
  }
}
@media (min-width:1180px){
  .site-header-inner{gap:22px;}
  .top-nav-links{gap:7px !important;}
  .top-nav-link{padding:10px 9px; font-size:.87rem;}
  .top-nav-cta{padding:11px 16px; font-size:.85rem;}
}
@media (min-width:1380px){
  .top-nav-links{gap:10px !important;}
  .top-nav-link{padding:10px 11px; font-size:.9rem;}
}
/* Sur les desktops compacts, on garde les modules prioritaires visibles. */
@media (min-width:900px) and (max-width:1080px){
  .top-nav-links .top-nav-link:nth-child(6),
  .top-nav-links .top-nav-link:nth-child(7){display:none !important;}
  .top-nav-link{font-size:.8rem; padding:9px 6px;}
  .top-nav-cta{display:none !important;}
}
@media (max-width:899px){
  .top-nav-links,
  .top-nav-cta,
  .top-nav-secondary,
  .header-badge{display:none !important;}
  .menu-btn{display:flex !important; margin-left:auto;}
}


/* ===== v11 — navigation desktop complète, aucun module masqué ===== */
@media (min-width:900px){
  .nav{max-width:1380px !important;}
  .nav-shell{
    display:flex !important;
    align-items:center;
    flex-wrap:wrap;
    column-gap:14px;
    row-gap:8px;
  }
  .top-nav-links{
    display:flex !important;
    align-items:center;
    justify-content:center;
    flex:1 1 auto;
    gap:7px !important;
    min-width:0;
  }
  .top-nav-links .top-nav-link{
    display:inline-flex !important;
    white-space:nowrap;
    padding:9px 7px !important;
    font-size:.84rem !important;
  }
  .header-actions{display:flex !important;}
  .menu-btn{display:flex !important;}
}

/* Desktop intermédiaire : tous les modules restent visibles sur une 2e ligne. */
@media (min-width:900px) and (max-width:1219px){
  .nav-shell{padding:11px 14px 12px !important;}
  .brand-cluster{flex:1 1 auto !important;}
  .header-actions{margin-left:auto !important;}
  .top-nav-links{
    order:3;
    flex:0 0 100% !important;
    width:100%;
    justify-content:center;
    padding-top:7px;
    margin-top:1px;
    border-top:1px solid rgba(219,227,214,.72);
  }
  .top-nav-links .top-nav-link{
    display:inline-flex !important;
    font-size:.82rem !important;
    padding:7px 8px !important;
  }
  .top-nav-cta{display:inline-flex !important;}
  .header-badge{display:none !important;}
}

/* Grand écran : les 7 modules tiennent sur une seule ligne. */
@media (min-width:1220px){
  .nav-shell{flex-wrap:nowrap !important;}
  .brand-cluster{flex:0 1 auto !important;}
  .top-nav-links{
    order:initial;
    flex:1 1 auto !important;
    width:auto;
    border-top:0;
    padding-top:0;
    margin-top:0;
  }
  .top-nav-links .top-nav-link{
    display:inline-flex !important;
    font-size:.82rem !important;
    padding:9px 6px !important;
  }
  .header-badge{display:none !important;}
  .top-nav-cta{display:inline-flex !important;}
}

/* ===== MonMédoc v18 — module Effets indésirables ===== */
.adverse-hero{border:1px solid var(--line);background:linear-gradient(135deg,var(--paper-card),var(--green-soft));border-radius:22px;padding:24px;margin:0 0 18px}.adverse-hero h1{margin:5px 0 8px}.adverse-hero p{color:var(--ink-soft);max-width:760px;margin:0;line-height:1.6}.adverse-picker{border:1px solid var(--line);background:var(--paper-card);border-radius:20px;padding:20px;margin-bottom:16px}.adverse-picker label{display:block;font-size:.82rem;font-weight:750;margin-bottom:8px}.adverse-results{display:grid;gap:12px;margin-top:18px}.adverse-level{border:1px solid var(--line);border-radius:18px;padding:18px;background:var(--paper-card)}.adverse-level.low{background:var(--green-soft);border-color:rgba(47,107,79,.20)}.adverse-level.watch{background:var(--amber-soft);border-color:var(--amber-soft-border)}.adverse-level.urgent{background:var(--brick-soft);border-color:var(--brick-soft-border)}.adverse-level-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:10px}.adverse-level-head strong{font-size:1rem}.adverse-level-tag{font-size:.7rem;font-weight:800;letter-spacing:.04em;text-transform:uppercase;border:1px solid currentColor;border-radius:999px;padding:5px 9px}.adverse-effect-list{display:grid;gap:8px}.adverse-effect{background:color-mix(in srgb,var(--paper-card) 76%,transparent);border:1px solid color-mix(in srgb,var(--line) 75%,transparent);border-radius:12px;padding:11px 12px;font-size:.84rem;line-height:1.48}.adverse-guidance{margin-top:11px;padding-top:11px;border-top:1px solid color-mix(in srgb,var(--line) 80%,transparent);font-size:.8rem;color:var(--ink-soft);line-height:1.5}.adverse-empty{padding:20px;border:1px dashed var(--line);border-radius:16px;color:var(--ink-soft);font-size:.85rem}.adverse-disclaimer{margin-top:16px;border-left:3px solid var(--green);padding:12px 14px;background:var(--paper-card);color:var(--ink-soft);font-size:.8rem;line-height:1.5;border-radius:0 12px 12px 0}.adverse-selected-title{font-family:'Playfair Display',serif;font-size:1.35rem;margin-bottom:2px}.adverse-selected-sub{font-size:.8rem;color:var(--ink-soft);margin-bottom:12px}
@media(min-width:900px){.home-actions-grid{grid-template-columns:repeat(3,minmax(0,1fr)) !important}.adverse-results{grid-template-columns:repeat(3,minmax(0,1fr));align-items:start}.adverse-level{height:100%}}


/* ===== v24 — favoris, situations pratiques, quiz fiche ===== */
.favorites-block{margin-top:24px;padding:18px 20px;border:1px solid var(--line);border-radius:18px;background:color-mix(in srgb,var(--green-soft) 38%,var(--paper-card));}
.favorites-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px}.favorites-head strong{font-family:'Playfair Display',serif;font-size:1.05rem}.favorites-list{display:flex;flex-wrap:wrap;gap:8px}.favorite-chip{border:1px solid var(--green-soft-border);background:var(--paper-card);color:var(--green-deep);padding:8px 13px;border-radius:999px;font:inherit;font-size:.84rem;font-weight:700;cursor:pointer}.favorite-chip:hover{border-color:var(--green);transform:translateY(-1px)}
.whatif-intro{margin-bottom:14px}.whatif-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.whatif-actions button{border:1px solid var(--line);background:var(--paper);color:var(--ink);border-radius:12px;padding:11px 12px;text-align:left;font:inherit;font-size:.86rem;font-weight:700;cursor:pointer}.whatif-actions button:hover{border-color:var(--green);color:var(--green-deep)}.whatif-output{display:none;margin-top:14px;padding:14px 16px;border-radius:12px;background:var(--green-soft);border:1px solid var(--green-soft-border);font-size:.9rem;line-height:1.55;color:var(--ink)}.whatif-output.show{display:block}
.med-quiz-card{max-width:760px;margin:0 auto}.med-quiz-progress{font-size:.78rem;color:var(--ink-soft);font-weight:700;margin-bottom:12px}.med-quiz-question{font-family:'Playfair Display',serif;font-size:1.3rem;margin-bottom:16px}.med-quiz-options{display:grid;gap:10px}.med-quiz-option{border:1px solid var(--line);background:var(--paper-card);color:var(--ink);border-radius:13px;padding:13px 15px;text-align:left;font:inherit;cursor:pointer}.med-quiz-option:hover{border-color:var(--green)}.med-quiz-option.correct{border-color:var(--green);background:var(--green-soft)}.med-quiz-option.wrong{border-color:var(--brick);background:var(--brick-soft)}.med-quiz-feedback{margin-top:14px;color:var(--ink-soft);font-size:.9rem;line-height:1.55}
@media(max-width:620px){.whatif-actions{grid-template-columns:1fr}}

/* ===== Mode étudiant v25 ===== */
.student-hero{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:28px;align-items:end;padding:30px;border:1px solid var(--line);border-radius:24px;background:linear-gradient(135deg,var(--paper-card) 0%,var(--green-soft) 100%);margin-bottom:20px;box-shadow:0 16px 36px -28px rgba(31,77,56,.45)}
.student-hero h1{font-size:clamp(2.15rem,4vw,3.5rem);line-height:1.02;margin:5px 0 12px;color:var(--green-deep)}
.student-hero p{max-width:760px;color:var(--ink-soft);font-size:.98rem;line-height:1.65;margin:0}
.student-kicker{display:inline-block;font-size:.72rem;font-weight:800;text-transform:uppercase;letter-spacing:.09em;color:var(--green);margin-bottom:4px}
.student-stat{min-width:150px;padding:17px 20px;border-radius:18px;background:var(--green-deep);color:#fff;text-align:center}.student-stat strong{display:block;font-family:'Playfair Display',serif;font-size:2rem;line-height:1}.student-stat span{display:block;font-size:.72rem;opacity:.82;margin-top:6px}
.student-dashboard-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:13px;margin:18px 0 30px}.student-tool-card{border:1px solid var(--line);background:var(--paper-card);border-radius:19px;padding:20px;text-align:left;color:var(--ink);cursor:pointer;min-height:160px;transition:.18s ease;box-shadow:0 8px 22px -18px rgba(28,43,34,.3)}.student-tool-card:hover{transform:translateY(-3px);border-color:var(--green);box-shadow:0 16px 28px -22px rgba(47,107,79,.55)}.student-tool-card.featured{background:var(--green-deep);color:#fff;border-color:var(--green-deep)}.student-tool-icon{font-size:1.45rem;display:block;margin-bottom:18px}.student-tool-card strong{display:block;font-family:'Playfair Display',serif;font-size:1.08rem;margin-bottom:7px}.student-tool-card small{display:block;color:var(--ink-soft);font-size:.78rem;line-height:1.45}.student-tool-card.featured small{color:rgba(255,255,255,.75)}
.student-topic-section{margin:8px 0 28px}.student-topic-head{display:flex;justify-content:space-between;align-items:end;gap:20px;margin-bottom:14px}.student-topic-head h2,.student-tip-card h2{font-size:1.45rem;margin:2px 0 0}.student-topic-head p{font-size:.78rem;color:var(--ink-soft);max-width:420px;text-align:right}.student-topic-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.student-topic-grid button{border:1px solid var(--line);background:var(--paper-card);border-radius:15px;padding:15px 16px;text-align:left;color:var(--ink);cursor:pointer;transition:.15s ease}.student-topic-grid button:hover{border-color:var(--green);background:var(--green-soft)}.student-topic-grid strong{display:block;font-size:.88rem;margin-bottom:4px}.student-topic-grid span{display:block;color:var(--ink-soft);font-size:.72rem;line-height:1.4}
.student-tip-card{display:grid;grid-template-columns:1.15fr 1.4fr auto;gap:22px;align-items:center;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:22px 2px;margin:30px 0}.student-tip-card p{font-size:.82rem;color:var(--ink-soft);line-height:1.55;margin:0}
@media(max-width:900px){.student-dashboard-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.student-topic-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.student-tip-card{grid-template-columns:1fr}.student-topic-head{align-items:flex-start;flex-direction:column}.student-topic-head p{text-align:left}.student-hero{grid-template-columns:1fr}.student-stat{width:max-content}}
@media(max-width:560px){.student-hero{padding:22px 18px;border-radius:20px}.student-dashboard-grid,.student-topic-grid{grid-template-columns:1fr}.student-tool-card{min-height:0}.student-stat{display:none}}


/* ===== v27 — Fiche de révision étudiant ===== */
.study-sheet{
  border:1px solid var(--line);
  background:var(--paper-card);
  border-radius:24px;
  overflow:hidden;
  box-shadow:0 18px 42px -32px rgba(28,43,34,.34);
  margin:20px 0 34px;
}
.study-sheet-head{
  padding:28px 30px 24px;
  background:linear-gradient(135deg,var(--green-deep),#2f6b4f);
  color:#fff;
}
.study-sheet-head .student-kicker{color:rgba(255,255,255,.72)}
.study-sheet-head h1{font-size:clamp(2rem,4vw,3rem);line-height:1.05;margin:5px 0 8px;color:#fff}
.study-sheet-head p{margin:0;color:rgba(255,255,255,.78);max-width:68ch;font-size:.9rem;line-height:1.55}
.study-sheet-toolbar{display:flex;gap:9px;flex-wrap:wrap;margin-top:18px}
.study-sheet-toolbar button{border:1px solid rgba(255,255,255,.26);background:rgba(255,255,255,.1);color:#fff;border-radius:999px;padding:9px 13px;font:inherit;font-size:.78rem;font-weight:750;cursor:pointer}
.study-sheet-toolbar button:hover{background:rgba(255,255,255,.18)}
.study-sheet-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0}
.study-item{padding:22px 26px;border-bottom:1px solid var(--line);min-height:132px}
.study-item:nth-child(odd){border-right:1px solid var(--line)}
.study-label{display:block;font-size:.68rem;text-transform:uppercase;letter-spacing:.08em;font-weight:850;color:var(--green);margin-bottom:9px}
.study-answer{font-size:.9rem;line-height:1.58;color:var(--ink)}
.study-answer strong{color:var(--ink)}
.study-sheet.answers-hidden .study-answer{
  color:transparent;
  text-shadow:0 0 9px rgba(28,43,34,.42);
  user-select:none;
  border-radius:8px;
  background:linear-gradient(90deg,var(--green-soft),rgba(47,107,79,.04));
  padding:8px 10px;
  min-height:46px;
}
.study-sheet.answers-hidden .study-answer *{visibility:hidden}
.study-sheet-foot{padding:18px 26px;background:var(--green-soft);display:flex;align-items:center;justify-content:space-between;gap:14px;flex-wrap:wrap}
.study-sheet-foot p{margin:0;color:var(--ink-soft);font-size:.76rem;max-width:70ch;line-height:1.5}
.study-sheet-foot .fiche-utility-btn{margin:0}
@media(max-width:700px){
  .study-sheet-head{padding:24px 20px 20px}
  .study-sheet-grid{grid-template-columns:1fr}
  .study-item,.study-item:nth-child(odd){border-right:none;padding:19px 20px;min-height:0}
  .study-sheet-foot{padding:16px 20px}
}

/* V33 — correction navigation desktop en mode texte agrandi */
@media (min-width:900px){
  html.large-text .nav-shell{
    flex-wrap:wrap;
    align-items:center;
    row-gap:10px;
  }
  html.large-text .brand-cluster{
    flex:1 1 auto;
  }
  html.large-text .header-actions{
    order:2;
    margin-left:auto;
  }
  html.large-text .top-nav-links{
    order:3;
    flex:1 0 100%;
    width:100%;
    margin-left:0;
    padding:8px 2px 2px;
    justify-content:center;
    flex-wrap:wrap;
    gap:12px 20px;
    border-top:1px solid rgba(219,227,214,.8);
  }
  html.large-text .top-nav-link{
    white-space:nowrap;
    font-size:.84rem;
  }
  html.large-text .top-nav-cta{
    white-space:nowrap;
    flex-shrink:0;
  }
}

/* ===== v35 — Mode étudiant : QCM concours par médicament ===== */
.student-qcm-hub{margin:22px 0 30px;border:1px solid var(--line);border-radius:24px;background:var(--paper-card);padding:26px;box-shadow:0 14px 34px -30px rgba(28,43,34,.34)}
.student-qcm-head{display:flex;justify-content:space-between;gap:20px;align-items:flex-start;margin-bottom:18px}.student-qcm-head h2{margin:3px 0 6px;font-size:1.75rem;color:var(--green-deep)}.student-qcm-head p{margin:0;color:var(--ink-soft);max-width:68ch}.student-qcm-badge{white-space:nowrap;border:1px solid var(--green-soft-border);background:var(--green-soft);color:var(--green-deep);border-radius:999px;padding:8px 12px;font-size:.74rem;font-weight:800}
.student-qcm-launch{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;align-items:end}.student-qcm-launch label{display:block}.student-qcm-launch label span{display:block;font-size:.72rem;font-weight:800;text-transform:uppercase;letter-spacing:.05em;color:var(--ink-soft);margin-bottom:7px}.student-qcm-launch input{width:100%;border:1px solid var(--line);border-radius:14px;background:var(--paper);color:var(--ink);padding:13px 14px;font:inherit}.student-qcm-launch button{min-height:48px;border:0;border-radius:14px;background:var(--green-deep);color:#fff;padding:0 18px;font:inherit;font-weight:800;cursor:pointer}
.student-qcm-tags{display:flex;gap:7px;flex-wrap:wrap;margin-top:14px}.student-qcm-tags span{font-size:.72rem;font-weight:750;color:var(--ink-soft);border:1px solid var(--line);background:var(--paper);border-radius:999px;padding:7px 10px}
.student-revision-card{position:relative}.student-revision-actions{display:flex;gap:7px;flex-wrap:wrap;margin-top:12px}.student-revision-actions button{border:1px solid var(--line);background:var(--paper);color:var(--green-deep);border-radius:999px;padding:7px 10px;font:inherit;font-size:.72rem;font-weight:800;cursor:pointer}.student-revision-actions button.primary{background:var(--green-deep);color:#fff;border-color:var(--green-deep)}
.med-qcm-card{max-width:900px;margin:18px auto 42px}.med-qcm-head{padding:22px 24px;border:1px solid var(--line);border-radius:22px;background:linear-gradient(135deg,var(--paper-card),var(--green-soft));margin-bottom:14px}.med-qcm-head .eyebrow{font-size:.7rem;text-transform:uppercase;letter-spacing:.08em;font-weight:850;color:var(--green)}.med-qcm-head h1{margin:4px 0 8px;color:var(--green-deep);font-size:clamp(1.8rem,4vw,2.6rem)}.med-qcm-head p{margin:0;color:var(--ink-soft)}
.med-qcm-progress{display:flex;justify-content:space-between;gap:12px;align-items:center;margin:0 0 12px;font-size:.8rem;color:var(--ink-soft)}.med-qcm-progress strong{color:var(--green-deep)}
.med-qcm-question-card{border:1px solid var(--line);background:var(--paper-card);border-radius:22px;padding:24px}.med-qcm-type{display:inline-flex;border-radius:999px;background:var(--green-soft);color:var(--green-deep);font-size:.7rem;font-weight:850;text-transform:uppercase;letter-spacing:.05em;padding:6px 9px;margin-bottom:12px}.med-qcm-question{font-family:'Playfair Display',serif;font-size:1.35rem;line-height:1.35;color:var(--ink);margin-bottom:8px}.med-qcm-instruction{font-size:.8rem;color:var(--ink-soft);margin-bottom:16px}
.med-qcm-options{display:grid;gap:9px}.med-qcm-option{display:grid;grid-template-columns:30px minmax(0,1fr);gap:10px;align-items:start;width:100%;text-align:left;border:1px solid var(--line);background:var(--paper);border-radius:14px;padding:13px 14px;color:var(--ink);cursor:pointer;font:inherit;transition:.15s ease}.med-qcm-option:hover:not(:disabled){border-color:var(--green);background:var(--green-soft)}.med-qcm-option.selected{border-color:var(--green);background:var(--green-soft)}.med-qcm-option.correct{border-color:#4f8a64;background:#edf6ef}.med-qcm-option.wrong{border-color:var(--brick);background:var(--brick-soft)}.med-qcm-option:disabled{cursor:default}.med-qcm-letter{width:28px;height:28px;border-radius:8px;border:1px solid var(--line);display:flex;align-items:center;justify-content:center;font-weight:850;font-size:.78rem;background:var(--paper-card)}
.med-qcm-actions{display:flex;gap:9px;flex-wrap:wrap;margin-top:16px}.med-qcm-validate{border:0;background:var(--green-deep);color:#fff;border-radius:12px;padding:11px 16px;font:inherit;font-weight:800;cursor:pointer}.med-qcm-validate:disabled{opacity:.45;cursor:default}.med-qcm-feedback{margin-top:14px;border-radius:14px;padding:14px 16px;font-size:.86rem;line-height:1.55}.med-qcm-feedback.good{background:var(--green-soft);color:var(--green-deep)}.med-qcm-feedback.bad{background:var(--brick-soft);color:var(--ink)}.med-qcm-feedback strong{display:block;margin-bottom:4px}.med-qcm-correct-list{margin-top:7px;font-size:.8rem;color:var(--ink-soft)}
.med-qcm-final{text-align:center;border:1px solid var(--line);background:var(--paper-card);border-radius:24px;padding:36px 24px}.med-qcm-final-score{font-family:'Playfair Display',serif;font-size:3.5rem;color:var(--green-deep);line-height:1;margin:12px 0}.med-qcm-final p{color:var(--ink-soft);max-width:55ch;margin:0 auto 18px}
@media(max-width:720px){.student-qcm-head{display:block}.student-qcm-badge{display:inline-flex;margin-top:12px}.student-qcm-launch{grid-template-columns:1fr}.student-qcm-launch button{width:100%}.med-qcm-question-card{padding:18px}.med-qcm-question{font-size:1.18rem}}


/* ===== v36 — Mode étudiant concours ===== */
.student-qcm-mode-row{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-top:16px;padding-top:15px;border-top:1px solid var(--line)}
.student-qcm-mode-row>span{font-size:.76rem;font-weight:800;color:var(--ink-soft);margin-right:2px}.student-qcm-mode-row button{border:1px solid var(--line);background:var(--paper);color:var(--ink);border-radius:999px;padding:8px 12px;font:inherit;font-size:.77rem;font-weight:800;cursor:pointer}.student-qcm-mode-row button.active{background:var(--green-deep);border-color:var(--green-deep);color:#fff}.student-qcm-mode-row small{color:var(--ink-soft);font-size:.73rem;margin-left:4px}
.student-advanced-qcm{margin:26px 0}.student-advanced-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px}.student-advanced-grid button{border:1px solid var(--line);background:var(--paper-card);border-radius:17px;padding:18px;text-align:left;color:var(--ink);cursor:pointer;transition:.16s ease;min-height:116px}.student-advanced-grid button:hover{border-color:var(--green);transform:translateY(-2px)}.student-advanced-grid button.featured{background:var(--green-deep);color:#fff;border-color:var(--green-deep)}.student-advanced-grid strong{display:block;font-family:'Playfair Display',serif;font-size:1rem;margin-bottom:6px}.student-advanced-grid span{display:block;font-size:.73rem;line-height:1.4;color:var(--ink-soft)}.student-advanced-grid .featured span{color:rgba(255,255,255,.76)}
.student-stats-panel{display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:22px;align-items:center;margin:24px 0;padding:22px;border:1px solid var(--line);background:linear-gradient(135deg,var(--paper-card),var(--green-soft));border-radius:20px}.student-stats-panel h2{margin:2px 0 4px;font-size:1.35rem}.student-stats-panel p{margin:0;color:var(--ink-soft);font-size:.76rem}.student-stats-grid{display:flex;gap:22px}.student-stats-grid div{text-align:center;min-width:78px}.student-stats-grid strong{display:block;font-family:'Playfair Display',serif;font-size:1.45rem;color:var(--green-deep)}.student-stats-grid span{display:block;font-size:.67rem;color:var(--ink-soft);line-height:1.25}
.med-qcm-mode-banner{display:flex;justify-content:space-between;gap:12px;align-items:center;margin-bottom:12px;padding:10px 13px;border:1px solid var(--line);border-radius:13px;background:var(--paper-card);font-size:.75rem;color:var(--ink-soft)}.med-qcm-mode-banner strong{color:var(--green-deep)}
.med-qcm-score-delta{display:inline-flex;margin-top:8px;border-radius:999px;padding:5px 9px;font-size:.72rem;font-weight:800;background:var(--paper);border:1px solid var(--line)}
.med-qcm-case{margin:0 0 14px;padding:13px 15px;border-left:3px solid var(--amber);background:var(--amber-soft);border-radius:0 12px 12px 0;font-size:.84rem;line-height:1.5;color:var(--ink)}
.med-qcm-final-errors{margin:18px 0;text-align:left;border:1px solid var(--line);border-radius:16px;overflow:hidden}.med-qcm-final-errors h3{font-size:1rem;padding:13px 15px;background:var(--green-soft);margin:0}.med-qcm-error-row{padding:12px 15px;border-top:1px solid var(--line);font-size:.8rem;line-height:1.45}.med-qcm-error-row strong{display:block;color:var(--ink);margin-bottom:3px}.med-qcm-error-row span{color:var(--ink-soft)}
@media(max-width:1050px){.student-advanced-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.student-stats-panel{grid-template-columns:1fr}.student-stats-grid{justify-content:flex-start}}
@media(max-width:650px){.student-advanced-grid{grid-template-columns:1fr}.student-stats-grid{width:100%;justify-content:space-between;gap:8px}.student-qcm-mode-row small{width:100%;margin-left:0}.med-qcm-mode-banner{align-items:flex-start;flex-direction:column}}



/* ===== MonMédoc v12 — polish esthétique sans refonte structurelle ===== */
:root{
  --mm-gold:#D6A83A;
  --mm-gold-soft:#F7EBCB;
  --mm-shadow-card:0 18px 46px -36px rgba(26,50,38,.46);
  --mm-shadow-hover:0 24px 56px -34px rgba(31,77,56,.42);
}

/* Transitions communes */
.home-action,.quick-pair-card,.pwa-home-card,section.card,.result-card,.fiche-utility-btn,.quick-chip,.top-nav-link{
  transition:transform .2s cubic-bezier(.2,.8,.2,1),box-shadow .2s ease,border-color .2s ease,background .2s ease,color .2s ease;
}

/* Hero desktop : plus éditorial, sans effet "mobile étiré" */
@media (min-width:1000px){
  #home-view .hero{
    position:relative;
    padding:96px 390px 34px 0;
    min-height:520px;
  }
  #home-view .hero::before{
    left:auto;
    right:-84px;
    top:32px;
    transform:none;
    width:360px;
    height:360px;
    border-radius:48% 52% 56% 44% / 47% 43% 57% 53%;
    background:
      radial-gradient(circle at 32% 30%,rgba(232,185,74,.20),transparent 23%),
      linear-gradient(145deg,rgba(234,243,236,.98),rgba(255,255,255,.56));
    border:1px solid color-mix(in srgb,var(--green) 12%,var(--line));
    box-shadow:0 30px 90px -55px rgba(31,77,56,.48);
    z-index:-1;
  }
  #home-view .hero::after{
    content:"";
    position:absolute;
    right:34px;
    top:104px;
    width:238px;
    height:132px;
    border-radius:80px;
    border:22px solid rgba(47,107,79,.10);
    transform:rotate(-24deg);
    box-shadow:
      0 0 0 1px rgba(47,107,79,.08),
      76px 118px 0 -48px rgba(232,185,74,.16),
      -34px 168px 0 -55px rgba(47,107,79,.12);
    pointer-events:none;
    z-index:-1;
  }
  #home-view .hero h1{
    font-size:clamp(3.4rem,5vw,4.75rem);
    line-height:.99;
    letter-spacing:-.045em;
    max-width:690px;
    margin-bottom:24px;
  }
  #home-view .hero h1 em::after{
    content:"";
    position:absolute;
    left:2px;
    bottom:-9px;
    width:72px;
    height:4px;
    border-radius:99px;
    background:var(--mm-gold);
    opacity:.9;
  }
  #home-view .hero-sub{max-width:610px;font-size:1.08rem;line-height:1.75;}
  #home-view .trust-strip{max-width:650px;}
  #home-view .search-box{max-width:690px;}
  #home-view .results-label,#home-view #results-list,#home-view #sphere-filter-row,#home-view .quick-search-row{max-width:690px;}
}

/* Recherche : élément signature */
.search-box{
  background:color-mix(in srgb,var(--paper-card) 96%,var(--green-soft));
  border:1px solid color-mix(in srgb,var(--green) 15%,var(--line));
  box-shadow:0 15px 38px -28px rgba(31,77,56,.45),inset 0 1px 0 rgba(255,255,255,.7);
}
.search-box:focus-within{
  transform:translateY(-1px);
  border-color:color-mix(in srgb,var(--green) 64%,var(--line));
  box-shadow:0 0 0 4px rgba(47,107,79,.08),0 22px 48px -30px rgba(31,77,56,.58);
}
.quick-chip:hover{transform:translateY(-2px);box-shadow:0 8px 18px -14px rgba(31,77,56,.5);}

/* Modules : même famille graphique, identité individuelle */
.home-actions{margin-top:42px;}
.home-actions-title{
  font-family:'Playfair Display',serif;
  font-size:1.42rem;
  font-weight:650;
  color:var(--ink);
  letter-spacing:-.015em;
  margin-bottom:15px;
}
.home-actions-grid{gap:14px;}
.home-action{
  position:relative;
  isolation:isolate;
  min-height:158px;
  padding:20px 19px;
  border-radius:22px;
  border:1px solid color-mix(in srgb,var(--line) 90%,var(--green) 10%);
  background:linear-gradient(155deg,var(--paper-card),color-mix(in srgb,var(--paper-card) 88%,var(--green-soft)));
  box-shadow:var(--mm-shadow-card);
  overflow:hidden;
}
.home-action::before{
  content:"";
  position:absolute;
  inset:0 auto 0 0;
  width:4px;
  background:var(--green);
  opacity:.84;
  z-index:-1;
}
.home-action:nth-child(2)::before{background:var(--amber);}
.home-action:nth-child(3)::before{background:#607C70;}
.home-action:nth-child(4)::before{background:#A16D82;}
.home-action:nth-child(5)::before{background:#477A68;}
.home-action::after{
  content:"";
  position:absolute;
  width:120px;height:120px;border-radius:50%;
  right:-62px;bottom:-68px;
  background:radial-gradient(circle,color-mix(in srgb,var(--green) 11%,transparent),transparent 68%);
  z-index:-1;
}
.home-action:hover{
  transform:translateY(-4px);
  border-color:color-mix(in srgb,var(--green) 28%,var(--line));
  box-shadow:var(--mm-shadow-hover);
}
.home-action-icon{
  width:44px;height:44px;
  display:flex;align-items:center;justify-content:center;
  border-radius:14px;
  margin-bottom:20px;
  font-size:1.2rem;
  background:var(--green-soft);
  border:1px solid color-mix(in srgb,var(--green) 12%,transparent);
}
.home-action:nth-child(2) .home-action-icon{background:var(--amber-soft);}
.home-action:nth-child(4) .home-action-icon{background:color-mix(in srgb,#A16D82 10%,var(--paper-card));}
.home-action strong{font-size:.98rem;line-height:1.28;letter-spacing:-.01em;}
.home-action small{font-size:.76rem;line-height:1.48;margin-top:7px;max-width:26ch;}

/* Blocs secondaires */
.quick-pair-card,.pwa-home-card{
  border-radius:24px;
  border-color:color-mix(in srgb,var(--green) 10%,var(--line));
  box-shadow:var(--mm-shadow-card);
}
.quick-pair-card{
  padding:26px;
  background:
    radial-gradient(circle at 92% 12%,rgba(232,185,74,.10),transparent 130px),
    var(--paper-card);
}
.quick-pair-card h3{font-size:1.45rem;letter-spacing:-.02em;}
.pwa-home-card{
  padding:22px 24px;
  background:linear-gradient(135deg,color-mix(in srgb,var(--green-soft) 76%,var(--paper-card)),var(--paper-card));
}

/* Fiches médicament : rendu plus éditorial */
.detail .title-block{
  position:relative;
  padding:26px 28px 25px;
  margin:0 0 26px;
  border:1px solid color-mix(in srgb,var(--green) 12%,var(--line));
  border-radius:24px;
  background:
    radial-gradient(circle at 94% 8%,rgba(232,185,74,.12),transparent 150px),
    linear-gradient(145deg,var(--paper-card),color-mix(in srgb,var(--green-soft) 22%,var(--paper-card)));
  box-shadow:var(--mm-shadow-card);
  overflow:hidden;
}
.detail .title-block::before{
  content:"";
  position:absolute;
  left:0;top:0;bottom:0;width:5px;
  background:linear-gradient(var(--green),var(--green-deep));
}
.detail .title-block h1{font-size:clamp(2.1rem,4vw,3rem);line-height:1.03;}
.detail section.card{
  border-radius:22px;
  border-color:color-mix(in srgb,var(--green) 8%,var(--line));
  box-shadow:var(--mm-shadow-card);
}
.detail section.card:hover{box-shadow:var(--mm-shadow-hover);}
.pictogram{
  border-radius:999px;
  box-shadow:0 8px 20px -18px rgba(31,77,56,.5);
}
.fiche-utility-btn:hover{transform:translateY(-2px);}

/* Résultats de recherche */
.result-card{
  border-radius:18px;
  border-color:color-mix(in srgb,var(--green) 9%,var(--line));
  box-shadow:0 12px 30px -28px rgba(31,77,56,.42);
}
.result-card:hover{transform:translateY(-2px);box-shadow:0 18px 38px -28px rgba(31,77,56,.55);}

/* Footer de marque */
.site-footer{
  margin-top:78px;
  border-top:1px solid color-mix(in srgb,var(--green) 10%,var(--line));
  background:
    linear-gradient(180deg,color-mix(in srgb,var(--paper-card) 96%,var(--green-soft)),var(--paper-card));
}
.footer-top{padding-top:54px;}
.footer-brand-logo{font-size:1.26rem;letter-spacing:-.015em;}
.footer-brand-logo img{width:30px;height:30px;}
.footer-tagline{line-height:1.65;}
.footer-col-title{color:var(--green-deep);opacity:.72;letter-spacing:.09em;}
.footer-link:hover{transform:translateX(2px);}

/* Dark mode */
html.dark-mode .home-action,
html.dark-mode .quick-pair-card,
html.dark-mode .pwa-home-card,
html.dark-mode .detail .title-block{
  box-shadow:0 20px 50px -34px rgba(0,0,0,.72);
}
html.dark-mode #home-view .hero::before{
  background:linear-gradient(145deg,rgba(46,107,76,.18),rgba(35,46,40,.55));
  border-color:rgba(76,147,112,.16);
}

/* Mobile : on garde l'esprit actuel et on évite les effets desktop */
@media (max-width:999px){
  #home-view .hero{min-height:0;padding-right:0;}
  #home-view .hero::after{display:none;}
  .home-action{min-height:145px;padding:17px 15px;border-radius:18px;}
  .home-action-icon{margin-bottom:13px;}
  .detail .title-block{padding:21px 20px 20px;border-radius:19px;}
}


/* v15: conserve les pictogrammes/emoji de la v12, retire uniquement le motif gélule du hero desktop */
@media (min-width:1000px){
  #home-view .hero{padding-right:0;min-height:auto;}
  #home-view .hero::after{content:none !important;display:none !important;box-shadow:none !important;border:0 !important;}
  #home-view .hero h1{max-width:820px;}
  #home-view .hero-sub{max-width:690px;}
  #home-view .trust-strip,#home-view .search-box,#home-view .results-label,#home-view #results-list,#home-view #sphere-filter-row,#home-view .quick-search-row{max-width:760px;}
}


/* ===== MonMédoc v16 — accueil épuré, aucun motif circulaire ===== */
#home-view .hero::before,
#home-view .hero::after{content:none !important;display:none !important;}

#home-view .hero{padding-top:42px !important;min-height:0 !important;}
.hero-intro{
  position:relative;
  overflow:hidden;
  padding:42px 40px 36px;
  border:1px solid color-mix(in srgb,var(--green) 10%,var(--line));
  border-radius:26px;
  background:linear-gradient(135deg,color-mix(in srgb,var(--green-soft) 44%,var(--paper-card)) 0%,var(--paper-card) 62%,color-mix(in srgb,var(--amber-soft) 20%,var(--paper-card)) 100%);
  box-shadow:0 26px 60px -48px rgba(31,77,56,.52);
}
.hero-intro::before{
  content:"";
  position:absolute;
  left:0;right:0;top:0;height:4px;
  background:linear-gradient(90deg,var(--green-deep) 0 72%,var(--amber) 72% 84%,transparent 84%);
  opacity:.9;
}
.hero-intro .eyebrow{
  margin-bottom:18px;
  color:var(--green-deep);
  opacity:.82;
}
#home-view .hero-intro h1{
  font-size:clamp(3.15rem,5vw,4.65rem) !important;
  max-width:840px !important;
  line-height:1 !important;
  letter-spacing:-.043em !important;
  margin-bottom:20px !important;
}
#home-view .hero-intro h1 em{color:var(--green-deep);font-style:italic;position:relative;}
#home-view .hero-intro h1 em::after{display:none !important;}
#home-view .hero-intro .hero-sub{
  max-width:760px !important;
  font-size:1.08rem !important;
  line-height:1.7 !important;
  margin-bottom:18px;
}
#home-view .hero-intro .trust-strip{max-width:none !important;margin-top:14px;}
#home-view .hero-intro .search-box{
  max-width:900px !important;
  margin-top:28px;
  min-height:62px;
  border-radius:18px;
  background:var(--paper-card);
  border:1px solid color-mix(in srgb,var(--green) 18%,var(--line));
  box-shadow:0 16px 36px -30px rgba(31,77,56,.58);
}
#home-view .hero-intro .search-box input{font-size:1rem;}
#home-view .hero-intro .results-label,
#home-view .hero-intro #results-list,
#home-view .hero-intro #sphere-filter-row,
#home-view .hero-intro .quick-search-row{max-width:900px !important;}
#home-view .hero-intro .quick-search-row{margin-top:15px;}

/* Modules : grille plus structurée et plus web */
#home-view .home-actions{margin-top:38px;}
#home-view .home-actions-title{
  font-size:1.55rem;
  margin:0 0 18px;
}
@media (min-width:1000px){
  #home-view .home-actions-grid{
    display:grid;
    grid-template-columns:repeat(5,minmax(0,1fr));
    gap:14px;
  }
  #home-view .home-action{
    min-height:172px;
    padding:22px 20px;
    border-radius:20px;
  }
  #home-view .home-action::after{display:none !important;}
  #home-view .home-action-icon{margin-bottom:18px;}
  #home-view .pwa-home-card{margin-top:24px;}
  #home-view .quick-pair-card{margin-top:24px;}
}

/* Pas de décorations rondes cachées dans les cartes de l'accueil */
#home-view .home-action::after,
#home-view .quick-pair-card::before,
#home-view .quick-pair-card::after,
#home-view .pwa-home-card::before,
#home-view .pwa-home-card::after{display:none !important;content:none !important;}

/* Mobile : bandeau simple et respirant */
@media (max-width:999px){
  #home-view .hero{padding-top:24px !important;}
  .hero-intro{padding:28px 22px 24px;border-radius:20px;}
  #home-view .hero-intro h1{font-size:clamp(2.25rem,10vw,3.2rem) !important;}
  #home-view .hero-intro .hero-sub{font-size:.98rem !important;}
  #home-view .hero-intro .search-box{margin-top:22px;min-height:56px;}
}
@media (max-width:560px){
  .hero-intro{padding:24px 17px 21px;border-radius:18px;}
  .hero-intro::before{height:3px;}
}

/* ===== v29 — Mode étudiant repensé ===== */
.student-hero-v29{margin-bottom:22px}
.student-revision-hub{border:1px solid rgba(47,107,79,.26);background:linear-gradient(180deg,var(--paper-card),rgba(234,243,236,.48));border-radius:24px;padding:26px;margin:0 0 30px;box-shadow:0 18px 40px -32px rgba(31,77,56,.55)}
.student-revision-head{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;margin-bottom:20px}
.student-revision-head h2,.student-section-title h2{font-size:1.65rem;margin:3px 0 5px;color:var(--green-deep)}
.student-revision-head p,.student-section-title p{margin:0;color:var(--ink-soft);font-size:.84rem;line-height:1.5}
.student-revision-badge{flex:0 0 auto;border:1px solid rgba(47,107,79,.2);background:var(--green-soft);color:var(--green-deep);border-radius:999px;padding:8px 12px;font-size:.7rem;font-weight:800;text-transform:uppercase;letter-spacing:.06em}
.student-revision-controls{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(210px,.7fr);gap:12px;margin-bottom:18px}
.student-revision-controls label{display:block}
.student-revision-controls label>span{display:block;font-size:.69rem;font-weight:800;text-transform:uppercase;letter-spacing:.065em;color:var(--ink-soft);margin:0 0 7px 3px}
.student-revision-controls input,.student-revision-controls select{width:100%;border:1px solid var(--line);background:var(--paper-card);color:var(--ink);border-radius:14px;min-height:48px;padding:11px 14px;font:inherit;font-size:.88rem;box-shadow:0 5px 16px -14px rgba(28,43,34,.22)}
.student-revision-controls input:focus,.student-revision-controls select:focus{border-color:var(--green);outline:3px solid rgba(47,107,79,.11);outline-offset:0}
.student-revision-results{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
.student-revision-card{display:flex;flex-direction:column;align-items:flex-start;text-align:left;border:1px solid var(--line);background:var(--paper-card);color:var(--ink);border-radius:16px;padding:15px;min-height:125px;cursor:pointer;transition:.16s ease}
.student-revision-card:hover{border-color:var(--green);transform:translateY(-2px);box-shadow:0 12px 24px -18px rgba(47,107,79,.5)}
.student-revision-card .student-med-name{font-family:'Playfair Display',serif;font-size:1rem;font-weight:700;line-height:1.2;color:var(--ink);margin-bottom:5px}
.student-revision-card .student-med-class{font-size:.73rem;color:var(--ink-soft);line-height:1.35;margin-bottom:auto}
.student-revision-card .student-med-action{display:inline-flex;margin-top:12px;font-size:.7rem;font-weight:800;color:var(--green-deep);text-transform:uppercase;letter-spacing:.045em}
.student-revision-empty{grid-column:1/-1;border:1px dashed var(--line);border-radius:15px;padding:22px;text-align:center;color:var(--ink-soft);font-size:.84rem}
.student-revision-help{margin-top:15px;padding-top:14px;border-top:1px solid var(--line);font-size:.74rem;line-height:1.5;color:var(--ink-soft)}
.student-training-section{margin:0 0 30px}
.student-section-title{display:flex;justify-content:space-between;align-items:end;gap:20px;margin-bottom:14px}
.student-section-title p{max-width:50ch;text-align:right}
.student-training-grid{grid-template-columns:repeat(3,minmax(0,1fr));margin:0}
.student-training-grid .student-tool-card{min-height:145px}
.student-topic-section-v29{padding-top:4px}
@media(max-width:900px){.student-revision-results{grid-template-columns:repeat(2,minmax(0,1fr))}.student-training-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:700px){.student-revision-hub{padding:20px 16px;border-radius:20px}.student-revision-head,.student-section-title{flex-direction:column;align-items:flex-start}.student-section-title p{text-align:left}.student-revision-badge{display:none}.student-revision-controls{grid-template-columns:1fr}.student-revision-results{grid-template-columns:1fr}.student-training-grid{grid-template-columns:1fr}.student-revision-card{min-height:0}}

/* ===== v43 — nouveaux modules + polish esthétique ===== */
.v43-module-section{margin:34px 0 26px}.v43-section-head{display:flex;align-items:end;justify-content:space-between;gap:20px;margin-bottom:14px}.v43-section-head h2{font-size:1.55rem;margin:2px 0}.v43-section-head p{max-width:58ch;color:var(--ink-soft);font-size:.8rem;text-align:right}.v43-kicker{font-size:.7rem;font-weight:800;text-transform:uppercase;letter-spacing:.08em;color:var(--green)}
.v43-module-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:11px}.v43-module-card{border:1px solid var(--line);background:var(--paper-card);color:var(--ink);border-radius:18px;padding:18px;text-align:left;cursor:pointer;min-height:156px;transition:transform .16s ease,border-color .16s ease,box-shadow .16s ease}.v43-module-card:hover{transform:translateY(-3px);border-color:var(--green);box-shadow:0 16px 30px -24px rgba(31,77,56,.5)}.v43-line-icon{width:34px;height:34px;border:1px solid rgba(47,107,79,.28);border-radius:10px;display:grid;place-items:center;color:var(--green-deep);font-weight:900;font-size:1rem;margin-bottom:16px;background:var(--green-soft)}.v43-module-card strong{display:block;font-family:'Playfair Display',serif;font-size:1rem;margin-bottom:7px}.v43-module-card small{display:block;color:var(--ink-soft);font-size:.73rem;line-height:1.45}
.v43-view{animation:v43Fade .18s ease}@keyframes v43Fade{from{opacity:.25;transform:translateY(6px)}to{opacity:1;transform:none}}.v43-view-hero{padding:28px 0 18px;border-bottom:1px solid var(--line);margin-bottom:22px}.v43-view-hero h1{font-size:clamp(2rem,4vw,3.2rem);line-height:1.04;color:var(--green-deep);margin:5px 0 10px}.v43-view-hero p{max-width:78ch;color:var(--ink-soft)}
.v43-picker-card label>span,.v43-two-col label>span{display:block;font-size:.72rem;font-weight:800;text-transform:uppercase;letter-spacing:.05em;color:var(--ink-soft);margin-bottom:7px}.v43-picker-card input,.v43-picker-card select,.v43-two-col input{width:100%;min-height:48px;border:1px solid var(--line);border-radius:14px;background:var(--paper);color:var(--ink);padding:11px 13px;font:inherit}.v43-two-col{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.v43-compare-table{display:grid;grid-template-columns:180px 1fr 1fr;border:1px solid var(--line);border-radius:18px;overflow:hidden;background:var(--paper-card)}.v43-compare-cell{padding:14px 16px;border-bottom:1px solid var(--line);border-right:1px solid var(--line);font-size:.8rem;line-height:1.5}.v43-compare-cell:nth-child(3n){border-right:0}.v43-compare-cell.head{background:var(--green-soft);font-weight:800;color:var(--green-deep)}.v43-compare-cell.label{font-weight:800;color:var(--ink-soft);background:var(--paper)}
.v43-result-grid,.v43-class-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.v43-result-card,.v43-class-card{border:1px solid var(--line);background:var(--paper-card);border-radius:16px;padding:15px;cursor:pointer;transition:.15s ease}.v43-result-card:hover,.v43-class-card:hover{border-color:var(--green);transform:translateY(-2px)}.v43-result-card strong,.v43-class-card strong{display:block;font-family:'Playfair Display',serif;font-size:1rem;margin-bottom:4px}.v43-result-card span,.v43-class-card span{display:block;color:var(--ink-soft);font-size:.72rem;line-height:1.4}.v43-class-count{display:inline-flex!important;margin-top:10px;color:var(--green-deep)!important;font-weight:800!important}
.v43-check-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;margin:16px 0}.v43-check-grid label{display:flex;align-items:center;gap:9px;border:1px solid var(--line);background:var(--paper);border-radius:13px;padding:11px 12px;font-size:.78rem}.v43-check-grid input{width:auto;min-height:auto}.v43-answer{border:1px solid var(--line);border-radius:18px;background:var(--paper-card);padding:20px;margin-top:16px}.v43-answer h2{font-size:1.25rem;margin-bottom:10px;color:var(--green-deep)}.v43-answer ul{padding-left:20px}.v43-answer li{margin:7px 0}.v43-answer .v43-alert{margin-top:14px;border-left:4px solid var(--amber);background:var(--amber-soft);padding:12px 14px;border-radius:10px;color:var(--ink)}
.v43-whatif-actions{margin-top:16px}.v43-student-focus,.v43-student-class-qcm{margin:24px 0;padding:22px;border:1px solid var(--line);border-radius:20px;background:var(--paper-card)}.v43-day-card{display:grid;grid-template-columns:1fr auto;gap:16px;align-items:center;background:linear-gradient(135deg,var(--green-deep),#356f54);color:#fff;border-radius:17px;padding:18px}.v43-day-card strong{display:block;font-family:'Playfair Display',serif;font-size:1.35rem}.v43-day-card span{display:block;opacity:.8;font-size:.75rem;margin-top:3px}.v43-day-actions{display:flex;gap:8px;flex-wrap:wrap}.v43-day-actions button{border:1px solid rgba(255,255,255,.35);background:#fff;color:var(--green-deep);border-radius:999px;padding:8px 11px;font:inherit;font-size:.72rem;font-weight:800;cursor:pointer}.v43-weak-points{min-width:180px;font-size:.7rem;color:var(--ink-soft)}.v43-weak-points strong{display:block;color:var(--ink);margin-bottom:5px}.v43-weak-points span{display:inline-flex;border:1px solid var(--line);background:var(--paper-card);border-radius:999px;padding:5px 8px;margin:2px}
.editorial-history{border:1px solid var(--line);border-radius:16px;background:var(--paper-card);padding:16px 18px;margin:18px 0}.editorial-history summary{cursor:pointer;font-weight:800;color:var(--green-deep)}.editorial-history ul{margin-top:12px;padding-left:18px}.editorial-history li{margin:7px 0;color:var(--ink-soft);font-size:.78rem}
/* Hero plus calme */#home-view .hero-intro{box-shadow:0 20px 45px -38px rgba(31,77,56,.5)}#home-view .home-actions-grid{align-items:stretch}.home-action{min-height:132px}.home-action small{line-height:1.4}.card,.home-action,.student-tool-card{transition:transform .16s ease,border-color .16s ease,box-shadow .16s ease}.card:hover{border-color:rgba(47,107,79,.28)}
/* navigation active */.top-nav-link{position:relative}.top-nav-link.active{color:var(--green-deep);font-weight:800}.top-nav-link.active::after{content:"";position:absolute;left:8px;right:8px;bottom:-9px;height:2px;border-radius:2px;background:var(--green)}
/* Mode étudiant distinct sans rupture de charte */#quiz-view .student-hero-v29{border-top:4px solid var(--amber)}#quiz-view .student-kicker{color:var(--amber-soft-text-strong)}
/* hiérarchie alertes */.sev-tag.mild{background:var(--green-soft);color:var(--green-deep)}.sev-tag.watch{background:var(--amber-soft);color:var(--amber-soft-text-strong)}.sev-tag.urgent{background:var(--brick-soft);color:var(--brick)}
/* États vides */.v43-empty-state{border:1px dashed var(--line);background:var(--paper-card);border-radius:16px;padding:20px;text-align:center;color:var(--ink-soft);font-size:.8rem}
@media(max-width:1150px){.v43-module-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.v43-result-grid,.v43-class-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:760px){.v43-section-head{align-items:flex-start;flex-direction:column}.v43-section-head p{text-align:left}.v43-module-grid,.v43-result-grid,.v43-class-grid,.v43-two-col,.v43-check-grid{grid-template-columns:1fr}.v43-compare-table{grid-template-columns:110px 1fr 1fr}.v43-compare-cell{padding:10px 8px;font-size:.7rem}.v43-day-card{grid-template-columns:1fr}.top-nav-link.active::after{display:none}}



/* MonMédoc v45 — micro-polish visuel */
:root{
  --card-radius:18px;
  --surface-shadow:0 12px 34px -28px rgba(28,43,34,.38);
  --surface-shadow-hover:0 18px 42px -28px rgba(31,77,56,.38);
}
.hero .search-box,
section.card,.card,.result-card,.home-action,.student-mode-card{
  box-shadow:var(--surface-shadow);
}
section.card,.card{
  border-color:color-mix(in srgb,var(--line) 78%,transparent);
}
section.card h2,.card h2{
  letter-spacing:-.01em;
  margin-bottom:14px;
}
.result-card{
  border-radius:15px;
  border-color:color-mix(in srgb,var(--line) 76%,transparent);
  transition:transform .16s ease,border-color .16s ease,box-shadow .16s ease,background .16s ease;
}
.result-card:hover{
  transform:translateY(-2px);
  border-color:color-mix(in srgb,var(--green) 32%,var(--line));
  box-shadow:var(--surface-shadow-hover);
}
.result-name{letter-spacing:-.01em;}
.search-match-hint{
  display:inline-flex;
  align-items:center;
  gap:5px;
  margin-top:5px;
  padding:3px 8px;
  border-radius:999px;
  background:var(--green-soft);
  color:var(--green-deep);
  font-size:.68rem;
  font-weight:750;
  width:max-content;
}
.search-brand-line{
  color:var(--ink-soft);
  font-size:.78rem;
  margin-top:3px;
}
.home-action{
  transition:transform .16s ease,box-shadow .16s ease,border-color .16s ease;
}
.home-action:hover{transform:translateY(-2px);box-shadow:var(--surface-shadow-hover);}
.detail[style*="display: block"], .detail[style*="display:block"]{animation:v45ViewIn .2s ease both;}
@keyframes v45ViewIn{from{opacity:.25;transform:translateY(5px)}to{opacity:1;transform:none}}
@media (prefers-reduced-motion:reduce){
  .detail,.result-card,.home-action{animation:none!important;transition:none!important;transform:none!important;}
}
.data-about-hero{
  border:1px solid color-mix(in srgb,var(--green) 18%,var(--line));
  background:linear-gradient(145deg,var(--paper-card),color-mix(in srgb,var(--green-soft) 58%,var(--paper-card)));
  border-radius:22px;
  padding:28px;
  margin:8px 0 20px;
  box-shadow:var(--surface-shadow);
}
.data-about-hero h1{margin:4px 0 8px;font-size:clamp(2rem,5vw,3rem);}
.data-about-hero p{max-width:70ch;color:var(--ink-soft);}
.data-stats-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:12px;
  margin:18px 0 24px;
}
.data-stat{
  background:var(--paper-card);
  border:1px solid color-mix(in srgb,var(--line) 80%,transparent);
  border-radius:16px;
  padding:18px;
  box-shadow:var(--surface-shadow);
}
.data-stat strong{display:block;font-family:'Playfair Display',serif;font-size:1.7rem;color:var(--green-deep);line-height:1.05;}
.data-stat span{display:block;color:var(--ink-soft);font-size:.78rem;margin-top:5px;}
.data-method-list{display:grid;gap:10px;}
.data-method-item{
  display:grid;
  grid-template-columns:34px 1fr;
  gap:12px;
  align-items:start;
  padding:12px 0;
  border-bottom:1px solid color-mix(in srgb,var(--line) 75%,transparent);
}
.data-method-item:last-child{border-bottom:0;}
.data-method-num{
  width:30px;height:30px;border-radius:9px;background:var(--green-soft);color:var(--green-deep);
  display:flex;align-items:center;justify-content:center;font-weight:800;font-size:.76rem;
}
.data-source-links{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px;}
.data-source-pill{display:inline-flex;padding:8px 11px;border:1px solid var(--line);border-radius:999px;font-size:.77rem;color:var(--ink-soft);background:var(--paper-card);}
.data-disclaimer{
  border-left:3px solid var(--amber);
  background:var(--amber-soft);
  padding:14px 16px;
  border-radius:0 14px 14px 0;
  color:var(--ink);
}
.footer-data-link{cursor:pointer;text-decoration:underline;text-underline-offset:3px;}
@media(max-width:680px){
  .data-stats-grid{grid-template-columns:1fr;}
  .data-about-hero{padding:22px 18px;}
}


.v43-class-card,.v43-result-card{font:inherit;color:inherit;text-align:left;width:100%;appearance:none;-webkit-appearance:none}
.v43-class-qcm-note{display:inline-flex;align-items:center;padding:9px 12px;border:1px solid var(--line);border-radius:999px;color:var(--ink-soft);font-size:.76rem;background:var(--paper-card)}


/* MonMédoc v47 — finition visuelle uniquement */
:root{
  --v47-radius-xl:28px;
  --v47-radius-lg:22px;
  --v47-shadow:0 18px 48px -34px rgba(28,43,34,.34);
  --v47-shadow-hover:0 24px 56px -34px rgba(31,77,56,.42);
}

/* Navigation plus nette */
header{backdrop-filter:saturate(135%) blur(12px);}
.nav-shell{
  padding:10px 12px;
  border-radius:22px;
  background:color-mix(in srgb,var(--paper-card) 88%,transparent);
  box-shadow:0 16px 42px -34px rgba(28,43,34,.32);
}
.top-nav-links{gap:18px !important;}
.top-nav-link{font-size:.88rem;letter-spacing:-.01em;}
.top-nav-link::after{bottom:-7px;height:2px;}
.logo-mark{border-radius:12px;box-shadow:none;}
.top-nav-cta{box-shadow:0 10px 24px -18px rgba(31,77,56,.5);}

/* Accueil : plus éditorial, moins "grille d'app" */
#home-view .hero{padding-top:60px;}
#home-view .hero-intro{
  border-radius:var(--v47-radius-xl);
  padding:48px 48px 42px;
  background:
    linear-gradient(135deg,color-mix(in srgb,var(--green-soft) 52%,var(--paper-card)) 0%,var(--paper-card) 60%,color-mix(in srgb,var(--amber-soft) 16%,var(--paper-card)) 100%);
  box-shadow:var(--v47-shadow);
}
#home-view .hero-intro::before{height:3px;opacity:.8;}
#home-view .hero-intro .eyebrow{font-size:.74rem;letter-spacing:.09em;}
#home-view .hero-intro h1{
  font-size:clamp(3.4rem,5vw,5rem) !important;
  line-height:.98 !important;
  max-width:900px !important;
  letter-spacing:-.052em !important;
}
#home-view .hero-intro .hero-sub{font-size:1.04rem !important;max-width:700px !important;}
#home-view .hero-intro .trust-strip{gap:10px;}
#home-view .hero-intro .trust-strip-item{font-size:.78rem;}
#home-view .hero-intro .search-box{
  min-height:66px;
  border-radius:20px;
  box-shadow:0 18px 44px -34px rgba(31,77,56,.48);
  transition:border-color .18s ease,box-shadow .18s ease,transform .18s ease;
}
#home-view .hero-intro .search-box:focus-within{
  border-color:color-mix(in srgb,var(--green) 44%,var(--line));
  box-shadow:0 24px 52px -34px rgba(31,77,56,.55);
  transform:translateY(-1px);
}
.quick-chip{padding:7px 13px;border-color:color-mix(in srgb,var(--line) 86%,transparent);}

/* Actions principales : vraie hiérarchie */
.home-actions{margin-top:34px;}
.home-actions-title{font-size:1.3rem;margin-bottom:15px;letter-spacing:-.025em;}
.home-actions-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;}
.home-action{
  position:relative;
  overflow:hidden;
  min-height:144px;
  border-radius:var(--v47-radius-lg);
  padding:20px;
  box-shadow:0 10px 28px -26px rgba(28,43,34,.3);
  transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease,background .18s ease;
}
.home-action::after{
  content:"";position:absolute;inset:auto -36px -44px auto;width:100px;height:100px;border-radius:50%;
  background:color-mix(in srgb,var(--green-soft) 72%,transparent);opacity:.55;pointer-events:none;
}
.home-action:hover{transform:translateY(-3px);box-shadow:var(--v47-shadow-hover);background:color-mix(in srgb,var(--paper-card) 94%,var(--green-soft));}
.home-action-icon{
  width:38px;height:38px;border-radius:12px;display:grid;place-items:center;font-size:1.2rem;
  margin-bottom:17px;background:var(--green-soft);border:1px solid color-mix(in srgb,var(--green) 16%,var(--line));
}
.home-action strong{font-family:'Playfair Display',serif;font-size:1rem;line-height:1.2;}
.home-action small{font-size:.76rem;line-height:1.48;margin-top:7px;max-width:29ch;}

/* Nouveaux outils : plus calme et cohérent */
.v43-module-section{margin-top:42px;}
.v43-section-head{margin-bottom:16px;}
.v43-section-head h2{font-size:1.55rem;letter-spacing:-.03em;}
.v43-module-grid{grid-template-columns:repeat(5,minmax(0,1fr));gap:12px;}
.v43-module-card{
  min-height:170px;border-radius:20px;padding:20px;
  box-shadow:0 10px 28px -26px rgba(28,43,34,.28);
}
.v43-module-card:hover{box-shadow:var(--v47-shadow-hover);transform:translateY(-3px);}
.v43-line-icon{width:38px;height:38px;border-radius:12px;margin-bottom:18px;font-size:1.05rem;}
.v43-module-card strong{font-size:1.02rem;line-height:1.25;}
.v43-module-card small{font-size:.75rem;line-height:1.52;}

/* Cartes transversales */
.quick-pair-card,.pwa-home-card,.student-mode-card,.risk-card,.interaction-result-card,.result-card,section.card{
  border-color:color-mix(in srgb,var(--line) 86%,transparent);
  box-shadow:0 10px 28px -28px rgba(28,43,34,.26);
}
.quick-pair-card{border-radius:22px;padding:24px;}
.pwa-home-card{border-radius:20px;padding:20px;}
.result-card{border-radius:18px;padding:18px 20px;}
.result-card:hover{box-shadow:0 18px 36px -28px rgba(31,77,56,.45);}

/* Fiches médicaments : plus éditoriales */
.detail{padding-top:34px;}
.title-block{padding-bottom:22px;border-bottom:1px solid color-mix(in srgb,var(--line) 82%,transparent);margin-bottom:28px;}
.title-block h1{font-size:clamp(2.35rem,4vw,3.25rem);letter-spacing:-.035em;}
.title-block .sub{max-width:64ch;}
.badges{margin-bottom:22px;}
.badge{padding:7px 12px;font-size:.74rem;}
section.card{border-radius:22px;padding:30px 28px;margin-bottom:18px;}
section.card h2{font-size:1.18rem;margin-bottom:18px;letter-spacing:-.015em;}
section.card h2 .dot{width:7px;height:7px;box-shadow:0 0 0 4px color-mix(in srgb,var(--amber-soft) 82%,transparent);}
section.card p,section.card ul{font-size:.93rem;line-height:1.72;}
.fiche-utility-bar{gap:9px;margin:20px 0 26px;}
.fiche-utility-btn{padding:10px 16px;border-radius:12px;background:color-mix(in srgb,var(--paper-card) 94%,var(--paper));}
.pictogram{padding:8px 13px 8px 9px;font-size:.8rem;}

/* Mode étudiant : identité distincte mais sobre */
#quiz-view .title-block,#student-revision-view .title-block{border-bottom-color:color-mix(in srgb,var(--green) 20%,var(--line));}
.student-mode-card{
  border-radius:22px;padding:22px;
  background:linear-gradient(140deg,color-mix(in srgb,var(--green-soft) 72%,var(--paper-card)),var(--paper-card));
}
.student-theme-btn{padding:9px 13px;transition:transform .14s ease,border-color .14s ease,background .14s ease;}
.student-theme-btn:hover{transform:translateY(-1px);border-color:var(--green);}

/* Footer */
.site-footer{margin-top:76px;background:color-mix(in srgb,var(--paper-card) 92%,var(--paper));}
.footer-top{max-width:1100px;padding-top:54px;}
.footer-col-title{letter-spacing:.09em;}
.footer-link{transition:color .15s ease,transform .15s ease;}
.footer-link:hover{transform:translateX(2px);}

/* Mobile : garder une vraie version mobile, pas un desktop réduit */
@media(max-width:899px){
  #home-view .hero{padding-top:34px;}
  #home-view .hero-intro{padding:30px 22px 26px;border-radius:22px;}
  #home-view .hero-intro h1{font-size:clamp(2.55rem,12vw,3.55rem) !important;line-height:1.01 !important;}
  #home-view .hero-intro .hero-sub{font-size:.96rem !important;line-height:1.58 !important;}
  #home-view .hero-intro .search-box{min-height:58px;border-radius:17px;}
  .home-actions-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;}
  .home-action{min-height:128px;padding:16px;border-radius:18px;}
  .home-action-icon{width:34px;height:34px;margin-bottom:12px;}
  .v43-module-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;}
  .v43-module-card{min-height:150px;padding:16px;border-radius:18px;}
  section.card{padding:22px 18px;border-radius:18px;}
  .title-block h1{font-size:2.15rem;}
}
@media(max-width:560px){
  .home-actions-grid,.v43-module-grid{grid-template-columns:1fr;}
  .home-action,.v43-module-card{min-height:auto;}
  .home-action::after{display:none;}
  .hero-intro .trust-strip-dot{display:none;}
  .hero-intro .trust-strip{gap:6px 10px;}
}

html.dark-mode .nav-shell{background:color-mix(in srgb,var(--paper-card) 90%,transparent);}
html.dark-mode #home-view .hero-intro{background:linear-gradient(135deg,color-mix(in srgb,var(--green-soft) 42%,var(--paper-card)),var(--paper-card));}


/* v52 — hiérarchie visuelle plus nette */
:root{--v52-border:color-mix(in srgb,var(--line) 72%,transparent);--v52-shadow:0 18px 52px -38px rgba(22,55,39,.36);}
#home-view .hero-intro h1{max-width:850px;letter-spacing:-.035em;line-height:1.02;margin-bottom:14px;}
#home-view .hero-intro .sub{max-width:720px;font-size:1.04rem;line-height:1.7;color:var(--ink-soft);}
#home-view section.card,.detail section.card,.student-qcm-hub,.student-revision-hub,.student-advanced-qcm,.student-stats-panel,.student-training-section,.student-topic-section,.student-clinical-hub{border-color:var(--v52-border)!important;box-shadow:var(--v52-shadow)!important;}
.card h2,.student-section-title h2,.student-qcm-head h2,.student-clinical-head h2{letter-spacing:-.025em;line-height:1.15;}
.card p,.student-section-title p,.student-qcm-head p,.student-clinical-head p{line-height:1.65;}
.result-card{padding:16px 17px!important;border-color:var(--v52-border)!important;box-shadow:none!important;}
.result-card:hover{box-shadow:0 14px 34px -28px rgba(23,68,46,.55)!important;transform:translateY(-1px);}
.detail .title-block{margin-bottom:22px;}.detail .title-block h1{letter-spacing:-.035em;line-height:1.05;}.detail .title-block .sub{line-height:1.7;max-width:780px;}
.warn-box,.danger-box{border-width:1px!important;box-shadow:none!important;}
.brand-dci-helper{display:flex;flex-wrap:wrap;gap:7px 10px;align-items:center;margin:10px 2px 0;color:var(--ink-soft);font-size:.78rem;}
.brand-dci-helper>span:not(.brand-dci-label){padding:5px 9px;border:1px solid var(--v52-border);border-radius:999px;background:color-mix(in srgb,var(--paper-card) 92%,var(--green-pale));}
.brand-dci-helper b{color:var(--green-deep);font-weight:750}.brand-dci-label{font-weight:750;color:var(--ink);}
.search-query-bridge{margin:8px 2px 4px;padding:9px 12px;border-left:3px solid var(--green);background:color-mix(in srgb,var(--green-pale) 48%,transparent);border-radius:0 10px 10px 0;font-size:.82rem;color:var(--ink-soft);}
.search-query-bridge strong{color:var(--green-deep)}
.student-clinical-hub{margin-top:22px;padding:24px;border:1px solid var(--line);border-radius:22px;background:linear-gradient(145deg,var(--paper-card),color-mix(in srgb,var(--paper-card) 92%,var(--amber-pale)));}
.student-clinical-head{display:flex;justify-content:space-between;gap:20px;align-items:flex-start;margin-bottom:18px}.student-clinical-head h2{margin:4px 0 7px}.student-clinical-head p{margin:0;max-width:720px;color:var(--ink-soft)}
.student-clinical-badge{white-space:nowrap;font-size:.76rem;font-weight:750;padding:7px 10px;border-radius:999px;background:var(--amber-pale);color:var(--amber-soft-text-strong);}
.student-clinical-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.student-clinical-grid button{appearance:none;text-align:left;border:1px solid var(--v52-border);border-radius:16px;padding:16px;background:var(--paper-card);color:var(--ink);cursor:pointer;transition:.16s ease}.student-clinical-grid button:hover{transform:translateY(-2px);border-color:color-mix(in srgb,var(--amber) 52%,var(--line));box-shadow:0 14px 32px -27px rgba(85,63,20,.45)}.student-clinical-grid strong{display:block;font-size:.98rem;margin-bottom:6px}.student-clinical-grid span{font-size:.82rem;color:var(--ink-soft);line-height:1.45}
.clinical-case-shell{max-width:900px;margin:0 auto}.clinical-case-hero{border:1px solid var(--v52-border);border-radius:22px;padding:24px;background:linear-gradient(145deg,var(--paper-card),color-mix(in srgb,var(--paper-card) 90%,var(--amber-pale)));box-shadow:var(--v52-shadow)}.clinical-case-hero .eyebrow{color:var(--amber-soft-text-strong);font-weight:800;font-size:.75rem;text-transform:uppercase;letter-spacing:.07em}.clinical-case-hero h1{margin:6px 0 10px;font-size:clamp(1.7rem,4vw,2.45rem);letter-spacing:-.035em}.clinical-vignette{margin-top:16px;padding:17px 18px;border-radius:15px;background:var(--paper-card);border:1px solid var(--v52-border);line-height:1.65}.clinical-progress{display:flex;justify-content:space-between;margin:18px 2px 9px;font-size:.82rem;color:var(--ink-soft)}.clinical-question-card{border:1px solid var(--v52-border);border-radius:20px;padding:22px;background:var(--paper-card);box-shadow:var(--v52-shadow)}.clinical-question-card h3{font-size:1.08rem;line-height:1.48;margin:0 0 16px}.clinical-options{display:grid;gap:9px}.clinical-option{appearance:none;text-align:left;border:1px solid var(--v52-border);background:var(--paper-card);color:var(--ink);padding:13px 14px;border-radius:13px;cursor:pointer;transition:.14s ease}.clinical-option:hover{border-color:var(--green);background:color-mix(in srgb,var(--green-pale) 28%,var(--paper-card))}.clinical-option.selected{border-color:var(--green);box-shadow:0 0 0 2px color-mix(in srgb,var(--green) 18%,transparent)}.clinical-option.correct{border-color:#4b8b67;background:color-mix(in srgb,#dff3e7 68%,var(--paper-card))}.clinical-option.wrong{border-color:#b9685d;background:color-mix(in srgb,#f7e1dd 66%,var(--paper-card))}.clinical-feedback{margin-top:14px;padding:14px 15px;border-radius:13px;line-height:1.55;background:var(--green-pale);color:var(--ink)}.clinical-actions{margin-top:14px;display:flex;gap:9px;flex-wrap:wrap}.clinical-actions button{border:0;border-radius:12px;padding:11px 14px;font-weight:750;cursor:pointer}.clinical-primary{background:var(--green);color:white}.clinical-secondary{background:var(--paper-soft);color:var(--ink)}
@media(max-width:720px){.brand-dci-helper{font-size:.73rem}.brand-dci-label{width:100%}.student-clinical-grid{grid-template-columns:1fr}.student-clinical-head{display:block}.student-clinical-badge{display:inline-flex;margin-top:12px}.student-clinical-hub{padding:18px;border-radius:18px}.clinical-case-hero,.clinical-question-card{padding:18px;border-radius:17px}}


/* ===== MonMédoc v57 — navigation allégée + emphase du hero ===== */

/* Barre desktop : 5 destinations essentielles, le reste sous "Plus" */
@media (min-width:900px){
  .nav{max-width:1220px !important;}
  .nav-shell{
    flex-wrap:nowrap !important;
    min-height:68px;
    padding:10px 14px !important;
    column-gap:18px !important;
  }
  .brand-cluster{flex:0 0 auto !important;}
  .top-nav-links{
    order:initial !important;
    width:auto !important;
    flex:1 1 auto !important;
    justify-content:center !important;
    gap:8px !important;
  }
  .top-nav-links .top-nav-link{
    display:inline-flex !important;
    padding:10px 12px !important;
    font-size:.88rem !important;
    font-weight:600;
    border-radius:12px;
  }
  .top-nav-links .top-nav-link:hover{
    background:color-mix(in srgb,var(--green-soft) 78%,transparent);
  }
  .header-actions{
    flex:0 0 auto !important;
    margin-left:0 !important;
  }
  .top-nav-cta{display:none !important;}

  .menu-btn.menu-more-btn{
    width:auto !important;
    height:42px !important;
    padding:0 14px !important;
    gap:7px;
    border-radius:13px !important;
    border:1px solid color-mix(in srgb,var(--green) 18%,var(--line)) !important;
    background:var(--paper-card) !important;
    color:var(--green-deep);
    font:inherit;
    font-size:.86rem;
    font-weight:700;
    box-shadow:0 9px 22px -20px rgba(31,77,56,.52);
  }
  .menu-btn.menu-more-btn:hover{
    background:var(--green-soft) !important;
    border-color:color-mix(in srgb,var(--green) 30%,var(--line)) !important;
  }
  .menu-more-plus{
    width:20px;
    height:20px;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    border-radius:7px;
    background:var(--green-deep);
    color:#fff;
    font-size:1rem;
    line-height:1;
    font-weight:500;
  }
  .menu-more-label{display:inline;}
}

/* Mobile : bouton compact mais explicite */
@media (max-width:899px){
  .menu-btn.menu-more-btn{
    width:42px !important;
    height:42px !important;
    padding:0 !important;
    border-radius:13px !important;
  }
  .menu-more-label{display:none;}
  .menu-more-plus{
    width:auto;
    height:auto;
    background:transparent;
    color:var(--ink);
    font-size:1.55rem;
    font-weight:400;
  }
}

/* Le mot "enfin" devient un accent lisible, sans italique ni contraste faible */
#home-view .hero-intro h1 .hero-emphasis{
  display:inline-block;
  color:var(--green-deep);
  font-style:normal;
  font-weight:700;
  letter-spacing:-.045em;
  padding:0 .13em .045em;
  margin-left:-.04em;
  border-radius:.18em;
  background:
    linear-gradient(
      180deg,
      transparent 0 57%,
      color-mix(in srgb,var(--amber-soft) 78%,#fff) 57% 94%,
      transparent 94%
    );
  text-shadow:none;
}
html.dark-mode #home-view .hero-intro h1 .hero-emphasis{
  color:var(--ink);
  background:
    linear-gradient(
      180deg,
      transparent 0 57%,
      color-mix(in srgb,var(--amber) 32%,transparent) 57% 94%,
      transparent 94%
    );
}

/* Le reste du titre garde le même poids pour une lecture plus immédiate */
#home-view .hero-intro h1{
  color:var(--ink) !important;
  font-style:normal !important;
}


/* ===== MonMédoc v58 — correction typographique du hero ===== */
#home-view .hero-intro h1{
  color:var(--ink) !important;
}

#home-view .hero-intro h1 .hero-emphasis{
  display:inline !important;
  color:var(--green-deep) !important;
  background:none !important;
  padding:0 !important;
  margin:0 !important;
  border-radius:0 !important;
  font-style:italic !important;
  font-weight:inherit !important;

  /* Évite le chevauchement visuel f/i observé sur certains navigateurs */
  font-variant-ligatures:none !important;
  font-feature-settings:"liga" 0, "clig" 0 !important;
  letter-spacing:-.018em !important;
  text-shadow:none !important;
}

html.dark-mode #home-view .hero-intro h1 .hero-emphasis{
  color:var(--green) !important;
  background:none !important;
}


/* ===== MonMédoc v59 — correction définitive du couple f/i ===== */
#home-view .hero-intro h1 .hero-emphasis{
  font-variant-ligatures:none !important;
  font-feature-settings:"liga" 0, "clig" 0 !important;
  letter-spacing:.012em !important;
  font-style:oblique 10deg !important;
  word-spacing:.01em !important;
}


/* ===== MonMédoc v65 — glossaire contextuel + accessibilité ===== */

/* Glossaire contextuel */
.glossary-term{
  appearance:none;
  border:0;
  padding:0;
  margin:0;
  background:transparent;
  color:inherit;
  font:inherit;
  line-height:inherit;
  text-decoration-line: underline;
  text-decoration-style: dotted;
  text-decoration-thickness: .08em;
  text-underline-offset: .16em;
  text-decoration-color: color-mix(in srgb,var(--green) 60%,transparent);
  cursor:help;
}
.glossary-term:hover{
  color:var(--green-deep);
  text-decoration-style:solid;
}
.glossary-term:focus-visible{
  outline:3px solid color-mix(in srgb,var(--amber) 58%,transparent);
  outline-offset:3px;
  border-radius:4px;
}
.glossary-popover{
  position:fixed;
  z-index:99999;
  width:min(340px,calc(100vw - 28px));
  padding:14px 15px 13px;
  border-radius:14px;
  border:1px solid color-mix(in srgb,var(--green) 16%,var(--line));
  background:var(--paper-card);
  color:var(--ink);
  box-shadow:0 20px 50px rgba(28,51,38,.18);
  font-size:.92rem;
  line-height:1.5;
}
.glossary-popover[hidden]{display:none!important;}
.glossary-popover-title{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:12px;
  margin-bottom:6px;
  font-weight:800;
  color:var(--green-deep);
}
.glossary-popover-close{
  appearance:none;
  border:0;
  background:transparent;
  color:var(--muted);
  font:inherit;
  font-size:1.2rem;
  line-height:1;
  cursor:pointer;
  padding:0 2px;
}
.glossary-popover-close:focus-visible{
  outline:3px solid color-mix(in srgb,var(--amber) 58%,transparent);
  outline-offset:3px;
  border-radius:4px;
}

/* Accessibilité fonctionnelle sans modifier la typographie */
.skip-link{
  position:fixed;
  left:12px;
  top:10px;
  z-index:100000;
  transform:translateY(-160%);
  padding:10px 14px;
  border-radius:10px;
  background:var(--green-deep);
  color:#fff;
  font-weight:700;
  text-decoration:none;
  box-shadow:0 10px 30px rgba(0,0,0,.2);
}
.skip-link:focus{
  transform:none;
}

:where(
  button,
  [role="button"],
  a[href],
  input,
  select,
  textarea,
  .top-nav-link,
  .menu-item,
  .module-card,
  .tool-card,
  .med-card
):focus-visible{
  outline:3px solid color-mix(in srgb,var(--amber) 62%,transparent) !important;
  outline-offset:3px !important;
}

/* Zones tactiles minimales pour contrôles principaux */
button,
.menu-btn,
.top-nav-link,
.menu-item{
  min-height:44px;
}

/* Liens textuels : ne pas dépendre uniquement de la couleur */
main a:not(.btn):not(.button):not(.module-card){
  text-underline-offset:.16em;
}

/* Messages d'état accessibles */
.sr-only{
  position:absolute!important;
  width:1px!important;
  height:1px!important;
  padding:0!important;
  margin:-1px!important;
  overflow:hidden!important;
  clip:rect(0,0,0,0)!important;
  white-space:nowrap!important;
  border:0!important;
}

/* Réduction des mouvements si demandée par l'utilisateur */
@media (prefers-reduced-motion: reduce){
  *,*::before,*::after{
    scroll-behavior:auto!important;
    animation-duration:.01ms!important;
    animation-iteration-count:1!important;
    transition-duration:.01ms!important;
  }
}

/* Contraste renforcé demandé par le système */
@media (prefers-contrast: more){
  .card,.module-card,.tool-card,.med-card,.glossary-popover{
    border-color:color-mix(in srgb,var(--ink) 36%,var(--line))!important;
  }
  .muted,.subtle,.helper-text{
    color:color-mix(in srgb,var(--ink) 78%,transparent)!important;
  }
}


/* ===== MonMédoc — Compte local & profils ===== */
.account-header-btn{display:inline-flex;align-items:center;gap:8px;border:1px solid var(--line);background:var(--paper-card);color:var(--ink);border-radius:999px;padding:9px 13px;font:inherit;font-size:.78rem;font-weight:800;cursor:pointer;white-space:nowrap;transition:.16s ease}.account-header-btn:hover{border-color:var(--green);color:var(--green-deep);background:var(--green-soft)}.account-header-avatar{width:26px;height:26px;border-radius:9px;display:inline-flex;align-items:center;justify-content:center;background:var(--green-soft);color:var(--green-deep);font-size:.82rem;font-weight:850}.account-header-btn.is-guest .account-header-avatar{background:var(--paper);color:var(--ink-soft)}
.account-profile-overlay{position:fixed;inset:0;z-index:500;background:rgba(12,25,18,.62);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);display:none;align-items:center;justify-content:center;padding:22px}.account-profile-overlay.show{display:flex}.account-profile-panel{width:min(980px,100%);max-height:min(88vh,760px);overflow:auto;border:1px solid color-mix(in srgb,var(--line) 78%,transparent);background:var(--paper);border-radius:28px;box-shadow:0 34px 90px -34px rgba(0,0,0,.55);padding:32px}.account-profile-top{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;margin-bottom:24px}.account-profile-top h2{font-family:'Playfair Display',serif;font-size:clamp(1.8rem,4vw,2.7rem);margin:0 0 5px}.account-profile-top p{color:var(--ink-soft);margin:0}.account-close{width:40px;height:40px;border-radius:50%;border:1px solid var(--line);background:var(--paper-card);color:var(--ink);font-size:1.1rem;cursor:pointer}.account-profile-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}.account-profile-card{border:1px solid var(--line);background:var(--paper-card);border-radius:20px;padding:20px 16px;text-align:center;cursor:pointer;transition:.17s ease;min-height:170px;color:var(--ink)}.account-profile-card:hover{transform:translateY(-3px);border-color:var(--green);box-shadow:0 18px 35px -28px rgba(31,77,56,.5)}.account-profile-card.active{border-color:var(--green);box-shadow:0 0 0 3px rgba(47,107,79,.08)}.account-profile-avatar{width:72px;height:72px;border-radius:22px;margin:0 auto 14px;display:flex;align-items:center;justify-content:center;font-size:1.65rem;font-weight:850;background:var(--green-soft);color:var(--green-deep)}.account-profile-card[data-kind="student"] .account-profile-avatar{background:var(--amber-soft);color:var(--amber-soft-text-strong)}.account-profile-card[data-kind="pregnancy"] .account-profile-avatar{background:color-mix(in srgb,#A16D82 12%,var(--paper-card));color:#8B5B70}.account-profile-card[data-kind="relative"] .account-profile-avatar{background:color-mix(in srgb,#607C70 14%,var(--paper-card));color:#456356}.account-profile-card strong{display:block;font-size:.94rem}.account-profile-card span{display:block;color:var(--ink-soft);font-size:.72rem;margin-top:4px}.account-profile-card.add{border-style:dashed;background:transparent}.account-profile-card.add .account-profile-avatar{background:var(--paper-card);border:1px dashed var(--line);color:var(--ink-soft)}
.account-auth-card{max-width:520px;margin:0 auto;border:1px solid var(--line);background:var(--paper-card);border-radius:22px;padding:24px}.account-auth-card h3{font-family:'Playfair Display',serif;font-size:1.4rem;margin-bottom:6px}.account-auth-card p{font-size:.82rem;color:var(--ink-soft);line-height:1.55;margin-bottom:16px}.account-auth-grid{display:grid;gap:11px}.account-auth-grid label{font-size:.76rem;font-weight:800;color:var(--ink)}.account-auth-grid input,.account-auth-grid select{width:100%;margin-top:6px;border:1px solid var(--line);background:var(--paper);color:var(--ink);border-radius:13px;padding:12px 13px;font:inherit}.account-primary{border:0;background:var(--green-deep);color:#fff;border-radius:13px;padding:12px 16px;font:inherit;font-weight:800;cursor:pointer}.account-secondary{border:1px solid var(--line);background:var(--paper-card);color:var(--ink);border-radius:13px;padding:11px 14px;font:inherit;font-weight:750;cursor:pointer}.account-auth-actions{display:flex;gap:9px;flex-wrap:wrap;margin-top:6px}.account-local-note{margin-top:13px;padding:11px 12px;border-radius:12px;background:var(--amber-soft);color:var(--ink-soft);font-size:.72rem;line-height:1.45}
#account-view{display:none;padding-top:34px;padding-bottom:60px}.account-hero{display:flex;align-items:center;justify-content:space-between;gap:22px;border:1px solid var(--line);border-radius:24px;padding:26px;background:linear-gradient(135deg,var(--paper-card),var(--green-soft));margin-bottom:18px}.account-hero-copy{display:flex;gap:17px;align-items:center}.account-hero-avatar{width:68px;height:68px;border-radius:20px;background:var(--green-deep);color:#fff;display:flex;align-items:center;justify-content:center;font-size:1.5rem;font-weight:850;flex:0 0 auto}.account-hero h1{font-size:clamp(1.8rem,4vw,2.7rem);margin:0 0 4px}.account-hero p{color:var(--ink-soft);margin:0;font-size:.84rem}.account-hero-actions{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}.account-dashboard-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:16px 0 24px}.account-stat-card{border:1px solid var(--line);background:var(--paper-card);border-radius:18px;padding:17px}.account-stat-card strong{display:block;font-family:'Playfair Display',serif;font-size:1.6rem;color:var(--green-deep)}.account-stat-card span{display:block;font-size:.72rem;color:var(--ink-soft);margin-top:3px}.account-section{border:1px solid var(--line);background:var(--paper-card);border-radius:20px;padding:21px;margin-bottom:14px}.account-section-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:13px}.account-section-head h2{font-size:1.05rem;margin:0}.account-section-head button{border:0;background:transparent;color:var(--green-deep);font:inherit;font-size:.76rem;font-weight:800;cursor:pointer}.account-chip-row{display:flex;gap:8px;flex-wrap:wrap}.account-chip{border:1px solid var(--line);background:var(--paper);color:var(--ink);border-radius:999px;padding:8px 12px;font:inherit;font-size:.78rem;font-weight:700;cursor:pointer}.account-empty{color:var(--ink-soft);font-size:.82rem;padding:8px 0}.account-continue-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.account-continue-card{border:1px solid var(--line);background:var(--paper);border-radius:15px;padding:14px;text-align:left;color:var(--ink);cursor:pointer}.account-continue-card strong{display:block;font-size:.85rem}.account-continue-card small{display:block;color:var(--ink-soft);font-size:.7rem;margin-top:4px}.account-profile-badge{display:inline-flex;align-items:center;gap:6px;border:1px solid var(--green-soft-border);background:var(--green-soft);color:var(--green-deep);border-radius:999px;padding:6px 10px;font-size:.7rem;font-weight:800;margin-bottom:8px}
@media(max-width:900px){.account-profile-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.account-dashboard-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.account-continue-grid{grid-template-columns:1fr}.account-hero{align-items:flex-start;flex-direction:column}.account-hero-actions{justify-content:flex-start}.account-header-btn .account-header-label{display:none}.account-header-btn{padding:8px}}
@media(max-width:560px){.account-profile-overlay{padding:10px}.account-profile-panel{padding:20px;border-radius:22px}.account-profile-grid{grid-template-columns:1fr 1fr;gap:9px}.account-profile-card{min-height:145px;padding:15px 10px}.account-profile-avatar{width:58px;height:58px;border-radius:17px}.account-dashboard-grid{grid-template-columns:1fr 1fr}.account-hero-copy{align-items:flex-start}.account-hero-avatar{width:56px;height:56px;border-radius:17px}.account-auth-actions{flex-direction:column}.account-auth-actions>*{width:100%}}


/* ===== MonMédoc — finition visuelle compte & profils ===== */
.account-profile-overlay{background:radial-gradient(circle at 18% 10%, rgba(214,168,58,.16), transparent 24rem), rgba(9,20,14,.68)}
.account-profile-panel{background:linear-gradient(180deg,color-mix(in srgb,var(--paper) 96%,transparent),color-mix(in srgb,var(--paper-card) 92%,transparent));overflow:hidden}
.account-profile-panel::before{content:"";display:block;height:4px;margin:-32px -32px 26px;border-radius:28px 28px 0 0;background:linear-gradient(90deg,var(--green-deep) 0 68%, var(--amber) 68% 84%, rgba(255,255,255,.2) 84%)}
.account-profile-top{margin-bottom:18px}
.account-profile-top p{max-width:62ch;line-height:1.6}
.account-selector-shell{display:grid;grid-template-columns:minmax(260px,320px) minmax(0,1fr);gap:18px;align-items:start}
.account-selector-side,.account-selector-main,.account-auth-card.premium{border:1px solid color-mix(in srgb,var(--green) 10%,var(--line));border-radius:24px;box-shadow:0 18px 46px -34px rgba(17,50,35,.32)}
.account-selector-side{padding:22px;background:linear-gradient(155deg,#173224,#244734);color:#f4f7f5;position:sticky;top:0}
.account-selector-kicker{display:inline-flex;align-items:center;gap:7px;border-radius:999px;padding:7px 10px;background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.12);font-size:.72rem;font-weight:800;color:#fff;margin-bottom:14px;backdrop-filter:blur(6px)}
.account-selector-kicker::before{content:"";width:7px;height:7px;border-radius:50%;background:var(--amber)}
.account-selector-side h3{font-family:'Playfair Display',serif;font-size:1.52rem;line-height:1.08;margin:0 0 9px;color:#fff}
.account-selector-side p{margin:0;color:rgba(255,255,255,.78);font-size:.84rem;line-height:1.6}
.account-selector-pills{display:flex;flex-wrap:wrap;gap:8px;margin-top:16px}
.account-selector-pill{display:inline-flex;align-items:center;gap:8px;padding:8px 10px;border-radius:999px;background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.12);font-size:.74rem;font-weight:750;color:rgba(255,255,255,.78)}
.account-selector-pill strong{color:#fff;font-weight:800}
.account-selector-main{padding:18px;background:linear-gradient(180deg,color-mix(in srgb,var(--paper-card) 98%,transparent),color-mix(in srgb,var(--green-soft) 12%,var(--paper-card)))}
.account-profile-grid{gap:12px}
.account-profile-card{position:relative;text-align:left;padding:18px;display:flex;flex-direction:column;align-items:flex-start;justify-content:flex-start;min-height:198px;background:linear-gradient(165deg,#fefefe,color-mix(in srgb,var(--green-soft) 18%,var(--paper-card)));border-color:color-mix(in srgb,var(--green) 9%,var(--line));box-shadow:0 18px 38px -28px rgba(8,28,19,.35)}
.account-profile-card::before{content:"";position:absolute;inset:0 auto 0 0;width:4px;border-radius:20px 0 0 20px;background:var(--green);opacity:.78}
.account-profile-card[data-kind="student"]::before{background:var(--amber)}
.account-profile-card[data-kind="pregnancy"]::before{background:#A16D82}
.account-profile-card[data-kind="relative"]::before{background:#607C70}
.account-profile-card:hover{transform:translateY(-5px) scale(1.015);box-shadow:0 30px 52px -30px rgba(8,28,19,.42)}
.account-profile-card.active{background:linear-gradient(165deg,color-mix(in srgb,var(--green-soft) 68%,#fff),var(--paper-card));border-color:color-mix(in srgb,var(--green) 38%,var(--line));box-shadow:0 0 0 4px rgba(47,107,79,.08),0 28px 48px -32px rgba(8,28,19,.46)}
.account-profile-card.add{justify-content:center;align-items:center;text-align:center;background:transparent;border-style:dashed}
.account-profile-card.add::before{display:none}
.account-profile-status{display:inline-flex;align-items:center;gap:6px;min-height:24px;padding:4px 8px;border-radius:999px;background:var(--green-soft);color:var(--green-deep);font-size:.68rem;font-weight:850;letter-spacing:.02em;margin-bottom:12px}
.account-profile-status::before{content:"";width:7px;height:7px;border-radius:50%;background:var(--green)}
.account-profile-status.is-idle{visibility:hidden}
.account-profile-avatar{margin:0 0 14px;width:74px;height:74px;border-radius:24px;box-shadow:inset 0 0 0 1px rgba(47,107,79,.08),0 12px 24px -18px rgba(31,77,56,.4)}
.account-profile-card strong{font-size:1rem;line-height:1.2;letter-spacing:-.01em}
.account-profile-role{display:block;color:var(--green-deep);font-size:.74rem;font-weight:800;margin-top:6px}
.account-profile-hint{display:block;color:var(--ink-soft);font-size:.74rem;line-height:1.45;margin-top:9px;max-width:22ch}
.account-selector-actions{display:flex;gap:9px;flex-wrap:wrap;justify-content:center;margin-top:18px}
.account-auth-card.premium{max-width:none;padding:24px;background:linear-gradient(160deg,var(--paper-card),color-mix(in srgb,var(--green-soft) 18%,var(--paper-card)))}
.account-auth-card.premium h3{font-size:1.65rem}
.account-auth-card.premium .account-local-note{margin-top:16px}
.account-auth-grid .account-primary{margin-top:4px}
@media(max-width:900px){.account-selector-shell{grid-template-columns:1fr}.account-selector-side{position:relative}.account-profile-panel::before{margin:-20px -20px 20px}}
.account-profile-edit-action{margin-top:auto;padding-top:12px;font-size:.72rem;font-weight:850;color:var(--green-deep);text-decoration:underline;text-underline-offset:3px;cursor:pointer}.account-profile-card:hover .account-profile-edit-action{color:var(--green-deep)}
@media(max-width:560px){.account-profile-card{min-height:180px;padding:15px 13px}.account-profile-card strong{font-size:.93rem}.account-profile-role{font-size:.71rem}.account-profile-hint{font-size:.7rem}.account-selector-side,.account-selector-main,.account-auth-card.premium{border-radius:20px}.account-selector-actions{flex-direction:column}.account-selector-actions>*{width:100%}.account-profile-status{margin-bottom:10px}.account-profile-status.is-idle{display:none}.account-profile-grid{grid-template-columns:1fr 1fr}.account-profile-card.add{min-height:120px}}


.cloud-auth-tabs{display:flex;gap:8px;margin-bottom:16px;padding:5px;background:var(--paper);border:1px solid var(--line);border-radius:14px}.cloud-auth-tab{flex:1;border:0;background:transparent;color:var(--ink-soft);border-radius:10px;padding:10px 12px;font:inherit;font-size:.78rem;font-weight:800;cursor:pointer}.cloud-auth-tab.active{background:var(--paper-card);color:var(--green-deep);box-shadow:0 5px 14px -12px rgba(28,43,34,.35)}.cloud-auth-status{margin-top:12px;min-height:20px;font-size:.76rem;line-height:1.45;color:var(--ink-soft)}.cloud-auth-status.error{color:var(--brick)}.cloud-auth-status.success{color:var(--green-deep)}.cloud-sync-badge{display:inline-flex;align-items:center;gap:6px;padding:6px 10px;border:1px solid var(--green-soft-border);background:var(--green-soft);color:var(--green-deep);border-radius:999px;font-size:.69rem;font-weight:800}.cloud-sync-badge.local{background:var(--amber-soft);border-color:var(--amber-soft-border);color:var(--amber-soft-text-strong)}.cloud-sync-badge::before{content:"";width:7px;height:7px;border-radius:50%;background:currentColor;opacity:.75}.cloud-account-row{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-top:14px;padding-top:14px;border-top:1px solid var(--line)}.cloud-account-row small{color:var(--ink-soft);font-size:.72rem}.cloud-config-warning{margin:0 0 14px;padding:11px 12px;border:1px solid var(--amber-soft-border);background:var(--amber-soft);border-radius:12px;color:var(--ink-soft);font-size:.74rem;line-height:1.5}


/* ===== MonMédoc — mise en avant du compte ===== */
.account-header-btn{position:relative;isolation:isolate;overflow:hidden;gap:10px;min-height:52px;padding:9px 14px 9px 10px;border:1px solid color-mix(in srgb,var(--green) 26%,var(--line));background:linear-gradient(135deg,color-mix(in srgb,var(--green-soft) 82%,var(--paper-card)),var(--paper-card));box-shadow:0 14px 28px -22px rgba(13,45,30,.48),inset 0 1px 0 rgba(255,255,255,.45)}
.account-header-btn:hover{transform:translateY(-1px);border-color:color-mix(in srgb,var(--green) 48%,var(--line));background:linear-gradient(135deg,color-mix(in srgb,var(--green-soft) 95%,var(--paper-card)),color-mix(in srgb,var(--green-soft) 36%,var(--paper-card)));box-shadow:0 20px 34px -24px rgba(13,45,30,.55),inset 0 1px 0 rgba(255,255,255,.55)}
.account-header-btn.is-guest{border-color:color-mix(in srgb,var(--green) 18%,var(--line))}
.account-header-btn.has-cloud{background:linear-gradient(135deg,color-mix(in srgb,var(--green-soft) 78%,var(--paper-card)),color-mix(in srgb,var(--amber-soft) 55%,var(--paper-card)))}
.account-header-btn.has-cloud .account-header-kicker{color:var(--green-deep)}
.account-header-btn.has-cloud .account-header-avatar{background:linear-gradient(135deg,var(--green-deep),color-mix(in srgb,var(--green-deep) 65%,#fff));color:#fff;border-color:rgba(255,255,255,.26)}
.account-header-shine{position:absolute;inset:-25% auto auto -18%;width:46px;height:140%;transform:rotate(23deg);background:linear-gradient(180deg,rgba(255,255,255,.5),rgba(255,255,255,0));opacity:.55;pointer-events:none;z-index:-1}
.account-header-avatar{width:34px;height:34px;border-radius:12px;flex:0 0 auto;background:linear-gradient(135deg,var(--green-soft),color-mix(in srgb,var(--green-soft) 45%,#fff));border:1px solid rgba(47,107,79,.12);font-size:.92rem;box-shadow:inset 0 1px 0 rgba(255,255,255,.45)}
.account-header-copy{display:flex;flex-direction:column;align-items:flex-start;line-height:1.05;min-width:0}
.account-header-kicker{display:block;max-width:15ch;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:.61rem;font-weight:900;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-soft)}
.account-header-label{display:block;max-width:13ch;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:.84rem;font-weight:850;color:var(--ink)}
.account-header-chevron{font-size:1.15rem;line-height:1;color:var(--ink-soft);margin-left:2px}
.account-header-btn.is-guest .account-header-kicker{color:var(--green-deep)}
.account-header-btn.is-guest .account-header-label{color:var(--ink)}
@media(max-width:1100px){.account-header-kicker{max-width:11ch}}
@media(max-width:900px){.account-header-btn{min-height:44px;padding:8px 10px}.account-header-copy{display:none}.account-header-chevron{display:none}.account-header-avatar{width:32px;height:32px}}


/* ===== MonMédoc — dashboard premium ===== */
#account-view{position:relative}
#account-view::before{content:"";position:absolute;inset:0 auto auto 50%;transform:translateX(-50%);width:100vw;height:285px;background:linear-gradient(180deg,#10271d 0%,#173a2a 62%,transparent 100%);z-index:-1;pointer-events:none}
#account-view .back-link{color:rgba(255,255,255,.82);font-weight:750;margin-bottom:18px}
.account-hero{position:relative;overflow:hidden;min-height:190px;border:1px solid rgba(255,255,255,.08);border-radius:30px;padding:30px;background:radial-gradient(circle at 82% 20%,rgba(214,168,58,.18),transparent 18rem),linear-gradient(135deg,#173a2a,#244d39 68%,#1a3026);box-shadow:0 30px 70px -42px rgba(0,0,0,.65);color:#fff}
.account-hero::after{content:"";position:absolute;right:-70px;bottom:-115px;width:250px;height:250px;border-radius:50%;border:1px solid rgba(255,255,255,.1);box-shadow:0 0 0 38px rgba(255,255,255,.025),0 0 0 76px rgba(255,255,255,.018)}
.account-hero-copy{position:relative;z-index:1;align-items:center}
.account-hero-avatar{width:82px;height:82px;border-radius:24px;background:linear-gradient(145deg,#fff,rgba(255,255,255,.8));color:#163626;border:1px solid rgba(255,255,255,.48);box-shadow:0 20px 34px -24px rgba(0,0,0,.7);font-size:1.8rem}
.account-hero h1{font-size:clamp(2rem,4.4vw,3.1rem);letter-spacing:-.035em;color:#fff}
.account-hero p{color:rgba(255,255,255,.78);font-size:.88rem;line-height:1.55;max-width:64ch}
.account-profile-badge{background:rgba(255,255,255,.1);border-color:rgba(255,255,255,.13);color:#fff;backdrop-filter:blur(7px)}
.account-hero-actions{position:relative;z-index:1}
.account-hero .account-secondary{background:rgba(255,255,255,.09);border-color:rgba(255,255,255,.16);color:#fff;backdrop-filter:blur(8px)}
.account-hero .account-secondary:hover{background:rgba(255,255,255,.16);border-color:rgba(255,255,255,.24)}
.account-dashboard-grid{gap:14px;margin-top:20px}
.account-stat-card{position:relative;overflow:hidden;min-height:114px;border-radius:21px;padding:20px;background:linear-gradient(160deg,#fff,color-mix(in srgb,var(--green-soft) 20%,var(--paper-card)));border-color:color-mix(in srgb,var(--green) 10%,var(--line));box-shadow:0 18px 36px -30px rgba(12,42,28,.34)}
.account-stat-card::before{content:"";position:absolute;inset:0 0 auto 0;height:3px;background:linear-gradient(90deg,var(--green),var(--amber))}
.account-stat-card strong{font-size:2rem;letter-spacing:-.035em}
.account-stat-card span{font-size:.74rem;line-height:1.4;margin-top:7px}
.account-section{border-radius:24px;padding:23px;background:linear-gradient(180deg,var(--paper-card),color-mix(in srgb,var(--green-soft) 9%,var(--paper-card)));border-color:color-mix(in srgb,var(--green) 8%,var(--line));box-shadow:0 20px 42px -34px rgba(12,42,28,.26)}
.account-section-head{margin-bottom:16px}
.account-section-head h2{font-family:'Playfair Display',serif;font-size:1.28rem;letter-spacing:-.015em}
.account-section-head button{padding:8px 10px;border-radius:10px;background:var(--green-soft);color:var(--green-deep)}
.account-continue-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
.account-continue-card{position:relative;overflow:hidden;min-height:150px;border-radius:20px;padding:18px;display:flex;flex-direction:column;justify-content:flex-end;background:linear-gradient(155deg,#173a2a,#28543f);border-color:rgba(255,255,255,.08);color:#fff;box-shadow:0 22px 40px -30px rgba(0,0,0,.55);transition:.2s ease}
.account-continue-card::before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 90% 12%,rgba(214,168,58,.25),transparent 35%);pointer-events:none}
.account-continue-card::after{content:"›";position:absolute;right:16px;top:14px;width:30px;height:30px;border-radius:50%;display:grid;place-items:center;background:rgba(255,255,255,.1);font-size:1.2rem}
.account-continue-card:hover{transform:translateY(-5px) scale(1.012);box-shadow:0 30px 50px -28px rgba(0,0,0,.58)}
.account-continue-card strong{position:relative;z-index:1;font-size:1rem;color:#fff}
.account-continue-card small{position:relative;z-index:1;color:rgba(255,255,255,.7);font-size:.72rem;margin-top:6px}
.account-chip-row{gap:10px}
.account-chip{position:relative;border-radius:14px;padding:10px 13px;background:#fff;border-color:color-mix(in srgb,var(--green) 9%,var(--line));box-shadow:0 10px 22px -20px rgba(12,42,28,.35);transition:.16s ease}
.account-chip:hover{transform:translateY(-2px);border-color:color-mix(in srgb,var(--green) 28%,var(--line));background:var(--green-soft)}
.account-empty{width:100%;border:1px dashed var(--line);border-radius:16px;padding:16px;background:color-mix(in srgb,var(--paper) 75%,transparent)}
@media(max-width:900px){.account-hero{min-height:auto}.account-continue-grid{grid-template-columns:1fr 1fr}}
@media(max-width:640px){#account-view::before{height:350px}.account-hero{padding:22px;border-radius:24px}.account-hero-avatar{width:64px;height:64px;border-radius:20px}.account-dashboard-grid{grid-template-columns:1fr 1fr}.account-stat-card{min-height:98px;padding:16px}.account-stat-card strong{font-size:1.7rem}.account-continue-grid{grid-template-columns:1fr}.account-continue-card{min-height:128px}.account-section{padding:18px;border-radius:20px}}


.account-profile-editor-clear{max-width:860px}.profile-editor-intro{margin-bottom:18px}.profile-kind-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:2px}.profile-kind-card{position:relative;display:grid;grid-template-columns:auto 1fr auto;gap:12px;align-items:flex-start;text-align:left;width:100%;border:1px solid var(--line);background:var(--paper);color:var(--ink);border-radius:18px;padding:16px;cursor:pointer;transition:.16s ease}.profile-kind-card:hover{border-color:var(--green);transform:translateY(-2px);box-shadow:0 16px 30px -26px rgba(31,77,56,.45)}.profile-kind-card.selected{border-color:var(--green);background:linear-gradient(145deg,var(--green-soft),var(--paper-card));box-shadow:0 0 0 3px rgba(47,107,79,.08)}.profile-kind-icon{width:44px;height:44px;border-radius:14px;background:var(--paper-card);border:1px solid var(--line);display:flex;align-items:center;justify-content:center;font-weight:850;color:var(--green-deep);font-size:1rem}.profile-kind-card[data-kind="student"] .profile-kind-icon{background:var(--amber-soft);color:var(--amber-soft-text-strong)}.profile-kind-card[data-kind="pregnancy"] .profile-kind-icon{background:color-mix(in srgb,#A16D82 13%,var(--paper-card));color:#8B5B70}.profile-kind-card[data-kind="relative"] .profile-kind-icon{background:color-mix(in srgb,#607C70 14%,var(--paper-card));color:#456356}.profile-kind-copy{display:flex;flex-direction:column;gap:4px}.profile-kind-copy strong{font-size:.95rem}.profile-kind-copy small{font-size:.74rem;line-height:1.42;color:var(--ink-soft)}.profile-kind-copy .profile-kind-kicker{font-weight:800;color:var(--green-deep)}.profile-kind-check{width:24px;height:24px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:var(--green-deep);color:#fff;font-size:.72rem;font-weight:900;opacity:0;transform:scale(.8);transition:.16s ease}.profile-kind-card.selected .profile-kind-check{opacity:1;transform:scale(1)}.profile-kind-explainer{display:flex;gap:9px;align-items:flex-start;margin-top:2px;padding:12px 14px;border-radius:14px;background:var(--green-soft);border:1px solid var(--green-soft-border);font-size:.76rem;line-height:1.45}.profile-kind-explainer strong{color:var(--green-deep);white-space:nowrap}.profile-kind-explainer span{color:var(--ink-soft)}@media(max-width:650px){.profile-kind-grid{grid-template-columns:1fr}.profile-kind-card{padding:14px}.profile-kind-explainer{display:block}.profile-kind-explainer strong{display:block;margin-bottom:3px}}


/* ===== Compte & profils — premium v2 ===== */
.account-profile-overlay{background:radial-gradient(circle at 12% 6%,rgba(214,168,58,.22),transparent 28rem),radial-gradient(circle at 88% 90%,rgba(47,107,79,.2),transparent 30rem),rgba(5,14,9,.78);backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px)}
.account-profile-panel{width:min(1080px,100%);max-height:min(91vh,820px);border-radius:32px;border:1px solid rgba(255,255,255,.16);background:linear-gradient(180deg,color-mix(in srgb,var(--paper) 98%,transparent),color-mix(in srgb,var(--paper-card) 94%,transparent));box-shadow:0 50px 120px -48px rgba(0,0,0,.8),0 0 0 1px rgba(255,255,255,.03);padding:34px}
.account-profile-panel::before{height:5px;background:linear-gradient(90deg,#173a2a 0 60%,#d6a83a 60% 77%,#a16d82 77% 89%,#607c70 89%);box-shadow:0 8px 24px rgba(214,168,58,.12)}
.account-close{transition:.18s ease}.account-close:hover{transform:rotate(4deg) scale(1.06);border-color:var(--green);background:var(--green-soft)}
.account-selector-shell{grid-template-columns:minmax(280px,340px) minmax(0,1fr);gap:20px}
.account-selector-side{min-height:100%;border-radius:26px;background:radial-gradient(circle at 80% 10%,rgba(214,168,58,.22),transparent 16rem),linear-gradient(150deg,#102c1f,#1d4732 58%,#173627);padding:26px;box-shadow:0 28px 58px -40px rgba(0,0,0,.7)}
.account-selector-side h3{font-size:1.82rem;letter-spacing:-.025em}.account-selector-side p{font-size:.86rem}
.account-selector-main{border-radius:26px;padding:20px;background:linear-gradient(180deg,#fff,color-mix(in srgb,var(--green-soft) 12%,#fff))}
.account-profile-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.account-profile-card{min-height:210px;border-radius:22px;padding:19px;background:linear-gradient(165deg,#fff 0%,#fbfcfb 58%,color-mix(in srgb,var(--green-soft) 20%,#fff));box-shadow:0 18px 36px -30px rgba(5,31,18,.48);transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease}
.account-profile-card:hover{transform:translateY(-5px) scale(1.012);box-shadow:0 30px 54px -34px rgba(5,31,18,.5)}
.account-profile-avatar{width:78px;height:78px;border-radius:25px}
.account-profile-status{box-shadow:inset 0 0 0 1px rgba(255,255,255,.5)}
.account-selector-actions{padding-top:4px;border-top:1px solid color-mix(in srgb,var(--line) 70%,transparent)}
.account-primary,.account-secondary{transition:.17s ease}.account-primary:hover{transform:translateY(-1px);filter:brightness(1.04);box-shadow:0 14px 28px -20px rgba(20,67,45,.55)}.account-secondary:hover{transform:translateY(-1px);border-color:color-mix(in srgb,var(--green) 30%,var(--line))}

/* Auth */
.cloud-auth-premium{max-width:720px!important;padding:28px!important;border-radius:28px!important;background:radial-gradient(circle at 90% 0,rgba(214,168,58,.12),transparent 18rem),linear-gradient(165deg,#fff,color-mix(in srgb,var(--green-soft) 14%,#fff))!important;box-shadow:0 34px 72px -48px rgba(10,43,28,.48)!important}
.cloud-auth-brand{display:flex;align-items:center;gap:12px;margin-bottom:18px}.cloud-auth-mark{width:44px;height:44px;border-radius:15px;display:grid;place-items:center;background:linear-gradient(145deg,#173a2a,#2f6b4f);color:#fff;font-family:'Playfair Display',serif;font-size:1.25rem;font-weight:800;box-shadow:0 16px 28px -20px rgba(0,0,0,.65)}.cloud-auth-brand div{display:flex;flex-direction:column;gap:2px}.cloud-auth-brand span:not(.cloud-auth-mark){font-size:.66rem;font-weight:900;letter-spacing:.12em;text-transform:uppercase;color:var(--green-deep)}.cloud-auth-brand strong{font-family:'Playfair Display',serif;font-size:1.15rem;color:var(--ink)}
.cloud-auth-tabs{padding:5px;border-radius:16px;background:color-mix(in srgb,var(--green-soft) 35%,var(--paper));border-color:color-mix(in srgb,var(--green) 10%,var(--line))}.cloud-auth-tab{padding:11px 14px}.cloud-auth-tab.active{box-shadow:0 10px 22px -18px rgba(15,54,35,.45)}
.cloud-auth-premium .account-auth-grid>label{padding:11px 12px 12px;border:1px solid color-mix(in srgb,var(--green) 8%,var(--line));border-radius:15px;background:rgba(255,255,255,.72)}.cloud-auth-premium .account-auth-grid input{margin-top:7px;background:#fff}.cloud-auth-submit{min-height:48px;border-radius:15px;font-size:.86rem;margin-top:5px}.cloud-privacy-note{display:flex!important;align-items:flex-start;gap:9px;background:color-mix(in srgb,var(--green-soft) 56%,#fff)!important;border:1px solid var(--green-soft-border)}.cloud-privacy-note strong{color:var(--green-deep);white-space:nowrap}.cloud-privacy-note span{line-height:1.45}
.cloud-purpose-wrap{display:grid;gap:10px;margin-top:2px}.cloud-purpose-head{display:flex;align-items:flex-end;justify-content:space-between;gap:10px}.cloud-purpose-head strong{font-size:.79rem}.cloud-purpose-head span{font-size:.68rem;color:var(--ink-soft);text-align:right}.cloud-purpose-grid{display:grid;grid-template-columns:1fr 1fr;gap:9px}.cloud-purpose-card{position:relative;display:grid;grid-template-columns:auto 1fr auto;gap:10px;align-items:start;text-align:left;border:1px solid color-mix(in srgb,var(--green) 8%,var(--line));background:#fff;border-radius:16px;padding:12px;cursor:pointer;color:var(--ink);transition:.16s ease}.cloud-purpose-card:hover{transform:translateY(-2px);border-color:color-mix(in srgb,var(--green) 32%,var(--line));box-shadow:0 16px 26px -24px rgba(12,42,28,.42)}.cloud-purpose-card.selected{border-color:var(--green);background:linear-gradient(145deg,var(--green-soft),#fff);box-shadow:0 0 0 3px rgba(47,107,79,.07)}.cloud-purpose-icon{width:38px;height:38px;border-radius:12px;display:grid;place-items:center;background:var(--green-soft);font-weight:900;color:var(--green-deep)}.cloud-purpose-copy{display:flex;flex-direction:column;gap:2px}.cloud-purpose-copy strong{font-size:.78rem}.cloud-purpose-copy small{font-size:.66rem;font-weight:800;color:var(--green-deep)}.cloud-purpose-copy em{font-style:normal;font-size:.66rem;line-height:1.35;color:var(--ink-soft)}.cloud-purpose-check{width:21px;height:21px;border-radius:50%;display:grid;place-items:center;background:var(--green-deep);color:#fff;font-size:.64rem;font-weight:900;opacity:0;transform:scale(.75);transition:.16s}.cloud-purpose-card.selected .cloud-purpose-check{opacity:1;transform:scale(1)}.cloud-purpose-note{display:flex;gap:8px;align-items:flex-start;padding:10px 12px;border-radius:13px;background:var(--paper);border:1px solid var(--line);font-size:.7rem}.cloud-purpose-note strong{color:var(--green-deep);white-space:nowrap}.cloud-purpose-note span{color:var(--ink-soft);line-height:1.4}

/* Profile editor */
.account-profile-editor-clear{max-width:900px!important;padding:28px!important;border-radius:28px!important;background:radial-gradient(circle at 94% 4%,rgba(214,168,58,.11),transparent 18rem),linear-gradient(170deg,#fff,color-mix(in srgb,var(--green-soft) 10%,#fff))!important}.profile-editor-intro{padding:14px 16px;border-radius:16px;background:var(--paper);border:1px solid var(--line);line-height:1.55!important}.profile-kind-card{border-radius:20px;padding:17px;background:#fff;box-shadow:0 14px 28px -26px rgba(9,38,24,.38)}.profile-kind-card.selected{background:linear-gradient(145deg,color-mix(in srgb,var(--green-soft) 84%,#fff),#fff)}.profile-kind-icon{width:48px;height:48px;border-radius:15px}.profile-kind-explainer{border-radius:16px;padding:13px 15px}

/* Dashboard */
#account-view{position:relative}.account-hero{border-radius:30px;padding:30px;background:radial-gradient(circle at 84% 18%,rgba(214,168,58,.28),transparent 20rem),linear-gradient(135deg,#102f20,#1d4a33 65%,#163426);box-shadow:0 36px 76px -48px rgba(0,0,0,.72)}.account-hero-avatar{width:88px;height:88px;border-radius:27px}.account-dashboard-grid{gap:15px}.account-stat-card{border-radius:23px;min-height:122px}.account-stat-card strong{font-size:2.15rem}.account-section{border-radius:26px}.account-continue-card{border-radius:22px;min-height:162px}.account-chip{border-radius:15px;padding:10px 14px}
@media(max-width:760px){.account-profile-panel{padding:20px;border-radius:24px}.account-selector-shell{grid-template-columns:1fr}.account-selector-side{min-height:auto}.account-profile-grid{grid-template-columns:1fr 1fr}.cloud-purpose-grid{grid-template-columns:1fr}.cloud-purpose-head{display:block}.cloud-purpose-head span{display:block;text-align:left;margin-top:3px}.cloud-auth-premium{padding:20px!important}.account-profile-editor-clear{padding:20px!important}}
@media(max-width:520px){.account-profile-grid{grid-template-columns:1fr}.account-profile-card{min-height:auto}.cloud-auth-brand{margin-bottom:14px}.account-dashboard-grid{grid-template-columns:1fr 1fr}.account-hero{padding:22px}.account-hero-avatar{width:66px;height:66px;border-radius:20px}}


.account-smart-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.account-smart-card{position:relative;overflow:hidden;border:1px solid color-mix(in srgb,var(--green) 12%,var(--line));background:linear-gradient(145deg,#fff,color-mix(in srgb,var(--green-soft) 15%,var(--paper-card)));border-radius:22px;padding:18px;text-align:left;color:var(--ink);cursor:pointer;min-height:148px;transition:.18s ease;box-shadow:0 18px 36px -32px rgba(12,42,28,.36)}
.account-smart-card:hover{transform:translateY(-4px);border-color:color-mix(in srgb,var(--green) 35%,var(--line));box-shadow:0 26px 44px -30px rgba(12,42,28,.46)}
.account-smart-card::after{content:"›";position:absolute;right:16px;bottom:14px;font-size:1.35rem;color:var(--green-deep);opacity:.65}
.account-smart-icon{width:43px;height:43px;border-radius:14px;display:grid;place-items:center;background:var(--green-soft);color:var(--green-deep);font-weight:900;margin-bottom:13px}
.account-smart-card strong{display:block;font-size:.92rem;margin-bottom:6px}.account-smart-card small{display:block;color:var(--ink-soft);font-size:.73rem;line-height:1.48;max-width:27ch}
.account-smart-card.student{background:linear-gradient(145deg,#fff,color-mix(in srgb,var(--amber-soft) 40%,#fff))}.account-smart-card.student .account-smart-icon{background:var(--amber-soft);color:var(--amber-soft-text-strong)}
.account-smart-card.pregnancy{background:linear-gradient(145deg,#fff,color-mix(in srgb,#A16D82 8%,#fff))}.account-smart-card.pregnancy .account-smart-icon{background:color-mix(in srgb,#A16D82 14%,#fff);color:#87566c}
.account-security-box{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:16px;align-items:center;padding:18px;border:1px solid color-mix(in srgb,var(--green) 10%,var(--line));border-radius:20px;background:linear-gradient(135deg,var(--paper),color-mix(in srgb,var(--green-soft) 20%,var(--paper-card)))}
.account-security-main{display:flex;align-items:center;gap:13px}.account-security-icon{width:46px;height:46px;border-radius:15px;display:grid;place-items:center;background:#173b29;color:#fff;font-weight:900}.account-security-copy strong{display:block;font-size:.86rem}.account-security-copy span{display:block;margin-top:3px;color:var(--ink-soft);font-size:.72rem;line-height:1.4}
.account-security-badges{display:flex;gap:7px;flex-wrap:wrap;margin-top:9px}.account-security-badge{display:inline-flex;align-items:center;gap:6px;padding:6px 9px;border-radius:999px;border:1px solid var(--line);background:#fff;font-size:.66rem;font-weight:800;color:var(--ink-soft)}.account-security-badge.good{background:var(--green-soft);border-color:var(--green-soft-border);color:var(--green-deep)}.account-security-badge.warn{background:var(--amber-soft);border-color:var(--amber-soft-border);color:var(--amber-soft-text-strong)}
.account-settings-shell{display:grid;grid-template-columns:250px minmax(0,1fr);gap:18px}.account-settings-side{padding:22px;border-radius:24px;background:linear-gradient(150deg,#123223,#214b35);color:#fff}.account-settings-side .account-selector-kicker{margin-bottom:16px}.account-settings-side h3{font-family:'Playfair Display',serif;font-size:1.6rem;line-height:1.1;margin:0 0 9px}.account-settings-side p{margin:0;color:rgba(255,255,255,.78);font-size:.78rem;line-height:1.55}.account-settings-email{margin-top:16px;padding:10px 12px;border-radius:13px;background:rgba(255,255,255,.1);font-size:.7rem;word-break:break-word}
.account-settings-main{display:grid;gap:12px}.account-setting-card{border:1px solid var(--line);border-radius:20px;padding:18px;background:var(--paper-card)}.account-setting-card h4{margin:0 0 5px;font-size:.92rem}.account-setting-card p{margin:0 0 12px;color:var(--ink-soft);font-size:.73rem;line-height:1.5}.account-setting-row{display:flex;gap:9px;align-items:end;flex-wrap:wrap}.account-setting-row label{flex:1;min-width:210px;font-size:.72rem;font-weight:800}.account-setting-row input{width:100%;margin-top:6px;border:1px solid var(--line);background:var(--paper);border-radius:12px;padding:11px 12px;font:inherit;color:var(--ink)}
.account-danger-card{border-color:color-mix(in srgb,var(--brick) 35%,var(--line));background:color-mix(in srgb,var(--brick) 4%,var(--paper-card))}.account-danger-btn{border:1px solid color-mix(in srgb,var(--brick) 45%,var(--line));background:transparent;color:var(--brick);border-radius:12px;padding:10px 13px;font:inherit;font-weight:800;cursor:pointer}.account-danger-confirm{margin-top:10px;display:none}.account-danger-confirm.show{display:block}.account-settings-status{font-size:.72rem;line-height:1.45;min-height:18px;color:var(--ink-soft)}.account-settings-status.success{color:var(--green-deep)}.account-settings-status.error{color:var(--brick)}
.account-recovery-card{max-width:520px;margin:0 auto;border:1px solid var(--line);background:linear-gradient(145deg,var(--paper-card),var(--green-soft));border-radius:24px;padding:24px}.account-recovery-card h3{font-family:'Playfair Display',serif;font-size:1.5rem;margin:0 0 8px}.account-recovery-card p{color:var(--ink-soft);font-size:.78rem;line-height:1.55;margin:0 0 14px}.account-recovery-card input{width:100%;border:1px solid var(--line);border-radius:13px;padding:12px 13px;font:inherit;margin:6px 0 10px;background:#fff}
.cloud-auth-helper{display:flex;justify-content:flex-end;margin-top:-3px}.cloud-auth-link{border:0;background:transparent;color:var(--green-deep);font:inherit;font-size:.7rem;font-weight:800;cursor:pointer;padding:3px 0}
.account-stat-card.is-muted{opacity:.62}.account-stat-card.is-highlight{background:linear-gradient(145deg,var(--green-soft),#fff);border-color:color-mix(in srgb,var(--green) 22%,var(--line))}
@media(max-width:900px){.account-smart-grid{grid-template-columns:1fr 1fr}.account-settings-shell{grid-template-columns:1fr}.account-security-box{grid-template-columns:1fr}.account-security-box>.account-secondary{justify-self:start}}
@media(max-width:560px){.account-smart-grid{grid-template-columns:1fr}.account-setting-row{display:grid}.account-setting-row label{min-width:0}.account-settings-side{padding:18px;border-radius:20px}}


/* ===== Mobile scroll stability — account, auth and long pages ===== */
@media (max-width: 899px){
  html{
    scroll-behavior:auto;
    -webkit-text-size-adjust:100%;
  }
  body{
    min-height:100%;
    overflow-x:hidden;
    overscroll-behavior-y:auto;
    -webkit-overflow-scrolling:touch;
  }
  main,
  .container,
  .view,
  #account-view{
    max-width:100%;
    min-width:0;
  }

  /* The overlay itself is the only scroll container on mobile. */
  .account-profile-overlay,
  .account-profile-overlay.show{
    align-items:flex-start !important;
    justify-content:flex-start !important;
    overflow-x:hidden !important;
    overflow-y:auto !important;
    overscroll-behavior:contain;
    -webkit-overflow-scrolling:touch;
    height:100dvh;
    min-height:100dvh;
    padding:env(safe-area-inset-top, 0px) 10px calc(16px + env(safe-area-inset-bottom, 0px)) !important;
    box-sizing:border-box;
  }
  .account-profile-panel,
  .account-profile-editor-clear{
    width:100% !important;
    max-width:100% !important;
    max-height:none !important;
    min-height:auto !important;
    overflow:visible !important;
    margin:10px auto 24px !important;
    box-sizing:border-box;
  }
  .account-profile-panel::before{
    margin-left:-20px !important;
    margin-right:-20px !important;
  }
  .account-selector-shell,
  .account-settings-shell{
    display:block !important;
    width:100%;
  }
  .account-selector-side,
  .account-settings-side{
    position:relative !important;
    top:auto !important;
    min-height:0 !important;
    margin-bottom:14px;
  }
  .account-selector-main,
  .account-auth-card,
  .cloud-auth-premium,
  .account-recovery-card,
  .account-setting-card{
    max-width:100% !important;
    min-width:0 !important;
    box-sizing:border-box;
  }

  /* iOS Safari zooming form fields can make the modal appear to jump/freeze. */
  .account-profile-overlay input,
  .account-profile-overlay select,
  .account-profile-overlay textarea,
  .account-profile-overlay button,
  .account-profile-overlay .account-primary,
  .account-profile-overlay .account-secondary{
    font-size:16px;
  }
  .account-profile-overlay input,
  .account-profile-overlay select,
  .account-profile-overlay textarea{
    touch-action:manipulation;
  }

  /* Dashboard cards must never create horizontal scrolling. */
  .account-hero,
  .account-section,
  .account-security-box,
  .account-smart-grid,
  .account-dashboard-grid,
  .account-continue-grid{
    min-width:0;
    max-width:100%;
  }
  .account-hero-copy,
  .account-security-main,
  .account-security-copy,
  .account-section-head{
    min-width:0;
  }
  .account-hero h1,
  .account-hero p,
  .account-section,
  .account-smart-card,
  .account-profile-card,
  .account-security-copy span{
    overflow-wrap:anywhere;
  }
}

@media (max-width: 560px){
  .account-profile-overlay,
  .account-profile-overlay.show{
    padding-left:6px !important;
    padding-right:6px !important;
  }
  .account-profile-panel,
  .account-profile-editor-clear{
    border-radius:20px !important;
    padding:18px !important;
    margin-top:6px !important;
  }
  .account-profile-panel::before{
    margin-top:-18px !important;
    margin-left:-18px !important;
    margin-right:-18px !important;
  }
  .account-profile-top{
    gap:10px;
  }
  .account-profile-top h2{
    font-size:1.65rem;
    line-height:1.08;
  }
  .account-close{
    flex:0 0 44px;
    position:sticky;
    top:6px;
    z-index:4;
  }
  .account-auth-grid,
  .cloud-purpose-wrap,
  .account-settings-main{
    min-width:0;
  }
  .account-auth-grid label,
  .account-setting-row label{
    min-width:0 !important;
    width:100%;
  }
  .account-auth-grid input,
  .account-auth-grid select,
  .account-setting-row input{
    width:100%;
    max-width:100%;
    box-sizing:border-box;
  }
  .account-hero-actions,
  .account-auth-actions,
  .account-selector-actions{
    width:100%;
  }
  .account-hero-actions > *,
  .account-auth-actions > *,
  .account-selector-actions > *{
    max-width:100%;
  }
}


.mm-health-consent{margin:14px 0 4px;padding:14px 15px;border:1px solid rgba(29,73,53,.16);border-radius:14px;background:rgba(245,241,228,.75);text-align:left}.mm-health-consent label{display:flex;gap:10px;align-items:flex-start;font-size:.78rem;line-height:1.45;color:#46584f;cursor:pointer}.mm-health-consent input{width:18px;height:18px;min-width:18px;margin-top:2px;accent-color:var(--green-deep)}.mm-health-consent strong{color:var(--green-deep)}.mm-health-consent .cloud-auth-link{margin:10px 0 0 28px}@media(max-width:700px){.mm-health-consent{padding:13px}.mm-health-consent label{font-size:.82rem}.mm-health-consent .cloud-auth-link{margin-left:28px}}


.interaction-source-note{
  margin-top:10px;padding-top:9px;border-top:1px dashed color-mix(in srgb,var(--line) 86%,transparent);
  font-size:.72rem;line-height:1.45;color:var(--ink-soft);font-weight:650
}
.interaction-stats small{display:inline-block;margin-top:3px;font-weight:500;line-height:1.35}
@media (max-width:899px){
  html,body{max-width:100%;overflow-x:hidden!important}
  body{min-height:100dvh!important;position:relative}
  .wrap,.detail,main,section,.card,.results,.result-card,.interaction-result-card,
  #home-view,#detail-view,#list-view,#interactions-view,#carnet-view,#grossesse-view,
  #student-view,#account-view,#adverse-view,#faq-view,#contact-view,#mentions-view{
    min-width:0!important;max-width:100%!important;box-sizing:border-box
  }
  img,svg,video,canvas{max-width:100%;height:auto}
  .menu-dropdown{height:100dvh!important;max-height:100dvh!important;padding-bottom:env(safe-area-inset-bottom,0px)}
  .interaction-entry-row{align-items:stretch}
  #interaction-search-results{
    max-height:min(42dvh,360px);overflow-y:auto;-webkit-overflow-scrolling:touch;overscroll-behavior:contain
  }
  .interaction-search-item{width:100%;min-width:0;gap:10px;text-align:left}
  .interaction-search-item>span:first-child{min-width:0;overflow-wrap:anywhere}
  .interaction-tool-row{align-items:flex-start}
  .interaction-stats{width:100%;line-height:1.4}
  .interaction-result-card,.interaction-summary-item{overflow-wrap:anywhere}
  .interaction-pair-names{overflow-wrap:anywhere}
  .warn-box{min-width:0}
  .warn-box p{min-width:0;overflow-wrap:anywhere}
  .account-profile-overlay.show{touch-action:pan-y}
  .account-profile-panel{overscroll-behavior:contain}
  input,select,textarea{font-size:16px!important;max-width:100%;box-sizing:border-box}
  button,[role="button"],.top-nav-link,.menu-item{touch-action:manipulation}
  .bottom-nav{padding-bottom:max(env(safe-area-inset-bottom,0px),4px)}
  .detail,#home-view,#account-view{padding-bottom:calc(92px + env(safe-area-inset-bottom,0px))}
}
@media (max-width:560px){
  .interaction-entry-row{display:grid!important;grid-template-columns:1fr!important}
  .interaction-add-btn{width:100%}
  .interaction-tool-actions{width:100%;display:grid;grid-template-columns:1fr}
  .interaction-mini-btn{width:100%;min-height:44px}
  .interaction-summary{grid-template-columns:1fr!important}
  .account-profile-grid{grid-template-columns:1fr 1fr!important}
  .account-profile-card{min-width:0!important}
}
@media (max-width:360px){
  .account-profile-grid{grid-template-columns:1fr!important}
}

/* MonMédoc — interactions audit v1 */
.interaction-action-note{margin-top:10px;padding:10px 12px;border-radius:12px;background:color-mix(in srgb,var(--paper-card) 80%,transparent);border:1px solid var(--line);font-size:.88rem;line-height:1.45;color:var(--ink)}
.interaction-action-note strong{color:var(--green-deep)}


.fiche-standard-nav{display:flex;gap:8px;flex-wrap:wrap;margin:18px 0 8px}
.fiche-standard-nav button,.fiche-inline-action{border:1px solid var(--line);background:var(--surface,#fff);color:var(--green-deep);border-radius:999px;padding:9px 13px;font:inherit;font-size:.86rem;cursor:pointer}
.fiche-standard-nav button:hover,.fiche-inline-action:hover{border-color:var(--green);background:var(--green-soft)}
.fiche-standard-card{scroll-margin-top:92px}
.fiche-section-intro{margin-bottom:12px;color:var(--ink-soft)}
.fiche-section-note{margin-top:12px;font-size:.88rem;color:var(--ink-soft);line-height:1.5}
.fiche-interaction-list{display:grid;gap:10px;margin:12px 0}
.fiche-interaction-row{border:1px solid var(--line);border-radius:14px;padding:12px 14px;background:color-mix(in srgb,var(--green-soft) 36%,transparent)}
.fiche-interaction-row strong{display:block;color:var(--ink);margin-bottom:4px}
.fiche-interaction-row span{display:inline-block;font-size:.78rem;font-weight:700;color:var(--green-deep);margin-bottom:5px}
.fiche-interaction-row p{margin:0;font-size:.9rem;line-height:1.5;color:var(--ink-soft)}
.fiche-vigilance-summary{margin-bottom:12px}.fiche-vigilance-summary p{margin:5px 0 0;color:var(--ink-soft)}
.fiche-pregnancy-box{padding:13px 14px;border-radius:14px;background:var(--green-soft);border:1px solid var(--green-soft-border);line-height:1.5}
.fiche-pregnancy-box.pregnancy-caution{background:var(--amber-soft);border-color:var(--amber-soft-border)}
.fiche-pregnancy-box.pregnancy-no{background:var(--brick-soft);border-color:var(--brick-soft-border)}
.fiche-practical-sub{margin-top:14px;padding-top:14px;border-top:1px solid var(--line)}
.fiche-practical-sub p{margin:6px 0 0}
.fiche-brand-list{display:flex;flex-wrap:wrap;gap:8px;margin-top:6px}
.fiche-brand-list span{display:inline-flex;padding:8px 11px;border-radius:999px;background:var(--green-soft);border:1px solid var(--green-soft-border);color:var(--green-deep);font-size:.86rem;font-weight:600}
@media(max-width:640px){.fiche-standard-nav{overflow-x:auto;flex-wrap:nowrap;padding-bottom:4px;scrollbar-width:none}.fiche-standard-nav::-webkit-scrollbar{display:none}.fiche-standard-nav button{white-space:nowrap;min-height:42px}.fiche-interaction-row{padding:11px 12px}}


/* ==========================================================
   MonMédoc — unified scrolling model (desktop + mobile)
   One page scroll container: the document. Fixed overlays
   scroll internally only while they are open.
   ========================================================== */
html{
  height:auto !important;
  min-height:100%;
  max-width:100%;
  overflow-x:hidden !important;
  overflow-y:scroll !important;
  scroll-behavior:auto !important;
  scrollbar-gutter:stable;
  -webkit-text-size-adjust:100%;
}
body{
  height:auto !important;
  min-height:100% !important;
  max-width:100%;
  overflow-x:hidden !important;
  overflow-y:visible !important;
  position:static !important;
  overscroll-behavior-y:auto !important;
  touch-action:pan-y pinch-zoom;
  -webkit-overflow-scrolling:auto;
  background-attachment:scroll !important;
}

/* Normal pages must never become secondary scrolling containers. */
main,.wrap,.detail,.view,
#home-view,#list-view,#detail-view,#interactions-view,#carnet-view,#suggest-view,
#quiz-view,#contact-view,#mentions-view,#grossesse-view,#faq-view,#adverse-view,
#pharmacie-garde-view,#compare-view,#classes-view,#whatif-hub-view,
#before-take-view,#data-about-view,#account-view{
  height:auto !important;
  max-height:none !important;
  min-width:0;
  overflow-x:visible;
  overflow-y:visible;
}

/* Prevent accidental horizontal page scrolling from long labels/cards. */
img,svg,video,canvas{max-width:100%;height:auto;}
.card,.result-card,.interaction-result-card,.warn-box,.account-section,.account-hero,
.account-smart-card,.account-profile-card,.home-action,.module-card,.tool-card{
  min-width:0;
  max-width:100%;
  box-sizing:border-box;
}
.interaction-pair-names,.interaction-result-card,.warn-box p,.account-security-copy,
.account-security-copy span,.account-profile-card,.account-smart-card{
  overflow-wrap:anywhere;
}

/* Drawer: it is allowed to scroll independently because it is a fixed overlay. */
.menu-dropdown{
  height:100dvh !important;
  max-height:100dvh !important;
  overflow-x:hidden !important;
  overflow-y:auto !important;
  overscroll-behavior:contain;
  -webkit-overflow-scrolling:touch;
}

/* Account overlay: only overlay scrolls; panel itself stays in normal flow. */
.account-profile-overlay.show{
  overflow-x:hidden !important;
  overflow-y:auto !important;
  overscroll-behavior:contain !important;
  -webkit-overflow-scrolling:touch;
  touch-action:pan-y pinch-zoom;
}
.account-profile-panel,
.account-profile-editor-clear,
.account-selector-shell,
.account-settings-shell{
  max-height:none !important;
  overflow:visible !important;
}

/* Progress bar updates with transform rather than width: less layout work on scroll. */
.reading-progress-bar{
  width:100% !important;
  transform:scaleX(0);
  transform-origin:left center;
  transition:none !important;
  will-change:transform;
  contain:paint;
}

/* iOS/Safari and lower-end mobile devices: fixed translucent blur layers can
   trigger expensive full-screen repainting while scrolling. Keep the look,
   but use solid/semi-solid surfaces on small screens. */
@media (max-width:899px){
  html{scrollbar-gutter:auto;}
  body{position:static !important;min-height:100% !important;}
  header{
    backdrop-filter:none !important;
    -webkit-backdrop-filter:none !important;
    background:rgba(244,247,240,.97) !important;
  }
  .bottom-nav{
    backdrop-filter:none !important;
    -webkit-backdrop-filter:none !important;
    background:rgba(255,255,255,.98) !important;
  }
  .menu-overlay,
  .account-profile-overlay{
    backdrop-filter:none !important;
    -webkit-backdrop-filter:none !important;
  }
  .account-profile-overlay.show{
    height:100dvh !important;
    min-height:100dvh !important;
    align-items:flex-start !important;
    justify-content:flex-start !important;
  }
  .account-selector-side{position:relative !important;top:auto !important;}
  input,select,textarea{font-size:16px !important;max-width:100%;box-sizing:border-box;}
}

@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto !important;}
}


.cloud-auth-premium{position:relative!important;}
.cloud-auth-close{
  position:sticky;
  top:0;
  z-index:40;
  float:right;
  width:42px;
  height:42px;
  margin:-10px -10px 4px 12px;
  border:1px solid var(--line);
  border-radius:50%;
  background:var(--paper-card);
  color:var(--ink);
  font-size:1.05rem;
  line-height:1;
  display:flex;
  align-items:center;
  justify-content:center;
  cursor:pointer;
  box-shadow:0 8px 22px -16px rgba(0,0,0,.45);
  -webkit-tap-highlight-color:transparent;
}
.cloud-auth-close:hover{border-color:var(--green);background:var(--green-soft);transform:scale(1.04);}
.cloud-auth-close:focus-visible{outline:3px solid color-mix(in srgb,var(--green) 35%,transparent);outline-offset:2px;}
@media(max-width:560px){
  .cloud-auth-close{
    position:sticky;
    top:6px;
    width:44px;
    height:44px;
    margin:-6px -4px 6px 10px;
  }
}


.whatif-context-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:14px 0 16px}.whatif-context-grid label{display:flex;flex-direction:column;gap:7px;font-size:.88rem;color:var(--ink-soft)}.whatif-context-grid select{width:100%;min-height:44px;border:1px solid var(--line);border-radius:12px;background:var(--surface,#fff);color:var(--ink);padding:10px 12px;font:inherit}.whatif-context-grid small{font-weight:400;color:var(--ink-soft)}
.mm-smart-answer{margin-top:18px}.mm-action-grid,.mm-before-grid{display:grid;gap:12px;margin:16px 0}.mm-action-card,.mm-before-item{border:1px solid var(--line);border-radius:16px;padding:15px 16px;background:var(--surface,#fff)}.mm-action-card strong,.mm-before-item strong{display:block;color:var(--ink);margin-bottom:5px}.mm-action-card p,.mm-before-item p{margin:0;color:var(--ink-soft);line-height:1.52}.mm-action-card.ok,.mm-before-item.ok{background:var(--green-soft);border-color:var(--green-soft-border)}.mm-action-card.warn,.mm-before-item.warn{background:var(--amber-soft);border-color:var(--amber-soft-border)}.mm-action-card.danger,.mm-before-item.danger{background:var(--brick-soft);border-color:var(--brick-soft-border)}.mm-answer-lead{color:var(--ink-soft);margin-top:-4px}.mm-before-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
@media(max-width:700px){.whatif-context-grid,.mm-before-grid{grid-template-columns:1fr}.mm-action-card,.mm-before-item{padding:14px}.v43-whatif-actions{grid-template-columns:1fr!important}}

/* Comprendre mon ordonnance */
.rx-safety-note{display:flex;gap:12px;align-items:flex-start;padding:14px 16px;border:1px solid var(--amber-soft-border);background:var(--amber-soft);border-radius:16px;margin:14px 0 18px;color:var(--ink-soft);line-height:1.5}.rx-safety-note strong{color:var(--amber-soft-text-strong);white-space:nowrap}.rx-add-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;margin-top:7px}.rx-add-row input{width:100%;min-width:0;border:1px solid var(--line);border-radius:13px;padding:12px 14px;background:var(--paper-card);color:var(--ink);font:inherit}.rx-helper{font-size:.82rem;color:var(--ink-soft);margin:9px 0 0}.rx-selected-list{display:flex;flex-wrap:wrap;gap:9px;margin:16px 0}.rx-med-chip{display:inline-flex;align-items:center;gap:8px;border:1px solid var(--green-soft-border);background:var(--green-soft);border-radius:999px;padding:8px 10px 8px 13px;color:var(--green-deep);font-weight:700}.rx-med-chip button{border:0;background:transparent;color:inherit;cursor:pointer;font-size:1rem;line-height:1;padding:0 2px}.rx-actions{display:flex;gap:9px;flex-wrap:wrap}.rx-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin:18px 0}.rx-summary-card{border:1px solid var(--line);background:var(--paper-card);border-radius:16px;padding:14px}.rx-summary-card strong{display:block;font-family:'Playfair Display',serif;font-size:1.45rem;color:var(--green-deep)}.rx-summary-card span{font-size:.8rem;color:var(--ink-soft)}.rx-section{margin:22px 0}.rx-section-head{display:flex;justify-content:space-between;gap:12px;align-items:end;margin-bottom:12px}.rx-section-head h2{margin:0}.rx-section-head p{margin:0;color:var(--ink-soft);font-size:.84rem}.rx-med-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.rx-med-card{border:1px solid var(--line);border-radius:18px;padding:16px;background:var(--paper-card)}
.rx-flip-card{position:relative;min-height:330px;perspective:1200px}
.rx-flip-inner{position:relative;width:100%;height:100%;min-height:330px;transition:transform .55s cubic-bezier(.2,.7,.2,1);transform-style:preserve-3d}
.rx-flip-card.is-flipped .rx-flip-inner{transform:rotateY(180deg)}
.rx-flip-face{position:absolute;inset:0;backface-visibility:hidden;-webkit-backface-visibility:hidden;border:1px solid var(--line);border-radius:20px;background:var(--paper-card);padding:18px;display:flex;flex-direction:column;box-shadow:0 8px 24px rgba(25,52,37,.05)}
.rx-flip-back{transform:rotateY(180deg);overflow:auto}
.rx-flip-front{justify-content:space-between;align-items:center;text-align:center;background:linear-gradient(160deg,var(--green-soft),var(--paper-card) 70%)}
.rx-card-kicker{font-size:.72rem;text-transform:uppercase;letter-spacing:.08em;color:var(--ink-soft);font-weight:800}
.rx-card-name-btn{border:0;background:transparent;color:var(--green-deep);font-family:'Playfair Display',serif;font-size:1.65rem;line-height:1.15;font-weight:800;cursor:pointer;padding:22px 8px 10px;max-width:100%}
.rx-card-name-btn:hover{text-decoration:underline;text-underline-offset:5px}
.rx-card-brand{font-size:.82rem;color:var(--ink-soft);line-height:1.4}
.rx-card-hint{font-size:.78rem;color:var(--ink-soft);padding-top:16px}
.rx-card-back-head{display:flex;align-items:flex-start;justify-content:space-between;gap:10px;margin-bottom:8px}
.rx-card-back-head h3{margin:0;color:var(--green-deep)}
.rx-card-back-btn{border:1px solid var(--line);background:var(--paper-card);border-radius:999px;padding:6px 9px;cursor:pointer;color:var(--ink-soft);font:inherit;font-size:.78rem}
.rx-card-back-btn:hover{border-color:var(--green-soft-border);color:var(--green-deep)}
.rx-card-icon{width:54px;height:54px;border-radius:50%;display:grid;place-items:center;background:var(--paper-card);border:1px solid var(--green-soft-border);color:var(--green-deep);font-size:1.35rem;margin:8px auto 2px}
@media (prefers-reduced-motion: reduce){.rx-flip-inner{transition:none}}
.rx-med-card h3{margin:0 0 4px;color:var(--ink)}.rx-med-card .rx-brand{font-size:.8rem;color:var(--ink-soft);margin-bottom:12px}.rx-info-row{padding:9px 0;border-top:1px solid var(--line)}.rx-info-row:first-of-type{border-top:0}.rx-info-row strong{display:block;font-size:.78rem;color:var(--green-deep);text-transform:uppercase;letter-spacing:.03em;margin-bottom:3px}.rx-info-row p{margin:0;color:var(--ink-soft);line-height:1.45}.rx-monitor-tags{display:flex;flex-wrap:wrap;gap:6px}.rx-monitor-tag{font-size:.76rem;padding:5px 8px;border-radius:999px;background:var(--blue-soft,#eef4f8);border:1px solid var(--line);color:var(--ink)}.rx-interaction{border:1px solid var(--line);border-left:4px solid var(--amber);border-radius:15px;padding:14px 15px;background:var(--paper-card);margin:9px 0}.rx-interaction.danger{border-left-color:var(--brick);background:var(--brick-soft)}.rx-interaction strong{display:block;margin-bottom:5px}.rx-interaction p{margin:4px 0;color:var(--ink-soft);line-height:1.48}.rx-question-list{display:grid;gap:8px}.rx-question{border:1px solid var(--line);border-radius:14px;padding:12px 14px;background:var(--paper-card);color:var(--ink)}.rx-empty{border:1px dashed var(--line);border-radius:16px;padding:18px;color:var(--ink-soft);text-align:center}.rx-disclaimer{font-size:.78rem;color:var(--ink-soft);line-height:1.5;margin:18px 0}.rx-error{margin-top:10px;color:var(--brick);font-weight:650;font-size:.86rem}
@media(max-width:760px){.rx-summary{grid-template-columns:repeat(2,minmax(0,1fr))}.rx-med-grid{grid-template-columns:1fr}.rx-add-row{grid-template-columns:1fr}.rx-add-row .garde-primary{width:100%}.rx-safety-note{flex-direction:column;gap:4px}}


/* MonMédoc — finition visuelle et accueil allégé */
:root{
  --mm-shadow-soft:0 18px 55px -38px rgba(26,58,41,.34);
  --mm-shadow-hover:0 22px 58px -35px rgba(26,58,41,.42);
}
.hero{max-width:920px;margin-inline:auto;text-align:center;padding-top:72px}
.hero .eyebrow{margin-inline:auto}
.hero-sub{max-width:720px;margin-inline:auto}
.hero .search-box{max-width:760px;margin-inline:auto;box-shadow:0 22px 60px -38px rgba(31,77,56,.5)}
.quick-search-row{justify-content:center}
#recently-added-section{max-width:1000px;margin-inline:auto}

.mm-home-actions{margin-top:42px;padding-top:30px;border-top:1px solid color-mix(in srgb,var(--line) 88%,transparent)}
.home-actions-head{display:flex;align-items:end;justify-content:space-between;gap:20px;margin-bottom:18px}
.mm-section-kicker{display:block;font-size:.68rem;letter-spacing:.11em;text-transform:uppercase;font-weight:800;color:var(--green);margin-bottom:7px}
.home-actions-title{font-family:'Playfair Display',serif;font-size:clamp(1.55rem,2.3vw,2rem);letter-spacing:-.035em;color:var(--green-deep)}
.mm-tools-link{border:0;background:transparent;color:var(--green-deep);font:inherit;font-size:.82rem;font-weight:800;cursor:pointer;padding:8px 0}
.mm-tools-link span{display:inline-block;margin-left:5px;transition:transform .16s ease}
.mm-tools-link:hover span{transform:translateX(4px)}
.mm-home-actions-grid{grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:13px}
.home-action.mm-primary-action{
  min-height:174px!important;padding:21px!important;border-radius:22px!important;
  background:linear-gradient(160deg,color-mix(in srgb,var(--paper-card) 96%,var(--green-soft)),var(--paper-card));
  border:1px solid color-mix(in srgb,var(--line) 92%,transparent);
  box-shadow:var(--mm-shadow-soft);position:relative;overflow:hidden;
}
.home-action.mm-primary-action::after{
  content:"";position:absolute;width:96px;height:96px;border-radius:50%;
  right:-45px;bottom:-48px;background:color-mix(in srgb,var(--green-soft) 42%,transparent);
  pointer-events:none
}
.home-action.mm-primary-action:hover{transform:translateY(-4px);box-shadow:var(--mm-shadow-hover);border-color:color-mix(in srgb,var(--green) 22%,var(--line))}
.mm-featured-action{background:linear-gradient(155deg,color-mix(in srgb,var(--green-soft) 82%,var(--paper-card)),var(--paper-card) 78%)!important}
.mm-plus-action{border-style:dashed!important}
.mm-line-icon,.mm-plus-icon{font-family:Georgia,'Times New Roman',serif;font-weight:700;font-size:1.25rem!important}
.mm-plus-icon{font-size:1.55rem!important}
.home-action strong{font-size:1.03rem}
.home-action small{font-size:.76rem;line-height:1.5}

.mm-tools-view{max-width:1120px;margin-inline:auto}
.mm-tools-hero{display:grid;grid-template-columns:minmax(0,1fr);max-width:820px}
.mm-tools-hero h1{font-size:clamp(2.6rem,6vw,4.7rem);letter-spacing:-.055em}
.mm-tool-category{padding:28px 0 34px;border-bottom:1px solid var(--line)}
.mm-tool-category:last-child{border-bottom:0}
.mm-tool-category-head{display:grid;grid-template-columns:54px 1fr;gap:16px;align-items:start;margin-bottom:18px}
.mm-tool-category-number{width:42px;height:42px;border-radius:13px;border:1px solid var(--green-soft-border);display:grid;place-items:center;color:var(--green);font-size:.7rem;font-weight:850;background:var(--green-soft)}
.mm-tool-category-head h2{font-family:'Playfair Display',serif;font-size:1.5rem;letter-spacing:-.025em;color:var(--green-deep);margin:0 0 4px}
.mm-tool-category-head p{margin:0;color:var(--ink-soft);font-size:.82rem}
.mm-tools-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.mm-tool-card{
  min-height:126px;border:1px solid var(--line);border-radius:20px;background:var(--paper-card);
  padding:18px;display:grid;grid-template-columns:44px 1fr 24px;gap:14px;align-items:center;
  text-align:left;cursor:pointer;color:var(--ink);box-shadow:0 13px 34px -32px rgba(28,43,34,.34);
  transition:transform .16s ease,border-color .16s ease,box-shadow .16s ease,background .16s ease
}
.mm-tool-card:hover{transform:translateY(-3px);border-color:color-mix(in srgb,var(--green) 26%,var(--line));box-shadow:var(--mm-shadow-hover);background:color-mix(in srgb,var(--paper-card) 94%,var(--green-soft))}
.mm-tool-card-featured{background:linear-gradient(150deg,var(--green-soft),var(--paper-card) 78%)}
.mm-tool-icon{width:42px;height:42px;border-radius:13px;display:grid;place-items:center;border:1px solid var(--green-soft-border);background:var(--paper-card);color:var(--green-deep);font-family:Georgia,'Times New Roman',serif;font-size:1rem;font-weight:800}
.mm-tool-copy strong{display:block;font-family:'Playfair Display',serif;color:var(--green-deep);font-size:1.05rem;line-height:1.22;margin-bottom:5px}
.mm-tool-copy small{display:block;color:var(--ink-soft);font-size:.76rem;line-height:1.45}
.mm-tool-arrow{color:var(--green);font-size:1.15rem;transition:transform .16s ease}
.mm-tool-card:hover .mm-tool-arrow{transform:translateX(4px)}

.card,.quick-pair-card,.result-card,.v43-picker-card{border-radius:22px}
.v43-view-hero{padding-top:34px}
.v43-view-hero h1{letter-spacing:-.045em}
.rx-safety-note{border-radius:18px}
.rx-flip-face{border-radius:22px;box-shadow:0 16px 38px -32px rgba(28,43,34,.32)}
.rx-flip-front{background:radial-gradient(circle at 50% 12%,color-mix(in srgb,var(--green-soft) 82%,transparent),transparent 48%),var(--paper-card)}
.rx-card-name-btn{letter-spacing:-.025em}

@media (max-width:900px){
  .mm-home-actions-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  .mm-tools-grid{grid-template-columns:1fr}
}
@media (max-width:580px){
  .hero{text-align:left;padding-top:50px}
  .hero .eyebrow,.hero-sub,.hero .search-box{margin-left:0}
  .quick-search-row{justify-content:flex-start}
  .home-actions-head{align-items:flex-start}
  .mm-tools-link{font-size:.75rem;white-space:nowrap}
  .mm-home-actions-grid{grid-template-columns:1fr 1fr!important;gap:9px}
  .home-action.mm-primary-action{min-height:142px!important;padding:15px!important}
  .home-action strong{font-size:.88rem}
  .home-action small{font-size:.7rem}
  .mm-tool-category-head{grid-template-columns:42px 1fr;gap:11px}
  .mm-tool-category-number{width:36px;height:36px;border-radius:11px}
  .mm-tool-category-head h2{font-size:1.25rem}
  .mm-tool-card{grid-template-columns:39px 1fr 18px;padding:15px;min-height:112px;border-radius:17px}
  .mm-tool-icon{width:38px;height:38px;border-radius:11px}
}


/* ===== Page de vente : guide « Injections pour perdre du poids » ===== */
.mmg-view{--mmg-navy:#0f2a5c;--mmg-navy-soft:#e7edf7;padding-top:28px;padding-bottom:72px;width:min(1080px,calc(100vw - 32px));margin-left:calc(50% - min(540px,50vw - 16px));}
.mmg-view h2{font-family:'Playfair Display',Georgia,serif;font-weight:600;font-size:clamp(1.45rem,2.6vw,1.9rem);line-height:1.2;color:var(--ink);margin:0 0 10px;letter-spacing:-.01em}
.mmg-view p{margin:0 0 12px}
.mmg-section{margin-top:76px}
.mmg-section-intro{max-width:62ch;color:var(--ink-soft);font-size:1rem}

/* Hero */
.mmg-hero{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);gap:56px;align-items:center}
.mmg-series{font-size:.86rem;color:var(--green-deep);font-weight:600;margin-bottom:14px}
.mmg-hero h1{font-family:'Playfair Display',Georgia,serif;font-weight:700;font-size:clamp(2.2rem,5.2vw,3.5rem);line-height:1.02;letter-spacing:-.025em;color:var(--ink);margin:0 0 16px}
.mmg-hero-sub{font-family:'Playfair Display',Georgia,serif;font-size:clamp(1.1rem,2vw,1.32rem);line-height:1.4;color:var(--ink);margin:0 0 16px;max-width:36ch}
.mmg-hero-text{color:var(--ink-soft);max-width:54ch}
.mmg-buy{display:flex;flex-wrap:wrap;align-items:center;gap:14px 18px;margin:26px 0 10px}
.mmg-price{font-family:'Playfair Display',Georgia,serif;font-size:2.1rem;font-weight:700;color:var(--ink);line-height:1}
.mmg-btn{appearance:none;border:0;cursor:pointer;font:inherit;font-weight:700;font-size:1rem;border-radius:999px;padding:14px 26px;background:var(--green);color:#fff;transition:background .15s,transform .15s;text-decoration:none;display:inline-flex;align-items:center;gap:8px}
.mmg-btn:hover{background:var(--green-deep)}
.mmg-btn:active{transform:translateY(1px)}
.mmg-btn-ghost{background:transparent;color:var(--green-deep);border:1.5px solid var(--line);padding:12.5px 22px}
.mmg-btn-ghost:hover{background:var(--green-soft);border-color:var(--green)}
.mmg-btn:focus-visible,.mmg-nav-btn:focus-visible,.mmg-page:focus-visible,.mmg-faq summary:focus-visible,.mmg-cover-btn:focus-visible{outline:3px solid var(--amber);outline-offset:3px}
.mmg-delivery{font-size:.86rem;color:var(--ink-soft);margin:0}
.mmg-legal{font-size:.76rem;margin-top:6px;max-width:58ch}
.mmg-buy-msg{display:none;margin-top:12px;font-size:.9rem;background:var(--amber-soft);border:1px solid var(--amber-soft-border,#eadbb2);color:var(--ink);padding:10px 14px;border-radius:10px;max-width:52ch}
.mmg-buy-msg.show{display:block}
.mmg-facts{display:flex;flex-wrap:wrap;gap:6px 26px;margin:26px 0 0;padding:16px 0 0;border-top:1px solid var(--line);list-style:none}
.mmg-facts li{font-size:.86rem;color:var(--ink-soft)}
.mmg-facts strong{color:var(--ink);font-weight:700;margin-right:4px}

.mmg-promo{display:flex;flex-wrap:wrap;align-items:center;gap:8px 12px;margin:22px 0 0;padding:12px 14px;border:1.5px dashed var(--green);border-radius:14px;background:var(--green-soft);max-width:560px}
.mmg-promo-tag{background:var(--green);color:#fff;font-size:.74rem;font-weight:700;border-radius:999px;padding:3px 10px}
.mmg-promo-text{font-size:.9rem;color:var(--ink);flex:1 1 220px}
.mmg-promo-code{appearance:none;cursor:pointer;font:700 .92rem/1 'Public Sans',system-ui,sans-serif;letter-spacing:.06em;color:var(--green-deep);background:var(--paper-card);border:1.5px solid var(--green);border-radius:10px;padding:9px 12px;display:inline-flex;align-items:center;gap:10px}
.mmg-promo-code:hover{background:var(--paper)}
.mmg-promo-copy{font-size:.72rem;font-weight:600;letter-spacing:0;color:var(--ink-soft);border-left:1px solid var(--line);padding-left:10px}
.mmg-promo-code.copied .mmg-promo-copy{color:var(--green-deep)}
.mmg-final-promo{margin-top:10px !important;font-size:.9rem;color:#fff !important}
.mmg-final-promo strong{letter-spacing:.05em}
.mmg-promo-off [data-mmg-promo]{display:none !important}
/* Couverture en volume */
.mmg-cover-wrap{display:flex;justify-content:center;perspective:1600px;padding:10px 0 20px}
.mmg-cover-btn{all:unset;cursor:pointer;display:block;border-radius:4px}
.mmg-cover{position:relative;width:min(300px,64vw);aspect-ratio:3/4;transform:rotateY(-22deg) rotateX(4deg);transform-style:preserve-3d;transition:transform .5s cubic-bezier(.2,.7,.2,1);box-shadow:30px 34px 50px -24px rgba(15,42,92,.55),4px 4px 0 rgba(0,0,0,.04)}
.mmg-cover-btn:hover .mmg-cover{transform:rotateY(-10deg) rotateX(2deg)}
.mmg-cover img{width:100%;height:100%;display:block;border-radius:2px 4px 4px 2px}
.mmg-cover::before{content:"";position:absolute;left:0;top:0;bottom:0;width:7%;background:linear-gradient(90deg,rgba(0,0,0,.18),rgba(255,255,255,.18) 45%,rgba(0,0,0,.06));border-radius:2px 0 0 2px}
.mmg-cover::after{content:"";position:absolute;top:2%;bottom:2%;right:-12px;width:12px;background:repeating-linear-gradient(180deg,#f6f6f2 0 2px,#e4e4de 2px 3px);transform:rotateY(90deg);transform-origin:left}
.mmg-cover-hint{text-align:center;font-size:.82rem;color:var(--ink-soft);margin-top:4px}

/* Feuilleteur */
.mmg-reader{margin-top:26px;background:var(--green-soft);border:1px solid var(--line);border-radius:22px;padding:34px 24px 22px}
.mmg-stage{position:relative;display:flex;justify-content:center;outline:none}
.mmg-book{--pw:min(360px,40vw);position:relative;display:flex;width:calc(var(--pw) * 2);perspective:2400px;transition:transform .55s cubic-bezier(.3,.7,.3,1)}
.mmg-book.is-closed-left{transform:translateX(calc(var(--pw) * -.5))}
.mmg-book.is-closed-right{transform:translateX(calc(var(--pw) * .5))}
.mmg-side{position:relative;width:var(--pw);aspect-ratio:3/4}
.mmg-page{all:unset;box-sizing:border-box;position:absolute;inset:0;background:#fff;cursor:zoom-in;display:block;overflow:hidden}
.mmg-page img{width:100%;height:100%;display:block;object-fit:cover}
.mmg-side.left .mmg-page{border-radius:4px 0 0 4px;box-shadow:-10px 14px 28px -18px rgba(15,42,92,.45)}
.mmg-side.right .mmg-page{border-radius:0 4px 4px 0;box-shadow:10px 14px 28px -18px rgba(15,42,92,.45)}
.mmg-side.left .mmg-page::after{content:"";position:absolute;top:0;bottom:0;right:0;width:14%;background:linear-gradient(90deg,transparent,rgba(15,42,92,.10));pointer-events:none}
.mmg-side.right .mmg-page::after{content:"";position:absolute;top:0;bottom:0;left:0;width:14%;background:linear-gradient(270deg,transparent,rgba(15,42,92,.12));pointer-events:none}
.mmg-side.is-empty .mmg-page{visibility:hidden}
.mmg-leaf{position:absolute;top:0;width:var(--pw);aspect-ratio:3/4;transform-style:preserve-3d;z-index:5;pointer-events:none}
.mmg-leaf .mmg-face{position:absolute;inset:0;backface-visibility:hidden;-webkit-backface-visibility:hidden;background:#fff;overflow:hidden}
.mmg-leaf .mmg-face img{width:100%;height:100%;display:block}
.mmg-leaf .mmg-face.back{transform:rotateY(180deg)}
.mmg-leaf .mmg-face::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(15,42,92,.0),rgba(15,42,92,.16));opacity:0;transition:opacity .7s}
.mmg-leaf.turning .mmg-face::after{opacity:1}
.mmg-end{position:absolute;inset:0;background:var(--mmg-navy);color:#fff;border-radius:0 4px 4px 0;display:flex;flex-direction:column;justify-content:center;padding:12% 11%;box-sizing:border-box;box-shadow:10px 14px 28px -18px rgba(15,42,92,.6)}
.mmg-end h3{font-family:'Playfair Display',Georgia,serif;font-size:1.45rem;line-height:1.2;margin:0 0 10px;color:#fff}
.mmg-end p{color:#c9d6ee;font-size:.92rem;margin:0 0 20px}
.mmg-end .mmg-btn{background:#fff;color:var(--mmg-navy);align-self:flex-start}
.mmg-end .mmg-btn:hover{background:#e7edf7}
.mmg-controls{display:flex;align-items:center;justify-content:center;gap:18px;margin-top:22px}
.mmg-nav-btn{appearance:none;width:46px;height:46px;border-radius:50%;border:1.5px solid var(--line);background:var(--paper-card);color:var(--ink);font-size:1.25rem;cursor:pointer;display:grid;place-items:center;transition:border-color .15s,background .15s}
.mmg-nav-btn:hover:not(:disabled){border-color:var(--green);background:var(--paper)}
.mmg-nav-btn:disabled{opacity:.35;cursor:default}
.mmg-counter{min-width:15ch;text-align:center;font-size:.88rem;color:var(--ink-soft);font-variant-numeric:tabular-nums}
.mmg-reader-note{text-align:center;font-size:.8rem;color:var(--ink-soft);margin:10px 0 0}
.mmg-anim-next{animation:mmgNext .32s ease}
.mmg-anim-prev{animation:mmgPrev .32s ease}
@keyframes mmgNext{from{opacity:0;transform:translateX(26px)}to{opacity:1;transform:none}}
@keyframes mmgPrev{from{opacity:0;transform:translateX(-26px)}to{opacity:1;transform:none}}

/* Zoom */
.mmg-zoom{position:fixed;inset:0;z-index:9999;background:rgba(10,20,40,.82);display:none;align-items:center;justify-content:center;padding:20px;cursor:zoom-out}
.mmg-zoom.open{display:flex}
.mmg-zoom img{max-height:92vh;max-width:min(92vw,720px);width:auto;height:auto;background:#fff;border-radius:4px;box-shadow:0 30px 80px rgba(0,0,0,.5)}
.mmg-zoom-close{position:fixed;top:14px;right:16px;width:44px;height:44px;border-radius:50%;border:0;background:#fff;color:#0f2a5c;font-size:1.3rem;cursor:pointer}

/* Contenu */
.mmg-parts{columns:2;column-gap:52px;margin-top:30px}
.mmg-part{break-inside:avoid;margin-bottom:34px}
.mmg-part h3{font-family:'Playfair Display',Georgia,serif;font-size:1.18rem;font-weight:600;color:var(--ink);margin:0 0 4px}
.mmg-part > p{font-size:.9rem;color:var(--ink-soft);margin:0 0 10px}
.mmg-chapters{list-style:none;margin:0;padding:0}
.mmg-chapters li{display:grid;grid-template-columns:2.4em 1fr;gap:6px;padding:9px 0;border-top:1px solid var(--line);font-size:.95rem;color:var(--ink);line-height:1.4}
.mmg-chapters li span{color:var(--green);font-weight:700;font-variant-numeric:tabular-nums}
.mmg-chapters li small{display:block;color:var(--ink-soft);font-size:.82rem;margin-top:2px}

/* Pour qui */
.mmg-fit{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;margin-top:26px}
.mmg-fit-col{background:var(--paper-card);border:1px solid var(--line);border-radius:16px;padding:22px 24px}
.mmg-fit-col.is-not{background:transparent;border-style:dashed}
.mmg-fit-col h3{font-size:1rem;font-weight:700;margin:0 0 10px;color:var(--ink)}
.mmg-fit-col ul{margin:0;padding-left:1.1em}
.mmg-fit-col li{margin-bottom:7px;font-size:.93rem;color:var(--ink)}
.mmg-fit-col li::marker{color:var(--green)}
.mmg-fit-col.is-not li::marker{color:var(--ink-soft)}

/* Auteur */
.mmg-author{display:grid;grid-template-columns:auto 1fr;gap:26px;align-items:start;margin-top:22px;max-width:760px}
.mmg-monogram{width:84px;height:84px;border-radius:50%;background:var(--mmg-navy);color:#fff;font-family:'Playfair Display',Georgia,serif;font-size:1.7rem;display:grid;place-items:center;letter-spacing:.02em}
.mmg-author h3{font-family:'Playfair Display',Georgia,serif;font-size:1.3rem;margin:0 0 2px;color:var(--ink)}
.mmg-author-role{color:var(--green-deep);font-weight:600;font-size:.92rem;margin-bottom:12px}
.mmg-coi{margin-top:14px;font-size:.88rem;color:var(--ink-soft);border-left:3px solid var(--green);padding:4px 0 4px 14px}

/* FAQ */
.mmg-faq{margin-top:20px;max-width:760px}
.mmg-faq details{border-top:1px solid var(--line)}
.mmg-faq details:last-child{border-bottom:1px solid var(--line)}
.mmg-faq summary{cursor:pointer;list-style:none;padding:16px 36px 16px 0;font-weight:700;color:var(--ink);position:relative}
.mmg-faq summary::-webkit-details-marker{display:none}
.mmg-faq summary::after{content:"+";position:absolute;right:6px;top:12px;font-size:1.35rem;font-weight:400;color:var(--green);transition:transform .2s}
.mmg-faq details[open] summary::after{transform:rotate(45deg)}
.mmg-faq details p{color:var(--ink-soft);font-size:.94rem;padding:0 0 16px;margin:0;max-width:64ch}

/* Appel final */
.mmg-final{margin-top:80px;background:var(--mmg-navy);color:#fff;border-radius:24px;padding:40px 44px;display:grid;grid-template-columns:1fr auto;gap:24px;align-items:center}
.mmg-final h2{color:#fff;margin:0 0 6px}
.mmg-final p{color:#c9d6ee;margin:0}
.mmg-final .mmg-btn{background:#fff;color:var(--mmg-navy);white-space:nowrap}
.mmg-final .mmg-btn:hover{background:#e7edf7}
.mmg-disclaimer{margin-top:22px;font-size:.8rem;color:var(--ink-soft);max-width:80ch}

/* Bandeau accueil */
.mmg-home-card.is-top{max-width:920px;box-sizing:border-box;margin:0 auto 18px;padding:10px 18px;gap:14px;border-radius:14px;background:var(--paper-card)}
.mmg-home-card .mmg-new{color:#fff}
.mmg-home-card.is-top img{width:34px}
.mmg-home-card.is-top strong{font-size:.95rem}
.mmg-new{display:inline-block;background:var(--green);color:#fff;font-size:.72rem;font-weight:700;border-radius:999px;padding:2px 9px;margin-right:8px;vertical-align:1px}
.mmg-home-card{display:grid;grid-template-columns:auto 1fr auto;gap:18px;align-items:center;background:var(--paper-card);border:1px solid var(--line);border-radius:18px;padding:16px 20px;margin:22px 0;cursor:pointer;transition:border-color .15s}
.mmg-home-card:hover{border-color:var(--green)}
.mmg-home-card img{width:54px;aspect-ratio:3/4;border-radius:2px;box-shadow:6px 8px 16px -8px rgba(15,42,92,.5);display:block}
.mmg-home-card strong{display:block;color:var(--ink);font-size:1rem;margin-bottom:2px}
.mmg-home-card span{color:var(--ink-soft);font-size:.86rem}
.mmg-home-card .mmg-home-price{font-weight:700;color:var(--green-deep);white-space:nowrap;font-size:.95rem}

@media(max-width:860px){
  .mmg-hero{grid-template-columns:1fr;gap:24px}
  .mmg-cover{width:min(190px,50vw)}
  .mmg-cover-wrap{padding:6px 0 0}
  .mmg-fit{grid-template-columns:1fr}
  .mmg-parts{columns:1}
  .mmg-final{grid-template-columns:1fr;padding:32px 26px}
}
@media(max-width:640px){
  .mmg-view{width:100%;margin-left:0}
  .mmg-reader{padding:24px 12px 18px;border-radius:18px;margin-left:-4px;margin-right:-4px}
  .mmg-book{--pw:min(330px,78vw);width:var(--pw)}
  .mmg-book.is-closed-left,.mmg-book.is-closed-right{transform:none}
  .mmg-section{margin-top:58px}
  .mmg-author{grid-template-columns:1fr}
  .mmg-home-card{grid-template-columns:auto 1fr}
  .mmg-home-card .mmg-home-price{grid-column:2}
  .mmg-home-card.is-top{margin:0 0 12px;padding:9px 14px}
  .mmg-home-card.is-top span:not(.mmg-new):not(.mmg-home-price){display:none}
  .mmg-home-card.is-top .mmg-home-price{grid-column:auto;font-size:.88rem}
  .mmg-home-card.is-top{grid-template-columns:auto 1fr auto}
}
@media (prefers-reduced-motion:reduce){
  .mmg-book,.mmg-cover,.mmg-leaf{transition:none !important}
  .mmg-anim-next,.mmg-anim-prev{animation:none}
}
@media print{.mmg-view{display:none !important}}



.mm-home-note{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:4px 10px;width:max-content;max-width:100%;box-sizing:border-box;margin:2px auto 16px;padding:6px 14px;border-radius:999px;font-size:13px;line-height:1.4;color:var(--ink-soft,#5b6b63);text-decoration:none;transition:color .15s}
.mm-home-note-tag{font-size:11px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--green-deep,#1F4D38)}
.mm-home-note-title{color:var(--ink,#1b2a22);font-weight:600}
.mm-home-note-sub::before{content:'·';margin-right:10px;color:#a9b8af}
.mm-home-note-arrow{color:var(--green-deep,#1F4D38);transition:transform .15s}
.mm-home-note:hover .mm-home-note-title{text-decoration:underline;text-underline-offset:3px}
.mm-home-note:hover .mm-home-note-arrow{transform:translateX(3px)}
@media (max-width:640px){.mm-home-note{flex-wrap:nowrap;gap:8px;margin:0 auto 10px;font-size:12.5px;padding:4px 6px}.mm-home-note-sub{display:none}.mm-home-note-title{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.mm-home-note-tag{font-size:10.5px}.mm-hn-x{display:none}}


/* MonMédoc — profils plus utiles + expérience grossesse contextualisée */
.account-context-panel{border:1px solid var(--line);background:linear-gradient(145deg,var(--paper-card),color-mix(in srgb,var(--green-soft) 42%,var(--paper-card)));border-radius:22px;padding:20px;margin:0 0 16px;display:grid;grid-template-columns:minmax(0,1.25fr) minmax(260px,.75fr);gap:18px;align-items:center;overflow:hidden;position:relative}
.account-context-panel::after{content:"";position:absolute;width:190px;height:190px;border-radius:50%;right:-90px;top:-100px;background:color-mix(in srgb,var(--green) 10%,transparent);pointer-events:none}
.account-context-panel.pregnancy{background:linear-gradient(145deg,var(--paper-card),color-mix(in srgb,#A16D82 9%,var(--paper-card)));border-color:color-mix(in srgb,#A16D82 22%,var(--line))}
.account-context-panel.student{background:linear-gradient(145deg,var(--paper-card),color-mix(in srgb,var(--amber) 9%,var(--paper-card)))}
.account-context-copy{position:relative;z-index:1}.account-context-kicker{display:inline-flex;padding:5px 9px;border-radius:999px;background:var(--green-soft);color:var(--green-deep);font-size:.68rem;font-weight:850;margin-bottom:8px}.account-context-panel.pregnancy .account-context-kicker{background:color-mix(in srgb,#A16D82 12%,var(--paper-card));color:#7b4f63}.account-context-copy h2{font-family:'Playfair Display',serif;font-size:1.35rem;margin:0 0 6px}.account-context-copy p{margin:0;color:var(--ink-soft);font-size:.82rem;line-height:1.55;max-width:62ch}.account-context-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:13px}.account-context-actions button{border:1px solid var(--line);background:var(--paper);color:var(--ink);border-radius:999px;padding:9px 12px;font:inherit;font-size:.74rem;font-weight:800;cursor:pointer}.account-context-actions button.primary{background:var(--green-deep);border-color:var(--green-deep);color:#fff}.account-context-metrics{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;position:relative;z-index:1}.account-context-metric{border:1px solid color-mix(in srgb,var(--line) 78%,transparent);background:color-mix(in srgb,var(--paper) 88%,transparent);border-radius:15px;padding:12px}.account-context-metric strong{display:block;font-family:'Playfair Display',serif;font-size:1.25rem;color:var(--green-deep)}.account-context-metric span{display:block;font-size:.66rem;color:var(--ink-soft);margin-top:2px;line-height:1.3}

.pregnancy-profile-summary{border:1px solid color-mix(in srgb,#A16D82 24%,var(--line));background:linear-gradient(145deg,var(--paper-card),color-mix(in srgb,#A16D82 7%,var(--paper-card)));border-radius:22px;padding:20px;margin:0 0 18px}.pregnancy-profile-summary-head{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;margin-bottom:14px}.pregnancy-profile-summary h2{font-family:'Playfair Display',serif;font-size:1.25rem;margin:0 0 5px}.pregnancy-profile-summary p{margin:0;color:var(--ink-soft);font-size:.8rem;line-height:1.5}.pregnancy-summary-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}.pregnancy-summary-item{border:1px solid var(--line);background:var(--paper);border-radius:14px;padding:12px}.pregnancy-summary-item strong{display:block;font-size:1.2rem;font-family:'Playfair Display',serif}.pregnancy-summary-item span{display:block;color:var(--ink-soft);font-size:.65rem;margin-top:2px}.pregnancy-summary-item.no strong{color:var(--brick)}.pregnancy-summary-item.caution strong,.pregnancy-summary-item.warn strong{color:var(--amber-soft-text-strong)}.pregnancy-summary-item.ok strong{color:var(--green-deep)}
.pregnancy-filter-bar{display:flex;gap:7px;flex-wrap:wrap;margin:0 0 18px}.pregnancy-filter-chip{border:1px solid var(--line);background:var(--paper-card);color:var(--ink);border-radius:999px;padding:8px 12px;font:inherit;font-size:.72rem;font-weight:800;cursor:pointer}.pregnancy-filter-chip.active{background:var(--green-deep);color:#fff;border-color:var(--green-deep)}
.pregnancy-profile-note{border-left:3px solid #A16D82;background:color-mix(in srgb,#A16D82 7%,var(--paper-card));border-radius:0 14px 14px 0;padding:12px 14px;margin:0 0 18px;color:var(--ink-soft);font-size:.78rem;line-height:1.5}

.pregnancy-detail-focus{border:1px solid color-mix(in srgb,#A16D82 28%,var(--line));background:linear-gradient(145deg,color-mix(in srgb,#A16D82 9%,var(--paper-card)),var(--paper-card));border-radius:20px;padding:18px;margin:14px 0 16px}.pregnancy-detail-focus .focus-kicker{display:inline-flex;border-radius:999px;padding:5px 9px;background:color-mix(in srgb,#A16D82 13%,var(--paper));color:#7b4f63;font-size:.67rem;font-weight:850;margin-bottom:8px}.pregnancy-detail-focus h2{font-family:'Playfair Display',serif;font-size:1.16rem;margin:0 0 6px}.pregnancy-detail-focus p{margin:0;color:var(--ink-soft);font-size:.8rem;line-height:1.5}.pregnancy-detail-focus .focus-status{display:flex;align-items:flex-start;gap:9px;margin-top:12px;padding:11px 12px;border-radius:13px;border:1px solid var(--line);background:var(--paper)}.pregnancy-detail-focus .focus-status strong{font-size:.8rem;line-height:1.35}.pregnancy-detail-focus .focus-status small{display:block;color:var(--ink-soft);font-size:.69rem;margin-top:3px;line-height:1.45}.pregnancy-detail-focus .focus-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:12px}.pregnancy-detail-focus .focus-actions button{border:1px solid var(--line);border-radius:999px;background:var(--paper);color:var(--ink);padding:8px 11px;font:inherit;font-size:.72rem;font-weight:800;cursor:pointer}
.fiche-standard-nav button.pregnancy-priority{background:color-mix(in srgb,#A16D82 12%,var(--paper));border-color:color-mix(in srgb,#A16D82 32%,var(--line));color:#7b4f63}

@media(max-width:760px){.account-context-panel{grid-template-columns:1fr}.pregnancy-summary-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.pregnancy-profile-summary-head{flex-direction:column}.account-context-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:430px){.account-context-metrics{grid-template-columns:1fr 1fr}.pregnancy-summary-grid{grid-template-columns:1fr 1fr}.account-context-panel,.pregnancy-profile-summary{padding:16px}}


/* ===== MonMédoc v70 — recherche, historique, glossaire, performances mobile ===== */
.search-match-hint{display:block;margin-top:5px;font-size:.76rem;color:var(--ink-soft);line-height:1.3}
.mm-history-list{display:grid;gap:8px;margin-top:10px}
.mm-history-item{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px;align-items:center;padding:12px 14px;border:1px solid var(--line);border-radius:14px;background:var(--paper-card);cursor:pointer;transition:border-color .15s ease,transform .15s ease,box-shadow .15s ease}
.mm-history-item:hover{border-color:color-mix(in srgb,var(--green) 45%,var(--line));transform:translateY(-1px);box-shadow:0 8px 18px -16px rgba(31,77,56,.45)}
.mm-history-main{min-width:0}.mm-history-name{font-weight:800;color:var(--ink);font-size:.94rem}.mm-history-sub{margin-top:3px;color:var(--ink-soft);font-size:.77rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.mm-history-meta{margin-top:5px;display:flex;flex-wrap:wrap;gap:6px;font-size:.72rem;color:var(--ink-soft)}
.mm-history-badge{display:inline-flex;align-items:center;min-height:24px;padding:3px 8px;border-radius:999px;background:var(--green-soft);color:var(--green-deep);font-weight:700}.mm-history-open{font-size:.78rem;font-weight:800;color:var(--green-deep);white-space:nowrap}
.mm-glossary-meta{margin-top:10px;padding-top:10px;border-top:1px solid var(--line)}
.mm-glossary-category{display:inline-flex;align-items:center;padding:3px 8px;border-radius:999px;background:var(--green-soft);color:var(--green-deep);font-size:.72rem;font-weight:800;margin-bottom:8px}
.mm-glossary-related-label{font-size:.73rem;color:var(--ink-soft);font-weight:700;margin-bottom:6px}
.mm-glossary-related{display:flex;flex-wrap:wrap;gap:6px}
.mm-glossary-related-btn{appearance:none;border:1px solid var(--line);background:var(--paper);color:var(--green-deep);border-radius:999px;padding:5px 9px;font:inherit;font-size:.76rem;font-weight:700;cursor:pointer}
.mm-glossary-related-btn:hover{border-color:var(--green);background:var(--green-soft)}
@media(max-width:899px){
  /* Les éléments lourds hors écran sont différés par le moteur de rendu. */
  .result-card,.med-card,.module-card,.tool-card,.account-profile-card,.data-method-item,.faq-item{content-visibility:auto;contain-intrinsic-size:1px 120px}
  .result-card,.med-card,.module-card,.tool-card{contain:layout paint}
  /* Popover = feuille basse sur petit écran : pas de repositionnement coûteux au scroll. */
  .glossary-popover{left:12px!important;right:12px!important;top:auto!important;bottom:calc(12px + env(safe-area-inset-bottom,0px))!important;width:auto!important;max-height:min(52dvh,420px);overflow:auto;-webkit-overflow-scrolling:touch}
  .mm-history-item{padding:11px 12px;border-radius:12px}
}
@media(hover:none) and (pointer:coarse){
  .result-card:hover,.med-card:hover,.module-card:hover,.tool-card:hover,.mm-history-item:hover{transform:none!important;box-shadow:none!important}
}
@media(prefers-reduced-motion:reduce){.mm-history-item{transition:none!important}}


.mm-author{display:flex;align-items:center;gap:12px;margin:14px 0 4px;padding:12px 16px;border-radius:14px;background:#fff;border:1px solid #dfe8e2;font-size:14px;line-height:1.45;color:#3d4d45}
.mm-author-badge{flex:0 0 auto;width:38px;height:38px;border-radius:50%;background:#1F4D38;color:#fff;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:14px;letter-spacing:.5px}
.mm-author strong{color:#1b2a22}
.mm-author a{color:#1F4D38;font-weight:600}
.mm-faq-list{display:flex;flex-direction:column;gap:8px;margin-top:6px}
.mm-faq{border:1px solid #e1e8e3;border-radius:12px;background:#fafcfa;padding:0}
.mm-faq summary{cursor:pointer;list-style:none;padding:13px 44px 13px 16px;position:relative}
.mm-faq summary::-webkit-details-marker{display:none}
.mm-faq summary::after{content:'+';position:absolute;right:16px;top:50%;transform:translateY(-50%);font-size:20px;color:#1F4D38;font-weight:600}
.mm-faq[open] summary::after{content:'–'}
.mm-faq h3{margin:0;font-size:16px;font-weight:600;color:#1b2a22;line-height:1.4}
.mm-faq p{margin:0;padding:0 16px 14px;line-height:1.6;color:#3d4d45}

/* === pages statiques === */
.static-page .detail{display:block!important}
.static-page a.back-link{text-decoration:none}
.static-page .breadcrumb a{color:inherit;text-decoration:none}
.static-page .breadcrumb a:hover{text-decoration:underline}
.static-page .top-nav-link,.static-page .logo{text-decoration:none;color:inherit}
.mm-static-cta{margin:28px 0 8px;padding:16px 20px;border-radius:14px;background:#fff;border:1px solid #dfe8e2;border-left:3px solid #1F4D38}
.mm-static-cta h2{margin:0 0 4px;font-size:15px;font-weight:700;color:#1b2a22}
.mm-static-cta p{margin:0 0 8px;color:#4a5a52;line-height:1.5;font-size:14.5px}
.mm-static-cta a{color:#1F4D38;font-weight:700;font-size:14.5px;text-decoration:none}.mm-static-cta a:hover{text-decoration:underline}
.mm-related{margin:28px 0}
.mm-related h2{font-family:'Playfair Display',serif;font-size:22px;margin:0 0 12px}
.mm-related ul{list-style:none;padding:0;margin:0;display:flex;flex-wrap:wrap;gap:8px}
.mm-related a{display:inline-block;padding:8px 14px;border-radius:999px;border:1px solid #d9e2dc;background:#fff;color:#1F4D38;text-decoration:none;font-weight:600;font-size:14px}
.mm-related a:hover{background:#eef5f0}
.mm-app-link{margin:18px 0;font-size:15px}
.mm-app-link a{color:#1F4D38;font-weight:700}
.mm-az{max-width:980px;margin:0 auto;padding:10px 0 40px}
.mm-az h1{font-family:'Playfair Display',serif;font-size:38px;margin:10px 0 8px}
.mm-az .lead{color:#4a5a52;line-height:1.6;max-width:720px}
.mm-az .lead a{color:#1F4D38;font-weight:600;text-decoration:underline}
.mm-letters{display:flex;flex-wrap:wrap;gap:6px;margin:20px 0;position:sticky;top:0;background:inherit;padding:8px 0;z-index:2}
.mm-letters a{display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;border-radius:10px;background:#fff;border:1px solid #d9e2dc;color:#1F4D38;font-weight:700;text-decoration:none}
.mm-az h2{font-family:'Playfair Display',serif;font-size:26px;margin:28px 0 10px;border-bottom:1px solid #e1e8e3;padding-bottom:6px;scroll-margin-top:60px}
.mm-az ul{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:8px}
.mm-az li a{display:block;padding:10px 14px;border-radius:12px;background:#fff;border:1px solid #e1e8e3;text-decoration:none;color:#1b2a22}
.mm-az li a:hover{border-color:#1F4D38}
.mm-az li strong{display:block;color:#1F4D38}
.mm-az li span{font-size:13px;color:#5b6b63}
.mm-about h2{border-bottom:none;font-size:24px;margin:30px 0 8px}
.mm-about .lead{margin:0 0 12px}
.mm-about-list{display:block!important;padding-left:20px!important;list-style:disc!important;color:#4a5a52;line-height:1.6;max-width:720px}
.mm-about-list li{margin:0 0 8px}
.mm-about-list strong{display:inline!important;color:#1b2a22!important}
.mm-about-list a{color:#1F4D38}
/* === page Qui suis-je === */
.ab{max-width:860px;margin:0 auto;padding:6px 0 48px;color:#2c3a33}
.ab-hero{display:flex;align-items:center;gap:22px;margin:22px 0 28px;padding:26px 28px;border-radius:22px;background:linear-gradient(135deg,#fff 0%,#f3f8f4 100%);border:1px solid #dfe8e2}
.ab-mono{flex:0 0 auto;width:76px;height:76px;border-radius:50%;background:#1F4D38;color:#fff;display:flex;align-items:center;justify-content:center;font-family:'Playfair Display',serif;font-size:28px;font-weight:600;letter-spacing:1px;box-shadow:0 0 0 5px #fff,0 0 0 6px #cfe0d5}
.ab-kicker{margin:0 0 4px;font-size:12px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:#4f7a63}
.ab-id h1{margin:0;font-family:'Playfair Display',serif;font-size:34px;line-height:1.1;color:#16231c}
.ab-role{margin:6px 0 0;font-size:15px;color:#4a5a52}
.ab-sep{margin:0 6px;color:#9fb3a7}
.ab-intro{max-width:700px;margin:0 0 8px}
.ab-intro p{font-size:17px;line-height:1.7;margin:0 0 14px;color:#33433b}
.ab-sec{margin:36px 0 0}
.ab-sec h2{font-family:'Playfair Display',serif;font-size:25px;margin:0 0 16px;color:#16231c;border:none;padding:0}
.ab-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
.ab-card{background:#fff;border:1px solid #e1e8e3;border-radius:16px;padding:20px 20px 18px}
.ab-card h3{margin:0 0 8px;font-size:16px;color:#16231c}
.ab-card p{margin:0;font-size:14.5px;line-height:1.6;color:#4a5a52}
.ab-num{display:block;font-family:'Playfair Display',serif;font-size:22px;color:#8fb59f;margin-bottom:10px}
.ab-note{border-left:3px solid #1F4D38;background:#f4f8f5;border-radius:0 14px 14px 0;padding:16px 20px}
.ab-note p{margin:0 0 10px;line-height:1.65;color:#3d4d45;font-size:15px}
.ab-note .ab-urgent{margin:14px 0 0;padding-top:12px;border-top:1px solid #dbe6df;font-size:14.5px}
.ab-urgent strong{display:inline-block;margin-right:8px;padding:2px 9px;border-radius:999px;background:#b3261e;color:#fff;font-size:12px;letter-spacing:.04em;text-transform:uppercase}
.ab-duo{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.ab-link{display:inline-block;margin-top:12px;color:#1F4D38;font-weight:700;font-size:14.5px;text-decoration:none}
.ab-link::after{content:' →'}
.ab-link:hover{text-decoration:underline}
@media (max-width:720px){
  .ab-hero{padding:20px;gap:16px;margin-top:16px}
  .ab-mono{width:60px;height:60px;font-size:22px}
  .ab-id h1{font-size:27px}
  .ab-role{font-size:14px}
  .ab-intro p{font-size:16px}
  .ab-grid,.ab-duo{grid-template-columns:1fr}
}
.mm-static-footer{text-align:center;padding:30px 16px 40px;color:#5b6b63;font-size:14px;line-height:1.7}
.mm-static-footer a{color:#1F4D38}
@media print{.mm-static-cta,.mm-related,.mm-app-link{display:none}}
