/*
Theme Name: MM Connection
Theme URI: https://mmconnection.com.br/
Description: Tema filho do Hello Elementor para o site da MM Connection. Desde a ESW-188 o layout é todo feito no Elementor (widgets nativos); este tema guarda só o CSS das exceções autorizadas: a linha do tempo e o explorador de países da Área Internacional (widgets HTML), o formulário Contact Form 7 e as barras fixas (cabeçalho e "Nesta página").
Author: Estúdio SIS
Template: hello-elementor
Version: 2.0.0
Text Domain: mm-connection
*/
:root{
  --navy:#0F2A3D; --navy-2:#0A1E2C; --navy-3:#173B54; --navy-line:#2A4E67;
  --orange:#C76A1A; --orange-ink:#A8561A; --yellow:#FFBA00;
  --paper:#F2F4F5; --ink:#15212B; --muted:#51606B; --line:#D6DDE2; --exp:#006d38;
  --f-body:"Libre Franklin", "Helvetica Neue", Arial, sans-serif;
}

/* títulos com quebra de linha equilibrada, como no protótipo (autorizado na ESW-188) */
:is(h1,h2,h3,h4).elementor-heading-title{text-wrap:balance}

/* ---------- barras fixas: cabeçalho do HFE e "Nesta página" (classe mm-subnav-fixa no container) ---------- */
body.ehf-header header#masthead{position:sticky;top:0;z-index:30}
body.ehf-header.admin-bar header#masthead{top:32px}
.e-con.mm-subnav-fixa{position:sticky;top:74px;z-index:20}
.admin-bar .e-con.mm-subnav-fixa{top:106px}
@media (max-width:782px){body.ehf-header.admin-bar header#masthead{top:46px}.admin-bar .e-con.mm-subnav-fixa{top:120px}}
@media (max-width:600px){body.ehf-header.admin-bar header#masthead{top:0}.admin-bar .e-con.mm-subnav-fixa{top:74px}}
/* as âncoras param abaixo das barras */
[id]{scroll-margin-top:140px}

/* ---------- Área Internacional (widgets HTML com as classes mm-ai-linha e mm-ai-paises) ---------- */
.mm-ai-linha,.mm-ai-paises{font-family:"Libre Franklin","Helvetica Neue",Arial,sans-serif;font-size:17px;line-height:1.6;color:var(--ink)}
/* base do protótipo, só dentro desses dois blocos e sem especificidade (:where), para as regras .ai-* abaixo valerem */
:where(.mm-ai-linha,.mm-ai-paises) :is(h3,p,ol,ul,dl,dd,figure){margin:0}
:where(.mm-ai-linha,.mm-ai-paises) h3{font-weight:600;line-height:1.18}
:where(.mm-ai-linha,.mm-ai-paises) img{max-width:100%;display:block}
:where(.mm-ai-linha,.mm-ai-paises) a{color:inherit}
:where(.mm-ai-linha,.mm-ai-paises) button{font:inherit;cursor:pointer}
/* neutraliza o reset do Hello (botões rosa #c36) dentro dos blocos, como o protótipo fazia antes das suas regras */
:where(.mm-ai-linha,.mm-ai-paises) :is([type=button],[type=submit],button){background-color:transparent;border:0;border-radius:0;color:inherit;font:inherit;padding:0;white-space:normal}
:where(.mm-ai-linha,.mm-ai-paises) :is([type=button],[type=submit],button):is(:focus,:hover){background-color:transparent;color:inherit;text-decoration:none}
.ai-rail{display:flex;align-items:center;gap:8px;margin:clamp(28px,4vw,40px) 0 18px;position:sticky;top:74px;z-index:3}
.ai-years{position:relative;display:flex;gap:2px;overflow-x:auto;scrollbar-width:none;flex:1;border-bottom:1px solid var(--navy-line)}
.ai-years::-webkit-scrollbar{display:none}
.ai-years button{flex:0 0 auto;background:none;border:0;border-bottom:3px solid transparent;color:#AFC0CC;font:600 15px/1 var(--f-body,var(--f));padding:10px 9px 9px;cursor:pointer;font-variant-numeric:tabular-nums}
.ai-years button:hover{color:#fff}
.ai-years button[aria-current="true"]{color:#fff;border-bottom-color:var(--yellow)}
.ai-nav{flex:0 0 auto;width:38px;height:38px;border-radius:50%;border:1px solid var(--navy-line);background:var(--navy-2);color:#fff;font-size:22px;line-height:1;cursor:pointer}
.ai-nav:hover{border-color:var(--yellow);color:var(--yellow)}
.ai-years button:focus-visible,.ai-nav:focus-visible,.ai-track:focus-visible,.ai-card:focus-visible{outline:2px solid var(--yellow);outline-offset:2px}
.ai-track{position:relative;list-style:none;margin:0;padding:0 0 14px;display:grid;grid-auto-flow:column;grid-auto-columns:min(430px,84%);gap:18px;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-color:var(--navy-line) transparent}
.ai-year{scroll-snap-align:start;display:flex;flex-direction:column;gap:12px;border-top:1px solid var(--navy-line);padding-top:18px;position:relative}
.ai-year::before{content:"";position:absolute;top:-5px;left:0;width:9px;height:9px;border-radius:50%;background:var(--navy-line);transition:background .2s,transform .2s}
.ai-year.is-on{border-top-color:var(--yellow)}
.ai-year.is-on::before{background:var(--yellow);transform:scale(1.35)}
.ai-year.is-on .ai-y{color:var(--yellow)}
.ai-y{transition:color .2s}
.ai-yhead{display:flex;align-items:baseline;justify-content:space-between;gap:12px}
.ai-y{font-weight:600;font-size:15px;color:#AFC0CC;letter-spacing:.04em}
.ai-n{text-align:right;display:flex;flex-direction:column;align-items:flex-end;gap:2px}
.ai-n b{font-weight:600;font-size:clamp(30px,3.4vw,42px);line-height:1;color:#fff;font-variant-numeric:tabular-nums}
.ai-n span{font-size:13px;color:#AFC0CC}
.ai-t{color:#E3EAEF;font-size:15.5px;min-height:3.2em}
.ai-cards{display:grid;gap:10px}
.ai-card{display:grid;grid-template-columns:132px 1fr;background:var(--navy-3);border:1px solid var(--navy-line);border-radius:4px;overflow:hidden;text-decoration:none;color:#fff;transition:border-color .2s,transform .2s}
.ai-card:hover{border-color:var(--yellow);transform:translateY(-2px)}
.ai-card img,.ai-noimg{width:132px;height:100%;min-height:96px;object-fit:cover;display:block}
.ai-noimg{display:grid;place-items:center;background:repeating-linear-gradient(135deg,var(--navy-2) 0 8px,var(--navy-3) 8px 16px);font-weight:600;font-size:26px;color:var(--yellow)}
.ai-cbody{padding:10px 12px;display:flex;flex-direction:column;gap:4px}
.ai-meta{font-size:12px;color:#AFC0CC}
.ai-ct{font-size:14.5px;line-height:1.35;font-weight:500}
.ai-src{margin-top:18px;font-size:13px;color:#AFC0CC;max-width:80ch}
.ai-px-grid{display:grid;grid-template-columns:1.25fr .75fr;gap:clamp(20px,4vw,48px);align-items:start}
.ai-px-q{width:100%;font:inherit;font-size:15px;padding:10px 12px;border:1px solid var(--line);border-radius:4px;background:#fff;color:var(--ink);margin-bottom:12px}
.ai-px-cont{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:14px}
.ai-px-cont button{font:inherit;font-size:13.5px;padding:7px 12px;border-radius:999px;border:1px solid var(--line);background:#fff;color:var(--ink);cursor:pointer}
.ai-px-cont button:hover{border-color:var(--navy)}
.ai-px-cont button[aria-pressed="true"]{background:var(--navy);border-color:var(--navy);color:#fff}
.ai-px-list{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(168px,1fr));gap:6px}
.ai-px-list button{width:100%;display:flex;justify-content:space-between;align-items:center;gap:8px;font:inherit;font-size:14.5px;text-align:left;padding:9px 11px;border:1px solid var(--line);border-radius:4px;background:#fff;color:var(--ink);cursor:pointer}
.ai-px-list button b{font-weight:600;font-size:12.5px;color:var(--muted);font-variant-numeric:tabular-nums}
.ai-px-list button:hover{border-color:var(--exp,#006d38)}
.ai-px-list button[aria-current="true"]{background:var(--exp,#006d38);border-color:var(--exp,#006d38);color:#fff}
.ai-px-list button[aria-current="true"] b{color:#fff}
.ai-px-list button:focus-visible,.ai-px-cont button:focus-visible,.ai-px-q:focus-visible{outline:2px solid var(--orange);outline-offset:2px}
.ai-px-empty{color:var(--muted);font-size:15px;padding:8px 0}
.ai-px-panel{position:sticky;top:96px;background:#fff;border:1px solid var(--line);border-top:4px solid var(--exp,#006d38);border-radius:4px;padding:20px 20px 8px;max-height:min(460px,calc(100vh - 120px));overflow:auto}
.ai-px-c{font-size:12.5px;font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:var(--exp,#006d38)}
.ai-px-panel h3{font-size:26px;margin:4px 0 2px}
.ai-px-sum{font-size:14px;color:var(--muted);margin-bottom:10px}
.ai-px-panel ol{list-style:none;margin:0;padding:0}
.ai-px-panel li{display:grid;grid-template-columns:48px 1fr;column-gap:10px;padding:10px 0;border-top:1px solid var(--line)}
.ai-px-y{grid-row:span 2;font-weight:600;font-size:14px;color:var(--navy);font-variant-numeric:tabular-nums;padding-top:1px}
.ai-px-panel a{font-size:15px;line-height:1.35;color:var(--ink);text-decoration:underline;text-decoration-color:var(--line);text-underline-offset:3px}
.ai-px-panel a:hover{text-decoration-color:var(--orange)}
.ai-px-m{font-size:12.5px;color:var(--muted);margin-top:2px}
@media (max-width:860px){
  .ai-head,.ai-px-grid{grid-template-columns:1fr}
  .ai-stats{grid-template-columns:1fr}
  .ai-rail{top:62px}
  .ai-card{grid-template-columns:104px 1fr}
  .ai-card img,.ai-noimg{width:104px}
  .ai-px-panel{position:static;max-height:420px}
}
@media (prefers-reduced-motion:reduce){.ai-card{transition:none}.ai-card:hover{transform:none}}
.ai-neg{display:flex;justify-content:space-between;align-items:baseline;gap:10px;padding:8px 12px;border:1px dashed var(--navy-line);border-radius:4px;text-decoration:none;color:#fff}
.ai-neg span{font-size:13px;color:#AFC0CC}
.ai-neg b{font-weight:600;font-size:17px;font-variant-numeric:tabular-nums}
.ai-neg i{font-style:normal;font-weight:500;font-size:14px;color:#AFC0CC}
.ai-neg:hover{border-color:var(--yellow)}
.ai-neg:focus-visible{outline:2px solid var(--yellow);outline-offset:2px}
.ai-neg-nd{position:relative;cursor:help}
.ai-neg-nd b{display:inline-flex;align-items:center;gap:6px}
.ai-info{display:inline-grid;place-items:center;width:17px;height:17px;border-radius:50%;border:1.5px solid var(--yellow);color:var(--yellow);font:700 11px/1 Georgia,serif;font-style:italic}
.ai-tip{position:absolute;left:0;right:0;top:calc(100% + 8px);z-index:6;background:#fff;color:var(--ink);font-size:14px;line-height:1.45;padding:12px 14px;border-radius:4px;box-shadow:0 14px 30px rgba(0,0,0,.35);opacity:0;visibility:hidden;transform:translateY(-4px);transition:opacity .15s,transform .15s,visibility .15s}
.ai-tip::before{content:"";position:absolute;top:-6px;right:18px;width:12px;height:12px;background:#fff;transform:rotate(45deg)}
.ai-neg-nd:hover .ai-tip,.ai-neg-nd:focus-within .ai-tip{opacity:1;visibility:visible;transform:none}
.ai-tip-src{display:block;margin-top:8px;font-size:12.5px;color:var(--muted)}
.ai-tip-src a{color:var(--orange-ink);text-decoration:underline}
.ai-neg-nd:focus-visible{outline:2px solid var(--yellow);outline-offset:2px}
@media (prefers-reduced-motion:reduce){.ai-tip{transition:none}}

/* ---------- Contact Form 7 (shortcode com a classe mm-cf7) ---------- */
.mm-cf7 .wpcf7{font-family:"Libre Franklin","Helvetica Neue",Arial,sans-serif;color:var(--ink)}
.mm-cf7 .wpcf7 p{margin:0 0 14px;display:grid;gap:6px}
.mm-cf7 .wpcf7 label{display:grid;gap:6px;font:600 14px/1.2 "Libre Franklin",sans-serif;color:var(--ink)}
.mm-cf7 .wpcf7-form-control-wrap{display:block}
.mm-cf7 .wpcf7 input:not([type=submit]):not([type=checkbox]),.mm-cf7 .wpcf7 select,.mm-cf7 .wpcf7 textarea{font:400 16px/1.4 "Libre Franklin",sans-serif;padding:12px 14px;border:1.5px solid var(--line);border-radius:4px;background:#fff;color:var(--ink);width:100%}
.mm-cf7 .wpcf7 textarea{min-height:130px}
.mm-cf7 .wpcf7 input:focus,.mm-cf7 .wpcf7 select:focus,.mm-cf7 .wpcf7 textarea:focus{border-color:var(--navy);outline:none;box-shadow:0 0 0 3px rgba(15,42,61,.12)}
.mm-cf7 label br,.mm-cf7 p>br{display:none}
.mm-cf7 .wpcf7 p:has(.wpcf7-acceptance){display:block}
.mm-cf7 .wpcf7-acceptance,.mm-cf7 .wpcf7-acceptance .wpcf7-list-item{display:block}
.mm-cf7 .wpcf7-acceptance label,.mm-cf7 .wpcf7-list-item label{display:flex;gap:10px;align-items:flex-start;font-weight:400;color:var(--muted);font-size:14.5px}
.mm-cf7 .wpcf7-acceptance input[type=checkbox]{width:18px;height:18px;margin:2px 0 0;flex:none}
.mm-cf7 .wpcf7-list-item{margin:0}
.mm-cf7 .wpcf7-submit{display:inline-flex;align-items:center;justify-content:center;font:600 15px/1 "Libre Franklin",sans-serif;border-radius:4px;padding:15px 22px;background:var(--orange);color:#fff;cursor:pointer;border:0}
.mm-cf7 .wpcf7-submit:hover{background:var(--orange-ink);color:#fff}
.mm-cf7 .wpcf7-spinner{margin:0 0 0 10px}
.mm-cf7 .wpcf7-response-output{margin:8px 0 0!important;border-radius:4px;font-size:14.5px}
.mm-cf7 .mm-row{display:grid;grid-template-columns:1fr 1fr;gap:0 14px}
@media (max-width:560px){.mm-cf7 .mm-row{grid-template-columns:1fr}}
.mm-cf7 a{color:var(--orange-ink);text-decoration:underline}
