/******* Do not edit this file *******
Simple Custom CSS and JS - by Silkypress.com
Saved: Dec 01 2025 | 12:02:51 */
/* =========================================================
   MindRise — Auth Links · v6.6 CLEAN (DESKTOP ≥1025px)
   Objetivo: Anti-FOUC, cor estável #0A3B47, hover #007C89,
             separador “|” entre links e deduplicação visual
   Guard-rails: NÃO toca no header, HERO, rings, home-stats
   ========================================================= */
@media (min-width:1025px){

  /* 1) Anti-FOUC — evita flash a vermelho e só pinta quando está pronto */
  :where(.elementor) #auth-links-header{
    opacity: 0;
    color: #0A3B47 !important;
    animation: mrAuthFadeIn .12s .12s forwards;
  }
  @keyframes mrAuthFadeIn { to { opacity: 1; } }

  /* 2) Estilo base + força de cor (mata overrides a vermelho/fill) */
  :where(.elementor) #auth-links-header,
  :where(.elementor) #auth-links-header *,
  :where(.elementor-location-header) #auth-links-header,
  :where(.elementor-location-header) #auth-links-header *{
    color:#0A3B47 !important;
    -webkit-text-fill-color:#0A3B47 !important;
    text-decoration:none !important;
    font-weight:400 !important;
    line-height:1 !important;
  }

  :where(.elementor) #auth-links-header{
    display:inline-flex !important;
    align-items:center !important;
    white-space:nowrap !important;
    gap:0 !important;
    font-size:13px !important;
  }

  :where(.elementor) #auth-links-header a{
    display:inline-block !important; /* necessário para pseudo-elementos */
  }
  :where(.elementor) #auth-links-header a:hover{
    color:#007C89 !important;
    -webkit-text-fill-color:#007C89 !important;
  }
  :where(.elementor) #auth-links-header a:visited{
    color:#0A3B47 !important; /* previne “visited” a mudar cor */
  }

  /* 3) Separador “|” automático entre os dois <a> (sem duplicar) */
  :where(.elementor) #auth-links-header a + a::before{
    content:"|";
    display:inline-block;
    margin:0 8px;
    color:#0A3B47 !important;
    font-weight:400 !important;
  }
  /* Se o HTML tiver <span class="sep">|</span>, escondemos para não duplicar */
  :where(.elementor) #auth-links-header .sep{ display:none !important; }

  /* 4) Deduplicação visual — esconde cópias adicionais e <a> soltos */
  /* 4.1 — Se houver outro #auth-links-header depois do primeiro, esconde */
  :where(.elementor-location-header, .header-mindrise, header.site-header)
    #auth-links-header ~ #auth-links-header{
    display:none !important;
  }

  /* 4.2 — Se houver <a> soltos (duplicados) após o 1.º bloco, esconde-os */
  :where(.elementor-location-header, .header-mindrise, header.site-header)
    #auth-links-header ~ a[href="/area-do-utilizador/"],
  :where(.elementor-location-header, .header-mindrise, header.site-header)
    #auth-links-header ~ a[href="/area-profissional/"]{
    display:none !important;
  }
}
/* Nota: Mobile/Tablet (≤1024px) será tratado no Micropasso C:
         tornar visível e posicionar no header sem interferir com logo/CTA/menu. */

/* MindRise — Auth Links · B.sepFix (equal spacing do separador) */
@media (min-width:1025px){
  :where(.elementor) #auth-links-header .sep{
    display:inline-flex !important;
    align-items:center !important;
    padding:0 8px !important;
    margin:0 !important;
    line-height:1 !important;
    color:#0A3B47 !important;
  }
  :where(.elementor) #auth-links-header a{
    margin:0 !important; /* garante simetria total */
  }
}



/* =========================================================
   MindRise — CSS GLOBAL (Consolidated, Safe) · 2025-10-18
   Mantém: Header desktop intocável; HERO v11.6; .home-stats
   Inclui: Flyout Mobile v6.0 escopado; Back-to-Top consolidado
   Breakpoints: 1920,1600,1440,1366,1280,1024,834,768,480,414/390/375/360
   ========================================================= */

/* ---------- Prelock Back-to-Top (anti-flash) ---------- */
:where(html):not(.mr-scrolled) :where(#mr-back-to-top,.mr-btt,button.mr-btt,a.mr-btt){
  opacity:0!important; transform:translateY(8px)!important; pointer-events:none!important;
}
:where(html).mr-scrolled :where(#mr-back-to-top,.mr-btt,button.mr-btt,a.mr-btt){
  opacity:1!important; transform:translateY(0)!important; pointer-events:auto!important;
}

/* ---------- Estabilidade de scroll ---------- */
html{ scrollbar-gutter:stable both-edges; }

/* ======================================================
   GLOBAL v4.4 — Variáveis
   ====================================================== */
:root{
  /* Header */
  --header-h:100px; --header-pad-x:32px; --logo-zoom:.85;
  --menu-gap:24px; --menu-font-size:17px; --menu-item-pad-y:12px;
  --header-shadow:0 2px 12px rgba(0,0,0,.06);

  /* Cores marca */
  --mr-blue-deep:#0E2333; --mr-teal:#007C89; --mr-teal-hover:#005C66;
  --mr-yellow:#FFD166; --mr-bg-soft:#F7FBFC; --mr-text-subtle:#44525B;

  /* CTA */
  --mr-color-primary:var(--mr-teal);
  --mr-color-primary-hover:var(--mr-teal-hover);
  --mr-text-on-primary:#FFFFFF;

  /* Tipografia / layout base */
  --mr-font-base:16px; --mr-line:1.6; --mr-wrap-max:1200px; --mr-wrap-pad:4vw;
  --mr-sec-gap:56px; --mr-sec-gap-tight:40px; --mr-sec-gap-loose:80px;

  /* Tokens UI */
  --mr-radius:16px; --mr-shadow:0 12px 30px rgba(0,0,0,.08);

  /* Botões globais */
  --mr-btn-h:44px; --mr-btn-pad-x:18px; --mr-btn-radius:999px;

  /* Back-to-Top */
  --btt-size:48px; --btt-right:20px; --btt-bottom:20px;
  --btt-bottom-mobile:96px; --btt-shadow:0 6px 18px rgba(0,0,0,.18);
  --btt-bg:#007C89; --btt-bg-hover:#005C66; --btt-color:#FFFFFF; --btt-z:2147483000;

  /* Auth links desktop (offsets finos) */
  --auth-offset-x:-8px; /* + direita / - esquerda */
  --auth-offset-y:10px; /* distância ao fundo do header */
}

/* ======================================================
   Base tipográfica
   ====================================================== */
html{ font-size:var(--mr-font-base); }
body{
  color:#334149; line-height:var(--mr-line); background:#FFFFFF;
  text-rendering:optimizeLegibility; -webkit-font-smoothing:antialiased;
}

/* ======================================================
   Header (desktop intocável)
   ====================================================== */
.header-mindrise{
  position:relative; z-index:9999;
  display:flex; align-items:center; justify-content:space-between; gap:12px;
  height:var(--header-h); min-height:var(--header-h);
  width:100%; box-sizing:border-box; padding:0 var(--header-pad-x);
  background:#FFFFFF; box-shadow:var(--header-shadow);
}
.header-mindrise .col-logo{
  flex:0 1 32%; min-width:160px; max-width:380px; display:flex; align-items:center;
}
.header-mindrise .col-menu{
  flex:1 1 68%; min-width:0; display:flex; align-items:center; justify-content:flex-end;
  padding-right:8px; position:relative; margin-left:-40px; margin-top:-20px; transform:translate(0,0);
}

/* Logo */
.header-mindrise .col-logo .elementor-widget-image img{
  display:block; height:var(--header-h); width:auto; max-height:100%;
  transform:scale(var(--logo-zoom)); transform-origin:center;
}

/* Menu desktop (UAEL/HFE) */
.menu-pc .uae-nav-menu,
.header-mindrise .col-menu .hfe-nav-menu{
  display:flex!important; align-items:center!important; justify-content:flex-end;
  gap:var(--menu-gap); height:100%;
}
.menu-pc .uae-nav-menu > li,
.header-mindrise .col-menu .hfe-nav-menu > li{
  margin:0!important; display:flex; align-items:center; height:100%;
}
.menu-pc .uae-nav-menu > li > a,
.header-mindrise .col-menu .hfe-nav-menu > li > a.hfe-menu-item{
  font-family:"Playfair Display",serif; font-weight:600; font-size:var(--menu-font-size);
  color:#2E2E2E; text-decoration:none; transition:color .2s ease;
  display:flex; align-items:center; line-height:1.2; padding:var(--menu-item-pad-y) 8px; white-space:nowrap;
}
.menu-pc .uae-nav-menu > li > a:hover,
.header-mindrise .col-menu .hfe-nav-menu > li > a.hfe-menu-item:hover{
  color:var(--mr-color-primary);
}
.menu-pc .uae-nav-menu > li.current-menu-item > a{
  color:var(--mr-color-primary); font-weight:700;
}

/* CTA header */
.header-mindrise .col-menu .mr-cta, .uae-nav-menu__button{ margin-left:12px; }
.header-mindrise .col-menu .mr-cta a, .uae-nav-menu__button a{
  display:inline-flex; align-items:center; justify-content:center;
  padding:10px 18px; border-radius:8px; background:var(--mr-color-primary); color:var(--mr-text-on-primary);
  font-weight:700; text-decoration:none; transition:background .2s ease, transform .12s ease;
}
.header-mindrise .col-menu .mr-cta a:hover, .uae-nav-menu__button a:hover{
  background:var(--mr-color-primary-hover); color:var(--mr-text-on-primary); transform:translateY(-1px);
}

/* Guards gerais */
.elementor-section,.elementor-container,.e-con{ overflow:visible; }
.site-footer,footer{ background:#FFFFFF; color:#2E2E2E; }
html,body{ overflow-x:clip; }

/* ======================================================
   Botões globais MR
   ====================================================== */
.btn-mr.elementor-button,
a.btn-mr.elementor-button-link,
.btn-outline-mr.elementor-button,
a.btn-outline-mr.elementor-button-link{
  display:inline-flex; align-items:center; justify-content:center;
  font-family:'Lato',sans-serif!important; font-weight:600!important; font-size:16px!important; line-height:1.4!important;
  border-radius:22px!important; padding:10px 24px!important; text-decoration:none!important; transition:all .3s ease; width:auto!important;
}
.btn-mr.elementor-button, a.btn-mr.elementor-button-link{
  color:#FFF!important; background:var(--mr-teal)!important; border:none!important;
}
.btn-mr.elementor-button:hover, a.btn-mr.elementor-button-link:hover{
  background:var(--mr-teal-hover)!important;
}
.btn-outline-mr.elementor-button, a.btn-outline-mr.elementor-button-link{
  background:transparent!important; color:var(--mr-teal)!important; border:2px solid var(--mr-teal)!important;
}
.btn-outline-mr.elementor-button:hover, a.btn-outline-mr.elementor-button-link:hover{
  background:var(--mr-teal-hover)!important; color:#FFF!important; border-color:var(--mr-teal-hover)!important;
}

/* ======================================================
   Back-to-Top (consolidado + lift)
   ====================================================== */
#mr-back-to-top.mr-btt{
  position:fixed; inset:auto var(--btt-right) calc(var(--btt-bottom) + 88px) auto;
  width:var(--btt-size); height:var(--btt-size); display:grid; place-items:center;
  border-radius:999px; background:var(--btt-bg); color:var(--btt-color); box-shadow:var(--btt-shadow);
  border:none; cursor:pointer; z-index:var(--btt-z); opacity:0; transform:translateY(8px);
  pointer-events:none; transition:opacity .25s ease, transform .25s ease, background-color .2s ease;
  -webkit-tap-highlight-color:transparent;
}
#mr-back-to-top.mr-btt:hover{ background:var(--btt-bg-hover); }
#mr-back-to-top.mr-btt:active{ transform:translateY(10px) scale(.98); }
#mr-back-to-top.mr-btt:focus{ outline:none; }
#mr-back-to-top.mr-btt:focus-visible{ box-shadow:0 0 0 3px rgba(0,124,137,.25), var(--btt-shadow); }
#mr-back-to-top.mr-btt.is-visible{ opacity:1; transform:translateY(0); pointer-events:auto; }
#mr-back-to-top.mr-btt svg{ width:50%; height:50%; }
@media (max-width:480px){ #mr-back-to-top.mr-btt{ inset:auto var(--btt-right) 132px auto; } }
@media (prefers-reduced-motion:reduce){ #mr-back-to-top.mr-btt{ transition:none; } }
html body #mr-back-to-top.mr-btt{ display:grid; }

/* ======================================================
   H1 / H2 globais
   ====================================================== */
:root{ --mr-h2-color:#0BB191; }
body h1,.elementor-widget-heading h1.elementor-heading-title{
  font-weight:700; font-family:inherit; color:inherit;
}
body h2,.elementor-widget-heading h2.elementor-heading-title{
  font-family:"Playfair Display",serif; font-weight:700; color:var(--mr-h2-color);
}

/* ======================================================
   “Sobre a MindRise” — anel
   ====================================================== */
.about-ring-left{ position:relative; isolation:isolate; }
.about-ring-left::before{
  content:""; position:absolute; top:55%; left:-10%; transform:translateY(-50%);
  width:320px; height:320px; background:url("https://mindrise.pt/wp-content/uploads/2025/09/mindrise-ring-linear-FAITHFUL-1.svg") no-repeat center/contain;
  z-index:-1; opacity:.85; pointer-events:none;
}
@media (max-width:1024px){
  .about-ring-left::before{ width:400px; height:400px; left:-45%; opacity:.7; }
}
@media (max-width:767px){
  .about-ring-left::before{ width:280px; height:280px; left:-50%; top:40%; opacity:.6; }
}

/* ======================================================
   Riscas amarelas nos títulos de cartões
   ====================================================== */
.cards-riscas-mr .elementor-widget-heading .elementor-heading-title{
  position:relative; display:inline-block; padding-bottom:10px;
}
.cards-riscas-mr .elementor-widget-heading .elementor-heading-title::after{
  content:""; position:absolute; left:0; bottom:0; width:56px; height:4px; background:#FFD84D; border-radius:2px; pointer-events:none;
}

/* ======================================================
   /marcar-consulta — layout + compactação
   ====================================================== */
.mr-amelia{
  display:flex; align-items:flex-start;
  --mr-am-card-radius:14px; --mr-am-card-px:18px; --mr-am-card-py:16px; --mr-am-gap:12px; --mr-am-shadow:0 8px 24px rgba(0,0,0,.05);
  --mr-am-btn-h:44px; --mr-am-btn-r:12px; --mr-am-btn-px:18px;
  --mr-am-color-primary:#007C89; --mr-am-color-primary-hover:#005C66; --mr-am-color-title:#0BB191;
}
.mr-amelia > *{ margin-top:0!important; padding-top:0!important; }
@media (min-width:1025px){
  .mr-amelia > :first-child{ flex:0 0 38%; max-width:38%; }
  .mr-amelia > :nth-child(2){ flex:0 0 62%; max-width:62%; }
}
@media (max-width:1024px){
  .mr-amelia > :first-child, .mr-amelia > :nth-child(2){ flex:0 0 100%; max-width:100%; }
}
.mr-amelia-intro h2{
  font-size:clamp(26px,2.4vw,34px)!important; line-height:1.15!important; margin:0 0 14px!important; color:#0BB191!important; font-weight:700!important; letter-spacing:-.2px;
}
@media (min-width:1025px){ .mr-amelia-intro h2{ white-space:nowrap; } }
.mr-amelia-intro p{ font-size:16px; line-height:1.5; margin:0 0 18px; color:#333; }

@media (min-width:1025px){
  .mr-amelia > :first-child{ position:relative; top:14px; }
  .mr-amelia > :nth-child(2){ transform:scale(.94); transform-origin:top left; }
}
.mr-amelia [class*="am-"][class*="card"], .mr-amelia [class*="am-"] .am-card,
.mr-amelia .am-step-booking, .mr-amelia .am-body, .mr-amelia .am-body-card,
.mr-amelia .am-select-service, .mr-amelia .am-service-booking, .mr-amelia .am-category-card,
.mr-amelia .am-services-list, .mr-amelia .am-date-picker, .mr-amelia .am-appointment{
  border-radius:var(--mr-am-card-radius)!important; box-shadow:var(--mr-am-shadow)!important; padding:var(--mr-am-card-py) var(--mr-am-card-px)!important;
}
.mr-amelia [class*="am-"][class*="container"], .mr-amelia .am-body > *{ margin:0!important; }
.mr-amelia [class*="am-"] [class*="__inner"], .mr-amelia .am-body, .mr-amelia .am-step-booking [class*="am-"]{
  gap:var(--mr-am-gap)!important;
}
.mr-amelia h2, .mr-amelia .am-title, .mr-amelia [class*="am-"] h2{
  color:var(--mr-am-color-title)!important; line-height:1.2!important; margin:0 0 8px!important; letter-spacing:-.2px;
}
.mr-amelia .am-services-list [class*="card"], .mr-amelia .am-categories [class*="card"]{
  padding:14px!important; border-radius:calc(var(--mr-am-card-radius) - 2px)!important; box-shadow:0 6px 16px rgba(0,0,0,.05)!important;
}
.mr-amelia [class*="am-service"] img, .mr-amelia [class*="am-category"] img{ max-height:40px!important; }
.mr-amelia .am-date-picker, .mr-amelia [class*="am-date"]{
  padding:10px 12px!important; border-radius:var(--mr-am-card-radius)!important; box-shadow:0 6px 18px rgba(0,0,0,.05)!important;
}
.mr-amelia .am-time-slot, .mr-amelia [class*="am-"] .am-btn-time, .mr-amelia [class*="am-"] .am-slot, .mr-amelia [class*="am-"] .am-day{
  min-height:36px!important; padding:6px 10px!important; border-radius:10px!important;
}
.mr-amelia button, .mr-amelia [class*="am-"] button, .mr-amelia [class*="am-"] .am-button{
  height:var(--mr-am-btn-h)!important; padding:0 var(--mr-am-btn-px)!important; border-radius:var(--mr-am-btn-r)!important;
  background:var(--mr-am-color-primary)!important; color:#FFF!important; border:none!important;
  box-shadow:0 6px 14px rgba(0,124,137,.22)!important; transition:transform .06s ease, background .2s ease;
}
.mr-amelia button:hover, .mr-amelia [class*="am-"] button:hover, .mr-amelia [class*="am-"] .am-button:hover{
  background:var(--mr-am-color-primary-hover)!important; transform:translateY(-1px);
}
.mr-amelia [class*="am-"] .am-button--secondary, .mr-amelia [class*="am-"] .am-btn-secondary{
  background:#F3F7F6!important; color:#2D2D2D!important; box-shadow:none!important;
}
.mr-amelia input, .mr-amelia select, .mr-amelia textarea{
  height:40px!important; padding:8px 10px!important; border-radius:10px!important;
}
.mr-amelia textarea{ height:auto!important; min-height:92px!important; }
.mr-amelia .am-step-booking{
  padding:var(--mr-am-card-py) var(--mr-am-card-px)!important; box-shadow:var(--mr-am-shadow)!important;
}
@media (max-width:1024px){
  .mr-amelia{
    --mr-am-card-px:16px; --mr-am-card-py:14px; --mr-am-gap:10px; --mr-am-btn-h:42px; --mr-am-btn-r:10px;
  }
  .mr-amelia > :first-child{ top:0; } .mr-amelia > :nth-child(2){ transform:none; }
}

/* Guard-rails */
.header-mindrise,.header-mindrise *,.mr-hero-right,.mr-hero-right *{}

/* ======================================================
   BACKUP BASELINE — Páginas do menu (hero)
   ====================================================== */
.mr-page-hero{ position:relative; margin-top:40px; display:flex; align-items:center; justify-content:space-between; }
.mr-page-left{ margin-right:375px; }
h2.mr-page-title{ position:relative; display:inline-block; margin:0 0 18px 0; line-height:var(--mr-h2-line-height,1.2); color:var(--mr-h2-color,#0BB191); }
h2.mr-page-title::after{ content:""; position:absolute; left:0; bottom:-8px; width:44px; height:4px; background:var(--mr-yellow,#FFD166); border-radius:2px; }
.mr-page-right{ display:flex; justify-content:flex-end; align-items:center; margin:-60px 40px 30px -100px; }
.mr-page-right img,.mr-page-right svg{ width:120%; height:auto; display:block; }
.mr-page-hero{ overflow:visible!important; }
.mr-page-hero img.mr-corner-ring{ display:block!important; position:absolute!important; top:0; right:-220px; width:440px; height:auto; z-index:999; }

/* ======================================================
   Home — “Como te podemos ajudar”
   ====================================================== */
.home-help{ background:var(--mr-bg-soft); }
.home-help .help-row{ display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:24px; }
@media (max-width:1024px){ .home-help .help-row{ grid-template-columns:repeat(2,1fr); } }
@media (max-width:767px){ .home-help .help-row{ grid-template-columns:1fr; } }
.home-help .card-mr{
  display:flex; flex-direction:column; justify-content:flex-start;
  min-height:240px; padding:24px; background:#FFF; border-radius:16px; box-shadow:0 3px 14px rgba(0,0,0,.06); gap:14px;
}
.home-help .card-mr h3{
  font-family:"Lato",sans-serif; font-weight:600; font-size:18px; line-height:1.3; color:var(--mr-blue-deep); margin:0 0 10px;
}
.home-help .card-mr h3:hover{ color:var(--mr-teal); }
.home-help .card-mr p{
  font-family:"Lato",sans-serif; font-size:16px; line-height:1.5; color:#555; margin:0;
}

/* ======================================================
   Chat (AIP) — polimento
   ====================================================== */
.aipkit-launcher{ z-index:99990!important; }
html body :where(.aipkit_chat_container).aipkit_popup_content{
  z-index:99991!important; right:24px!important; bottom:110px!important;
  width:380px!important; max-width:calc(100vw - 40px)!important; max-height:min(70vh,720px)!important;
  border-radius:16px!important; overflow:hidden!important; box-shadow:0 20px 60px rgba(0,0,0,.25)!important;
}
@media (max-width:480px){
  html body :where(.aipkit_chat_container).aipkit_popup_content{
    right:8px!important; left:8px!important; bottom:96px!important; width:auto!important; max-height:72vh!important;
  }
}
.aipkit_inline_chat,.aipkit-inline-chat,.aipkit_chatbar,.aipkit-chatbar,.aipkit_quick_replies_bar,.aipkit-quick-replies-bar{ display:none!important; }
.aipkit_chat_container .aipkit_messages,[class*="messages"]{ padding-top:14px!important; padding-bottom:12px!important; }
.aipkit_chat_container .aipkit_input_wrapper,[class*="input-wrapper"]{ min-height:58px!important; }
.aipkit_chat_container button[aria-label*="voice" i],.aipkit_chat_container button[aria-label*="micro" i],
.aipkit_chat_container button[aria-label*="web" i],.aipkit_chat_container button[aria-label*="search" i],
.aipkit_chat_container .aipkit_action_mic,.aipkit_chat_container .aipkit_action_search{ display:none!important; }
html body :where(.aipkit_chat_container).aipkit_popup_content{ opacity:0; transform:translateY(8px); transition:opacity .25s ease, transform .25s ease; }
html body .aipkit_chat_container.aipkit_popup_content.is-ready{ opacity:1; transform:translateY(0); }

/* ======================================================
   Responsivos gerais (sem mexer no desktop do header)
   ====================================================== */
@media (min-width:1920px){
  :root{ --mr-wrap-max:1240px; --mr-font-base:17px; }
}
@media (max-width:1600px){
  :root{ --mr-wrap-max:1180px; }
}
@media (max-width:1440px){
  :root{ --mr-wrap-max:1160px; }
}
@media (max-width:1366px){
  :root{ --mr-wrap-max:1120px; --mr-sec-gap:56px; }
}
@media (max-width:1280px){
  :root{ --mr-wrap-pad:5vw; }
}
@media (max-width:1024px){
  :root{
    --header-h:84px; --header-pad-x:24px; --menu-gap:18px; --menu-font-size:16px; --menu-item-pad-y:10px; --logo-zoom:.9; --mr-sec-gap:48px;
  }
  .header-mindrise .col-logo{ flex-basis:36%; }
  .header-mindrise .col-menu{ flex-basis:64%; }
}
@media (max-width:834px){
  :root{ --mr-wrap-pad:6vw; --mr-sec-gap:44px; }
}
@media (max-width:768px){
  :root{
    --header-h:68px; --header-pad-x:16px; --menu-gap:14px; --menu-font-size:15px; --menu-item-pad-y:8px; --logo-zoom:1;
  }
}
@media (max-width:480px){
  :root{ --mr-font-base:15px; --mr-sec-gap:40px; }
}


/* MindRise — Auth Links · Visibility v1.0 (desktop only) */
@media (min-width:1025px){
  #auth-links-header{
    transition: opacity .15s linear, visibility .15s linear;
  }
  #auth-links-header.is-hidden{
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
  }
}


/*********************************************************
 * MindRise — Especialidades · Mobile Ring-Safe v1.0 (SAFE)
 * Escopo: SÓ página Especialidades e SÓ mobile (≤480px)
 * Guard-rails: não toca em header/HERO/blob/rings/botões/home-stats/Amelia
 **********************************************************/
@media (max-width: 480px){
  /* 1) Dá espaço à direita para não colidir com o ring */
  body.page-especialidades .mr-page-hero .mr-page-left{
    padding-right: 96px;     /* ajusta para 88–112px se precisares */
  }
  /* 2) Pequeno respiro no topo do título */
  body.page-especialidades .mr-page-hero .mr-page-left h2{
    margin-top: 8px;         /* mantém a barra amarela intacta */
  }
}


/* MindRise — Body Copy Global v1.0 (SAFE)
   Igual ao corpo dos cards. Não afeta títulos (H1–H6). */
:where(.elementor-widget-text-editor) :is(p, li, dd, dt, figcaption, small){
  color:#0E2333;           /* navy MR, igual aos cards */
  line-height:1.6;
  font-weight:400;
}

/* Responsivo como nos cards */
@media (min-width:1025px){
  :where(.elementor-widget-text-editor) :is(p, li, dd, dt, figcaption, small){
    font-size:17px;
  }
}
@media (max-width:1024px){
  :where(.elementor-widget-text-editor) :is(p, li, dd, dt, figcaption, small){
    font-size:16px;
  }
}
@media (max-width:480px){
  :where(.elementor-widget-text-editor) :is(p, li, dd, dt, figcaption, small){
    font-size:17px !important;
  }
}


/* MindRise — Áreas · Gap Mobile v1.1 (tight) */
@media (max-width:480px){
  /* Container das áreas (logo a seguir ao hero) */
  .elementor-element-a426fd1{
    margin-top:-8px !important;   /* estava 0/6px; apertamos mais */
    padding-top:0 !important;
  }
  /* Bloco do parágrafo intro */
  .elementor-element-a426fd1 .areas-intro{
    margin-top:2px !important;
    margin-bottom:10px !important;
    padding:0 !important;
  }
}

/* === MindRise — Fix tipografia da intro (igual aos cards) === */
:where(.elementor-element-72d6d40) p{
  color:#0E2333 !important;
  line-height:1.6 !important;
  font-weight:400 !important;
}
@media (min-width:1025px){
  .elementor-element-72d6d40 p{ font-size:17px !important; }
}
@media (max-width:1024px){
  .elementor-element-72d6d40 p{ font-size:16px !important; }
}
@media (max-width:480px){
  .elementor-element-72d6d40 p{ font-size:17px !important; }
}

/* === MindRise — Gap mobile entre HERO e Áreas (FORCE, SAFE) === */
@media (max-width:480px){

  /* 1) HERO: remove folgas internas/externas sem mexer no layout */
  .elementor-element-c3a6d26{           /* .mr-page-hero */
    margin-bottom:0 !important;
    padding-bottom:0 !important;
  }
  .elementor-element-8e1cde1{           /* .mr-page-left (título + barra) */
    margin-bottom:0 !important;
    padding-bottom:0 !important;
  }
  .elementor-element-5373f60{           /* divisória amarela */
    margin-bottom:6px !important;       /* mantém só um respiro mínimo */
  }

  /* 2) Áreas (primeira secção após o HERO): sobe mais um pouco */
  .elementor-element-c3a6d26 + .elementor-element-a426fd1,  /* irmão direto */
  .elementor-element-a426fd1{             /* .mr-areas */
    margin-top:-12px !important;          /* ajusta o “salto” */
    padding-top:0 !important;
  }
  .elementor-element-a426fd1 .e-con-inner{
    padding-top:0 !important;
  }
}


/* MindRise — Ocultar resumos laterais nos artigos em mobile */
@media (max-width: 768px) {
  .mr-article-wrap .cover-caption {
    display: none !important;
  }
}


/*********************************************************
 MindRise — IA Power · Popup Height Fix v1.1
 - Corrige corte de texto inicial no popup (PC + Tablet)
**********************************************************/
@media (min-width: 768px) {
  #aipkit_popup_wrapper_3847 .aipkit_popup {
    min-height: 480px !important; /* altura original ~420px → +60px */
    max-height: 480px !important;
  }
}

/*********************************************************
 MindRise — IA Power · Popup Height Fix v1.2
 - Corrige o corte do texto inicial no popup (PC + Tablet)
**********************************************************/
@media (min-width: 768px) {
  #aipkit_popup_wrapper_3847 .aipkit_popup {
    min-height: 480px !important; /* +60px vs padrão (~420px) */
    max-height: 480px !important;
  }
}


/* MindRise — User Area · Cartão Unificado v1.0 (SCOPED) */
/* Scope estrito à página */
#area-do-utilizador .mr-user-left {
  /* 1 camada visual de cartão */
  background: #fff;
  border-radius: 14px;
  box-shadow: 0 8px 24px rgba(0,0,0,.08);
  padding: 24px;
  /* garantir que wrappers internos não quebram layout */
  display: block;
}

#area-do-utilizador .mr-user-left > * {
  margin: 0; /* reset básico */
}

/* Título alinhado ao baseline profissional */
#area-do-utilizador .mr-user-left .mr-user-title {
  margin-top: 0;
  margin-bottom: 12px;
  line-height: 1.2;
}

/* Subtítulo/intro opcional */
#area-do-utilizador .mr-user-left .mr-user-intro {
  margin-bottom: 16px;
}

/* Esconder “Ajuda e Perguntas Frequentes” */
#area-do-utilizador .mr-user-left .mr-user-faq,
#area-do-utilizador .mr-user-left a[href*="perguntas-frequentes"],
#area-do-utilizador .mr-user-left a[href*="faq"] {
  display: none !important;
}

/* Responsivo */
@media (max-width: 1024px) {
  #area-do-utilizador .mr-user-left {
    padding: 20px;
    border-radius: 12px;
  }
}

@media (max-width: 480px) {
  #area-do-utilizador .mr-user-left {
    padding: 16px;
    border-radius: 12px;
    box-shadow: 0 6px 18px rgba(0,0,0,.08);
  }
  #area-do-utilizador .mr-user-left .mr-user-title {
    font-size: clamp(20px, 5.5vw, 24px);
  }
}


/* MindRise — HELP · RESET CSS v1.0 */
#mr-help {
  position: relative;
  isolation: isolate;            /* cria novo stacking context só nesta secção */
  overflow: visible;
}
#mr-help *, #mr-help *::before, #mr-help *::after {
  box-sizing: border-box;
}
#mr-help [hidden], 
#mr-help .is-hidden { 
  display: none !important; 
}

/* Neutralizar z-index herdados dentro da secção */
#mr-help [style*="z-index"], 
#mr-help [data-z] {
  z-index: auto !important;
}

/* A11Y baseline local */
#mr-help [tabindex="-1"] { outline: none; }

/* Nunca bloquear o scroll global por causa desta secção */
html.mr-lock, body.mr-lock,
html.modal-open, body.modal-open,
html.drawer-open, body.drawer-open {
  overflow: auto !important;
}


/* MindRise — HELP · Crossfade Banner · CSS */
#mr-help { position: relative; isolation: isolate; }
#mr-help .mrfade-wrap{
  position:relative; width:100%; max-width:1600px; margin:0 auto;
  overflow:hidden; border-radius:18px; box-shadow:0 12px 28px rgba(0,0,0,.18);
  aspect-ratio:21/9; min-height:320px;
}
@media (max-width:768px){
  #mr-help .mrfade-wrap{ aspect-ratio:16/9; min-height:220px; border-radius:12px; }
}
#mr-help .mrfade-stage{ position:absolute; inset:0; }
#mr-help .mrfade-slide{
  position:absolute; inset:0; opacity:0; transition:opacity 1.2s ease;
  background:#e9eef1 center/cover no-repeat; will-change:opacity;
}
#mr-help .mrfade-slide.is-active{ opacity:1; }
#mr-help .mrfade-slide img{ position:absolute; width:1px; height:1px; opacity:0; pointer-events:none; }




/***** MindRise — Homepage · FIX alinhamento final v1.0 *****/

/* RESET só no container da última secção (data-id bb63b6b) */
body.home :where(.elementor-50) 
:where(.elementor-element-bb63b6b) > .e-con-inner{
  display:block !important;              /* deixa de ser grid */
  place-items:initial !important;         /* limpa centragem do grid */
  align-content:normal !important;
  align-items:normal !important;
  justify-content:normal !important;
  width:100% !important;
  height:auto !important;
  margin:0 auto;                          /* garante centragem do bloco */
  padding:0;                              
}

/* Conteúdo textual dessa secção: alinhamento à esquerda e topo */
.home-cta-final .elementor-widget-wrap,
.home-cta-final .elementor-widget-container{
  text-align:left !important;
}

/* Garante que o botão não “salta” verticalmente */
.home-cta-final .elementor-button{
  line-height:1 !important;
}

/***** MR — FIX centragem última secção (data-id eef58d4) *****/
body.home :where(.elementor-50)
:where(.elementor-element-eef58d4) > .e-con-inner{
  display:block !important;          /* deixa de ser grid */
  place-items:initial !important;     /* remove centragem do grid */
  align-content:normal !important;
  align-items:normal !important;
  justify-content:normal !important;
  width:100% !important;
  height:auto !important;
  margin:0 auto;
  padding:0;
}


/* ---------------------------------------------
   HOTFIX — MindRise homepage (HERO + secção final)
   v1.2 | 2025-11-11 | corrige gap do hero e centragem da secção final
----------------------------------------------*/

/* 1) HERO — eliminar gap em 1920 e tablet */


/* 2) SECÇÃO FINAL — "Respira. Sente. Cuida de ti." centrada */
body.home :where(.elementor-50) :where(.elementor-element-bb63b6b).home-cta-final > .e-con-inner {
  display: grid !important;
  place-items: center !important;
  text-align: center !important;
  width: 100% !important;
}

body.home :where(.elementor-50) :where(.elementor-element-bb63b6b).home-cta-final {
  margin-inline: auto !important;
  width: 100% !important;
}

/* Ajuste de espaçamento entre secção final e footer */
body.home .home-cta-final {
  padding-block: 80px 60px !important;
}

@media (max-width: 1024px) {
  body.home .home-cta-final {
    padding-block: 60px 50px !important;
  }
}


/* MindRise — HERO · HOTFIX layout container 5b927f7 v1.0 */

/* DESKTOP + TABLET (≥768px) 
   — manter SEMPRE 2 colunas: texto à esquerda, blob à direita
   — centrar verticalmente o conteúdo
*/
@media (min-width: 768px) {
  /* Garantir que o container do HERO está em modo flex horizontal */
  #elementor-element-5b927f7 {
    display: flex !important;
  }

  #elementor-element-5b927f7 > .e-con-inner {
    display: flex !important;
    flex-direction: row !important;
    flex-wrap: nowrap !important;
    align-items: center !important;
    justify-content: space-between !important;
    /* largura controlada para evitar "saltos" em ecrãs muito largos */
    max-width: 1440px;
    margin-left: auto;
    margin-right: auto;
  }

  /* As duas colunas internas (texto + blob) ficam lado a lado */
  #elementor-element-5b927f7 > .e-con-inner > .e-con {
    flex: 0 0 50% !important;
    max-width: 50% !important;
  }

  /* Coluna da direita (onde está o blob) — centrar o conteúdo */
  #elementor-element-5b927f7 > .e-con-inner > .e-con:last-child {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
  }
}

/* AJUSTE PARA ECRÃS MUITO LARGOS (≥1600px)
   — estabilizar o HERO para não encolher nem saltar para a esquerda
*/
@media (min-width: 1600px) {
  #elementor-element-5b927f7 > .e-con-inner {
    max-width: 1440px;
    margin-left: auto;
    margin-right: auto;
  }
}

/* MOBILE (<768px)
   — não tocamos no comportamento atual: blob continua escondido.
   — se já tens CSS que o oculta, este bloco NÃO altera nada.
*/


/* =====================================================
   MindRise — HERO · Blob Fix FINAL ≥1600px
   Tamanho equilibrado + centrado na coluna
   Estado consistente com v11.6
   ===================================================== */

@media (min-width: 1600px) {

  /* 1) Manter a coluna direita sempre centrada */
  .mr-hero-right,
  #elementor-element-5b927f7 > .e-con-inner > .e-con:last-child {
    flex: 0 0 50% !important;
    max-width: 50% !important;

    display: flex !important;
    align-items: center !important;
    justify-content: center !important; /* CENTRA O BLOB */
  }

  /* 2) Tamanho ideal do blob para 1600–1920 */
  .mr-hero-rotator {
    width: 560px !important;
    height: 560px !important;
    max-width: 560px !important;
    max-height: 560px !important;
  }

  .mr-hero-rotator img {
    width: 560px !important;
    height: 560px !important;
    object-fit: cover !important;
    border-radius: 999px !important;
  }

  /* 3) Limite do content wrapper — impede que empurre o blob para a esquerda */
  #elementor-element-5b927f7 > .e-con-inner {
    max-width: 1500px !important; /* aumenta 1440 → 1500 para respirar */
    margin-left: auto !important;
    margin-right: auto !important;
  }
}


/***** MindRise — Visual Band mr-vb4 · v3.0 *****/

/* Base da faixa (PC) */
#mr-vb4{
  --vb4-h-desktop: 520px;
  --vb4-h-tablet:  440px;
  --vb4-h-mobile:  360px;

  position: relative;
  width: 100%;
  min-height: var(--vb4-h-desktop);
  border-radius: 24px 24px 0 0;
  overflow: hidden;
}

/* Alturas responsivas */
@media (max-width:1024px){
  #mr-vb4{ min-height: var(--vb4-h-tablet); }
}
@media (max-width:480px){
  #mr-vb4{ min-height: var(--vb4-h-mobile); }
}

/* Segurança: sem overlays antigos */
#mr-vb4::before,
#mr-vb4::after{
  content: none !important;
  background: none !important;
}

/* Slides base + crossfade */
#mr-vb4 .mr-vb4-slide{
  position: absolute;
  inset: 0;
  opacity: 0;
  transition: opacity 1s ease;
  z-index: 1;
}
#mr-vb4 .mr-vb4-slide.mr-vb4-active{
  opacity: 1;
}

/* Imagem de fundo via <picture> */
#mr-vb4 .mr-vb4-bg{
  position: absolute;
  inset: 0;
  z-index: 1;
  overflow: hidden;
}
#mr-vb4 .mr-vb4-bg picture{
  position: absolute;
  inset: 0;
  display: block;
}
#mr-vb4 .mr-vb4-bg img{
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

/* Conteúdo textual — desktop / tablet (como tinhas) */
#mr-vb4 .mr-vb4-content{
  position: absolute;
  left: 7%;
  top: 50%;
  transform: translateY(-50%);
  width: 40%;
  color: #FFFFFF;
  text-shadow: 0 0 14px rgba(0,0,0,.35);
  z-index: 2;

  display: flex;
  flex-direction: column;
}

/* Tipografia base */
#mr-vb4 .mr-vb4-kicker{
  font-size: 15px;
  font-weight: 700;
  margin-bottom: 10px;
  color: #0BB191;
  letter-spacing: .08em;
}

#mr-vb4 .mr-vb4-title{
  font-size: 40px;
  font-weight: 700;
  line-height: 1.15;
  margin-bottom: 20px;
}

#mr-vb4 .mr-vb4-text{
  font-size: 18px;
  line-height: 1.45;
  margin-bottom: 64px;
}

/* CTA pill MR */
#mr-vb4 .mr-vb4-cta{
  display: inline-block;
  padding: 12px 32px;
  background: #007C89;
  color: #FFFFFF !important;
  border-radius: 50px;
  font-size: 16px;
  font-weight: 600;
  text-decoration: none !important;
  transition: background .2s ease;
  align-self: flex-start;
}
#mr-vb4 .mr-vb4-cta:hover{
  background: #005C66;
  color: #FFFFFF !important;
}

/* Tablet (sem mexer muito, só tipografia) */
@media (max-width:1024px){
  #mr-vb4 .mr-vb4-content{
    left: 7%;
    width: 60%;
    top: 50%;
    transform: translateY(-50%);
  }
  #mr-vb4 .mr-vb4-title{
    font-size: 32px;
  }
  #mr-vb4 .mr-vb4-text{
    font-size: 16px;
    margin-bottom: 56px;
  }
}

/* Mobile — imagens próprias + texto em cima + CTA no canto inferior esquerdo */
@media (max-width:480px){

  /* Conteúdo ocupa o cartão inteiro, com flex entre texto e CTA */
  #mr-vb4 .mr-vb4-content{
    position: absolute !important;
    top: 16px !important;
    left: 8% !important;
    right: 8% !important;
    bottom: 16px !important;
    width: auto !important;

    transform: none !important;
    text-shadow: 0 0 10px rgba(0,0,0,.45);
    margin: 0 !important;

    display: flex !important;
    flex-direction: column !important;
    justify-content: space-between !important;
    align-items: flex-start !important;
  }

  #mr-vb4 .mr-vb4-kicker{
    font-size: 13px;
    margin-bottom: 6px;
  }

  #mr-vb4 .mr-vb4-title{
    font-size: 24px;
    line-height: 1.25;
    margin-bottom: 10px;
  }

  #mr-vb4 .mr-vb4-text{
    font-size: 15px;
    line-height: 1.45;
    margin-bottom: 8px;
  }

  /* CTA fica em baixo à esquerda dentro do mesmo cartão */
  #mr-vb4 .mr-vb4-cta{
    position: static !important;
    padding: 10px 28px;
    font-size: 15px;
    margin-top: 12px;
  }
}

/***** MindRise — Visual Band mr-vb4 · v3.1 · Fix click *****/

/* Por omissão, nenhum slide apanha cliques */
#mr-vb4 .mr-vb4-slide{
  pointer-events: none;
}

/* Só o slide visível (ativo) é clicável */
#mr-vb4 .mr-vb4-slide.mr-vb4-active{
  pointer-events: auto;
}

#mr-vb4 .mr-vb4-cta{
  position: relative;
  z-index: 5;
}



/***** MindRise — formações · Hero mobile fix v1.0 *****/
/* Só afeta a página formações (post-3917) em mobile */

@media (max-width: 480px){
  main.post-3917 .mr-page-hero{
    /* tira o “centrado vertical” e encosta o título para cima */
    align-items: flex-start !important;

    /* assegura que a altura é natural, sem esticar o bloco */
    min-height: auto !important;

    /* menos “ar” em cima e em baixo */
    padding-top: 24px !important;
    padding-bottom: 32px !important;
  }
}


/*************************************************************
 *  MindRise — User Layout v2.1
 *  Painel esquerdo estreito + painel direito largo
 *  Totalmente responsivo (desktop, tablet, mobile)
 *************************************************************/

/* ===== LINHA PRINCIPAL (CONTÊM AS DUAS COLUNAS) ===== */
.mr-user-row {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-start;
  justify-content: center;

  max-width: 1200px;
  margin: 40px auto 80px auto;
  padding-inline: 16px;
  box-sizing: border-box;
  gap: 32px; /* espaço entre esquerda e direita */
}

/* Colunas base */
.mr-user-col-left,
.mr-user-col-right {
  box-sizing: border-box;
}

/* Esquerda: mais estreita */
.mr-user-col-left {
  flex: 0 0 42%;
  max-width: 480px;
}

/* Direita: ocupa o resto do espaço */
.mr-user-col-right {
  flex: 1 1 0;
  min-width: 360px;
}

/* ===== CARTÃO DE BOAS-VINDAS (HTML) ===== */
.mr-user-left {
  width: 100%;
  box-sizing: border-box;

  background: #F2FCFB;
  border-radius: 24px;
  padding: 32px 40px;
  box-shadow: 0 18px 40px rgba(4, 55, 75, 0.08);
}

/* Conteúdo interno alinhado e estreito */
.mr-user-left .mr-user-intro {
  max-width: 340px;
  margin: 0 auto;
  padding-inline: 4px;
}

/* Título */
.mr-user-left .mr-user-title {
  margin: 0 0 12px 0;
  font-size: clamp(1.05rem, 2vw, 1.2rem);
  line-height: 1.3;
  color: #0A3B47;
  white-space: nowrap;
}

/* Texto principal */
.mr-user-left p {
  margin: 0 0 16px 0;
  font-size: 0.92rem;
  line-height: 1.55;
  color: #334149;
}

/* Bloco "Ainda não tens registo?" */
.mr-user-left .mr-user-register {
  margin: 0 0 20px 0;
  font-size: 0.92rem;
}

/* Link dentro do texto */
.mr-user-left .mr-user-register a {
  color: #007C89;
  text-decoration: underline;
}

/* Lista inferior (ícone + link contacto) */
.mr-user-left ul {
  list-style: none;
  padding: 0;
  margin: 0;
}

.mr-user-left ul li {
  display: flex;
  align-items: center;
  gap: 8px;
  font-size: 0.9rem;
}

/* Ícone telefone */
.mr-user-left ul li svg {
  flex-shrink: 0;
}

/* Link "Falar connosco" */
.mr-user-contact-link {
  color: #0A3B47;
  text-decoration: none;
}

.mr-user-contact-link:hover,
.mr-user-contact-link:focus {
  color: #007C89;
  text-decoration: underline;
}

/* ===== RESPONSIVO – TABLET ===== */
@media (max-width: 1024px) {

  .mr-user-row {
    flex-direction: column;
    align-items: stretch;
    gap: 24px;
    margin: 32px auto 64px auto;
  }

  .mr-user-col-left,
  .mr-user-col-right {
    flex: 0 0 auto;
    max-width: 100%;
    min-width: 0;
  }

  .mr-user-left {
    padding: 24px 24px;
  }

  .mr-user-left .mr-user-intro {
    max-width: 100%;
  }

  .mr-user-left .mr-user-title {
    white-space: normal;
    text-align: left;
  }
}

/* ===== RESPONSIVO – MOBILE ===== */
@media (max-width: 480px) {

  .mr-user-row {
    margin: 24px auto 48px auto;
    padding-inline: 12px;
    gap: 20px;
  }

  .mr-user-left {
    padding: 20px 18px;
    border-radius: 18px;
    box-shadow: 0 12px 28px rgba(4, 55, 75, 0.07);
  }

  .mr-user-left .mr-user-title {
    font-size: 1.02rem;
  }

  .mr-user-left p,
  .mr-user-left .mr-user-register {
    font-size: 0.9rem;
  }
}


/*************************************************************
 * MindRise — Liderança (Founder Cards)
 * Cartões verticais centrados + modal CSS-only
 *************************************************************/

.mr-leadership {
  padding: 72px 16px 88px;
  background: #F7FBFC;
}

.mr-leadership-inner {
  max-width: 1200px;
  margin: 0 auto;
}

.mr-leadership-title {
  margin: 0 0 36px 0;
  font-family: "Playfair Display", serif;
  font-size: clamp(1.8rem, 2.6vw, 2.2rem);
  line-height: 1.2;
  color: #0BB191; /* regra MR para H2 */
  text-align: left;
}

.mr-leadership-grid {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 32px;
}

/* Cards */

.mr-lead-card {
  background: #FFFFFF;
  border-radius: 18px;
  border: 1px solid #E3EDF3;
  box-shadow: 0 12px 32px rgba(10, 59, 71, 0.06);
  padding: 22px 24px 26px;
  max-width: 420px;
  flex: 1 1 320px;
  display: flex;
  flex-direction: column;
}

.mr-lead-photo-wrap {
  margin: 0 0 18px 0;
}

.mr-lead-photo {
  display: block;
  width: 100%;
  height: auto;
  border-radius: 14px;
  object-fit: cover;
  aspect-ratio: 4 / 5;
}

/* Textos do card */

.mr-lead-name {
  margin: 0 0 4px 0;
  font-family: "Playfair Display", serif;
  font-size: 1.35rem;
  line-height: 1.25;
  color: #0A3B47;
}

.mr-lead-role {
  margin: 0 0 12px 0;
  font-family: "Lato", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  font-size: 0.86rem;
  letter-spacing: 0.09em;
  text-transform: uppercase;
  color: #007C89;
}

.mr-lead-summary {
  margin: 0 0 18px 0;
  font-family: "Lato", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  font-size: 0.98rem;
  line-height: 1.6;
  color: #334149;
}

/* Botão CTA */

.mr-lead-cta {
  align-self: flex-start;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 10px 20px;
  border-radius: 999px;
  font-family: "Lato", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  font-size: 0.95rem;
  font-weight: 600;
  text-decoration: none;
  background-color: #007C89;
  color: #FFFFFF;
  border: none;
  cursor: pointer;
  transition: background-color 0.2s ease, transform 0.15s ease;
}

.mr-lead-cta:hover,
.mr-lead-cta:focus {
  background-color: #005C66;
  transform: translateY(-1px);
}

/* ===== Modal (CSS-only via :target) ===== */

.mr-lead-modal {
  position: fixed;
  inset: 0;
  background: rgba(6, 25, 36, 0.72);
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 24px;
  opacity: 0;
  pointer-events: none;
  z-index: 999999;
  transition: opacity 0.18s ease;
}

.mr-lead-modal:target {
  opacity: 1;
  pointer-events: auto;
}

.mr-lead-modal-dialog {
  max-width: 720px;
  max-height: min(80vh, 720px);
  background: #FFFFFF;
  border-radius: 18px;
  padding: 26px 28px 24px;
  box-shadow: 0 24px 60px rgba(0, 0, 0, 0.35);
  overflow-y: auto;
  position: relative;
}

.mr-lead-modal-close {
  position: absolute;
  top: 10px;
  right: 14px;
  font-size: 1.6rem;
  line-height: 1;
  text-decoration: none;
  color: #334149;
}

.mr-lead-modal-close:hover,
.mr-lead-modal-close:focus {
  color: #007C89;
}

.mr-lead-modal-name {
  margin: 0 0 4px 0;
  font-family: "Playfair Display", serif;
  font-size: 1.6rem;
  color: #0A3B47;
}

.mr-lead-modal-role {
  margin: 0 0 16px 0;
  font-family: "Lato", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  font-size: 0.9rem;
  letter-spacing: 0.09em;
  text-transform: uppercase;
  color: #007C89;
}

.mr-lead-modal-body p {
  margin: 0 0 12px 0;
  font-family: "Lato", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  font-size: 0.98rem;
  line-height: 1.7;
  color: #334149;
}

/* ===== Responsivo ===== */

@media (max-width: 1024px) {
  .mr-leadership {
    padding-top: 60px;
    padding-bottom: 72px;
  }

  .mr-leadership-title {
    text-align: center;
  }
}

@media (max-width: 768px) {
  .mr-leadership-grid {
    flex-direction: column;
    align-items: stretch;
  }

  .mr-lead-card {
    max-width: 100%;
  }

  .mr-lead-modal-dialog {
    width: 100%;
    max-width: 600px;
    padding-inline: 20px;
  }
}

@media (max-width: 480px) {
  .mr-leadership {
    padding: 44px 14px 56px;
  }

  .mr-leadership-title {
    font-size: 1.6rem;
    text-align: left;
  }

  .mr-lead-modal-dialog {
    padding: 20px 16px 18px;
  }
}


/* ===== Ajustes finos mobile (MindRise — Liderança) ===== */

/* 1) Aumentar tamanho do texto dos resumos das bios no mobile */
@media (max-width: 480px) {
  .mr-lead-summary {
    font-size: 1.08rem;   /* antes ~0.98 → aumento moderado e legível */
    line-height: 1.62;
  }
}

/* 2) Reduzir o gap antes da secção “A liderança da MindRise” */
@media (max-width: 480px) {
  .mr-leadership {
    padding-top: 26px !important;   /* antes 44px → reduzido */
  }

  .mr-leadership-title {
    margin-top: 0; /* garante que não acrescenta margem extra */
  }
}


/*************************************************************
 * MindRise — Ajuste fino mobile (cartões liderança)
 *************************************************************/

@media (max-width: 480px) {

  /* 1) Texto dos resumos — maior e mais confortável */
  .mr-lead-summary {
    font-size: 1.12rem;    /* aumento final */
    line-height: 1.68;     /* leitura mais fluida */
    margin-bottom: 16px;   /* menos espaço antes do botão */
  }

  /* 2) Espaçamento entre parágrafos dentro dos resumos */
  .mr-lead-summary p {
    margin-bottom: 10px;
  }

  /* 3) Gap entre secção acima e o título “A liderança da MindRise” */
  .mr-leadership {
    padding-top: 18px !important;  /* antes 26px → agora mais compacto */
  }

  .mr-leadership-title {
    margin-top: 0 !important;
    margin-bottom: 28px;  /* ligeiro respiro após o título */
  }

  /* 4) Ajustar o botão CTA — mais perto do texto */
  .mr-lead-cta {
    margin-top: 0;
  }
}


/*************************************************************
 * MindRise — Ajustes finais mobile (Liderança)
 *************************************************************/

/* Modal acima do chat Tidio em todos os dispositivos */
.mr-lead-modal {
  z-index: 2147483647; /* máximo prático, acima do widget de chat */
}

/* Mobile fino */
@media (max-width: 480px) {

  /* 1) Aproximar ainda mais “A liderança da MindRise” do bloco anterior */
  .mr-leadership {
    padding-top: 10px !important;   /* antes 18px */
    padding-bottom: 40px;           /* encurta ligeiramente o final da secção */
  }

  .mr-leadership-title {
    margin-top: 0 !important;
    margin-bottom: 22px;            /* um pouco menos para ficar mais compacto */
  }

  /* 2) Reduzir espaço entre os dois cartões em mobile */
  .mr-leadership-grid {
    gap: 24px;                      /* antes 32px */
  }

  .mr-lead-card {
    padding-top: 18px;
    padding-bottom: 20px;
  }

  /* 3) Melhorar leitura no modal em mobile */
  .mr-lead-modal-dialog {
    max-height: 78vh;               /* um pouco mais baixo para fugir do chat */
    padding: 18px 16px 18px;
  }

  .mr-lead-modal-name {
    font-size: 1.4rem;
  }

  .mr-lead-modal-body p {
    font-size: 1.04rem;
    line-height: 1.7;
  }
}


/*************************************************************
 * MindRise — Fix modal above AIP widget (mobile + desktop)
 *************************************************************/

/* Forçar modal no topo absoluto, acima do AIP */
.mr-lead-modal {
  z-index: 2147483647 !important;  /* máximo absoluto, ultrapassa AIP */
}

/* Ajustes mobile */
@media (max-width: 480px) {

  /* Gap superior da secção liderança */
  .mr-leadership {
    padding-top: 10px !important;
  }

  .mr-leadership-title {
    margin-top: 0 !important;
    margin-bottom: 22px !important;
  }

  /* Espaço entre cartões */
  .mr-leadership-grid {
    gap: 24px !important;
  }

  /* Modal mais baixo para afastar do ícone AIP */
  .mr-lead-modal-dialog {
    max-height: 78vh !important;
    padding: 18px 16px 18px !important;
  }

  .mr-lead-modal-name {
    font-size: 1.4rem !important;
  }

  .mr-lead-modal-body p {
    font-size: 1.04rem !important;
    line-height: 1.7 !important;
  }
}


/*********************************************************
 * MindRise — Formações (página 3917)
 * Corrigir cor dos títulos de introdução
 *********************************************************/
.page-id-3917 .mr-page-hero h3,
.page-id-3917 .mr-page-hero .mr-sub {
  color: #0A3B47 !important;  /* Preto MR */
}


/***** MindRise — Formações · cores títulos hero v1.0 *****/
main.post-3917 .mr-page-hero h3,
main.post-3917 .mr-page-hero h4,
main.post-3917 .mr-page-hero .mr-sub {
  color: #0A3B47 !important;  /* preto MR */
}


/*******************************************************
 * MindRise — Área Profissional · 50/50 Layout v1.0
 * Containers lado-esquerdo (.mr-user-left)
 * e lado-direito (.mr-user-right)
 *******************************************************/

/* ===== DESKTOP (≥1025px) ===== */
@media (min-width: 1025px){

  /* Container pai que envolve ambos */
  .mr-user-wrap {
    display: flex;
    flex-direction: row;
    justify-content: space-between;
    align-items: flex-start;
    gap: 40px;
  }

  /* Esquerda */
  .mr-user-left {
    flex: 0 0 50%;
    max-width: 50%;
  }

  /* Direita */
  .mr-user-right {
    flex: 0 0 50%;
    max-width: 50%;
  }

}

/* ===== TABLET (768–1024px) ===== */
@media (min-width: 768px) and (max-width: 1024px){

  .mr-user-wrap {
    flex-direction: column;
    gap: 48px;
  }

  .mr-user-left,
  .mr-user-right {
    flex: 0 0 100%;
    max-width: 100%;
  }

}

/* ===== MOBILE (≤767px) ===== */
@media (max-width: 767px){

  .mr-user-wrap {
    flex-direction: column;
    gap: 40px;
  }

  .mr-user-left,
  .mr-user-right {
    flex: 0 0 100%;
    max-width: 100%;
  }

}


/**********************************************************
 * MindRise — Área Profissional (post-3724)
 * Layout 50/50 entre .mr-user-left e .mr-user-right
 * v1.1
 **********************************************************/

/* DESKTOP / LAPTOP (≥1025px) */
@media (min-width: 1025px){

  /* Container pai dos dois painéis */
  main.post-3724 .mr-user-wrap{
    display: flex;
    flex-direction: row;
    justify-content: space-between;
    align-items: flex-start;
    gap: 40px;
  }

  /* Esquerda e direita em 50/50 reais */
  main.post-3724 .mr-user-left,
  main.post-3724 .mr-user-right{
    flex: 0 0 50% !important;
    max-width: 50% !important;
  }

  /* Cartão da esquerda ocupa bem o espaço */
  main.post-3724 .mr-user-left .mr-pro-card{
    height: 100%;
  }
}

/* TABLET E MOBILE (≤1024px) → empilha 100% largura */
@media (max-width: 1024px){

  main.post-3724 .mr-user-wrap{
    display: flex;
    flex-direction: column;
    gap: 32px;
  }

  main.post-3724 .mr-user-left,
  main.post-3724 .mr-user-right{
    flex: 0 0 100% !important;
    max-width: 100% !important;
  }
}


/***** MindRise — Liderança · MODAL (clean) v3.0 *****/

/* Permite scroll interno no modal */
.mr-lead-modal-dialog {
  max-height: 90vh;
  overflow-y: auto;
  position: relative;
}

/* X no canto superior direito, sem hover estranho */
.mr-lead-modal-close {
  position: absolute;
  top: 16px;
  right: 16px;
  z-index: 2;
  font-size: 24px;
  line-height: 1;
  text-decoration: none;
  color: #0A3B47; /* navy MR */
}

/* Hover do X — mantém navy, sem escurecer */
.mr-lead-modal-close:hover,
.mr-lead-modal-close:focus {
  color: #0A3B47;
  text-decoration: none;
}


/***** MindRise — Liderança · CTA "Ler perfil completo" · v4.0 (ESTÁVEL) *****/

/* Estado base: pill MR oficial */
.mr-lead-cta,
.mr-lead-cta:visited {
  display: inline-block;
  padding: 10px 32px;
  border-radius: 999px;
  background-color: #007C89; /* teal MR normal */
  color: #FFFFFF;            /* texto branco, sempre */
  font-weight: 400;
  text-decoration: none;
  border: none;
  transition: background-color 0.2s ease, transform 0.15s ease;
}

/* Hover / focus: escurece ligeiramente o fundo, texto continua branco */
.mr-lead-cta:hover,
.mr-lead-cta:focus {
  background-color: #005C66; /* teal MR hover */
  color: #FFFFFF;
  text-decoration: none;
  transform: translateY(-1px);
}

/* Active (clique) – ligeiro “pressionar” opcional */
.mr-lead-cta:active {
  transform: translateY(0);
}


/***** MindRise — Liderança · modal comportamento base v4.0 *****/

/* Quando um modal da liderança está aberto, bloquear o scroll da página */
body.mr-modal-open {
  overflow: hidden;
}

/* Garantir que, quando marcamos o modal como "aberto", ele fica visível */
.mr-lead-modal.is-open {
  display: flex; /* segue o mesmo tipo de layout que já tens no overlay */
}


/***** MindRise — Liderança · bloquear scroll com modal aberto v1.0 *****/

/* Quando algum modal MR estiver aberto, o body não faz scroll */
body.mr-modal-open {
  overflow: hidden;
}


/***** MindRise — Liderança · FX modal fade v1.0 *****/

/* overlay: suavizar entrada do fundo */
.mr-lead-modal {
  opacity: 0;
  transition: opacity 0.25s ease;
}

/* quando o modal está visível (:target ou is-open), aplica fade-in */
.mr-lead-modal:target,
.mr-lead-modal.is-open {
  opacity: 1;
}

/* diálogo interno (caixa branca) também com fade suave */
.mr-lead-modal-dialog {
  opacity: 0;
  transform: translateY(-8px);
  transition: opacity 0.25s ease, transform 0.25s ease;
}

/* fade + ligeiro slide quando está ativo */
.mr-lead-modal:target .mr-lead-modal-dialog,
.mr-lead-modal.is-open .mr-lead-modal-dialog {
  opacity: 1;
  transform: translateY(0);
}


/***** MindRise — Liderança · modal UI refine v1.0 *****/

/* Overlay: centra o diálogo e aplica fundo escurecido MR */
.mr-lead-modal {
  align-items: center;
  justify-content: center;
  padding: 24px;
  background: rgba(14, 35, 51, 0.72); /* navy MR com transparência */
}

/* Caixa do modal: card MindRise */
.mr-lead-modal-dialog {
  background: #FFFFFF;
  border-radius: 18px;
  padding: 32px 40px;
  max-width: 780px;
  width: 100%;
  max-height: 90vh;
  overflow-y: auto;
  position: relative;
  box-shadow: 0 18px 45px rgba(0, 0, 0, 0.18);
}

/* Corpo de texto: leitura confortável */
.mr-lead-modal-body p {
  font-size: 0.95rem;
  line-height: 1.6;
  margin-bottom: 1.1em;
}

/* Título e função no modal: ligeiro destaque, alinhado com MR */
.mr-lead-modal-name {
  font-size: 1.4rem;
  margin: 0 0 4px 0;
}

.mr-lead-modal-role {
  font-size: 0.95rem;
  margin: 0 0 18px 0;
  color: #007C89; /* teal MR */
}

/* Mobile / tablet: menos padding, mesma lógica */
@media (max-width: 768px) {
  .mr-lead-modal {
    padding: 16px;
  }

  .mr-lead-modal-dialog {
    padding: 20px 18px;
    border-radius: 14px;
    max-width: 100%;
  }

  .mr-lead-modal-body p {
    font-size: 0.94rem;
  }

  .mr-lead-modal-name {
    font-size: 1.25rem;
  }
}

@media (max-width: 480px) {
  .mr-lead-modal-dialog {
    padding: 18px 16px;
  }
}


/* MindRise — Fala connosco · fix CTAs escuros */
#fala-connosco .mr-cta,
#fala-connosco .mr-cta:visited,
#fala-connosco .elementor-button,
#fala-connosco .elementor-button:visited {
  color: #ffffff;
}

#fala-connosco .mr-cta:hover,
#fala-connosco .mr-cta:focus,
#fala-connosco .mr-cta:active,
#fala-connosco .elementor-button:hover,
#fala-connosco .elementor-button:focus,
#fala-connosco .elementor-button:active {
  color: #ffffff !important;   /* mantém o texto branco em todos os estados */
}
