/* Patient home (index.html): additions to the platform's site.css (assets/css/platform.css, unchanged).
   Only what the platform home does not already have: the "three WhatsApp exchanges" section
   (steps + sticky phone showing the bot's real reply format), the FAQ block, wrapping buttons on phones. */
.btn .i { flex: none; }
.header-actions .btn .i { width: 18px; height: 18px; }

/* ---------------- three WhatsApp exchanges: steps + phone ---------------- */
.how-wa { background: var(--mint-2); }
.wa-how-grid { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 420px); gap: clamp(40px, 7vw, 112px); align-items: start; }
.wa-steps { list-style: none; display: grid; }
.wa-step {
  position: relative; display: grid; grid-template-columns: 56px minmax(0, 1fr); gap: 20px; align-items: start;
  padding-block: clamp(28px, 6vh, 64px); border-top: 2px solid var(--line-2); transition: opacity .5s var(--ease-out);
}
.wa-step::before { content: ""; position: absolute; top: -2px; left: 0; width: 56px; height: 2px; background: var(--green); }
.wa-step-n {
  width: 44px; height: 44px; border-radius: 50%; display: grid; place-items: center;
  font-family: var(--font-display); font-weight: 700; font-size: 1.1rem; color: var(--green-ink); background: var(--white); box-shadow: var(--sh-1);
  transition: background-color .4s var(--ease-out), color .4s var(--ease-out);
}
.wa-step h3 { font-size: clamp(1.12rem, 1rem + .4vw, 1.3rem); font-weight: 600; letter-spacing: -0.012em; margin-bottom: 10px; }
.wa-step p { color: var(--ink-2); max-width: 60ch; }
.wa-step.is-current .wa-step-n { background: var(--green-ink); color: #fff; }
.js-motion .wa-steps.is-linked .wa-step { opacity: .42; }
.js-motion .wa-steps.is-linked .wa-step.is-current { opacity: 1; }

.wa-phone-col { position: sticky; top: calc(var(--header-h) + 28px); }
.wa-phone { width: 100%; max-width: 380px; margin-inline: auto; border-radius: 44px; padding: 11px; background: #0D1F17; box-shadow: var(--sh-3), inset 0 0 0 1px rgba(255,255,255,.06); }
.wa-screen { border-radius: 34px; overflow: hidden; background: #ECE5DD; display: flex; flex-direction: column; height: min(640px, 72svh); min-height: 520px; }
.wa-head { display: flex; align-items: center; gap: 10px; padding: 16px 16px 12px; background: #0B5E3B; color: #fff; }
.wa-head img { width: 34px; height: 34px; border-radius: 50%; background: #fff; padding: 3px; }
.wa-head b { display: block; font-size: .92rem; font-weight: 600; }
.wa-head span { font-size: .75rem; color: #BFE3CF; }
.wa-thread { flex: 1; overflow: hidden; position: relative; background-color: #ECE5DD; background-image: radial-gradient(rgba(11,94,59,.05) 1px, transparent 1.2px); background-size: 14px 14px; }
.wa-inner { padding: 14px 12px 18px; display: flex; flex-direction: column; gap: 8px; }
.wa-msg { position: relative; max-width: 86%; padding: 7px 10px 18px; border-radius: 10px; font-size: .82rem; line-height: 1.42; color: #111B21; box-shadow: 0 1px .5px rgba(11,20,26,.13); overflow-wrap: anywhere; }
.wa-msg p + p { margin-top: 6px; }
.wa-msg time { position: absolute; right: 8px; bottom: 4px; font-size: .66rem; color: #667781; }
.wa-msg b { font-weight: 600; }
.wa-out { align-self: flex-end; background: #D9FDD3; border-top-right-radius: 3px; }
.wa-in { align-self: flex-start; background: #fff; border-top-left-radius: 3px; }
.wa-loc { padding: 4px 4px 18px; width: 64%; }
.wa-map {
  display: grid; place-items: center; height: 92px; border-radius: 7px; margin-bottom: 6px; color: #D93025;
  background:
    linear-gradient(115deg, transparent 46%, rgba(255,255,255,.95) 46.5%, rgba(255,255,255,.95) 50%, transparent 50.5%),
    linear-gradient(20deg, transparent 58%, rgba(255,214,102,.9) 58.5%, rgba(255,214,102,.9) 61%, transparent 61.5%),
    #DDE9DA;
}
.wa-map .i { width: 28px; height: 28px; fill: currentColor; }
.wa-loc p { padding-inline: 6px; font-weight: 500; }
.wa-results { max-width: 92%; }
.wa-res + .wa-res { margin-top: 8px; }
.wa-line { display: block; padding-left: 1.4em; color: #24323A; }
.wa-link { color: #027EB5; text-decoration: underline; word-break: break-all; }
.wa-rule { display: block; color: #8696A0; margin: 8px 0 2px; overflow: hidden; white-space: nowrap; }
.wa-input { display: flex; align-items: center; gap: 8px; padding: 9px 10px; background: #F0F2F5; }
.wa-input span { flex: 1; height: 34px; border-radius: 999px; background: #fff; }
.wa-input .i { width: 34px; height: 34px; padding: 8px; border-radius: 50%; background: #00A884; color: #fff; }
.wa-phone-note { margin-top: 16px; display: flex; flex-wrap: wrap; justify-content: center; align-items: center; gap: 8px; font-size: .86rem; color: var(--ink-2); text-align: center; }

@media (max-width: 960px) {
  .wa-how-grid { grid-template-columns: minmax(0, 1fr); }
  .wa-phone-col { position: relative; top: auto; order: -1; }
  .wa-step { padding-block: 28px; }
  .js-motion .wa-steps.is-linked .wa-step { opacity: 1; }
}

/* ---------------- WhatsApp bot number + QR (under the three steps) ---------------- */
.wa-bot { padding-top: 8px; }
.wa-bot-card { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 20px 28px; align-items: center; padding: clamp(20px, 3vw, 28px); border-radius: var(--r-card); background: var(--white); box-shadow: var(--sh-2); }
.wa-bot-label { font-size: .9rem; font-weight: 600; color: var(--ink-2); margin-bottom: 12px; }
.wa-bot-number {
  display: inline-flex; align-items: center; gap: 12px; min-height: 60px; padding: 0 26px 0 18px; border-radius: var(--r-pill);
  border: 2px solid #4C9A6E; color: var(--ink); text-decoration: none;
  font-family: var(--font-display); font-weight: 700; font-size: clamp(1.25rem, 1rem + 1vw, 1.6rem); letter-spacing: -0.01em; white-space: nowrap;
  transition: background-color .25s var(--ease-out), border-color .25s var(--ease-out), transform .25s var(--ease-out);
}
.wa-bot-number .i { width: 30px; height: 30px; color: #4C9A6E; }
.wa-bot-number:hover { background: var(--mint); border-color: var(--green-ink); transform: translateY(-1px); }
.wa-bot-number .num { font-variant-numeric: tabular-nums; }
.wa-bot-meta { display: flex; flex-wrap: wrap; align-items: center; gap: 6px 8px; margin-top: 14px; font-size: .92rem; color: var(--ink-2); }
.wa-bot-meta .i { width: 18px; height: 18px; color: #D9822B; }
.wa-bot-qr { display: grid; justify-items: center; gap: 8px; margin: 0; }
.wa-bot-qr img { width: 116px; height: 116px; image-rendering: pixelated; }
.wa-bot-qr figcaption { font-size: .78rem; color: var(--ink-3); text-align: center; max-width: 14ch; line-height: 1.3; }
/* A phone cannot scan its own screen: on small screens the number is the tap target. */
@media (max-width: 760px) {
  .wa-bot-card { grid-template-columns: minmax(0, 1fr); }
  .wa-bot-qr { display: none; }
  .wa-bot-number { width: 100%; justify-content: center; }
  .wa-bot-sep { display: none; }
  .wa-bot-meta [data-i18n] { flex-basis: 100%; }
}
@media (max-width: 380px) { .wa-bot-number { font-size: 1.15rem; padding-inline: 14px; } }

/* ---------------- FAQ on the home page: heading left, accordion right ---------------- */
.faq-home-grid { display: grid; grid-template-columns: minmax(0, .8fr) minmax(0, 1.2fr); gap: clamp(28px, 6vw, 96px); align-items: start; }
.faq-home-grid .section-head { margin-bottom: 0; }
.faq-home .acc:first-child { border-top: 1px solid var(--line); }
@media (max-width: 960px) { .faq-home-grid { grid-template-columns: minmax(0, 1fr); } }

/* Our WhatsApp CTA label is longer than the platform's "Commencer gratuitement": let buttons wrap on phones. */
@media (max-width: 560px) {
  .btn { white-space: normal; text-align: center; max-width: 100%; }
  .hero-ctas .btn, .pilot .btn, .mobile-actions .btn { width: 100%; }
}
