/*
 Theme Name:   O Mocho Carpinteiro (Bricks Child)
 Theme URI:    https://omochocarpinteiro.pt
 Description:  Tema-filho do Bricks para O Mocho Carpinteiro. O design vive no Bricks
               (classes globais, paleta, templates); aqui fica só o que o Bricks não guarda:
               ícones, animações, base e comportamento.
 Author:       Scorepixel
 Template:     bricks
 Version:      1.0
 Text Domain:  bricks
*/

/* ---------- Base (equivalente ao reset do site estático) ---------- */
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}
body{font-family:var(--sans);background:var(--paper);color:var(--ink);line-height:1.6;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;overflow-x:hidden}
img{max-width:100%;display:block}
a{color:inherit;text-decoration:none}
button{font:inherit;color:inherit;cursor:pointer;border:0;background:none}
h1,h2,h3,h4,p,figure{margin:0}
:focus-visible{outline:2px solid var(--green);outline-offset:3px;border-radius:2px}
[id]{scroll-margin-top:150px}

/* ---------- Bricks: repor os defaults do browser (o site estático foi desenhado sobre eles) ----------
   Os defaults do Bricks vivem num @layer, por isso estas regras (fora de layers) ganham-lhes;
   as classes globais (.wrap.brxe-div, .hero.brxe-section…) têm mais especificidade e continuam a mandar. */
[class*="brxe-"]{max-width:none}
img[class*="brxe-"],[class*="brxe-"] img{max-width:100%}
.brxe-section{display:block;width:100%;margin-left:0;margin-right:0;flex-wrap:nowrap}
.brxe-container,.brxe-block{display:block;width:auto}
.brxe-text-link{display:inline;gap:normal;align-items:normal}
.brxe-text-link span:not(.i){display:inline}
:where(button[class*="brxe-"]:not(.bricks-button)){padding:1px 6px;text-align:center}
h1,h2,h3,h4,h5,h6{line-height:inherit;text-rendering:optimizeLegibility}
h1{font-size:2em}h2{font-size:1.5em}h3{font-size:1.17em}h4{font-size:1em}h5{font-size:.83em}h6{font-size:.67em}
figcaption{margin:0;text-align:inherit;font-size:inherit;color:inherit}
.is-hidden{display:none!important}

/* ---------- Header: o anúncio sobe com o scroll, a barra do menu fica fixa ---------- */
#brx-header{position:sticky;top:calc(-1 * var(--announce-h, 39px));z-index:60}
/* marquee: animação na GPU (sem saltos) */
.marquee__track{will-change:transform;backface-visibility:hidden;transform:translateZ(0)}

/* ---------- Ícones (máscaras SVG: herdam a cor do texto com currentColor) ---------- */
.i{display:inline-block;flex:none;width:1em;height:1em;background-color:currentColor;-webkit-mask:var(--i) center/contain no-repeat;mask:var(--i) center/contain no-repeat}
.i-arrow-right{--i:url("data:image/svg+xml;utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12h14M13 6l6 6-6 6'/%3E%3C/svg%3E")}
.i-arrow-right-16{--i:url("data:image/svg+xml;utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12h14M13 6l6 6-6 6'/%3E%3C/svg%3E")}
.i-bag{--i:url("data:image/svg+xml;utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 8h12l-1 12H7L6 8z'/%3E%3Cpath d='M9 8V6a3 3 0 0 1 6 0v2'/%3E%3C/svg%3E")}
.i-cat-caixa{--i:url("data:image/svg+xml;utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 48 48' fill='none' stroke='%23000' stroke-width='1.3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cellipse cx='24' cy='14' rx='13' ry='5'/%3E%3Cpath d='M11 14v20a13 5 0 0 0 26 0V14'/%3E%3C/svg%3E")}
.i-cat-candeeiro{--i:url("data:image/svg+xml;utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 48 48' fill='none' stroke='%23000' stroke-width='1.3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M17 7h14l6 15H11L17 7Z'/%3E%3Cpath d='M24 22v15'/%3E%3Cpath d='M30 22v5'/%3E%3Ccircle cx='30' cy='28.5' r='1.4'/%3E%3Cpath d='M15 41a9 3 0 0 1 18 0Z'/%3E%3C/svg%3E")}
.i-cat-castical{--i:url("data:image/svg+xml;utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 48 48' fill='none' stroke='%23000' stroke-width='1.3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M24 6c3 3 3 6 0 8-3-2-3-5 0-8Z'/%3E%3Cpath d='M24 14v18'/%3E%3Cpath d='M15 40h18l-2-8H17l-2 8Z'/%3E%3C/svg%3E")}
.i-cat-guarda-joias{--i:url("data:image/svg+xml;utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 48 48' fill='none' stroke='%23000' stroke-width='1.3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cellipse cx='24' cy='16' rx='12' ry='5'/%3E%3Cpath d='M12 16v14a12 5 0 0 0 24 0V16'/%3E%3Cpath d='M20 30h8'/%3E%3C/svg%3E")}
.i-cat-jarra{--i:url("data:image/svg+xml;utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 48 48' fill='none' stroke='%23000' stroke-width='1.3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M18 8h12l-2 8c4 3 6 7 6 12a10 10 0 0 1-20 0c0-5 2-9 6-12l-2-8Z'/%3E%3C/svg%3E")}
.i-cat-outras{--i:url("data:image/svg+xml;utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 48 48' fill='none' stroke='%23000' stroke-width='1.3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3 22h22v4H3z'/%3E%3Cpath d='M6 26l-1.5 15M22 26l1.5 15'/%3E%3Cpath d='M5.3 34h17.4'/%3E%3Cpath d='M29 28h16v13H29z'/%3E%3Cpath d='M28 24h18v4H28z'/%3E%3Cpath d='M35 31.5h4'/%3E%3C/svg%3E")}
.i-cat-prato{--i:url("data:image/svg+xml;utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 48 48' fill='none' stroke='%23000' stroke-width='1.3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cellipse cx='24' cy='24' rx='20' ry='9'/%3E%3Cellipse cx='24' cy='24' rx='12' ry='5'/%3E%3C/svg%3E")}
.i-cat-taca{--i:url("data:image/svg+xml;utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 48 48' fill='none' stroke='%23000' stroke-width='1.3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M8 20h32a16 16 0 0 1-32 0Z'/%3E%3Cpath d='M8 20c0-2 7.2-4 16-4s16 2 16 4'/%3E%3C/svg%3E")}
.i-check-circle{--i:url("data:image/svg+xml;utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='10'/%3E%3Cpath d='M8 12l3 3 5-6'/%3E%3C/svg%3E")}
.i-chevron-left{--i:url("data:image/svg+xml;utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M15 6l-6 6 6 6'/%3E%3C/svg%3E")}
.i-chevron-right{--i:url("data:image/svg+xml;utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M9 6l6 6-6 6'/%3E%3C/svg%3E")}
.i-close{--i:url("data:image/svg+xml;utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 6l12 12M18 6L6 18'/%3E%3C/svg%3E")}
.i-heart{--i:url("data:image/svg+xml;utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 20s-7-4.3-9.3-8.5C1.3 8.9 2.6 6 5.5 6 7.4 6 8.6 7 12 9.5 15.4 7 16.6 6 18.5 6c2.9 0 4.2 2.9 2.8 5.5C19 15.7 12 20 12 20Z'/%3E%3C/svg%3E")}
.i-instagram{--i:url("data:image/svg+xml;utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='3' width='18' height='18' rx='5'/%3E%3Ccircle cx='12' cy='12' r='4'/%3E%3Ccircle cx='17.5' cy='6.5' r='1' fill='%23000' stroke='none'/%3E%3C/svg%3E")}
.i-mail{--i:url("data:image/svg+xml;utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='5' width='18' height='14' rx='2'/%3E%3Cpath d='M3 7l9 6 9-6'/%3E%3C/svg%3E")}
.i-menu{--i:url("data:image/svg+xml;utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3 6h18M3 12h18M3 18h18'/%3E%3C/svg%3E")}
.i-plus{--i:url("data:image/svg+xml;utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 5v14M5 12h14'/%3E%3C/svg%3E")}
.i-search{--i:url("data:image/svg+xml;utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='11' cy='11' r='7'/%3E%3Cpath d='M21 21l-4.3-4.3'/%3E%3C/svg%3E")}
.i-user{--i:url("data:image/svg+xml;utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='8' r='4'/%3E%3Cpath d='M4 21c0-4 3.6-7 8-7s8 3 8 7'/%3E%3C/svg%3E")}

/* ---------- Reveal on scroll (só no front-end, com JS) ---------- */
.js-reveal .reveal{opacity:0;transform:translateY(22px);transition:opacity .7s var(--ease),transform .7s var(--ease)}
.js-reveal .reveal.in{opacity:1;transform:none}
.js-reveal .reveal[data-d="1"]{transition-delay:.08s}
.js-reveal .reveal[data-d="2"]{transition-delay:.16s}
.js-reveal .reveal[data-d="3"]{transition-delay:.24s}

/* ---------- Lightbox (criado pelo JS na página de produto) ---------- */
.lightbox{position:fixed;inset:0;z-index:200;display:flex;align-items:center;justify-content:center;
  padding:clamp(16px,4vw,56px);background:rgba(32,30,25,.94);opacity:0;transition:opacity .3s var(--ease)}
.lightbox.is-open{opacity:1}
.lightbox[hidden]{display:none}
.lightbox__fig{margin:0;display:flex;flex-direction:column;align-items:center;gap:14px;max-width:100%;max-height:100%;cursor:zoom-out}
.lightbox__fig img{max-width:min(1200px,100%);max-height:calc(100vh - 120px);width:auto;height:auto;object-fit:contain;
  border-radius:var(--radius-lg);cursor:default;transform:scale(.97);transition:transform .35s var(--ease)}
.lightbox.is-open .lightbox__fig img{transform:none}
.lightbox__fig figcaption{color:#e8dcc6;font-size:.8rem;letter-spacing:.12em;text-transform:uppercase}
.lightbox__close,.lightbox__nav{position:absolute;display:grid;place-items:center;width:48px;height:48px;border-radius:50%;
  color:var(--paper);background:rgba(250,247,241,.1);transition:background .2s}
.lightbox__close:hover,.lightbox__nav:hover{background:rgba(250,247,241,.22)}
.lightbox__close .i,.lightbox__nav .i{width:22px;height:22px}
.lightbox__close{top:18px;right:18px}
.lightbox__nav{top:50%;transform:translateY(-50%)}
.lightbox__nav--prev{left:18px}
.lightbox__nav--next{right:18px}
@media (max-width:560px){
  .lightbox__nav{top:auto;bottom:18px;transform:none}
  .lightbox__fig img{max-height:calc(100vh - 170px)}
}

/* ---------- Animações ---------- */
@keyframes marquee{from{transform:translateX(0)}to{transform:translateX(-50%)}}
@keyframes fadein{from{opacity:0}to{opacity:1}}
@keyframes scrollpulse{0%,100%{transform:scaleY(.4);opacity:.4}50%{transform:scaleY(1);opacity:1}}
@keyframes pulse{0%{box-shadow:0 0 0 0 rgba(232,159,49,.55)}70%{box-shadow:0 0 0 12px rgba(232,159,49,0)}100%{box-shadow:0 0 0 0 rgba(232,159,49,0)}}

/* ---------- "Reduzir movimento" ---------- */
@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *,*::before,*::after{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important}
  .marquee__track{animation:none}
  .marquee{justify-content:center}
  .marquee__group+.marquee__group{display:none}
  .marquee.is-rotating .marquee__dot{display:none}
  .marquee.is-rotating .marquee__group>span{display:none}
  .marquee.is-rotating .marquee__group>span.is-on{display:block;animation:fadein .6s ease}
}

/* Banner de anúncios OPCIONAL: para o desligar em todas as páginas, descomentar a linha abaixo. */
/* .announce{display:none} */
