/* ============================================================
   MasterMind Grande SP — sistema de design compartilhado
   Fonte da verdade para tokens, fontes, componentes e
   responsividade de todas as páginas do site.
   ============================================================ */

/* ---------- FONTES · Omnes (Darden Studio) ---------- */
@font-face{font-family:'Omnes';src:url('../fonts/Omnes-Hairline.woff2') format('woff2');font-weight:100;font-style:normal;font-display:swap;}
@font-face{font-family:'Omnes';src:url('../fonts/Omnes-Light.woff2') format('woff2'),url('../fonts/Omnes-Light.otf') format('opentype');font-weight:300;font-style:normal;font-display:swap;}
@font-face{font-family:'Omnes';src:url('../fonts/Omnes-LightItalic.woff2') format('woff2'),url('../fonts/Omnes-LightItalic.otf') format('opentype');font-weight:300;font-style:italic;font-display:swap;}
@font-face{font-family:'Omnes';src:url('../fonts/Omnes-Regular.woff2') format('woff2'),url('../fonts/Omnes-Regular.otf') format('opentype');font-weight:400;font-style:normal;font-display:swap;}
@font-face{font-family:'Omnes';src:url('../fonts/Omnes-Italic.woff2') format('woff2');font-weight:400;font-style:italic;font-display:swap;}
@font-face{font-family:'Omnes';src:url('../fonts/Omnes-Medium.woff2') format('woff2'),url('../fonts/Omnes-Medium.otf') format('opentype');font-weight:500;font-style:normal;font-display:swap;}
@font-face{font-family:'Omnes';src:url('../fonts/Omnes-MediumItalic.woff2') format('woff2');font-weight:500;font-style:italic;font-display:swap;}
@font-face{font-family:'Omnes';src:url('../fonts/Omnes-SemiBold.woff2') format('woff2'),url('../fonts/Omnes-SemiBold.otf') format('opentype');font-weight:600;font-style:normal;font-display:swap;}
@font-face{font-family:'Omnes';src:url('../fonts/Omnes-SemiBoldItalic.woff2') format('woff2');font-weight:600;font-style:italic;font-display:swap;}
@font-face{font-family:'Omnes';src:url('../fonts/Omnes-Bold.woff2') format('woff2'),url('../fonts/Omnes-Bold.otf') format('opentype');font-weight:700;font-style:normal;font-display:swap;}
@font-face{font-family:'Omnes';src:url('../fonts/Omnes-BoldItalic.woff2') format('woff2');font-weight:700;font-style:italic;font-display:swap;}
@font-face{font-family:'Omnes';src:url('../fonts/Omnes-Black.woff2') format('woff2'),url('../fonts/Omnes-Black.otf') format('opentype');font-weight:900;font-style:normal;font-display:swap;}

/* ---------- TOKENS ---------- */
:root{
  --mm-red:#E52421;
  --mm-red-dark:#B91C1A;
  --mm-red-light:#F04B48;
  --mm-red-subtle:#FDE8E8;
  --mm-ink:#1A1A1A;
  --mm-black:#0E0E0E;
  --mm-paper:#F7F7F7;
  --mm-line:#E6E6E6;
  --mm-gray:#8A8A8A;
  --mm-gray-mid:#6E6E6E;
}

/* ---------- BASE ---------- */
*{box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{margin:0;font-family:'Omnes',-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;color:var(--mm-ink);background:#fff;}
a{color:inherit;text-decoration:none;}
button{font-family:inherit;cursor:pointer;}
input,textarea,select{font-family:inherit;}
img{max-width:100%;}

/* Foco visível para navegação por teclado */
:focus-visible{outline:3px solid var(--mm-red);outline-offset:2px;border-radius:2px;}

/* ---------- ANIMAÇÕES ---------- */
@keyframes donut-fill{from{stroke-dasharray:0 339.29}to{stroke-dasharray:288.4 339.29}}
@keyframes mmKB{from{transform:scale(1.02);}to{transform:scale(1.12);}}
@keyframes mmFade{from{opacity:0;transform:translateY(14px);}to{opacity:1;transform:none;}}

@media (prefers-reduced-motion: reduce){
  *,*::before,*::after{animation-duration:.01ms !important;animation-iteration-count:1 !important;transition-duration:.01ms !important;}
  html{scroll-behavior:auto;}
  [data-donut-arc]{stroke-dasharray:288.4 339.29 !important;}
}

/* ---------- COMPONENTES ---------- */
.mm-btn{transition:background .25s ease,transform .15s ease,box-shadow .25s ease;}
.mm-btn:hover{background:var(--mm-red-dark) !important;}
.mm-btn:active{transform:translateY(1px);}
.mm-ghost{transition:background .25s ease,color .25s ease,border-color .25s ease;}
.mm-ghost:hover{background:var(--mm-ink) !important;color:#fff !important;border-color:var(--mm-ink) !important;}
.mm-ghost-light{transition:background .25s ease,color .25s ease,border-color .25s ease;}
.mm-ghost-light:hover{background:#fff !important;color:var(--mm-ink) !important;border-color:#fff !important;}
.mm-comp{transition:transform .3s ease,border-color .3s ease,box-shadow .3s ease;}
.mm-comp:hover{transform:translateY(-3px);border-color:#D8D8D8;box-shadow:0 12px 26px rgba(0,0,0,.08);}
.mm-card{transition:transform .35s cubic-bezier(.4,0,.2,1),box-shadow .35s cubic-bezier(.4,0,.2,1);}
.mm-card:hover{transform:translateY(-6px);box-shadow:0 18px 40px rgba(0,0,0,.16);}
.mm-card:hover .mm-card-img{transform:scale(1.06);}
.mm-arrow{display:inline-block;transition:transform .3s ease;}
.mm-row:hover .mm-arrow{transform:translateX(8px);}
.mm-link-card{transition:transform .3s ease,border-color .3s ease,box-shadow .3s ease;}
.mm-link-card:hover{transform:translateY(-4px);border-color:#D8D8D8;box-shadow:0 14px 30px rgba(0,0,0,.08);}
.mm-link-card:hover .mm-arrow{transform:translateX(8px);}
.mm-logo-cell{transition:color .25s ease,border-color .25s ease;}
.mm-logo-cell:hover{color:var(--mm-ink);border-color:#C4C4C4;}
.mm-tab{transition:background .2s ease,color .2s ease,border-color .2s ease;}
[data-row]{transition:transform .3s cubic-bezier(.4,0,.2,1),box-shadow .3s cubic-bezier(.4,0,.2,1),border-color .3s ease;}
[data-row]:hover{transform:translateY(-3px);box-shadow:0 14px 30px rgba(0,0,0,.10);border-color:#D8D8D8;}

/* Nav */
.mm-nav a.mm-link{position:relative;}
.mm-nav a.mm-link::after{content:'';position:absolute;left:0;right:100%;bottom:-6px;height:2px;background:var(--mm-red);transition:right .3s ease;}
.mm-nav a.mm-link:hover::after{right:0;}
.mm-group:hover .mm-chev{transform:rotate(180deg);color:var(--mm-red);}
.mm-ditem{display:block;padding:11px 14px;border-radius:5px;transition:background .18s ease,color .18s ease;}
.mm-ditem:hover{background:var(--mm-red-subtle);}
.mm-ditem:hover .mm-ditem-t{color:var(--mm-red);}
.mm-ditem:hover .mm-ditem-ar{opacity:1;transform:translateX(0);}
.mm-dtop:hover{color:var(--mm-red);}

/* Footer */
.mm-flink{transition:color .2s ease;}
.mm-flink:hover{color:#fff;}
.mm-soc{transition:color .25s ease,border-color .25s ease;}
.mm-soc:hover{color:#fff;border-color:#555;}


/* Componentes das páginas internas */
.mm-srow{transition:border-color .25s ease,background .2s ease,box-shadow .25s ease;}
.mm-srow:hover{box-shadow:0 8px 22px rgba(0,0,0,.06);}
.mm-preview:hover .mm-pv-img{transform:scale(1.05);}
.mm-preview:hover .mm-arrow{transform:translateX(8px);}
.mm-step{transition:transform .3s ease;}
.mm-step:hover{transform:translateY(-4px);}
.mm-ctx{transition:transform .3s ease,background .3s ease;}
.mm-ctx:hover{transform:translateY(-4px);background:#222;}
.mm-type{transition:transform .3s ease,border-color .3s ease,box-shadow .3s ease;}
.mm-type:hover{transform:translateY(-4px);border-color:var(--mm-red);box-shadow:0 14px 30px rgba(0,0,0,.08);}
.mm-pill{transition:background .2s ease,color .2s ease,border-color .2s ease;}
.mm-in{transition:border-color .2s ease,box-shadow .2s ease;}
.mm-in:focus{border-color:var(--mm-red);box-shadow:0 0 0 3px rgba(229,36,33,.15);}
.mm-chan{transition:border-color .2s ease,transform .2s ease;}
.mm-chan:hover{border-color:#C4C4C4;transform:translateY(-2px);}
.mm-back:hover{color:var(--mm-red);}

/* ---------- MENU MOBILE ---------- */
.mm-burger{display:none;background:none;border:none;padding:10px;margin-left:auto;flex-direction:column;gap:5px;align-items:flex-end;}
.mm-burger span{display:block;width:24px;height:2.5px;background:var(--mm-ink);border-radius:2px;transition:transform .25s ease,opacity .25s ease,width .25s ease;}
.mm-burger[aria-expanded="true"] span:nth-child(1){transform:translateY(7.5px) rotate(45deg);}
.mm-burger[aria-expanded="true"] span:nth-child(2){opacity:0;}
.mm-burger[aria-expanded="true"] span:nth-child(3){transform:translateY(-7.5px) rotate(-45deg);width:24px;}
.mm-burger span:nth-child(2){width:18px;}

.mm-mobilepanel{display:none;position:fixed;left:0;right:0;bottom:0;z-index:49;background:var(--mm-black);color:#fff;overflow-y:auto;padding:28px 24px 40px;flex-direction:column;gap:4px;}
.mm-mobilepanel.open{display:flex;animation:mmFade .3s ease;}
.mm-mobilepanel a{display:block;padding:13px 4px;font:600 19px/1.2 'Omnes',sans-serif;color:#fff;border-bottom:1px solid #222;}
.mm-mobilepanel a:active{color:var(--mm-red-light);}
.mm-mobilepanel .mm-meyebrow{font:600 11.5px/1 'Omnes',sans-serif;letter-spacing:.18em;text-transform:uppercase;color:var(--mm-red-light);margin:22px 0 4px;padding-left:4px;}
.mm-mobilepanel .mm-msub{font:500 16px/1.2 'Omnes',sans-serif;color:#D6D6D6;padding-left:16px;}
.mm-mobilepanel .mm-mbadge{display:inline-block;margin-left:8px;font:700 9px/1 'Omnes',sans-serif;letter-spacing:.1em;text-transform:uppercase;color:#fff;background:var(--mm-red);padding:3px 6px;border-radius:3px;vertical-align:middle;}
.mm-mobilepanel .mm-mcta{margin-top:26px;background:var(--mm-red);color:#fff;text-align:center;font:700 17px/1 'Omnes',sans-serif;padding:17px;border-radius:3px;border-bottom:none;}
body.mm-menu-open{overflow:hidden;}

/* ============================================================
   RESPONSIVIDADE
   As páginas usam estilos inline (fiéis ao design original);
   as regras abaixo usam !important deliberadamente para
   sobrescrevê-los apenas nos breakpoints.
   ============================================================ */

/* Grades utilitárias adicionadas na marcação:
   .mm-g2  → 2 colunas no desktop, 1 no mobile
   .mm-g2t → 2 colunas "apertadas" (cards), colapsa por último
   .mm-g3  → 3 colunas → 2 → 1
   .mm-g4  → 4 colunas → 2 → 1                                  */

@media (max-width:1080px){
  .mm-g3{grid-template-columns:repeat(2,1fr) !important;}
  .mm-g4{grid-template-columns:repeat(2,1fr) !important;}
  .mm-g5{grid-template-columns:repeat(2,1fr) !important;}
  .mm-g6{grid-template-columns:1fr 1fr !important;}
  .mm-g6 > *{grid-column:span 1 !important;}
}

@media (max-width:1000px){
  .mm-navlinks{display:none !important;}
  .mm-burger{display:flex;}
}

@media (max-width:900px){
  .mm-g2{grid-template-columns:1fr !important;}
  h1{font-size:clamp(38px,10vw,60px) !important;line-height:1.02 !important;}
  h2{font-size:clamp(28px,7vw,40px) !important;line-height:1.12 !important;}
  .mm-utilbar > div:first-child{display:none;}
  .mm-utilbar{justify-content:flex-end !important;}
}

@media (max-width:640px){
  .mm-g3{grid-template-columns:1fr !important;}
  .mm-g5{grid-template-columns:1fr !important;}
  .mm-g6{grid-template-columns:1fr !important;}
  .mm-g4{grid-template-columns:1fr !important;}
  .mm-g2t{grid-template-columns:1fr !important;}
  .mm-statsband{flex-direction:column;}
  .mm-statsband > div{border-right:none !important;border-bottom:1px solid #EEE;}
  [data-row]{grid-template-columns:84px 1fr !important;gap:18px !important;padding:20px !important;}
  [data-row] > a{grid-column:1 / -1;text-align:center;}
}
