/* Doctalo — site-wide fixes layered on top of the inherited Webflow build.
   Its own file on purpose: the page generators rewrite style.css around their
   own markers and dropped anything appended after them. Linked from the
   marketing pages by tools/add-yes-block.py (right after style.css). */

/* ---- elements the scripts hide with the `hidden` attribute must stay hidden,
   whatever display the template gives their class (.btn is inline-flex) ---- */
[hidden] { display: none !important; }

/* ---- accessibility: skip link only when focused ---- */
.skip-link { position: absolute; left: -999px; top: 0; z-index: 1000; background: #193231; color: #fff; padding: .6rem 1rem; }
.skip-link:focus { left: 0; }

/* ---- hero subline under the H1 (desktop and mobile variants) ---- */
.home25_hero-sub { color: #fff; font-size: 1.15rem; line-height: 1.55; max-width: 36rem; margin: 1rem 0 1.5rem; font-family: "Greycliff CF", Arial, sans-serif; }
.home25_hero-mobile .home25_hero-sub { color: #193231; font-size: 1.05rem; margin: .75rem 0 1.25rem; }

/* ---- fine print: was ~10px light grey ---- */
.home25_fine-print, .home25_fine-print .text-block-24, .dr-fineprint, .metro-bmi-disclaimer, .metro-bmi-scale-note, .metro-book-note {
  font-size: 0.9375rem !important; line-height: 1.55 !important; color: #46605c !important; }
.home25_fine-print.home25-stats, .home25_fine-print.home25-stats .text-block-24 { color: #c9dbd6 !important; }

/* ---- stats block: keep number and unit on one line, sane sizes on phones ---- */
.home25_results-number-num { white-space: nowrap; }
.home25_results-number-block { text-align: left; }

/* ---- footer credentials ---- */
.footer_credentials { margin-top: .75rem; max-width: 40rem; line-height: 1.55; opacity: .85; }

/* ---- "Après la consultation" block ---- */
.yes { background: #f7f4f0; }
.yes-head { max-width: 46rem; margin-bottom: 2rem; }
.yes-lead { font-size: 1.125rem; line-height: 1.6; margin-top: .75rem; }
.yes-cards { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1.5rem; }
.yes-card { background: #fff; border-radius: 1.5rem; padding: 2rem; }
.yes-card h3 { font-family: "Quincy CF", Georgia, serif; font-size: 1.5rem; line-height: 1.2; margin: 0 0 .75rem; color: #193231; }
.yes-card p { font-size: 1.0625rem; line-height: 1.6; margin: 0; color: #193231; }
.yes-cta { margin-top: 2rem; }

/* ---- booking widget: guest fields ---- */
.metro-book-guest { margin-top: 1rem; }
.metro-book-grid2 { display: grid; grid-template-columns: 1fr 1fr; gap: .75rem 1rem; }
.metro-book-grid2 .metro-book-label { margin-top: .5rem; }

@media (max-width: 900px) {
  .yes-cards { grid-template-columns: 1fr; }
  .yes-card { padding: 1.5rem; }
}
@media (max-width: 767px) {
  .home25_results-number-block { display: grid; grid-template-columns: auto 1fr; gap: .25rem 1rem; align-items: center; }
  .home25_results-number-large { font-size: 4.25rem !important; line-height: 1 !important; }
  .home25_results-number-num { font-size: 2rem !important; display: flex !important; align-items: baseline; gap: .5rem; letter-spacing: 0; }
}
@media (max-width: 640px) {
  .metro-book-grid2 { grid-template-columns: 1fr; }
}

/* ==== design pass 2 (Fable + GPT-6 Astra convergent items, 2026-09-10) ==== */
/* one primary button colour: the brand green, never pure black */
.btn-primary, .footer .btn-primary, .metro-book-submit.btn-primary, .metro-bmi-card .btn-primary {
  background: #193231 !important; color: #f6f1ee !important; }
.btn-primary:hover { background: #244a43 !important; }
/* announcement bar: white on #798f8b was ~3.4:1 */
.dr-alert { background: #4f6763 !important; color: #f6f1ee !important; }
.dr-alert div { font-size: 0.9375rem !important; font-weight: 500; }
/* desktop hero: a real scrim behind the white copy, and a palette tint on the cool-blue video */
.home25_hero-video-cover { background: linear-gradient(90deg, rgba(25,50,49,.66) 0%, rgba(25,50,49,.40) 48%, rgba(25,50,49,.08) 75%) !important; }
.home25_hero-h1 .text-color-d8ece4 { color: #eaf1ec !important; }
.home25_hero-sub { font-weight: 500; font-size: 1.1rem; color: #f6f1ee; }
.home25_hero-bottom-block { font-weight: 500; }
/* secondary text: one legible tone on light surfaces, one on dark */
.metro-criterion__body, .hack-medication-card-text, .metro-book-asidebody, .metro-bmi-hint { color: #46605c !important; }
/* on the dark green section the secondary text must stay light */
.section-home25-results .text-color-a8beb7, .section-home25-results .home25_results-number-block div { color: #c9dbd6 !important; }
.section-home25-results .home25_results-number-block { display: grid; grid-template-columns: auto 1fr; gap: 0 1.5rem; align-items: center; }
.hack-medication-card-label, .metro-eyebrow { color: #4f6763 !important; font-size: 0.8125rem !important; letter-spacing: .08em; font-weight: 600; }
/* "Après la consultation": the H2 was heavier and bigger than every other section heading */
.yes .heading-style-h2 { font-weight: 400 !important; font-size: clamp(2rem, 3.2vw, 2.75rem) !important; }
.yes-card h3 { font-weight: 400; }
/* FAQ: show the state — a minus when the answer is open */
.faq_list_item:has(.faq_list_bottom:not([style*="height:0"])) .faq_list_ic-vertical-2,
.faq_list_item:has(.faq_list_bottom:not([style*="height: 0"])) .faq_list_ic-vertical-2 { opacity: 0; }
.pricing_faq-rich-text-2 { max-width: 70ch; }
/* marquee and chip rows: fade the edges instead of hard-cutting words */
.marquee-logos-2, [class*="marquee"] { -webkit-mask-image: linear-gradient(90deg, transparent, #000 8%, #000 92%, transparent); mask-image: linear-gradient(90deg, transparent, #000 8%, #000 92%, transparent); }
/* mint band button must not wrap */
.section.u-bg-sage-100 .btn, .u-bg-sage-100 a.btn { white-space: nowrap; }
/* booking: the patient-space button is a secondary action */
#bookLogin { background: transparent !important; color: #193231 !important; border: 1.5px solid #193231; }
/* one card radius for media inside cards */
.metro-bmi-card img, .hack-medication-card img, .home25_results-card img { border-radius: 16px; }
/* consistent section rhythm; the decorative "Consultation" block gets no extra height */
@media (max-width: 767px) {
  .dr-alert div { font-size: 0.875rem !important; }
  .home25_hero-mobile-img, .home25_hero-mobile video, .home25_hero-mobile-img video { max-height: 280px; object-fit: cover; object-position: 60% 40%; }
}


/* ==== remaining review items (2026-09-10, round 2 leftovers) ==== */
/* physician quote card: one flat mint, quote mark in the ink colour */
.home25_testimonial-right { background: #d8ece4 !important; background-image: none !important; }
.home25_testimonial-right [class*="quote"], .home25_testimonial-right img[src*="quote"] { opacity: .25; filter: none; }
.home25_testimonial-right-text { color: #193231; }
/* footer: columns start on the same line; the submit button must show on dark green; labels not shouty */
.footer_layout { align-items: start; }
.footer .btn-primary, .footer input[type=submit], .footer button[type=submit] { background: #f6f1ee !important; color: #193231 !important; font-weight: 600; }
.footer label, .footer .w-checkbox { font-weight: 400; }
/* BMI tool on phones: inputs → result → photo, so the task is continuous */
