.site-footer{border-top:1px solid #e7e4df;background:#f8f7f4;color:#25231f;margin:85px 0 0;padding:0;display:block;font-size:14px;letter-spacing:normal}
.footer-inner{max-width:1240px;margin:auto;padding:48px 28px 22px}
.footer-grid{display:grid;grid-template-columns:1.1fr 1.2fr 1.7fr 1fr;gap:38px}
.site-footer h2{font:600 14px/1.4 Arial,Helvetica,sans-serif;letter-spacing:.04em;margin:0 0 18px}
.site-footer p{margin:0 0 12px}.site-footer a{display:block;width:fit-content;text-decoration:none;margin:0 0 10px}.site-footer a:hover{text-decoration:underline}
.footer-logos{display:flex;align-items:center;flex-wrap:wrap;gap:8px}
.footer-logos img{display:block;width:99px;height:47px;object-fit:contain;background:#fff;border:1px solid #e6e3df;border-radius:4px;padding:7px}
.site-footer .shipping-logo{display:block;width:120px;height:56px;object-fit:contain;background:#fff;border:1px solid #e6e3df;border-radius:4px;padding:8px}
.site-footer .footer-note{color:#6d6861;font-size:12px;line-height:1.45;margin:12px 0 0}
.footer-bottom{border-top:1px solid #e4e0da;margin-top:35px;padding-top:19px;display:flex;justify-content:space-between;gap:12px;font-size:12px;color:#625d56}
.footer-bottom a{display:inline;text-decoration:underline}
.contact-page{max-width:650px;font-size:1.05rem}.contact-page .button{margin:12px 0}
@media(max-width:900px){.footer-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:30px}}
@media(max-width:550px){.footer-inner{padding:35px 18px 18px}.footer-grid{grid-template-columns:1fr;gap:26px}.footer-bottom{display:block}.footer-bottom span{display:block;margin:0 0 8px}}

.site-footer nav{display:block}
.site-footer nav a{display:block;margin:0 0 10px}
.contact-form{display:grid;gap:17px;max-width:620px;margin-top:27px}
.contact-form label{font-size:.95rem}
.contact-form input:not([type=checkbox]),.contact-form textarea{display:block;margin-top:5px}
.contact-form .choice a{display:inline}
.contact-form button{justify-self:start}
.contact-honeypot{position:absolute!important;left:-10000px!important;width:1px;height:1px;overflow:hidden}

.order-confirmation{max-width:680px;font-size:1.04rem;line-height:1.65}
.order-confirmation p{margin:0 0 22px}
.order-confirmation .order-total{font-size:1.2rem;margin-top:25px}
.order-confirmation .order-payment{margin:27px 0}
.order-confirmation .order-payment p{margin:8px 0 0}
.order-confirmation a{overflow-wrap:anywhere}

/* Espaço e títulos mais discretos nas páginas públicas. */
.shop-page main{padding-top:23px;min-height:65vh}
.shop-page main>h1:not(.visually-hidden){font-size:clamp(1.6rem,2.6vw,2.3rem);line-height:1.15;letter-spacing:-.025em;margin:0 0 19px}
.shop-page .visually-hidden{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.shop-page .filters{margin:0 0 21px}
.shop-page .detail-title{font-size:clamp(1.4rem,2.2vw,2rem);line-height:1.2;margin:0 0 13px}
.shop-page .detail-info{padding-top:0}
@media(max-width:500px){.shop-page main{padding-top:17px}.shop-page main>h1:not(.visually-hidden){margin-bottom:14px}}

/* Checkout em duas colunas no computador. */
.shop-page .checkout{max-width:none}
.checkout-columns{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);gap:clamp(28px,4vw,66px);align-items:start}
.checkout-customer,.checkout-options{min-width:0}
.checkout-columns h2{font-size:1.4rem;margin:0 0 20px}
.checkout-options{border-left:1px solid #e6e2dc;padding-left:clamp(22px,3vw,45px)}
.checkout-options h2:not(:first-child){margin-top:29px}
.checkout-options ul{padding-left:20px}
.checkout-options .choice{display:block}
.checkout-options .total{padding:8px 0 15px}
.checkout-options button{width:100%}
@media(max-width:1000px){.checkout-columns{grid-template-columns:1fr;gap:32px}.checkout-options{border-left:0;border-top:1px solid #e6e2dc;padding:24px 0 0}}
@media(max-width:650px){.checkout-customer .form-grid{grid-template-columns:1fr}}

/* Controlo de quantidade compacto na página de produto. */
.shop-page .detail-info .description{margin:18px 0 22px}
.shop-page .detail-info .price{margin-bottom:4px}
.product-buy-form{display:flex;align-items:end;gap:16px;flex-wrap:wrap;margin-top:17px}
.product-buy-form label{display:flex;align-items:center;gap:10px;margin:0}
.product-buy-form input[name="quantity"]{display:block;width:54px;max-width:54px;text-align:center;padding:11px 6px}
.product-buy-form button{white-space:nowrap}
@media(max-width:500px){.product-buy-form{gap:12px}.product-buy-form button{padding:12px 15px}}

/* Galeria de produto: uma imagem quadrada com navegação circular. */
.product-gallery{position:relative;min-width:0}
.product-gallery-viewport{width:100%;aspect-ratio:1;overflow:hidden;background:#f5f4f1}
.product-gallery-track{display:flex;width:100%;height:100%;transform:translateX(0)}
.product-gallery-slide{flex:0 0 100%;width:100%;height:100%;display:grid;place-items:center}
.product-gallery-slide img{display:block;width:100%;height:100%;object-fit:contain}
.product-gallery-arrow{position:absolute;top:50%;transform:translateY(-50%);width:42px;height:42px;padding:0;border:1px solid #e7e4e0;border-radius:50%;background:rgba(255,255,255,.92);color:#25231f;font-size:30px;line-height:1;display:grid;place-items:center}
.product-gallery-prev{left:12px}.product-gallery-next{right:12px}
.product-gallery-count{position:absolute;bottom:12px;left:50%;transform:translateX(-50%);padding:4px 10px;background:rgba(255,255,255,.88);font-size:.75rem}
.stock-last{font-size:.85rem;color:#6a5d48;margin:0 0 16px}
.product-gallery:focus-visible{outline:2px solid #25231f;outline-offset:3px}
@media(max-width:500px){.product-gallery-arrow{width:36px;height:36px;font-size:26px}.product-gallery-prev{left:7px}.product-gallery-next{right:7px}}

.shop-page .detail-info .ref{color:#ee8b00}

.shop-page .detail-title{font-weight:700}
.product-category-back{display:block;width:fit-content;margin:0 0 8px auto;color:#ee8b00;font-size:.83rem;text-decoration:none;text-align:right}
.product-category-back:hover,.product-category-back:focus-visible{text-decoration:underline}
