
/* Arquivo auto-alojado (self-hosted, substitui o link para Google Fonts) */
@font-face{
  font-family:'Archivo';
  font-style:normal;
  font-weight:400 800;
  font-display:swap;
  src:url(/fonts/archivo-latin.woff2) format('woff2');
  unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF;
}
@font-face{
  font-family:'Archivo';
  font-style:normal;
  font-weight:400 800;
  font-display:swap;
  src:url(/fonts/archivo-latin-ext.woff2) format('woff2');
  unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB;
}

:root{
 --ink:#161616; --ever:#0D231C; --chart:#BDEA42; --mut:#5A5A5A;
 --bg:#F6F6F3; --sur:#FFFFFF; --line:#E4E4DE; --line2:#EFEFEA;
 --ff:"Archivo",-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;
 --wrap:1180px; --pad:clamp(18px,4vw,44px);
}
*{box-sizing:border-box;margin:0;padding:0}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}
body{background:var(--bg);color:var(--ink);font-family:var(--ff);font-size:16.5px;
 line-height:1.62;-webkit-font-smoothing:antialiased;overflow-x:hidden;
 display:flex;flex-direction:column;min-height:100vh}
.wrap{max-width:var(--wrap);margin:0 auto;padding:0 var(--pad);width:100%}
a{color:inherit}
h1,h2,h3{line-height:1.06;letter-spacing:-.022em;text-wrap:balance}
main{flex:1}
img{max-width:100%;display:block}
.pc .nm,.pc .md,.pc .cd,.feats dd,.gc .nm,.gc .mt{overflow-wrap:anywhere}
html,body{max-width:100%;overflow-x:clip}
.wrap>*,.pl,.gg,.cat,.tri,.quem,.cols,.pp,.feats{min-width:0}
.mig b,.mig a{overflow-wrap:anywhere}

/* ---- cabecalho ---- */
.top{background:var(--ever);color:#EDEDED;position:sticky;top:0;z-index:60}
.top .wrap{display:flex;align-items:center;justify-content:space-between;gap:14px;
 min-width:0;flex-wrap:nowrap;
 min-height:62px}
/* Nenhum destes pode encolher abaixo do seu conteudo: quando encolhem, o texto
   sai da caixa e sobrepoe-se ao vizinho — foi o que aconteceu quando o seletor
   de idioma acrescentou ~120px a linha. So a pesquisa e' flexivel. */
.mlk,.cot,.nav,.lang{flex:0 0 auto}
.mlogo{height:21px;width:auto}
.nav{display:flex;gap:18px;font-size:13px;letter-spacing:.03em;text-transform:uppercase;
 font-weight:600}
.nav a{color:rgba(237,237,237,.72);text-decoration:none;padding:20px 0;
 border-bottom:2px solid transparent}
.nav a:hover,.nav a:focus-visible{color:#fff}
.nav a[aria-current]{color:var(--chart);border-bottom-color:var(--chart)}
.burger{display:none;background:none;border:1px solid rgba(237,237,237,.3);color:#EDEDED;
 padding:7px 11px;font:inherit;font-size:13px;cursor:pointer}

/* ---- seletor de idioma ---- */
.lang{display:flex;gap:1px;flex:0 0 auto;margin-left:10px}
.lang a{display:inline-flex;align-items:center;justify-content:center;min-width:31px;
 padding:6px 6px;font-size:12px;font-weight:700;letter-spacing:.04em;text-decoration:none;
 color:rgba(237,237,237,.6);border:1px solid transparent;border-radius:2px}
.lang a:hover,.lang a:focus-visible{color:#fff;border-color:rgba(237,237,237,.28)}
.lang a[aria-current]{color:var(--ever);background:var(--chart);border-color:var(--chart)}
@media(max-width:1009px){
 .nav{display:none;position:absolute;top:100%;left:0;right:0;background:var(--ever);
  flex-direction:column;gap:0;padding:6px var(--pad) 18px;border-top:1px solid rgba(255,255,255,.1)}
 .nav.on{display:flex}
 .nav a{padding:13px 0;border-bottom:1px solid rgba(255,255,255,.08)}
 .burger{display:block}
}

/* ---- migalhas ---- */
.mig{background:var(--sur);border-bottom:1px solid var(--line)}
.mig .wrap{padding-top:13px;padding-bottom:13px;font-size:13px;color:var(--mut);
 display:flex;gap:8px;flex-wrap:wrap;align-items:center}
.mig a{text-decoration:none;color:var(--mut)}
.mig a:hover{color:var(--ink)}
.mig .sep{opacity:.45}
.mig b{color:var(--ink);font-weight:600}

/* ---- entrada ---- */
.hero{background:var(--ever);color:#EDEDED;position:relative;overflow:hidden}
.hero .tex{position:absolute;inset:-14% -6% auto -6%;height:150%;opacity:.06;
 pointer-events:none;background:url(/img/pattern.svg) center/118% no-repeat}
.hero .wrap{position:relative;padding-top:clamp(46px,7vw,86px);
 padding-bottom:clamp(34px,5vw,56px)}
.eyebrow{font-size:12.5px;letter-spacing:.16em;text-transform:uppercase;color:var(--chart);
 font-weight:700;margin-bottom:18px}
.hero h1{font-size:clamp(33px,6.2vw,66px);font-weight:800;text-transform:uppercase;
 letter-spacing:-.032em}
.hero h1 .g{color:var(--chart);display:block}
.hero .lede{margin-top:22px;max-width:58ch;font-size:clamp(16px,1.9vw,19.5px);
 color:rgba(237,237,237,.84)}
.hero .claim{margin-top:20px;font-size:clamp(17px,2vw,20px);font-weight:700;
 border-left:3px solid var(--chart);padding-left:15px}
.acts{margin-top:30px;display:flex;gap:11px;flex-wrap:wrap}
.btn{display:inline-flex;align-items:center;gap:9px;text-decoration:none;font-weight:700;
 font-size:15px;background:var(--chart);color:var(--ever);padding:13px 22px;
 border:1px solid var(--chart)}
.btn:hover,.btn:focus-visible{background:#CBF25A;border-color:#CBF25A}
.btn.gh{background:transparent;color:#EDEDED;border-color:rgba(237,237,237,.34)}
.btn.gh:hover,.btn.gh:focus-visible{border-color:var(--chart);color:var(--chart);background:transparent}
.btn.dk{background:var(--ever);color:#EDEDED;border-color:var(--ever)}
.btn.dk:hover,.btn.dk:focus-visible{background:#153229;border-color:#153229}

/* ---- numeros ---- */
.nums{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1px;background:rgba(237,237,237,.16);
 border:1px solid rgba(237,237,237,.16);margin-top:clamp(30px,4vw,44px)}
.nums div{background:var(--ever);padding:18px 16px}
.nums b{display:block;font-size:clamp(23px,3.6vw,34px);font-weight:800;color:var(--chart);
 letter-spacing:-.03em;font-variant-numeric:tabular-nums;line-height:1}
.nums span{display:block;margin-top:6px;font-size:12px;letter-spacing:.07em;
 text-transform:uppercase;color:rgba(237,237,237,.62)}
@media(max-width:640px){.nums{grid-template-columns:repeat(2,minmax(0,1fr))}}

/* ---- seccoes ---- */
section{padding:clamp(44px,6.5vw,80px) 0}
section.sur{background:var(--sur);border-top:1px solid var(--line);
 border-bottom:1px solid var(--line)}
.stit{display:flex;align-items:baseline;justify-content:space-between;gap:20px;
 flex-wrap:wrap;margin-bottom:8px}
h2{font-size:clamp(21px,3.1vw,33px);font-weight:800;text-transform:uppercase}
.rule{width:46px;height:3px;background:var(--chart);margin-top:14px}
.prosa{margin-top:26px;display:grid;gap:16px;max-width:64ch;color:#33393A;
 font-size:clamp(15.5px,1.7vw,17.5px)}
.ver{font-size:14px;font-weight:700;text-decoration:none;border-bottom:2px solid var(--chart);
 padding-bottom:2px;white-space:nowrap}
.ver:hover,.ver:focus-visible{border-bottom-color:var(--ink)}

/* ---- grelha de gamas ---- */
.gg{margin-top:30px;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}
.gc{background:var(--sur);border:1px solid var(--line);text-decoration:none;
 display:flex;flex-direction:column;transition:border-color .12s,transform .12s}
.gc:hover,.gc:focus-visible{border-color:var(--chart);transform:translateY(-2px)}
.gc .tile{aspect-ratio:4/3;background:var(--ever);position:relative;overflow:hidden;
 display:grid;place-items:center}
.gc .tile .pt{position:absolute;inset:-25%;background:url(/img/pattern.svg) center/150% no-repeat;opacity:.13}
.gc .tile .cd{position:relative;font-size:clamp(26px,3vw,36px);font-weight:800;
 color:var(--chart);letter-spacing:-.03em}
.gc .tile img{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;
 background:#fff;padding:8%}
.gc .bd{padding:15px 16px 17px;display:flex;flex-direction:column}
.gc .nm{display:block;font-size:16.5px;font-weight:700;line-height:1.22}
.gc .mt{display:block;margin-top:6px;font-size:12.5px;color:var(--mut);letter-spacing:.03em}
@media(max-width:1000px){.gg{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:720px){.gg{grid-template-columns:repeat(2,minmax(0,1fr))}}

/* ---- lista de linhas / produtos ---- */
.lh{margin-top:44px}
.lh:first-of-type{margin-top:28px}
.lh h3{font-size:clamp(17px,2.1vw,22px);font-weight:800;text-transform:uppercase;
 padding-bottom:11px;border-bottom:2px solid var(--ink)}
.lh .cnt{font-size:12.5px;color:var(--mut);font-weight:600;letter-spacing:.05em;
 text-transform:uppercase;margin-left:10px}
.pl{margin-top:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1px;
 background:var(--line);border:1px solid var(--line);border-top:none}
.pc{background:var(--sur);padding:0;text-decoration:none;display:flex;flex-direction:column}
.pc:hover,.pc:focus-visible{background:#FCFDFA}
.pc .ph{aspect-ratio:16/11;background:var(--bg);display:grid;place-items:center;
 border-bottom:1px solid var(--line2);overflow:hidden;position:relative}
.pc .ph img{width:100%;height:100%;object-fit:contain;padding:9%}
.pc .ph .semimg{font-size:11px;letter-spacing:.1em;text-transform:uppercase;
 color:#B8B8AE;font-weight:600}
.pc .bd{padding:14px 16px 16px;display:flex;flex-direction:column;gap:6px;flex:1}
.pc .cd,.pc .nm,.pc .md{display:block}
.pc .cd{font-size:11.5px;letter-spacing:.09em;color:var(--mut);
 font-variant-numeric:tabular-nums}
.pc .nm{font-size:15.5px;font-weight:700;line-height:1.26;flex:1}
.pc .md{font-size:13px;color:var(--mut)}
@media(max-width:960px){.pl{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:560px){.pl{grid-template-columns:minmax(0,1fr)}}

button.btn{font:inherit;cursor:pointer}
/* ---- pagina Empresa ---- */
.emp{margin-top:26px;display:grid;grid-template-columns:minmax(0,1.35fr) minmax(0,1fr);
 gap:44px;align-items:start}
@media(max-width:860px){.emp{grid-template-columns:minmax(0,1fr);gap:26px}}
.empn{display:grid;gap:1px;background:var(--line);border:1px solid var(--line)}
.empn div{background:var(--sur);padding:17px 19px}
.empn b{display:block;font-size:27px;line-height:1;letter-spacing:-.01em}
.empn span{display:block;margin-top:6px;font-size:12.5px;color:var(--mut);
 text-transform:uppercase;letter-spacing:.06em;line-height:1.45}
.dados{margin-top:26px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));
 gap:0 44px}
@media(max-width:760px){.dados{grid-template-columns:minmax(0,1fr)}}

/* ---- mapa ---- */
.mapa{margin:34px 0 0;border:1px solid var(--line);background:var(--sur)}
.mapa iframe{display:block;width:100%;height:340px;border:0;filter:saturate(.82)}
@media(max-width:640px){.mapa iframe{height:260px}}
.mapa figcaption{padding:11px 15px;font-size:13px;color:var(--mut);
 border-top:1px solid var(--line)}
.mapa a{color:var(--ink)}

/* ---- cesto de cotacao ---- */
.cot{display:inline-flex;align-items:center;gap:7px;text-decoration:none;color:#EDEDED;
 font-size:12.5px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;
 padding:7px 12px;border:1px solid rgba(255,255,255,.2);border-radius:2px;white-space:nowrap}
.cot .coti{display:none;width:16px;height:16px;fill:currentColor;flex:0 0 auto}
.cot:hover,.cot:focus-visible{border-color:var(--chart);color:var(--chart)}
.cot .cotn{display:inline-grid;place-items:center;min-width:20px;height:20px;padding:0 5px;
 background:var(--chart);color:#0D231C;border-radius:10px;font-size:11.5px;font-weight:800;
 letter-spacing:0}
.cot[data-vazio="1"] .cotn{background:rgba(255,255,255,.18);color:#EDEDED}

.pqt{display:flex;align-items:center;gap:9px;margin-top:2px}
.pqt label{font-size:11.5px;letter-spacing:.07em;text-transform:uppercase;color:var(--mut);
 font-weight:700}
.pqt input{width:78px;font:inherit;font-size:15.5px;padding:10px 10px;border:1px solid var(--line);
 background:var(--sur);border-radius:2px;outline:none;color:var(--ink)}
.pqt input:focus{border-color:var(--ink)}
.addmsg{margin-top:11px;font-size:14px;font-weight:600;min-height:1.2em}
.addmsg.bom{color:#2E7D32}
.addmsg.mau{color:#C4342A}
.addmsg a{color:inherit}

.ctab{width:100%;border-collapse:collapse;margin-top:22px;background:var(--sur);
 border:1px solid var(--line)}
.ctab th{text-align:left;font-size:11px;letter-spacing:.08em;text-transform:uppercase;
 color:var(--mut);padding:11px 14px;border-bottom:1px solid var(--line);font-weight:700}
.ctab td{padding:13px 14px;border-bottom:1px solid var(--line);vertical-align:top}
.ctab tr:last-child td{border-bottom:0}
.ctab a{color:var(--ink);text-decoration:none}
.ctab a:hover b{text-decoration:underline}
.ctab b{display:block;font-size:15.5px;line-height:1.3;overflow-wrap:anywhere}
.ctab .ccod,.ctab .cref{display:block;font-size:12.5px;color:var(--mut);margin-top:3px;
 font-variant-numeric:tabular-nums}
.ctab .cq{width:112px}
.ctab .cq input{width:88px;font:inherit;font-size:15.5px;padding:8px 9px;
 border:1px solid var(--line);background:var(--bg);border-radius:2px;outline:none}
.ctab .cq input:focus{border-color:var(--ink);background:var(--sur)}
.ctab .cx{width:92px;text-align:right}
.ctab .cx button{font:inherit;font-size:13px;color:var(--mut);background:none;border:0;
 cursor:pointer;padding:6px 2px;text-decoration:underline;text-underline-offset:3px}
.ctab .cx button:hover{color:#C4342A}
.cbar{display:flex;justify-content:space-between;align-items:baseline;gap:16px;
 margin-top:12px;flex-wrap:wrap}
.cbar #cottot{font-size:14px;font-weight:700}
.cbar button{font:inherit;font-size:13.5px;color:var(--mut);background:none;border:0;
 cursor:pointer;text-decoration:underline;text-underline-offset:3px}
.cbar button:hover{color:#C4342A}

/* ---- redes sociais (em destaque nos contactos) ---- */
.redes{display:grid;gap:1px;background:var(--line);border:1px solid var(--line);
 margin-top:13px}
.redes a{background:var(--sur);padding:16px 17px;text-decoration:none;display:flex;
 align-items:flex-start;gap:14px}
.redes a:hover,.redes a:focus-visible{background:#FCFDFA}
.redes .ri{flex:0 0 auto;width:40px;height:40px;display:grid;place-items:center;
 background:var(--ever);border-radius:2px}
.redes .ri svg{width:20px;height:20px;fill:var(--chart)}
.redes a:hover .ri,.redes a:focus-visible .ri{background:var(--chart)}
.redes a:hover .ri svg,.redes a:focus-visible .ri svg{fill:var(--ever)}
.redes .rt{min-width:0}
.redes b{display:block;font-size:16.5px;line-height:1.3}
.redes small{display:block;color:var(--mut);font-size:13.5px;line-height:1.45;margin-top:4px}
.redes .st{margin-left:auto;color:#7FA82A;font-size:19px;line-height:1.9;flex:0 0 auto}
.navisita{margin-top:18px;font-size:14px;color:var(--mut);line-height:1.55}

/* ---- formulario ---- */
.form{margin-top:30px;background:var(--sur);border:1px solid var(--line);padding:26px}
.form h3{font-size:19px;margin:0 0 5px}
.form .intro{font-size:14.5px;color:var(--mut);margin:0 0 20px;max-width:56ch}
.fg{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:15px}
@media(max-width:620px){.fg{grid-template-columns:minmax(0,1fr)}}
.fc{display:flex;flex-direction:column;gap:5px;min-width:0}
.fc.larga{grid-column:1/-1}
.fc label{font-size:11.5px;letter-spacing:.07em;text-transform:uppercase;
 color:var(--mut);font-weight:700}
.fc label i{font-style:normal;color:#C4342A}
.fc input,.fc textarea,.fc select{font:inherit;font-size:15.5px;padding:10px 12px;
 border:1px solid var(--line);background:var(--bg);border-radius:2px;outline:none;
 color:var(--ink);width:100%;min-width:0}
.fc select{appearance:none;-webkit-appearance:none;padding-right:34px;cursor:pointer;
 background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 8'><path fill='%236B726C' d='M6 8 0 0h12z'/></svg>");
 background-repeat:no-repeat;background-position:right 13px center;background-size:10px 7px}
.fc select:focus{border-color:var(--ink)}
.fc textarea{min-height:128px;resize:vertical;line-height:1.5}
.fc input:focus,.fc textarea:focus{border-color:var(--ink);background:var(--sur)}
.fc select[aria-invalid=true]{border-color:#C4342A}
.fc input[aria-invalid=true],.fc textarea[aria-invalid=true]{border-color:#C4342A}
.mel{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.fpe{margin-top:18px;display:flex;gap:14px;align-items:center;flex-wrap:wrap}
.fpe button{font:inherit;font-weight:700;font-size:15px;padding:12px 26px;border:0;
 background:var(--ever);color:#fff;cursor:pointer;border-radius:2px}
.fpe button:hover{background:#123027}
.fpe button[disabled]{opacity:.55;cursor:default}
.fnota{margin-top:14px;font-size:12.5px;color:var(--mut);line-height:1.5;max-width:62ch}
.fest{font-size:14.5px;font-weight:600}
.fest.mau{color:#C4342A}
.fok,.vok{background:#F2F8E2;border:1px solid #CDE59A;padding:20px 22px;margin-top:30px}
.fok b,.vok b{display:block;font-size:17px;margin-bottom:5px}
.form.visita{border-left:3px solid var(--chart)}

/* ---- pesquisa ---- */
.vh{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.busca{display:flex;align-items:center;flex:0 1 300px;min-width:170px;margin-left:auto;
 background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.16);border-radius:2px}
.busca:focus-within{border-color:var(--chart);background:rgba(255,255,255,.11)}
.busca input{flex:1;min-width:0;background:none;border:0;color:#fff;font:inherit;
 font-size:13.5px;padding:8px 10px;outline:none}
.busca input::placeholder{color:rgba(237,237,237,.5)}
.busca button{background:none;border:0;cursor:pointer;padding:6px 9px 6px 3px;line-height:0}
.busca svg{width:17px;height:17px;fill:rgba(237,237,237,.72)}
.busca button:hover svg,.busca button:focus-visible svg{fill:var(--chart)}
.pq{margin-top:26px;display:flex;gap:12px;align-items:baseline;flex-wrap:wrap}
.pq input{flex:1 1 340px;min-width:0;font:inherit;font-size:17px;padding:13px 15px;
 border:1px solid var(--line);background:var(--sur);border-radius:2px;outline:none}
.pq input:focus{border-color:var(--ink)}
.pcount{font-size:13.5px;color:var(--mut);font-weight:600}
.pres{margin-top:22px;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1px;
 background:var(--line);border:1px solid var(--line)}
@media(max-width:960px){.pres{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:560px){.pres{grid-template-columns:minmax(0,1fr)}}
.pres:empty{display:none}
.pvazio{margin-top:26px;padding:22px;background:var(--sur);border:1px solid var(--line)}
.pvazio b{display:block;margin-bottom:6px}
.pmais{margin-top:16px;font-size:13.5px;color:var(--mut)}
.pg-lbl{font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--mut)}
mark{background:#E8F7B8;color:inherit;padding:0 1px}

/* ---- barra lateral das linhas ---- */
.glay{display:grid;grid-template-columns:212px minmax(0,1fr);gap:34px;margin-top:26px}
@media(max-width:900px){.glay{grid-template-columns:minmax(0,1fr);gap:14px}}
.side{align-self:start;position:sticky;top:16px}
@media(max-width:900px){.side{position:static}}
.side h4{font-size:11px;letter-spacing:.09em;text-transform:uppercase;color:var(--mut);
 margin:0 0 10px;font-weight:700}
.side ul{list-style:none;margin:0;padding:0;border-top:1px solid var(--line)}
.side li{border-bottom:1px solid var(--line)}
.side a{display:flex;justify-content:space-between;gap:8px;padding:9px 2px;
 text-decoration:none;color:var(--ink);font-size:13.5px;font-weight:600;line-height:1.3}
.side a:hover,.side a:focus-visible{color:#0D231C;background:#FCFDFA}
.side a span{color:var(--mut);font-weight:400;font-variant-numeric:tabular-nums}
.side .todas{margin-top:14px;font-size:13px}
.side .todas a{padding:0;font-weight:600;text-decoration:underline;
 text-decoration-color:var(--chart);text-underline-offset:3px}
@media(max-width:900px){
 .side ul{display:flex;flex-wrap:wrap;gap:7px;border:0}
 .side li{border:0}
 .side a{border:1px solid var(--line);background:var(--sur);padding:7px 11px;font-size:13px}
}

/* ---- artigos relacionados ---- */
.rel{margin-top:40px;padding-top:26px;border-top:1px solid var(--line)}
.rel h2{font-size:13px;letter-spacing:.09em;text-transform:uppercase;color:var(--mut);
 margin:0 0 14px;font-weight:700}
.relg{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1px;
 background:var(--line);border:1px solid var(--line)}
@media(max-width:760px){.relg{grid-template-columns:repeat(2,minmax(0,1fr))}}
.rc{background:var(--sur);text-decoration:none;display:flex;flex-direction:column;min-width:0}
.rc:hover,.rc:focus-visible{background:#FCFDFA}
.rc .ph{aspect-ratio:4/3;background:var(--bg);display:grid;place-items:center;overflow:hidden;
 border-bottom:1px solid var(--line2)}
.rc .ph img{width:100%;height:100%;object-fit:contain;padding:8%}
.rc .ph span{font-size:10px;letter-spacing:.09em;text-transform:uppercase;color:#B8B8AE}
.rc .bd{padding:10px 12px 13px;display:flex;flex-direction:column;gap:4px}
.rc .cd{font-size:10.5px;letter-spacing:.08em;color:var(--mut);font-variant-numeric:tabular-nums}
.rc .nm{font-size:13.5px;font-weight:700;line-height:1.28;overflow-wrap:anywhere}

/* ---- pagina de produto ---- */
.pp{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.08fr);
 gap:clamp(24px,4vw,54px);align-items:start;padding:clamp(30px,4.5vw,52px) 0}
@media(max-width:900px){.pp{grid-template-columns:minmax(0,1fr)}}
.pimg{background:var(--sur);border:1px solid var(--line);aspect-ratio:1/1;
 display:grid;place-items:center;overflow:hidden;position:relative}
.pimg img{width:100%;height:100%;object-fit:contain;padding:7%}
.pimg .falta{text-align:center;padding:30px;color:#A9A9A0}
.pimg .falta b{display:block;font-size:12px;letter-spacing:.11em;text-transform:uppercase;
 margin-bottom:7px;color:#8E8E85}
.pimg .falta span{font-size:13.5px;line-height:1.5}
.gal{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:9px;margin-top:9px}
.gal a{background:var(--sur);border:1px solid var(--line);aspect-ratio:1/1;
 display:grid;place-items:center;overflow:hidden}
.gal a:hover,.gal a:focus-visible{border-color:var(--chart)}
.gal img{width:100%;height:100%;object-fit:contain;padding:10%}
.pref{font-size:12.5px;letter-spacing:.11em;color:var(--mut);font-weight:700;
 font-variant-numeric:tabular-nums}
.pp h1{font-size:clamp(24px,3.4vw,38px);font-weight:800;margin-top:9px}
.psub{margin-top:11px;font-size:15px;color:var(--mut);font-weight:600;
 letter-spacing:.02em;text-transform:uppercase}
.pdesc{margin-top:20px;font-size:16.5px;color:#33393A;line-height:1.66}
.feats{margin-top:26px;border-top:1px solid var(--line)}
.feats h2{font-size:13px;letter-spacing:.12em;text-transform:uppercase;font-weight:700;
 padding-top:18px;margin-bottom:4px}
.feats dl{display:grid;grid-template-columns:auto minmax(0,1fr);gap:0}
.feats dt{padding:11px 20px 11px 0;font-size:13px;letter-spacing:.05em;
 text-transform:uppercase;color:var(--mut);border-bottom:1px solid var(--line2);
 font-weight:600;white-space:nowrap;vertical-align:top}
.feats dd{padding:11px 0;font-size:15px;border-bottom:1px solid var(--line2)}
@media(max-width:520px){
 .feats dl{grid-template-columns:minmax(0,1fr)}
 .feats dt{border-bottom:none;padding-bottom:2px}
}
.pacts{margin-top:28px;display:flex;gap:11px;flex-wrap:wrap;align-items:center}
.tradav{display:flex;gap:10px;align-items:flex-start;margin:0 0 20px;padding:11px 14px;
 background:#F2F8E2;border:1px solid #CDE59A;font-size:13.5px;line-height:1.5;
 color:#3A403B}
.tradav span{flex:0 0 auto;width:18px;height:18px;border-radius:50%;background:var(--ever);
 color:var(--chart);font-weight:800;font-size:11px;display:grid;place-items:center;
 margin-top:1px;font-style:italic}
.nota-cat{margin-top:22px;background:#FBFBF7;border-left:3px solid var(--chart);
 padding:13px 16px;font-size:14px;color:#3A403B}
.volta{margin-top:24px;font-size:14px}
.volta a{font-weight:700;text-decoration:none;border-bottom:2px solid var(--chart);
 padding-bottom:2px}

/* ---- catalogos (à Echarte) ---- */
.cat{margin-top:32px;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px}
.cc{background:var(--sur);border:1px solid var(--line);display:flex;flex-direction:column}
.cc .capa{background:var(--bg);border-bottom:1px solid var(--line);padding:18px;
 display:grid;place-items:center}
.cc .capa img{max-height:250px;width:auto;box-shadow:0 2px 14px rgba(0,0,0,.13)}
.cc .bd{padding:17px 18px 19px;display:flex;flex-direction:column;gap:9px;flex:1}
.cc .mc{font-size:20px;font-weight:800;text-transform:uppercase;letter-spacing:-.02em}
.cc .og{font-size:11.5px;letter-spacing:.08em;text-transform:uppercase;color:var(--mut);
 margin-top:-5px}
.cc .oq{font-size:14.5px;color:#3A403B;flex:1}
.cc .aa{display:flex;gap:8px;flex-wrap:wrap;margin-top:3px}
.cc .aa a{font-size:13.5px;font-weight:700;text-decoration:none;padding:9px 14px;
 background:var(--chart);color:var(--ever);border:1px solid var(--chart)}
.cc .aa a.s{background:transparent;color:var(--ink);border-color:var(--line)}
.cc .aa a:hover{background:#CBF25A;border-color:#CBF25A}
.cc .aa a.s:hover{background:transparent;border-color:var(--chart);color:var(--ink)}
.cc .mt{font-size:12px;color:var(--mut);font-variant-numeric:tabular-nums}
.cc .mt a{color:var(--mut);text-decoration:underline;text-underline-offset:2px}
@media(max-width:1050px){.cat{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:790px){.cat{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:470px){.cat{grid-template-columns:minmax(0,1fr)}}

/* ---- metodo / quem ---- */
.tri{margin-top:30px;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1px;
 background:var(--line);border:1px solid var(--line)}
.tri article{background:var(--sur);padding:24px 22px}
.tri h3{font-size:17.5px;font-weight:800;margin-bottom:9px}
.tri h3 span{color:var(--chart);-webkit-text-stroke:.4px #8FB531}
.tri p{font-size:15px;color:#3A403B}
@media(max-width:820px){.tri{grid-template-columns:minmax(0,1fr)}}
.quem{margin-top:30px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}
.quem article{border-left:2px solid var(--chart);padding-left:19px}
.quem h3{font-size:17px;font-weight:800;margin-bottom:7px}
.quem p{font-size:15px;color:#3A403B}
@media(max-width:720px){.quem{grid-template-columns:minmax(0,1fr)}}

/* ---- faixa ---- */
.faixa{background:var(--chart);color:var(--ever)}
.faixa .wrap{padding:26px var(--pad)}
.faixa p{font-size:clamp(16.5px,2vw,20px);font-weight:700;max-width:68ch;line-height:1.42}

/* ---- imagem de marca ---- */
.banda{position:relative;background:var(--ever);overflow:hidden}
.banda img{width:100%;height:clamp(190px,26vw,330px);object-fit:cover;opacity:.9}
.banda figcaption{position:absolute;left:0;right:0;bottom:0;padding:11px var(--pad);
 font-size:11.5px;letter-spacing:.08em;text-transform:uppercase;color:rgba(237,237,237,.72);
 background:linear-gradient(transparent,rgba(13,35,28,.82))}

/* ---- contactos ---- */
.cols{margin-top:30px;display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);
 gap:clamp(22px,4vw,52px)}
@media(max-width:820px){.cols>*+*{margin-top:8px}.cols{grid-template-columns:minmax(0,1fr)}}
.linha{border-top:1px solid var(--line);padding:15px 0;display:flex;
 align-items:baseline;justify-content:space-between;gap:18px;text-decoration:none}
.linha:last-of-type{border-bottom:1px solid var(--line)}
.linha .k{font-size:12.5px;letter-spacing:.1em;text-transform:uppercase;color:var(--mut);
 flex:0 0 auto;font-weight:600}
.linha .v{font-size:16px;font-weight:700;text-align:right}
a.linha:hover .v{color:#4E7A12}
.pessoas{display:grid;gap:1px;background:var(--line);border:1px solid var(--line);
 margin-top:13px}
.pessoas a{background:var(--sur);padding:15px 17px;text-decoration:none;display:flex;
 align-items:center;justify-content:space-between;gap:13px}
.pessoas a:hover,.pessoas a:focus-visible{background:#FCFDFA}
.pessoas>a>span{display:block}
.pessoas b{display:block;font-size:16px}
.pessoas small{display:block;color:var(--mut);font-size:13px;margin-top:2px}
.pessoas .st{color:#7FA82A;font-size:19px;line-height:1}
.canais{display:flex;gap:9px;flex-wrap:wrap;margin-top:16px}
.canais a{display:inline-flex;align-items:center;gap:8px;text-decoration:none;
 border:1px solid var(--line);padding:9px 15px;font-size:14px;font-weight:700;
 background:var(--sur)}
.canais a:hover,.canais a:focus-visible{border-color:var(--chart)}
.canais svg{width:15px;height:15px;fill:currentColor}
.rot{font-size:12.5px;letter-spacing:.11em;text-transform:uppercase;color:var(--mut);
 font-weight:600;margin-bottom:11px}

/* ---- rodape ---- */
footer{background:var(--ever);color:rgba(237,237,237,.62);padding:40px 0 46px;
 font-size:13.5px;margin-top:0}
footer .fg{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(0,1fr) minmax(0,1fr);gap:30px}
@media(max-width:760px){footer .fg{grid-template-columns:minmax(0,1fr)}}
footer .marca{color:#EDEDED;font-weight:700;text-transform:uppercase;font-size:13px;
 letter-spacing:.02em;line-height:1.45}
footer .leg{margin-top:9px;display:flex;flex-direction:column;gap:3px}
footer h4{color:#EDEDED;font-size:12px;letter-spacing:.11em;text-transform:uppercase;
 margin-bottom:11px;font-weight:700}
footer ul{list-style:none;display:flex;flex-direction:column;gap:7px}
footer a{text-decoration:none;color:rgba(237,237,237,.62)}
footer a:hover,footer a:focus-visible{color:var(--chart)}
footer .tag{margin-top:26px;padding-top:20px;border-top:1px solid rgba(237,237,237,.13);
 color:var(--chart);font-weight:700;font-size:14px}

/* ================= TELEMOVEL ================= */
@media(max-width:900px){
 /* o cabecalho passa a poder ter duas linhas: sem isto a pesquisa era
    esmagada contra o Menu e o Cotacao e saia fora do ecra */
 .top .wrap{flex-wrap:wrap;column-gap:10px;row-gap:0;min-height:0;
  padding-top:7px;padding-bottom:7px}
 /* quebra de linha fixa: sem isto, a certas larguras (600px) a pesquisa ainda
    cabia na 1.a linha e o seletor de idioma ficava sozinho numa 3.a */
 .top .wrap::before{content:"";width:100%;height:0;order:4}
 .mlk{order:1;margin-right:auto;display:inline-flex;align-items:center;min-height:44px}
 .mlogo{height:19px}
 .cot{order:2;margin:0;padding:9px 11px;min-height:44px;gap:6px}
 .burger{order:3;display:inline-flex;align-items:center;min-height:44px;padding:8px 12px}
 .busca{order:5;flex:1 1 180px;min-width:0;margin:7px 0 1px}
 .lang{order:6;margin:7px 0 1px 8px}
 .lang a{min-width:38px;min-height:44px;font-size:12.5px}
 .busca button{padding:12px 12px 12px 4px}
 .busca svg{width:19px;height:19px}

 /* no iOS, tocar num campo com menos de 16px faz a pagina dar zoom
    e ficar desformatada. Todos os campos passam a 16px. */
 .busca input,.pq input,.pqt input,.ctab .cq input,
 .fc input,.fc textarea,.fc select,
 input,textarea,select{font-size:16px}
 .busca input{padding:11px 12px}

 /* nada de letra miuda */
 .cd,.og,label,th,figcaption,footer h4,.mt{font-size:12.5px}
 .pc .cd,.rc .cd,.cc .og,.cc .mt,.pqt label,.fc label,.ctab th,.side h4,
 .pc .ph .semimg,.pg-lbl,.banda figcaption,.nums span{font-size:12.5px}

 /* links pequenos dentro de blocos de apoio */
 .cc .mt a{display:inline-block;padding:9px 0}
 .cc .aa a{padding:12px 15px}
 .side .todas a{display:inline-block;padding:9px 0}
 .mapa a{display:inline-block;padding:6px 0}

 /* area de toque: minimo 44px no que se carrega com o dedo */
 footer ul{gap:0}
 footer ul a{display:block;padding:11px 0}
 .mig .wrap{padding-top:14px;padding-bottom:14px}
 .mig a{display:inline-block;padding:6px 0}
 .side a{display:block;padding:11px 0}
 .canais a{min-height:44px;display:inline-flex;align-items:center}
 .volta a,.todas a,.fnota a,.ver{display:inline-block;padding:8px 0}
 .form{padding:18px}
 .redes a{padding:14px 14px}
 .aa,.s a{min-height:44px}
}
@media(max-width:344px){
 /* ecras muito estreitos (iPhone SE antigo): logotipo mais pequeno para
    o Menu nao cair para uma terceira linha */
 .mlogo{height:16px}
 .cot{padding:9px 8px}
 .burger{padding:8px 10px}
 /* a pesquisa cede espaco para o seletor de idioma caber na mesma linha */
 .busca{flex:1 1 110px}
 .lang{margin-left:6px}
 .lang a{min-width:32px;padding:6px 4px}
}
@media(max-width:620px){
 /* nao cabe logotipo + Cotacao + Menu na mesma linha com a palavra toda,
    por isso fica so o icone e o numero */
 .cot .coti{display:block}
 .cot .cott{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);
  white-space:nowrap}
 .cot{padding:9px 10px}
}
@media(max-width:600px){
 /* contactos: etiqueta em cima, valor em baixo e alinhado a esquerda —
    a direita partia a morada em degraus */
 .linha{flex-direction:column;align-items:flex-start;gap:5px;padding:14px 0}
 .linha .v{text-align:left}
}
/* uma tabela larga desliza dentro da sua caixa, nunca empurra a pagina */
.tabx{overflow-x:auto;-webkit-overflow-scrolling:touch}
.tabx>table{min-width:520px}

:focus-visible{outline:2px solid #7FA82A;outline-offset:3px}
@media(prefers-reduced-motion:reduce){*{transition:none!important;scroll-behavior:auto}}
/* Medido: a linha completa precisa de 1188px no espanhol (logotipo 172 +
   pesquisa 228 + Presupuesto 156 + navegacao 393 + idiomas 96 + 4 espacos +
   88 de margem). Com a pesquisa reduzida ao icone precisa de 983px.
   Dai as tres faixas: >=1210 tudo; 1010–1209 pesquisa em icone;
   <=1009 navegacao no Menu. */
@media(min-width:1010px) and (max-width:1209px){
 .busca{flex:0 0 auto;min-width:0;padding:0;background:none;border-color:transparent}
 .busca input{display:none}
 .busca button{padding:9px 11px;border:1px solid rgba(237,237,237,.3);line-height:0}
 .busca:focus-within{background:none;border-color:transparent}
 .busca button:focus-visible{border-color:var(--chart)}
}

@media print{.top,.nav,footer,.acts,.pacts{display:none}}
