/* =========================================================================
   Blocs de l'accueil — Maison et Domotique
   Chargé uniquement sur les pages qui contiennent ces blocs (et dans l'éditeur).
   ========================================================================= */

/* ---------- Éléments communs (aussi utiles dans l'éditeur) ---------- */
.md-container { width: min(100% - 40px, var(--md-container, 1240px)); margin-inline: auto; }
.md-i { width: 20px; height: 20px; fill: none; stroke: currentColor; stroke-width: 2; stroke-linecap: round; stroke-linejoin: round; flex-shrink: 0; vertical-align: middle; }
[dir="rtl"] .md-flip-rtl { transform: scaleX(-1); }
.md-home-section, .md-home-intro { font-family: var(--md-font); color: var(--md-text); }
.md-home-section h2, .md-home-section h3, .md-home-intro h1 { font-family: var(--md-font-title); color: var(--md-text); }
.md-home-section a, .md-home-intro a { text-decoration: none; }
.md-home-section .md-btn, .md-home-intro .md-btn {
  display: inline-flex; align-items: center; justify-content: center; gap: 8px; height: 44px; padding: 0 20px; border-radius: 999px; border: 0;
  font: 700 15px/1 var(--md-font); white-space: nowrap; cursor: pointer; transition: transform .15s, background .2s, box-shadow .2s;
}
.md-home-section .md-btn:hover { transform: translateY(-1px); }
.md-home-section .md-btn--sm { height: 38px; padding: 0 16px; font-size: 14px; }
.md-home-section .md-btn--primary { background: var(--md-green); color: #111; }
.md-home-section .md-btn--dark { background: var(--md-dark); color: #fff; }
[data-theme="dark"] .md-home-section .md-btn--dark { background: #fff; color: #111; }
.md-home-section .md-btn--ghost { background: transparent; color: var(--md-text); border: 1px solid var(--md-border); }
.md-home-section .md-btn--deal { background: var(--md-cyan); color: #fff; }
.md-home-section .md-btn--expired { background: transparent; color: var(--md-red); border: 1.5px solid var(--md-red); }
.md-home-section .md-btn--expired:hover { background: var(--md-red); color: #fff; }
.md-home-section .md-btn--yt { background: #ff0033; color: #fff; }
.md-home-section .md-btn--insta { background: linear-gradient(45deg, #f9a03f, #d6249f 55%, #7a3cf0); color: #fff; }
.md-home-section .md-badge {
  display: inline-flex; align-items: center; gap: 6px; padding: 4px 10px; border-radius: 999px; align-self: flex-start;
  font-size: 11px; font-weight: 800; letter-spacing: .06em; text-transform: uppercase; line-height: 1.4;
  background: var(--md-surface-2); color: var(--md-text); border: 0;
}
.md-home-section .md-badge::before { content: ""; width: 7px; height: 7px; border-radius: 50%; background: var(--c, var(--md-green)); }
.md-home-section .md-link-more { display: inline-flex; align-items: center; gap: 6px; font-weight: 700; color: var(--md-link); white-space: nowrap; }

/* ---------- Sections ---------- */
.md-home-section { padding: 56px 0; }
.md-home-section--soft { background: var(--md-bg-soft); }
.md-home-section--tight { padding: 36px 0; }
.md-section-head { display: flex; align-items: end; justify-content: space-between; gap: 16px 24px; margin-bottom: 26px; flex-wrap: wrap; }
.md-section-head--center { justify-content: center; text-align: center; }
.md-eyebrow { display: flex; align-items: center; gap: 8px; margin-bottom: 8px; font-size: 12.5px; font-weight: 800; letter-spacing: .14em; text-transform: uppercase; color: var(--md-green-ink); }
.md-eyebrow::before { content: ""; width: 18px; height: 2px; border-radius: 2px; background: currentColor; }
.md-section-head--center .md-eyebrow { justify-content: center; }
.md-section-title { margin: 0 !important; font-size: clamp(26px, 3vw, 34px) !important; line-height: 1.15 !important; font-weight: 800 !important; letter-spacing: -.02em; }
.md-section-title em, .md-intro-title em, .md-contact-title em { font-style: normal; color: var(--md-green-ink); }
.md-section-sub { margin: 10px 0 0; color: var(--md-text-2); }
.md-grid { display: grid; gap: 22px; }
.md-grid--4 { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.md-center { text-align: center; margin-top: 32px; }

/* ---------- Intro + univers ---------- */
.md-home-intro { padding: 44px 0 8px; }
.md-intro-title { margin: 0 !important; max-width: 920px; font-size: clamp(30px, 4vw, 48px) !important; line-height: 1.12 !important; font-weight: 800 !important; letter-spacing: -.03em; }
.md-intro-sub { margin: 14px 0 0; max-width: 680px; font-size: 18px; color: var(--md-text-2); }
.md-universes { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 14px; margin-top: 28px; }
.md-universe { display: flex; align-items: center; gap: 14px; padding: 14px 16px; border-radius: var(--md-radius-md); background: var(--md-surface); border: 1px solid var(--md-border); color: var(--md-text) !important; transition: transform .2s, box-shadow .2s, border-color .2s; }
.md-universe:hover { transform: translateY(-2px); box-shadow: var(--md-shadow); border-color: color-mix(in srgb, var(--c) 45%, transparent); }
.md-universe-ic { width: 44px; height: 44px; flex-shrink: 0; display: grid; place-items: center; border-radius: 12px; color: var(--c); background: color-mix(in srgb, var(--c) 14%, transparent); }
.md-universe strong { display: block; font: 800 16.5px/1.3 var(--md-font-title); }
.md-universe small { display: block; font-size: 13.5px; color: var(--md-text-3); }

/* ---------- Cartes ---------- */
.md-card { display: flex; flex-direction: column; min-width: 0; overflow: hidden; border-radius: var(--md-radius); background: var(--md-surface); border: 1px solid var(--md-border); transition: transform .2s, box-shadow .2s, border-color .2s; }
.md-card:hover { transform: translateY(-4px); box-shadow: var(--md-shadow-lg); border-color: transparent; }
.md-card[hidden] { display: none; }
.md-card-media { position: relative; display: block; aspect-ratio: 16 / 10; overflow: hidden; background: var(--md-surface-2); }
.md-card-media img { width: 100%; height: 100%; object-fit: cover; display: block; border-radius: 0 !important; transition: transform .5s; }
.md-card:hover .md-card-media img { transform: scale(1.05); }
.md-card-body { display: flex; flex-direction: column; flex: 1; gap: 10px; padding: 16px 18px 18px; }
.md-card-title { margin: 0 !important; font-size: 16px !important; line-height: 1.35 !important; font-weight: 800 !important; }
.md-card-title a { color: var(--md-text) !important; }
.md-card-title a:hover { color: var(--md-green-ink) !important; }
.md-card-foot { margin-top: auto; padding-top: 10px; display: flex; justify-content: space-between; align-items: center; gap: 10px; font-size: 13px; color: var(--md-text-3); }
.md-card--news .md-card-media { aspect-ratio: 16 / 9; }
.md-card--news .md-card-title { font-size: 15.5px !important; }
.md-score-chip {
  position: absolute; top: 12px; inset-inline-end: 12px; width: 54px; height: 54px; border-radius: 50%; display: grid; place-items: center;
  font: 800 17px/1 var(--md-font-title); color: #fff; box-shadow: 0 4px 14px rgba(0, 0, 0, .25);
  background: conic-gradient(var(--md-green) calc(var(--s) * 1%), rgba(255, 255, 255, .25) 0);
}
.md-score-chip::before { content: ""; position: absolute; inset: 4px; border-radius: 50%; background: rgba(17, 17, 17, .88); }
.md-score-chip span { position: relative; }
.md-score-chip--lg { width: 70px; height: 70px; font-size: 22px; top: 16px; inset-inline-end: 16px; }

/* ---------- Derniers tests ---------- */
.md-tests-grid { display: grid; grid-template-columns: 1.35fr 1fr 1fr; gap: 20px; }
.md-test-hero { grid-row: span 2; display: flex; flex-direction: column; overflow: hidden; border-radius: var(--md-radius); background: var(--md-surface); border: 1px solid var(--md-border); box-shadow: var(--md-shadow); }
.md-test-hero-media { position: relative; display: block; aspect-ratio: 16 / 10; overflow: hidden; }
.md-test-hero-media img { width: 100%; height: 100%; object-fit: cover; display: block; border-radius: 0 !important; transition: transform .6s; }
.md-test-hero:hover .md-test-hero-media img { transform: scale(1.04); }
.md-test-hero-body { display: flex; flex-direction: column; flex: 1; gap: 10px; padding: 22px 24px 24px; }
.md-test-hero-title { margin: 2px 0 0 !important; font-size: clamp(21px, 2vw, 26px) !important; line-height: 1.25 !important; font-weight: 800 !important; }
.md-test-hero-title a { color: var(--md-text) !important; }
.md-test-verdict { margin: 0; font-size: 16px; color: var(--md-text-2); }
.md-test-hero .md-card-foot { padding-top: 16px; }
/* On aime / On aime moins (test mis en avant) */
.md-hero-pc { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; margin-top: 8px; padding-top: 16px; border-top: 1px solid var(--md-border); }
.md-hero-pc-title { margin-bottom: 10px; font-size: 12px; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; color: var(--md-green-ink); }
.md-hero-cons .md-hero-pc-title { color: var(--md-red); }
.md-hero-pc ul { list-style: none; margin: 0; padding: 0; display: grid; gap: 8px; }
.md-hero-pc li { position: relative; margin: 0; padding-inline-start: 26px; font-size: 14.5px; line-height: 1.4; color: var(--md-text); }
.md-hero-pc li::before { content: "+"; position: absolute; inset-inline-start: 0; top: 1px; width: 18px; height: 18px; border-radius: 50%; display: grid; place-items: center; font: 900 12px/1 var(--md-font); background: var(--md-green-soft); color: var(--md-green-ink); }
.md-hero-cons li::before { content: "–"; background: color-mix(in srgb, var(--md-red) 13%, transparent); color: var(--md-red); }

/* ---------- Bons plans ---------- */
.md-deal .md-card-media { aspect-ratio: 16 / 11; background: #fff; }
.md-deal .md-card-media img { object-fit: contain; padding: 12px; }
.md-deal-off { position: absolute; top: 12px; inset-inline-end: 12px; padding: 4px 10px; border-radius: 999px; background: var(--md-red); color: #fff; font-size: 13px; font-weight: 800; }
.md-deal-store { font-size: 12.5px; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; color: var(--md-text-3); }
.md-deal .md-card-title { font-size: 15.5px !important; }
/* Prix + bouton calés en bas de la carte : boutons alignés quelle que soit la longueur du titre. */
.md-deal-foot { display: flex; flex-direction: column; gap: 10px; margin-top: auto; }
.md-deal-price { display: flex; align-items: baseline; gap: 10px; }
.md-deal-price ins { text-decoration: none; font: 800 23px/1.1 var(--md-font-title); color: var(--md-green-ink); }
.md-deal-price del { font-size: 15px; color: var(--md-text-3); }
.md-deal .md-btn { width: 100%; min-height: 44px; margin-top: 0; text-align: center; }
.md-deal.is-expired { border: 2px dashed color-mix(in srgb, var(--md-red) 55%, transparent); background: color-mix(in srgb, var(--md-red) 4%, var(--md-surface)); }
.md-deal.is-expired:hover { transform: none; box-shadow: none; }
.md-deal.is-expired .md-card-media::after { content: ""; position: absolute; inset: 0; background: repeating-linear-gradient(-45deg, rgba(229, 72, 77, .10) 0 12px, transparent 12px 24px); }
.md-deal-expired-tag { position: absolute; z-index: 1; inset-inline: 0; bottom: 0; padding: 7px 0; text-align: center; background: var(--md-red); color: #fff; font-size: 12px; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; }
.md-deal.is-expired .md-deal-store { color: var(--md-red); }
.md-deal.is-expired .md-deal-price ins { text-decoration: line-through; text-decoration-color: var(--md-red); text-decoration-thickness: 2px; }

/* ---------- Actus + filtres ---------- */
.md-chips { display: flex; flex-wrap: wrap; gap: 8px; }
.md-chip { height: 36px; padding: 0 15px; border-radius: 999px; border: 1px solid var(--md-border); background: var(--md-surface); color: var(--md-text-2); font: 600 14px/1 var(--md-font); cursor: pointer; transition: all .2s; }
.md-chip:hover { color: var(--md-text); border-color: var(--md-text-3); }
.md-chip.is-active { background: var(--md-dark); border-color: var(--md-dark); color: #fff; }
[data-theme="dark"] .md-chip.is-active { background: #fff; border-color: #fff; color: #111; }

/* ---------- Vidéos YouTube ---------- */
.md-video-panel { padding: 40px; border-radius: 32px; background: #0f1311; color: #e8ece6; }
[data-theme="dark"] .md-video-panel { background: #141917; border: 1px solid var(--md-border); }
.md-video-panel .md-section-title { color: #fff !important; }
.md-video-panel .md-section-title em { color: var(--md-green); }
.md-video-panel .md-eyebrow { color: #ff4e45; }
.md-video-grid { display: grid; grid-template-columns: 1.5fr 1fr; gap: 24px; }
.md-video { display: grid; gap: 10px; color: inherit !important; }
.md-video-thumb { position: relative; display: block; aspect-ratio: 16 / 9; overflow: hidden; border-radius: 18px; background: #000; }
.md-video-thumb img { width: 100%; height: 100%; object-fit: cover; display: block; opacity: .92; transition: transform .5s, opacity .3s; border-radius: 0 !important; }
.md-video:hover .md-video-thumb img { transform: scale(1.04); opacity: 1; }
.md-video-thumb iframe { position: absolute; inset: 0; width: 100%; height: 100%; border: 0; }
.md-play { position: absolute; inset: 0; margin: auto; width: 64px; height: 64px; border-radius: 50%; display: grid; place-items: center; background: rgba(255, 0, 51, .92); color: #fff; box-shadow: 0 8px 24px rgba(0, 0, 0, .35); transition: transform .2s; }
.md-play .md-i { width: 26px; height: 26px; margin-inline-start: 3px; }
.md-video:hover .md-play { transform: scale(1.08); }
.md-video--main .md-video-thumb { border-radius: 22px; }
.md-video--main .md-video-title { font: 800 21px/1.3 var(--md-font-title); color: #fff; }
.md-video-title { display: block; font-weight: 700; font-size: 15px; line-height: 1.35; }
.md-video-date { display: block; margin-top: 4px; font-size: 13px; color: #8d968f; }
.md-video-list { display: grid; gap: 12px; align-content: start; }
.md-video-list .md-video { grid-template-columns: 168px 1fr; align-items: center; gap: 14px; padding: 6px; border-radius: 16px; transition: background .2s; }
.md-video-list .md-video:hover { background: rgba(255, 255, 255, .05); }
.md-video-list .md-video-thumb { border-radius: 12px; }
.md-video-list .md-play { width: 38px; height: 38px; }
.md-video-list .md-play .md-i { width: 16px; height: 16px; }

/* ---------- Instagram ---------- */
.md-home-insta .md-eyebrow { color: #d6249f; }
[data-theme="dark"] .md-home-insta .md-eyebrow { color: #f06bc4; }
.md-insta-feed #sb_instagram { padding: 0 !important; }
.md-insta-feed #sb_instagram #sbi_images { gap: 12px !important; padding: 0 !important; }
.md-insta-feed #sb_instagram .sbi_item { border-radius: 18px; overflow: hidden; }
.md-insta-feed #sb_instagram .sbi_photo { border-radius: 18px; }
.md-insta-fallback { display: flex; align-items: center; gap: 14px; padding: 22px 24px; border-radius: var(--md-radius); color: var(--md-text) !important; border: 1px dashed color-mix(in srgb, #d6249f 45%, transparent); background: linear-gradient(90deg, color-mix(in srgb, #f9a03f 8%, transparent), color-mix(in srgb, #d6249f 8%, transparent)); font-weight: 600; }
.md-insta-fallback .md-i { color: #d6249f; width: 26px; height: 26px; }

/* ---------- Nous suivre ---------- */
.md-follow-main { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 18px; }
.md-follow-card { display: grid; grid-template-columns: auto minmax(0, 1fr); gap: 6px 16px; align-content: start; padding: 24px; border-radius: var(--md-radius); background: var(--md-surface); border: 1px solid var(--md-border); color: var(--md-text) !important; min-width: 0; transition: transform .2s, box-shadow .2s; }
a.md-follow-card:hover { transform: translateY(-3px); box-shadow: var(--md-shadow-lg); }
.md-follow-ic { grid-row: span 2; width: 52px; height: 52px; display: grid; place-items: center; border-radius: 14px; }
.md-follow-ic .md-i { width: 26px; height: 26px; }
.md-follow-txt strong { display: block; font: 800 17px/1.3 var(--md-font-title); }
.md-follow-txt small { display: block; margin-top: 4px; font-size: 14px; line-height: 1.45; color: var(--md-text-2); }
.md-follow-cta { grid-column: 2; display: inline-flex; align-items: center; gap: 6px; margin-top: 6px; font-weight: 700; font-size: 14.5px; color: #1a73e8; }
[data-theme="dark"] .md-follow-cta { color: #8ab4f8; }
.md-follow-card--google .md-follow-ic { background: linear-gradient(135deg, #4285f4, #34a853 50%, #fbbc05 75%, #ea4335); color: #fff; }
.md-follow-card--gnews .md-follow-ic { background: #e8f0fe; color: #1a73e8; }
[data-theme="dark"] .md-follow-card--gnews .md-follow-ic { background: rgba(138, 180, 248, .15); color: #8ab4f8; }
.md-follow-card--news { background: var(--md-green-soft); border-color: color-mix(in srgb, var(--md-green) 35%, transparent); }
.md-follow-card--news .md-follow-ic { background: var(--md-green); color: #111; }
.md-follow-form { grid-column: 1 / -1; margin-top: 10px; }
/* Formulaire Brevo à l'intérieur de la carte */
.md-follow-form form { margin: 0 !important; }
.md-follow-form p { margin: 0 0 8px !important; }
.md-follow-form label { font-size: 13px; color: var(--md-text-2); }
.md-follow-form input[type="email"], .md-follow-form input[type="text"] { width: 100% !important; height: 42px; border-radius: 999px !important; border: 1px solid var(--md-border) !important; background: var(--md-surface) !important; color: var(--md-text) !important; padding: 0 16px !important; }
.md-follow-form input[type="submit"], .md-follow-form button { height: 42px; border-radius: 999px !important; border: 0 !important; padding: 0 20px !important; background: var(--md-dark) !important; color: #fff !important; font-weight: 700 !important; cursor: pointer; }
.md-follow-socials { display: grid; grid-template-columns: repeat(10, minmax(0, 1fr)); gap: 12px; margin-top: 18px; }
.md-follow-socials .md-social {
  width: auto; height: auto; display: flex; flex-direction: column; align-items: center; gap: 8px; padding: 18px 6px;
  border-radius: var(--md-radius-md); background: var(--md-surface); border: 1px solid var(--md-border);
  color: var(--md-text-2) !important; font-size: 13px; font-weight: 600; text-align: center; transition: transform .2s, border-color .2s, background .2s, color .2s;
}
.md-follow-socials .md-social .md-i { width: 24px; height: 24px; color: var(--sc); }
.md-follow-socials .md-social:hover { transform: translateY(-3px); color: var(--md-text) !important; border-color: var(--sc); background: color-mix(in srgb, var(--sc) 8%, var(--md-surface)); }
.md-follow-socials .md-social--x .md-i, .md-follow-socials .md-social--tiktok .md-i { color: var(--md-text); }

/* ---------- Contact ---------- */
.md-contact { position: relative; isolation: isolate; overflow: hidden; display: grid; grid-template-columns: 1fr 1.15fr; gap: 48px; padding: 56px; border-radius: 32px; background: #0f1311; color: #e8ece6; }
[data-theme="dark"] .md-contact { background: #141917; border: 1px solid var(--md-border); }
.md-contact::before { content: ""; position: absolute; z-index: -1; width: 520px; height: 520px; inset-inline-end: -160px; top: -200px; background: radial-gradient(circle, rgba(145, 180, 38, .35), transparent 65%); }
.md-contact .md-eyebrow { color: var(--md-green); }
.md-contact-title { margin: 0 !important; color: #fff !important; font-size: clamp(28px, 3vw, 40px) !important; line-height: 1.15 !important; font-weight: 800 !important; letter-spacing: -.02em; }
.md-contact-title em { color: var(--md-green); }
.md-contact-text { margin: 16px 0 0; font-size: 16.5px; color: #a7b0aa; }
.md-contact-links { list-style: none !important; margin: 28px 0 0 !important; padding: 0 !important; display: grid; gap: 12px; }
.md-contact-links li { margin: 0 !important; list-style: none !important; }
.md-contact-links a { display: flex; align-items: center; gap: 14px; padding: 14px 16px; border-radius: 14px; background: rgba(255, 255, 255, .04); border: 1px solid rgba(255, 255, 255, .07); color: #e8ece6 !important; transition: background .2s; }
.md-contact-links a:hover { background: rgba(255, 255, 255, .08); }
.md-contact-ic { width: 38px; height: 38px; flex-shrink: 0; display: grid; place-items: center; border-radius: 10px; background: rgba(145, 180, 38, .15); color: var(--md-green); }
.md-contact-links strong { display: block; font-size: 15px; }
.md-contact-links small { font-size: 13.5px; color: #8d968f; }
.md-form-card { padding: 30px; border-radius: 22px; background: #171c19; border: 1px solid rgba(255, 255, 255, .08); }
.md-form-row { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; }
.md-field { display: flex; flex-direction: column; gap: 7px; margin-bottom: 16px; }
.md-field label { font-size: 12px; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; color: #8d968f; }
.md-field input, .md-field select, .md-field textarea { width: 100%; padding: 13px 15px; border-radius: 12px; border: 1px solid #2a312d; background: #0f1311; color: #e8ece6; font: 16px/1.4 var(--md-font); outline: none; transition: border-color .2s, box-shadow .2s; }
.md-field textarea { min-height: 130px; resize: vertical; }
.md-field input:focus, .md-field select:focus, .md-field textarea:focus { border-color: var(--md-green); box-shadow: 0 0 0 4px rgba(145, 180, 38, .15); }
.md-hp { position: absolute !important; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; }
.md-consent { display: flex; align-items: flex-start; gap: 10px; margin: 4px 0 20px; font-size: 14px; color: #a7b0aa; }
.md-consent input { margin-top: 4px; accent-color: var(--md-green); }
.md-form-foot { display: flex; align-items: center; justify-content: space-between; gap: 16px; flex-wrap: wrap; }
.md-form-foot small { color: #8d968f; }
.md-form-notice { margin-bottom: 18px; padding: 14px 16px; border-radius: 12px; font-weight: 600; }
.md-form-notice--ok { background: rgba(145, 180, 38, .15); color: #c7e46b; }
.md-form-notice--err { background: rgba(229, 72, 77, .15); color: #ff9a9d; }

/* ---------- Mise en avant (bloc Média et texte, style « Mise en avant ») ---------- */
.wp-block-media-text.is-style-md-spotlight {
  position: relative; isolation: isolate; overflow: hidden; width: min(100% - 40px, var(--md-container, 1240px)); margin: 36px auto !important;
  grid-template-columns: 54% 1fr; border-radius: 28px; background: var(--md-dark) !important; color: #fff; box-shadow: var(--md-shadow-lg);
}
.wp-block-media-text.is-style-md-spotlight::before { content: ""; position: absolute; inset: 0; z-index: -1; background: radial-gradient(90% 120% at 100% 0%, rgba(145, 180, 38, .35), transparent 60%), radial-gradient(60% 90% at 100% 100%, rgba(50, 186, 204, .25), transparent 60%); }
[data-theme="dark"] .wp-block-media-text.is-style-md-spotlight { background: #141917 !important; border: 1px solid var(--md-border); }
.wp-block-media-text.is-style-md-spotlight .wp-block-media-text__media { align-self: stretch; min-height: 280px; overflow: hidden; }
.wp-block-media-text.is-style-md-spotlight .wp-block-media-text__media img { width: 100%; height: 100%; object-fit: cover; border-radius: 0 !important; transition: transform .6s; }
.wp-block-media-text.is-style-md-spotlight:hover .wp-block-media-text__media img { transform: scale(1.04); }
.wp-block-media-text.is-style-md-spotlight .wp-block-media-text__content { padding: 36px 40px; font-family: var(--md-font); }
.wp-block-media-text.is-style-md-spotlight .wp-block-media-text__content > p:first-child { margin: 0 0 12px; font-size: 12px; font-weight: 800; letter-spacing: .14em; text-transform: uppercase; color: var(--md-green); }
.wp-block-media-text.is-style-md-spotlight h2, .wp-block-media-text.is-style-md-spotlight h3 { margin: 0 0 12px !important; color: #fff !important; font: 800 clamp(22px, 2.4vw, 30px)/1.2 var(--md-font-title) !important; letter-spacing: -.02em; }
.wp-block-media-text.is-style-md-spotlight h2 a, .wp-block-media-text.is-style-md-spotlight h3 a { color: #fff !important; text-decoration: none; }
.wp-block-media-text.is-style-md-spotlight p { color: #b9c2bc; font-size: 16px; }
.wp-block-media-text.is-style-md-spotlight .wp-block-button__link { border-radius: 999px; background: var(--md-green); color: #111; font-weight: 700; padding: 12px 22px; }
/* Image seule, style « Bannière arrondie » */
.wp-block-image.is-style-md-banner { width: min(100% - 40px, var(--md-container, 1240px)); margin: 36px auto !important; }
.wp-block-image.is-style-md-banner img { width: 100%; border-radius: 28px; box-shadow: var(--md-shadow-lg); }

/* ---------- Éditeur ---------- */
.md-editor-preview a { pointer-events: none; }

/* ---------- Responsive ---------- */
@media (max-width: 1180px) {
  .md-follow-socials { grid-template-columns: repeat(5, minmax(0, 1fr)); }
}
@media (max-width: 1024px) {
  .md-universes { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .md-tests-grid { grid-template-columns: 1fr 1fr; }
  .md-test-hero { grid-column: span 2; grid-row: auto; }
  .md-grid--4 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .md-video-grid { grid-template-columns: 1fr; }
  .md-follow-main { grid-template-columns: minmax(0, 1fr); }
  .md-contact { grid-template-columns: 1fr; padding: 40px 32px; }
  .wp-block-media-text.is-style-md-spotlight { grid-template-columns: 1fr !important; }
  .wp-block-media-text.is-style-md-spotlight .wp-block-media-text__media { grid-row: 1 !important; min-height: 0; aspect-ratio: 16 / 9; }
  .wp-block-media-text.is-style-md-spotlight .wp-block-media-text__content { grid-row: 2 !important; padding: 26px 24px 28px; }
}
@media (max-width: 720px) {
  .md-container, .wp-block-media-text.is-style-md-spotlight, .wp-block-image.is-style-md-banner { width: min(100% - 32px, var(--md-container, 1240px)); }
  .md-home-section { padding: 44px 0; }
  .md-universes { gap: 10px; }
  .md-universe { padding: 12px; gap: 10px; }
  .md-universe small { display: none; }
  .md-universe-ic { width: 38px; height: 38px; }
  .md-tests-grid, .md-grid--4 { grid-template-columns: minmax(0, 1fr); }
  .md-test-hero { grid-column: auto; }
  .md-card--test { flex-direction: row; }
  .md-card--test .md-card-media { width: 42%; flex-shrink: 0; aspect-ratio: 1; }
  .md-card--test .md-score-chip { width: 44px; height: 44px; font-size: 14px; top: 8px; inset-inline-end: 8px; }
  .md-chips { width: 100%; flex-wrap: nowrap; overflow-x: auto; scrollbar-width: none; }
  .md-chip { flex-shrink: 0; }
  .md-video-panel { padding: 24px 18px; border-radius: 24px; }
  .md-video-list .md-video { grid-template-columns: 120px 1fr; }
  .md-follow-card { padding: 18px; gap: 6px 12px; }
  .md-follow-ic { width: 44px; height: 44px; }
  .md-follow-socials { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .md-contact { padding: 32px 20px; border-radius: 24px; }
  .md-form-card { padding: 22px 18px; }
  .md-form-row { grid-template-columns: 1fr; gap: 0; }
  .wp-block-media-text.is-style-md-spotlight { border-radius: 22px; }
}

/* Formulaire Brevo réduit à une ligne : e-mail + bouton (prénom et nom, facultatifs, masqués) */
.md-follow-form .sib-FIRSTNAME-area, .md-follow-form .sib-LASTNAME-area { display: none !important; }
.md-follow-form [class^="sib_signup_box_inside"] { display: flex; align-items: center; gap: 6px; padding: 5px; border-radius: 999px; background: var(--md-surface); border: 1px solid var(--md-border); }
.md-follow-form [class^="sib_signup_box_inside"] > p { margin: 0 !important; }
.md-follow-form p.sib-email-area { flex: 1; font-size: 0; min-width: 0; }
.md-follow-form p.sib-email-area input[type="email"] { font-size: 15px; height: 38px; border: 0 !important; background: transparent !important; padding: 0 12px !important; }
.md-follow-form input[type="submit"] { height: 38px; font-size: 14px; }
.md-follow-form .sib_msg_disp:empty { display: none; }
/* Champs du formulaire de contact : priorité sur les styles de formulaire de Rehub */
.md-contact .md-field input, .md-contact .md-field input[type="email"], .md-contact .md-field select, .md-contact .md-field textarea {
  background: #0f1311 !important; color: #e8ece6 !important; border: 1px solid #2a312d !important; border-radius: 12px !important; box-shadow: none !important; height: auto !important; min-height: 48px;
}

/* ---------- En-tête d'une page d'univers ---------- */
.md-universe-hero { position: relative; isolation: isolate; overflow: hidden; padding: 56px 0 40px; font-family: var(--md-font); color: var(--md-text); }
.md-universe-hero::before {
  content: ""; position: absolute; inset: 0; z-index: -1;
  background: radial-gradient(70% 120% at 0% 0%, color-mix(in srgb, var(--c) 18%, transparent), transparent 60%), var(--md-bg-soft);
}
[dir="rtl"] .md-universe-hero::before { background: radial-gradient(70% 120% at 100% 0%, color-mix(in srgb, var(--c) 18%, transparent), transparent 60%), var(--md-bg-soft); }
.md-universe-hero-ic { width: 64px; height: 64px; display: grid; place-items: center; border-radius: 18px; color: #fff; background: var(--c); box-shadow: 0 10px 24px color-mix(in srgb, var(--c) 35%, transparent); }
.md-universe-hero-ic .md-i { width: 32px; height: 32px; }
.md-universe-hero-title { margin: 18px 0 0 !important; font: 800 clamp(34px, 4.6vw, 54px)/1.08 var(--md-font-title) !important; letter-spacing: -.03em; color: var(--md-text) !important; }
.md-universe-hero-title em { font-style: normal; color: var(--c); }
.md-universe-hero-desc { margin: 14px 0 0; max-width: 720px; font-size: 18.5px; color: var(--md-text-2); }
.md-universe-hero-links { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; margin-top: 26px; }
.md-universe-hero-label { margin-inline-end: 6px; font-size: 12.5px; font-weight: 800; letter-spacing: .14em; text-transform: uppercase; color: var(--md-text-3); }
.md-universe-hero .md-chip { display: inline-flex; align-items: center; color: var(--md-text-2) !important; text-decoration: none; }
.md-universe-hero .md-chip:hover { border-color: var(--c); color: var(--md-text) !important; }
@media (max-width: 720px) {
  .md-universe-hero { padding: 40px 0 28px; }
  .md-universe-hero-ic { width: 52px; height: 52px; border-radius: 14px; }
  .md-universe-hero-links { flex-wrap: nowrap; overflow-x: auto; scrollbar-width: none; margin-inline: -16px; padding-inline: 16px; }
  .md-universe-hero .md-chip { flex-shrink: 0; }
}
@media (max-width: 560px) { .md-hero-pc { grid-template-columns: 1fr; } }
/* Grand écran : la hauteur du test mis en avant suit les 2 rangées de cartes ; l'image absorbe la différence
   au lieu de laisser du blanc (ou d'agrandir les cartes de droite). */
@media (min-width: 1025px) {
  .md-test-hero-media { aspect-ratio: auto; flex: 1 1 0; min-height: 200px; }
}
