/* Mastronardi Advocacia — componentes do tema. Tokens em theme.json. */
:root{
  --mx-ink:var(--wp--preset--color--ink);
  --mx-ink2:var(--wp--preset--color--ink-2);
  --mx-ink3:var(--wp--preset--color--ink-3);
  --mx-line:var(--wp--preset--color--line);
  --mx-soft:var(--wp--preset--color--soft);
  --mx-ondark:var(--wp--preset--color--on-dark);
  --mx-mono:var(--wp--preset--font-family--mono);
  --mx-serif:var(--wp--preset--font-family--serif);
}
html{scroll-behavior:smooth}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
body{-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
:where(h1,h2,h3){text-wrap:balance}
:focus-visible{outline:2px solid currentColor;outline-offset:3px}
.skip-link.screen-reader-text:focus{background:#fff;color:#000;padding:.75rem 1rem;z-index:1000}

/* Rótulo (eyebrow) */
.mx-kicker{font-family:var(--mx-mono)!important;font-size:.72rem!important;letter-spacing:.16em;text-transform:uppercase;color:var(--mx-ink3);margin:0}
.mx-dark .mx-kicker,.mx-hero .mx-kicker{color:#B8B8B5}
.mx-hero .mx-kicker{display:flex;align-items:center;gap:.75rem}
.mx-hero .mx-kicker::before{content:"";width:40px;height:1px;background:currentColor;flex:none}
.mx-lede{font-size:var(--wp--preset--font-size--lg);color:var(--mx-ink2);max-width:62ch}
.mx-muted{color:var(--mx-ink2)}
.mx-small{font-size:var(--wp--preset--font-size--sm)}

/* Cabeçalho */
.mx-header{background:var(--mx-ink);color:#fff;position:sticky;top:0;z-index:50}
.admin-bar .mx-header{top:32px}
@media (max-width:782px){.admin-bar .mx-header{top:0}.mx-header{position:relative}}
.mx-header .mx-bar{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding-block:.9rem;flex-wrap:nowrap}
.mx-brand{display:flex;align-items:center;gap:.7rem;text-decoration:none;color:#fff}
.mx-brand img,.mx-header .wp-block-site-logo img{height:44px;width:auto}
.mx-brand .mx-word{font-family:var(--mx-serif);font-size:1.2rem;letter-spacing:.16em;text-transform:uppercase;line-height:1}
.mx-brand .mx-word small{display:block;font-family:var(--mx-mono);font-size:.58rem;letter-spacing:.3em;color:#B8B8B5;margin-top:.3rem}
.mx-header .wp-block-site-title a{color:#fff;text-decoration:none;font-family:var(--mx-serif);letter-spacing:.14em;text-transform:uppercase}
.mx-header .wp-block-navigation{font-size:.875rem;gap:1.4rem}
.mx-header .wp-block-navigation a{text-decoration:none;color:#DADAD7}
.mx-header .wp-block-navigation a:hover{color:#fff;text-decoration:underline;text-underline-offset:4px}
.mx-header .wp-block-navigation__responsive-container.is-menu-open{background:var(--mx-ink)!important;color:#fff!important;padding:1.5rem}
.mx-header .wp-block-navigation__responsive-container.is-menu-open a{font-size:1.1rem}
.mx-header .wp-block-button__link{background:transparent;border-color:#fff;color:#fff;padding:.6rem 1rem}
.mx-header .wp-block-button__link:hover{background:#fff;color:var(--mx-ink)}
@media (max-width:900px){.mx-header .mx-cta-head{display:none}}
.mx-lpnav{display:flex;gap:1.25rem;align-items:center;font-size:.875rem}
.mx-lpnav a{color:#DADAD7;text-decoration:none}
@media (max-width:600px){.mx-lpnav .mx-hide-sm{display:none}}

/* Hero (bloco Capa) */
.mx-hero.wp-block-cover{min-height:auto!important;padding-block:clamp(3.5rem,9vw,7rem)!important;align-items:flex-end}
.mx-hero .wp-block-cover__background{background:linear-gradient(90deg,rgba(10,10,11,.94) 0%,rgba(10,10,11,.8) 48%,rgba(10,10,11,.3) 100%)!important;opacity:1!important}
.mx-hero .wp-block-cover__inner-container{max-width:var(--wp--style--global--wide-size);margin-inline:auto;width:100%}
.mx-hero h1{max-width:18ch;margin-block:1rem;font-size:var(--wp--preset--font-size--huge)!important;line-height:1.06}
.mx-hero p:not(.mx-kicker){color:#DADAD7;max-width:58ch;font-size:var(--wp--preset--font-size--lg)}
.mx-hero p.mx-crumbs{font-family:var(--mx-mono);font-size:.75rem;color:#B8B8B5;margin-bottom:1.25rem;max-width:none}
.mx-hero .mx-crumbs a{color:inherit}
.mx-hero .wp-block-buttons{margin-top:1.75rem}
.mx-hero .wp-block-button:first-child .wp-block-button__link{background:#fff;color:var(--mx-ink);border-color:#fff}
.mx-hero .wp-block-button:first-child .wp-block-button__link:hover{background:#DADAD7}
.mx-hero .is-style-outline .wp-block-button__link{color:#fff;border-color:#fff;background:transparent}
.mx-hero .is-style-outline .wp-block-button__link:hover{background:rgba(255,255,255,.1)}
.mx-hero img.wp-block-cover__image-background{filter:grayscale(1)}
.mx-hero.mx-hero-soft img.wp-block-cover__image-background{filter:blur(2px) grayscale(1);transform:scale(1.03)}

/* Seções */
.mx-sec{padding-block:var(--wp--preset--spacing--50)!important;border-top:1px solid var(--mx-line)}
.mx-sec.mx-first{border-top:0}
.mx-soft{background:var(--mx-soft)}
.mx-dark{background:var(--mx-ink);color:#fff;border-top:0}
.mx-dark .mx-muted,.mx-dark p{color:var(--mx-ondark)}
.mx-dark h2,.mx-dark h3,.mx-dark h4{color:#fff}
.mx-sec h2{margin-top:.5rem;max-width:26ch}
.mx-split{gap:clamp(1.5rem,5vw,3.5rem)!important}
.mx-split > .wp-block-column:first-child h2{margin-top:.5rem}

/* Portas (empresas / pessoas) */
.mx-doors{gap:0!important;border:1px solid var(--mx-line);margin-top:1.5rem!important}
.mx-doors > .wp-block-column{padding:clamp(1.25rem,3vw,2rem);background:#fff}
.mx-doors > .wp-block-column + .wp-block-column{border-left:1px solid var(--mx-line)}
@media (max-width:781px){.mx-doors > .wp-block-column + .wp-block-column{border-left:0;border-top:1px solid var(--mx-line)}}
.mx-doors h3{font-size:1.75rem;margin:.35rem 0 .5rem}
.mx-arealist{list-style:none;padding:0;margin:1rem 0 1.25rem}
.mx-arealist li{border-bottom:1px solid var(--mx-line);padding:.65rem 0}
.mx-arealist li a{display:flex;justify-content:space-between;gap:1rem;text-decoration:none;font-size:.95rem}
.mx-arealist li a:hover strong{text-decoration:underline;text-underline-offset:3px}
.mx-arealist strong{font-weight:500}
.mx-arealist span{font-family:var(--mx-mono);font-size:.72rem;color:var(--mx-ink3);text-align:right}
.mx-more a{font-weight:500;font-size:.9rem;text-underline-offset:3px}

/* Etapas */
.mx-steps{gap:1.5rem!important;margin-top:1.5rem!important}
.mx-steps > .wp-block-column{border-top:1px solid currentColor;padding-top:1rem}
.mx-steps .mx-kicker{margin-bottom:.4rem}
.mx-steps h4{margin:0 0 .4rem}
.mx-steps p:not(.mx-kicker){font-size:.9rem;margin:0}

/* Cards de situação */
.mx-cases{gap:1rem!important;margin-top:1.25rem!important}
.mx-cases > .wp-block-column,.mx-case{border:1px solid var(--mx-line);padding:1.1rem;background:#fff}
.mx-cases .mx-kicker{margin-bottom:.4rem}
.mx-cases p:not(.mx-kicker){font-size:.9rem;color:var(--mx-ink2);margin:0}
.mx-cases a{text-decoration:none}
.mx-cases a:hover{text-decoration:underline}
.mx-stack{display:grid;gap:.75rem}

/* Lista de verificação */
.mx-check{columns:2 260px;column-gap:2rem;padding-left:1.1rem}
.mx-check li{break-inside:avoid;margin-bottom:.45rem;color:var(--mx-ink2)}

/* FAQ */
.mx-faq .wp-block-details{border-bottom:1px solid var(--mx-line)}
.mx-faq .wp-block-details summary{font-weight:500;cursor:pointer}
.mx-faq .wp-block-details p{color:var(--mx-ink2);max-width:70ch;margin-top:.6rem}

/* Artigos */
.mx-posts .wp-block-post-template{gap:1.5rem}
.mx-posts .wp-block-post{border-top:1px solid var(--mx-ink);padding-top:.8rem}
.mx-posts .wp-block-post-title{font-size:1.3rem;line-height:1.2;margin:.35rem 0}
.mx-posts .wp-block-post-title a{text-decoration:none}
.mx-posts .wp-block-post-title a:hover{text-decoration:underline}
.mx-posts .wp-block-post-date,.mx-posts .wp-block-post-terms{font-family:var(--mx-mono);font-size:.72rem;color:var(--mx-ink3)}
.mx-article .wp-block-post-content{font-size:1.06rem}
.mx-article .wp-block-post-content > *{max-width:70ch}
.mx-article .wp-block-post-content h2{font-size:1.8rem;margin-top:2.2rem}
.mx-article .wp-block-post-content h3{font-size:1.35rem;margin-top:1.6rem}
.mx-meta{font-family:var(--mx-mono);font-size:.75rem;color:var(--mx-ink3);display:flex;gap:.75rem;flex-wrap:wrap}
.mx-author{border:1px solid var(--mx-line);padding:1.25rem;display:flex;gap:1rem;align-items:flex-start;max-width:70ch}
.mx-author img{width:64px;height:64px;object-fit:cover;object-position:top;flex:none}

/* Perfil */
.mx-portrait img{width:100%;max-width:360px;height:auto;display:block}
.mx-creds{list-style:none;padding:0;margin:1rem 0}
.mx-creds li{padding:.55rem 0;border-bottom:1px solid var(--mx-line);font-size:.95rem}

/* Chamada final */
.mx-cta{background:var(--mx-soft)}

/* Formulário */
.mx-form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.9rem}
.mx-form .full{grid-column:1/-1}
.mx-form label{display:grid;gap:.3rem;font-family:var(--mx-mono);font-size:.7rem;letter-spacing:.08em;text-transform:uppercase;color:var(--mx-ink3)}
.mx-form *,.mx-form *::before,.mx-form *::after{box-sizing:border-box}
.mx-form input,.mx-form select,.mx-form textarea{font:inherit;font-family:var(--wp--preset--font-family--sans);font-size:.95rem;text-transform:none;letter-spacing:0;color:var(--mx-ink);padding:.7rem;border:1px solid #C9C9C6;border-radius:2px;background:#fff;width:100%}
.mx-form input:focus,.mx-form select:focus,.mx-form textarea:focus{outline:2px solid var(--mx-ink);outline-offset:0;border-color:var(--mx-ink)}
.mx-form .mx-consent{display:flex;line-height:1.5;gap:.6rem;align-items:flex-start;text-transform:none;letter-spacing:0;font-family:var(--wp--preset--font-family--sans);font-size:.85rem;color:var(--mx-ink2)}
.mx-form .mx-consent input{width:auto;margin-top:.2rem}
.mx-form button{font:500 .875rem var(--wp--preset--font-family--sans);letter-spacing:.03em;background:var(--mx-ink);color:#fff;border:1px solid var(--mx-ink);padding:.85rem 1.4rem;border-radius:2px;cursor:pointer}
.mx-form button:hover{background:var(--mx-ink2)}
.mx-form .mx-hp{position:absolute!important;left:-9999px!important;width:1px;height:1px;overflow:hidden}
.mx-notice{padding:.9rem 1rem;border:1px solid var(--mx-ink);margin-bottom:1rem;font-size:.95rem}
.mx-notice.err{border-style:dashed}
@media (max-width:640px){.mx-form{grid-template-columns:1fr}}

/* Rodapé */
.mx-footer{background:var(--mx-ink);color:#BDBDBA;font-size:.875rem}
.mx-footer a{color:#DADAD7;text-decoration:none}
.mx-footer a:hover{text-decoration:underline}
.mx-footer strong{color:#fff;font-weight:500}
.mx-footer .mx-legal{border-top:1px solid #2A2A2C;padding-top:1rem;font-size:.78rem;color:#8E8E8B}
.mx-footer p{margin:.25rem 0}

/* Aviso e observações */
.mx-disclaimer{font-size:.8rem;color:var(--mx-ink3);max-width:80ch}

/* WhatsApp flutuante */
.mx-wa{position:fixed;right:18px;bottom:calc(18px + env(safe-area-inset-bottom,0px));z-index:60;display:flex;align-items:center;gap:.5rem;background:var(--mx-ink);color:#fff;border:1px solid #fff;border-radius:999px;padding:.7rem 1rem;font:500 .85rem var(--wp--preset--font-family--sans);text-decoration:none;box-shadow:0 6px 24px rgba(0,0,0,.25)}
.mx-wa:hover{background:#2A2A2C}
.mx-wa svg{width:20px;height:20px;fill:#fff}
@media (max-width:600px){.mx-wa span{display:none}.mx-wa{padding:.8rem}}

/* Utilidades de imagem */
.mx-gray img{filter:grayscale(1)}

/* Sem espaço entre cabeçalho, conteúdo e rodapé */
.wp-site-blocks > *{margin-block-start:0!important}
.wp-site-blocks > main > .entry-content > *:first-child,.wp-site-blocks main .wp-block-post-content > .mx-hero:first-child{margin-block-start:0!important}
.wp-block-post-content > .alignfull{margin-block:0}

/* Seção escura com fotografia (Como o escritório trabalha) */
.mx-cover-sec.wp-block-cover{min-height:auto!important;align-items:stretch}
.mx-cover-sec .wp-block-cover__background{opacity:.9!important}
.mx-cover-sec img.wp-block-cover__image-background{filter:grayscale(1)}
.mx-cover-sec .wp-block-cover__inner-container{max-width:none;width:100%}
/* Fotografia na entrada "Para você" e no contato */
.mx-door-img img,.mx-contact-img img{width:100%;aspect-ratio:16/9;object-fit:cover;display:block;filter:grayscale(1)}
.mx-door-img{margin:0 0 1rem!important}
.mx-contact-img{margin-top:1.5rem!important}


/* Seletor de idioma (PT | EN) no cabeçalho */
.mx-lang{display:flex;gap:.15rem;align-items:center;font:500 .72rem var(--mx-mono);letter-spacing:.12em}
.mx-lang a{color:#B8B8B5;text-decoration:none;padding:.32rem .5rem;border:1px solid transparent;line-height:1}
.mx-lang a:hover{color:#fff}
.mx-lang a[aria-current="true"]{color:#fff;border-color:#fff}
.mx-header .wp-block-shortcode{margin:0}

/* Padrão de texto justificado (parágrafos de texto corrido)
   Vale para todo parágrafo do conteúdo, inclusive os criados depois no editor.
   Palavras nunca são separadas por hífen no fim da linha (hifenização desligada);
   palavras compostas com hífen (e-mail, notícia-crime) ficam inteiras na mesma linha (classe mx-nw, aplicada automaticamente).
   Não se aplica a: rótulos, trilha de navegação, links "Ver mais", texto sobre a imagem do topo,
   resumos de artigos em grade, rodapé, formulário e parágrafos com alinhamento escolhido no editor.
   No celular (até 599px) o texto volta a ficar alinhado à esquerda para evitar espaços largos. */
main p, main li, .editor-styles-wrapper p, .editor-styles-wrapper li{
  -webkit-hyphens:none;-ms-hyphens:none;hyphens:none;word-break:normal;overflow-wrap:normal;
}
.mx-nw{white-space:nowrap}
@media (min-width:600px){
  main p:not(.mx-kicker):not(.mx-crumbs):not(.mx-more):not([class*="has-text-align-"]),
  .editor-styles-wrapper p:not(.mx-kicker):not(.mx-crumbs):not(.mx-more):not([class*="has-text-align-"]){
    text-align:justify;
    text-align-last:left;
    text-justify:inter-word;
    text-wrap:pretty;
  }
  main .mx-hero p,
  main .wp-block-post-excerpt__excerpt,
  .editor-styles-wrapper .mx-hero p{
    text-align:left!important;
  }
}
/* Justificado sem hifenização precisa de linhas largas (cerca de 45+ caracteres).
   Grades com 4 colunas (etapas e cartões) passam a 2 por linha no computador,
   para o texto justificado não abrir espaços grandes entre as palavras. */
@media (min-width:782px){
  .wp-block-columns.mx-steps:has(> .wp-block-column:nth-child(4)),
  .wp-block-columns.mx-cases:has(> .wp-block-column:nth-child(4)){flex-wrap:wrap!important}
  .wp-block-columns.mx-steps:has(> .wp-block-column:nth-child(4)) > .wp-block-column{box-sizing:border-box;flex:0 0 calc(50% - .75rem)!important;max-width:calc(50% - .75rem)}
  .wp-block-columns.mx-cases:has(> .wp-block-column:nth-child(4)) > .wp-block-column{box-sizing:border-box;flex:0 0 calc(50% - .5rem)!important;max-width:calc(50% - .5rem)}
  .mx-steps:has(> .wp-block-column:nth-child(4)){row-gap:2rem!important}
}
/* Classe opcional para justificar outros blocos (ex.: listas longas): adicionar "mx-justify" em Avançado > Classe CSS */
@media (min-width:600px){
  .mx-justify,.mx-justify p,.mx-justify li{text-align:justify;text-align-last:left;text-justify:inter-word;-webkit-hyphens:none;hyphens:none}
}

/* Movimento no topo da página inicial: aproximação lenta e contínua da foto (efeito "respiração").
   Só em telas a partir de 782px e só para quem não ativou "reduzir movimento" no aparelho. */
.mx-home .mx-hero .wp-block-cover__background{background:linear-gradient(90deg,rgba(10,10,11,.88) 0%,rgba(10,10,11,.66) 50%,rgba(10,10,11,.22) 100%)!important}
.mx-home .mx-hero img.wp-block-cover__image-background{object-position:65% 40%}
@keyframes mx-respira{
  0%{transform:scale(1) translate3d(0,0,0)}
  100%{transform:scale(1.12) translate3d(-2.5%,-1.5%,0)}
}
@media (min-width:782px) and (prefers-reduced-motion:no-preference){
  .mx-home .mx-hero{overflow:hidden}
  .mx-home .mx-hero img.wp-block-cover__image-background{
    transform-origin:30% 35%;
    animation:mx-respira 28s ease-in-out infinite alternate;
    will-change:transform;
  }
}

/* Texto só para leitores de tela */
.mx-sr{position:absolute!important;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.mx-arealist .mx-sr{font-size:1px;color:transparent}

/* Vídeo de fundo do topo da home (cinemagraph do céu; só carrega no computador, com movimento permitido) */
.mx-hero-video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:65% 40%;z-index:0;opacity:0;transition:opacity 1.6s ease;filter:grayscale(1);pointer-events:none}
.mx-hero-video.is-on{opacity:1}
.mx-hero.mx-vid img.wp-block-cover__image-background{animation:none!important;transform:none!important;will-change:auto}
.mx-vid-toggle{display:none;position:absolute;right:1.25rem;bottom:1rem;z-index:3;width:40px;height:40px;padding:0;align-items:center;justify-content:center;border-radius:50%;border:1px solid rgba(255,255,255,.55);background:rgba(10,10,11,.5);color:#fff;cursor:pointer}
.mx-vid-toggle:hover{background:rgba(10,10,11,.8);border-color:#fff}
.mx-vid-toggle:focus-visible{outline:2px solid #fff;outline-offset:2px}
.mx-vid-toggle svg{width:20px;height:20px;fill:#fff}
.mx-hero.mx-vid-on .mx-vid-toggle{display:flex}
.mx-vid-toggle .i-play{display:none}
.mx-hero.mx-vid-paused .mx-vid-toggle .i-play{display:inline}
.mx-hero.mx-vid-paused .mx-vid-toggle .i-pause{display:none}
@media (max-width:781px),(prefers-reduced-motion:reduce){.mx-hero-video,.mx-vid-toggle{display:none!important}}
