/*
Theme Name: Simula Certo Child
Template: twentytwentyfive
Description: Child theme of Twenty Twenty-Five with the approved Simula Certo design.
Version: 1.0
Text Domain: simula-certo-child
*/
/* Simula Certo - theme stylesheet exported verbatim from the approved site.
   Concatenation, in document order, of every <style> block of index.html.
   Light-only lock: :root declares color-scheme: light only and
   <meta name="color-scheme" content="light only"> ships in the theme header. */


:root{--bg:#F7F9F7;--surface:#FFFFFF;--ink:#334155;--head:#0A1F33;--navy:#0A1F33;--muted:#5A6B7D;--line:#DFE7E1;--accent:#046A38;--accentHover:#03572F;--bright:#059669;--accent2:#C9A227;--amberSoft:#F3EEDC;--resultBg:#0A1F33;--resultLine:#0A1F33;--resultInk:#EDF4EE;--error:#B3261E;--radius:18px;color-scheme:light only}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:"Inter",system-ui,sans-serif;background:var(--bg);color:var(--ink);line-height:1.65}
h1,h2,h3{font-family:"Plus Jakarta Sans",sans-serif;line-height:1.08;letter-spacing:-.02em;margin:.2em 0 .45em}h1,h2{color:var(--head)}
a{color:inherit}button,input,select{font:inherit}
.wrap{max-width:1180px;margin:0 auto;padding:0 20px}
header.top{position:sticky;top:0;z-index:20;background:color-mix(in srgb,var(--bg) 92%,transparent);backdrop-filter:blur(10px);border-bottom:1px solid var(--line)}
.topin{display:flex;justify-content:space-between;align-items:center;padding:14px 0;gap:16px;flex-wrap:wrap}
.logo{display:inline-flex;align-items:center;gap:8px;font-family:"Plus Jakarta Sans";font-weight:800;font-size:20px;text-decoration:none;line-height:1;white-space:nowrap}.logo .certo{color:var(--accent)}
.logo .mark{width:32px;height:32px;flex:none;display:block}
.footlogo{display:inline-flex;align-items:center;gap:8px;font-family:"Plus Jakarta Sans",sans-serif;font-weight:800;font-size:17px;color:#fff;line-height:1;margin-bottom:8px;white-space:nowrap}
.footlogo .mark{width:28px;height:28px;flex:none;display:block}
.footlogo .certo{color:var(--bright)}
nav.main{display:flex;gap:6px;flex-wrap:wrap}nav.main a{text-decoration:none;font-weight:600;font-size:14px;padding:8px 10px;border-radius:999px}nav.main a:hover{background:var(--surface)}
.hero{padding:52px 0 28px}.hero h1{font-size:clamp(34px,6vw,56px);max-width:640px}.hero p.lead{font-size:19px;color:var(--muted);max-width:620px}
.heroGrid{display:grid;grid-template-columns:1.02fr .98fr;gap:36px;align-items:center}
.heroImg{margin:0}.heroImg img{display:block;width:100%;height:auto;aspect-ratio:3/2;object-fit:cover;border-radius:20px;border:1px solid var(--line);background:var(--amberSoft)}
.heroImg figcaption{font-size:13.5px;color:var(--muted);margin-top:10px;line-height:1.5}
@media(max-width:900px){.heroGrid{grid-template-columns:1fr;gap:20px}.heroImg img{max-height:320px}}
.badge{display:inline-block;background:var(--navy);color:#fff;padding:7px 12px;border-radius:999px;font-size:13px;font-weight:700}
.searchbox{display:flex;gap:10px;margin:24px 0;flex-wrap:wrap}.searchbox input{flex:1;min-width:220px;padding:16px 18px;border-radius:14px;border:1.5px solid var(--line);background:var(--surface);color:var(--ink);font-size:16px}
.filters{display:flex;gap:8px;flex-wrap:wrap;margin:14px 0 26px}.filters button{border:1.5px solid var(--line);background:var(--surface);padding:9px 14px;border-radius:999px;cursor:pointer;font-weight:700}.filters button.active{background:var(--ink);color:var(--bg);border-color:var(--ink)}
.grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}@media(max-width:900px){.grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:560px){.grid{grid-template-columns:1fr}}
.card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:20px;text-decoration:none;display:block}.card:hover{border-color:var(--accent)}
.dot{width:42px;height:42px;border-radius:12px;display:grid;place-items:center;font-size:20px;color:#fff;margin-bottom:12px}
.card h3{font-size:18px}.card p{color:var(--muted);font-size:14.5px;margin:0}
.catlabel{font-size:12px;font-weight:800;letter-spacing:.06em;text-transform:uppercase}
section.block{padding:34px 0} .cols{display:grid;grid-template-columns:1.15fr .85fr;gap:22px}@media(max-width:860px){.cols{grid-template-columns:1fr}}
.panel{background:var(--surface);border:1px solid var(--line);border-radius:20px;padding:24px}
label{font-weight:700;font-size:14px;display:block;margin:14px 0 6px}input[type=number],input[type=text],input[type=date],input[type=url],select{width:100%;padding:13px 14px;border:1.5px solid var(--line);border-radius:12px;background:var(--bg);color:var(--ink)}
.btn{background:var(--accent);color:#fff;border:0;padding:14px 20px;border-radius:12px;font-weight:800;cursor:pointer;width:100%;margin-top:18px}.btn:hover{background:var(--accentHover)}.btn2{background:var(--ink);color:var(--bg)}
.result{margin-top:18px;background:var(--resultBg);border:1px solid var(--resultLine);border-radius:14px;padding:18px;color:var(--resultInk)}
.result strong{font-size:22px}.result div{margin:4px 0}
.note{font-size:13.5px;color:var(--muted);background:var(--surface);border:1px dashed var(--line);border-radius:12px;padding:14px;margin-top:16px}
.crumbs{font-size:13.5px;color:var(--muted);padding:18px 0 0}.crumbs a{text-decoration:none;font-weight:600}
.faq{border-top:1px solid var(--line);padding:16px 0}.faq h3{font-size:17px}
footer{background:var(--navy);border-top:4px solid var(--accent2);padding:32px 0 36px;margin-top:30px;color:#C9D6E4;font-size:14px}footer a{color:#fff}
.toolhero{padding:10px 0 6px}.toolhero h1{font-size:clamp(30px,5vw,48px)}
.related{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}@media(max-width:700px){.related{grid-template-columns:1fr}}
.hide{display:none!important}
.kpis{display:flex;gap:12px;flex-wrap:wrap;margin:18px 0}.kpi{background:var(--surface);border:1px solid var(--line);border-radius:14px;padding:12px 16px}.kpi b{font-family:"Plus Jakarta Sans";font-size:20px;display:block}
input[type=file]{width:100%;padding:12px;border:1.5px dashed var(--line);border-radius:12px;background:var(--surface)}
video,canvas,img.preview{max-width:100%;border-radius:12px}
table{width:100%;border-collapse:collapse;font-size:14.5px}td,th{padding:9px;border-bottom:1px solid var(--line);text-align:left}
/* Toque e formulários: alvos de pelo menos 48px e campos a 16px para evitar o zoom automático no iOS */
body{overflow-x:clip}
button{min-height:48px}
input,select{font-size:16px}
input[type=number],input[type=text],input[type=date],input[type=url],input[type=search],select{min-height:48px}
nav.main a{display:inline-flex;align-items:center;min-height:48px;padding:8px 12px}
.filters button{min-height:48px;padding:10px 16px}
.btn{min-height:52px;font-size:16.5px}
a:focus-visible,button:focus-visible,input:focus-visible{outline:3px solid var(--accent2);outline-offset:2px}
.result{scroll-margin-top:110px}
.menubtn{display:none;background:var(--ink);color:var(--bg);border:0;border-radius:12px;padding:10px 18px;font-weight:800;min-height:48px;cursor:pointer;align-items:center}
.faqbtn{background:none;border:0;color:inherit;font:inherit;font-weight:inherit;text-align:left;width:100%;display:flex;align-items:center;justify-content:space-between;gap:14px;padding:14px 8px 14px 2px;cursor:pointer;min-height:48px;line-height:1.35}
.faqbtn::after{content:"";flex:none;width:12px;height:12px;margin:3px 5px 3px 2px;border-right:2.5px solid var(--accent);border-bottom:2.5px solid var(--accent);transform:rotate(45deg);transition:transform .2s}
.faq.closed .faqbtn::after{transform:rotate(-45deg)}
.faq.closed .faqbody{display:none}
.faq h3{margin:0}
.backtools{display:none}
#mergeRes a,#imgRes a,#pdfJpgRes a{display:inline-flex;align-items:center;min-height:52px;padding:12px 20px;margin-top:14px;background:var(--accent);color:#fff;border-radius:12px;text-decoration:none;font-weight:800}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.faqbtn::after{transition:none}}
@media(max-width:1000px){.grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:760px){
 .wrap{padding:0 16px}
 .topin{flex-wrap:nowrap;padding:8px 0;gap:10px}
 .logo{font-size:18px}
 .menubtn{display:inline-flex}
 nav.main{display:none;position:absolute;top:100%;left:0;right:0;background:var(--surface);border-bottom:1px solid var(--line);flex-direction:column;flex-wrap:nowrap;gap:2px;padding:10px 16px 14px;box-shadow:0 18px 30px rgba(0,0,0,.14)}
 nav.main.open{display:flex}
 nav.main a{min-height:52px;font-size:16px;border-radius:10px;padding:10px 12px}
 .hero{padding:20px 0 14px}
 .hero h1{font-size:30px}
 .hero p.lead{font-size:17px}
 .hero{display:flex;flex-direction:column}
 .heroGrid{display:contents}
 .heroGrid>div{order:1}
 .searchbox{order:2}
 .heroImg{order:3;margin-top:14px}
 .kpis{order:4}
 .filters{order:5}
 #grid{order:6}
 #noRes{order:7}
 .heroImg img{height:168px;max-height:168px;border-radius:16px}
 .heroImg figcaption{font-size:12.5px;margin-top:7px}
 .badge{font-size:12.5px}
 .kpis{display:grid;grid-template-columns:1fr 1fr;gap:10px}
 .kpi{padding:10px 14px}.kpi b{font-size:18px}
 .searchbox{padding:10px 0 8px;margin:12px 0 4px}
 .searchbox input{min-height:52px}
 .filters{flex-wrap:wrap;overflow:visible;padding:4px 0 6px;margin:6px 0 14px;gap:8px}
 .filters button{flex:0 1 auto;white-space:normal;text-align:center}
 .grid{grid-template-columns:1fr;gap:12px}
 .card{padding:18px}
 .card p{font-size:15.5px}
 .cols{grid-template-columns:1fr;gap:14px}
 .related{grid-template-columns:1fr}
 .panel{padding:18px 16px;border-radius:16px}
 section.block{padding:24px 0}
 label{font-size:15px;margin:16px 0 6px}
 input[type=file]{min-height:60px;padding:18px 14px;font-size:16px}
 #toolView{padding-bottom:150px}
 #toolView .panel>.btn{position:fixed;left:12px;right:12px;bottom:calc(10px + env(safe-area-inset-bottom));width:auto;margin:0;z-index:40;box-shadow:0 10px 28px rgba(10,30,20,.35);border-radius:14px}
 .crumbs{white-space:normal;overflow:visible;text-overflow:clip;padding-top:14px;line-height:1.55;word-break:break-word}
 .backtools{display:inline-flex;align-items:center;min-height:48px;font-weight:700;text-decoration:none;color:var(--accent);margin-top:2px}
 .toolhero h1{font-size:28px}
 table{display:block;max-width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}
 footer{padding-bottom:36px}
 body:has(#toolView:not(.hide)) footer{padding-bottom:150px}
 footer a{display:inline-flex;align-items:center;min-height:48px}
 .panel p a{display:inline-flex;align-items:center;min-height:48px}
 .crumbs a{display:inline-flex;align-items:center;min-height:48px}
 .result strong{font-size:20px}
 h2{font-size:24px}
}
@media(max-width:380px){.hero h1{font-size:27px}.toolhero h1{font-size:26px}.heroImg img{height:148px;max-height:148px}.kpis{grid-template-columns:1fr 1fr;gap:8px}.kpi{padding:9px 12px}}
.toolintro{display:grid;grid-template-columns:1.02fr .98fr;gap:28px;align-items:start;margin:20px 0 10px}
.toolintro .lead{order:1;margin:0}
.toolphoto{order:2;margin:0;width:100%;max-width:560px;justify-self:end}
.toolphoto img{display:block;width:100%;height:auto;aspect-ratio:16/9;max-height:320px;object-fit:cover;border-radius:16px;border:1px solid var(--line);background:var(--amberSoft)}
.toolphoto figcaption{font-size:13.5px;color:var(--muted);margin-top:8px}
ol.passos li,section.block ul li{margin:6px 0}
.checkline{display:flex;align-items:center;gap:10px;font-weight:600}
.checkline input{width:22px;height:22px;min-height:22px;accent-color:var(--accent);flex:none}
.tblwrap{overflow-x:auto;margin-top:14px}
.cathero{border-radius:20px;padding:26px;margin:18px 0 22px;color:#fff}
.cathero .crumbs{color:#DCE7F2;padding:0 0 6px}.cathero .crumbs a{color:#fff}
.cathero h1{color:#fff;font-size:clamp(30px,5vw,46px)}
.cathero p{max-width:640px;color:#EDF3F9}
.cathero .catcount{font-weight:800;color:#fff}
.catheroGrid{display:grid;grid-template-columns:1.05fr .95fr;gap:26px;align-items:center}
.cathero figure{margin:0}.cathero figure img{display:block;width:100%;height:100%;max-height:280px;aspect-ratio:16/9;object-fit:cover;border-radius:16px}
.catchips{display:flex;flex-wrap:wrap;gap:10px}.catchips a{text-decoration:none;font-weight:700;border:1.5px solid var(--cc);color:var(--cc);padding:10px 16px;border-radius:999px;min-height:48px;display:inline-flex;align-items:center}
.catchips a.on{background:var(--cc);color:#fff}
.footgrid{display:grid;grid-template-columns:1.35fr 1fr 1fr 1fr;gap:28px}
footer h3{color:#fff;font-size:15.5px;margin:0 0 10px;font-family:"Plus Jakarta Sans",sans-serif}
footer .footcol a{display:block;padding:5px 0;text-decoration:none}
footer .footcol a:hover{text-decoration:underline}
.footbar{border-top:1px solid rgba(255,255,255,.22);margin-top:28px;padding-top:18px;display:flex;flex-wrap:wrap;gap:8px 22px;justify-content:space-between}
.prose h2{font-size:22px;margin-top:26px}.prose p{color:var(--ink)}
@media(max-width:760px){
 .toolintro{grid-template-columns:1fr;gap:12px;margin:14px 0 6px}
 .toolphoto{order:0;max-width:none;justify-self:stretch}
 .toolintro .lead{order:1}
 .toolphoto img{height:170px;max-height:170px;border-radius:14px}
 .cathero{padding:20px 18px;margin:14px 0 18px}
 .catheroGrid{grid-template-columns:1fr;gap:14px}
 .cathero figure img{max-height:168px}
 .footgrid{grid-template-columns:1fr;gap:20px}
 footer .footcol a{display:inline-flex;align-items:center;min-height:44px;padding:4px 10px 4px 0;margin-right:8px}
 .footbar{flex-direction:column;gap:6px}
}

/* Camada de design alinhada com a familia visual navy e esmeralda */
header.top{background:var(--navy);border-bottom:3px solid var(--accent2);backdrop-filter:none}
header.top .logo{color:#fff}
header.top .logo .certo{color:#6FD3A7}
header.top nav.main a{color:#DDE8E2}
header.top nav.main a:hover{background:rgba(255,255,255,.12);color:#fff}
.menubtn{background:#E6F4EA;color:#0A1F33}
@media(max-width:760px){header.top nav.main{background:var(--surface)}header.top nav.main a{color:var(--ink)}header.top nav.main a:hover{background:var(--bg);color:var(--ink)}}
.btn{background:linear-gradient(120deg,#046A38 55%,#059669 135%);color:#fff;box-shadow:0 10px 24px rgba(4,106,56,.25)}
.btn:hover{background:linear-gradient(120deg,#03572F 55%,#046A38 135%)}
.btn2{background:var(--surface);color:var(--navy);border:1.5px solid var(--navy)}
#mergeRes a,#imgRes a,#pdfJpgRes a{background:linear-gradient(120deg,#046A38 55%,#059669 135%)}
input[type=number],input[type=text],input[type=date],input[type=url],input[type=search],select{min-height:52px;border:1.5px solid var(--line);border-radius:12px;padding:13px 16px;background:var(--surface)}
input:focus,select:focus{border-color:var(--accent);outline:none;box-shadow:0 0 0 3px rgba(4,106,56,.18)}
input[type=file]{border:1.5px dashed var(--accent);border-radius:12px;background:#EFF7F1;padding:16px}
.result{background:var(--resultBg);border:1px solid var(--resultLine);color:var(--resultInk)}
.result a{color:#9FE8C0}
@media print{.result{background:#fff!important;color:#0A1F33!important;border-color:#DFE7E1!important}}
#toolWrap .panel{box-shadow:0 24px 60px rgba(10,31,51,.14)}
.heroImg img{box-shadow:0 24px 60px rgba(10,31,51,.14)}
.toolphoto img{box-shadow:0 18px 44px rgba(10,31,51,.12)}
.kpi b{color:var(--accent)}
.badge{background:var(--navy)}
.tablewrap{overflow-x:auto;margin:16px 0}
.tablewrap table{background:var(--surface)}
.note{background:#EFF7F1}


/* ==== Wave 2 responsive type and spacing system ==== */
body{font-size:16px;line-height:1.6}
h1,h2,h3{letter-spacing:-.01em}
h1{line-height:1.18}
h2{line-height:1.28}
h3{line-height:1.32}
p{margin:0 0 16px}
.block p,.panel p,.prose p{line-height:1.65}
.block p,.panel p{max-width:70ch}
.card{padding:22px}
.card h3{line-height:1.3;margin:8px 0 8px}
.card p{font-size:15.5px;line-height:1.6;margin:0}
.catlabel{margin:10px 0 6px;line-height:1.4}
.grid{gap:16px}
.filters{display:flex;flex-wrap:wrap;gap:10px}
.filters button,.filters a,.catchips a{font-size:15px;line-height:1.35;padding:10px 16px;min-height:44px;display:inline-flex;align-items:center}
.searchbox input,#q{width:100%;height:54px;font-size:16px}
.note{font-size:15px;line-height:1.6}
.crumbs{font-size:15px;line-height:1.5}
figcaption{font-size:15px;line-height:1.55}
footer{font-size:15.5px;line-height:1.65}
.faqbtn{font-size:16.5px;line-height:1.4;padding-top:16px;padding-bottom:16px}
.hero{padding:40px 0 32px}
.hero h1{font-size:clamp(30px,6.4vw,56px);line-height:1.16;margin:0 0 18px}
.toolhero h1,.cathero h1,h1{overflow-wrap:break-word}
.hero figure{margin-top:24px}
.menubtn{min-height:44px}
@media(max-width:768px){
 .block{padding:40px 0}
 .hero{padding:28px 0 32px}
 .hero h1{font-size:clamp(30px,8.6vw,40px)}
 .toolintro{grid-template-columns:1fr}
 .toolphoto{max-width:100%;justify-self:stretch;margin-top:20px}
 .card{padding:20px}
 section.block{padding-top:40px;padding-bottom:40px}
}
@media(max-width:659px){.grid{grid-template-columns:1fr}}
@media(min-width:660px) and (max-width:1024px){.grid{grid-template-columns:1fr 1fr}}
@media(min-width:1025px){.grid{grid-template-columns:repeat(3,1fr)}}
@media(max-width:430px){
 .wrap{padding:0 16px}
 .hero p.lead{font-size:17.5px;line-height:1.6}
}
@media(max-width:380px){
 .logo{font-size:17px;gap:6px}
 .logo .mark{width:30px;height:30px}
 .menubtn{padding:10px 14px}
}
.twrap{overflow-x:auto;-webkit-overflow-scrolling:touch}
table{max-width:100%}
.heroImg figcaption,.toolphoto figcaption{font-size:15px;line-height:1.55}

.searchbox{position:static;top:auto}
/* ==== Header separation fix: clear gap below the sticky header on every view ==== */
header.top{z-index:60}
.topin{padding-top:12px;padding-bottom:12px}
#homeView .hero{padding-top:56px;margin-top:0}
#homeView .hero .badge{margin-top:0}
#toolView .crumbs{padding-top:40px}
#pageView .crumbs{padding-top:40px}
#catView .cathero{margin-top:40px}
main[id]{scroll-margin-top:92px}
section[id],h2[id]{scroll-margin-top:92px}
html{scroll-padding-top:92px}
@media(max-width:768px){
.topin{padding-top:10px;padding-bottom:10px}
#homeView .hero{padding-top:36px}
#toolView .crumbs{padding-top:24px}
#pageView .crumbs{padding-top:24px}
#catView .cathero{margin-top:24px}
}


/* Light-design lock: this page is a light design only. A system appearance setting must never recolour it: no browser auto-inversion or recolouring. Same fix as the other projects. The designed navy elements (header, footer, result panels, category heroes, badge) are design, not an OS theme, and are intentionally not pinned here. */
:root,html,body{color-scheme:light only}
html{background:#F7F9F7;background-color:#F7F9F7;color-scheme:light only}
body{background-color:#F7F9F7;color:#334155}
h1,h2{color:#0A1F33}
input,select,textarea,button,datalist,option,optgroup{color-scheme:light only}
input[type=number],input[type=text],input[type=date],input[type=url],input[type=search],input[type=email],input[type=tel],select,textarea{background-color:#FFFFFF;color:#0A1F33}
option,optgroup{background-color:#FFFFFF;color:#0A1F33}
input[type=checkbox],input[type=radio]{color-scheme:light only;background-color:#FFFFFF;accent-color:#046A38}
input[type=file]{background-color:#EFF7F1;color:#334155}
::placeholder{color:#5A6B7D;opacity:1}
input:-webkit-autofill,textarea:-webkit-autofill,select:-webkit-autofill{-webkit-text-fill-color:#0A1F33;box-shadow:0 0 0 1000px #FFFFFF inset}
img,svg,picture,video{color-scheme:light}
.card,.panel,.kpi,.tablewrap table,table,thead,tbody,tr,td,th{background-color:#FFFFFF}
td,th{color:#334155}
.note{background-color:#EFF7F1;color:#334155}
.btn2{background-color:#FFFFFF;color:#0A1F33}
.filters button{background-color:#FFFFFF;color:#334155}
.filters button.active{background-color:#334155;color:#F7F9F7;border-color:#334155}
@media(max-width:760px){header.top nav.main{background-color:#FFFFFF}header.top nav.main a{color:#334155}}


/* ==== Wave 4: container alignment, FAQ padding, logo capitals ==== */
.wrap{padding-left:20px;padding-right:20px}
section.block{padding-left:20px;padding-right:20px}
section.wrap.block,div.wrap.hero{padding-left:20px;padding-right:20px}
#catWrap,#pageWrap,#toolWrap{padding-left:20px;padding-right:20px}
footer .wrap{padding-left:20px;padding-right:20px}
@media(max-width:760px){.wrap,section.block,section.wrap.block,div.wrap.hero,#catWrap,#pageWrap,#toolWrap,footer .wrap{padding-left:20px;padding-right:20px}}
.faq{padding:0}
.faqbtn{padding:16px 20px;min-height:56px}
.faqbody{padding:2px 20px 18px}
.faqbody p{margin:0}
.gfig{margin:16px 0}
.gfig img{display:block;width:100%;height:auto;max-height:340px;object-fit:cover;border-radius:16px;border:1px solid var(--line)}
.gfig figcaption{font-size:14.5px;color:var(--muted);margin-top:8px;line-height:1.55}
.logo,.footlogo{text-transform:uppercase;letter-spacing:.03em}
@media(max-width:430px){.logo{font-size:16.5px;letter-spacing:.02em}}


/* ==== Hero: amostra da Calculadora de Salário Líquido no lugar da fotografia ==== */
.heroTool{background:var(--surface);border:1px solid var(--line);border-radius:18px;box-shadow:0 18px 44px rgba(10,31,51,.13);padding:22px;width:100%;max-width:540px;justify-self:end;margin:0}
.ht-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:6px}
.ht-title{display:flex;gap:12px;align-items:center}
.ht-icon{width:44px;height:44px;border-radius:12px;background:#EFF7F1;display:flex;align-items:center;justify-content:center;flex:none}
.ht-icon svg{width:24px;height:24px}
.ht-head h2{font-size:20px;margin:0}
.ht-head p{margin:2px 0 0;font-size:13.5px;color:var(--muted)}
.ht-badge{background:#FFF6D8;border:1px solid #EBD98A;color:#6B5310;font-size:12px;font-weight:700;border-radius:999px;padding:5px 10px;white-space:nowrap}
.ht-field{margin-top:14px}
.ht-field label{margin:0 0 7px;font-size:14px}
.ht-row{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.ht-input{position:relative}
.ht-input input{padding-right:52px}
.ht-input .ht-suffix{position:absolute;right:14px;top:50%;transform:translateY(-50%);color:var(--muted);font-weight:600;font-size:14px;pointer-events:none}
.heroTool .btn{margin-top:18px}
.ht-result{margin-top:18px;background:var(--resultBg);border:1px solid var(--resultLine);border-radius:14px;padding:18px;color:var(--resultInk)}
.ht-rrow{display:flex;justify-content:space-between;gap:16px;font-size:14.5px;padding:5px 0;color:#D6E6F2}
.ht-rrow b{color:#fff;font-weight:600;white-space:nowrap}
.ht-divider{border:0;border-top:1px solid rgba(255,255,255,.18);margin:10px 0}
.ht-big{display:flex;justify-content:space-between;align-items:baseline;gap:12px;flex-wrap:wrap}
.ht-big .ht-label{font-size:14px;font-weight:600;color:#D6E6F2}
.ht-big .ht-value{font-family:"Plus Jakarta Sans",sans-serif;font-size:30px;font-weight:800;color:#fff;white-space:nowrap;line-height:1.1}
.ht-big .ht-value small{font-size:14px;font-weight:600;color:#9FD8BB}
.ht-annual{font-size:13.5px;color:#BFD6E8;margin-top:2px;text-align:right}
.ht-meal{background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.12);border-radius:10px;padding:9px 12px;margin-top:12px;font-size:13.5px;color:#D6E6F2;display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap}
.ht-meal b{color:#fff;white-space:nowrap}
.ht-note{font-size:13.5px;color:var(--muted);margin:14px 0 0}
.ht-link{display:inline-flex;align-items:center;min-height:48px;gap:7px;font-weight:700;color:var(--accent);text-decoration:none;border-bottom:2px solid var(--accent2);padding-bottom:1px}
.ht-link:hover{color:var(--navy)}
@media(max-width:900px){.heroTool{max-width:none;justify-self:stretch}}
@media(max-width:760px){.heroGrid>.heroTool{order:3;margin-top:14px}.heroTool{padding:18px 16px}.ht-big .ht-value{font-size:27px}}
@media(max-width:560px){.ht-row{gap:10px}}


/* ==== Hero search: white container with inset emerald Procurar button (draft treatment) ==== */
.searchbox{display:flex;align-items:center;flex-wrap:nowrap;gap:8px;background:#fff;border:1px solid var(--line);border-radius:18px;box-shadow:0 10px 30px rgba(10,31,51,.08);padding:6px;margin:24px 0 0;position:static}
.searchbox:focus-within{border-color:var(--accent);box-shadow:0 10px 30px rgba(10,31,51,.10),0 0 0 3px rgba(4,106,56,.15)}
.searchbox #q{flex:1 1 auto;width:auto;min-width:0;height:48px;min-height:0;border:none;background:transparent;color:var(--ink);font-size:16px;line-height:1.4;padding:0 6px 0 14px;outline:none;box-shadow:none;border-radius:0;-webkit-appearance:none;appearance:none}
.searchbox #q::placeholder{color:var(--muted);opacity:1}
.searchbox .searchbtn{flex:0 0 auto;height:48px;min-height:48px;padding:0 24px;border:none;border-radius:12px;background:linear-gradient(90deg,#046A38,#059669);color:#fff;font-size:16px;font-weight:800;white-space:nowrap;cursor:pointer;box-shadow:none}
.searchbox .searchbtn:hover{filter:brightness(1.06)}
.searchex{font-size:14.5px;line-height:1.5;color:var(--muted);margin:10px 2px 0}
@media(max-width:760px){.searchbox{order:2;margin:14px 0 0;padding:6px}.searchex{order:2;margin:8px 2px 0}.searchbox .searchbtn{padding:0 18px}}


/* ==== Header: barra unica fina com botao Menu em todos os ecras; navegacao como painel sobreposto que nao empurra a pagina ==== */
.topin{flex-wrap:nowrap}
.menubtn{display:inline-flex}
header.top nav.main{display:none;position:absolute;top:100%;left:0;right:0;background:#FFFFFF;border-bottom:1px solid var(--line);flex-direction:column;flex-wrap:nowrap;gap:2px;padding:10px 16px 14px;box-shadow:0 18px 30px rgba(0,0,0,.14);z-index:40}
header.top nav.main.open{display:flex}
header.top nav.main a{color:#334155;min-height:52px;font-size:16px;border-radius:10px;padding:10px 12px;display:flex;align-items:center}
header.top nav.main a:hover{background:#F7F9F7;color:#0A1F33}
/* ==== Hero: as duas colunas alinhadas ao topo, sem faixa vazia sobre o H1 ==== */
.heroGrid{align-items:start}
.hero{padding-top:56px}
@media(max-width:760px){.hero{padding-top:36px}}
/* ==== Imagens de introducao das ferramentas e dos guias: um so tamanho em todos os ecras ==== */
/* ==== Hero: bloco Ferramentas mais procuradas na coluna esquerda ==== */
.htop-title{font-size:15px;font-weight:800;color:var(--navy);margin:0 0 4px}
.htop-line{font-size:14.5px;color:var(--muted);margin:0 0 12px}
.htop-links{display:grid;grid-template-columns:1fr 1fr;gap:10px 8px}
.htop-links a{display:flex;align-items:center;min-height:46px;padding:9px 14px;background:#fff;border:1px solid var(--line);border-radius:999px;color:var(--navy);font-size:14px;font-weight:600;text-decoration:none;line-height:1.3}
.htop-links a:hover{border-color:var(--accent);color:var(--accent)}
@media(min-width:901px){
.heroGrid{grid-template-rows:auto 1fr;gap:20px 36px}
.heroGrid>.heroTool{grid-row:1/span 2;grid-column:2}
.heroTop{grid-column:1;grid-row:2;align-self:start}
.htop-links{grid-auto-flow:column;grid-template-rows:repeat(5,auto)}
}
@media(max-width:760px){.heroGrid>.heroTop{order:4;margin-top:18px}}
@media(min-width:761px){.toolphoto{max-width:540px}}
.gfig img{aspect-ratio:16/9;max-height:none}
@media(max-width:760px){.gfig img{height:auto;max-height:none}}


/* ==== Introducao das ferramentas: colunas equilibradas, figura a preencher a altura do texto, Resumo rapido ==== */
.resumo{margin-top:16px;background:#EFF7F1;border:1px solid var(--line);border-radius:14px;padding:14px 16px 6px}
.resumo-t{font-family:"Plus Jakarta Sans",sans-serif;font-weight:800;font-size:15px;color:var(--navy);margin:0 0 8px}
.ritem{font-size:14.5px;line-height:1.5;color:var(--ink);margin:0 0 9px}
.ritem strong{color:var(--navy)}
@media(min-width:769px){
.toolintro{align-items:stretch}
.tooltext{order:1;min-width:0}
.toolintro .lead{margin:0}
.toolphoto{order:2;position:relative;height:100%;min-height:240px;max-height:460px}
.toolphoto img{width:100%;height:100%;min-height:240px;max-height:460px;aspect-ratio:auto;object-fit:cover}
.toolphoto figcaption{position:absolute;left:0;right:0;bottom:0;margin:0;padding:38px 16px 12px;background:linear-gradient(to top,rgba(6,24,38,.86),rgba(6,24,38,0));color:#fff;font-size:13.5px;line-height:1.45;border-radius:0 0 16px 16px}
}
@media(max-width:768px){
.tooltext{order:1;min-width:0}
.toolphoto{height:auto;min-height:0;max-height:none}
.toolphoto img{min-height:0}
.resumo{margin-top:14px}
}