/*
Theme Name: EBSE Engenharia de Soluções
Theme URI: https://ebse.com.br
Author: EBSE
Description: Tema institucional da EBSE Engenharia de Soluções, com paleta e grafismos do manual da marca, páginas em português e inglês (?lang=en) e formulário de orçamento.
Version: 1.0.19
Requires at least: 6.0
Requires PHP: 7.4
Text Domain: ebse
*/

/* ===== Base ===== */
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;background:#FFFFFF;color:#3F3E44;font-family:'Nunito Sans',system-ui,sans-serif;font-size:17px;line-height:1.6}
img{max-width:100%}
a{color:inherit}
.w{max-width:1200px;margin:0 auto;padding-left:0;padding-right:0}
.skip{position:absolute;left:-9999px;top:8px;background:#FFFFFF;color:#1D6A80;padding:10px 16px;font-weight:800;z-index:100}
.skip:focus{left:8px}
a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline:2px solid #FFFFFF;outline-offset:2px;box-shadow:0 0 0 5px #000000}

/* ===== Fundos com grafismo da marca ===== */
.pat-blue{background:#458FA0 url(assets/img/pattern-on-blue-deep.svg) left bottom/cover no-repeat;color:#FFFFFF}
.pat-dark{background:#3F3E44 url(assets/img/pattern-on-dark.svg) left bottom/cover no-repeat;color:#FFFFFF}
.pat-light{background:#FFFFFF url(assets/img/pattern-on-light.svg) left bottom/cover no-repeat}
.pat-light[style*="F3F1F0"]{background-color:#F3F1F0}

/* ===== Botões ===== */
.btn{display:inline-block;text-decoration:none;font-weight:800;font-family:inherit;cursor:pointer;transition:transform .2s ease,filter .2s ease;text-align:center}
.btn:hover{transform:translateY(-2px);filter:brightness(1.08)}
.btn-white{background:#FFFFFF;color:#1D6A80}
.btn-deep{background:#1D6A80;color:#FFFFFF}
.btn-graphite{background:#3F3E44;color:#FFFFFF;border:2px solid #3F3E44}
.btn-outline{border:2px solid #FFFFFF;color:#FFFFFF}
.btn-md{font-size:17px;padding:18px 32px}
.btn-md.btn-graphite,.btn-md.btn-outline{padding:16px 30px}
.btn-lg{font-size:18px;padding:20px 36px}
.btn-sm{font-size:15px;padding:13px 22px}
.btn-sm2{padding:16px 28px}

/* ===== Cabeçalho ===== */
.top{background:#FFFFFF;border-bottom:1px solid #DAD6D4}
.top-row{padding:14px 24px;display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px 32px}
.mainnav{display:flex;flex-wrap:wrap;gap:4px 28px;font-size:15px}
.nl{color:#3F3E44;text-decoration:none;padding:10px 0;display:inline-block;font-weight:700}
.nl:hover,.nl.is-on{box-shadow:inset 0 -3px 0 #52A9BD}
.nl.is-on{color:#1D6A80}
.langsw{display:flex;border:2px solid #1D6A80}
.langsw .chip{display:flex;align-items:center;justify-content:center;min-width:48px;height:44px;font-weight:800;font-size:14px;letter-spacing:.1em;text-decoration:none;color:#3F3E44;background:transparent}
.langsw .chip.is-on{background:#1D6A80;color:#FFFFFF}
.unitnav{padding:0 24px;display:flex;flex-wrap:wrap;align-items:center;gap:0 8px}
.unitnav-label{color:#CBC3C0;font-weight:800;font-size:12px;letter-spacing:.16em;text-transform:uppercase;padding:14px 16px 14px 0}
.ul{display:flex;align-items:center;gap:10px;padding:10px 14px;min-height:44px;color:#FFFFFF;text-decoration:none;font-weight:800;font-size:15px;background:transparent}
.ul:hover{box-shadow:inset 0 -4px 0 #52A9BD}
.ul.is-on{background:#458FA0}

/* ===== Rodapé ===== */
.foot{background:#000000;color:#CBC3C0;line-height:1.6}
.foot-h{font-weight:800;font-size:13px;letter-spacing:.16em;text-transform:uppercase;color:#8FCDDC;margin-bottom:12px}
.foot-col{flex:1 1 180px;min-width:0;display:flex;flex-direction:column;gap:2px;font-size:15px}
.foot-col .foot-h{margin-bottom:10px}
.fl{color:#CBC3C0;text-decoration:none;padding:8px 0;display:inline-block}
.fl:hover{color:#FFFFFF}

/* ===== Componentes ===== */
.tagchip{display:inline-flex;align-items:center;background:#FFFFFF;color:#1D6A80;font-weight:800;text-transform:uppercase}
.lift{transition:transform .25s ease}
.lift:hover{transform:translateY(-4px)}
.ucard{flex:1 1 340px;min-width:0;display:flex;flex-direction:column;background:#2F2E33;border:1px solid #5C5B62;text-decoration:none;color:#FFFFFF}
.qcard{flex:1 1 250px;min-width:0;background:#2F2E33;border:1px solid #5C5B62;border-top:6px solid #52A9BD;padding:32px 28px;text-decoration:none;color:#FFFFFF;display:flex;flex-direction:column;gap:12px}
.ocard{flex:1 1 240px;min-width:0;display:flex;align-items:center;gap:20px;background:#F3F1F0;border:1px solid #DAD6D4;padding:20px 24px;text-decoration:none;color:#3F3E44}
.chip-btn{padding:12px 20px;min-height:44px;border:2px solid #CBC3C0;background:#FFFFFF;color:#3F3E44;font-family:inherit;font-weight:800;font-size:16px;cursor:pointer;transition:transform .15s ease}
.chip-btn:hover{transform:translateY(-2px)}
.chip-btn[aria-pressed="true"]{background:#1D6A80;border-color:#1D6A80;color:#FFFFFF}
.segbox{margin-top:32px;background:#FFFFFF;border:1px solid #DAD6D4;border-left:8px solid #52A9BD;padding:36px 40px;display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:24px}
.step{flex:1 1 240px;text-align:left;padding:32px 28px;border:2px solid #DAD6D4;background:#F3F1F0;color:#3F3E44;cursor:pointer;font-family:inherit;font-size:16px;line-height:1.55}
.step span{display:block}
.step-n{font-weight:800;font-style:italic;font-size:64px;line-height:1;color:#1D6A80}
.step-t{font-weight:800;font-size:20px;margin:10px 0;text-transform:uppercase}
.step[aria-pressed="true"]{background:#3F3E44;border-color:#3F3E44;color:#FFFFFF}
.step[aria-pressed="true"] .step-n{color:#52A9BD}
.step[aria-pressed="true"] .step-d{color:#CBC3C0}

/* ===== Contato ===== */
.formcard{flex:1 1 400px;min-width:0;background:#FFFFFF;color:#3F3E44;padding:40px;border-top:8px solid #1D6A80;align-self:flex-start}
.fld{display:flex;flex-direction:column;gap:8px}
.fld label{font-size:14px;font-weight:800}
.fld input,.fld select,.fld textarea{background:#F3F1F0;border:1px solid #8A97A2;color:#3F3E44;padding:0 16px;height:52px;font-family:inherit;font-size:16px;width:100%;border-radius:0}
.fld textarea{padding:14px 16px;height:auto;resize:vertical}
.formcard a:focus-visible,.formcard button:focus-visible,.formcard input:focus-visible,.formcard textarea:focus-visible,.formcard select:focus-visible{outline:2px solid #1D6A80;box-shadow:none}
.hp{position:absolute;left:-9999px;height:0;overflow:hidden}

/* ===== Conteúdo de páginas comuns ===== */
.entry h2,.entry h3{font-weight:800;font-style:italic;text-transform:uppercase;color:#3F3E44;line-height:1.1}
.entry a{color:#1D6A80;font-weight:700}
.entry img{height:auto}

/* ===== Animações ===== */
.spin{transform-origin:280px 280px;animation:spin 60s linear infinite}
.marq{display:flex;width:max-content;align-items:center;padding:18px 0;animation:marq 60s linear infinite}
.marq-i{display:flex;align-items:center;white-space:nowrap;font-weight:800;font-style:italic;font-size:20px;letter-spacing:.1em;text-transform:uppercase;color:#FFFFFF}
.rise{animation:rise .8s ease both}
.rise2{animation:rise .9s .15s ease both}
.rise3{animation:rise 1s .3s ease both}
@keyframes spin{to{transform:rotate(360deg)}}
@keyframes marq{to{transform:translateX(-50%)}}
@keyframes rise{from{opacity:0;transform:translateY(24px)}to{opacity:1;transform:none}}
@media (prefers-reduced-motion:reduce){.spin,.marq,.rise,.rise2,.rise3{animation:none}.lift,.btn,.chip-btn{transition:none}}
@media (max-width:640px){.formcard{padding:28px 20px}.segbox{padding:28px 22px}}

/* ===== Certificações ===== */
.certs{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:20px}
.certs li{display:flex;align-items:center;justify-content:center;min-height:220px;padding:28px;background:#FFFFFF;border:1px solid #DAD6D4;border-top:6px solid #52A9BD}
.certs img{max-width:100%;max-height:150px;width:auto;height:auto;display:block}

/* ===== Conteúdo do editor: idiomas e destaques ===== */
html[lang="en"] .ebse-pt{display:none}
html:not([lang="en"]) .ebse-en{display:none}
.entry .ebse-lead{color:#1D6A80;font-size:21px;font-weight:600;line-height:1.5}
.entry .wp-block-image{margin:0 0 40px}
.entry .wp-block-image img{width:100%;height:auto;display:block}
.entry h2{font-size:clamp(24px,3vw,32px);margin:0 0 20px;color:#1D6A80}
.entry ul{padding-left:22px}
.entry li{margin-bottom:10px}

/* ===== Botões de download (Compliance) ===== */
.entry .ebse-docs{display:grid;grid-template-columns:repeat(2,1fr);gap:20px 24px;margin:36px 0 0;padding:0}
.entry .ebse-docs .wp-block-button{margin:0;display:flex}
.entry .ebse-docs .wp-block-button__link{width:100%;display:flex;align-items:center;justify-content:center;text-align:center;min-height:64px;padding:14px 20px;background:#1D6A80;color:#FFFFFF;font-weight:800;font-size:16px;line-height:1.3;text-decoration:none;border-radius:0;border-bottom:4px solid #52A9BD;transition:transform .2s ease,filter .2s ease}
.entry .ebse-docs .wp-block-button__link:hover{transform:translateY(-2px);filter:brightness(1.1);color:#FFFFFF}
.entry .ebse-docs .wp-block-button__link:not([href]){cursor:default;opacity:.7}
.entry .ebse-docs .wp-block-button__link:not([href]):hover{transform:none;filter:none}
@media (max-width:640px){.entry .ebse-docs{grid-template-columns:1fr}}

.entry p a{text-decoration:underline;text-underline-offset:3px}

/* ===== Cartões "outras unidades" ===== */
.ocard{flex:1 1 280px;gap:16px;padding:18px 20px;overflow:hidden}
.ocard-i{flex:none;width:64px;height:64px;background:#458FA0;display:flex;align-items:center;justify-content:center}
.ocard-i img{width:44px;height:44px;display:block}
.ocard-t{flex:1 1 0;min-width:0;display:flex;flex-direction:column}
.ocard-n{font-weight:800;font-style:italic;font-size:clamp(17px,4.6vw,22px);line-height:1.1;text-transform:uppercase;overflow-wrap:anywhere}
.ocard-s{font-weight:800;font-size:15px;color:#1D6A80;margin-top:4px}
.ocards{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}
.ocards .ocard{flex:none;min-width:0;height:100%}
@media (max-width:1024px){.ocards{grid-template-columns:repeat(2,1fr)}}
@media (max-width:560px){.ocards{grid-template-columns:1fr}}
@media (min-width:1025px){.ocards .ocard{flex-direction:column;align-items:flex-start;gap:14px;padding:22px 22px 20px}}
