.voucher-checkout{border:1px solid #e5e1dc;padding:15px 18px;margin:18px 0 24px}.voucher-checkout h2{margin:0 0 8px;font-size:1.1rem}.voucher-apply{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.voucher-apply label{font-size:.85rem}.voucher-apply input{width:170px;max-width:100%}.voucher-apply button{width:auto}.voucher-checkout p{margin:10px 0 0}.stock-backorder{font-size:.85rem;color:#805d20}
/* Confirmação da encomenda em duas colunas no site. */
.order-confirmation{max-width:none}
.order-confirmation-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:48px;align-items:start}
.order-confirmation-payment,.order-confirmation-delivery{min-width:0}
.order-confirmation-delivery{border-left:1px solid #e5e1dc;padding-left:34px}
.order-confirmation-delivery p:first-child{margin-top:0}
@media(max-width:760px){.order-confirmation-grid{grid-template-columns:1fr;gap:8px}.order-confirmation-delivery{border-left:0;border-top:1px solid #e5e1dc;padding:24px 0 0}}

/* Listagem de produtos: imagens quadradas e segunda fotografia ao passar o rato. */
.products .card{min-width:0}
.card-media{position:relative;width:100%;aspect-ratio:1;overflow:hidden;background:#eeeae4}
.card .card-media .card-photo{display:block;position:absolute;inset:0;width:100%;height:100%;aspect-ratio:auto;object-fit:cover;object-position:center top;background:#eeeae4;transition:transform .45s ease,opacity .4s ease}
.card .card-media .card-photo-second{opacity:0}
.card:hover .card-media .card-photo,.card:focus-visible .card-media .card-photo{transform:scale(1.055)}
.card:hover .card-media .card-photo-second,.card:focus-visible .card-media .card-photo-second{opacity:1}
.card .card-copy strong{font-weight:700}
.card .card-copy span{color:#ee8b00;font-weight:700}
@media(prefers-reduced-motion:reduce){.card .card-media .card-photo{transition:none}}

/* Categorias presentes no cabeçalho de todas as páginas públicas. */
.shop-page .top{display:grid;grid-template-columns:minmax(125px,205px) minmax(0,1fr) auto;align-items:center;gap:20px;padding-top:15px;padding-bottom:15px}
.shop-page .top .brand{min-width:0}
.shop-page .top .brand img{display:block;max-width:100%;max-height:55px}
.header-categories{display:flex;flex-wrap:nowrap;align-items:center;gap:7px;min-width:0;overflow-x:auto;overscroll-behavior-inline:contain;scrollbar-width:thin;padding:3px 0 7px}
.header-categories a{flex:none;white-space:nowrap;border:1px solid #dedbd6;padding:7px 11px;font-size:.85rem;line-height:1.25}
.header-categories a:hover,.header-categories a.selected{background:#262522;color:#fff;border-color:#262522}
.header-utility{justify-content:flex-end;flex-wrap:nowrap;gap:15px;white-space:nowrap}
@media(max-width:900px){.shop-page .top{grid-template-columns:minmax(0,1fr) auto;gap:9px 15px}.header-categories{grid-column:1/-1;grid-row:2}.header-utility{grid-column:2;grid-row:1}}
@media(max-width:500px){.shop-page .top{padding:12px 18px;align-items:center}.shop-page .top .brand img{max-width:145px;max-height:48px}.header-utility{gap:9px}.header-utility a{font-size:.76rem}.header-categories{margin:0 -18px;padding:5px 18px 8px;gap:6px}.header-categories a{font-size:.8rem;padding:7px 10px}}

/* Categorias à direita; o logótipo mostra a loja completa. */
.header-categories{justify-content:flex-end}
.header-utility a[href*="p=cart"]{display:inline-flex;align-items:center;gap:5px}
.header-cart-icon,.logout-icon{width:19px;height:19px;flex:none;vertical-align:middle}
.logout-button{display:inline-flex;align-items:center;justify-content:center;gap:6px}
@media(max-width:900px){.header-categories{justify-content:flex-start}}

/* Paginação visual de produtos em grupos, sem perder a lista se JS estiver indisponível. */
.products{grid-template-columns:repeat(3,minmax(0,1fr));gap:28px 20px}
.product-carousel{position:relative;min-width:0}
.product-carousel.is-ready{padding:0 43px}
.product-carousel .card[hidden],.product-carousel .carousel-arrow[hidden]{display:none}
.product-carousel .carousel-arrow{position:absolute;top:42%;transform:translateY(-50%);display:grid;place-items:center;width:36px;height:50px;padding:0;border:1px solid #dedbd6;background:#fff;color:#25231f;font:normal 2rem/1 Georgia,serif;cursor:pointer;z-index:2}
.product-carousel .carousel-prev{left:0}.product-carousel .carousel-next{right:0}
.product-carousel .carousel-arrow:hover:not(:disabled),.product-carousel .carousel-arrow:focus-visible:not(:disabled){background:#25231f;color:#fff}
.product-carousel .carousel-arrow:disabled{opacity:.3;cursor:default}
.carousel-count{display:block;min-height:20px;text-align:right;color:#777;font-size:.75rem;margin-top:9px}
@media(max-width:850px){.products{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:580px){.products{grid-template-columns:minmax(0,1fr)}.product-carousel.is-ready{padding:0 30px}.product-carousel .carousel-arrow{width:27px;height:42px;font-size:1.55rem}}

/* Contorno e seleção das categorias na cor do logótipo. */
.header-categories a{border-color:#ee8b00}
.header-categories a.selected{background:#ee8b00;color:#25231f;border-color:#ee8b00}
.header-categories a:hover,.header-categories a:focus-visible{background:#25231f;color:#fff;border-color:#25231f}

/* Sem contorno visível no estado normal. */
.header-categories a:not(.selected):not(:hover):not(:focus-visible){border-color:#fff}

/* Categoria selecionada: amarelo com texto branco. */
.header-categories a.selected:not(:hover):not(:focus-visible){color:#fff}

/* Os grupos deslizam horizontalmente ao navegar. */
.product-carousel .carousel-viewport{display:block;overflow:hidden}
.carousel-track{display:flex;align-items:stretch;transition:transform .48s cubic-bezier(.22,.61,.36,1);will-change:transform}
.carousel-page{flex:0 0 100%;min-width:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;align-content:start}
@media(max-width:850px){.carousel-page{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:580px){.carousel-page{grid-template-columns:minmax(0,1fr)}}
@media(prefers-reduced-motion:reduce){.carousel-track{transition:none}}

.category-intro{max-width:850px;font-size:1.1rem;line-height:1.55;margin:0 0 27px;color:#34302b}

.shipping-address-fields{display:contents}
.shipping-address-fields[hidden]{display:none!important}

.shipping-country-note{grid-column:1/-1;font-size:.82rem;color:#625d56;margin:0 0 8px}

/* Na página do produto, preservar a proporção da fotografia original. */
.product-gallery-viewport{aspect-ratio:auto;background:transparent}
.product-gallery-track{height:auto;align-items:flex-start}
.product-gallery-slide{height:auto;display:block}
.product-gallery-slide img{width:100%;height:auto;aspect-ratio:auto;object-fit:contain}
.product-gallery-slide.empty-image{aspect-ratio:1;display:grid;place-items:center;background:#f5f4f1}

/* Grelha contínua: três produtos por linha, informação sobre a fotografia. */
.product-list-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}
.product-list-grid .card{position:relative;display:block;overflow:hidden}
.product-list-grid .card .card-copy{position:absolute;left:12px;bottom:12px;z-index:1;display:flex;flex-direction:column;align-items:flex-start;gap:3px;max-width:calc(100% - 24px);margin:0;padding:8px 11px;background:rgba(255,255,255,.92);color:#25231f;opacity:0;transform:translateY(5px);transition:opacity .25s ease,transform .25s ease;pointer-events:none;text-align:left}
.product-list-grid .card .card-copy strong{display:block;font-size:.85rem;line-height:1.3;margin:0;font-weight:600;overflow-wrap:anywhere}
.product-list-grid .card .card-copy span{display:block;font-size:.82rem;line-height:1.3;margin:0;color:#ee8b00;font-weight:700}
.product-list-grid .card:hover .card-copy,.product-list-grid .card:focus-visible .card-copy{opacity:1;transform:translateY(0)}
@media(max-width:850px){.product-list-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:580px){.product-list-grid{grid-template-columns:minmax(0,1fr)}}
@media(hover:none),(pointer:coarse){.product-list-grid .card .card-copy{opacity:1;transform:none}}
@media(prefers-reduced-motion:reduce){.product-list-grid .card .card-copy{transition:none;transform:none}}

/* Legenda encostada ao canto inferior esquerdo da fotografia. */
.product-list-grid .card .card-copy{left:0;bottom:0;max-width:100%;border:0;border-radius:0}

/* A legenda entra e sai pela parte inferior da imagem. */
.product-list-grid .card .card-copy{display:flex;flex-direction:column;align-items:flex-start;gap:4px;left:0;bottom:0;max-width:100%;padding:10px 14px;border:0;border-radius:0;opacity:1;transform:translateY(100%);transition:transform .35s cubic-bezier(.22,.61,.36,1);pointer-events:none}
.product-list-grid .card .card-copy strong{display:block;font-size:.85rem;line-height:1.35;color:#25231f;font-weight:600}
.product-list-grid .card .card-copy span{display:block;font-size:.82rem;line-height:1.3;color:#ee8b00;font-weight:700}
.product-list-grid .card:hover .card-copy,.product-list-grid .card:focus-visible .card-copy{opacity:1;transform:translateY(0)}
@media(hover:none),(pointer:coarse){.product-list-grid .card .card-copy{transform:translateY(0)}}
@media(prefers-reduced-motion:reduce){.product-list-grid .card .card-copy{transition:none}}

/* Legenda a toda a largura, com nome e preço centrados. */
.product-list-grid .card .card-copy{left:0;right:0;width:100%;max-width:100%;align-items:center;text-align:center}

/* Fundo branco a 75%; esperar um segundo antes de recolher a legenda. */
.product-list-grid .card .card-copy{background:rgba(255,255,255,.75);transition-delay:1s}
.product-list-grid .card:hover .card-copy,.product-list-grid .card:focus-visible .card-copy{transition-delay:0s}
@media(prefers-reduced-motion:reduce){.product-list-grid .card .card-copy{transition:none}}

/* Evitar a linha residual e trocar as cores da legenda. */
.product-list-grid .card{border:0;box-shadow:none}
.product-list-grid .card .card-copy{bottom:-1px;padding-bottom:11px;border:0;box-shadow:none;transform:translateY(calc(100% + 2px));transition-delay:.5s}
.product-list-grid .card .card-copy strong{color:#ee8b00;text-transform:uppercase}
.product-list-grid .card .card-copy span{color:#25231f}
.product-list-grid .card:hover .card-copy,.product-list-grid .card:focus-visible .card-copy{transform:translateY(0);transition-delay:0s}
@media(hover:none),(pointer:coarse){.product-list-grid .card .card-copy{transform:translateY(0)}}
@media(prefers-reduced-motion:reduce){.product-list-grid .card .card-copy{transition:none}}

/* Montserrat nos títulos e cabeçalhos da loja. */
.shop-page h1,.shop-page h2,.shop-page h3,.shop-page h4,.shop-page h5,.shop-page h6,
.shop-page header,.shop-page .header-categories,.shop-page .header-utility,
.shop-page .product-list-grid .card .card-copy strong,
.shop-page .site-footer h2{font-family:'Montserrat',Arial,Helvetica,sans-serif}

/* Open Sans no corpo do texto; os títulos mantêm Montserrat. */
body.shop-page{font-family:'Open Sans',Arial,Helvetica,sans-serif}
.shop-page input,.shop-page textarea,.shop-page select,.shop-page button{font-family:'Open Sans',Arial,Helvetica,sans-serif}

/* Nome do produto em branco na legenda sobre a imagem. */
.product-list-grid .card .card-copy strong{color:#fff}

/* Nome e preço a preto sobre a imagem. */
.product-list-grid .card .card-copy strong,.product-list-grid .card .card-copy span{color:#000}

.language-switch{display:inline-flex;align-items:center;gap:5px;font-size:.72rem}
.language-switch a{font-size:.72rem;text-decoration:none;padding:3px}
.language-switch a[aria-current]{font-weight:700;color:#ee8b00}

@media(max-width:500px){.shop-page .top .brand img{max-width:100%}.header-utility{gap:7px}}
