/*
 * MedReview — design system das landing pages (Elementor).
 * Fonte canônica deste CSS: repo medreview (css/medreview.css). O conteúdo é colado
 * no Elementor Custom Code; editar sempre AQUI e republicar lá.
 *
 * Marca = classe no wrapper raiz da página (.r1, .anest, .oft, .ortop).
 * Cores derivadas por cor relativa (escala Primary/100..0 do Figma).
 */

/* Fontes auto-hospedadas. ascent-override calibrado para o baseline coincidir com o
   render do Figma (os arquivos atuais do Google Fonts posicionam Lora e Ubuntu Sans
   alguns px acima da versao usada no Figma). */
@font-face {
  font-family: "Urbanist";
  src: url("/wp-content/plugins/medreview-landings/assets/fonts/urbanist-var.woff2") format("woff2");
  font-weight: 100 900;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: "Lora";
  src: url("/wp-content/plugins/medreview-landings/assets/fonts/lora-italic-500.woff2") format("woff2");
  font-weight: 500;
  font-style: italic;
  font-display: swap;
  ascent-override: 113%;
  descent-override: 31.7%;
  line-gap-override: 0%;
}
@font-face {
  font-family: "Lora";
  src: url("/wp-content/plugins/medreview-landings/assets/fonts/lora-italic-var.woff2") format("woff2");
  font-weight: 400;
  font-style: italic;
  font-display: swap;
  ascent-override: 113%;
  descent-override: 31.7%;
  line-gap-override: 0%;
}
/* fallback com a largura da Lora: sem ele a troca de fonte muda a quebra de linha do hero (CLS) */
@font-face {
  font-family: "Lora Fallback";
  src: local("Times New Roman Italic"), local("TimesNewRomanPS-ItalicMT"), local("Liberation Serif Italic"), local("Tinos Italic");
  font-style: italic;
  size-adjust: 110.8%;
  ascent-override: 102%;
  descent-override: 28.6%;
  line-gap-override: 0%;
}
@font-face {
  font-family: "Ubuntu Sans";
  src: url("/wp-content/plugins/medreview-landings/assets/fonts/ubuntu-sans-var.woff2") format("woff2");
  font-weight: 100 800;
  font-style: normal;
  font-display: swap;
  ascent-override: 104.4%;
  descent-override: 33.5%;
  line-gap-override: 0%;
}
@font-face {
  font-family: "Ubuntu Sans";
  src: url("/wp-content/plugins/medreview-landings/assets/fonts/ubuntu-sans-italic-var.woff2") format("woff2");
  font-weight: 100 800;
  font-style: italic;
  font-display: swap;
  ascent-override: 104.4%;
  descent-override: 33.5%;
  line-gap-override: 0%;
}

/* ---------- Marcas ---------- */

/*
 * Página de landing declara-se dark na RAIZ: sem isto o auto-dark do navegador
 * inverte o tema escuro (raiz branca + conteúdo escuro dispara a heurística).
 */
html:has(.mr-page) {
  color-scheme: dark;
  background-color: #0e0e11;
  overscroll-behavior: none;
  overflow-x: clip;
}
body:has(.mr-page) {
  background-color: #0e0e11;
  overflow-x: clip;
}
.mr-page :is(.mr-marquee, .mr-combos-row, .mr-products-row, .mr-cmenu-scroll, .mr-slider-viewport) {
  -webkit-user-select: none;
  user-select: none;
  -webkit-touch-callout: none;
  overscroll-behavior-x: contain;
}

.r1 {
  --brand-primary: #b152e0;
  --brand-secondary: #8e4dff;
  --brand-accent: #fbceb0;
  --brand-accent-foreground: #120c08;
  --brand-alternate: #fbceb0;
  --brand-alternate-foreground: #120c08;
  --brand-background: #0e0e11;
  --brand-foreground: #e3e5e8;
  --brand-contrast: #ffffff;
}

.anest {
  --brand-primary: #00a8e5;
  --brand-secondary: #09ffff;
  --brand-accent: #befe4f;
  --brand-accent-foreground: #081112;
  --brand-alternate: #befe4f;
  --brand-alternate-foreground: #081112;
  --brand-background: #0e0e11;
  --brand-foreground: #e3e5e8;
  --brand-contrast: #ffffff;
}

.oft {
  --brand-primary: #e5c24c;
  --brand-secondary: #ed592c;
  --brand-accent: #e1e481;
  --brand-accent-foreground: #131306;
  --brand-alternate: #e1e481;
  --brand-alternate-foreground: #131306;
  --brand-background: #0e0e11;
  --brand-foreground: #e3e5e8;
  --brand-contrast: #ffffff;
}

.ortop {
  --brand-primary: #ff862a;
  --brand-secondary: #ffbb29;
  --brand-accent: #ffed89;
  --brand-accent-foreground: #121008;
  --brand-alternate: #ffed89;
  --brand-alternate-foreground: #121008;
  --brand-background: #0e0e11;
  --brand-foreground: #e3e5e8;
  --brand-contrast: #ffffff;
}

.r1,
.anest,
.oft,
.ortop {
  --brand-primary-70: oklch(from var(--brand-primary) l c h / 70%);
  --brand-primary-30: oklch(from var(--brand-primary) l c h / 30%);
  --brand-primary-20: oklch(from var(--brand-primary) l c h / 20%);
  --brand-primary-10: oklch(from var(--brand-primary) l c h / 10%);
  --brand-primary-0: oklch(from var(--brand-primary) l c h / 0%);
  --brand-alternate-70: oklch(from var(--brand-alternate) l c h / 70%);
  --brand-alternate-10: oklch(from var(--brand-alternate) l c h / 10%);
  --brand-secondary-30: oklch(from var(--brand-secondary) l c h / 30%);

  --font-heading: "Urbanist", sans-serif;
  --font-heading-alt: "Lora", "Lora Fallback", serif;
  --font-body: "Ubuntu Sans", sans-serif;

  background-color: var(--brand-background);
  color: var(--brand-foreground);
  font-family: var(--font-body);
}

/* ---------- Tipografia ---------- */

/* Tokens heading/h1..h6 do Figma: modo mobile abaixo de 768px (dimensions/screens/md) */
.r1,
.anest,
.oft,
.ortop {
  --fs-h1: 48px;
  --fs-h2: 30px;
  --fs-h3: 24px;
  --fs-h4: 20px;
  --fs-h5: 18px;
  --fs-h6: 16px;
}
@media (min-width: 768px) {
  .r1,
  .anest,
  .oft,
  .ortop {
    --fs-h1: 72px;
    --fs-h2: 48px;
    --fs-h3: 30px;
    --fs-h4: 24px;
    --fs-h5: 20px;
    --fs-h6: 18px;
  }
}

.mr-h1,
.mr-h2,
.mr-h3,
.mr-h4 {
  font-family: var(--font-heading);
  font-weight: 700;
  color: var(--brand-contrast);
  margin: 0;
}

.mr-h1 { font-size: var(--fs-h1); line-height: 1; letter-spacing: 1px; }
.mr-h2 { font-size: var(--fs-h2); line-height: 1.05; }
.mr-h3 { font-size: var(--fs-h3); line-height: 1.1; letter-spacing: 1px; }
.mr-h4 { font-size: var(--fs-h4); line-height: 1.2; }

/* Quebra de linha do Figma (textWrapStyle BALANCE / PRETTY) */
.mr-page :is(.mr-h1, .mr-h2, .mr-h3, .mr-split-title, .mr-sec-desc, .mr-dl-tag) { text-wrap: balance; }
.mr-page :is(.mr-tagline-lg, .mr-h5, .mr-prof-name, .mr-faq .elementor-toggle-title, .mr-footer-col .mr-footer-title) { text-wrap: pretty; }

.mr-tagline {
  font-family: var(--font-heading-alt);
  font-style: italic;
  font-weight: 500;
  font-size: 18px;
  line-height: 24px;
  color: var(--brand-alternate);
  margin: 0;
}

.mr-body { font-size: 16px; line-height: 28px; margin: 0; }
.mr-body-sm { font-size: 14px; line-height: 24px; margin: 0; }

.mr-text-primary { color: var(--brand-primary); }
.mr-text-secondary { color: var(--brand-secondary); }
.mr-text-alternate { color: var(--brand-alternate); }
.mr-text-contrast { color: var(--brand-contrast); }

/* Marcador atrás de palavra destacada no H1: 3 retângulos primary/30 sob o texto */
.mr-mark {
  position: relative;
  display: inline-block;
  isolation: isolate;
}
.mr-mark > span { position: relative; display: inline-block; }
/* Retangulos com a altura do texto e largura 105.4/107.9/102.1%, centrados e depois
   girados: as funcoes hypot() do Figma descrevem a caixa ANTES da rotacao */
.mr-mark::before,
.mr-mark::after,
.mr-mark > span::before {
  content: "";
  position: absolute;
  top: 0;
  bottom: 0;
  z-index: -1;
  border-radius: var(--r-8);
  background: var(--brand-primary-30);
}
.mr-mark::before { left: -2.72%; right: -2.72%; transform: rotate(var(--mk-a1, -4.92deg)) skewX(var(--mk-s1, -3.71deg)); }
.mr-mark::after { left: -3.93%; right: -3.93%; transform: rotate(var(--mk-a2, -0.35deg)) skewX(var(--mk-s2, -0.27deg)); }
.mr-mark > span::before { left: -1.03%; right: -1.03%; transform: rotate(var(--mk-a3, 1.8deg)) skewX(var(--mk-s3, 1.36deg)); }
/* mesmo componente numa caixa mais larga: o Figma escala os retângulos e o ângulo cai à metade */
.mr-mark.wide { --mk-a1: -2.46deg; --mk-s1: -0.04deg; --mk-a2: -0.18deg; --mk-s2: 0deg; --mk-a3: 0.9deg; --mk-s3: 0.01deg; }

/* ---------- Patterns (frame "Padrões" do design system, em CSS puro) ---------- */

.mr-pattern-dots {
  --pattern-size: 24px;
  --pattern-dot: 2px;
  background-image: radial-gradient(
    var(--pattern-color, var(--brand-primary)) var(--pattern-dot),
    transparent var(--pattern-dot)
  );
  background-size: var(--pattern-size) var(--pattern-size);
}
.mr-pattern-dots.dense { --pattern-size: 16px; }
.mr-pattern-dots.sparse { --pattern-size: 40px; }

.mr-pattern-stripes {
  --pattern-size: 16px;
  --pattern-thickness: 2px;
  background-image: repeating-linear-gradient(
    45deg,
    var(--pattern-color, var(--brand-primary)) 0 var(--pattern-thickness),
    transparent var(--pattern-thickness) var(--pattern-size)
  );
}
.mr-pattern-stripes.xs { --pattern-size: 8px; --pattern-thickness: 1px; }
.mr-pattern-stripes.sm { --pattern-size: 12px; --pattern-thickness: 1.5px; }
.mr-pattern-stripes.dense { --pattern-size: 10px; --pattern-thickness: 3px; }
.mr-pattern-stripes.sparse { --pattern-size: 28px; --pattern-thickness: 2px; }

/* Dots coloridos por gradiente: o background do elemento vira a cor dos pontos */
.mr-pattern-dots-masked {
  --pattern-size: 16px;
  --pattern-dot: 2px;
  background-image: linear-gradient(90deg, var(--brand-primary-10), var(--brand-primary));
  -webkit-mask-image: radial-gradient(circle var(--pattern-dot), black 98%, transparent 100%),
    radial-gradient(closest-side, black 0%, transparent 100%);
  mask-image: radial-gradient(circle var(--pattern-dot), black 98%, transparent 100%),
    radial-gradient(closest-side, black 0%, transparent 100%);
  -webkit-mask-size: var(--pattern-size) var(--pattern-size), 100% 100%;
  mask-size: var(--pattern-size) var(--pattern-size), 100% 100%;
  -webkit-mask-repeat: repeat, no-repeat;
  mask-repeat: repeat, no-repeat;
  -webkit-mask-composite: source-in;
  mask-composite: intersect;
}

/* ---------- Seções: helpers de parametrização ---------- */

/* clip em vez de hidden: recorta igual sem virar container de rolagem (sticky funciona) */
.mr-section {
  position: relative;
  overflow: hidden;
  overflow: clip;
}

/* Gradiente de fundo ligável por classe; direção por sufixo */
.mr-section.grad-b::before,
.mr-section.grad-t::before,
.mr-section.grad-l::before,
.mr-section.grad-r::before {
  content: "";
  position: absolute;
  inset: 0;
  opacity: 0.1;
  pointer-events: none;
}
.mr-section.grad-b::before { background: linear-gradient(to bottom, var(--brand-primary), var(--brand-primary-0)); }
.mr-section.grad-t::before { background: linear-gradient(to top, var(--brand-primary), var(--brand-primary-0)); }
.mr-section.grad-l::before { background: linear-gradient(to left, var(--brand-primary), var(--brand-primary-0)); }
.mr-section.grad-r::before { background: linear-gradient(to right, var(--brand-primary), var(--brand-primary-0)); }

/* ---------- Página e adaptadores Elementor ---------- */

/* produção roda com o Optimized Markup do Elementor desligado: o wrapper extra do widget não gera caixa */
.mr-page .elementor-widget > .elementor-widget-container { display: contents; }
/* o Lazy Rendering do WP Rocket às vezes marca seções da primeira dobra: com content-visibility:auto elas abrem com altura 0 (CLS) */
.mr-page > [data-wpr-lazyrender]:nth-child(-n+6) { content-visibility: visible; }
/* página no modelo padrão do Astra: .ast-single-post .entry-content a sublinha todo link */
.entry-content .mr-page a:not(.mr-garantia-nota a, .pg-anest-extensive .mr-faq .elementor-tab-content a) { text-decoration: none; }

.mr-page {
  min-height: 100vh;
  --mr-sq: 1;
  --r-8: calc(8px * var(--mr-sq));
  --r-12: calc(12px * var(--mr-sq));
  --r-16: calc(16px * var(--mr-sq));
  --r-20: calc(20px * var(--mr-sq));
  --r-24: calc(24px * var(--mr-sq));
  --r-32: calc(32px * var(--mr-sq));
}
.mr-page,
.mr-page .e-con {
  --padding-top: 0;
  --padding-bottom: 0;
  --padding-left: 0;
  --padding-right: 0;
}
/* Seções contíguas como no Figma; 80px no fim da página para a barra fixa não cobrir o footer */
.mr-page.e-con { gap: 0; --padding-bottom: 80px; }
/* "Ocultar" responsivo do Elementor precisa vencer os display das classes mr- (mesma especificidade, vêm depois) */
@media (min-width: 1025px) { .mr-page .elementor-hidden-desktop { display: none !important; } }
@media (min-width: 768px) and (max-width: 1024px) { .mr-page .elementor-hidden-tablet { display: none !important; } }
@media (max-width: 767px) { .mr-page .elementor-hidden-mobile { display: none !important; } }
/* Tipografia global do kit Elementor (Roboto) redirecionada para as fontes do design system */
.mr-page {
  --e-global-typography-primary-font-family: "Urbanist";
  --e-global-typography-secondary-font-family: "Ubuntu Sans";
  --e-global-typography-text-font-family: "Ubuntu Sans";
  --e-global-typography-accent-font-family: "Ubuntu Sans";
}
.mr-page .elementor-widget-text-editor,
.mr-page .elementor-icon-list-text,
.mr-page .elementor-tab-content { font-family: var(--font-body); }
.mr-page .elementor-accordion-title { font: inherit; color: inherit; }

/* Gap padrao do Elementor (20px) zerado: cada container declara o gap do Figma */
.mr-page .e-con {
  --gap: 0px;
  --row-gap: 0px;
  --column-gap: 0px;
  --widgets-spacing: 0px;
  --widgets-spacing-row: 0px;
  --widgets-spacing-column: 0px;
}
.mr-page .mr-hero-col > .elementor-element { width: 100%; }

/* O título interno herda a tipografia da classe posta no widget (vence o
   `.elementor-widget-heading h2.elementor-heading-title` do Astra, que fixa 1.3em) */
.mr-page .elementor-widget-heading .elementor-heading-title {
  font: inherit;
  color: inherit;
  line-height: inherit;
  letter-spacing: inherit;
  margin: 0;
}
.mr-page .elementor-widget-text-editor p { margin: 0; }
.mr-medium { font-weight: 500; }

/* Botão (widget button do Elementor com classe mr-btn-el) */
.mr-page .mr-btn-el .elementor-button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  min-height: 40px;
  padding: 8px 16px;
  border-radius: var(--r-12);
  background: var(--brand-accent);
  color: var(--brand-accent-foreground);
  font-family: var(--font-body);
  font-size: 16px;
  font-weight: 500;
  line-height: 24px;
  transition: filter 0.15s ease, background-color 0.1s linear;
}
.mr-page .mr-btn-el .elementor-button:hover { filter: brightness(0.92); }
.mr-page .mr-btn-el:not(.mr-btn-default, .mr-btn-ghost-primary) .elementor-button:hover {
  filter: none;
  background-color: oklch(from var(--brand-accent) l c h / 90%);
}
/* o Elementor põe 5px entre ícone e texto num wrapper interno; o DS usa 8 */
.mr-page .mr-btn-el .elementor-button-content-wrapper { gap: 8px; }
.mr-page .mr-btn-el .elementor-button-icon { order: 2; }
.mr-page .mr-btn-el .elementor-button-text { order: 1; }

/* Icones de botao sempre na cor do texto; chevrons usam o vetor do Figma */
.mr-page .elementor-button .elementor-button-content-wrapper { display: inline-flex; align-items: center; }
.mr-page .elementor-button .elementor-button-icon {
  display: inline-flex;
  color: inherit;
}
.mr-page .elementor-button .elementor-button-icon svg {
  width: 16px;
  height: 16px;
  fill: currentColor;
}
.mr-page .elementor-button .elementor-button-icon:has(.e-fas-chevron-right, .fa-chevron-right),
.mr-page .elementor-button .elementor-button-icon:has(.e-fas-chevron-down, .fa-chevron-down) {
  width: 16px;
  height: 16px;
  background: currentColor;
  -webkit-mask: url("/wp-content/plugins/medreview-landings/assets/icons/chevron-right.svg") center / 16px 16px no-repeat;
  mask: url("/wp-content/plugins/medreview-landings/assets/icons/chevron-right.svg") center / 16px 16px no-repeat;
}
.mr-page .elementor-button .elementor-button-icon:has(.e-fas-chevron-down, .fa-chevron-down) {
  -webkit-mask-image: url("/wp-content/plugins/medreview-landings/assets/icons/chevron-down-mask.svg");
  mask-image: url("/wp-content/plugins/medreview-landings/assets/icons/chevron-down-mask.svg");
}
.mr-page .elementor-button .elementor-button-icon:has(.e-fas-chevron-right, .fa-chevron-right) > *,
.mr-page .elementor-button .elementor-button-icon:has(.e-fas-chevron-down, .fa-chevron-down) > * {
  display: none;
}
.mr-page .mr-btn-el.full,
.mr-page .mr-btn-el.full .elementor-button-wrapper,
.mr-page .mr-btn-el.full .elementor-button { width: 100%; }

/* ---------- Hero ---------- */

/* pt 40 + spacer 90 + gap 16 do Figma */
.mr-page .mr-hero {
  text-align: left;
  display: flex;
  flex-direction: column;
  align-items: center;
  padding: 146px 0 0;
}

/* Pattern Dots/Dense/sm recortado num circulo de 901px, gradiente primary 10->100, 20% */
.mr-page .mr-hero-pattern {
  position: absolute;
  top: calc(50% + 119.5px);
  left: calc(50% - 438.5px);
  transform: translate(-50%, -50%);
  width: 901px;
  height: 901px;
  min-height: 0;
  opacity: 0.2;
  pointer-events: none;
  border-radius: 50%;
  background: linear-gradient(to right, var(--brand-primary-10), var(--brand-primary));
  -webkit-mask: url("/wp-content/plugins/medreview-landings/assets/patterns/dots-dense-sm.svg") 0 0 / 6px 6px repeat;
  mask: url("/wp-content/plugins/medreview-landings/assets/patterns/dots-dense-sm.svg") 0 0 / 6px 6px repeat;
}

.mr-page .mr-hero-inner {
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
  width: 100%;
  max-width: 1280px;
  margin: 0 auto;
  position: relative;
}

/* min-width 393 do Figma limitado a viewport (<393 nao pode cortar o texto) */
.mr-page .mr-hero-col {
  flex: 1 0 0;
  min-width: min(393px, 100%);
  max-width: 640px;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 16px;
  padding: 24px 24px 48px;
}

/* H1 do Figma: blocos em flex-wrap alinhados por baseline, gap 0 16px */
.mr-page .mr-hero-title .elementor-heading-title {
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
  gap: 0 16px;
  font-family: var(--font-heading);
  font-weight: 700;
  font-size: var(--fs-h2);
  line-height: 1.05;
  color: var(--brand-contrast);
}
.mr-hero-title .elementor-heading-title > span { white-space: nowrap; }
.mr-hero-title .mr-mark {
  font-size: var(--fs-h1);
  line-height: 1;
  letter-spacing: 1px;
}
.mr-hero-desc { color: var(--brand-contrast); }
.mr-hero-desc strong { font-weight: 700; }

.mr-page .mr-hero-banner {
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  align-items: center;
  gap: 16px;
  padding-top: 16px;
  width: 100%;
}
.mr-hero-banner-img { width: 80px; }
.mr-hero-banner-img img { width: 80px; height: 80px; object-fit: cover; border-radius: var(--r-8); }
.mr-page .mr-hero-banner-text {
  flex: 1 0 0;
  min-width: 240px;
  display: flex;
  flex-direction: column;
  gap: 4px;
  width: auto;
}

.mr-page .mr-hero-media {
  position: relative;
  width: 100%;
  max-width: 460px;
  flex-shrink: 0;
  padding: 60px 24px 0;
}

.mr-page .mr-card {
  position: relative;
  display: flex;
  flex-direction: column;
  gap: 16px;
  width: 100%;
  padding: 31px;
  border: 1px solid var(--brand-primary-20);
  border-radius: var(--r-16);
  -webkit-backdrop-filter: blur(10px);
  backdrop-filter: blur(10px);
}

.mr-page .mr-card .elementor-icon-list-items { display: flex; flex-direction: column; }
.mr-page .mr-card .elementor-icon-list-text { color: inherit; }
.mr-page .mr-card .elementor-icon-list-icon + .elementor-icon-list-text { padding: 0; }
.mr-page .mr-card .elementor-icon-list-item {
  display: flex;
  align-items: flex-start;
  gap: 8px;
  padding: 8px 0;
  color: var(--brand-contrast);
  font-size: 14px;
  line-height: 24px;
}
.mr-page .mr-card .elementor-icon-list-icon {
  display: flex;
  align-items: center;
  justify-content: center;
  flex: 0 0 24px;
  width: 24px;
  height: 24px;
  padding: 0;
}
.mr-page .mr-card .elementor-icon-list-icon > * { display: none; }
.mr-page .mr-card .elementor-icon-list-icon::before {
  content: "";
  width: 16px;
  height: 16px;
  background: var(--brand-alternate);
  -webkit-mask: url("/wp-content/plugins/medreview-landings/assets/icons/chevron-right.svg") center / contain no-repeat;
  mask: url("/wp-content/plugins/medreview-landings/assets/icons/chevron-right.svg") center / contain no-repeat;
}
.mr-page .mr-card .elementor-icon-list-item:has(.fa-star, .e-fas-star) { color: var(--brand-alternate); font-weight: 500; }
.mr-page .mr-card .elementor-icon-list-item:has(.fa-star, .e-fas-star) .elementor-icon-list-icon {
  filter: drop-shadow(0 0 4px var(--brand-alternate-70));
}
.mr-page .mr-card .elementor-icon-list-item:has(.fa-star, .e-fas-star) .elementor-icon-list-icon::before {
  -webkit-mask-image: url("/wp-content/plugins/medreview-landings/assets/icons/star.svg");
  mask-image: url("/wp-content/plugins/medreview-landings/assets/icons/star.svg");
}
.mr-page .mr-card .elementor-icon-list-item:has(del) { color: rgba(255, 255, 255, 0.3); }
.mr-page .mr-card .elementor-icon-list-item:has(del) .elementor-icon-list-icon::before { background: rgba(255, 255, 255, 0.3); }
.mr-page .mr-card del { color: inherit; text-decoration: line-through; }

.mr-page .mr-hero-mascot {
  position: absolute;
  right: -8px;
  top: -20px;
  width: 140px;
}
.mr-hero-mascot img { width: 100%; height: auto; }

@media (min-width: 768px) {
  .mr-page .mr-hero-media { width: 460px; padding: 0; }
  .mr-page .mr-hero-mascot { right: -113px; top: 102px; width: 243px; }
}

/* ---------- Hero-2 (Home): título centrado, números com textura, mascote e shader ---------- */

.mr-page .mr-hero2 {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 16px;
  padding: 212px 0 64px;
  text-align: center;
}
.mr-page .mr-hero2-dome {
  position: absolute;
  top: 0;
  left: 0;
  width: 99.86%;
  aspect-ratio: 1438 / 655.05;
  min-height: 0;
  opacity: 0.08;
  pointer-events: none;
  background: #fff;
  -webkit-mask: url("/wp-content/plugins/medreview-landings/assets/patterns/dots-regular.svg") 0 0 / 9px 9px repeat, url("/wp-content/plugins/medreview-landings/assets/patterns/hero-dome.svg") 0 0 / 100% 100% no-repeat;
  -webkit-mask-composite: source-in;
  mask: url("/wp-content/plugins/medreview-landings/assets/patterns/dots-regular.svg") 0 0 / 9px 9px repeat, url("/wp-content/plugins/medreview-landings/assets/patterns/hero-dome.svg") 0 0 / 100% 100% no-repeat;
  mask-composite: intersect;
}
.mr-page .mr-hero2-head {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 16px;
  width: 100%;
  max-width: 1280px;
  padding: 0 16px;
}
.mr-page .mr-hero2-tag .elementor-heading-title {
  font-family: var(--font-heading-alt);
  font-style: italic;
  font-weight: 400;
  font-size: var(--fs-h3);
  line-height: 1.1;
  color: var(--brand-alternate);
  text-wrap: balance;
}
.mr-page .mr-hero2-title .elementor-heading-title {
  max-width: 960px;
  margin: 0 auto;
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 0 16px;
  font-family: var(--font-heading);
  font-weight: 700;
  font-size: 96px;
  line-height: 1;
  color: var(--brand-contrast);
}
.mr-page .mr-hero2-title .elementor-heading-title > span { white-space: nowrap; }
/* Urbanist a line-height 1 fica 1px acima do Figma; os retângulos do marcador não descem junto */
.mr-page .mr-hero2-title .elementor-heading-title > span { position: relative; top: 1px; }
.mr-page .mr-hero2-title .mr-mark::before,
.mr-page .mr-hero2-title .mr-mark::after,
.mr-page .mr-hero2-title .mr-mark > span::before { top: -1px; bottom: 1px; }

.mr-page .mr-hero2-stats {
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
  width: 100%;
  max-width: 1280px;
  padding: 24px;
}
.mr-page .mr-hero2-col {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 32px;
  width: auto;
}
.mr-page .mr-hero2-col.end { align-items: center; }
.mr-page .mr-stat {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 8px;
  min-width: 340px;
  max-width: 100%;
  width: auto;
}
.mr-page .mr-texnum .elementor-heading-title {
  display: inline-block;
  font-family: var(--font-heading);
  font-weight: 700;
  font-size: 128px;
  line-height: 1;
  white-space: nowrap;
  background: linear-gradient(to top right, var(--brand-primary-10), var(--brand-primary) 50%, var(--brand-primary-10));
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
  -webkit-mask: url("/wp-content/plugins/medreview-landings/assets/patterns/stripes-dense-sm.svg") 0 0 / 36px 36px repeat;
  mask: url("/wp-content/plugins/medreview-landings/assets/patterns/stripes-dense-sm.svg") 0 0 / 36px 36px repeat;
}
.mr-page .mr-stat-label { width: 100%; }
.mr-page .mr-stat-label .elementor-heading-title {
  font-family: var(--font-heading);
  font-weight: 700;
  font-size: 20px;
  line-height: 1.3;
  color: var(--brand-contrast);
  text-wrap: pretty;
}

.mr-page .mr-hero2-media {
  position: relative;
  flex: 1 0 0;
  min-width: 340px;
  max-width: 450px;
  height: 460px;
}
.mr-hero2-media .elementor-widget,
.mr-hero2-media .elementor-widget .elementor-widget-container { position: static; }
.mr-hero2-media .mr-shader {
  position: absolute;
  left: 50%;
  top: -18.13%;
  bottom: -14.79%;
  width: 690px;
  transform: translateX(-50%);
  mix-blend-mode: plus-lighter;
  pointer-events: none;
}
.mr-shader canvas,
.mr-shader img { position: absolute; inset: 0; width: 100%; height: 100%; display: block; }
.mr-shader canvas { opacity: 0; }
.mr-shader.is-live canvas { opacity: 1; }
.mr-shader.is-live img { visibility: hidden; }
.mr-hero2-media .mr-hero2-mascot {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  animation: mr-float-14 2s ease-in-out infinite;
}
@keyframes mr-float-14 {
  0%, 100% { translate: 0 0; }
  50% { translate: 0 -14px; }
}
@media (prefers-reduced-motion: reduce) { .mr-hero2-media .mr-hero2-mascot { animation: none; } }

.mr-page .mr-hero2-nota {
  display: flex;
  flex-direction: row;
  justify-content: flex-end;
  width: 100%;
  max-width: 1280px;
  padding: 0 16px;
}
.mr-page .mr-hero2-nota .elementor-widget-container,
.mr-page .mr-hero2-nota p {
  max-width: 360px;
  margin: 0;
  font-family: var(--font-body);
  font-size: 10px;
  line-height: 1.3;
  color: rgba(255, 255, 255, 0.6);
  text-align: right;
}

/* mascote entre as colunas só cabe com 367 + 340 + 340 + 2 gaps de 24 + padding 48 = 1143px */
@media (max-width: 1142px) {
  .mr-page .mr-hero2-media { display: none; }
  .mr-page .mr-hero2-stats { justify-content: center; }
}
@media (max-width: 767px) {
  .mr-page .mr-hero2 { padding-top: 180px; }
  .mr-page .mr-hero2-title .elementor-heading-title { font-size: 60px; }
  .mr-page .mr-texnum .elementor-heading-title { font-size: 72px; }
  .mr-page .mr-stat-label .elementor-heading-title { font-size: 18px; }
}

/* Barra de CTA fixa no topo (desktop): 13px abaixo do header completo ou do secondary sozinho */
.mr-page .mr-topcta {
  position: fixed;
  top: calc(var(--wp-admin--admin-bar--height, 0px) + 133px);
  left: 50%;
  z-index: 49;
  width: auto;
  transform: translate(-50%, -8px);
  opacity: 0;
  visibility: hidden;
  transition: top 0.2s ease-out, transform 0.2s ease-out, opacity 0.2s ease-out, visibility 0s linear 0.2s;
}
.mr-page .mr-topcta.is-visible {
  transform: translate(-50%, 0);
  opacity: 1;
  visibility: visible;
  transition: top 0.2s ease-out, transform 0.2s ease-out, opacity 0.2s ease-out, visibility 0s;
}
.mr-page:has(.mr-header-wrap.is-primary-hidden) .mr-topcta { top: calc(var(--wp-admin--admin-bar--height, 0px) + 69px); }
.mr-page .mr-topcta .elementor-button {
  box-shadow: 0 25px 50px -12px rgba(0, 0, 0, 0.25), 0 0 12px oklch(from var(--brand-alternate) l c h / 50%);
}
@media (max-width: 767px) { .mr-page .mr-topcta { display: none; } }
@media (prefers-reduced-motion: reduce) { .mr-page .mr-topcta, .mr-page .mr-topcta.is-visible { transition: none; } }

/* ---------- Feature (mascote sobre o símbolo da marca em listras + texto) ---------- */

.mr-section.grad-r.fade-10::before { background: linear-gradient(to right, var(--brand-primary), var(--brand-primary-10)); }
.mr-page .mr-feat2 {
  display: flex;
  flex-direction: column;
  align-items: center;
  padding: 64px 0;
}
.mr-page .mr-feat2-grid {
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
  gap: 24px;
  width: 100%;
  max-width: 1170px;
  padding: 0 16px;
}
.mr-page .mr-feat2-art {
  position: relative;
  flex: 1 0 0;
  min-width: min(340px, 100%);
  display: flex;
  flex-direction: row;
  align-items: center;
  justify-content: center;
}
.mr-feat2-art .elementor-widget,
.mr-feat2-art .elementor-widget .elementor-widget-container { position: static; width: 100%; display: flex; justify-content: center; }
.mr-feat2-symb {
  position: absolute;
  top: -6.25%;
  bottom: -6.25%;
  left: calc(50% + 0.5px);
  aspect-ratio: 1;
  transform: translateX(-50%);
  opacity: 0.4;
  pointer-events: none;
}
.mr-feat2-symb::before {
  content: "";
  position: absolute;
  inset: 1.71% -0.24% -1.71% 0.24%;
  background: linear-gradient(to bottom right, var(--brand-primary), var(--brand-primary-10));
  -webkit-mask: url("/wp-content/plugins/medreview-landings/assets/patterns/stripes-dense-sm.svg") 0 0 / 54px 54px repeat, url("/wp-content/plugins/medreview-landings/assets/logos/medreview-symb.svg") 40% 40% / 98.78% 98.78% no-repeat;
  -webkit-mask-composite: source-in;
  mask: url("/wp-content/plugins/medreview-landings/assets/patterns/stripes-dense-sm.svg") 0 0 / 54px 54px repeat, url("/wp-content/plugins/medreview-landings/assets/logos/medreview-symb.svg") 40% 40% / 98.78% 98.78% no-repeat;
  mask-composite: intersect;
}
.mr-page .mr-feat2-img {
  position: relative;
  display: block;
  width: 100%;
  max-width: 480px;
  height: auto;
  aspect-ratio: 1;
  object-fit: cover;
}
.mr-page .mr-feat2-body {
  flex: 1 0 0;
  min-width: min(320px, 100%);
  max-width: 640px;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 12px;
  padding: 0 16px;
}
.mr-page .mr-feat2-title .elementor-heading-title {
  font-family: var(--font-heading);
  font-weight: 700;
  font-size: var(--fs-h2);
  line-height: 1.05;
  color: var(--brand-contrast);
  text-wrap: balance;
}
.mr-page .mr-feat2-desc,
.mr-page .mr-feat2-desc p {
  margin: 0;
  font-size: 16px;
  line-height: 28px;
  color: var(--brand-foreground);
}
.mr-page .mr-feat2-nota { display: flex; flex-direction: column; gap: 12px; padding-top: 8px; }
.mr-page .mr-feat2-nota::before { content: ""; width: 64px; height: 1px; background: rgba(255, 255, 255, 0.2); }
.mr-page .mr-feat2-nota p { margin: 0; font-size: 10px; line-height: 1.3; color: var(--brand-fg-muted); }

/* ---------- Combos com imagem (Home): cards 340x454 num scroll horizontal com fade nas bordas ---------- */

.mr-page .mr-combos {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 40px;
  padding: 80px 0;
}
.mr-page .mr-combos-wrap { width: 100%; padding: 0 8px; }
@media (min-width: 1025px) {
  .mr-page .mr-combos-wrap {
    -webkit-mask: linear-gradient(90deg, transparent, #000 15%, #000 80%, transparent);
    mask: linear-gradient(90deg, transparent, #000 15%, #000 80%, transparent);
  }
  .mr-page .mr-combos-wrap.is-start {
    -webkit-mask: linear-gradient(90deg, #000, #000 80%, transparent);
    mask: linear-gradient(90deg, #000, #000 80%, transparent);
  }
  .mr-page .mr-combos-wrap.is-end {
    -webkit-mask: linear-gradient(90deg, transparent, #000 15%, #000);
    mask: linear-gradient(90deg, transparent, #000 15%, #000);
  }
}
.mr-page .mr-combos-row {
  display: flex;
  flex-direction: row;
  flex-wrap: nowrap;
  justify-content: safe center;
  gap: 16px;
  width: 100%;
  max-width: 1202px;
  margin: 0 auto;
  padding: 44px 16px 24px;
  overflow-x: auto;
  scrollbar-width: none;
  user-select: none;
}
.mr-page .mr-combos-row::-webkit-scrollbar { display: none; }
.mr-page .mr-combos-row .mr-card {
  flex: 0 0 340px;
  width: 340px;
  height: 454px;
}
.mr-page .mr-combo-img {
  width: 100%;
  aspect-ratio: 160 / 90;
  min-height: 0;
  border-radius: var(--r-16);
  background: var(--brand-primary-10);
}
.mr-page .mr-combo-img > .elementor-widget,
.mr-combo-img .elementor-widget-container { width: 100%; height: 100%; }
.mr-page .mr-combo-img:has(img) { background: none; }
.mr-combo-img img { display: block; width: 100%; height: 100%; object-fit: cover; border-radius: inherit; }
.mr-page .mr-combo-body {
  flex: 1 0 0;
  display: flex;
  flex-direction: column;
  gap: 8px;
  width: 100%;
}
.mr-page .mr-combo-head { display: flex; flex-direction: column; width: 100%; }
.mr-page .mr-combo-curso .elementor-heading-title {
  font-family: var(--font-heading);
  font-weight: 700;
  font-size: 18px;
  line-height: 1.4;
  color: var(--brand-primary);
}
.mr-page .mr-combo-nome .elementor-heading-title {
  font-family: var(--font-heading);
  font-weight: 700;
  font-size: 24px;
  line-height: 1.2;
  color: var(--brand-alternate);
}
.mr-page .mr-combos .mr-sec-title { max-width: 780px; }
.mr-page .mr-card-badge.center { right: auto; left: calc(50% + 0.5px); transform: translateX(-50%); }

/* Botão padrão das landings (visual do design system) */
.mr-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  height: 40px;
  padding: 8px 16px;
  border-radius: var(--r-12);
  background: var(--brand-accent);
  color: var(--brand-accent-foreground);
  font-family: var(--font-body);
  font-size: 16px;
  font-weight: 500;
  line-height: 24px;
  text-decoration: none;
  transition: background-color 0.1s linear;
}
.mr-btn:hover { background-color: oklch(from var(--brand-accent) l c h / 90%); color: var(--brand-accent-foreground); }
.mr-btn.full { width: 100%; }

/* ---------- Hero: variante com foto e etiquetas (Hero-4) ---------- */

.mr-page .mr-hero.items-end .mr-hero-inner { align-items: flex-end; }

/* Container 800/608 do Figma; no mobile passa de 393 e e recortado pela secao (como no Figma) */
.mr-page .mr-hero-figure {
  position: relative;
  flex: 1 0 0;
  min-width: 480px;
  max-width: 860px;
  min-height: 364.8px;
  max-height: 653.6px;
  aspect-ratio: 800 / 608;
}
.mr-hero-figure .elementor-widget,
.mr-hero-figure .elementor-widget .elementor-widget-container { position: static; }
.mr-hero-figure img {
  position: absolute;
  left: 0;
  top: -1.61%;
  width: 100%;
  height: 99.96%;
  max-width: none;
  display: block;
}

.mr-page .mr-img-tag {
  position: absolute;
  width: auto;
  padding: 4px 10px;
  border-radius: var(--r-8);
  background: rgba(0, 0, 0, 0.2);
  backdrop-filter: blur(20px);
  font-size: 14px;
  font-weight: 500;
  line-height: 24px;
  color: #ffffff;
  text-align: center;
  white-space: nowrap;
}
.mr-page .mr-img-tag.tag-1 { left: 56px; bottom: 30.4px; }
.mr-page .mr-img-tag.tag-2 { left: calc(50% + 5.5px); transform: translateX(-50%); bottom: 70.4px; }
.mr-page .mr-img-tag.tag-3 { right: 72px; bottom: 30.4px; }

/* Faixa Pattern/Stripes/Regular/sm (tile de 54px do Figma) na base da secao */
.mr-section.stripe-b::after {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  height: 8px;
  background: var(--brand-primary);
  -webkit-mask: url("/wp-content/plugins/medreview-landings/assets/patterns/stripes-regular-sm.svg") 0 0 / 54px 54px repeat;
  mask: url("/wp-content/plugins/medreview-landings/assets/patterns/stripes-regular-sm.svg") 0 0 / 54px 54px repeat;
}

/* ---------- Section title (tagline + h2 centralizados) ---------- */

.mr-page .mr-sec-title {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 16px;
  width: 100%;
  max-width: 720px;
  margin: 0 auto;
  padding: 0 16px;
  text-align: center;
}
.mr-tagline-lg {
  font-family: var(--font-heading-alt);
  font-style: italic;
  font-weight: 500;
  font-size: var(--fs-h4);
  line-height: 1.2;
  color: var(--brand-alternate);
}
.mr-sec-title .mr-h2 { width: 100%; }

/* ---------- Aprovados (person marquee) ---------- */

.mr-page .mr-aprovados {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 24px;
  padding: 64px 0;
}

.mr-page .mr-marquee {
  width: 100%;
  overflow-x: auto;
  scrollbar-width: none;
  -webkit-user-select: none;
  user-select: none;
}
.mr-page .mr-marquee::-webkit-scrollbar { display: none; }
.mr-page .mr-aprovados .mr-marquee {
  -webkit-mask-image: linear-gradient(90deg, transparent, #000 20%, #000 80%, transparent);
  mask-image: linear-gradient(90deg, transparent, #000 20%, #000 80%, transparent);
}
/* mascara do Figma cobre o container (max 1248) + 96px de cada lado */
.mr-page .mr-videos .mr-marquee,
.mr-page .mr-profs .mr-marquee {
  -webkit-mask: linear-gradient(90deg, transparent, #000 15%, #000 85%, transparent) 50% 0 / calc(min(1248px, 100% - 32px) + 192px) 100% no-repeat;
  mask: linear-gradient(90deg, transparent, #000 15%, #000 85%, transparent) 50% 0 / calc(min(1248px, 100% - 32px) + 192px) 100% no-repeat;
}
/* trilho = inset do container (1248) + padding do Content do Figma */
.mr-page .mr-videos .mr-marquee-track {
  gap: 40px;
  padding-top: 0;
  padding-bottom: 0;
  padding-left: calc(max(16px, (100% - 1248px) / 2) + 56px);
  padding-right: calc(max(16px, (100% - 1248px) / 2) + 56px);
}
.mr-page .mr-profs .mr-marquee-track {
  align-items: stretch;
  gap: 16px;
  padding-top: 0;
  padding-bottom: 0;
  padding-left: calc(max(16px, (100% - 1248px) / 2) + 16px);
  padding-right: calc(max(16px, (100% - 1248px) / 2) + 16px);
}
.mr-page .mr-marquee :is(img, a),
.mr-page .mr-slider-viewport img { -webkit-user-drag: none; }
@media (hover: hover) and (pointer: fine) {
  .mr-page .mr-marquee,
  .mr-page .mr-products-row { cursor: grab; }
}
.mr-page .is-dragging { cursor: grabbing; user-select: none; }

.mr-page .mr-marquee-track {
  display: flex;
  flex-direction: row;
  align-items: flex-end;
  gap: 25px;
  width: max-content;
  padding: 16px 128px 8px;
}

.mr-page .mr-aprovados .mr-marquee-track { padding-bottom: 0; }
.mr-page .mr-person {
  display: flex;
  flex-direction: column;
  align-items: center;
  width: 156px;
}
.mr-page .mr-person > .mr-person-photo.elementor-widget { margin-bottom: 8px; }
.mr-page .mr-person-photo {
  position: relative;
  width: 140px;
  border-radius: var(--r-32);
  overflow: hidden;
  box-shadow: 0 20px 25px rgba(0, 0, 0, 0.2), 0 8px 10px rgba(0, 0, 0, 0.2);
  transform-origin: 50% 100%;
  transition: transform 0.45s cubic-bezier(0, 0, 0, 1);
}
.mr-person-photo img {
  width: 140px;
  height: 140px;
  object-fit: cover;
  display: block;
  filter: grayscale(1);
  transition: filter 0.45s cubic-bezier(0, 0, 0, 1);
}
.mr-person-photo::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 1;
  background: var(--brand-primary);
  opacity: 0.2;
  transition: opacity 0.45s cubic-bezier(0, 0, 0, 1);
}
.mr-page .mr-person.is-center .mr-person-photo { transform: scale(1.1143); }
.mr-page .mr-person.is-center .mr-person-photo img { filter: grayscale(0); }
.mr-page .mr-person.is-center .mr-person-photo::before { opacity: 0; }
@media (hover: hover) {
  .mr-page .mr-person:hover .mr-person-photo { transform: scale(1.1143); }
  .mr-page .mr-person:hover .mr-person-photo img { filter: grayscale(0); }
  .mr-page .mr-person:hover .mr-person-photo::before { opacity: 0; }
  .mr-page .mr-marquee-track:has(.mr-person:hover) .mr-person.is-center:not(:hover) .mr-person-photo { transform: none; }
  .mr-page .mr-marquee-track:has(.mr-person:hover) .mr-person.is-center:not(:hover) .mr-person-photo img { filter: grayscale(1); }
  .mr-page .mr-marquee-track:has(.mr-person:hover) .mr-person.is-center:not(:hover) .mr-person-photo::before { opacity: 0.2; }
}
.mr-person-photo::after {
  content: "";
  position: absolute;
  z-index: 2;
  right: 12px;
  bottom: 12px;
  width: 20px;
  height: 20px;
  background: var(--brand-alternate);
  -webkit-mask: url("/wp-content/plugins/medreview-landings/assets/icons/circle-check.svg") center / contain no-repeat;
  mask: url("/wp-content/plugins/medreview-landings/assets/icons/circle-check.svg") center / contain no-repeat;
}
.mr-page .mr-person-tag {
  font-size: 12px;
  font-weight: 500;
  line-height: 20px;
  color: var(--brand-alternate);
  text-align: center;
  width: 100%;
}
.mr-page .mr-person-name {
  font-size: 14px;
  font-weight: 500;
  line-height: 24px;
  color: var(--brand-contrast);
  text-align: center;
  width: 100%;
}
.mr-page .mr-person-tag .elementor-heading-title,
.mr-page .mr-person-name .elementor-heading-title {
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

/* ---------- Tokens complementares ---------- */

.r1,
.anest,
.oft,
.ortop {
  --brand-bg-secondary: #454554;
  --brand-border-muted: rgba(255, 255, 255, 0.05);
  --brand-fg-muted: rgba(255, 255, 255, 0.6);
}

.mr-h5 {
  font-family: var(--font-heading);
  font-weight: 700;
  font-size: var(--fs-h5);
  line-height: 1.3;
  color: var(--brand-contrast);
  margin: 0;
}
.mr-text-muted { color: var(--brand-fg-muted); }

/* Divisor de stripes (4px) */
.mr-page .mr-divider {
  width: 100%;
  height: 4px;
  min-height: 4px;
  background: var(--brand-bg-secondary);
  -webkit-mask: url("/wp-content/plugins/medreview-landings/assets/patterns/stripes-regular-sm.svg") 0 0 / 54px 54px repeat;
  mask: url("/wp-content/plugins/medreview-landings/assets/patterns/stripes-regular-sm.svg") 0 0 / 54px 54px repeat;
}

/* Descrição do section title */
.mr-sec-desc {
  font-size: 16px;
  line-height: 28px;
  color: var(--brand-fg-muted);
}

/* ---------- Split (imagem lateral + conteúdo) ---------- */

.mr-page .mr-split {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 64px;
  padding: 56px 0;
}
.mr-page .mr-split-grid {
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
  gap: 24px;
  width: 100%;
  max-width: 1170px;
  padding: 0 16px;
}
.mr-page .mr-split-img {
  position: relative;
  flex: 1 0 0;
  min-width: min(340px, 100%);
  height: var(--mr-split-h, 350px);
}
.mr-split-img img {
  width: 100%;
  height: var(--mr-split-h, 350px);
  object-fit: cover;
  border-radius: var(--r-16);
  border: 1px solid var(--brand-border-muted);
  display: block;
}
.mr-page .mr-split-body {
  flex: 1 0 0;
  min-width: min(320px, 100%);
  max-width: 640px;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 8px;
  padding: 0 16px;
}
.mr-split-title {
  font-family: var(--font-heading);
  font-weight: 700;
  font-size: var(--fs-h3);
  line-height: 1.1;
  letter-spacing: 1px;
  color: var(--brand-contrast);
}
.mr-page .mr-feature {
  display: flex;
  flex-direction: row;
  align-items: flex-start;
  gap: 16px;
  width: 100%;
}
.mr-page .mr-feat-icon {
  flex: 0 0 48px;
  position: relative;
  width: 48px;
  height: 48px;
  border-radius: var(--r-8);
  background: var(--brand-alternate-10);
}
/* o Elementor posiciona o ::before do container (overlay de fundo) */
.mr-page .mr-feat-icon::before {
  content: "";
  position: absolute;
  inset: 0;
  margin: auto;
  width: 24px;
  height: 24px;
  opacity: 1;
  background: var(--brand-alternate);
  -webkit-mask: var(--mr-ico) center / contain no-repeat;
  mask: var(--mr-ico) center / contain no-repeat;
}
.mr-page .mr-feat-text {
  flex: 1 0 0;
  min-width: 0;
  display: flex;
  flex-direction: column;
}
.mr-page .mr-feat-text > .mr-feat-title.elementor-widget { margin-bottom: -4px; }
.mr-feat-title {
  font-size: 16px;
  font-weight: 700;
  line-height: 28px;
  color: var(--brand-contrast);
}
.mr-feat-desc {
  font-size: 16px;
  line-height: 28px;
  color: var(--brand-fg-muted);
}
.mr-ico-book-open { --mr-ico: url("/wp-content/plugins/medreview-landings/assets/icons/book-open.svg"); }
.mr-ico-suitcase { --mr-ico: url("/wp-content/plugins/medreview-landings/assets/icons/suitcase.svg"); }
.mr-ico-droplet { --mr-ico: url("/wp-content/plugins/medreview-landings/assets/icons/droplet.svg"); }
.mr-ico-tag { --mr-ico: url("/wp-content/plugins/medreview-landings/assets/icons/tag.svg"); }
.mr-ico-pilar-brain { --mr-ico: url("/wp-content/plugins/medreview-landings/assets/icons/pilar-brain.svg"); }
.mr-ico-pilar-compass { --mr-ico: url("/wp-content/plugins/medreview-landings/assets/icons/pilar-compass.svg"); }
.mr-ico-pilar-refresh { --mr-ico: url("/wp-content/plugins/medreview-landings/assets/icons/pilar-refresh.svg"); }
.mr-ico-pilar-bell { --mr-ico: url("/wp-content/plugins/medreview-landings/assets/icons/pilar-bell.svg"); }
.mr-ico-dif-file-text { --mr-ico: url("/wp-content/plugins/medreview-landings/assets/icons/dif-file-text.svg"); }
.mr-ico-dif-book-open { --mr-ico: url("/wp-content/plugins/medreview-landings/assets/icons/dif-book-open.svg"); }
.mr-ico-dif-circle-question { --mr-ico: url("/wp-content/plugins/medreview-landings/assets/icons/dif-circle-question.svg"); }
.mr-ico-dif-face-fun { --mr-ico: url("/wp-content/plugins/medreview-landings/assets/icons/dif-face-fun.svg"); }
.mr-ico-pencil-to-square { --mr-ico: url("/wp-content/plugins/medreview-landings/assets/icons/pencil-to-square.svg"); }
.mr-ico-person-speaker { --mr-ico: url("/wp-content/plugins/medreview-landings/assets/icons/person-speaker.svg"); }

/* Split da Home: imagem de 380, parágrafo e lista compacta */
.mr-page .mr-split.alto { --mr-split-h: 380px; }
.mr-section.op-5::before { opacity: 0.05; }
.mr-section.grad-l.fade-10::before { background: linear-gradient(to left, var(--brand-primary), var(--brand-primary-10)); }
.mr-split-desc {
  font-size: 16px;
  line-height: 28px;
  color: var(--brand-foreground);
}
.mr-page .mr-feats-sm {
  display: flex;
  flex-direction: column;
  gap: 4px;
  width: 100%;
}
.mr-page .mr-feature.sm .mr-feat-icon { flex-basis: 40px; width: 40px; height: 40px; }
.mr-page .mr-feature.sm .mr-feat-text > .mr-feat-title.elementor-widget { margin-bottom: -6px; }
.mr-page .mr-feature.sm .mr-feat-desc { font-size: 12px; line-height: 20px; }
.mr-page .mr-btn-cart .elementor-button-content-wrapper::before {
  content: "";
  flex: 0 0 16px;
  width: 16px;
  height: 16px;
  background: currentColor;
  -webkit-mask: url("/wp-content/plugins/medreview-landings/assets/icons/shopping-cart.svg") center / 16px 16px no-repeat;
  mask: url("/wp-content/plugins/medreview-landings/assets/icons/shopping-cart.svg") center / 16px 16px no-repeat;
}
.mr-page .mr-livro-conheca { position: absolute; right: 16px; bottom: 16px; width: auto; }
.mr-page .mr-btn-default.xs .elementor-button {
  min-height: 32px;
  height: 32px;
  padding: 6px 12px;
  font-size: 12px;
  line-height: 16px;
  -webkit-backdrop-filter: blur(20px);
  backdrop-filter: blur(20px);
}
.mr-page .mr-btn-default.xs .elementor-button-content-wrapper { gap: 4px; }

/* ---------- Tiles (cards de pilares) ---------- */

.mr-page .mr-cards-sec {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 56px;
  padding: 96px 16px;
}
.mr-page .mr-tiles {
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  align-items: stretch;
  gap: 16px;
  width: 100%;
  max-width: 1248px;
}
.mr-page .mr-tile {
  position: relative;
  flex: 1 0 0;
  min-width: min(300px, 100%);
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  align-items: flex-start;
  gap: 20px;
  padding: 28px 36px;
  border: 1px solid var(--brand-primary-20);
  border-radius: var(--r-16);
  overflow: hidden;
  background: linear-gradient(
    to bottom right,
    oklch(from var(--brand-primary) l c h / 0.5%),
    oklch(from var(--brand-primary) l c h / 5%)
  );
}
.mr-page .mr-tile-icon {
  position: relative;
  flex: 0 0 48px;
  width: 48px;
  height: 48px;
  opacity: 0.8;
}
.mr-page .mr-tile-icon::before {
  content: "";
  position: absolute;
  inset: 0;
  opacity: 1;
  background: var(--brand-primary);
  -webkit-mask: var(--mr-ico) center / contain no-repeat;
  mask: var(--mr-ico) center / contain no-repeat;
}
.mr-page .mr-tile-text {
  display: flex;
  flex-direction: column;
  gap: 8px;
  width: 100%;
}
/* scroll-to-top do tema nao existe no design das landings */
body:has(.mr-page) #ast-scroll-top { display: none !important; }
.mr-tile .mr-h5 { width: 100%; }
.mr-tile-desc {
  font-size: 12px;
  font-weight: 500;
  line-height: 20px;
  color: var(--brand-fg-muted);
}

/* ---------- Slider de metodologia (timeline + slides) ---------- */

.r1,
.anest,
.oft,
.ortop {
  --brand-card: #1c1c22;
  --brand-card-hover: #2e2e38;
  --brand-border-regular: rgba(255, 255, 255, 0.1);
}

.mr-page .mr-slider-sec {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 48px;
  padding: 64px 0;
}
.mr-page .mr-slider-head {
  display: flex;
  flex-direction: column;
  align-items: center;
  width: 100%;
  max-width: 1280px;
  padding: 16px 16px 0;
}
.mr-page .mr-slider-sec { --mr-slide-scroll: 25vh; }
.mr-page .mr-slider-track {
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: center;
  width: 100%;
}
html.mr-snap-steps { scroll-snap-type: y proximity; }
.mr-page .mr-step-snap {
  position: absolute;
  left: 0;
  width: 1px;
  height: 1px;
  pointer-events: none;
  scroll-snap-align: start;
  scroll-snap-stop: always;
}
.mr-page .mr-slider-pin {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 64px;
  width: 100%;
}
/* troca de slide pela rolagem: o bloco fica preso enquanto a trilha rola (mr-pin-fit: o JS mediu que cabe na tela) */
@media (max-height: 679.98px) and (pointer: coarse) {
  .mr-page .mr-slider-pin { gap: 24px; }
}
@media (min-height: 680px), (pointer: coarse) {
  .mr-page .mr-slider-sec.mr-pin-fit .mr-slider-track::after {
    content: "";
    flex: 0 0 auto;
    height: calc(var(--mr-slides, 5) * var(--mr-slide-scroll));
  }
  .mr-page .mr-slider-sec.mr-pin-fit .mr-slider-pin {
    position: sticky;
    top: max(0px, min(max(72px, calc((100svh + 56px - 590px) / 2)), calc(100svh - var(--mr-pin-h, 0px))));
  }
}

.mr-page .mr-steps {
  display: flex;
  flex-direction: row;
  align-items: center;
  justify-content: center;
  gap: 2px;
  width: calc(100% - 32px);
  max-width: 1248px;
  padding: 16px;
}
.mr-page .mr-step {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 32px;
  height: 32px;
  border-radius: var(--r-8);
  background: var(--brand-card);
  -webkit-backdrop-filter: blur(20px);
  backdrop-filter: blur(20px);
  color: rgba(255, 255, 255, 0.5);
  font-size: 12px;
  font-weight: 500;
  line-height: 16px;
  cursor: pointer;
  flex-shrink: 0;
  transition: background-color 0.1s linear, color 0.3s ease-out, box-shadow 0.3s ease-out;
}
.mr-page .mr-step.done {
  background: transparent;
  color: var(--brand-primary);
  box-shadow: inset 0 0 0 1px var(--brand-primary);
}
.mr-page .mr-step.active {
  background: var(--brand-primary);
  color: #ffffff;
  box-shadow: 0 0 0 6px var(--brand-primary-30);
}
@media (hover: hover) {
  .mr-page .mr-step:hover { background: var(--brand-card-hover); }
  .mr-page .mr-step.done:hover { background: var(--brand-card); }
  .mr-page .mr-step.active:hover { background: oklch(from var(--brand-primary) l c h / 80%); box-shadow: none; }
}
.mr-page .mr-step:focus-visible { outline: 2px solid var(--brand-primary); outline-offset: 2px; }
.mr-page .mr-step-line {
  flex: 1 0 0;
  min-width: 8px;
  height: 3px;
  background: var(--brand-bg-secondary);
  transition: background-color 0.3s ease-out;
}
.mr-page .mr-step-line.done { background: oklch(from var(--brand-primary) l c h / 50%); }

/* Slides separados por 41.11% da largura, como no Scroll do Figma; troca só pela rolagem vertical (JS) */
.mr-page .mr-slider-viewport {
  width: 100%;
  min-height: 462px;
  overflow-x: hidden;
  touch-action: pan-y;
  scroll-snap-type: x mandatory;
  scrollbar-width: none;
  display: flex;
  flex-direction: row;
  flex-wrap: nowrap;
  align-items: flex-start;
  gap: 41.11%;
}
.mr-page .mr-slider-viewport::-webkit-scrollbar { display: none; }
.mr-page .mr-slide {
  flex: 0 0 100%;
  scroll-snap-align: start;
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  align-items: center;
  align-content: center;
  justify-content: center;
  gap: 24px;
  padding: 0 48px;
}
.mr-page .mr-slide-text {
  flex: 1 0 0;
  min-width: 340px;
  max-width: 660px;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 8px;
}
.mr-slide-desc {
  font-size: 16px;
  line-height: 28px;
  color: var(--brand-fg-muted);
}
.mr-page .mr-slide-media {
  flex: 1 0 0;
  min-width: 340px;
  max-width: 660px;
  position: relative;
  container-type: inline-size;
}

/* Janela de browser (mockup); corpo na cor do primeiro quadro do vídeo placeholder */
.mr-page .mr-window {
  position: relative;
  width: 100%;
  aspect-ratio: 600 / 420;
  background: linear-gradient(var(--brand-card) 0 8cqw, #0c0b0e 8cqw);
  border: 1px solid var(--brand-border-regular);
  border-radius: var(--r-16);
  overflow: hidden;
  box-shadow: 0 20px 25px -5px rgba(0, 0, 0, 0.1), 0 8px 10px -6px rgba(0, 0, 0, 0.1);
}
.mr-page .mr-window::before {
  content: "";
  position: absolute;
  top: 3cqw;
  left: 3.31cqw;
  width: 2cqw;
  height: 2cqw;
  border-radius: 50%;
  background: var(--brand-bg-secondary);
  box-shadow: 3.5cqw 0 0 var(--brand-bg-secondary), 7cqw 0 0 var(--brand-bg-secondary);
}
.mr-page .mr-window > .mr-window-video { position: absolute; top: 8cqw; right: 0; bottom: 0; left: 0; margin: 0; }
.mr-window-video .elementor-widget-container,
.mr-window-video .elementor-wrapper { position: absolute; inset: 0; padding: 0; aspect-ratio: auto; }
.mr-window video { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; display: block; }
.mr-page .mr-window .mr-window-img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: contain; display: block; }

.mr-page .mr-slide-mascote {
  position: absolute;
  left: 76.36%;
  width: 30.91%;
  aspect-ratio: 300 / 411;
  top: calc(50% - 91.7px);
  transform: translateY(-50%);
  pointer-events: none;
  z-index: 1;
}
.mr-page .mr-slide-mascote.ratio-1 { aspect-ratio: 1; }
.mr-slide-mascote img {
  width: 100%;
  height: auto;
  aspect-ratio: 1;
  animation: mr-float 2s ease-in-out infinite;
}
@keyframes mr-float {
  0%, 100% { translate: 0 -0.5px; }
  50% { translate: 0 14.5px; }
}
@media (prefers-reduced-motion: reduce) {
  .mr-slide-mascote img { animation: none; }
}

/* ---------- Fire Orb sob o mascote do slider (Mascote-Float do Figma): shader na Primary da marca ---------- */

.r1 { --mr-orb-fb: url("/wp-content/plugins/medreview-landings/assets/shader/fire-orb-r1-408.webp"); }
.anest { --mr-orb-fb: url("/wp-content/plugins/medreview-landings/assets/anest-extensive/fire-orb-408.webp"); }
.oft { --mr-orb-fb: url("/wp-content/plugins/medreview-landings/assets/shader/fire-orb-oft-408.webp"); }
.ortop { --mr-orb-fb: url("/wp-content/plugins/medreview-landings/assets/shader/fire-orb-ortop-408.webp"); }
.mr-page .mr-shader-orb {
  position: absolute;
  left: 0;
  top: 50.36%;
  width: 100%;
  height: 49.64%;
  background: var(--mr-orb-fb) center / 100% 100% no-repeat;
  mix-blend-mode: screen;
  pointer-events: none;
  animation: mr-orb-float 2s ease-in-out infinite;
}
/* mascote quadrado (ratio-1, caixa 204x204): o fogo desce para baixo da pose, mesma proporção 204x139 */
.mr-page .mr-slide-mascote.ratio-1 .mr-shader-orb { top: 78%; height: 67.9%; }
.mr-page .mr-shader-orb:has(> img),
.mr-page .mr-shader-orb.is-live { background: none; }
.mr-page .mr-slide-mascote .mr-shader-orb :is(canvas, img) {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  aspect-ratio: auto;
  display: block;
  animation: none;
}
.mr-page .mr-shader-orb canvas { opacity: 0; }
.mr-page .mr-shader-orb.is-live canvas { opacity: 1; }
.mr-page .mr-shader-orb.is-live img { visibility: hidden; }
@keyframes mr-orb-float {
  0%, 100% { translate: 0 0; }
  50% { translate: 0 15px; }
}
@media (prefers-reduced-motion: reduce) {
  .mr-page .mr-shader-orb { animation: none; }
}

/* ---------- Treinamentos (planos) ---------- */

.mr-page .mr-products {
  --mr-card-size: 460px;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 56px;
  padding: 80px 0;
}
@media (max-width: 767px) {
  .mr-page .mr-products { --mr-card-size: 340px; }
}
/* ocupa a largura toda (o Scroll do Figma não recorta); padding vertical com margem negativa
   dá espaço ao badge e ao glow, já que overflow-x também corta o eixo y */
.mr-page .mr-products-row {
  display: flex;
  flex-direction: row;
  flex-wrap: nowrap;
  align-items: stretch;
  justify-content: flex-start;
  gap: 16px;
  width: 100%;
  padding: 30px max(16px, calc((100% - 1170px) / 2));
  margin: -30px 0;
  overflow-x: auto;
  scrollbar-width: none;
}
.mr-page .mr-products-row::-webkit-scrollbar { display: none; }
.mr-page .mr-products-row .mr-card {
  flex: 0 0 var(--mr-card-size);
  width: var(--mr-card-size);
}
.mr-page .mr-products-row .mr-card .elementor-widget-icon-list { flex-grow: 1; }
/* desktop (breakpoint do Elementor): os 3 cards lado a lado, até o card-size do Figma */
@media (min-width: 1025px) {
  .mr-page .mr-products-row {
    justify-content: center;
    max-width: calc(3 * var(--mr-card-size) + 2 * 16px + 32px);
    padding: 0 16px;
    margin: 0;
    overflow: visible;
    cursor: auto;
  }
  .mr-page .mr-products-row .mr-card {
    flex: 1 1 0;
    width: auto;
    min-width: 0;
    max-width: var(--mr-card-size);
  }
}
/* planos em rolagem também no desktop: cards de 460 a partir do container de 1170, como o Scroll do Figma */
@media (min-width: 1025px) {
  .mr-page .mr-products.rolagem .mr-products-row {
    justify-content: flex-start;
    max-width: none;
    padding: 30px max(16px, calc((100% - 1170px) / 2));
    margin: -30px 0;
    overflow-x: auto;
  }
  .mr-page .mr-products.rolagem .mr-products-row .mr-card {
    flex: 0 0 var(--mr-card-size);
    width: var(--mr-card-size);
    max-width: none;
  }
}
@media (min-width: 1025px) and (hover: hover) and (pointer: fine) {
  .mr-page .mr-products.rolagem .mr-products-row { cursor: grab; }
}
.mr-h5.mr-text-primary { color: var(--brand-primary); }
.mr-page .mr-card-head {
  display: flex;
  flex-direction: column;
  gap: 8px;
  width: 100%;
}
.mr-page .mr-card.destacado {
  background: linear-gradient(
    to bottom left,
    oklch(from var(--brand-primary) l c h / 1%),
    oklch(from var(--brand-primary) l c h / 10%)
  );
  box-shadow: 0 0 30px var(--brand-primary-20);
}
/* moldura de listras de 10px: só a borda é pintada, a máscara aplica as listras */
.mr-page .mr-card.destacado::after {
  content: "";
  position: absolute;
  inset: -1px;
  border: 10px solid var(--brand-primary);
  border-radius: var(--r-16);
  background: none;
  opacity: 0.2;
  pointer-events: none;
  -webkit-mask: url("/wp-content/plugins/medreview-landings/assets/patterns/stripes-regular-sm.svg") 0 0 / 54px 54px repeat;
  mask: url("/wp-content/plugins/medreview-landings/assets/patterns/stripes-regular-sm.svg") 0 0 / 54px 54px repeat;
}
.mr-page .mr-card-badge {
  position: absolute;
  top: -13px;
  right: 15px;
  display: flex;
  align-items: center;
  height: 28px;
  width: auto;
  padding: 0 12px;
  border-radius: var(--r-8);
  background: var(--brand-alternate);
  color: var(--brand-alternate-foreground);
  box-shadow: 0 0 12px var(--brand-alternate);
  font-size: 12px;
  font-weight: 500;
  line-height: 20px;
  white-space: nowrap;
  z-index: 1;
}
.mr-card-sub {
  font-size: 14px;
  font-weight: 500;
  line-height: 24px;
  color: var(--brand-contrast);
}
.mr-card-sub.regular { font-weight: 400; }
.mr-card-desc {
  font-size: 14px;
  line-height: 24px;
  color: var(--brand-fg-muted);
}

/* Select "Qual seu momento?": opções provisórias, ainda sem comportamento */
.mr-page .mr-select {
  display: flex;
  flex-direction: column;
  align-items: stretch;
  gap: 12px;
  width: 256px;
}
.mr-select-label {
  font-family: var(--font-heading-alt);
  font-style: italic;
  font-weight: 500;
  font-size: var(--fs-h4);
  line-height: 1.2;
  color: var(--brand-contrast);
  text-align: center;
  width: 100%;
  padding-right: 8px;
}
.mr-page .mr-select-field {
  position: relative;
  display: flex;
  align-items: center;
  width: 100%;
  height: 36px;
  padding: 0 40px 0 12px;
  border-radius: var(--r-12);
  background: #0e0e11;
  border: 1px solid var(--brand-border-regular);
  -webkit-backdrop-filter: blur(20px);
  backdrop-filter: blur(20px);
  color: rgba(255, 255, 255, 0.3);
  font-size: 14px;
  line-height: 20px;
  cursor: pointer;
}
.mr-page .mr-select-input {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  padding: 0 40px 0 12px;
  border: 0;
  border-radius: inherit;
  background: transparent;
  color: rgba(255, 255, 255, 0.3);
  font: inherit;
  cursor: pointer;
  -webkit-appearance: none;
  appearance: none;
}
.mr-page .mr-select-input:valid { color: var(--brand-contrast); }
.mr-page .mr-select-input:focus-visible { outline: 2px solid var(--brand-primary); outline-offset: 2px; }
.mr-page .mr-select-input option { background: #18181b; color: var(--brand-contrast); }
.mr-page .mr-select-field::after {
  content: "";
  position: absolute;
  right: 12px;
  top: calc(50% - 8px);
  width: 16px;
  height: 16px;
  background: rgba(255, 255, 255, 0.3);
  -webkit-mask: url("/wp-content/plugins/medreview-landings/assets/icons/chevron-down-mask.svg") center / contain no-repeat;
  mask: url("/wp-content/plugins/medreview-landings/assets/icons/chevron-down-mask.svg") center / contain no-repeat;
}

/* ---------- Card de combo (Extensive): curso + pacote, linha do curso que abre a lista, variante lista aberta ---------- */

.mr-page {
  --mr-ico-info: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Ccircle cx='8' cy='8' r='7' fill='none' stroke='%23000' stroke-width='1.5'/%3E%3Cpath d='M8 7.25v4' stroke='%23000' stroke-width='1.5' stroke-linecap='round'/%3E%3Ccircle cx='8' cy='4.75' r='1'/%3E%3C/svg%3E");
}
.mr-page .mr-combo-card .mr-combo-curso .elementor-heading-title {
  font-family: var(--font-heading);
  font-weight: 700;
  font-size: var(--fs-h5);
  line-height: 1.3;
  color: var(--brand-primary);
}
.mr-page .mr-combo-card .mr-combo-nome .elementor-heading-title {
  font-family: var(--font-heading);
  font-weight: 700;
  font-size: var(--fs-h3);
  line-height: 1.1;
  letter-spacing: 1px;
  color: var(--brand-alternate);
}
.mr-page .mr-combo-card .mr-combo-img { flex: none; }
.mr-page .mr-combo-rotulo { display: none; }
.mr-page .com-rotulo .mr-combo-rotulo,
.mr-page .mr-combo-rotulo.com-rotulo { display: block; }

.mr-page .mr-curso:has(.mr-info) { font-weight: 500; }
.mr-page { --mr-ico-circle-info: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath transform='translate(1 1)' fill-rule='evenodd' d='M7 12.5C10.0376 12.5 12.5 10.0376 12.5 7C12.5 3.96243 10.0376 1.5 7 1.5C3.96243 1.5 1.5 3.96243 1.5 7C1.5 10.0376 3.96243 12.5 7 12.5ZM7 14C10.866 14 14 10.866 14 7C14 3.13401 10.866 0 7 0C3.13401 0 0 3.13401 0 7C0 10.866 3.13401 14 7 14ZM8 4.5C8 5.05228 7.55228 5.5 7 5.5C6.44772 5.5 6 5.05228 6 4.5C6 3.94772 6.44772 3.5 7 3.5C7.55228 3.5 8 3.94772 8 4.5ZM7.75 7.5C7.75 7.08579 7.41421 6.75 7 6.75C6.58579 6.75 6.25 7.08579 6.25 7.5L6.25 10C6.25 10.4142 6.58579 10.75 7 10.75C7.41421 10.75 7.75 10.4142 7.75 10L7.75 7.5Z'/%3E%3C/svg%3E"); }
.mr-page .mr-card .elementor-icon-list-item.mr-curso-item {
  margin: 0 -8px;
  padding: 8px;
  border-radius: var(--r-8);
  cursor: pointer;
  transition: background-color 0.1s linear;
}
.mr-page .mr-curso-item .elementor-icon-list-text { display: flex; flex: 1 1 auto; align-items: flex-start; gap: 8px; }
/* o ::after do item é o divisor do Elementor: o "i" fica no texto */
/* Details do Figma: circle-info 16 numa caixa de 24, foreground/muted, 8px depois do texto */
.mr-page .mr-curso-item .elementor-icon-list-text::after {
  content: "";
  flex: none;
  width: 24px;
  height: 24px;
  margin-left: auto;
  background: var(--brand-fg-muted);
  -webkit-mask: var(--mr-ico-circle-info) center / 16px 16px no-repeat;
  mask: var(--mr-ico-circle-info) center / 16px 16px no-repeat;
}
@media (hover: hover) {
  .mr-page .mr-card .elementor-icon-list-item.mr-curso-item:hover { background: var(--brand-card-hover); }
}
.mr-page .mr-curso-item .mr-curso:focus-visible { outline: none; }
.mr-page .mr-curso-item:has(.mr-curso:focus-visible) { outline: 2px solid var(--brand-primary); outline-offset: 0; }

/* lista aberta: a lista do curso entra no card (JS copia do dialog) e o CTA sobe para baixo do título */
.mr-page .lista-aberta .mr-combo-card .mr-card-bullets,
.mr-page .mr-combo-card.lista-aberta .mr-card-bullets { order: 1; }

/* "Cursos inclusos" / "Escolha N cursos": cursos em tags na horizontal, abaixo do texto do item */
.mr-page .mr-card .elementor-icon-list-item:has(.mr-tags) { padding-bottom: 0; }
.mr-page .mr-card .elementor-icon-list-text:has(.mr-tags) { display: flex; flex-direction: column; }
.mr-page .mr-card .mr-tags {
  display: flex;
  flex-wrap: wrap;
  gap: 4px;
  margin: 4px 0 0 -32px;
  padding-left: 32px;
}
.mr-page .mr-card .mr-tag { height: 20px; padding: 0 8px; }

/* tag "Novo" com dica no hover e no foco (a dica fica no texto do elemento para leitor de tela) */
.mr-page .mr-novo {
  position: relative;
  display: inline-flex;
  align-items: center;
  height: 16px;
  margin-left: 6px;
  padding: 0 6px;
  border-radius: 9999px;
  background: var(--brand-alternate);
  color: var(--brand-alternate-foreground);
  font-family: var(--font-body);
  font-size: 11px;
  font-weight: 500;
  line-height: 16px;
  vertical-align: 1px;
  white-space: nowrap;
}
.mr-page .mr-novo:focus-visible { outline: 2px solid var(--brand-primary); outline-offset: 2px; }
.mr-page .mr-dica {
  position: absolute;
  bottom: calc(100% + 8px);
  left: 50%;
  z-index: 5;
  padding: 4px 10px;
  border: 1px solid var(--brand-border-regular);
  border-radius: var(--r-8);
  background: rgba(14, 14, 17, 0.9);
  -webkit-backdrop-filter: blur(20px);
  backdrop-filter: blur(20px);
  color: #ffffff;
  font-size: 12px;
  font-weight: 400;
  line-height: 20px;
  white-space: nowrap;
  opacity: 0;
  translate: -50% 0;
  pointer-events: none;
  transition: opacity 0.1s linear;
}
.mr-page .mr-novo:is(:hover, :focus) .mr-dica { opacity: 1; }
@supports (corner-shape: squircle) {
  .mr-page .mr-novo { corner-shape: round; }
}

/* ---------- Lista do curso num <dialog> (componente Popover do Figma, 369 de largura) ---------- */

.mr-page .mr-curso:has(.mr-info) { display: inline-flex; align-items: center; gap: 4px; }
.mr-page .mr-info {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 24px;
  height: 24px;
  margin: -4px 0;
  padding: 0;
  border: 0;
  border-radius: 50%;
  background: transparent;
  color: var(--brand-alternate);
  cursor: pointer;
  transition: background-color 0.1s linear;
}
/* o texto do icon-list do Elementor remove <svg>: o "i" é máscara */
.mr-page .mr-info::before {
  content: "";
  width: 16px;
  height: 16px;
  background: currentColor;
  -webkit-mask: var(--mr-ico-info) center / contain no-repeat;
  mask: var(--mr-ico-info) center / contain no-repeat;
}
@media (hover: hover) { .mr-page .mr-info:hover { background: var(--brand-alternate-10); color: var(--brand-alternate); } }
.mr-page .mr-info:focus-visible { outline: 2px solid var(--brand-primary); outline-offset: 1px; }
.mr-page .mr-popover-w { position: absolute; width: 0; height: 0; }

.mr-page .mr-popover {
  position: fixed;
  inset: auto;
  z-index: 1000;
  width: min(369px, calc(100vw - 32px));
  max-width: none;
  max-height: none;
  margin: 0;
  padding: 0;
  border: 0;
  border-radius: var(--r-20);
  background: transparent;
  color: #ffffff;
  overflow: visible;
  box-shadow: 0 10px 20px -3px rgba(0, 0, 0, 0.35), 0 4px 16px -4px rgba(0, 0, 0, 0.35);
}
/* a lista rola por dentro (título e fechar fixos) e o dialog nunca passa da janela */
.mr-page .mr-popover-body {
  position: relative;
  display: flex;
  flex-direction: column;
  gap: 8px;
  max-height: calc(100vh - 32px);
  padding: 16px 24px;
  border-radius: inherit;
  background: rgba(0, 0, 0, 0.5);
  -webkit-backdrop-filter: blur(20px);
  backdrop-filter: blur(20px);
  box-shadow: inset 0 0 1px rgba(255, 255, 255, 0.3), 0 14px 28px rgba(0, 0, 0, 0.08), 0 -6px 12px rgba(0, 0, 0, 0.03), 0 2px 8px rgba(0, 0, 0, 0.06);
}
.mr-page .mr-popover-title { flex: none; margin: 0; padding-right: 32px; font-family: var(--font-body); font-size: 16px; font-weight: 700; line-height: 28px; color: var(--brand-foreground); }
.mr-page .mr-popover-close {
  position: absolute;
  top: 14px;
  right: 16px;
  width: 32px;
  height: 32px;
  padding: 0;
  border: 0;
  border-radius: var(--r-8);
  background: transparent;
  color: rgba(255, 255, 255, 0.7);
  cursor: pointer;
  transition: background-color 0.1s linear;
}
.mr-page .mr-popover-close::before,
.mr-page .mr-popover-close::after {
  content: "";
  position: absolute;
  left: 50%;
  top: 50%;
  width: 14px;
  height: 1.5px;
  border-radius: 1px;
  background: currentColor;
  transform: translate(-50%, -50%) rotate(45deg);
}
.mr-page .mr-popover-close::after { transform: translate(-50%, -50%) rotate(-45deg); }
@media (hover: hover) { .mr-page .mr-popover-close:hover { background: var(--brand-card); color: #ffffff; } }
.mr-page .mr-popover-close:focus-visible { outline: 2px solid var(--brand-primary); outline-offset: 0; }
.mr-page .mr-popover-list {
  display: flex;
  flex-direction: column;
  min-height: 0;
  margin: 0;
  padding: 0;
  list-style: none;
  overflow-y: auto;
  overscroll-behavior: contain;
}
.mr-page .mr-popover-list li {
  position: relative;
  flex: none;
  padding: 8px 0 8px 32px;
  font-family: var(--font-body);
  font-size: 14px;
  line-height: 24px;
  color: #ffffff;
}
.mr-page .mr-popover-list li::before {
  content: "";
  position: absolute;
  left: 4px;
  top: 12px;
  width: 16px;
  height: 16px;
  background: var(--brand-alternate);
  -webkit-mask: url("/wp-content/plugins/medreview-landings/assets/icons/chevron-right.svg") center / contain no-repeat;
  mask: url("/wp-content/plugins/medreview-landings/assets/icons/chevron-right.svg") center / contain no-repeat;
}
.mr-page .mr-popover::backdrop { background: rgba(0, 0, 0, 0.5); }
/* desktop: modal centrado (a linha do curso); o "i" antigo abre em contexto (show) */
@media (min-width: 768px) {
  .mr-page .mr-popover:modal { inset: 0; margin: auto; height: fit-content; }
}
@media (min-width: 768px) and (prefers-reduced-motion: no-preference) {
  .mr-page .mr-popover:modal { animation: mr-fade-in 0.15s ease-out; }
  .mr-page .mr-popover:modal::backdrop { animation: mr-fade-in 0.15s ease-out; }
}
/* mobile: bottom sheet sobre overlay */
@media (max-width: 767px) {
  .mr-page .mr-popover[open] { inset: auto 0 0 0; width: 100%; border-radius: var(--r-20) var(--r-20) 0 0; }
  .mr-page .mr-popover-body { max-height: calc(100svh - 48px); padding-bottom: calc(24px + env(safe-area-inset-bottom)); background: rgba(14, 14, 17, 0.9); }
}
@media (max-width: 767px) and (prefers-reduced-motion: no-preference) {
  .mr-page .mr-popover[open] { animation: mr-sheet-in 0.2s cubic-bezier(0.2, 0, 0, 1); }
  .mr-page .mr-popover[open]::backdrop { animation: mr-fade-in 0.2s ease-out; }
}
@keyframes mr-sheet-in { from { transform: translateY(100%); } }

/* ---------- Depoimentos em vídeo ---------- */

.mr-page .mr-videos {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 56px;
  padding: 96px 0;
}
.mr-page .mr-videos > .mr-sec-title { width: calc(100% - 32px); }
.mr-page .mr-video-card {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 8px;
  width: 240px;
}
.mr-page .mr-video-photo {
  position: relative;
  width: 240px;
  border-radius: var(--r-24);
  overflow: hidden;
  box-shadow: 0 22.29px 27.86px -5.57px rgba(0, 0, 0, 0.2), 0 8.91px 11.14px -6.69px rgba(0, 0, 0, 0.2);
  cursor: pointer;
  /* a máscara do trilho isola o grupo; o fundo da seção nesse ponto dá base ao luminosity */
  background: color-mix(in srgb, var(--brand-primary) 5%, #0e0e11);
  isolation: isolate;
}
.mr-video-photo img {
  width: 240px;
  height: 320px;
  object-fit: cover;
  display: block;
  opacity: 0.5;
  mix-blend-mode: luminosity;
}
.mr-video-photo::after {
  content: "";
  position: absolute;
  right: 8px;
  bottom: 8px;
  width: 40px;
  height: 40px;
  border-radius: 24px;
  background: rgba(28, 28, 34, 0.5) url("/wp-content/plugins/medreview-landings/assets/icons/play.svg") center / 16px no-repeat;
  -webkit-backdrop-filter: blur(20px);
  backdrop-filter: blur(20px);
}
/* Modal do depoimento: vídeos verticais (~9:16) do Vimeo */
.mr-video-modal {
  overflow: visible;
  max-width: none;
  max-height: none;
  padding: 0;
  border: 0;
  background: transparent;
}
.mr-video-modal::backdrop {
  background: rgba(14, 14, 17, 0.8);
  -webkit-backdrop-filter: blur(8px);
  backdrop-filter: blur(8px);
}
.mr-video-modal-frame {
  position: relative;
  width: min(calc(100vw - 32px), calc((100dvh - 144px) * 9 / 16), 428px);
  aspect-ratio: 9 / 16;
  overflow: hidden;
  border-radius: var(--r-24);
  background: #000000;
  box-shadow: 0 25px 50px -12px rgba(0, 0, 0, 0.5);
}
.mr-video-modal-frame iframe { position: absolute; inset: 0; width: 100%; height: 100%; border: 0; }
.mr-page .mr-video-modal .mr-video-modal-close {
  position: absolute;
  top: -56px;
  right: 0;
  width: 40px;
  height: 40px;
  padding: 0;
  border: 0;
  border-radius: 24px;
  background: rgba(28, 28, 34, 0.5);
  -webkit-backdrop-filter: blur(20px);
  backdrop-filter: blur(20px);
  cursor: pointer;
  transition: background-color 0.1s linear;
}
.mr-page .mr-video-modal .mr-video-modal-close:is(:hover, :focus, :focus-visible) { background-color: var(--brand-card); color: #ffffff; outline: none; }
.mr-page .mr-video-modal .mr-video-modal-close:focus-visible { outline: 2px solid var(--brand-primary); outline-offset: 2px; }
.mr-video-modal-close::before,
.mr-video-modal-close::after {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  width: 16px;
  height: 1.5px;
  border-radius: 1px;
  background: #ffffff;
  transform: translate(-50%, -50%) rotate(45deg);
}
.mr-video-modal-close::after { transform: translate(-50%, -50%) rotate(-45deg); }
@media (prefers-reduced-motion: no-preference) {
  .mr-video-modal[open] { animation: mr-modal-in 0.2s cubic-bezier(0.2, 0, 0, 1); }
  .mr-video-modal[open]::backdrop { animation: mr-fade-in 0.2s ease-out; }
}
html:has(.mr-video-modal[open]) { overflow: hidden; }
@keyframes mr-modal-in { from { opacity: 0; transform: scale(0.96); } }
@keyframes mr-fade-in { from { opacity: 0; } }
.mr-page .mr-video-name {
  width: 100%;
  padding: 0 8px;
  font-size: 14px;
  font-weight: 500;
  line-height: 24px;
  color: var(--brand-primary);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.mr-page .mr-video-name .elementor-heading-title { overflow: hidden; text-overflow: ellipsis; }
.mr-page .mr-video-quote {
  position: relative;
  width: 100%;
  padding: 0 8px 0 32px;
  font-size: 12px;
  line-height: 20px;
  color: var(--brand-contrast);
}
.mr-page .mr-video-quote p {
  display: -webkit-box;
  -webkit-line-clamp: 3;
  line-clamp: 3;
  -webkit-box-orient: vertical;
  overflow: hidden;
}
.mr-video-quote::before {
  content: "";
  position: absolute;
  left: 8px;
  top: 2px;
  width: 16px;
  height: 16px;
  background: url("/wp-content/plugins/medreview-landings/assets/icons/quote-open.svg") center / contain no-repeat;
}

/* o play é decorativo: o clique passa para o link da foto */
.mr-page .mr-video-photo::after { pointer-events: none; }
.mr-page .mr-video-card:has(.mr-video-photo a[href*="vimeo.com/"]) { cursor: pointer; }
.mr-page .is-dragging :is(.mr-video-card, .mr-video-photo) { cursor: inherit; }

/* ---------- Botões: variantes ---------- */

.mr-page .mr-btn-el.sm .elementor-button {
  min-height: 36px;
  padding: 8px 16px;
  border-radius: var(--r-8);
  font-size: 14px;
  line-height: 20px;
}
.mr-page .mr-btn-default .elementor-button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  min-height: 36px;
  padding: 8px 16px;
  border-radius: var(--r-8);
  background: var(--brand-card);
  color: #ffffff;
  font-family: var(--font-body);
  font-size: 14px;
  font-weight: 500;
  line-height: 20px;
}

/* ---------- Banner 7 dias grátis ---------- */

.mr-page .mr-banner7-sec {
  display: flex;
  flex-direction: column;
  align-items: center;
  padding: 56px 16px;
}
.mr-page .mr-banner7 {
  position: relative;
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  align-items: center;
  align-content: center;
  justify-content: center;
  width: 100%;
  max-width: 1248px;
  padding: 28px;
  border: 1px solid var(--brand-primary-10);
  border-radius: var(--r-24);
  background: linear-gradient(
    to bottom,
    oklch(from var(--brand-primary) l c h / 0%),
    oklch(from var(--brand-primary) l c h / 20%)
  );
}
/* escudo decorativo: listras densas recortadas no formato do escudo (o Elementor fixa height 100% no ::before) */
.mr-page .mr-banner7::before {
  height: auto;
  content: "";
  position: absolute;
  left: calc(6.89% - 0.86px);
  top: 28px;
  width: calc(21.72% + 0.43px);
  aspect-ratio: 1;
  opacity: 0.4;
  background: linear-gradient(135deg, var(--brand-primary), var(--brand-primary-10));
  -webkit-mask: url("/wp-content/plugins/medreview-landings/assets/icons/shield-lg.svg") 0 0 / 100% 100% no-repeat, url("/wp-content/plugins/medreview-landings/assets/patterns/stripes-dense-sm.svg") 0 0 / 54px 54px repeat;
  -webkit-mask-composite: source-in;
  mask: url("/wp-content/plugins/medreview-landings/assets/icons/shield-lg.svg") 0 0 / 100% 100% no-repeat, url("/wp-content/plugins/medreview-landings/assets/patterns/stripes-dense-sm.svg") 0 0 / 54px 54px repeat;
  mask-composite: intersect;
  pointer-events: none;
}
.mr-page .mr-banner7-mascote { flex: 0 0 280px; width: 280px; min-width: 240px; position: relative; }
.mr-banner7-mascote img { width: 100%; height: auto; display: block; }
.mr-page .mr-banner7-body {
  flex: 1 0 0;
  min-width: 320px;
  max-width: 480px;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 8px;
  padding: 0 16px;
}
.mr-page .mr-banner7-body > .mr-btn-el.elementor-widget { margin-top: 8px; }
.mr-page .mr-banner7-body .mr-btn-el .elementor-button { width: 220px; height: 36px; }
.mr-page .mr-banner7-body .mr-h2 .elementor-heading-title { text-shadow: 0 0 20px oklch(from var(--brand-secondary) l c h / 50%); }
.mr-page .mr-risco {
  position: relative;
  display: flex;
  flex-direction: row;
  align-items: center;
  gap: 8px;
  width: 100%;
  padding-left: 32px;
  filter: drop-shadow(0 0 10px oklch(from var(--brand-alternate) l c h / 50%));
}
.mr-risco::before {
  content: "";
  position: absolute;
  left: 0;
  width: 24px;
  height: 24px;
  background: var(--brand-alternate);
  -webkit-mask: url("/wp-content/plugins/medreview-landings/assets/icons/shield-check.svg") center / contain no-repeat;
  mask: url("/wp-content/plugins/medreview-landings/assets/icons/shield-check.svg") center / contain no-repeat;
}
.mr-page .mr-banner7-texto { color: var(--brand-contrast); }
.mr-page .mr-banner7-texto p + p { margin-top: 12px; }
.mr-banner7-texto strong { color: var(--brand-alternate); font-weight: 700; }

/* Selo +40 mil médicos: SVG inline único (estrelas, anel e textos seguem as variáveis da marca) */
.mr-page .mr-selo {
  position: absolute;
  right: -33.61px;
  top: calc(50% - 32.22px);
  transform: translateY(-50%) rotate(-8.1deg);
  width: 180px;
  height: 180px;
  filter: drop-shadow(0 15.57px 7.78px rgba(0, 0, 0, 0.2));
}
/* blur de fundo do selo (Figma: background blur 38.9) num irmão: o drop-shadow do selo viraria backdrop root */
.mr-page .mr-selo-blur {
  position: absolute;
  right: -32.1px;
  top: calc(50% - 32.22px);
  transform: translateY(-50%) rotate(-8.1deg);
  width: 177.05px;
  height: 177.05px;
  -webkit-backdrop-filter: blur(19.46px);
  backdrop-filter: blur(19.46px);
  -webkit-mask: url("/wp-content/plugins/medreview-landings/assets/icons/selo-star-1-fill.svg") center / contain no-repeat;
  mask: url("/wp-content/plugins/medreview-landings/assets/icons/selo-star-1-fill.svg") center / contain no-repeat;
  pointer-events: none;
}
.mr-page .mr-selo-svg-w { position: absolute; inset: 0; }
.mr-selo-svg { display: block; width: 180px; height: 180px; overflow: visible; }
.mr-selo-s1 { fill: none; stroke: var(--brand-alternate); stroke-width: 0.973; }
.mr-selo-s2 { fill: rgba(0, 0, 0, 0.5); stroke: var(--brand-alternate); stroke-width: 0.973; }
.mr-selo-ring { font-family: var(--font-heading-alt); font-style: italic; font-weight: 500; font-size: 12.065px; fill: var(--brand-alternate); white-space: pre; }
.mr-selo-plus { fill: #ffffff; }
.mr-selo-num { font-family: var(--font-heading); font-weight: 800; font-size: 33.08px; fill: #ffffff; }
.mr-selo-label { font-family: var(--font-heading-alt); font-style: italic; font-weight: 500; font-size: 17.51px; fill: #ffffff; }

/* Garantia Segunda Chamada (Home): banner 7 dias com mascote maior, nota de regra e selo "+1 ano" */
.mr-page .mr-garantia .mr-banner7::before { background: linear-gradient(135deg, var(--brand-primary), var(--brand-primary-10)); }
/* o Elementor limita widget filho de container com .elementor.elementor .e-con > .elementor-widget */
.mr-page .mr-garantia .mr-banner7 > .mr-banner7-mascote.elementor-widget { flex: 1 0 0; width: auto; min-width: 240px; max-width: 360px; }
.mr-page .mr-garantia .mr-banner7-body { max-width: 520px; padding: 0 32px 0 16px; }
.mr-page .mr-garantia .mr-banner7-body .mr-h2 .elementor-heading-title { text-shadow: none; }
.mr-page .mr-garantia .mr-banner7-body .mr-btn-el .elementor-button { width: auto; font-size: 16px; line-height: 24px; }
.mr-garantia .mr-banner7-texto strong { color: var(--brand-contrast); }
.mr-garantia .mr-banner7-texto strong em { color: var(--brand-primary); font-style: italic; }
/* a linha do Figma não ocupa altura no auto layout */
.mr-page .mr-garantia-regra {
  position: relative;
  width: 100px;
  height: 0;
  min-height: 0;
  padding: 0;
  margin-top: 8px;
}
.mr-page .mr-garantia-regra::after {
  content: "";
  position: absolute;
  left: 0;
  top: -0.5px;
  width: 100px;
  height: 1px;
  background: rgba(255, 255, 255, 0.2);
}
.mr-garantia-nota {
  font-size: 12px;
  line-height: 20px;
  color: var(--brand-foreground);
}
.mr-garantia-nota a { color: inherit; text-decoration: underline; text-underline-position: from-font; }
.mr-page .mr-garantia .mr-selo { top: -34.22px; right: -25.61px; transform: rotate(-8.1deg); }
.mr-page .mr-garantia .mr-selo-blur {
  top: -34.22px;
  right: -25.61px;
  width: 180px;
  height: 180px;
  transform: rotate(-8.1deg);
  -webkit-mask-image: url("/wp-content/plugins/medreview-landings/assets/icons/selo-11-fill.svg");
  mask-image: url("/wp-content/plugins/medreview-landings/assets/icons/selo-11-fill.svg");
}
.mr-garantia .mr-selo-s1 { fill: rgba(0, 0, 0, 0.2); stroke: var(--brand-primary); }
.mr-garantia .mr-selo-s2 { stroke: var(--brand-primary); }
.mr-garantia .mr-selo-ring { fill: var(--brand-primary); letter-spacing: 0.01em; }
.mr-page .mr-selo-centro {
  position: absolute;
  left: calc(50% + 0.49px);
  top: 50%;
  transform: translate(-50%, -50%);
  display: flex;
  flex-direction: column;
  align-items: center;
  color: #ffffff;
  text-align: center;
}
.mr-selo-linha { display: flex; align-items: center; justify-content: center; gap: 1.946px; width: 100%; margin-bottom: -3.892px; }
.mr-selo-mais { flex: none; width: 13.622px; height: 12.377px; margin-bottom: -0.701px; fill: #ffffff; }
.mr-selo-ano {
  font-family: var(--font-heading);
  font-weight: 900;
  font-size: 33.081px;
  line-height: 1.1;
  letter-spacing: -0.03em;
  white-space: nowrap;
}
.mr-selo-ano > span { letter-spacing: -0.1em; }
.mr-selo-conta {
  width: 100%;
  font-family: var(--font-heading-alt);
  font-style: italic;
  font-weight: 500;
  font-size: 13.622px;
  line-height: 1.2;
}

/* Banner "Garantia de 7 dias" (classe garantia7; nota é o nome antigo): mascote 360, selo de 11 pontas no canto; a nota de regra é opcional */
.mr-page .mr-banner7-sec:is(.nota, .garantia7) .mr-banner7::before { background: linear-gradient(135deg, var(--brand-primary), var(--brand-primary-10)); }
.mr-page .mr-banner7-sec:is(.nota, .garantia7) .mr-banner7 > .mr-banner7-mascote.elementor-widget { flex: 1 0 0; width: auto; min-width: 240px; max-width: 360px; }
.mr-page .mr-banner7-sec:is(.nota, .garantia7) .mr-banner7-body { max-width: 520px; padding: 0 32px 0 16px; }
.mr-page .mr-banner7-sec:is(.nota, .garantia7) .mr-banner7-body .mr-h2 .elementor-heading-title { text-shadow: none; }
.mr-page .mr-banner7-sec:is(.nota, .garantia7) .mr-banner7-body .mr-btn-el .elementor-button { width: auto; }
.mr-page .mr-banner7-sec:is(.nota, .garantia7) .mr-selo { top: -34.22px; right: -25.61px; transform: rotate(-8.1deg); }
.mr-page .mr-banner7-sec:is(.nota, .garantia7) .mr-selo-blur {
  top: -34.22px;
  right: -25.61px;
  width: 180px;
  height: 180px;
  transform: rotate(-8.1deg);
  -webkit-mask-image: url("/wp-content/plugins/medreview-landings/assets/icons/selo-11-fill.svg");
  mask-image: url("/wp-content/plugins/medreview-landings/assets/icons/selo-11-fill.svg");
}
.mr-banner7-sec:is(.nota, .garantia7) .mr-selo-s1 { fill: rgba(0, 0, 0, 0.2); }
.mr-banner7-sec:is(.nota, .garantia7) .mr-selo-medicos { font-size: 17.514px; line-height: 23.351px; }
.mr-garantia-nota .mr-link-u { text-decoration: underline; text-underline-position: from-font; }
/* entre o frame mobile e o desktop o texto passaria por baixo do selo */
@media (min-width: 788px) and (max-width: 1245px) {
  .mr-page .mr-banner7-sec:is(.nota, .garantia7) .mr-banner7 { padding-right: 168px; }
}
@media (min-width: 600px) and (max-width: 787px) {
  .mr-page .mr-banner7-sec:is(.nota, .garantia7) .mr-banner7-body { flex-basis: 100%; }
}

/* ---------- FAQ ---------- */

.mr-page .mr-faq-sec {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 64px;
  padding: 96px 16px;
  background: linear-gradient(to bottom, var(--brand-primary-0), oklch(from var(--brand-primary) l c h / 5%));
}
.mr-page .mr-faq-list {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 16px;
  width: 100%;
  max-width: 768px;
}
.mr-page .mr-faq-list > .mr-faq.elementor-widget { width: 100%; max-width: none; }
.mr-page .mr-faq .elementor-toggle { display: flex; flex-direction: column; gap: 16px; }
.mr-page .mr-faq .elementor-toggle .elementor-toggle-item { margin: 0; border: none; }
.mr-page .mr-faq .elementor-toggle .elementor-tab-title {
  display: flex;
  align-items: baseline;
  gap: 8px;
  /* Figma assenta o baseline da Urbanist 1.5px abaixo do navegador; a altura do item continua 16+texto+16 */
  padding: 17.5px 16px 14.5px;
  border: none;
  border-bottom: 1px solid var(--brand-border-muted);
  cursor: pointer;
  font-family: var(--font-heading);
  font-weight: 700;
  font-size: var(--fs-h6);
  line-height: 1.4;
  color: #ffffff;
}
.mr-page .mr-faq .elementor-toggle .elementor-tab-title:hover { background: var(--brand-card); }
.mr-page .mr-faq .elementor-toggle :is(.elementor-tab-title, .elementor-toggle-title):focus { outline: none; }
.mr-page .mr-faq .elementor-toggle .elementor-tab-title:has(:focus-visible) { outline: 2px solid var(--brand-primary); outline-offset: -2px; }
.mr-page .mr-faq .elementor-toggle .elementor-tab-title::before,
.mr-page .mr-faq .elementor-toggle .elementor-toggle-icon {
  flex: none;
  width: 16px;
  height: 16px;
  translate: 0 -0.5px;
}
.mr-page .mr-faq .elementor-toggle .elementor-tab-title::before {
  content: "";
  background: var(--brand-alternate);
  -webkit-mask: url("/wp-content/plugins/medreview-landings/assets/icons/chevron-right-dark.svg") center / 16px 16px no-repeat;
  mask: url("/wp-content/plugins/medreview-landings/assets/icons/chevron-right-dark.svg") center / 16px 16px no-repeat;
}
.mr-page .mr-faq .elementor-toggle .elementor-toggle-title { order: 1; flex: 1 0 0; min-width: 0; color: inherit; }
.mr-page .mr-faq .elementor-toggle .elementor-toggle-icon {
  order: 2;
  float: none;
  display: block;
  background: #e3e5e8;
  -webkit-mask: url("/wp-content/plugins/medreview-landings/assets/icons/plus.svg") center / 16px 16px no-repeat;
  mask: url("/wp-content/plugins/medreview-landings/assets/icons/plus.svg") center / 16px 16px no-repeat;
}
.mr-page .mr-faq .elementor-toggle .elementor-tab-title.elementor-active .elementor-toggle-icon {
  -webkit-mask-image: url("/wp-content/plugins/medreview-landings/assets/icons/minus.svg");
  mask-image: url("/wp-content/plugins/medreview-landings/assets/icons/minus.svg");
}
.mr-page .mr-faq .elementor-toggle .elementor-toggle-icon > * { display: none !important; }
.mr-page .mr-faq .elementor-toggle .elementor-tab-content {
  padding: 8px 16px 16px;
  box-sizing: border-box;
  border: none;
  font-family: var(--font-body);
  font-size: 16px;
  line-height: 28px;
  color: #e3e5e8;
}
.mr-page .mr-faq .elementor-tab-content p { margin: 0; }
.mr-page .mr-faq-list [hidden] { display: none !important; }
.mr-page .mr-faq .elementor-tab-content p + p { margin-top: 16px; }
.mr-page .mr-btn-default .elementor-button-content-wrapper { gap: 8px; }
.mr-page .mr-btn-default .elementor-button-icon { order: 2; }
.mr-page .mr-btn-default .elementor-button-text { order: 1; }
.mr-page .mr-btn-default .elementor-button { transition: background-color 0.1s linear; }
.mr-page .mr-btn-default .elementor-button:is(:hover, :focus-visible) { background-color: var(--brand-card-hover); color: #ffffff; }
.mr-page .mr-faq-list .mr-btn-default .elementor-button {
  -webkit-backdrop-filter: blur(20px);
  backdrop-filter: blur(20px);
}

/* ---------- Header (primary + secondary) ---------- */

/* Camada do header cobre a pagina inteira (secundario gruda no topo ate o fim) */
.mr-page { position: relative; }
.mr-page .mr-header-wrap {
  position: absolute;
  inset: 0;
  z-index: 50;
  pointer-events: none;
}
.mr-page .mr-header-wrap > .elementor-element,
.mr-page .mr-header-wrap .elementor-widget-container,
.mr-page .mr-header { position: static; }

/* Primary: rola junto com a pagina (pt 6, px 8, max 1280) */
.mr-header-primary {
  position: fixed;
  top: var(--mr-admin-bar);
  left: 0;
  right: 0;
  z-index: 4;
  display: flex;
  justify-content: center;
  padding: 6px 8px 0;
}
/* Secondary: camada a partir de 64px (6 + 56 + gap 2), sticky no topo */
.mr-header-layer {
  position: absolute;
  top: 64px;
  bottom: 0;
  left: 0;
  right: 0;
  z-index: 3;
}
.mr-header-sticky {
  position: sticky;
  top: 0;
  display: flex;
  flex-direction: column;
  align-items: center;
  padding: 0 8px;
}
/* barra de admin do WP: fixa só acima de 600px */
.mr-header-wrap { --mr-admin-bar: var(--wp-admin--admin-bar--height, 0px); }
@media (max-width: 600px) { .mr-header-wrap { --mr-admin-bar: 0px; } }
/* primary fixo que sai ao descer e volta ao subir; o secondary cola logo abaixo dele (6 + 56 + 2) ou no topo */
.mr-header-primary { transition: transform 0.2s ease-out; }
.mr-page .mr-header-sticky { top: calc(var(--mr-admin-bar) + 64px); transition: top 0.2s ease-out; }
.mr-header-wrap.is-primary-hidden .mr-header-primary { transform: translateY(calc(-100% - 8px - var(--mr-admin-bar))); }
.mr-page .mr-header-wrap.is-primary-hidden .mr-header-sticky { top: var(--mr-admin-bar); }
@media (prefers-reduced-motion: reduce) { .mr-header-primary, .mr-page .mr-header-sticky { transition: none; } }
.mr-header-bar {
  pointer-events: auto;
  display: flex;
  align-items: center;
  width: 100%;
  max-width: 1280px;
  height: 56px;
  padding: 0 16px;
  background: #0e0e11cc;
}
.mr-header-bar.top { gap: 32px; border-radius: var(--r-12) var(--r-12) 0 0; }
/* Vidro do Figma (Glass frost 12 + fundo 80%) em camadas: filtro e backdrop na própria barra
   a tornariam backdrop root dos pseudo-elementos */
.mr-header-bar.sub {
  position: relative;
  isolation: isolate;
  overflow: clip;
  gap: 24px;
  border-radius: 0 0 var(--r-12) var(--r-12);
  background: transparent;
  box-shadow: 0 2px 8px -4px rgba(0, 0, 0, 0.35);
}
.mr-header-bar.sub::after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: -1;
  border-radius: inherit;
  background: #0e0e11cc;
  -webkit-backdrop-filter: blur(6px);
  backdrop-filter: blur(6px);
  pointer-events: none;
}
/* distorção nas bordas (filtro SVG #mr-glass do template do header); só o Chromium distorce o backdrop */
.mr-glass .mr-header-bar.sub::before {
  content: "";
  position: absolute;
  inset: -10px;
  z-index: -1;
  -webkit-backdrop-filter: blur(1px);
  backdrop-filter: blur(1px);
  filter: url("#mr-glass");
  -webkit-mask-image:
    linear-gradient(to right, #000, #000 5%, transparent 20%),
    linear-gradient(to bottom, #000, #000 5%, transparent 30%),
    linear-gradient(to left, #000, #000 5%, transparent 20%),
    linear-gradient(to top, #000, #000 5%, transparent 30%);
  mask-image:
    linear-gradient(to right, #000, #000 5%, transparent 20%),
    linear-gradient(to bottom, #000, #000 5%, transparent 30%),
    linear-gradient(to left, #000, #000 5%, transparent 20%),
    linear-gradient(to top, #000, #000 5%, transparent 30%);
  pointer-events: none;
}

/* Logo MedReview 108x36: simbolo 36x36 + MED/REVIEW nas posicoes do Figma */
.mr-header-logo { flex: 1 0 0; min-width: 1px; display: flex; align-items: center; }
.mr-header-logo a { position: relative; display: block; width: 108px; height: 36px; flex-shrink: 0; }
.mr-header-logo img { position: absolute; display: block; max-width: none; }
.mr-header-logo .symb { left: 0; top: 0; width: 36px; height: 36px; }
.mr-header-logo .med { left: 36.33%; top: 18%; width: 34.9%; height: 27%; }
.mr-header-logo .review { left: 36.33%; top: 56%; width: 61.67%; height: 27%; }

/* Marca da pagina (secundario): simbolo 28x30 + wordmark 86x30; o R1 atual usa o simbolo 34x30 */
.mr-header-brand { display: flex; align-items: center; gap: 8px; flex-shrink: 0; }
.mr-header-brand .symbol { position: relative; width: 28px; height: 30px; }
.mr-header-brand .symbol img { position: absolute; left: 0; top: 0; width: 107.14%; height: 106.67%; max-width: none; }
.r1 .mr-header-brand .symbol { width: 34px; }
.r1 .mr-header-brand .symbol img { width: 100%; height: 100%; }
.mr-header-brand .wordmark { position: relative; width: 86px; height: 30px; overflow: hidden; }
.mr-header-brand .wordmark img { position: absolute; max-width: none; }
.mr-header-brand .wordmark .brand { left: 0; top: 0; height: 42.19%; width: auto; }
.mr-header-brand .wordmark .review { left: 0; top: 57.81%; width: 100%; height: 42.19%; }

.mr-header-spacer { flex: 1 0 0; min-width: 1px; }

/* Menu-item: variantes Active/Hover x Primary/Secondary do Figma */
.mr-header-nav { display: flex; align-items: center; height: 100%; }
.mr-header-bar.top .mr-header-nav { gap: 8px; }
.mr-header-nav a {
  position: relative;
  display: flex;
  align-items: center;
  height: 56px;
  padding: 0 24px;
  overflow: hidden;
  font-family: var(--font-body);
  font-size: 12px;
  font-weight: 500;
  line-height: 20px;
  color: rgba(255, 255, 255, 0.7);
  text-decoration: none;
  white-space: nowrap;
  transition: color 0.2s ease;
}
.mr-header-nav a > span { position: relative; z-index: 1; }
.mr-header-nav a::before,
.mr-header-nav a::after {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  transition: top 0.2s ease, bottom 0.2s ease, opacity 0.2s ease, box-shadow 0.2s ease;
}
/* bg primary/10 que entra no hover */
.mr-header-nav a::before { top: 56px; bottom: -56px; background: var(--brand-primary-10); }
/* linha 2px */
.mr-header-nav a::after { height: 2px; background: var(--brand-primary); }

.mr-header-bar.top .mr-header-nav a::after { top: -4px; opacity: 0.3; }
.mr-glass-defs { position: absolute; width: 0; height: 0; overflow: hidden; }
.mr-header-bar.sub .mr-header-nav a::before { top: -56px; bottom: 56px; }
.mr-header-bar.sub .mr-header-nav a::after { bottom: -2px; opacity: 0.5; }

.mr-header-nav a:hover,
.mr-header-nav a.active { color: #ffffff; }
.mr-header-nav a:not(.active):hover::before { top: 0; bottom: 0; }
.mr-header-bar.top .mr-header-nav a:not(.active):hover::after { top: 0; opacity: 0.3; }
.mr-header-bar.sub .mr-header-nav a:not(.active):hover::after { bottom: 0; opacity: 0.3; }

.mr-header-nav a.active { overflow: visible; }
.mr-header-nav a.active::before { display: none; }
.mr-header-bar.top .mr-header-nav a.active::after {
  top: 0;
  opacity: 1;
  box-shadow: 0 -3px 12px var(--brand-primary);
}
.mr-header-bar.sub .mr-header-nav a.active::after {
  bottom: 0;
  opacity: 1;
  box-shadow: 0 3px 12px var(--brand-primary);
}

/* Botao "Ja sou aluno" (Button/xs outline) */
.mr-btn-outline {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 4px;
  min-height: 32px;
  padding: 6px 12px;
  border: 1px solid #28282c;
  border-radius: var(--r-8);
  background: transparent;
  color: #ffffff;
  font-family: var(--font-body);
  font-size: 12px;
  font-weight: 500;
  line-height: 16px;
  text-decoration: none;
  white-space: nowrap;
}
.mr-header-bar .mr-btn-outline { height: 32px; flex-shrink: 0; }
/* hovers do DS (Button outline/ghost: fundo card; texto fixo para o a:hover do tema não pintar) */
.mr-page :is(.mr-btn-outline, .mr-footer-store) { transition: background-color 0.1s linear; }
.mr-page :is(.mr-btn-outline, .mr-footer-store):is(:hover, :focus-visible) { background-color: var(--brand-card); color: #ffffff; }

/* Mobile (Select de verticais + menu hamburguer) */
.mr-header-select,
.mr-header-burger { display: none; }
.mr-header-select {
  position: relative;
  flex-shrink: 0;
  width: 176px;
  height: 36px;
}
.mr-header-select select {
  appearance: none;
  -webkit-appearance: none;
  width: 100%;
  height: 36px;
  padding: 8px 36px 8px 12px;
  border: 1px solid rgba(255, 255, 255, 0.1);
  border-radius: var(--r-12);
  background: #0e0e11;
  backdrop-filter: blur(20px);
  color: #ffffff;
  font-family: var(--font-body);
  font-size: 14px;
  line-height: 20px;
  cursor: pointer;
}
.mr-header-select::after {
  content: "";
  position: absolute;
  right: 12px;
  top: 12px;
  width: 12px;
  height: 12px;
  background: #ffffff;
  -webkit-mask: url("/wp-content/plugins/medreview-landings/assets/icons/chevron-down.svg") center / contain no-repeat;
  mask: url("/wp-content/plugins/medreview-landings/assets/icons/chevron-down.svg") center / contain no-repeat;
  pointer-events: none;
}
.mr-header-burger {
  flex-shrink: 0;
  align-items: center;
  justify-content: center;
  width: 32px;
  height: 32px;
  padding: 0;
  border: 0;
  border-radius: 16px;
  background: transparent;
  cursor: pointer;
}
/* Icone bars do Figma (3 linhas 1.5px, pontas redondas) desenhado em spans para virar X */
.mr-header-burger { position: relative; }
.mr-header-burger span {
  position: absolute;
  left: 9.25px;
  width: 13.5px;
  height: 1.5px;
  border-radius: 0.75px;
  background: #ffffff;
  transition: transform 0.25s ease, opacity 0.2s ease;
}
.mr-header-burger span:nth-child(1) { top: 10.5px; }
.mr-header-burger span:nth-child(2) { top: 15.25px; }
.mr-header-burger span:nth-child(3) { top: 20px; }
.is-open .mr-header-burger span:nth-child(1) { transform: translateY(4.75px) rotate(45deg); }
.is-open .mr-header-burger span:nth-child(2) { opacity: 0; }
.is-open .mr-header-burger span:nth-child(3) { transform: translateY(-4.75px) rotate(-45deg); }

/* Drawer mobile do secondary-header: desce colado na barra */
.mr-header-drawer {
  pointer-events: auto;
  display: grid;
  grid-template-rows: 0fr;
  width: 100%;
  max-width: 1280px;
  visibility: hidden;
  transition: grid-template-rows 0.25s ease, visibility 0s linear 0.25s;
}
.mr-header-drawer-inner {
  display: flex;
  flex-direction: column;
  min-height: 0;
  overflow: hidden;
  padding: 0 8px;
  border-radius: 0 0 var(--r-12) var(--r-12);
  background: rgba(14, 14, 17, 0.94);
  backdrop-filter: blur(20px);
  box-shadow: 0 2px 4px rgba(0, 0, 0, 0.35);
  opacity: 0;
  transition: opacity 0.2s ease, padding 0.25s ease;
}
.mr-header-drawer-inner a {
  position: relative;
  display: flex;
  align-items: center;
  height: 48px;
  padding: 0 16px;
  border-top: 1px solid rgba(255, 255, 255, 0.05);
  border-radius: var(--r-8);
  font-family: var(--font-body);
  font-size: 14px;
  font-weight: 500;
  line-height: 20px;
  color: rgba(255, 255, 255, 0.7);
  text-decoration: none;
  transition: background-color 0.2s ease, color 0.2s ease;
}
.mr-header-drawer-inner a:first-child { border-top-color: transparent; }
.mr-header-drawer-inner a:hover { background: var(--brand-primary-10); color: #ffffff; }
.mr-header-drawer-inner a.active { color: #ffffff; }
.mr-header-drawer-inner a.active::before {
  content: "";
  position: absolute;
  left: 0;
  top: 12px;
  bottom: 12px;
  width: 2px;
  background: var(--brand-primary);
  box-shadow: 3px 0 12px var(--brand-primary);
}
.mr-header-sticky.is-open .mr-header-bar.sub { border-radius: 0; }
.mr-header-sticky.is-open .mr-header-drawer {
  grid-template-rows: 1fr;
  visibility: visible;
  transition: grid-template-rows 0.25s ease, visibility 0s;
}
.mr-header-sticky.is-open .mr-header-drawer-inner { opacity: 1; padding: 4px 8px 8px; }
@media (min-width: 768px) {
  .mr-header-drawer { display: none; }
}

/* "Mais" do menu de seções: itens que não cabem na barra, em drop-down no contexto do botão */
.mr-header-nav .mr-header-more-btn { gap: 4px; }
.mr-header-more-btn .ico {
  position: relative;
  z-index: 1;
  width: 12px;
  height: 12px;
  background: currentColor;
  -webkit-mask: url("/wp-content/plugins/medreview-landings/assets/icons/chevron-down.svg") center / contain no-repeat;
  mask: url("/wp-content/plugins/medreview-landings/assets/icons/chevron-down.svg") center / contain no-repeat;
  transition: rotate 0.2s ease;
}
.mr-header-more-btn.is-open .ico { rotate: 180deg; }
.mr-header-more-menu {
  position: absolute;
  z-index: 5;
  pointer-events: auto;
  display: flex;
  flex-direction: column;
  min-width: 200px;
  padding: 4px 8px 8px;
  border-radius: 0 0 var(--r-12) var(--r-12);
  background: rgba(14, 14, 17, 0.94);
  -webkit-backdrop-filter: blur(20px);
  backdrop-filter: blur(20px);
  box-shadow: 0 2px 4px rgba(0, 0, 0, 0.35);
}
.mr-header-more-menu[hidden] { display: none; }
.mr-header-more-menu a {
  position: relative;
  display: flex;
  align-items: center;
  height: 48px;
  padding: 0 16px;
  border-top: 1px solid rgba(255, 255, 255, 0.05);
  border-radius: var(--r-8);
  font-family: var(--font-body);
  font-size: 14px;
  font-weight: 500;
  line-height: 20px;
  color: rgba(255, 255, 255, 0.7);
  text-decoration: none;
  white-space: nowrap;
  transition: background-color 0.2s ease, color 0.2s ease;
}
.mr-header-more-menu a:first-child { border-top-color: transparent; }
.mr-header-more-menu a:is(:hover, :focus-visible) { background: var(--brand-primary-10); color: #ffffff; }
.mr-header-more-menu a.active { color: #ffffff; }
.mr-header-more-menu a.active::before {
  content: "";
  position: absolute;
  left: 0;
  top: 12px;
  bottom: 12px;
  width: 2px;
  background: var(--brand-primary);
  box-shadow: 3px 0 12px var(--brand-primary);
}
.mr-header-more-menu a:focus-visible,
.mr-header-nav a:focus-visible { outline: 2px solid var(--brand-primary); outline-offset: -2px; }
@media (max-width: 767px) { .mr-header-more-menu { display: none; } }
@media (prefers-reduced-motion: reduce) { .mr-header-more-btn .ico { transition: none; } }
/* âncora direta (#id na URL) para abaixo do header secundário */
.mr-page > [id] { scroll-margin-top: calc(var(--wp-admin--admin-bar--height, 0px) + 56px); }

@media (max-width: 767px) {
  .mr-header-bar .mr-header-nav { display: none; }
  .mr-header-select { display: block; }
  .mr-header-burger { display: flex; }
  .mr-header-logo .med,
  .mr-header-logo .review { display: none; }
}

/* blur no pseudo: na própria barra o backdrop-filter a tornaria containing block e backdrop root */
.mr-page .mr-header-bar.top {
  position: relative;
  isolation: isolate;
  background: transparent;
}
.mr-page .mr-header-bar.top::after,
.mr-page .mr-header-bar.sub::after {
  -webkit-backdrop-filter: blur(20px);
  backdrop-filter: blur(20px);
}
.mr-page .mr-header-bar.top::after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: -1;
  border-radius: inherit;
  background: #0e0e11cc;
  pointer-events: none;
}
@supports not ((backdrop-filter: blur(1px)) or (-webkit-backdrop-filter: blur(1px))) {
  .mr-page .mr-header-bar.top::after,
  .mr-page .mr-header-bar.sub::after { background: rgba(14, 14, 17, 0.94); }
}
@media (min-width: 768px) and (max-width: 799px) {
  .mr-header-bar.top .mr-header-nav a { padding-inline: 20px; }
}

/* ---------- Footer ---------- */

.mr-page .mr-footer {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 24px;
  width: 100%;
  padding: 24px 0 16px;
  font-family: var(--font-body);
  font-size: 12px;
  line-height: 20px;
  color: #e3e5e8;
}
.mr-footer-top,
.mr-footer-product,
.mr-footer-legal {
  width: 100%;
  max-width: 1104px;
  padding: 0 16px;
}
.mr-footer-top {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-end;
  justify-content: center;
  gap: 24px;
}
.mr-footer-col { flex: 1 0 0; min-width: min(320px, 100%); display: flex; flex-direction: column; gap: 16px; }
.mr-footer-col .mr-footer-title {
  margin: 0;
  font-family: var(--font-heading);
  font-weight: 700;
  font-size: var(--fs-h6);
  line-height: 1.4;
  color: var(--brand-primary-70);
}
.mr-footer-list { display: flex; flex-direction: column; align-items: flex-start; gap: 10px; }
.mr-footer-item { display: flex; align-items: center; gap: 8px; color: inherit; text-decoration: none; }
.mr-footer-item img, .mr-footer-store img, .mr-footer-social img { display: block; width: 16px; height: 16px; }
.mr-footer-stores { display: flex; flex-direction: column; align-items: flex-start; gap: 8px; }
.mr-footer-store {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  width: 165px;
  height: 36px;
  padding: 7px 15px;
  border: 1px solid #28282c;
  border-radius: var(--r-8);
  color: #ffffff;
  font-size: 14px;
  font-weight: 500;
  text-decoration: none;
}
.mr-footer-social { display: flex; gap: 8px; }
.mr-footer-social a { transition: background-color 0.1s linear; }
.mr-footer-social a:is(:hover, :focus-visible) { background-color: var(--brand-card); }
.mr-footer-item { transition: color 0.1s linear; }
.mr-footer-item:is(:hover, :focus-visible) { color: var(--brand-primary); }
.mr-footer-social a {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 40px;
  height: 40px;
  border-radius: var(--r-8);
}
.mr-footer-product { display: flex; flex-direction: column; gap: 4px; }
.mr-footer-sep { height: 12px; background: linear-gradient(rgba(255, 255, 255, 0.1), rgba(255, 255, 255, 0.1)) 0 5.5px / 100% 1px no-repeat; }
/* "*Notas de rodapé" é placeholder do Figma: o cliente pediu para tirar (feedback 05/10) */
.mr-footer-notes { display: none; color: var(--brand-fg-muted); }
.mr-page .mr-footer-ra { display: flex; flex-direction: column; align-items: flex-start; gap: 16px; }
.mr-page .mr-footer-ra-link {
  display: flex;
  flex-direction: column;
  justify-content: center;
  width: 165px;
  min-height: 52px;
  padding: 7px 15px;
  border: 1px solid #28282c;
  border-radius: var(--r-8);
  font-size: 12px;
  line-height: 16px;
  text-decoration: none;
  transition: background-color 0.1s linear;
}
.mr-page .mr-footer-ra-link:is(:link, :visited) { color: var(--brand-fg-muted); }
.mr-page .mr-footer-ra-link:is(:hover, :focus-visible) { background-color: var(--brand-card); }
.mr-page .mr-footer-ra-link strong { color: #ffffff; font-size: 14px; font-weight: 500; line-height: 20px; }
/* variante com a imagem oficial baixada pelo cliente na Área da Empresa do RA */
.mr-page .mr-footer-ra-link.is-img { width: auto; min-height: 0; padding: 0; border: 0; }
.mr-page .mr-footer-ra-link.is-img img { display: block; width: auto; max-width: min(200px, 100%); height: auto; max-height: 64px; }
@media (max-width: 767px) {
  .mr-page .mr-footer-ra { width: 100%; align-items: center; }
}
.mr-footer-brands {
  display: flex;
  justify-content: center;
  width: 100%;
  padding: 24px 16px;
  background: #09090b;
}
.mr-footer-brands-row {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-evenly;
  row-gap: 10px;
  width: 100%;
  max-width: 1104px;
}
.mr-brandlogo { display: flex; justify-content: center; min-width: 120px; padding: 0 8px; }
.mr-brandlogo .mark { position: relative; display: block; width: 58px; height: 20px; }
.mr-brandlogo .mark img { position: absolute; left: 0; display: block; max-width: none; }
.mr-brandlogo .name { top: 0; height: 8.44px; width: auto; }
.mr-brandlogo .sub { top: 11.56px; width: 58px; height: 8.44px; }
.mr-brandlogo .mark.medreview { width: 90px; height: 30px; }
.mr-brandlogo .medreview .symb { top: 0; width: 30px; height: 30px; }
.mr-brandlogo .medreview .med { left: 32.7px; top: 5.4px; width: 29.1px; height: 8.1px; }
.mr-brandlogo .medreview .review { left: 32.7px; top: 16.8px; width: 55.5px; height: 8.1px; }
.mr-footer-legal { display: flex; flex-wrap: wrap; align-items: center; gap: 24px; }
.mr-footer-legal .links { flex: 1 0 0; min-width: min(340px, 100%); display: flex; flex-wrap: wrap; gap: 8px; }
.mr-footer-legal .pair { display: flex; gap: 8px; }
.mr-footer-legal .mr-btn-outline { padding: 5px 11px; }
.mr-footer-legal .copy {
  flex: 1 0 0;
  min-width: min(360px, 100%);
  max-width: 460px;
  display: flex;
  flex-wrap: wrap;
  gap: 4px 8px;
  color: var(--brand-fg-muted);
}
@media (max-width: 767px) {
  .mr-footer-stores { flex-direction: row; flex-wrap: wrap; }
}

/* ---------- Banner download (cronograma) ---------- */

.mr-page .mr-dl-sec {
  display: flex;
  flex-direction: column;
  align-items: center;
  padding: 40px 16px;
}
.mr-page .mr-dl {
  position: relative;
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  align-items: flex-end;
  align-content: flex-end;
  gap: 16px;
  width: 100%;
  max-width: 780px;
  padding: 28px;
  border: 1px solid var(--brand-primary-10);
  border-radius: var(--r-16);
  background: linear-gradient(
    to bottom right,
    oklch(from var(--brand-primary) l c h / 1%),
    oklch(from var(--brand-primary) l c h / 10%)
  );
}
.mr-page .mr-dl-body {
  flex: 1 0 0;
  min-width: min(240px, 100%);
  display: flex;
  flex-direction: column;
  gap: 4px;
  padding-right: 32px;
}
.mr-dl-tag {
  font-family: var(--font-heading-alt);
  font-style: italic;
  font-weight: 500;
  font-size: 18px;
  line-height: 24px;
  color: var(--brand-secondary);
  text-shadow: 0 0 20px oklch(from var(--brand-secondary) l c h / 50%);
}
.mr-dl-title {
  font-family: var(--font-heading);
  font-weight: 700;
  font-size: var(--fs-h4);
  line-height: 1.2;
  color: var(--brand-contrast);
}
.mr-page .mr-btn-ghost-primary .elementor-button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  height: 36px;
  padding: 7px 15px;
  border-radius: var(--r-8);
  border: 1px solid var(--brand-primary);
  background: var(--brand-primary-10);
  color: var(--brand-primary);
  font-family: var(--font-body);
  font-size: 14px;
  font-weight: 500;
  line-height: 20px;
}
.mr-page .mr-btn-ghost-primary .elementor-button-content-wrapper { gap: 8px; }
.mr-page .mr-btn-ghost-primary .elementor-button-content-wrapper::before,
.mr-page .mr-btn-ghost-primary .elementor-button-content-wrapper::after {
  content: "";
  flex: 0 0 16px;
  width: 16px;
  height: 16px;
  background: currentColor;
  -webkit-mask: url("/wp-content/plugins/medreview-landings/assets/icons/calendar.svg") center / contain no-repeat;
  mask: url("/wp-content/plugins/medreview-landings/assets/icons/calendar.svg") center / contain no-repeat;
}
.mr-page .mr-btn-ghost-primary .elementor-button-content-wrapper::after {
  -webkit-mask-image: url("/wp-content/plugins/medreview-landings/assets/icons/arrow-down-square.svg");
  mask-image: url("/wp-content/plugins/medreview-landings/assets/icons/arrow-down-square.svg");
}
.mr-page .mr-dl-spacer { flex: 0 0 56px; width: 56px; height: 16px; }

/* Borda em gradiente refletido do Figma (Gradient/Primary/Reflected): anel de 1px via máscara */
.mr-page :is(.mr-dl, .mr-banner7) { border-color: transparent; }
.mr-page :is(.mr-dl, .mr-banner7) > .elementor-element { z-index: 1; }
.mr-page :is(.mr-dl, .mr-banner7)::after {
  content: "";
  position: absolute;
  inset: -1px;
  padding: 1px;
  border-radius: inherit;
  background: linear-gradient(
    to top left,
    oklch(from var(--brand-primary) l c h / 10%),
    var(--brand-primary) 50%,
    oklch(from var(--brand-primary) l c h / 10%)
  );
  -webkit-mask: linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0);
  -webkit-mask-composite: xor;
  mask: linear-gradient(#000 0 0) content-box exclude, linear-gradient(#000 0 0);
  pointer-events: none;
  z-index: 0;
}
.mr-page .mr-dl-mascote {
  position: absolute;
  right: -52px;
  top: -34px;
  width: 173px;
  pointer-events: none;
}
.mr-dl-mascote img { width: 100%; height: auto; }

/* ---------- Professores (cards em marquee) ---------- */

.mr-page .mr-profs {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 56px;
  padding: 96px 0;
}
.mr-page .mr-profs > .mr-sec-title { width: calc(100% - 32px); }
.mr-page .mr-prof-text {
  display: flex;
  flex-direction: column;
  gap: 4px;
  width: 100%;
}
.mr-page .mr-prof-card {
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
  align-items: flex-start;
  gap: 16px;
  width: 320px;
  padding: 24px;
  border: 1px solid var(--brand-border-regular);
  border-radius: var(--r-24);
}
.mr-page .mr-prof-photo { width: 100%; }
.mr-prof-photo img {
  width: 100%;
  aspect-ratio: 1;
  object-fit: cover;
  border-radius: var(--r-20);
  display: block;
}
/* Urbanist em line-height 1.4: o Figma assenta o baseline 1.5px abaixo do navegador */
.mr-page :is(.mr-prof-name, .mr-footer-col .mr-footer-title) { translate: 0 1.5px; }
.mr-prof-name {
  font-family: var(--font-heading);
  font-weight: 700;
  font-size: var(--fs-h6);
  line-height: 1.4;
  color: var(--brand-contrast);
  width: 100%;
}
/* Tags (slot Tags do componente Professor): instituições em que foi aprovado */
.mr-page .mr-prof-tags { display: flex; flex-wrap: wrap; gap: 8px; }
.mr-page .mr-tag {
  display: inline-flex;
  align-items: center;
  height: 24px;
  padding: 2px 10px;
  border-radius: 9999px;
  background: var(--brand-card);
  -webkit-backdrop-filter: blur(20px);
  backdrop-filter: blur(20px);
  font-family: var(--font-body);
  font-size: 12px;
  font-weight: 500;
  line-height: 20px;
  color: #ffffff;
  white-space: nowrap;
}
.mr-prof-degree {
  font-size: 12px;
  line-height: 20px;
  color: var(--brand-foreground);
  width: 100%;
}
.mr-prof-title {
  font-size: 12px;
  line-height: 20px;
  color: var(--brand-fg-muted);
  width: 100%;
}
/* etiqueta sobre a foto = slot de CRM: oculta até existir o número (liga com .com-crm no card, na seção ou na página) */
.mr-page .mr-prof-photo { position: relative; }
.mr-page .mr-prof-photo :is(.mr-prof-crm, .mr-prof-rqe) {
  position: absolute;
  right: 8px;
  bottom: 8px;
  display: none;
  background: rgba(28, 28, 34, 0.5);
  -webkit-backdrop-filter: blur(6px);
  backdrop-filter: blur(6px);
}
.com-crm .mr-prof-photo :is(.mr-prof-crm, .mr-prof-rqe) { display: inline-flex; }

/* ---------- Barra fixa inferior ---------- */

.mr-page .mr-barra-fixa {
  position: fixed;
  left: 0;
  right: 0;
  bottom: 0;
  z-index: 60;
  display: flex;
  align-items: center;
  justify-content: center;
  height: 72px;
  padding: 16px 24px;
  overflow: clip;
  background: linear-gradient(to top, rgba(0, 0, 0, 0.4), rgba(0, 0, 0, 0));
  pointer-events: none;
}
.mr-barra-fixa::before {
  content: "";
  position: absolute;
  top: 0;
  left: calc(50% - 240px);
  width: 480px;
  height: 100%;
  background: rgba(0, 0, 0, 0.1);
  -webkit-backdrop-filter: blur(20px);
  backdrop-filter: blur(20px);
  -webkit-mask-image: linear-gradient(90deg, transparent, #000 20%, #000 80%, transparent);
  mask-image: linear-gradient(90deg, transparent, #000 20%, #000 80%, transparent);
}
.mr-barra-fixa::after {
  content: "";
  position: absolute;
  top: -0.5px;
  left: 16.667%;
  width: 66.667%;
  height: 1px;
  background: linear-gradient(90deg, rgba(255, 255, 255, 0), rgba(255, 255, 255, 0.06) 20%, rgba(255, 255, 255, 0.06) 80%, rgba(255, 255, 255, 0));
}
.mr-page .mr-barra-fixa > .mr-btn {
  position: relative;
  z-index: 1;
  pointer-events: auto;
  box-shadow: 0 25px 50px -12px rgba(0, 0, 0, 0.25), 0 0 12px oklch(from var(--brand-accent) l c h / 50%);
}
.mr-barra-fixa > .mr-btn img { display: block; width: 16px; height: 16px; }
/* sem JS a barra fica sempre visível: o CTA não pode sumir junto com o script */
@media (scripting: enabled) {
  .mr-page .mr-barra-fixa {
    visibility: hidden;
    transform: translateY(calc(100% + 8px));
    transition: transform 0.2s ease-out, visibility 0s linear 0.2s;
  }
  .mr-page .mr-barra-fixa.is-visible {
    visibility: visible;
    transform: none;
    transition: transform 0.2s ease-out, visibility 0s;
  }
}
@media (prefers-reduced-motion: reduce) { .mr-page .mr-barra-fixa, .mr-page .mr-barra-fixa.is-visible { transition: none; } }
.mr-page .mr-whats {
  position: fixed;
  right: 24px;
  bottom: 12px;
  z-index: 61;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 48px;
  height: 48px;
  border-radius: 24px;
  background: linear-gradient(to bottom right, #24d366 15.6%, #136d35 99.9%);
  box-shadow: 0 25px 50px -12px rgba(0, 0, 0, 0.25);
}
.mr-whats img { display: block; width: 24px; height: 24px; }

/* ---------- Cantos squircle (design system) ---------- */
/* Todos os raios usam squircle; elementos circulares/pill e os sem smoothing
   no Figma mantem round. Sem suporte (Safari/Firefox) cai no arredondado padrao.
   Smoothing 100% do Figma estende a curva ate 2r: equivale a squircle com ~1.8r. */
@supports (corner-shape: squircle) {
  .mr-page { --mr-sq: 1.8; }
  .mr-page *,
  .mr-page *::before,
  .mr-page *::after {
    corner-shape: squircle;
  }
  .mr-page .mr-hero-pattern,
  .mr-page .mr-window::before,
  .mr-page .mr-header-burger,
  .mr-page .mr-whats,
  .mr-page .mr-person-photo::after,
  .mr-page .mr-video-photo::after,
  .mr-page .mr-footer-social a {
    corner-shape: round;
  }
}

/* ---------- Proteção contra o kit do Elementor do site ---------- */
/* o kit gera .elementor-kit-N h1..h6 e a (0,1,1), a:hover (0,2,1) e .elementor-kit-N .elementor-button (0,2,0) */
.mr-page :is(h1, h2, h3, h4, h5, h6, .elementor-heading-title) { text-transform: none; }
.mr-page .elementor-widget-button .elementor-button,
.mr-page :is(button, input[type="button"], input[type="submit"]) { text-transform: none; }
.mr-page .mr-faq .elementor-toggle .elementor-toggle-icon { color: var(--brand-foreground); }
.mr-page .mr-header-nav a:is(:link, :visited) { color: rgba(255, 255, 255, 0.7); }
.mr-page .mr-header-nav a:is(:link, :visited):is(:hover, .active) { color: #ffffff; }
.mr-page :is(.mr-footer-item, .mr-garantia-nota a):is(:link, :visited) { color: inherit; }
.mr-page .mr-footer-item:is(:link, :visited):is(:hover, :focus-visible) { color: var(--brand-primary); }
.mr-page :is(.mr-btn-outline, .mr-footer-store):is(:link, :visited) { color: #ffffff; }
.mr-page .mr-btn:is(a, :visited) { color: var(--brand-accent-foreground); }
.mr-page :is(.mr-brandlogo, .mr-header-logo a, .mr-footer-social a, .mr-whats):is(a, :visited) { color: inherit; }

/* ---------- Página: ortop-extensive ---------- */

/* Extensive Ortop-Review: camada da página (tudo com escopo .pg-ortop-extensive) */

.pg-ortop-extensive {
  --brand-heroui-accent: #e07152;
  --brand-heroui-accent-foreground: #ffffff;
}

.pg-ortop-extensive .mr-step.active {
  background: var(--brand-heroui-accent);
  color: var(--brand-heroui-accent-foreground);
}
@media (hover: hover) {
  .pg-ortop-extensive .mr-step.active:hover { background: oklch(from var(--brand-heroui-accent) l c h / 80%); }
}

.pg-ortop-extensive .mr-slider-sec { padding: 80px 0; }
@media (max-width: 767px) {
  .pg-ortop-extensive .mr-slider-sec { padding: 72px 0; }
}

.pg-ortop-extensive .mr-products .mr-combo-curso .elementor-heading-title { font-size: 20px; line-height: 1.3; }
.pg-ortop-extensive .mr-products .mr-combo-nome .elementor-heading-title { font-size: 30px; line-height: 1.1; }
@media (max-width: 767px) {
  .pg-ortop-extensive .mr-products .mr-combo-curso .elementor-heading-title { font-size: 18px; }
  .pg-ortop-extensive .mr-products .mr-combo-nome .elementor-heading-title { font-size: 24px; }
}

.pg-ortop-extensive .mr-banner7 > .mr-banner7-mascote.elementor-widget { flex: 1 0 0; width: auto; min-width: 240px; max-width: 360px; }
.pg-ortop-extensive .mr-banner7-body { max-width: 520px; padding: 0 32px 0 16px; }
.pg-ortop-extensive .mr-banner7-body .mr-h2 .elementor-heading-title { text-shadow: none; }
.pg-ortop-extensive .mr-banner7-body .mr-btn-el .elementor-button { width: auto; }
.pg-ortop-extensive .mr-banner7 .mr-selo { top: -34.22px; right: -25.61px; transform: rotate(-8.1deg); }
.pg-ortop-extensive .mr-banner7 .mr-selo-blur {
  top: -34.22px;
  right: -25.61px;
  width: 180px;
  height: 180px;
  transform: rotate(-8.1deg);
  -webkit-mask-image: url("/wp-content/plugins/medreview-landings/assets/icons/selo-11-fill.svg");
  mask-image: url("/wp-content/plugins/medreview-landings/assets/icons/selo-11-fill.svg");
}
.pg-ortop-extensive .mr-banner7 .mr-selo-s1 { fill: rgba(0, 0, 0, 0.2); }
.pg-ortop-extensive .mr-banner7 .mr-selo-medicos { font-size: 17.514px; line-height: 23.351px; }
.pg-ortop-extensive .mr-garantia-nota .mr-link-u { text-decoration: underline; text-underline-position: from-font; }

.pg-ortop-extensive .mr-ico-te-medal { --mr-ico: url("/wp-content/plugins/medreview-landings/assets/ortop-extensive/dif-medal.svg"); }
.pg-ortop-extensive .mr-ico-te-globe { --mr-ico: url("/wp-content/plugins/medreview-landings/assets/ortop-extensive/dif-globe.svg"); }


.pg-ortop-extensive .mr-header-brand .symbol { width: 34px; height: 30px; }
.pg-ortop-extensive .mr-header-brand .symbol img { width: 100%; height: 100%; }
.pg-ortop-extensive .mr-header-brand .wordmark .brand { width: 72.1px; height: 12.66px; }

/* Hero-4 (implementação do oft-extensive, HERO4-PRONTO.md) */
.pg-ortop-extensive .mr-hero4 .mr-hero-pattern { top: calc(50% + 120px); }
.pg-ortop-extensive .mr-hero4 .mr-hero4-tag2 { color: var(--brand-foreground); }
.pg-ortop-extensive .mr-hero4 .mr-hero-desc strong { font-size: 14px; line-height: 24px; }
.pg-ortop-extensive .mr-hero4 .mr-hero-figure {
  aspect-ratio: 640 / 519;
  min-height: 389.25px;
  max-height: 697.4px;
}
/* foto de 2 pessoas do Ortop: preenche o container inteiro (FILL) */
.pg-ortop-extensive .mr-hero4 .mr-hero-figure img {
  top: 0;
  height: 100%;
  object-fit: cover;
}
.pg-ortop-extensive .mr-hero4 .mr-img-tag.tag-1,
.pg-ortop-extensive .mr-hero4 .mr-img-tag.tag-3 { bottom: 30px; }
.pg-ortop-extensive .mr-hero4 .mr-img-tag.tag-2 { bottom: 70px; }
.pg-ortop-extensive .mr-hero4 .mr-hero-title .elementor-heading-title { line-height: 31px; }
@media (min-width: 768px) {
  .pg-ortop-extensive .mr-hero4 .mr-hero-title .elementor-heading-title { line-height: 50px; }
}

/* Menu-item: hover SMART_ANIMATE 625ms SLOW do Figma */
.pg-ortop-extensive .mr-header-nav a { transition: color 0.625s cubic-bezier(0.25, 1, 0.5, 1); }
.pg-ortop-extensive .mr-header-nav a::before,
.pg-ortop-extensive .mr-header-nav a::after {
  transition: top 0.625s cubic-bezier(0.25, 1, 0.5, 1), bottom 0.625s cubic-bezier(0.25, 1, 0.5, 1), opacity 0.625s cubic-bezier(0.25, 1, 0.5, 1), box-shadow 0.625s cubic-bezier(0.25, 1, 0.5, 1);
}
@media (prefers-reduced-motion: reduce) {
  .pg-ortop-extensive .mr-header-nav a,
  .pg-ortop-extensive .mr-header-nav a::before,
  .pg-ortop-extensive .mr-header-nav a::after { transition: none; }
}

/* O Figma arredonda cada linha de texto para px inteiro (48 x 1.05 = 50,4 -> 50) */
.pg-ortop-extensive :is(.mr-h2) { line-height: round(1.0499999em, 1px); }
.pg-ortop-extensive :is(.mr-h3, .mr-split-title) { line-height: round(1.1em, 1px); }
.pg-ortop-extensive :is(.mr-h4, .mr-tagline-lg, .mr-select-label, .mr-dl-title) { line-height: round(1.2em, 1px); }
.pg-ortop-extensive :is(.mr-h5) { line-height: round(1.3em, 1px); }
.pg-ortop-extensive :is(.mr-prof-name),
.pg-ortop-extensive .mr-footer-col .mr-footer-title,
.pg-ortop-extensive .mr-faq .elementor-toggle .elementor-tab-title { line-height: round(1.4em, 1px); }
.pg-ortop-extensive .mr-products .mr-card-sub.mr-text-secondary .elementor-heading-title { color: var(--brand-secondary); }
/* selo no canto: entre o frame mobile e o desktop o texto passaria por baixo dele */
@media (min-width: 788px) and (max-width: 1245px) {
  .pg-ortop-extensive .mr-banner7 { padding-right: 168px; }
}
@media (min-width: 600px) and (max-width: 787px) {
  .pg-ortop-extensive .mr-banner7-body { flex-basis: 100%; }
}

/* vídeos do cliente (16:9) no widget HTML com preload="none": mesma caixa do vídeo do Elementor da R1 */
.pg-ortop-extensive .mr-window .elementor-widget-html.mr-window-video video { bottom: auto; height: auto; aspect-ratio: 16 / 9; }

.pg-ortop-extensive .mr-products .mr-combo-curso-vazio { visibility: hidden; }
.pg-ortop-extensive .mr-hero4-promo { display: flex; align-items: center; padding: 16px 0; }
.pg-ortop-extensive .mr-hero4-promo-txt {
  margin: 0;
  font-family: var(--font-heading);
  font-weight: 700;
  font-size: var(--fs-h4);
  line-height: 1.2;
  color: var(--brand-alternate);
  text-wrap: pretty;
}

/* ---------- Tema Black Friday (liga com a classe bf no container raiz) ---------- */

/* Tema Black Friday: liga com a classe "bf" no container raiz da página */

@font-face {
  font-family: "Lora BF";
  src: url("/wp-content/plugins/medreview-landings/assets/fonts/lora-italic-var.woff2") format("woff2");
  font-weight: 400 700;
  font-style: italic;
  font-display: swap;
}

.mr-page:not(.bf) .mr-bf { display: none !important; }
.mr-page.bf .mr-bf-off { display: none !important; }
/* sem preço e sem percentual nas landings, mesmo com .bf: ligam com bf-precos e bf-percentual no container raiz */
.mr-page:not(.bf-precos) :is(.mr-bf-preco-w, .mr-bf-preco) { display: none !important; }
.mr-page:not(.bf-percentual) :is(.mr-bf-percentual, .mr-bf-cselo-w, .mr-bf-hello-pill, .mr-bf-selo, .mr-bf-selo-blur, .mr-bf-badge:has(.seal)) { display: none !important; }

.mr-page.bf { --bf-hello-h: 52px; }
.mr-page.bf .mr-bf-estrela {
  flex: none;
  display: block;
  background: currentColor;
  -webkit-mask: url("/wp-content/plugins/medreview-landings/assets/black-friday/estrela-18.svg") center / 100% 100% no-repeat;
  mask: url("/wp-content/plugins/medreview-landings/assets/black-friday/estrela-18.svg") center / 100% 100% no-repeat;
}

/* ---------- Hellobar ---------- */
.mr-page.bf .mr-bf-hellobar {
  display: flex;
  flex-direction: row;
  align-items: center;
  justify-content: center;
  height: var(--bf-hello-h);
  min-height: 0;
  padding: 0;
  gap: 0;
  overflow: hidden;
  background: #000000;
}
.mr-page.bf .mr-bf-hellobar > .elementor-widget { width: auto; }
.mr-page.bf .mr-bf-hello-in {
  display: flex;
  align-items: center;
  gap: 20px;
  margin: 0;
  white-space: nowrap;
  font-family: var(--font-heading-alt);
  font-style: italic;
  font-weight: 500;
  font-size: 18px;
  line-height: 24px;
}
.mr-page.bf .mr-bf-hello-tag { display: flex; align-items: center; gap: 8px; color: var(--brand-secondary); }
.mr-page.bf .mr-bf-hello-tag .mr-bf-estrela { width: 16px; height: 24px; }
.mr-page.bf .mr-bf-hello-pill {
  display: flex;
  align-items: center;
  gap: 2px;
  padding: 6px 10px;
  border-radius: var(--r-8);
  background: var(--brand-alternate);
  box-shadow: 0 0 16px var(--brand-alternate);
  color: #000000;
  font-size: 14px;
  line-height: 14px;
}
.mr-page.bf .mr-bf-hello-pill b {
  font-family: var(--font-heading);
  font-style: normal;
  font-weight: 900;
  font-size: 18px;
  line-height: 1;
  text-box: trim-both cap alphabetic;
}
.mr-page.bf .mr-bf-hello-data { color: var(--brand-alternate); }

/* header e barra do topo empurrados pela parte visível da hellobar (--bf-off vem do JS) */
.mr-page.bf .mr-header-layer { top: calc(64px + var(--bf-hello-h)); }
.mr-page.bf .mr-header-primary { top: calc(var(--mr-admin-bar) + var(--bf-off, var(--bf-hello-h))); }
.mr-page.bf .mr-topcta.bf-on {
  transform: translate(-50%, 0);
  opacity: 1;
  visibility: visible;
  transition: top 0.2s ease-out, transform 0.2s ease-out, opacity 0.2s ease-out, visibility 0s;
}

/* ---------- Stripe ---------- */
.mr-page.bf .mr-bf-stripe {
  display: flex;
  flex-direction: row;
  align-items: center;
  justify-content: center;
  height: 24px;
  min-height: 0;
  padding: 0;
  gap: 0;
  overflow: hidden;
  background: linear-gradient(to right, var(--brand-secondary), var(--brand-primary));
}
.mr-page.bf .mr-bf-stripe > .elementor-widget,
.mr-page.bf .mr-bf-stripe .elementor-widget-container {
  display: flex;
  justify-content: center;
  width: 100%;
  min-width: 0;
}
.mr-page.bf .mr-bf-stripe-row {
  flex: none;
  display: flex;
  align-items: center;
  gap: 12px;
  color: #000000;
}
.mr-page.bf .mr-bf-stripe-txt {
  flex: none;
  width: 163px;
  font-family: "Lora BF", var(--font-heading-alt);
  font-style: italic;
  font-weight: 600;
  font-size: 14px;
  line-height: 1;
  letter-spacing: 0.02em;
  white-space: nowrap;
  text-box: trim-both cap alphabetic;
}
.mr-page.bf .mr-bf-stripe .mr-bf-estrela {
  width: 13px;
  height: 24px;
  -webkit-mask-image: url("/wp-content/plugins/medreview-landings/assets/black-friday/estrela-14.svg");
  mask-image: url("/wp-content/plugins/medreview-landings/assets/black-friday/estrela-14.svg");
}

/* ---------- Hero-1 ---------- */
.mr-page.bf .mr-bf-hero {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 0;
  padding: 116px 0 0;
}
.mr-page.bf .mr-bf-hero-in {
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
  gap: 0;
  width: 100%;
  max-width: 1280px;
  padding: 40px 24px 56px;
}
/* o Figma aceita 340 de mínimo; o título de 96px precisa de 560 para não correr sob a arte */
.mr-page.bf .mr-bf-hero-text {
  flex: 1 0 0;
  min-width: 560px;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 24px;
  padding: 0;
}
.mr-page.bf .mr-bf-hero-block {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 16px;
  width: 100%;
  padding: 0;
}
.mr-page.bf .mr-bf-hero-block > .elementor-widget { width: 100%; }
.mr-page.bf .mr-bf-hero-tag .elementor-heading-title {
  font-family: var(--font-heading-alt);
  font-style: italic;
  font-weight: 500;
  font-size: 18px;
  line-height: 24px;
  color: var(--brand-foreground);
  text-wrap: balance;
}
.mr-page.bf .mr-bf-hero-title .elementor-heading-title {
  display: flex;
  flex-wrap: wrap;
  gap: 0 16px;
  padding-top: 8px;
  font-family: var(--font-heading);
  font-weight: 700;
  font-size: 96px;
  line-height: 1;
  color: var(--brand-contrast);
}
/* mesma compensação do Hero-2: Urbanist a line-height 1 fica 1px acima do Figma */
.mr-page.bf .mr-bf-hero-title .elementor-heading-title > span { white-space: nowrap; position: relative; top: 1px; }
.mr-page.bf .mr-bf-hero-title .mr-mark {
  --mk-a1: -1.7deg; --mk-s1: 1.81deg;
  --mk-a2: -0.12deg; --mk-s2: 0.13deg;
  --mk-a3: 0.62deg; --mk-s3: -0.66deg;
}
.mr-page.bf .mr-bf-hero-title .mr-mark::before { left: -2.55%; right: -2.55%; }
.mr-page.bf .mr-bf-hero-title .mr-mark::before,
.mr-page.bf .mr-bf-hero-title .mr-mark::after,
.mr-page.bf .mr-bf-hero-title .mr-mark > span::before { top: -1px; bottom: 1px; }
.mr-page.bf .mr-bf-hero-sub .elementor-heading-title {
  font-family: var(--font-heading-alt);
  font-style: italic;
  font-weight: 400;
  font-size: 30px;
  line-height: 1.1;
  color: var(--brand-alternate);
  text-wrap: balance;
}

.mr-page.bf .mr-bf-hero-asset {
  position: relative;
  flex: 1 0 0;
  min-width: 340px;
  max-width: 540px;
  height: 480px;
  padding: 0;
}
.mr-page.bf .mr-bf-hero-asset > .elementor-widget,
.mr-page.bf .mr-bf-hero-asset .elementor-widget-container { position: static; }
.mr-page.bf .mr-bf-hero-dex {
  position: absolute;
  left: 0;
  top: 50%;
  width: 100%;
  max-width: none;
  height: auto;
  aspect-ratio: 1;
  transform: translateY(-50%) scaleX(-1);
}
.mr-page.bf .mr-bf-orb {
  position: absolute;
  left: calc(50% - 295px);
  top: calc(50% - 106px);
  width: 248px;
  height: 240px;
  transform: scaleY(-1);
  mix-blend-mode: screen;
  pointer-events: none;
}

/* Selo "até 50% off": caixa de 185px girada -9.23deg em torno do centro */
.mr-page.bf .mr-bf-selo,
.mr-page.bf .mr-bf-selo-blur {
  position: absolute;
  left: -120.36px;
  top: calc(50% + 50.64px);
  width: 185px;
  height: 185px;
  transform: rotate(-9.23deg);
}
.mr-page.bf .mr-bf-selo { filter: drop-shadow(0 16px 8px rgba(0, 0, 0, 0.2)); }
/* blur de fundo num irmão: o drop-shadow do selo viraria backdrop root */
.mr-page.bf .mr-bf-selo-blur {
  -webkit-backdrop-filter: blur(20px);
  backdrop-filter: blur(20px);
  -webkit-mask: url("/wp-content/plugins/medreview-landings/assets/black-friday/selo-estrela-1.svg") 0 0 / 100% 100% no-repeat;
  mask: url("/wp-content/plugins/medreview-landings/assets/black-friday/selo-estrela-1.svg") 0 0 / 100% 100% no-repeat;
  pointer-events: none;
}
.mr-page.bf .mr-bf-selo-svg { position: absolute; inset: 0; display: block; width: 185px; height: 185px; overflow: visible; }
.mr-page.bf .mr-bf-selo-s1 { fill: var(--brand-alternate-10); stroke: var(--brand-alternate); stroke-width: 2; }
.mr-page.bf .mr-bf-selo-s2 { fill: rgba(0, 0, 0, 0.5); stroke: var(--brand-alternate); stroke-width: 2; }
.mr-page.bf .mr-bf-selo-alt { fill: var(--brand-alternate); }
.mr-page.bf .mr-bf-selo-ring {
  font-family: var(--font-heading-alt);
  font-style: italic;
  font-weight: 500;
  font-size: 12px;
  letter-spacing: -0.033em;
  fill: var(--brand-alternate);
  white-space: pre;
}
.mr-page.bf .mr-bf-selo-num {
  position: absolute;
  left: 50.683px;
  top: 62.476px;
  width: 83px;
  height: 51px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-family: var(--font-heading);
  font-weight: 900;
  line-height: 1.1;
  letter-spacing: -0.03em;
  color: #ffffff;
  white-space: nowrap;
}
.mr-page.bf .mr-bf-selo-num > span { mix-blend-mode: plus-lighter; text-shadow: 0 0 16px #ffffff; }
.mr-page.bf .mr-bf-selo-num > span:first-child { font-size: 46px; }
.mr-page.bf .mr-bf-selo-num > span:last-child { font-size: 36px; }

@media (max-width: 767px) {
  .mr-page.bf .mr-bf-hero-text { flex: 1 0 100%; min-width: 0; align-items: center; }
  .mr-page.bf .mr-bf-hero-block { align-items: center; }
  .mr-page.bf .mr-bf-hero-tag .elementor-heading-title,
  .mr-page.bf .mr-bf-hero-sub .elementor-heading-title { text-align: center; }
  .mr-page.bf .mr-bf-hero-title .elementor-heading-title {
    flex-direction: column;
    align-items: center;
    gap: 16px;
    font-size: 60px;
  }
  /* o Figma arredonda a caixa de 24px x 1.1 para 26 */
  .mr-page.bf .mr-bf-hero-sub .elementor-heading-title { font-size: 24px; line-height: 26px; }
  .mr-page.bf .mr-bf-hero-asset { flex: 1 0 100%; min-width: 0; max-width: 480px; }
  .mr-page.bf .mr-bf-hero-dex { top: 0; width: 480px; transform: scaleX(-1); }
  .mr-page.bf .mr-bf-orb { left: -48px; top: 129px; }
  .mr-page.bf .mr-bf-selo,
  .mr-page.bf .mr-bf-selo-blur { left: -24.36px; top: 322.64px; }
}
@media (prefers-reduced-motion: reduce) {
  .mr-page.bf .mr-topcta.bf-on { transition: none; }
}

/* ---------- Combos (Home): título à esquerda, tagline da campanha, selo e preço nos cards ---------- */
.mr-page.bf .mr-combos .mr-sec-title { max-width: 1280px; align-items: flex-start; text-align: left; }
.mr-page.bf .mr-combos .mr-sec-title > * { max-width: 748px; }
.mr-page.bf .mr-combos .mr-tagline-lg,
.mr-page.bf .mr-combos .mr-tagline-lg .elementor-heading-title {
  font-family: var(--font-heading-alt);
  font-style: italic;
  font-weight: 400;
  font-size: 30px;
  line-height: 1.1;
}
.mr-page.bf .mr-bf-tag-extra { color: var(--brand-secondary); }
.mr-page.bf .mr-bf-estrela-inline {
  display: inline-block;
  position: relative;
  width: 0.889em;
  height: 0;
  background: none;
  -webkit-mask: none;
  mask: none;
}
/* caixa do glifo (24/18 em) desenhada fora do fluxo para não aumentar a linha */
.mr-page.bf .mr-bf-estrela-inline::before {
  content: "";
  position: absolute;
  left: 0;
  bottom: -0.26em;
  width: 100%;
  height: 1.333em;
  background: currentColor;
  -webkit-mask: url("/wp-content/plugins/medreview-landings/assets/black-friday/estrela-18.svg") center / 100% 100% no-repeat;
  mask: url("/wp-content/plugins/medreview-landings/assets/black-friday/estrela-18.svg") center / 100% 100% no-repeat;
}

.mr-page.bf.bf-precos .mr-combos-row .mr-card { height: auto; }
.mr-page.bf.bf-precos .mr-combos-row .mr-combo-body { flex: none; }

/* bloco de preço (combos e livro) */
.mr-page.bf .mr-bf-preco {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 4px;
  font-size: 14px;
  line-height: 24px;
  color: rgba(255, 255, 255, 0.6);
}
.mr-page.bf .mr-bf-preco.livro { padding: 6px 0; }
.mr-page.bf .mr-bf-preco p { margin: 0; }
.mr-page.bf .mr-bf-badge {
  display: flex;
  align-items: center;
  gap: 2px;
  height: 32px;
  padding: 5px;
  border: 1px solid rgba(255, 255, 255, 0.1);
  border-radius: var(--r-8);
  -webkit-backdrop-filter: blur(20px);
  backdrop-filter: blur(20px);
  color: #ffffff;
  white-space: nowrap;
}
.mr-page.bf .mr-bf-preco.livro .mr-bf-badge { gap: 6px; font-weight: 500; }
.mr-page.bf .mr-bf-badge b { font-weight: 700; }
.mr-page.bf .mr-bf-ico {
  flex: none;
  width: 16px;
  height: 16px;
  background: currentColor;
  -webkit-mask: url("/wp-content/plugins/medreview-landings/assets/black-friday/icone-seal-percent.svg") center / 100% 100% no-repeat;
  mask: url("/wp-content/plugins/medreview-landings/assets/black-friday/icone-seal-percent.svg") center / 100% 100% no-repeat;
}
.mr-page.bf .mr-bf-ico.box {
  -webkit-mask-image: url("/wp-content/plugins/medreview-landings/assets/black-friday/icone-box.svg");
  mask-image: url("/wp-content/plugins/medreview-landings/assets/black-friday/icone-box.svg");
}
.mr-page.bf .mr-bf-de s { text-decoration: line-through; }
.mr-page.bf .mr-bf-de b { font-weight: 700; color: var(--brand-foreground); }
.mr-page.bf .mr-bf-parcela { display: flex; align-items: baseline; gap: 8px; color: var(--brand-alternate); }
.mr-page.bf .mr-bf-parcela span {
  font-family: var(--font-heading-alt);
  font-style: italic;
  font-weight: 500;
  font-size: 24px;
  line-height: 1.2;
  color: oklch(from var(--brand-alternate) l c h / 80%);
}
.mr-page.bf .mr-bf-parcela strong {
  font-family: var(--font-heading);
  font-weight: 800;
  font-size: 30px;
  line-height: 1.1;
}

/* a instância do selo no Figma está escalada em 0.7377: o tile de listras de 36px vira 26.557 */
/* selo de desconto do card: caixa de 92px girada -8deg, centro em (36.96, 15.19) do card (1px de borda) */
.mr-page.bf .mr-card > .mr-bf-cselo-w {
  position: absolute;
  left: -10.04px;
  top: -31.81px;
  width: 92px;
  height: 92px;
  margin: 0;
  z-index: 2;
  pointer-events: none;
}
.mr-page.bf .mr-bf-cselo {
  position: relative;
  width: 92px;
  height: 92px;
  transform: rotate(-8deg);
  filter: drop-shadow(0 16px 8px rgba(0, 0, 0, 0.2));
}
.mr-page.bf .mr-bf-cselo svg { position: absolute; display: block; overflow: visible; }
.mr-page.bf .mr-bf-cselo-base,
.mr-page.bf .mr-bf-cselo-top { inset: 0; width: 92px; height: 92px; }
.mr-page.bf .mr-bf-cselo-base path { fill: rgba(0, 0, 0, 0.3); }
.mr-page.bf .mr-bf-cselo-listras {
  position: absolute;
  inset: 0;
  background: var(--brand-alternate);
  opacity: 0.2;
  -webkit-mask: url("/wp-content/plugins/medreview-landings/assets/patterns/stripes-regular-sm.svg") 0 0.868px / 26.557px 26.557px repeat, url("/wp-content/plugins/medreview-landings/assets/black-friday/selo-promo-estrela.svg") 0 0 / 100% 100% no-repeat;
  -webkit-mask-composite: source-in;
  mask: url("/wp-content/plugins/medreview-landings/assets/patterns/stripes-regular-sm.svg") 0 0.868px / 26.557px 26.557px repeat, url("/wp-content/plugins/medreview-landings/assets/black-friday/selo-promo-estrela.svg") 0 0 / 100% 100% no-repeat;
  mask-composite: intersect;
}
.mr-page.bf .mr-bf-cselo-borda { fill: none; stroke: var(--brand-alternate); stroke-width: 6; }
.mr-page.bf .mr-bf-cselo-off { fill: var(--brand-alternate); }
.mr-page.bf .mr-bf-cselo-num {
  position: absolute;
  left: 19.5px;
  top: 23px;
  display: flex;
  align-items: center;
  height: 21px;
  font-family: var(--font-heading);
  font-weight: 900;
  line-height: 1;
  letter-spacing: -0.03em;
  color: #ffffff;
  text-shadow: 0 0 16px rgba(0, 0, 0, 0.5);
}
.mr-page.bf .mr-bf-cselo-num > span { text-align: center; text-box: trim-both cap alphabetic; }
.mr-page.bf .mr-bf-cselo-num > span:first-child { width: 34px; font-size: 30px; }
.mr-page.bf .mr-bf-cselo-num > span:last-child { width: 18px; font-size: 22px; }
.mr-page.bf .mr-bf-cselo-faixa {
  position: absolute;
  left: 0;
  top: 64px;
  width: 92px;
  height: 17px;
  filter: drop-shadow(0 3px 4px rgba(0, 0, 0, 0.3));
}
.mr-page.bf .mr-bf-cselo-faixa svg { inset: 0; width: 92px; height: 17px; fill: var(--brand-alternate); }
.mr-page.bf .mr-bf-cselo-faixa span {
  position: absolute;
  left: 13.143px;
  top: 2px;
  width: 65.714px;
  font-family: "Lora BF", var(--font-heading-alt);
  font-style: italic;
  font-weight: 600;
  font-size: 11px;
  line-height: 12.1px;
  letter-spacing: 0.01em;
  text-align: center;
  white-space: nowrap;
  color: #000000;
}

/* Extensive: a rolagem dos cards recorta o que sai da caixa; o selo sobe 36.8px acima do card */
.mr-page.bf.bf-percentual .mr-products .mr-products-row { padding-top: 44px; margin-top: -44px; }
/* sem imagem no topo do card, o selo cobriria o título: o conteúdo começa 8px abaixo dele */
.mr-page.bf.bf-percentual .mr-products-row .mr-card { padding-top: 75px; }

@media (max-width: 767px) {
  .mr-page.bf .mr-combos .mr-tagline-lg,
  .mr-page.bf .mr-combos .mr-tagline-lg .elementor-heading-title { font-size: 24px; line-height: 26px; }
  .mr-page.bf .mr-bf-parcela span { font-size: 20px; }
  .mr-page.bf .mr-bf-parcela strong { font-size: 24px; line-height: 26px; }
  .mr-page.bf .mr-combos-row .mr-combo-curso .elementor-heading-title { font-size: 16px; line-height: 22px; }
  .mr-page.bf .mr-combos-row .mr-combo-nome .elementor-heading-title { font-size: 20px; }
}

@media (max-width: 767px) {
  .mr-page.bf .mr-bf-hero-title .elementor-heading-title > span:last-child { font-size: 56px; }
}

/* ---------- Hero das Extensives: selo abaixo do header e ícones sem o corte do export ---------- */
/* o selo é ancorado no pé do hero: --bfx-hero-h (js) limita a subida a 16px abaixo do header (120) */
@media (min-width: 873px) {
  .mr-page.bf:is(.r1, .anest, .oft, .ortop) .mr-bfx-selo-deco .mr-bfx-selo {
    --bfx-b: calc(var(--bfx-k) * var(--bfx-iw));
    bottom: min(var(--bfx-b), calc(var(--bfx-hero-h, 100000px) - 221px));
  }
}
@media (min-width: 1240px) {
  .mr-page.bf.anest .mr-bfx-selo-deco .mr-bfx-selo { --bfx-b: 496px; }
  .mr-page.bf.ortop .mr-bfx-selo-deco .mr-bfx-selo { --bfx-b: 500px; }
}
/* Anest: abaixo do header o selo não cabe sobre a cabeça da mulher; vai para o vão entre o texto e a foto */
@media (min-width: 1100px) and (max-width: 1399px) {
  .mr-page.bf.anest .mr-bfx-selo-deco .mr-bfx-selo { left: calc(50% - 80px); }
}
/* ext-ico-h3 foi exportado recortado na borda esquerda do frame: como no Figma (MIN), fica preso em -86 */
.mr-page.bf .mr-bfx-hero-deco .mr-bfx-ico.h3 { left: min(calc(50% - 806px), -86px); }
/* ext-ico-h1 tem o pé recortado pelo frame: no mobile ele sobe e entra a etiqueta inteira (receita dos ícones das Homes) */
@media (max-width: 767px) {
  .mr-page.bf .mr-bfx-hero-deco .mr-bfx-ico.h1 { visibility: hidden; }
  .mr-page.bf .mr-bfx-hero-deco::before,
  .mr-page.bf .mr-bfx-hero-deco::after {
    content: "";
    position: absolute;
    left: calc(100% - 121px);
    top: calc(100% - 421px);
    width: 95.678px;
    height: 145.598px;
    transform-origin: 0 0;
    transform: rotate(-34.016deg);
    background: url("/wp-content/plugins/medreview-landings/assets/black-friday/icone-glass-tag.webp") center / cover no-repeat;
  }
  .mr-page.bf .mr-bfx-hero-deco::after {
    background: var(--brand-primary);
    mix-blend-mode: color;
    mask: url("/wp-content/plugins/medreview-landings/assets/black-friday/icone-glass-tag.webp") center / cover no-repeat luminance;
  }
}


/* css/wip/bf-extensives.css */
/* ---------- Black Friday nas Extensives: faixas animadas, ícones de vidro e selo ---------- */

.mr-page.bf:has(.mr-bfx-marquee):not(:has(.mr-bf-hellobar)) { --bf-hello-h: 0px; }

.mr-page.bf .mr-bf-stripe.mr-bfx-marquee {
  position: relative;
  overflow: visible;
  background: linear-gradient(to right, var(--brand-alternate), var(--brand-primary));
}
.mr-page.bf .mr-bfx-marquee > .mr-bfx-row { height: 24px; overflow: hidden; }
.mr-page.bf .mr-bfx-marquee .mr-bf-stripe-row { animation: mr-bfx-marquee 3s linear infinite; }
/* um período da faixa: 163 (texto) + 12 + 13 (estrela) + 12 */
@keyframes mr-bfx-marquee { to { transform: translateX(-200px); } }

.mr-page.bf .mr-bfx-marquee > .mr-bfx-deco-w {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  width: auto;
  height: 0;
  margin: 0;
  pointer-events: none;
}
.mr-page.bf .mr-bfx-marquee > .mr-bfx-deco-w .elementor-widget-container { position: static; }

/* ---------- Hero: camada de ícones (atrás do conteúdo) e selo (na frente), recortados pelo hero ---------- */
.mr-page.bf:has(.mr-bfx-hero-deco) .mr-hero .mr-hero-inner { z-index: 2; }
.mr-page.bf .mr-bfx-hero-deco,
.mr-page.bf .mr-bfx-selo-deco {
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  height: 1600px;
  overflow: hidden;
  pointer-events: none;
}
.mr-page.bf .mr-bfx-hero-deco { z-index: 1; }
.mr-page.bf .mr-bfx-selo-deco { z-index: 3; container-type: inline-size; }

/* posições do PromoHero (1440 x 692), ancoradas no pé do hero, onde fica a foto */
.mr-page.bf .mr-bfx-ico { position: absolute; display: block; max-width: none; margin: 0; }
.mr-page.bf .mr-bfx-ico.h1 { right: 68px; bottom: -50.5px; width: 161px; height: 174.5px; }
.mr-page.bf .mr-bfx-ico.h2 { left: calc(50% - 733.5px); bottom: -60.5px; width: 150px; height: 173px; }
.mr-page.bf .mr-bfx-ico.h3 { left: calc(50% - 806px); bottom: 355.5px; width: 174.5px; height: 161.5px; }
.mr-page.bf .mr-bfx-ico.h4 { left: calc(50% + 587.5px); bottom: 236px; width: 112.5px; height: 127px; }
/* h5 desce do meio (onde o PromoHero tem espaço livre) para baixo do texto: a coluna de texto da Extensive é mais cheia */
.mr-page.bf .mr-bfx-ico.h5 { left: calc(50% - 212px); bottom: -60px; width: 131.5px; height: 162px; }

/* Selo "Black Friday / Oferta exclusiva": a borda de 4px entra no layout do Figma */
@supports (corner-shape: squircle) {
  .mr-page.bf .mr-bfx-selo { corner-shape: round; }
}
.mr-page.bf .mr-bfx-selo {
  position: absolute;
  box-sizing: border-box;
  display: flex;
  align-items: center;
  gap: 12px;
  width: 306px;
  height: 130px;
  padding: 20px 24px;
  border: 4px solid oklch(from var(--brand-primary) l c h / 50%);
  border-radius: 9999px;
  background:
    linear-gradient(to right, oklch(from var(--brand-primary) l c h / 20%), oklch(from var(--brand-primary) l c h / 2%)),
    rgba(0, 0, 0, 0.5);
  -webkit-backdrop-filter: blur(18.273px);
  backdrop-filter: blur(18.273px);
  box-shadow: 0 6.764px 6.764px rgba(0, 0, 0, 0.2);
}
.mr-page.bf .mr-bfx-selo-ic {
  flex: none;
  width: 81.042px;
  height: 81.042px;
  background: oklch(from var(--brand-primary) l c h / 80%);
  -webkit-mask: url("/wp-content/plugins/medreview-landings/assets/black-friday/selo-oferta-seal.svg") 0 0 / 100% 100% no-repeat;
  mask: url("/wp-content/plugins/medreview-landings/assets/black-friday/selo-oferta-seal.svg") 0 0 / 100% 100% no-repeat;
}
.mr-page.bf .mr-bfx-selo-tx {
  display: flex;
  flex-direction: column;
  width: 141px;
  margin: 0;
}
.mr-page.bf .mr-bfx-selo-tx .k {
  display: block;
  height: 14px;
  font-family: var(--font-body);
  font-weight: 400;
  font-size: 13px;
  line-height: 14.3px;
  letter-spacing: 0.12em;
  white-space: nowrap;
  color: var(--brand-alternate);
}
.mr-page.bf .mr-bfx-selo-tx .t {
  display: flex;
  flex-direction: column;
  margin-top: -4px;
  font-family: var(--font-heading);
  font-weight: 700;
  font-size: 34px;
  white-space: nowrap;
}
/* line-height do Figma (54.4 e 29.92) + 3px: a Urbanist pinta 1,5px acima do render do Figma */
.mr-page.bf .mr-bfx-selo-tx .t > span:first-child { height: 42px; line-height: 57.4px; color: #ffffff; }
.mr-page.bf .mr-bfx-selo-tx .t > span:last-child { height: 30px; line-height: 32.92px; color: var(--brand-primary); }

/* Posição do selo: reduzido a 200 x 85 e fora das pessoas, dos textos, das etiquetas e do header (medido por marca).
   --bfx-iw é a largura da foto do hero; left e bottom valem para a caixa reduzida (origem no canto inferior esquerdo). */
.mr-page.bf .mr-bfx-selo { transform: scale(0.6536); transform-origin: 0 100%; --bfx-k: 0.755; }
.mr-page.bf.oft .mr-bfx-selo { --bfx-k: 0.68; }
.mr-page.bf.anest .mr-bfx-selo { --bfx-k: 0.827; }
.mr-page.bf.ortop .mr-bfx-selo { --bfx-k: 0.81; }
/* no alto, à direita da foto, acima das cabeças: a altura acompanha a escala da foto */
@media (min-width: 873px) {
  .mr-page.bf .mr-bfx-selo-deco { --bfx-iw: 480px; }
  .mr-page.bf .mr-bfx-selo { left: calc(100% - 216px); bottom: calc(var(--bfx-k) * var(--bfx-iw)); }
}
@media (min-width: 1001px) {
  .mr-page.bf .mr-bfx-selo-deco { --bfx-iw: calc(100cqw - min(50cqw + 24px, 640px)); }
}
@media (min-width: 1280px) {
  .mr-page.bf .mr-bfx-selo-deco { --bfx-iw: 640px; }
  .mr-page.bf .mr-bfx-selo { left: calc(50% + 424px); }
}
/* Anest e Ortop: a cabeça do homem ocupa o alto à direita; entre 1240 e 1399 o selo vai para cima da mulher e, a partir de 1400, para o lado da cabeça dele */
@media (min-width: 1240px) {
  .mr-page.bf:is(.anest, .ortop) .mr-bfx-selo { left: calc(max(640px, 50cqw) + 180px); bottom: 496px; }
  .mr-page.bf.ortop .mr-bfx-selo { bottom: 500px; }
}
@media (min-width: 1400px) {
  .mr-page.bf:is(.anest, .ortop) .mr-bfx-selo { left: calc(50% + 472px); }
}
/* uma coluna: o selo entra num respiro de 72px aberto entre o botão e a foto, 12px acima da foto */
@media (max-width: 872px) {
  .mr-page.bf:has(.mr-bfx-selo) .mr-hero .mr-hero-figure { margin-top: 72px; }
  .mr-page.bf .mr-bfx-selo { left: max(24px, calc(50% - 296px)); bottom: calc(max(480px, 100cqw) * 0.7597 + 12px); }
  .mr-page.bf:is(.anest, .ortop) .mr-bfx-selo { bottom: calc(max(480px, 100cqw) * 0.811 + 12px); }
}

/* ---------- Combos: ícones sobre a faixa que abre a seção ---------- */
.mr-page.bf .mr-bfx-combo-deco {
  position: absolute;
  left: 0;
  right: 0;
  top: -36px;
  height: 400px;
  overflow: hidden;
  z-index: 3;
  pointer-events: none;
}
/* posições do frame Combos (1440), relativas ao topo da seção de combos (24px abaixo do topo da faixa) */
.mr-page.bf .mr-bfx-ico.c1 { left: calc(50% + 207px); top: 7px; width: 135.5px; height: 150px; }
.mr-page.bf .mr-bfx-ico.c2 { left: calc(50% - 480px); top: 248px; width: 98px; height: 118px; }
.mr-page.bf .mr-bfx-ico.c3 { left: calc(50% - 340px); top: 16px; width: 107.5px; height: 124px; }

@media (max-width: 767px) {
  .mr-page.bf .mr-bfx-ico:is(.h2, .h3, .h4),
  .mr-page.bf .mr-bfx-combo-deco { display: none; }
  .mr-page.bf .mr-bfx-ico.h5 { left: calc(50% - 211.5px); bottom: 244px; }
  /* no pé do hero mobile fica a foto: h1 sobe para o lado da cabeça, espelhando o h5 */
  .mr-page.bf .mr-bfx-ico.h1 { right: -40px; bottom: 300px; }
}

@media (prefers-reduced-motion: reduce) {
  .mr-page.bf .mr-bfx-marquee .mr-bf-stripe-row { animation: none; }
}


/* css/wip/bf-homes.css */
/* ---------- Black Friday nas Homes: hero promocional (mr-bf-promo) ---------- */

/* Homes sem hellobar: o header não desce */
.mr-page.bf:not(:has(.mr-bf-hellobar)) { --bf-hello-h: 0px; }
.mr-page.bf:is(.pg-anest-home, .pg-oft-home, .pg-ortop-home) .mr-hero2 { display: none !important; }

.mr-page.bf .mr-bf-promo .mr-bf-hero-title .elementor-heading-title { padding-top: 0; row-gap: 8px; }
.mr-page.bf .mr-bf-promo .mr-bf-hero-title .elementor-heading-title > span:last-child,
.mr-page.bf .mr-bf-promo .mr-bf-hero-title .elementor-heading-title > .mr-bf-ant { top: 0; font-size: 72px; letter-spacing: 1px; }
.mr-page.bf .mr-bf-promo .mr-bf-hero-tag .elementor-heading-title > span { display: block; text-wrap: balance; }
.mr-page.bf .mr-bf-promo .mr-bf-hero-dex.no-flip { transform: translateY(-50%); }

/* ícones de vidro: imagem cinza + cor da marca em modo color, recortada pela luminância da própria imagem */
.mr-page.bf :is(.mr-bf-promo, .mr-combos) > .mr-bfp-icons {
  position: absolute;
  inset: 0;
  width: auto;
  margin: 0;
  pointer-events: none;
}
.mr-page.bf :is(.mr-bf-promo, .mr-combos) > .mr-bfp-icons .elementor-widget-container { position: static; }
.mr-page.bf .mr-bfp-ico {
  --ico: url("/wp-content/plugins/medreview-landings/assets/black-friday/icone-glass-tag.webp");
  position: absolute;
  display: block;
  width: 95.678px;
  height: 145.598px;
  transform-origin: 0 0;
  background: var(--ico) center / cover no-repeat;
}
.mr-page.bf .mr-bfp-ico::after {
  content: "";
  position: absolute;
  inset: 0;
  background: var(--brand-primary);
  mix-blend-mode: color;
  mask: var(--ico) center / cover no-repeat luminance;
}
.mr-page.bf .mr-bfp-ico.bag { --ico: url("/wp-content/plugins/medreview-landings/assets/black-friday/icone-glass-bag.webp"); }
.mr-page.bf .mr-bfp-ico.bolt { --ico: url("/wp-content/plugins/medreview-landings/assets/black-friday/icone-glass-bolt.webp"); }
.mr-page.bf .mr-bfp-ico.fire { --ico: url("/wp-content/plugins/medreview-landings/assets/black-friday/icone-glass-fire.webp"); }
/* posições pelas constraints do componente PromoHero (frame de 1440 x 692) */
.mr-page.bf .mr-bf-promo .mr-bfp-ico.i1 { left: calc(100% - 229px); top: calc(100% - 70.475px); transform: rotate(-34.016deg); }
.mr-page.bf .mr-bf-promo .mr-bfp-ico.i2 { left: calc(50% - 670.188px); top: calc(100% - 112.235px); transform: rotate(25.681deg); }
.mr-page.bf .mr-bf-promo .mr-bfp-ico.i3 { left: calc(50% - 806px); top: 254.055px; transform: rotate(-55.717deg); }
.mr-page.bf .mr-bf-promo .mr-bfp-ico.i4 { left: calc(50% + 637.801px); top: calc(50% - 17px); width: 69.992px; height: 106.509px; transform: rotate(27.877deg); }
.mr-page.bf .mr-bf-promo .mr-bfp-ico.i5 { left: calc(50% - 168.488px); top: calc(50% + 97px); width: 92.125px; height: 140.191px; transform: rotate(18.026deg); }

/* Combos das Homes: o frame BF atual (2195:29264) centra o título; ícones por cima dos cards, saindo pelo topo */
.mr-page.bf:has(.mr-bf-promo) .mr-combos { overflow-x: clip; overflow-y: visible; }
.mr-page.bf:has(.mr-bf-promo) .mr-combos .mr-sec-title { max-width: 780px; align-items: center; text-align: center; }
.mr-page.bf .mr-combos > .mr-bfp-icons { z-index: 3; }
/* degradê de fundo do frame BF: retângulo de 959 numa seção de 909 (recortado), 10% */
.mr-page.bf:has(.mr-bf-promo) .mr-combos::before {
  content: "";
  position: absolute;
  inset: 0;
  opacity: 0.1;
  background: linear-gradient(to bottom, var(--brand-primary), var(--brand-primary-0) 105.5%);
  pointer-events: none;
}
.mr-page.bf .mr-combos .mr-bfp-ico.c1 { left: calc(50% + 207px); top: -10.129px; width: 82.25px; height: 125.16px; transform: rotate(-31.41deg); }
.mr-page.bf .mr-combos .mr-bfp-ico.c2 { left: calc(50% - 480px); top: calc(50% - 242.876px); width: 66.17px; height: 100.7px; transform: rotate(-20.92deg); }
.mr-page.bf .mr-combos .mr-bfp-ico.c3 { left: calc(50% - 293.961px); top: -44px; width: 68.42px; height: 104.12px; transform: rotate(26.24deg); }

/* Faixa correndo como a das Extensives (3s linear, um período = 163 + 12 + 13 + 12); a fileira já cobre 2560 + 1 período */
.mr-page.bf .mr-bf-stripe:not(.mr-bfx-marquee) .mr-bf-stripe-row { animation: mr-bfh-marquee 3s linear infinite; }
@keyframes mr-bfh-marquee { to { transform: translateX(-200px); } }
@media (prefers-reduced-motion: reduce) {
  .mr-page.bf .mr-bf-stripe:not(.mr-bfx-marquee) .mr-bf-stripe-row { animation: none; }
}

/* Fire Orb: matriz do Figma relativa à caixa de 540 x 480 do Asset (centrada) */
.mr-page.bf .mr-bf-promo .mr-bf-orb {
  left: calc(50% - 270px);
  top: calc(50% - 240px);
  transform-origin: 0 0;
  transform: matrix(1, 0, 0, -1, -25, 374);
}
.mr-page.bf.anest .mr-bf-promo .mr-bf-orb { transform: matrix(1, 0, 0, -1, 135, 499); }
.mr-page.bf.oft .mr-bf-promo .mr-bf-orb { transform: matrix(0.9152, 0.403, 0.403, -0.9152, 48.154, 457.852); }
.mr-page.bf.ortop .mr-bf-promo .mr-bf-orb { transform: matrix(1, 0, 0, -1, 126, 494); }

/* Selo "Black Friday / Oferta exclusiva": no Figma a borda interna entra no layout (padding conta de fora da borda) */
.mr-page.bf .mr-bf-promo .mr-bfp-selo {
  position: absolute;
  left: calc(50% - 317px);
  top: calc(50% + 65px);
  display: flex;
  align-items: center;
  gap: 12px;
  width: 306.042px;
  height: 130px;
  padding: 20px 24px;
  border: 4px solid color-mix(in srgb, var(--brand-primary) 50%, transparent);
  border-radius: 9999px;
  corner-shape: round;
  background:
    linear-gradient(to right, color-mix(in srgb, var(--brand-primary) 20%, transparent), color-mix(in srgb, var(--brand-primary) 2%, transparent)),
    rgba(0, 0, 0, 0.5);
  box-shadow: 0 6.764px 6.764px rgba(0, 0, 0, 0.2);
  -webkit-backdrop-filter: blur(18.273px);
  backdrop-filter: blur(18.273px);
}
.mr-page.bf .mr-bf-promo .mr-bfp-selo-ic {
  flex: none;
  width: 81px;
  height: 81px;
  background: var(--brand-primary);
  opacity: 0.8;
  -webkit-mask: url("/wp-content/plugins/medreview-landings/assets/black-friday/icone-seal-percent.svg") center / 100% 100% no-repeat;
  mask: url("/wp-content/plugins/medreview-landings/assets/black-friday/icone-seal-percent.svg") center / 100% 100% no-repeat;
}
.mr-page.bf .mr-bf-promo .mr-bfp-selo-tx { display: flex; flex-direction: column; gap: 0; width: 141px; }
.mr-page.bf .mr-bf-promo .mr-bfp-selo-k {
  display: block;
  height: 14px;
  margin-bottom: -4px;
  font-family: var(--font-body);
  font-weight: 400;
  font-size: 13px;
  line-height: 1.1;
  letter-spacing: 0.12em;
  color: var(--brand-alternate);
  white-space: nowrap;
}
.mr-page.bf .mr-bf-promo .mr-bfp-selo-t {
  display: flex;
  flex-direction: column;
  height: 72px;
  font-family: var(--font-heading);
  font-weight: 700;
  font-size: 34px;
  color: #ffffff;
  white-space: nowrap;
}
/* linhas de 160% e 88% no Figma: posição da tinta medida no export */
.mr-page.bf .mr-bf-promo .mr-bfp-selo-t > span:first-child { padding-top: 13px; line-height: 30.08px; }
.mr-page.bf .mr-bf-promo .mr-bfp-selo-t > span:last-child { line-height: 29.92px; color: var(--brand-primary); }

@media (max-width: 767px) {
  .mr-page.bf:has(.mr-bf-promo) .mr-combos::before { background: linear-gradient(to bottom, var(--brand-primary), var(--brand-primary-0)); }
  .mr-page.bf .mr-bf-promo .mr-bf-hero-title .elementor-heading-title { padding-top: 8px; row-gap: 16px; }
  /* sem frame mobile do hero novo: a 2a linha segue a proporção do desktop (72/96 de 60) */
  .mr-page.bf .mr-bf-promo .mr-bf-hero-title .elementor-heading-title > span:last-child,
  .mr-page.bf .mr-bf-promo .mr-bf-hero-title .elementor-heading-title > .mr-bf-ant { font-size: 45px; letter-spacing: 0.625px; }
  .mr-page.bf .mr-bf-promo .mr-bf-hero-dex.no-flip { transform: none; }
  .mr-page.bf .mr-bf-promo .mr-bf-orb { left: 0; top: 0; transform: matrix(1, 0, 0, -1, -48, 369); }
  .mr-page.bf.anest .mr-bf-promo .mr-bf-orb { transform: matrix(1, 0, 0, -1, 106.2, 483.6); }
  .mr-page.bf.oft .mr-bf-promo .mr-bf-orb { transform: matrix(0.9152, 0.403, 0.403, -0.9152, 24.8, 440.3); }
  .mr-page.bf.ortop .mr-bf-promo .mr-bf-orb { transform: matrix(1, 0, 0, -1, 98.2, 479.1); }
  .mr-page.bf .mr-bf-promo .mr-bfp-selo { left: -47px; top: 305px; }
}
.mr-page.bf .mr-bf-stripe:not(.mr-bfx-marquee) { background: linear-gradient(to right, var(--brand-alternate), var(--brand-primary)); }


/* css/wip/combos-texto.css */
/* Orbitron: SIL Open Font License 1.1 (Google Fonts) */
@font-face {
  font-family: "Orbitron";
  src: url("/wp-content/plugins/medreview-landings/assets/fonts/orbitron-var.woff2") format("woff2");
  font-weight: 400 900;
  font-style: normal;
  font-display: swap;
}

.mr-page .mr-combo-arte {
  --arte-cor: var(--brand-primary);
  position: relative;
  display: grid;
  flex: none;
  place-content: center;
  justify-items: start;
  row-gap: 12px;
  width: 100%;
  height: 180px;
  overflow: hidden;
  border-radius: var(--r-12, 12px);
  background: linear-gradient(
    to top left,
    oklch(from var(--brand-primary) l c h / 0.5%),
    oklch(from var(--brand-primary) l c h / 5%),
    oklch(from var(--brand-primary) l c h / 0.5%)
  );
  font-family: "Orbitron", var(--font-heading);
  color: #fff;
}
.mr-page .mr-combo-arte.secondary { --arte-cor: var(--brand-secondary); }
.mr-page .mr-combo-arte.alternate { --arte-cor: var(--brand-alternate); }

/* Figma apara o texto na altura das maiúsculas (Orbitron: cap 0.72em, baseline a 0.885em com line-height 1) */
.mr-page .mr-combo-arte .elementor-heading-title {
  line-height: 1;
  margin: -0.165em 0 -0.115em;
  text-transform: uppercase;
  white-space: nowrap;
}
.mr-page .mr-combo-arte-nome .elementor-heading-title { font-size: 32px; font-weight: 700; }
.mr-page .mr-combo-arte.longo .mr-combo-arte-nome .elementor-heading-title { font-size: 30px; }
.mr-page .mr-combo-arte-nome .mr-destaque { color: var(--brand-primary); }

.mr-page .mr-combo-arte-linha {
  display: flex;
  flex-direction: row;
  width: auto;
  height: 45px;
  padding-left: 54px;
}
/* ::before do .e-con é do overlay do Elementor: barras e hachura (pattern "stripes" do Figma) ficam no widget */
.mr-page .mr-combo-arte-etiqueta::before {
  content: "";
  position: absolute;
  top: 0;
  right: calc(100% + 6px);
  width: 48px;
  height: 45px;
  background: color-mix(in srgb, var(--arte-cor) 50%, transparent);
  -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='48' height='45'%3E%3Cdefs%3E%3Cpattern id='s' width='4' height='4' patternUnits='userSpaceOnUse'%3E%3Cpath d='M1.6147 0H4L0 4H-2.3853ZM5.6147 0H8L4 4H1.6147Z'/%3E%3C/pattern%3E%3C/defs%3E%3Crect width='12' height='45' rx='4' fill='url(%23s)' opacity='.2'/%3E%3Cg transform='translate(18 0)'%3E%3Crect width='12' height='45' rx='4' fill='url(%23s)' opacity='.5'/%3E%3C/g%3E%3Cg transform='translate(36 0)'%3E%3Crect width='12' height='45' rx='4' fill='url(%23s)'/%3E%3C/g%3E%3C/svg%3E");
  mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='48' height='45'%3E%3Cdefs%3E%3Cpattern id='s' width='4' height='4' patternUnits='userSpaceOnUse'%3E%3Cpath d='M1.6147 0H4L0 4H-2.3853ZM5.6147 0H8L4 4H1.6147Z'/%3E%3C/pattern%3E%3C/defs%3E%3Crect width='12' height='45' rx='4' fill='url(%23s)' opacity='.2'/%3E%3Cg transform='translate(18 0)'%3E%3Crect width='12' height='45' rx='4' fill='url(%23s)' opacity='.5'/%3E%3C/g%3E%3Cg transform='translate(36 0)'%3E%3Crect width='12' height='45' rx='4' fill='url(%23s)'/%3E%3C/g%3E%3C/svg%3E");
}
.mr-page .mr-combo-arte-etiqueta {
  position: relative;
  isolation: isolate;
  display: flex;
  align-items: center;
  width: auto;
  height: 45px;
  padding: 0 16px;
}
.mr-page .mr-combo-arte-etiqueta::after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: -1;
  border-radius: 6px;
  background: color-mix(in srgb, var(--arte-cor) 50%, transparent);
  -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='4' height='4'%3E%3Cpath d='M1.6147 0H4L0 4H-2.3853ZM5.6147 0H8L4 4H1.6147Z'/%3E%3C/svg%3E") 0 0 / 4px 4px repeat;
  mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='4' height='4'%3E%3Cpath d='M1.6147 0H4L0 4H-2.3853ZM5.6147 0H8L4 4H1.6147Z'/%3E%3C/svg%3E") 0 0 / 4px 4px repeat;
}
.mr-page .mr-combo-arte-etiqueta .elementor-heading-title { font-size: 29px; font-weight: 800; }

.mr-page .mr-combos-row .mr-card:has(> .mr-combo-arte) { height: auto; min-height: 454px; }


/* css/wip/shaders-heros.css */
/* Laser Flow da Home R1 sem WebGPU ou com movimento reduzido: quadro do shader vivo na cor Primary/100 */
.mr-page.r1 .mr-hero2-media .mr-shader[data-shader="laser-flow"]:not(.is-live) {
  background: url("/wp-content/plugins/medreview-landings/assets/shaders-heros/laser-flow-r1.webp") 0 0 / 100% 100% no-repeat;
}
.mr-page.r1 .mr-hero2-media .mr-shader[data-shader="laser-flow"]:not(.is-live) > img { visibility: hidden; }
/* Fire Orb do slider: quadro estático acompanha o centro do jato definido no JS */
.mr-page .mr-slide-mascote .mr-shader-orb:not(.is-live) { transform: translate(var(--mr-orb-fx, 0), var(--mr-orb-fy, 0)); }
.mr-page:is(.ortop, .oft) .mr-slide-mascote.ratio-1 .mr-shader-orb { top: 68.88%; }


/* css/wip/treinamentos-homes.css */
/* ---------- Treinamentos das Homes (Products-slider with menu): mesmo componente do catálogo ---------- */
:is(.pg-anest-home, .pg-oft-home, .pg-ortop-home) .mr-cmenu {
  --cm-g: calc((100cqw - min(1280px, 100cqw - 16px)) / 2 + 16px);
  --cm-gap: 24px;
  container-type: inline-size;
}
:is(.pg-anest-home, .pg-oft-home, .pg-ortop-home) .mr-cmenu-head { width: 100%; max-width: 1280px; }
:is(.pg-anest-home, .pg-oft-home, .pg-ortop-home) .mr-cmenu .mr-sec-title.left { align-items: flex-start; text-align: left; max-width: 780px; margin: 0; }
:is(.pg-anest-home, .pg-oft-home, .pg-ortop-home) .mr-cmenu .mr-sec-title.left > .elementor-widget { width: 100%; }
.mr-page.bf:has(.mr-bf-promo):is(.pg-anest-home, .pg-oft-home, .pg-ortop-home) .mr-cmenu .mr-sec-title.left { margin: 0 auto; }
:is(.pg-anest-home, .pg-oft-home, .pg-ortop-home) .mr-cmenu-row {
  display: flex;
  flex-direction: row;
  flex-wrap: nowrap;
  align-items: flex-start;
  gap: var(--cm-gap);
  width: 100%;
  max-width: 1296px;
  padding: 0 24px;
}
:is(.pg-anest-home, .pg-oft-home, .pg-ortop-home) .mr-cmenu-menu {
  position: relative;
  z-index: 2;
  flex: 0 0 301px;
  width: 301px;
  display: flex;
  flex-direction: column;
  gap: 16px;
  padding-bottom: 36px;
}
:is(.pg-anest-home, .pg-oft-home, .pg-ortop-home) .mr-cmenu-label .elementor-heading-title {
  font-family: var(--font-heading-alt);
  font-style: italic;
  font-weight: 500;
  font-size: var(--fs-h4);
  line-height: 1.2;
  color: var(--brand-contrast);
  text-wrap: pretty;
  text-shadow: 0 0 32px rgba(0, 0, 0, 0.8);
}
:is(.pg-anest-home, .pg-oft-home, .pg-ortop-home) .mr-cmenu-list { display: flex; flex-direction: column; gap: 6px; }
:is(.pg-anest-home, .pg-oft-home, .pg-ortop-home) .mr-cmenu-item {
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  width: 100%;
  padding: 20px 16px;
  border: 1px solid var(--brand-border-regular);
  border-radius: var(--r-12);
  background: rgba(14, 14, 17, 0.8);
  -webkit-backdrop-filter: blur(20px);
  backdrop-filter: blur(20px);
  box-shadow: 0 0 32px rgba(0, 0, 0, 0.8), 0 8px 8px rgba(0, 0, 0, 0.5);
  text-align: left;
  font: inherit;
  cursor: pointer;
}
:is(.pg-anest-home, .pg-oft-home, .pg-ortop-home) .mr-cmenu-item .t { font-size: 14px; font-weight: 500; line-height: 24px; color: var(--brand-foreground); }
:is(.pg-anest-home, .pg-oft-home, .pg-ortop-home) .mr-cmenu-item .d { font-size: 12px; line-height: 20px; color: var(--brand-fg-muted); }
:is(.pg-anest-home, .pg-oft-home, .pg-ortop-home) .mr-cmenu-item.active {
  border-color: var(--brand-primary);
  background: linear-gradient(var(--brand-primary-10), var(--brand-primary-10)), rgba(14, 14, 17, 0.8);
  box-shadow: 0 0 32px rgba(0, 0, 0, 0.8), 0 0 8px var(--brand-primary-30);
}
:is(.pg-anest-home, .pg-oft-home, .pg-ortop-home) .mr-cmenu-item.active .t { color: var(--brand-contrast); }
:is(.pg-anest-home, .pg-oft-home, .pg-ortop-home) .mr-cmenu-item:hover,
:is(.pg-anest-home, .pg-oft-home, .pg-ortop-home) .mr-cmenu-item:focus { background: rgba(14, 14, 17, 0.8); color: inherit; }
:is(.pg-anest-home, .pg-oft-home, .pg-ortop-home) .mr-cmenu-item.active:hover,
:is(.pg-anest-home, .pg-oft-home, .pg-ortop-home) .mr-cmenu-item.active:focus { background: linear-gradient(var(--brand-primary-10), var(--brand-primary-10)), rgba(14, 14, 17, 0.8); }
:is(.pg-anest-home, .pg-oft-home, .pg-ortop-home) .mr-cmenu-item:focus-visible { outline: 2px solid var(--brand-primary); outline-offset: 2px; }
:is(.pg-anest-home, .pg-oft-home, .pg-ortop-home) .mr-cmenu-cards { flex: 1 1 0; min-width: 0; }
:is(.pg-anest-home, .pg-oft-home, .pg-ortop-home) .mr-cmenu-scroll {
  width: auto;
  margin: 0 calc(-1 * var(--cm-g)) 0 calc(-1 * var(--cm-gap));
  -webkit-mask-image: linear-gradient(90deg, transparent, #000 var(--cm-fade, 0px), #000 calc(100% - 15cqw), transparent);
  mask-image: linear-gradient(90deg, transparent, #000 var(--cm-fade, 0px), #000 calc(100% - 15cqw), transparent);
}
:is(.pg-anest-home, .pg-oft-home, .pg-ortop-home) .mr-cmenu-track {
  align-items: stretch;
  gap: 16px;
  padding: 44px calc(var(--cm-g) + 120px) 24px var(--cm-gap);
}
:is(.pg-anest-home, .pg-oft-home, .pg-ortop-home) .mr-cmenu-card { flex: 0 0 340px; width: 340px; height: auto; min-height: 454px; flex-wrap: nowrap; }
:is(.pg-anest-home, .pg-oft-home, .pg-ortop-home) .mr-cmenu-card .mr-combo-body { flex: 1 0 auto; }
:is(.pg-anest-home, .pg-oft-home, .pg-ortop-home) .mr-cmenu-card.is-oculto { display: none; }
:is(.pg-anest-home, .pg-oft-home, .pg-ortop-home) .mr-combo-arte-compacto .mr-combo-arte-nome .elementor-heading-title { font-size: 26px; }
@media (max-width: 767px) {
  :is(.pg-anest-home, .pg-oft-home, .pg-ortop-home) .mr-cmenu-scroll {
    width: calc(100% + 2 * var(--cm-g));
    margin: 0 calc(-1 * var(--cm-g));
    -webkit-mask-image: none;
    mask-image: none;
  }
  :is(.pg-anest-home, .pg-oft-home, .pg-ortop-home) .mr-cmenu-track { padding: 44px calc(var(--cm-g) + 120px) 24px var(--cm-g); }
}
/* seção BF da R1 (909) centra o ícone; com o menu a seção cresce e ele desceria sobre "Qual seu momento?" */
.mr-page.bf:is(.pg-anest-home, .pg-oft-home, .pg-ortop-home) .mr-cmenu .mr-bfp-ico.c2 { top: 211.624px; }

