/* Metric-matched fallbacks (2026-10-25): text keeps its size while League Spartan / Manrope load, so the
   font swap no longer moves the page (Lighthouse CLS 0.28 on /forfaits-iptv/). Values measured in Chrome
   against Arial / Arial Bold: League Spartan 90.7 % (bold 92.5 %) width, ascent 70 %, descent 22 %;
   Manrope ≈100 %, ascent 107 %, descent 30 %. Separate bold faces: a synthetic bold of regular Arial is too narrow. */
@font-face { font-family: "League Spartan Fallback"; font-weight: 100 549; src: local("Arial"), local("ArialMT"), local("Arimo"), local("Liberation Sans"), local("Helvetica"); size-adjust: 90.7%; ascent-override: 77.2%; descent-override: 24.3%; line-gap-override: 0%; }
@font-face { font-family: "League Spartan Fallback"; font-weight: 550 900; src: local("Arial Bold"), local("Arial-BoldMT"), local("Arimo Bold"), local("Liberation Sans Bold"), local("Helvetica Bold"); size-adjust: 92.5%; ascent-override: 75.7%; descent-override: 23.8%; line-gap-override: 0%; }
@font-face { font-family: "Manrope Fallback"; font-weight: 100 549; src: local("Arial"), local("ArialMT"), local("Arimo"), local("Liberation Sans"), local("Helvetica"); size-adjust: 100.1%; ascent-override: 106.9%; descent-override: 30%; line-gap-override: 0%; }
@font-face { font-family: "Manrope Fallback"; font-weight: 550 900; src: local("Arial Bold"), local("Arial-BoldMT"), local("Arimo Bold"), local("Liberation Sans Bold"), local("Helvetica Bold"); size-adjust: 99.9%; ascent-override: 107.1%; descent-override: 30%; line-gap-override: 0%; }
/* Home page design system — applied to native Elementor widgets via their CSS classes. */
:root {
  --mode-blue: #0055a4;
  --mode-blue-hover: #00438a;
  --mode-ink: #071230;
  --mode-navy: #0b1a3f;
  --mode-navy-card: #13285a;
  --mode-sky: #8fb2f2;
  --mode-paper: #f5f7fc;
  --mode-tint: #e7eefa;
  --mode-chip: #eef2fa;
  --mode-line: #e2e8f4;
  --mode-text: #0d1633;
  --mode-text-2: #1b2a52;
  --mode-muted: #4c5878;
  --mode-gold: #f5b84c;
  --mode-gold-hover: #d99a2b;
  --mode-gold-text: #8a5a00;
  --mode-gold-icon: #b7791f;
  --mode-gold-ink: #2a1c00;
  --mode-star: #e8a33a;
  --mode-radius-btn: 10px;
  --mode-radius-card: 18px;
  --mode-radius-band: 24px;
  --mode-container: 1360px;
  --mh-gutter: 40px;
  --mode-section-pad: 104px;
  --mode-font-display: "League Spartan", "League Spartan Fallback", sans-serif;
  --mode-font-body: "Manrope", "Manrope Fallback", system-ui, sans-serif;
  --mh-header: 100px;
}
@media (max-width: 1199px) { :root { --mh-gutter: 24px; } }
@media (max-width: 1024px) { :root { --mode-section-pad: 72px; } }
@media (max-width: 991px) { :root { --mh-header: 76px; } }
@media (max-width: 640px) { :root { --mode-section-pad: 56px; --mh-gutter: 16px; } }

html, body { overflow-x: clip; }
body.home { background: #fff !important; }

/* ---------- Base / resets inside sections ---------- */
body .mh {
  box-sizing: border-box;
  font-family: var(--mode-font-body);
  font-size: 17px;
  line-height: 1.65;
  color: var(--mode-text);
  -webkit-font-smoothing: antialiased;
  text-align: left;
}
body .mh *, body .mh *::before, body .mh *::after { box-sizing: border-box; }
body .mh.e-con, body .mh .e-con {
  --padding-top: 0px; --padding-right: 0px; --padding-bottom: 0px; --padding-left: 0px;
  --gap: 0px; --row-gap: 0px; --column-gap: 0px; --widgets-spacing: 0px; --widgets-spacing-row: 0px; --widgets-spacing-column: 0px;
  --margin-top: 0px; --margin-bottom: 0px;
  min-width: 0;
}
.mh .elementor-widget { margin: 0 !important; }
body .mh :where(h1, h2, h3, p, ul, li, figure, blockquote, dl, dt, dd) { margin: 0; padding: 0; }
body .mh :where(ul) { list-style: none; }
body .mh .elementor-heading-title { font-family: var(--mode-font-display); font-weight: 700; color: inherit; line-height: inherit; }
body .mh p.elementor-heading-title, body .mh span.elementor-heading-title { font-family: inherit; }
body .mh .elementor-widget-text-editor { color: inherit; font-family: inherit; font-weight: inherit; }
body .mh .elementor-icon-list-text { font-family: inherit; }
body .mh .elementor-widget-text-editor p { margin: 0; }
body .mh img { max-width: 100%; height: auto; }
body .mh a { color: var(--mode-blue); text-decoration: none; transition: color .2s ease; }
body .mh a:hover { color: var(--mode-blue-hover); }
body .mh svg[fill="none"], body .mh svg[fill="none"] * { fill: none !important; }
body .mh svg { flex-shrink: 0; }
body .mh :is(a, button, summary):focus-visible { outline: 3px solid var(--mode-blue); outline-offset: 3px; }
body .mh.mh-dark :is(a, button):focus-visible, body .mh .mh-dark :is(a, button):focus-visible { outline-color: var(--mode-sky); }

/* Sections + wrapper */
body .mh.mh-sec { padding: var(--mode-section-pad) 0; }
body .mh.mh-paper { background: var(--mode-paper); }
body .mh.mh-white { background: #fff; }
body .mh .mh-wrap { width: min(var(--mode-container), 100% - 2 * var(--mh-gutter)); max-width: none; margin-inline: auto; }

/* Eyebrow */
body .mh .mh-eyebrow .elementor-heading-title {
  display: flex; align-items: center; gap: 10px;
  font-family: var(--mode-font-display); font-size: 14px; font-weight: 700; line-height: 1.2;
  letter-spacing: .14em; text-transform: uppercase; color: var(--mode-blue);
}
body .mh .mh-eyebrow .elementor-heading-title::before {
  content: ""; display: block; flex-shrink: 0; width: 18px; height: 10px;
  background: var(--mode-blue); transform: skewX(-18deg);
}
body .mh .mh-eyebrow--plain .elementor-heading-title::before { display: none; }

/* Headings + lead */
body .mh .mh-h2 .elementor-heading-title { font-size: 46px; line-height: 1.06; letter-spacing: -.01em; }
body .mh .mh-h2--sm .elementor-heading-title { font-size: 40px; line-height: 1.08; }
body .mh .mh-lead { font-size: 17px; line-height: 1.65; color: var(--mode-muted); }
body .mh .mh-lead--loose { line-height: 1.7; }
body .mh .mh-intro { display: flex; flex-direction: column; gap: 18px; max-width: 720px !important; }
body .mh .mh-intro.mh-intro--center { align-items: center; text-align: center; margin-inline: auto; max-width: 800px !important; }
body .mh .mh-intro--center .mh-eyebrow .elementor-heading-title { justify-content: center; }
@media (max-width: 1024px) {
  body .mh .mh-h2 .elementor-heading-title { font-size: 38px; }
  body .mh .mh-h2--sm .elementor-heading-title { font-size: 34px; }
}
@media (max-width: 640px) {
  body .mh .mh-h2 .elementor-heading-title { font-size: 30px; line-height: 1.1; }
  body .mh .mh-h2--sm .elementor-heading-title { font-size: 28px; }
  body .mh .mh-lead { font-size: 16px; }
}

/* Tick lists (icon-list) */
body .mh .mh-ticks .elementor-icon-list-items {
  display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px 24px; padding: 6px 0 8px; margin: 0;
}
body .mh .mh-ticks .elementor-icon-list-item {
  display: flex; gap: 12px; align-items: flex-start; margin: 0 !important; padding: 0 !important;
  font-size: 15px; font-weight: 600; line-height: 1.45; color: var(--mode-text);
}
body .mh .mh-ticks .elementor-icon-list-item::after { display: none; }
body .mh .mh-ticks .elementor-icon-list-icon {
  flex-shrink: 0; width: 26px; height: 26px; border-radius: 13px; background: var(--mode-blue); color: #fff;
  display: flex; align-items: center; justify-content: center; top: 0;
}
body .mh .mh-ticks .elementor-icon-list-icon svg { width: 14px; height: 14px; }
body .mh .mh-ticks .elementor-icon-list-text { padding: 0; color: inherit; align-self: flex-start; }
body .mh .mh-ticks--row .elementor-icon-list-text { align-self: center; }
body .mh .mh-ticks--row .elementor-icon-list-items { display: flex; flex-wrap: wrap; gap: 12px 28px; padding: 4px 0 6px; }
body .mh .mh-ticks--row .elementor-icon-list-item { align-items: center; }
@media (max-width: 640px) { body .mh .mh-ticks .elementor-icon-list-items { grid-template-columns: 1fr; } }

/* Stars (star-rating widget) */
body .mh .mh-stars .elementor-star-rating { display: flex; gap: 2px; color: var(--mode-star); font-size: 16px; line-height: 1; }
body .mh .mh-stars .elementor-star-rating i { color: var(--mode-star); font-style: normal; }
body .mh .mh-stars .elementor-star-rating i::before { color: var(--mode-star); }
body .mh .mh-stars .elementor-star-rating__wrapper { display: flex; }
body .mh .mh-stars .elementor-screen-only { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); }

/* ---------- Buttons (button widget) ---------- */
body .mh .mbtn .elementor-button {
  position: relative; z-index: 1; overflow: hidden;
  display: inline-flex; align-items: center; justify-content: center;
  height: 52px; padding: 0 26px;
  border: 1.5px solid transparent; border-radius: var(--mode-radius-btn);
  background: var(--mode-blue); color: #fff; fill: currentColor;
  font-family: var(--mode-font-body); font-size: 16px; font-weight: 700; line-height: 1.2;
  text-align: center; text-decoration: none; white-space: nowrap; transition: all ease .5s;
}
body .mh .mbtn .elementor-button-content-wrapper { gap: 10px; align-items: center; position: static; }
body .mh .mbtn .elementor-button-icon { display: flex; align-items: center; margin: 0; }
body .mh .mbtn .elementor-button-icon svg { width: 18px; height: 18px; color: inherit; }
body .mh .mbtn .elementor-button-text { flex-grow: 0; }
body .mh .mbtn .elementor-button::before, body .mh .mbtn .elementor-button::after,
body .mh .mbtn .elementor-button-content-wrapper::before, body .mh .mbtn .elementor-button-content-wrapper::after {
  content: ""; position: absolute; opacity: 0; pointer-events: none; transition: all ease .5s;
}
body .mh .mbtn .elementor-button::before { top: 0; left: 0; width: 100%; height: 2px; background: linear-gradient(to right, #fff, transparent); }
body .mh .mbtn .elementor-button::after { bottom: 0; left: 0; width: 100%; height: 2px; background: linear-gradient(to left, #fff, transparent); }
body .mh .mbtn .elementor-button-content-wrapper::before { top: 0; left: 0; width: 2px; height: 100%; background: linear-gradient(to top, #fff, transparent); }
body .mh .mbtn .elementor-button-content-wrapper::after { bottom: 0; right: 0; width: 2px; height: 100%; background: linear-gradient(to bottom, #fff, transparent); }
body .mh .mbtn .elementor-button:is(:hover, :focus-visible) { background-color: var(--mode-blue-hover); border-color: var(--mode-blue-hover); color: #fff; }
body .mh .mbtn .elementor-button:is(:hover, :focus-visible)::before { opacity: 1; animation: mbRight 2s linear infinite; }
body .mh .mbtn .elementor-button:is(:hover, :focus-visible)::after { opacity: 1; animation: mbLeft 2s linear infinite; }
body .mh .mbtn .elementor-button:is(:hover, :focus-visible) .elementor-button-content-wrapper::before { opacity: 1; animation: mbTop 2s linear infinite; animation-delay: 1s; }
body .mh .mbtn .elementor-button:is(:hover, :focus-visible) .elementor-button-content-wrapper::after { opacity: 1; animation: mbBottom 2s linear infinite; animation-delay: 1s; }
@keyframes mbRight { 0% { transform: translateX(-100%); } 100% { transform: translateX(100%); } }
@keyframes mbLeft { 0% { transform: translateX(100%); } 100% { transform: translateX(-100%); } }
@keyframes mbTop { 0% { transform: translateY(100%); } 100% { transform: translateY(-100%); } }
@keyframes mbBottom { 0% { transform: translateY(-100%); } 100% { transform: translateY(100%); } }
body .mh .mbtn--lg .elementor-button { height: 56px; padding: 0 28px; }
body .mh .mbtn--sm .elementor-button { height: 44px; padding: 0 18px; font-size: 14px; }
body .mh .mbtn--md .elementor-button { height: 48px; padding: 0 22px; font-size: 15px; }
body .mh .mbtn--block, body .mh .mbtn--block .elementor-button { display: flex; width: 100%; }
body .mh .mbtn--ghost-dark .elementor-button { background: transparent; border-color: #3a4b66; color: #fff; }
body .mh .mbtn--outline .elementor-button { background: #fff; border-color: var(--mode-blue); color: var(--mode-blue); }
body .mh .mbtn--outline.mbtn--clear .elementor-button:not(:hover):not(:focus-visible) { background: transparent; }
body .mh .mbtn--white .elementor-button { background: #fff; color: var(--mode-blue); font-weight: 800; }
body .mh .mbtn--outline-white .elementor-button { background: transparent; border-color: #fff; color: #fff; }
body .mh .mbtn--gold .elementor-button { background: var(--mode-gold); color: var(--mode-gold-ink); }
body .mh .mbtn--gold .elementor-button:is(:hover, :focus-visible) { background-color: var(--mode-gold-hover); border-color: var(--mode-gold-hover); color: var(--mode-gold-ink); }

/* Text link with arrow (button widget styled as a link) */
body .mh .mlink .elementor-button {
  display: flex; width: max-content; align-items: center; height: auto; padding: 0; border: 0; border-radius: 0; background: none;
  font-family: var(--mode-font-body); font-size: 15px; font-weight: 700; line-height: 1.65; color: var(--mode-blue); transition: none;
}
body .mh .mlink .elementor-button:hover { background: none; color: var(--mode-blue-hover); }
body .mh .mlink .elementor-button-content-wrapper { gap: 6px; align-items: center; }
body .mh .mlink .elementor-button-icon { display: flex; margin: 0; }
body .mh .mlink .elementor-button-icon svg { width: 14px; height: 14px; }

body .mh .mh-actions { display: flex; flex-direction: row; flex-wrap: wrap; gap: 14px; align-items: center; }
body .mh .mh-actions > .elementor-widget { width: auto !important; }
@media (max-width: 640px) {
  body .mh .mh-actions { flex-direction: column; align-items: stretch; }
  body .mh .mh-actions > .elementor-widget { width: 100% !important; }
  body .mh .mh-actions .mbtn .elementor-button { width: 100%; white-space: normal; }
  body .mh .mh-actions .mlink .elementor-button { width: 100%; justify-content: center; min-height: 44px; }
}

/* ---------- 1. Hero ---------- */
body .mh.mh-hero { position: relative; overflow: hidden; background: var(--mode-ink); color: #fff; padding: calc(var(--mh-header) + 104px) 0 128px; }
body .mh .mh-hero__media {
  position: absolute !important; top: var(--mh-header); bottom: 0; right: 0; left: max(calc(50% - 480px), calc(100% - 1600px));
  overflow: hidden; width: auto !important;
}
body .mh .mh-hero__media img { display: block; width: 100%; height: 100%; max-width: none; object-fit: cover; object-position: 100% 50%; }
body .mh .mh-hero__media::before { content: ""; position: absolute; inset: 0; z-index: 1; background: linear-gradient(90deg, #071230 0, rgba(7, 18, 48, 0) 200px); }
body .mh.mh-hero::before {
  content: ""; position: absolute; z-index: 1; top: var(--mh-header); bottom: 0; left: 0; right: 0; inset-inline: 0;
  background: linear-gradient(90deg, #071230 0%, #071230 30%, rgba(7, 18, 48, .92) 38%, rgba(7, 18, 48, .8) 45%, rgba(7, 18, 48, .65) 50%,
    rgba(7, 18, 48, .45) 57%, rgba(7, 18, 48, .25) 65%, rgba(7, 18, 48, .1) 73%, rgba(7, 18, 48, 0) 82%);
  pointer-events: none; opacity: 1; border-radius: 0; mix-blend-mode: normal;
}
body .mh .mh-hero__inner { position: relative; z-index: 2; }
body .mh .mh-hero__copy { width: 600px !important; max-width: 100%; display: flex; flex-direction: column; gap: 28px; }
body .mh.mh-hero h1.elementor-heading-title { font-size: 58px; line-height: 1.02; letter-spacing: -.015em; color: #fff; }
body .mh .mh-hero__lead { font-size: 17px; line-height: 1.7; color: #c4cde3; max-width: 560px !important; }
body .mh .mh-trust .elementor-icon-list-items {
  display: flex; flex-wrap: wrap; gap: 12px 28px; padding-top: 24px; margin: 0 !important; border-top: 1px solid #1b2a42;
}
body .mh .mh-trust .elementor-icon-list-item { display: flex; align-items: center; gap: 8px; margin: 0 !important; padding: 0 !important; font-size: 14px; line-height: 1.4; color: #c4cde3; }
body .mh .mh-trust .elementor-icon-list-item::after { display: none; }
body .mh .mh-trust .elementor-icon-list-icon { color: var(--mode-sky); top: 0; }
body .mh .mh-trust .elementor-icon-list-icon svg { width: 18px; height: 18px; }
body .mh .mh-trust .elementor-icon-list-text { padding: 0; color: inherit; }
@media (max-width: 1024px) {
  body .mh.mh-hero { padding: calc(var(--mh-header) + 72px) 0 80px; }
  body .mh .mh-hero__media { left: 0; top: var(--mh-header); }
  body .mh.mh-hero::before { display: none; }
  body .mh .mh-hero__media::before { background: linear-gradient(90deg, rgba(7, 18, 48, .94) 0%, rgba(7, 18, 48, .82) 55%, rgba(7, 18, 48, .6) 100%); }
  body .mh.mh-hero h1.elementor-heading-title { font-size: 46px; }
}
@media (max-width: 640px) {
  body .mh.mh-hero { padding: calc(var(--mh-header) + 48px) 0 56px; }
  body .mh .mh-hero__media::before { background: rgba(7, 18, 48, .84); }
  body .mh.mh-hero h1.elementor-heading-title { font-size: 36px; line-height: 1.06; }
  body .mh .mh-hero__lead { font-size: 16px; }
  body .mh .mh-hero__copy { gap: 22px; }
}

/* ---------- 2. Stats ---------- */
body .mh.mh-stats { padding: 48px 0; border-bottom: 1px solid var(--mode-line); }
body .mh .mh-stats__grid { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); }
body .mh .mh-stat { padding: 0 24px; border-right: 1px solid var(--mode-line); }
body .mh .mh-stat:last-child { border-right: 0; }
body .mh .mh-stat .elementor-counter { display: flex; flex-direction: column-reverse; align-items: flex-start; justify-content: flex-end; gap: 8px; }
body .mh .mh-stat .elementor-counter-number-wrapper {
  display: flex; flex: none; font-family: var(--mode-font-display); font-size: 44px; font-weight: 700; line-height: 1;
  color: var(--mode-text); font-variant-numeric: tabular-nums;
}
body .mh .mh-stat .elementor-counter-number-prefix, body .mh .mh-stat .elementor-counter-number-suffix { flex-grow: 0; text-align: start; }
body .mh .mh-stat .elementor-counter-number-prefix:empty { display: none; }
body .mh .mh-stat .elementor-counter-title { font-family: var(--mode-font-body); font-size: 14px; font-weight: 400; line-height: 1.4; color: var(--mode-muted); text-align: start; margin: 0; }
@media (max-width: 1024px) {
  body .mh .mh-stat { padding: 0 16px; }
  body .mh .mh-stat .elementor-counter-number-wrapper { font-size: clamp(30px, 4.4vw, 44px); }
  body .mh .mh-stat .elementor-counter-title { font-size: 13px; }
}
@media (max-width: 640px) {
  body .mh.mh-stats { padding: 28px 0; }
  body .mh .mh-stat { padding: 0 6px; }
  body .mh .mh-stat .elementor-counter { gap: 6px; }
  body .mh .mh-stat .elementor-counter-number-wrapper { font-size: clamp(16px, 5vw, 28px); letter-spacing: -.01em; }
  body .mh .mh-stat .elementor-counter-title { font-size: clamp(10px, 2.9vw, 12px); line-height: 1.25; }
}
@media (max-width: 360px) { body .mh.mh-stats .mh-wrap { width: calc(100% - 16px); } body .mh .mh-stat { padding: 0 4px; } }

/* ---------- 3. Pricing ---------- */
body .mh.mh-pricing { scroll-margin-top: 24px; }
body .mh .mh-pricing__inner { display: flex; flex-direction: column; align-items: center; gap: 40px; }
body .mh .mh-tabs-w { width: 100% !important; }
body .mh .mh-tabs-w .e-n-tabs { display: flex; flex-direction: column; gap: 58px; }
body .mh .mh-tabs-w .e-n-tabs-heading {
  display: flex; flex-wrap: nowrap; gap: 4px; padding: 6px; margin-inline: auto; width: max-content; max-width: 100%;
  background: var(--mode-chip); border-radius: 14px; justify-content: center; flex-basis: auto;
}
body .mh .mh-tabs-w .e-n-tab-title {
  display: flex; align-items: center; gap: 4px; min-width: 0; height: 48px; margin: 0; padding: 0 24px;
  border: 0; border-radius: 10px; background: transparent; color: var(--mode-text-2);
  font-family: var(--mode-font-body); font-size: 15px; font-weight: 800; line-height: 1; text-transform: none; letter-spacing: normal;
  transition: background-color .2s ease, color .2s ease, box-shadow .2s ease; flex: none; box-shadow: none; white-space: nowrap; cursor: pointer;
}
body .mh .mh-tabs-w .e-n-tab-title {
  --n-tabs-title-background-color: transparent; --n-tabs-title-color: var(--mode-text-2);
  --n-tabs-title-background-color-hover: #fff; --n-tabs-title-color-hover: var(--mode-text-2);
  --n-tabs-title-background-color-active: var(--mode-blue); --n-tabs-title-color-active: #fff;
}
body .mh .mh-tabs-w .e-n-tab-title[data-tab-index="2"] {
  --n-tabs-title-background-color-active: var(--mode-gold); --n-tabs-title-color-active: var(--mode-gold-ink);
}
body .mh .mh-tabs-w .e-n-tab-title .e-n-tab-title-text { font: inherit; color: inherit; display: flex; align-items: center; gap: 4px; }
body .mh .mh-tabs-w .e-n-tab-title[data-tab-index="1"] .e-n-tab-title-text::after { content: none; }
body .mh .mh-tabs-w .e-n-tab-title[data-tab-index="2"] .e-n-tab-title-text::after {
  content: "Famille"; display: inline-block; margin-left: 6px; padding: 3px 8px; border-radius: 6px; font-size: 12px; font-weight: 800;
  line-height: 1; background: var(--mode-gold); color: var(--mode-gold-ink);
}
body .mh .mh-tabs-w .e-n-tab-title[aria-selected="true"] { background: var(--mode-blue); color: #fff; box-shadow: 0 6px 16px rgba(0, 85, 164, .28); }
body .mh .mh-tabs-w .e-n-tab-title[data-tab-index="2"][aria-selected="true"] { background: var(--mode-gold); color: var(--mode-gold-ink); box-shadow: 0 6px 16px rgba(201, 138, 18, .28); }
body .mh .mh-tabs-w .e-n-tab-title[data-tab-index="2"][aria-selected="true"] .e-n-tab-title-text::after { background: var(--mode-gold-ink); color: var(--mode-gold); }
body .mh .mh-tabs-w .e-n-tab-title:not([aria-selected="true"]):hover { background: #fff; color: var(--mode-text-2); }
body .mh .mh-tabs-w .e-n-tabs-content { width: 100%; min-width: 0; }
body .mh .mh-tabs-w .e-n-tabs-content > .mh-panel { width: 100%; padding: 0; border: 0; }
body .mh .mh-plans { display: grid !important; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 20px; align-items: stretch; width: 100%; }

body .mh .mh-plan {
  --mh-plan-accent: #0055a4; --mh-plan-surface: #f5f7fc; --mh-plan-border: #dce4f4; --mh-plan-text: #0d1633;
  --mh-plan-label: #0055a4; --mh-plan-price: #0055a4; --mh-plan-muted: #4c5878; --mh-plan-rule: #dce4f4;
  --mh-plan-check-bg: #e7eefa; --mh-plan-check-ink: #0055a4; --mh-plan-accent-ink: #fff; --mh-plan-hover: #00438a;
  position: relative; display: flex; flex-direction: column; min-width: 0; height: auto; margin: 0;
  padding: 32px 24px 24px; border: 1px solid var(--mh-plan-border); border-radius: 20px;
  background: var(--mh-plan-surface); color: var(--mh-plan-text); box-shadow: none; overflow: visible;
}
body .mh .mh-plan.mh-plan--premium {
  --mh-plan-accent: #f5b84c; --mh-plan-surface: #fffbf2; --mh-plan-border: #f1ddb0; --mh-plan-label: #8a5a00; --mh-plan-price: #af7714;
  --mh-plan-rule: #f1ddb0; --mh-plan-check-bg: #f5b84c; --mh-plan-check-ink: #2a1c00; --mh-plan-accent-ink: #2a1c00; --mh-plan-hover: #d99a2b;
  box-shadow: inset 0 2px 0 #f5b84c;
}
body .mh .mh-plan.mh-plan--featured {
  --mh-plan-surface: #071230; --mh-plan-text: #f5f7fc; --mh-plan-label: #8fb2f2; --mh-plan-price: #8fb2f2; --mh-plan-muted: #bac5df;
  --mh-plan-rule: #22325e; --mh-plan-check-bg: #1b2a52; --mh-plan-check-ink: #8fb2f2;
  border: 2px solid var(--mh-plan-accent); padding: 31px 23px 23px; transform: translateY(-14px);
  box-shadow: 0 24px 44px -16px rgba(0, 85, 164, .38);
}
body .mh .mh-plan.mh-plan--premium.mh-plan--featured {
  --mh-plan-label: #f5b84c; --mh-plan-price: #ffd17b; --mh-plan-rule: #4a3b26; --mh-plan-check-bg: #f5b84c; --mh-plan-check-ink: #2a1c00;
  background: radial-gradient(ellipse at 50% 0, rgba(245, 184, 76, .13), transparent 38%), #071230;
  box-shadow: 0 24px 44px -16px rgba(201, 138, 18, .35);
}
body .mh .mh-plan .mh-plan__badge { position: absolute !important; z-index: 1; top: -16px; left: 50%; transform: translateX(-50%); width: max-content !important; }
body .mh .mh-plan .mh-plan__badge .elementor-heading-title {
  display: inline-flex; align-items: center; justify-content: center; min-height: 32px; padding: 7px 16px; border-radius: 999px;
  background: var(--mh-plan-accent); color: var(--mh-plan-accent-ink); font-family: var(--mode-font-body);
  font-size: 12px; font-weight: 800; line-height: 18px; letter-spacing: .06em; text-transform: uppercase; white-space: nowrap;
}
body .mh .mh-plan .mh-plan__tier .elementor-heading-title { color: var(--mh-plan-label); font-family: var(--mode-font-body); font-size: 12px; font-weight: 800; line-height: 16px; letter-spacing: 1px; text-transform: uppercase; }
body .mh .mh-plan .mh-plan__dur { margin-top: 4px !important; }
body .mh .mh-plan .mh-plan__dur .elementor-heading-title { color: var(--mh-plan-text); font-family: var(--mode-font-display); font-size: 20px; font-weight: 700; line-height: 24px; }
body .mh .mh-plan .mh-plan__price {
  display: flex; flex-wrap: nowrap; align-items: baseline; width: 100% !important; min-height: 50px; margin-top: 20px !important;
  color: var(--mh-plan-price); font-family: var(--mode-font-display); line-height: 1; white-space: nowrap;
}
body .mh .mh-plan .mh-plan__currency { flex: 0 0 auto; align-self: flex-start; margin: 6px 1px 0 0; font-family: var(--mode-font-display); font-size: 26px; font-weight: 700; line-height: 1; color: var(--mh-plan-price); }
body .mh .mh-plan .mh-plan__amount { flex: 0 0 auto; font-family: var(--mode-font-display); font-size: 50px; font-weight: 700; line-height: 1; letter-spacing: -.02em; color: var(--mh-plan-price); }
body .mh .mh-plan .mh-plan__cur { flex: 0 0 auto; margin-left: 8px; color: var(--mh-plan-muted); font-family: var(--mode-font-body); font-size: 14px; font-weight: 600; line-height: 20px; }
body .mh .mh-plan .mh-plan__monthly { width: 100% !important; margin-top: 12px !important; color: var(--mh-plan-text); font-family: var(--mode-font-body); font-size: 13px; font-weight: 500; line-height: 20px; }
body .mh .mh-plan .mh-plan__saving-slot { width: 100% !important; min-height: 28px; margin-top: 12px !important; line-height: 0; font-size: 0; }
body .mh .mh-plan .mh-plan__saving {
  display: inline-flex; align-items: center; justify-content: center; width: max-content; max-width: 100%; padding: 6px 10px;
  border-radius: 999px; background: var(--mh-plan-accent); color: var(--mh-plan-accent-ink); font-family: var(--mode-font-body);
  font-size: 12px; font-weight: 800; line-height: 16px; white-space: nowrap;
}
body .mh .mh-plan .mh-plan__feats { flex: 1 0 auto !important; width: 100%; margin-top: 20px !important; padding-top: 18px; border-top: 1px solid var(--mh-plan-rule); }
body .mh .mh-plan .mh-plan__feats .elementor-icon-list-items { display: flex; flex-direction: column; gap: 10px; margin: 0; padding: 0; }
body .mh .mh-plan .mh-plan__feats .elementor-icon-list-item {
  display: flex; align-items: flex-start; gap: 10px; min-width: 0; margin: 0 !important; padding: 0 !important;
  color: var(--mh-plan-text); font-family: var(--mode-font-body); font-size: 14px; font-weight: 500; line-height: 20px;
}
body .mh .mh-plan .mh-plan__feats .elementor-icon-list-item::after { display: none; }
body .mh .mh-plan .mh-plan__feats .elementor-icon-list-icon {
  display: inline-flex; flex: 0 0 18px; align-items: center; justify-content: center; width: 18px; height: 18px; margin-top: 1px;
  border-radius: 50%; background: var(--mh-plan-check-bg); color: var(--mh-plan-check-ink); top: 0;
}
body .mh .mh-plan .mh-plan__feats .elementor-icon-list-icon svg { display: block; width: 12px; height: 12px; }
body .mh .mh-plan .mh-plan__feats .elementor-icon-list-text { flex: 1 1 0%; min-width: 0; padding: 0; color: inherit; align-self: flex-start; }
body .mh .mh-plan .mh-plan__btn { width: 100% !important; margin-top: 24px !important; }
body .mh .mh-plan .mh-plan__btn .elementor-button {
  display: flex; width: 100%; height: 50px; min-height: 50px; padding: 0 16px; border: 1px solid transparent; border-radius: 10px;
  background: var(--mh-plan-accent); color: var(--mh-plan-accent-ink); font-size: 15px; font-weight: 700; line-height: 1.2;
}
body .mh .mh-plan .mh-plan__btn .elementor-button:is(:hover, :focus-visible) { background: var(--mh-plan-hover); border-color: var(--mh-plan-hover); color: var(--mh-plan-accent-ink); }
body .mh .mh-guarantee { display: flex; flex-wrap: wrap; align-items: center; justify-content: center; gap: 8px 12px; font-size: 15px; color: var(--mode-muted); line-height: 27px; }
body .mh .mh-guarantee::before {
  content: ""; width: 20px; height: 20px; background: var(--mode-blue);
  -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 3l8 3v6c0 5-3.5 8-8 9-4.5-1-8-4-8-9V6z'/%3E%3Cpath d='m9 12 2 2 4-4'/%3E%3C/svg%3E") center / contain no-repeat;
          mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 3l8 3v6c0 5-3.5 8-8 9-4.5-1-8-4-8-9V6z'/%3E%3Cpath d='m9 12 2 2 4-4'/%3E%3C/svg%3E") center / contain no-repeat;
}
body .mh .mh-guarantee strong { color: var(--mode-text); }
body .mh .mh-guarantee a.mlink, body .mh .mh-faq__a-text a, body .mh .mh-guarantee-card__text a, body .mh .mh-benefit a { font-weight: 700; }
body .mh a.mlink { display: inline-flex; align-items: center; gap: 6px; font-size: 15px; font-weight: 700; color: var(--mode-blue); transition: none; }
body .mh a.mlink::after {
  content: ""; width: 14px; height: 14px; background: currentColor;
  -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12h14'/%3E%3Cpath d='m13 6 6 6-6 6'/%3E%3C/svg%3E") center / contain no-repeat;
          mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12h14'/%3E%3Cpath d='m13 6 6 6-6 6'/%3E%3C/svg%3E") center / contain no-repeat;
}
body .mh.mh-pricing:has(.e-n-tab-title[data-tab-index="2"][aria-selected="true"]) .mh-guarantee::before { background: var(--mode-gold-icon); }
body .mh.mh-pricing:has(.e-n-tab-title[data-tab-index="2"][aria-selected="true"]) .mh-guarantee a.mlink { color: var(--mode-gold-text); }
@media (max-width: 1279px) {
  body .mh .mh-plans { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 36px 20px; }
  body .mh .mh-plan.mh-plan--featured { transform: none; }
}
@media (max-width: 640px) {
  body .mh .mh-pricing__inner { gap: 32px; }
  body .mh .mh-tabs-w .e-n-tabs { gap: 50px; }
  body .mh .mh-plans { grid-template-columns: minmax(0, 1fr); gap: 32px; }
  body .mh .mh-tabs-w .e-n-tabs-heading { width: 100%; }
  body .mh .mh-tabs-w .e-n-tab-title { flex: 1 1 0%; justify-content: center; padding: 0 12px; }
  body .mh .mh-tabs-w .e-n-tab-title[data-tab-index="1"] .e-n-tab-title-text::after { display: none; }
}

/* ---------- Split layout ---------- */
body .mh .mh-split { display: flex; flex-direction: row; gap: 72px; align-items: center; }
body .mh .mh-split__text { flex: 1 1 auto; min-width: 0; display: flex; flex-direction: column; gap: 22px; }
@media (max-width: 1024px) { body .mh .mh-split { flex-direction: column; align-items: stretch; gap: 48px; } }
body .mh .mh-highlight { position: relative; z-index: 0; }
body .mh .mh-highlight::before {
  content: ""; position: absolute; z-index: -1; top: 50%; left: -40px; width: 0; height: 140%;
  transform: translateY(-50%); background-color: #d3e6f8; transition: all ease .5s;
}
@media (min-width: 1200px) and (hover: hover) { body .mh .mh-split:hover .mh-highlight::before { width: calc(100% + 64px); } }
@media (max-width: 1199px) { body .mh .mh-highlight::before { display: none; } }

/* ---------- 4. Who we are ---------- */
body .mh .mh-who__media { position: relative; flex: 0 0 560px !important; width: 560px; height: 440px; }
body .mh .mh-who__img img { display: block; width: 100%; height: 400px; object-fit: cover; border-radius: 20px; }
body .mh .mh-rating-card {
  position: absolute !important; left: 32px; bottom: 0; width: auto; display: flex; flex-direction: row; align-items: center; gap: 16px;
  padding: 18px 22px; background: #fff; border-radius: 16px; box-shadow: 0 20px 40px rgba(13, 22, 51, .14);
}
body .mh .mh-rating-card__meta { width: auto; }
body .mh .mh-rating-card__score .elementor-heading-title { font-family: var(--mode-font-display); font-size: 40px; font-weight: 700; line-height: 1; color: var(--mode-text); }
body .mh .mh-rating-card__count { font-size: 13px; line-height: 1.4; color: var(--mode-muted); margin-top: 4px !important; }
body .mh.mh-who .mh-actions { gap: 22px; }
@media (max-width: 1024px) {
  body .mh .mh-who__media { flex: none !important; width: 100%; max-width: 560px !important; height: auto; padding-bottom: 40px; }
  body .mh .mh-who__img img { height: auto; aspect-ratio: 7 / 5; }
}
@media (max-width: 640px) {
  body .mh .mh-rating-card { left: 16px; right: 16px; padding: 14px 18px; }
  body .mh .mh-rating-card__score .elementor-heading-title { font-size: 34px; }
}

/* ---------- 5. Setup guides ---------- */
body .mh.mh-setup { padding: 64px 0; background: #fff; }
body .mh .msg { display: flex; flex-direction: column; gap: 40px; }
body .mh .msg__head { display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: center; gap: 32px; }
body .mh .msg__intro { display: flex; flex-direction: column; min-width: 0; }
body .mh .msg__intro .mh-eyebrow { margin-bottom: 14px !important; }
body .mh .msg__title .elementor-heading-title { font-size: 42px; line-height: 1.08; font-weight: 700; letter-spacing: -.01em; color: #0b1a3f; }
body .mh .msg__lead { margin-top: 14px !important; font-size: 17px; line-height: 1.6; color: #64748b; max-width: 640px !important; }
body .mh .msg__all .elementor-button { height: 54px; padding: 0 28px; white-space: nowrap; background: #fff; border: 1.5px solid #0055a4; color: #0055a4; }
body .mh .msg__body { display: grid; grid-template-columns: minmax(0, 58fr) minmax(0, 42fr); gap: 24px; align-items: stretch; }
body .mh .msg__photo { min-width: 0; order: 2; }
body .mh .msg__photo img { display: block; width: 100%; height: 100%; min-height: 100%; max-width: none; aspect-ratio: 16 / 9; object-fit: cover; object-position: center; border-radius: 16px; }
body .mh .msg__grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); grid-template-rows: repeat(3, minmax(0, 1fr)); gap: 14px; }
body .mh .msg__card {
  display: grid !important; grid-template-columns: auto minmax(0, 1fr) auto; align-items: center; gap: 12px; width: 100%;
  padding: 16px 18px; background: #f4f7fd; border: 1px solid #dce4f4; border-radius: 14px; color: #0b1a3f; text-decoration: none;
  transition: border-color .2s ease, background-color .2s ease;
}
body .mh .msg__card:hover { border-color: #0055a4; background: #eaf3fd; color: #0b1a3f; }
body .mh .msg__icon { display: flex; align-items: center; justify-content: center; width: 48px !important; height: 48px; }
body .mh .msg__icon img { display: block; width: auto; max-width: 48px; max-height: 26px; object-fit: contain; }
body .mh .msg__name { line-height: 1.3; }
body .mh .msg__name .elementor-heading-title { font-family: var(--mode-font-body); font-size: 15px; font-weight: 600; line-height: 1.3; overflow-wrap: break-word; color: #0b1a3f; }
body .mh .msg__arrow .elementor-icon { display: flex; color: #0055a4; font-size: 18px; }
body .mh .msg__arrow svg { width: 18px; height: 18px; }
@media (max-width: 1199px) {
  body .mh .msg { gap: 24px; }
  body .mh .msg__head { grid-template-columns: minmax(0, 1fr); gap: 22px; justify-items: start; }
  body .mh .msg__title .elementor-heading-title { font-size: 36px; }
  body .mh .msg__body { grid-template-columns: minmax(0, 1fr); gap: 22px; }
  body .mh .msg__photo { order: 0; }
  body .mh .msg__photo img { height: auto; min-height: 0; }
  body .mh .msg__grid { grid-template-rows: none; grid-auto-rows: 1fr; }
}
@media (max-width: 767px) { body .mh .msg__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 640px) {
  body .mh.mh-setup { padding: 48px 0; }
  body .mh .msg__title .elementor-heading-title { font-size: 30px; line-height: 1.12; }
  body .mh .msg__lead { font-size: 16px; }
  body .mh .msg__all, body .mh .msg__all .elementor-button { width: 100%; white-space: normal; }
}
@media (max-width: 479px) {
  body .mh .msg__grid { grid-template-columns: minmax(0, 1fr); grid-auto-rows: auto; gap: 12px; }
  body .mh .msg__card { padding: 12px 16px 12px 12px; }
  body .mh .msg__icon { width: 44px !important; height: 44px; }
}

/* ---------- Grids + feature cards ---------- */
body .mh .mh-stack { display: flex; flex-direction: column; gap: 44px; }
body .mh .mh-grid { display: grid !important; gap: 20px; }
body .mh .mh-grid--4 { grid-template-columns: repeat(4, minmax(0, 1fr)); }
body .mh .mh-grid--3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
body .mh .mh-grid--2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
@media (max-width: 1024px) { body .mh .mh-grid--4, body .mh .mh-grid--3 { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 640px) { body .mh .mh-grid--4, body .mh .mh-grid--3, body .mh .mh-grid--2 { grid-template-columns: 1fr; } }
body .mh .mh-feature { display: flex; flex-direction: column; overflow: hidden; background: #fff; border: 1px solid var(--mode-line); border-radius: var(--mode-radius-card); }
body .mh .mh-feature__img img { display: block; width: 100%; height: 176px; object-fit: cover; }
body .mh .mh-feature__body { flex-grow: 1; display: flex; flex-direction: column; gap: 10px; padding: 22px 22px 24px; }
body .mh .mh-feature__title .elementor-heading-title { font-size: 21px; line-height: 1.2; color: var(--mode-text); }
body .mh .mh-feature__text { flex-grow: 1; margin-bottom: 8px !important; font-size: 15px; line-height: 1.55; color: var(--mode-text-2); }
body .mh .mh-feature .mbtn .elementor-button { white-space: normal; }

/* ---------- 7. Coverage ---------- */
body .mh.mh-coverage .mh-split { gap: 64px; }
body .mh .mh-coverage__text { flex: 0 0 520px !important; width: 520px; display: flex; flex-direction: column; gap: 20px; }
body .mh .mh-chips .elementor-icon-list-items { display: flex; flex-wrap: wrap; gap: 8px; margin: 0 !important; }
body .mh .mh-chips .elementor-icon-list-item { margin: 0 !important; padding: 0 !important; border-radius: 999px; background: var(--mode-chip); font-size: 13px; line-height: 1.3; }
body .mh .mh-chips .elementor-icon-list-item::after, body .mh .mh-chips .elementor-icon-list-icon { display: none; }
body .mh .mh-chips .elementor-icon-list-item a { display: block; padding: 8px 14px; border-radius: 999px; color: #015ca3; transition: none; }
body .mh .mh-chips .elementor-icon-list-text { padding: 0; font-size: 13px; font-weight: 700; line-height: 1.3; color: inherit; }
body .mh .mh-chips .elementor-icon-list-item a:hover { background: #dde7f8; color: #0b1a3f; }
body .mh .mh-coverage__map { flex: 1 1 auto; min-width: 0; }
@media (max-width: 1024px) { body .mh .mh-coverage__text { flex: none !important; width: 100%; } }

/* Canada map */
.mh-cmap{--cmap-fill:#E2EBF5;--cmap-fill-active:#BCD9F0;--cmap-blue:#0055a4;--cmap-navy:#0b1a3f;--cmap-line:#8A98AA;--cmap-stroke:1.5px;--cmap-dot:9px;--cmap-hit:36px;width:100%;background:transparent}
.mh-cmap *,.mh-cmap *::before,.mh-cmap *::after{box-sizing:border-box}
.mh-cmap__canvas{position:relative;width:100%;aspect-ratio:1000 / 857.43}
.mh-cmap__canvas>svg{position:absolute;inset:0;display:block;width:100%;height:100%;max-width:none;overflow:visible}
.mh-cmap__svg path{fill:var(--cmap-fill);stroke:#FFF;stroke-width:var(--cmap-stroke);vector-effect:non-scaling-stroke;transition:fill .18s ease}
.mh-cmap__svg path.is-active{fill:var(--cmap-fill-active)}
.mh-cmap__callouts{pointer-events:none}
.mh-cmap__callout line{stroke:var(--cmap-line);stroke-width:1px;vector-effect:non-scaling-stroke;transition:stroke .18s ease}
.mh-cmap__callout circle{fill:var(--cmap-line);transition:fill .18s ease}
.mh-cmap__callout.is-active line{stroke:var(--cmap-blue)}
.mh-cmap__callout.is-active circle{fill:var(--cmap-blue)}
.mh-cmap__spot[data-region="CA-BC"]{--hotspot-x:11.891%;--hotspot-y:62.8751%}
.mh-cmap__spot[data-region="CA-AB"]{--hotspot-x:22.083%;--hotspot-y:65.0467%}
.mh-cmap__spot[data-region="CA-SK"]{--hotspot-x:31.862%;--hotspot-y:67.693%}
.mh-cmap__spot[data-region="CA-MB"]{--hotspot-x:40.748%;--hotspot-y:68.6738%}
.mh-cmap__spot[data-region="CA-ON"]{--hotspot-x:55.632%;--hotspot-y:78.9837%}
.mh-cmap__spot[data-region="CA-QC"]{--hotspot-x:70.58%;--hotspot-y:67.1203%}
.mh-cmap__spot[data-region="CA-NB"]{--hotspot-x:77%;--hotspot-y:92.1358%}
.mh-cmap__spot[data-region="CA-NS"]{--hotspot-x:95%;--hotspot-y:92.1358%}
.mh-cmap__spot[data-region="CA-PE"]{--hotspot-x:86%;--hotspot-y:92.1358%}
.mh-cmap__spot[data-region="CA-NL"]{--hotspot-x:84.14%;--hotspot-y:58.8969%}
.mh-cmap__spot[data-region="CA-YT"]{--hotspot-x:11.434%;--hotspot-y:36.4776%}
.mh-cmap__spot[data-region="CA-NT"]{--hotspot-x:23.177%;--hotspot-y:41.6011%}
.mh-cmap__spot[data-region="CA-NU"]{--hotspot-x:41.354%;--hotspot-y:46.1694%}
.mh-cmap__spot{position:absolute;z-index:2;left:var(--hotspot-x);top:var(--hotspot-y);width:var(--cmap-hit);height:var(--cmap-hit);transform:translate(-50%,-50%);margin:0;padding:0;border:0;border-radius:50%;background:transparent;box-shadow:none;cursor:pointer;-webkit-tap-highlight-color:transparent;transition:none}
.mh-cmap__spot::before,.mh-cmap__spot::after{content:"";position:absolute;left:50%;top:50%;border-radius:50%;transform:translate(-50%,-50%);pointer-events:none}
.mh-cmap__spot::before{width:var(--cmap-dot);height:var(--cmap-dot);background:var(--cmap-blue);box-shadow:0 0 0 2px #FFF}
.mh-cmap__spot::after{width:calc(var(--cmap-dot) + 12px);height:calc(var(--cmap-dot) + 12px);border:2px solid var(--cmap-blue);background:rgba(0, 85, 164,.12);opacity:0;transition:opacity .18s ease}
.mh-cmap__spot[aria-expanded="true"]::after{opacity:1}
.mh-cmap__spot:hover,.mh-cmap__spot:focus{background:transparent;border:0;color:inherit}
.mh-cmap .mh-cmap__canvas .mh-cmap__spot:focus{outline:none}
.mh-cmap .mh-cmap__canvas .mh-cmap__spot:focus-visible{outline:2px solid var(--cmap-navy);outline-offset:0}
.mh-cmap__sr{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}
.mh-cmap__tip{position:absolute;z-index:3;left:0;top:0;width:max-content;max-width:calc(100% - 16px);padding:7px 11px;background:var(--cmap-navy);border:0;border-radius:8px;box-shadow:0 6px 16px rgba(11, 26, 63,.18);color:#FFF;font-family:inherit;font-size:13px;font-weight:700;line-height:1.25;white-space:nowrap;--tip-arrow:50%}
.mh-cmap__tip[hidden]{display:none}
.mh-cmap__tip::after{content:"";position:absolute;left:var(--tip-arrow);width:8px;height:8px;margin-left:-4px;background:var(--cmap-navy);transform:rotate(45deg);bottom:-4px}
.mh-cmap__tip.is-below::after{bottom:auto;top:-4px}
@media (max-width:640px){.mh-cmap{--cmap-stroke:1px;--cmap-dot:7px;--cmap-hit:24px}.mh-cmap__spot::after{width:calc(var(--cmap-dot) + 10px);height:calc(var(--cmap-dot) + 10px)}}

/* ---------- 8. Why (icon-box cards) ---------- */
body .mh .mh-benefit { display: flex; flex-direction: column; padding: 30px; background: #fff; border: 1px solid var(--mode-line); border-radius: var(--mode-radius-card); }
body .mh .mh-benefit .elementor-icon-box-wrapper { display: flex; flex-direction: column; align-items: flex-start; gap: 14px; text-align: left; }
body .mh .mh-benefit .elementor-icon-box-icon { display: flex; margin: 0 !important; line-height: 0; height: 48px; }
body .mh .mh-benefit .elementor-icon {
  width: 48px; height: 48px; border-radius: 12px; background: var(--mode-tint); color: var(--mode-blue);
  display: flex; align-items: center; justify-content: center; font-size: 24px;
}
body .mh .mh-benefit .elementor-icon svg { width: 24px; height: 24px; }
body .mh .mh-benefit .elementor-icon-box-content { display: flex; flex-direction: column; gap: 14px; }
body .mh .mh-benefit .elementor-icon-box-title { margin: 0; font-family: var(--mode-font-display); font-size: 22px; font-weight: 700; line-height: 1.2; color: var(--mode-text); }
body .mh .mh-benefit .elementor-icon-box-title span { color: inherit; }
body .mh .mh-benefit .elementor-icon-box-description { margin: 0; font-size: 15px; line-height: 1.6; color: var(--mode-muted); }
@media (max-width: 640px) { body .mh .mh-benefit { padding: 24px; } }

/* ---------- 9. Trial + guarantee ---------- */
body .mh.mh-trial { padding-top: 0; }
body .mh .mh-trial__grid { display: grid !important; grid-template-columns: 1.55fr 1fr; gap: 20px; }
body .mh .mh-trial__card {
  position: relative; overflow: hidden; isolation: isolate; display: flex; flex-direction: column; gap: 20px;
  padding: 52px; border-radius: var(--mode-radius-band); background: var(--mode-blue); color: #fff;
}
body .mh .mh-trial__card::before {
  content: ""; position: absolute; z-index: -1; right: -75px; top: -2px; left: auto; bottom: auto; inset-inline-start: auto;
  width: 323px; height: 540px; background: #004a96; transform: skewX(-14deg); opacity: 1; border-radius: 0;
}
body .mh .mh-trial__card .mh-eyebrow .elementor-heading-title { color: #fff; font-size: 17px; line-height: 1.65; }
body .mh .mh-trial__title .elementor-heading-title { font-size: 44px; line-height: 1.06; letter-spacing: -.01em; max-width: 520px; color: #fff; }
body .mh .mh-trial__text { font-size: 17px; line-height: 1.65; max-width: 540px !important; color: #fff; }
body .mh .mh-trial__card .mh-actions { padding-top: 6px; }
body .mh .mh-trial__card .mbtn .elementor-button { height: 54px; }
body .mh .mh-trial__card :is(a, button):focus-visible { outline-color: #fff; }
body .mh .mh-guarantee-card { display: flex; flex-direction: column; gap: 18px; padding: 44px; border-radius: var(--mode-radius-band); background: var(--mode-ink); color: #fff; }
body .mh .mh-guarantee-card__icon .elementor-icon {
  width: 56px; height: 56px; border-radius: 14px; background: var(--mode-navy-card); color: var(--mode-sky);
  display: flex; align-items: center; justify-content: center; font-size: 28px;
}
body .mh .mh-guarantee-card__icon svg { width: 28px; height: 28px; }
body .mh .mh-guarantee-card__icon .elementor-icon-wrapper { display: flex; }
body .mh .mh-guarantee-card__title .elementor-heading-title { font-size: 30px; line-height: 1.1; color: #fff; }
body .mh .mh-guarantee-card__text { font-size: 15px; line-height: 1.65; color: #b8c2dc; }
body .mh .mh-guarantee-card__text a { color: var(--mode-sky); font-weight: 700; }
body .mh .mh-guarantee-card__text a:hover { color: #fff; }
body .mh .mh-guarantee-card .mlink { margin-top: auto !important; }
body .mh .mh-guarantee-card .mlink .elementor-button { color: var(--mode-sky); }
body .mh .mh-guarantee-card .mlink .elementor-button:hover { color: #fff; }
@media (max-width: 1024px) { body .mh .mh-trial__grid { grid-template-columns: 1fr; } }
@media (max-width: 640px) {
  body .mh .mh-trial__card { padding: 32px 24px; }
  body .mh .mh-trial__card::before { display: none; }
  body .mh .mh-trial__title .elementor-heading-title { font-size: 32px; }
  body .mh .mh-trial__text { font-size: 16px; }
  body .mh .mh-guarantee-card { padding: 32px 24px; }
  body .mh .mh-guarantee-card__title .elementor-heading-title { font-size: 26px; }
}

/* ---------- 10. Reviews ---------- */
body .mh.mh-reviews { scroll-margin-top: 24px; }
body .mh .mh-reviews__layout { display: flex; flex-direction: row; gap: 56px; align-items: flex-start; }
body .mh .mh-reviews__side { flex: 0 0 340px; width: 340px; display: flex; flex-direction: column; gap: 22px; }
body .mh .mh-score-card { padding: 24px; border: 1px solid var(--mode-line); border-radius: var(--mode-radius-card); background: var(--mode-paper); }
body .mh .mh-score-card__row { display: flex; flex-direction: row; align-items: center; gap: 14px; }
body .mh .mh-score-card__row > .e-con { width: auto; }
body .mh .mh-score-card__score .elementor-heading-title { font-family: var(--mode-font-display); font-size: 52px; font-weight: 700; line-height: 1; color: var(--mode-text); }
body .mh .mh-score-card__count { font-size: 14px; line-height: 1.4; color: var(--mode-muted); margin-top: 4px !important; }
body .mh .mh-score-card .mbtn { margin-top: 18px !important; }
body .mh .mh-score-card .mbtn .elementor-button { height: 48px; font-size: 15px; }
body .mh .mh-reviews__grid { flex: 1 1 auto; min-width: 0; }
body .mh .mh-review { display: flex; flex-direction: column; gap: 16px; margin: 0; padding: 28px; background: var(--mode-paper); border: 1px solid var(--mode-line); border-radius: var(--mode-radius-card); }
body .mh .mh-review__quote { font-size: 16px; line-height: 1.65; color: var(--mode-text-2); }
body .mh .mh-review__author { display: flex; flex-direction: row; align-items: center; gap: 12px; margin-top: auto; }
body .mh .mh-review__author > .e-con { width: auto; }
body .mh .mh-review__avatar { width: 40px !important; flex: 0 0 40px !important; }
body .mh .mh-review__avatar .elementor-heading-title {
  width: 40px; height: 40px; border-radius: 20px; background: var(--mode-blue); color: #fff; font-family: var(--mode-font-body);
  font-size: 17px; font-weight: 800; line-height: 1; display: flex; align-items: center; justify-content: center;
}
body .mh .mh-review:nth-child(4n + 2) .mh-review__avatar .elementor-heading-title,
body .mh .mh-review:nth-child(4n + 3) .mh-review__avatar .elementor-heading-title { background: var(--mode-text); }
body .mh .mh-review__name .elementor-heading-title { display: block; font-family: var(--mode-font-body); font-size: 15px; font-weight: 700; line-height: 1.3; color: var(--mode-text); }
body .mh .mh-review__src { display: block; font-size: 13px; line-height: 1.4; color: var(--mode-muted); }
@media (max-width: 1024px) {
  body .mh .mh-reviews__layout { flex-direction: column; align-items: stretch; gap: 40px; }
  body .mh .mh-reviews__side { flex: none; width: 100%; }
  body .mh .mh-score-card { max-width: 420px; }
}

/* ---------- 11. Compare ---------- */
body .mh .mh-compare__grid { display: grid !important; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 24px; align-items: center; padding: 20px 0; }
body .mh .mh-cmp { display: flex; flex-direction: column; padding: 32px 30px 20px; background: #fff; border: 1px solid var(--mode-line); border-radius: 20px; }
body .mh .mh-cmp__head { padding-bottom: 20px; }
body .mh .mh-cmp__title .elementor-heading-title { font-size: 26px; line-height: 1.2; color: var(--mode-text); }
body .mh .mh-cmp__sub { font-size: 14px; line-height: 1.4; color: #5a6684; margin-top: 4px !important; }
body .mh .mh-cmp__rows { display: flex; flex-direction: column; margin: 0; }
body .mh .mh-cmp__row { display: flex; flex-direction: column; gap: 4px; padding: 14px 0; border-top: 1px solid var(--mode-line); margin: 0; }
body .mh .mh-cmp__row dt { font-size: 12px; font-weight: 700; line-height: 1.3; letter-spacing: .08em; text-transform: uppercase; color: #5a6684; }
body .mh .mh-cmp__row dd { margin: 0; font-size: 15px; font-weight: 600; line-height: 1.4; color: var(--mode-muted); }
body .mh .mh-cmp--best {
  position: relative; margin: -20px 0; padding: 40px 32px 32px; background: var(--mode-ink); color: #fff;
  border: 2px solid var(--mode-blue); border-radius: 22px; box-shadow: 0 30px 60px rgba(0, 85, 164, .22);
}
body .mh .mh-cmp__badge { position: absolute !important; top: -15px; left: 50%; transform: translateX(-50%); width: max-content !important; }
body .mh .mh-cmp__badge .elementor-heading-title {
  display: block; padding: 6px 14px; border-radius: 8px; background: var(--mode-blue); color: #fff; font-family: var(--mode-font-body);
  font-size: 12px; font-weight: 800; line-height: 1.4; letter-spacing: .08em; text-transform: uppercase; white-space: nowrap;
}
body .mh .mh-cmp--best .mh-cmp__head { display: flex; flex-direction: column; gap: 10px; }
body .mh .mh-cmp--best .mh-cmp__logo img { display: block; width: 200px; height: 35px; object-fit: contain; object-position: left center; }
body .mh .mh-cmp--best .mh-cmp__title .elementor-heading-title { color: #fff; }
body .mh .mh-cmp--best .mh-cmp__sub { color: #b8c2dc; margin-top: 0 !important; }
body .mh .mh-cmp--best .mh-cmp__table { flex-grow: 1; }
body .mh .mh-cmp--best .mh-cmp__row { display: grid; grid-template-columns: 18px 1fr; column-gap: 12px; row-gap: 4px; border-top-color: #1f3050; }
body .mh .mh-cmp--best .mh-cmp__row::before {
  content: ""; grid-row: 1 / span 2; width: 18px; height: 18px; margin-top: 2px; background: var(--mode-sky);
  -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 6 9 17l-5-5'/%3E%3C/svg%3E") center / contain no-repeat;
          mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 6 9 17l-5-5'/%3E%3C/svg%3E") center / contain no-repeat;
}
body .mh .mh-cmp--best .mh-cmp__row dt { color: #8fa2bd; }
body .mh .mh-cmp--best .mh-cmp__row dd { color: #fff; font-weight: 700; }
body .mh .mh-cmp--best .mbtn { margin-top: 20px !important; }
@media (max-width: 1024px) {
  body .mh .mh-compare__grid { grid-template-columns: 1fr; gap: 36px; max-width: 560px; margin-inline: auto; padding: 0; }
  body .mh .mh-cmp--best { margin: 0; }
}

/* ---------- 12. Reseller ---------- */
body .mh.mh-reseller { padding: 96px 0; }
body .mh .mh-reseller__card {
  position: relative; overflow: hidden; isolation: isolate; display: flex; flex-direction: row; align-items: center; gap: 56px;
  padding: 56px 64px; border-radius: var(--mode-radius-band); background: var(--mode-navy); color: #fff;
}
body .mh .mh-reseller__card::before, body .mh .mh-reseller__card::after {
  content: ""; position: absolute; z-index: -1; top: -40px; height: 400px; transform: skewX(-14deg); left: auto; bottom: auto; opacity: 1; border-radius: 0;
}
body .mh .mh-reseller__card::before { right: 220px; width: 60px; background: var(--mode-blue); }
body .mh .mh-reseller__card::after { right: -40px; width: 240px; background: var(--mode-navy-card); }
body .mh .mh-reseller__text { flex: 1 1 auto !important; max-width: 700px; display: flex; flex-direction: column; gap: 16px; }
body .mh.mh-reseller .mh-eyebrow .elementor-heading-title { color: var(--mode-sky); font-size: 16px; line-height: 1.65; }
body .mh.mh-reseller .mh-h2 .elementor-heading-title { color: #fff; }
body .mh .mh-reseller__p { font-size: 16px; line-height: 1.65; color: #b8c2dc; }
body .mh .mh-reseller__card > .mbtn { margin-left: auto !important; flex: none !important; width: auto; }
@media (max-width: 1024px) {
  body .mh.mh-reseller { padding: var(--mode-section-pad) 0; }
  body .mh .mh-reseller__card { flex-direction: column; align-items: flex-start; gap: 28px; padding: 48px 40px; }
  body .mh .mh-reseller__card > .mbtn { margin-left: 0 !important; }
  body .mh .mh-reseller__card::before { right: 120px; }
  body .mh .mh-reseller__card::after { right: -140px; }
}
@media (max-width: 640px) {
  body .mh .mh-reseller__card { padding: 36px 24px; }
  body .mh .mh-reseller__card::before, body .mh .mh-reseller__card::after { display: none; }
  body .mh .mh-reseller__card > .mbtn, body .mh .mh-reseller__card > .mbtn .elementor-button { width: 100%; white-space: normal; }
}

/* ---------- 13. Live TV ---------- */
body .mh .mh-livetv__img { flex: 0 0 560px; width: 560px !important; }
body .mh .mh-livetv__img img { display: block; width: 560px; height: 380px; object-fit: cover; border-radius: 20px; }
@media (max-width: 1024px) {
  body .mh .mh-livetv__img { flex: none; width: 100% !important; max-width: 560px; }
  body .mh .mh-livetv__img img { width: 100%; height: auto; aspect-ratio: 28 / 19; }
}

/* ---------- 14. Articles ---------- */
body .mh .mh-articles__head { display: flex; flex-direction: row; flex-wrap: wrap; justify-content: space-between; align-items: flex-end; gap: 24px; }
body .mh .mh-articles__head > .mh-intro { width: auto !important; flex: 0 1 720px; }
body .mh .mh-articles__head > .mbtn { width: auto !important; }
body .mh .mh-post {
  position: relative; display: flex; flex-direction: column; overflow: hidden; background: var(--mode-paper); border: 1px solid var(--mode-line);
  border-radius: var(--mode-radius-card); color: var(--mode-text); transition: border-color .2s ease, box-shadow .2s ease;
}
body .mh .mh-post:hover { border-color: var(--mode-blue); box-shadow: 0 16px 32px rgba(13, 22, 51, .08); }
body .mh .mh-post__img img { display: block; width: 100%; height: auto; aspect-ratio: 16 / 9; object-fit: cover; }
body .mh .mh-post__body { display: flex; flex: 1; flex-direction: column; gap: 12px; padding: 24px; }
body .mh .mh-post__cat { align-self: flex-start; width: auto !important; }
body .mh .mh-post__cat .elementor-heading-title {
  display: block; padding: 5px 10px; border-radius: 6px; background: var(--mode-tint); color: var(--mode-blue-hover);
  font-family: var(--mode-font-body); font-size: 12px; font-weight: 800; line-height: 1.3; letter-spacing: .04em; text-transform: uppercase;
}
body .mh .mh-post__title .elementor-heading-title { font-size: 22px; line-height: 1.2; color: var(--mode-text); }
body .mh .mh-post__meta { font-size: 13px; line-height: 1.4; color: var(--mode-muted); }
body .mh .mh-post__excerpt { font-size: 15px; line-height: 1.55; color: var(--mode-text-2); display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 3; line-clamp: 3; overflow: hidden; }
body .mh .mh-post__more { margin: auto 24px 0 !important; width: auto !important; position: static; }
body .mh .mh-post__more .elementor-button {
  display: flex; width: 100%; align-items: center; justify-content: space-between; gap: 16px; padding: 18px 0; min-height: 48px;
  border: 0; border-top: 1px solid #dce4f4; border-radius: 0; background: none; color: #0055a4;
  font-family: var(--mode-font-body); font-size: 15px; font-weight: 600; line-height: 1.3; position: static;
}
body .mh .mh-post__more .elementor-button::after { content: ""; position: absolute; inset: 0; }
body .mh .mh-post__more .elementor-button:hover { background: none; color: #0055a4; }
body .mh .mh-post__more .elementor-button-content-wrapper { width: 100%; justify-content: space-between; gap: 16px; }
body .mh .mh-post__more .elementor-button-icon { margin: 0; display: flex; transition: transform .2s ease; }
body .mh .mh-post__more .elementor-button-icon svg { width: 20px; height: 20px; }
body .mh .mh-post:hover .mh-post__more .elementor-button-text { text-decoration: underline; text-underline-offset: 4px; }
body .mh .mh-post:hover .mh-post__more .elementor-button-icon { transform: translateX(3px); }

/* ---------- 15. FAQ (nested accordion) ---------- */
body .mh.mh-faq { scroll-margin-top: 24px; }
body .mh .mh-faq__list { width: 960px !important; max-width: 100%; margin-inline: auto !important; }
body .mh .mh-faq__list .e-n-accordion { display: flex; flex-direction: column; gap: 10px; }
body .mh .mh-faq__list .e-n-accordion-item { background: #fff; border: 1px solid var(--mode-line); border-radius: 14px; margin: 0; }
body .mh .mh-faq__list .e-n-accordion-item[open] { border: 1.5px solid var(--mode-blue); }
body .mh .mh-faq__list .e-n-accordion-item-title {
  width: 100%; min-height: 44px; display: flex; flex-direction: row; align-items: center; justify-content: space-between; gap: 20px;
  padding: 20px 24px; border: 0; border-radius: 14px; background: transparent; list-style: none; cursor: pointer;
  font-family: var(--mode-font-body); font-size: 17px; font-weight: 700; line-height: 1.4; text-align: left; color: var(--mode-text);
}
body .mh .mh-faq__list .e-n-accordion-item-title::-webkit-details-marker { display: none; }
body .mh .mh-faq__list .e-n-accordion-item-title-header { flex: 1 1 auto; }
body .mh .mh-faq__list .e-n-accordion-item-title-text { font-family: var(--mode-font-body); font-size: inherit; font-weight: 700; line-height: 1.4; color: var(--mode-text); margin: 0; }
body .mh .mh-faq__list .e-n-accordion-item-title-icon {
  flex-shrink: 0; width: 34px; height: 34px; border-radius: 17px; display: flex; align-items: center; justify-content: center;
  background: var(--mode-chip); color: var(--mode-blue); transition: background-color .2s ease, color .2s ease;
}
body .mh .mh-faq__list .e-n-accordion-item[open] .e-n-accordion-item-title-icon { background: var(--mode-blue); color: #fff; }
body .mh .mh-faq__list .e-n-accordion-item-title-icon span { display: flex; }
body .mh .mh-faq__list .e-n-accordion-item-title-icon svg { width: 16px; height: 16px; color: inherit; }
body .mh .mh-faq__list .e-n-accordion-item > .e-con { padding: 0 84px 22px 24px; border: 0; background: none; }
body .mh .mh-faq__a-text { font-size: 15px; line-height: 27px; color: var(--mode-muted); }
@media (max-width: 640px) {
  body .mh .mh-faq__list .e-n-accordion-item-title { padding: 16px 18px; font-size: 16px; }
  body .mh .mh-faq__list .e-n-accordion-item > .e-con { padding: 0 18px 18px; }
}

@media (prefers-reduced-motion: reduce) {
  body .mh .mbtn .elementor-button::before, body .mh .mbtn .elementor-button::after,
  body .mh .mbtn .elementor-button-content-wrapper::before, body .mh .mbtn .elementor-button-content-wrapper::after { animation: none !important; }
  body .mh .mbtn .elementor-button { transition: none; }
}

/* French price format: 39,99 € TTC (currency after the amount) */
body .mh .mh-plan .mh-plan__amount + .mh-plan__currency { margin: 6px 0 0 3px; }

/* Elementor editor only: decorative/stretched-link overlays must not swallow clicks, so the images under them stay selectable. */
body.elementor-editor-active .mh .mh-post__more .elementor-button::after { display: none; }
body.elementor-editor-active .mh .mh-hero__media::before { pointer-events: none; }

/* ---------- Palette tricolore (2026-10-21) : bleu France = action, rouge = accent, blanc = respiration ---------- */
:root { --fr-blue: #0055a4; --fr-white: #ffffff; --fr-red: #d9252f; --fr-tricolore: linear-gradient(90deg, var(--fr-blue) 0 33.34%, var(--fr-white) 33.34% 66.67%, var(--fr-red) 66.67% 100%); }
body .mh .mh-eyebrow .elementor-heading-title::before { width: 24px; height: 8px; background: var(--fr-tricolore); box-shadow: 0 0 0 1px rgba(13, 22, 51, .12); transform: skewX(-18deg); }
body .mh.mh-dark .mh-eyebrow .elementor-heading-title::before, body .mh .mh-dark .mh-eyebrow .elementor-heading-title::before { box-shadow: none; }
/* Liens sur fond sombre : bleu clair lisible (le bleu France est réservé aux fonds clairs) */
body .mh.mh-dark a:not(.elementor-button):not(.mbtn), body .mh .mh-dark a:not(.elementor-button):not(.mbtn) { color: var(--mode-sky); }
body .mh.mh-dark a:not(.elementor-button):not(.mbtn):hover, body .mh .mh-dark a:not(.elementor-button):not(.mbtn):hover { color: #fff; }
/* Carte de couverture sur tablette/mobile : la colonne ne doit pas se rétracter à 0 px (sinon les points débordent sur la section suivante) */
@media (max-width: 1024px) {
  body .mh .mh-coverage__map { flex: none !important; width: 100%; max-width: 560px; margin: 8px auto 0; }
  body .mh .mh-coverage__map > .elementor-widget, body .mh .mh-map-w { flex: none; width: 100%; }
}
/* Bandeau de chiffres sur mobile : 3 + 2 colonnes centrées au lieu de 5 colonnes écrasées */
@media (max-width: 640px) {
  body .mh.mh-stats { padding: 32px 0; }
  body .mh .mh-stats__grid { grid-template-columns: repeat(6, minmax(0, 1fr)); row-gap: 0; }
  body .mh .mh-stat { grid-column: span 2; padding: 4px 6px 18px; border-right: 1px solid var(--mode-line); }
  body .mh .mh-stat:nth-child(3) { border-right: 0; }
  body .mh .mh-stat:nth-child(n+4) { grid-column: span 3; padding: 18px 6px 4px; border-top: 1px solid var(--mode-line); }
  body .mh .mh-stat:nth-child(5) { border-right: 0; }
  body .mh .mh-stat .elementor-counter { align-items: center; gap: 6px; }
  body .mh .mh-stat .elementor-counter-number-wrapper { font-size: 28px; white-space: nowrap; justify-content: center; }
  body .mh .mh-stat .elementor-counter-number-suffix { white-space: nowrap; }
  body .mh .mh-stat .elementor-counter-title { font-size: 13px; line-height: 1.3; text-align: center; overflow-wrap: normal; hyphens: manual; }
}
@media (max-width: 360px) {
  body .mh .mh-stat .elementor-counter-number-wrapper { font-size: 24px; }
  body .mh .mh-stat .elementor-counter-title { font-size: 12px; }
}
/* Puces des villes sans lien (2026-10-21) : le style « pastille » porte sur l’élément lui-même */
body .mh .mh-chips .elementor-icon-list-item > .elementor-icon-list-text { display: block; padding: 8px 14px; color: var(--mode-blue); }

/* Touch: text-style link buttons (.mlink) get a 40px tap height on tablets and phones. */
@media (max-width: 1024px) { body .mh .mlink .elementor-button { min-height: 40px; display: inline-flex; align-items: center; } }

/* Contact → WhatsApp: missing-field message (contact-wa.js) */
.mode-trial-form .mh-wa-error{margin:0 0 12px;color:#d9252f;font-weight:600;font-size:15px}
.mode-trial-form [aria-invalid="true"]{border-color:#d9252f!important}

/* Links inside running text are underlined, not colour-only (WCAG 1.4.1, Lighthouse link-in-text-block) — same style as .mt-prose */
body .mh .elementor-widget-text-editor a:not([class]) { text-decoration: underline 1px; text-underline-offset: 3px; }
body .mh .elementor-widget-text-editor a:not([class]):hover { text-decoration-thickness: 2px; }

/* Posts not published yet (scheduled): mh-home.php strips their href and marks the link data-soon. Cards, footer items,
   tags and whole groups that would only point to them are hidden; they reappear by themselves on publication. */
.mh-post:has(a[data-soon]) { display: none !important; }
.mh-sec:has(.mh-post):not(:has(.mh-post a[href])) { display: none !important; }
.mf-links li:has(> a[data-soon]), .elementor-icon-list-item:has(> a[data-soon]):not(.elementor-inline-item) { display: none !important; }
.mf-col:has(.mf-links):not(:has(.mf-links a[href])) { display: none !important; }
.mt-tagcloud a[data-soon], .mt-cats a[data-soon] { display: none !important; }
