/* Geist e Geist Mono (OFL), servidas pelo próprio site desde 2026-10-26. Fontes variáveis: um ficheiro por
   subconjunto serve todos os pesos. Os unicode-range são os do Google Fonts. */
@font-face{font-family:'Geist';font-style:normal;font-weight:400 700;font-display:swap;src:url(fonts/geist-latin-ext.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-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF}
@font-face{font-family:'Geist';font-style:normal;font-weight:400 700;font-display:swap;src:url(fonts/geist-latin.woff2) format('woff2');unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD}
@font-face{font-family:'Geist Mono';font-style:normal;font-weight:400 500;font-display:swap;src:url(fonts/geist-mono-latin-ext.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-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF}
@font-face{font-family:'Geist Mono';font-style:normal;font-weight:400 500;font-display:swap;src:url(fonts/geist-mono-latin.woff2) format('woff2');unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD}

/* Base do tema Pedro Porto: o mínimo que o Astra dava e os snippets usam (reposição, caixa, imagens, texto para
   leitores de ecrã). As cores, as fontes e os componentes vêm do sistema Pedro Porto 2.0 (snippet 5, pp_ui_cabeca). */

*,*::before,*::after{box-sizing:border-box}
/* Tamanho de base do Astra: 15 px (93,75 %) e 13,68 px (85,5 %) até 921 px. O popup da newsletter e os títulos
   medem em rem, por isso ficam do mesmo tamanho que no site antigo. */
html{font-size:93.75%;-webkit-text-size-adjust:100%;text-size-adjust:100%}
@media (max-width:921px){html{font-size:85.5%}}
/* Corpo com as medidas do Astra (15 px; 13,68 px até 921 px; entrelinha 1,857; #3a3a3a), para o texto que herda do
   body ficar do mesmo tamanho que no site antigo. A fonte passa do Poppins do Astra para a Geist do sistema 2.0. */
body{margin:0;background:#fff;color:#3a3a3a;font-family:var(--font,"Geist",system-ui,-apple-system,"Segoe UI",Roboto,sans-serif);font-size:1rem;line-height:1.857;-webkit-font-smoothing:antialiased}
img,svg,video,canvas{display:block;max-width:100%}
img,video{height:auto}
input,button,textarea,select{font:inherit;color:inherit}
button{cursor:pointer}
a{color:inherit}
h1,h2,h3,h4,h5,h6{margin:0 0 .5em;line-height:1.2;font-weight:500} /* peso dos títulos do Astra */
h2{font-size:1.625rem} /* como no Astra (24,4 px no desktop, 22,2 px no telemóvel): o "Descrição" da ficha */
dt{font-weight:600} /* como no Astra: os rótulos das especificações e dos números da página inicial */
p{margin:0 0 1em}
table{border-collapse:collapse}

.screen-reader-text,.sr-only{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.screen-reader-text:focus{position:fixed!important;top:8px;left:8px;width:auto;height:auto;padding:8px 12px;margin:0;clip:auto;background:#fff;color:#0f172a;z-index:100000}

/* Esqueleto (mantém os nomes do Astra enquanto os snippets os usam) */
#page{display:flex;flex-direction:column;min-height:100vh}
.site-content{flex:1 0 auto}
.site-content>.ast-container{display:flex;width:100%;max-width:100%;margin:0 auto;padding:0}
.site-content>.ast-container>*{flex:1 1 100%;min-width:0}

/* Páginas simples (index.php e woocommerce.php), quando nenhum snippet as desenha */
.pp-simples{width:100%;max-width:1200px;margin:0 auto;padding:48px 20px 64px}
.pp-simples-t{font-size:clamp(28px,4vw,40px);letter-spacing:-.02em}
.pp-simples-corpo{max-width:72ch}
.pp-simples-corpo a{color:var(--brand,#1d4ed8)}

/* Antes de o script do snippet 6 marcar .shop com .js, o painel de filtros já fica fechado como gaveta lateral
   no telemóvel (o mesmo estado que o snippet lhe dá depois). Evita o salto da lista de produtos. */
@media (max-width:1023px){
  html.pp-js .ppc .shop:not(.js) .filters{position:fixed;top:0;right:0;bottom:0;width:min(360px,90vw);transform:translateX(100%);visibility:hidden}
}
