.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}}

@media(max-width:650px){.header-utility{flex-wrap:wrap;justify-content:flex-end;row-gap:4px}.language-switch{white-space:nowrap}}

/* V80 — checkout layout (desktop and mobile) */
form.checkout{max-width:none!important;width:100%!important;display:block!important}
form.checkout>.benjamim-checkout-stack{display:block!important;width:100%!important;max-width:none!important}
form.checkout .benjamim-contact-fields{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:20px!important;width:100%!important}
form.checkout .benjamim-contact-fields>label{display:block!important;grid-column:auto!important;grid-row:auto!important;width:100%!important;min-width:0!important}
form.checkout .benjamim-contact-fields>label input{display:block!important;box-sizing:border-box!important;width:100%!important;max-width:none!important}
form.checkout .benjamim-checkout-lower{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:42px!important;align-items:start!important;width:100%!important}
form.checkout .benjamim-checkout-lower>section{display:block!important;grid-column:auto!important;grid-row:auto!important;width:100%!important;min-width:0!important;max-width:none!important;box-sizing:border-box!important;align-self:start!important}
form.checkout .benjamim-checkout-lower>.benjamim-payment-section{border-left:1px solid #e5e1dc!important;padding-left:28px!important}
@media(max-width:760px){form.checkout .benjamim-contact-fields{grid-template-columns:1fr!important}form.checkout .benjamim-checkout-lower{grid-template-columns:1fr!important;gap:22px!important}form.checkout .benjamim-checkout-lower>.benjamim-payment-section{border-left:0!important;padding-left:0!important}}
/* V91 — menu de categorias centrado no cabeçalho */
@media (min-width:1201px){
 .shop-page .top{grid-template-columns:minmax(0,1fr) auto minmax(0,1fr)!important;column-gap:22px!important}
 .shop-page .top>.brand{grid-column:1;justify-self:start}
 .shop-page .top>.header-categories{grid-column:2;justify-self:center;justify-content:center;overflow:visible;padding:3px 0}
 .shop-page .top>.header-utility{grid-column:3;justify-self:end;min-width:0}
}
@media (min-width:901px) and (max-width:1200px){
 .shop-page .top{grid-template-columns:minmax(0,1fr) auto!important;row-gap:8px!important}
 .shop-page .top>.brand{grid-column:1;grid-row:1}
 .shop-page .top>.header-utility{grid-column:2;grid-row:1;justify-self:end}
 .shop-page .top>.header-categories{grid-column:1/-1;grid-row:2;justify-self:center;justify-content:center;width:100%}
}
@media (max-width:900px){.shop-page .top>.header-categories{justify-content:center}}

/* V92: ícones minimalistas no cabeçalho */
.shop-page .header-utility a[href*="p=cart"]{display:inline-flex;align-items:center;gap:7px;text-decoration:none}
.shop-page .header-utility .header-cart-icon{width:27px;height:27px}
.shop-page .header-utility a.header-login-link{display:inline-flex;align-items:center;justify-content:center;min-width:36px;min-height:36px;text-decoration:none}
.shop-page .header-utility .header-user-icon{width:27px;height:27px;transition:opacity .2s ease}
.shop-page .header-utility a.header-login-link:hover .header-user-icon{opacity:.55}
.shop-page .header-utility a[href*="p=cart"] .count{display:inline-flex;align-items:center;justify-content:center;min-width:24px;height:24px;border-radius:50%;font-size:12px;line-height:1}
@media(max-width:500px){.shop-page .header-utility .header-cart-icon,.shop-page .header-utility .header-user-icon{width:24px;height:24px}}

/* V93 — utility icons: cart and count on one line; account icon always visible */
.shop-page .top .header-utility{display:flex!important;align-items:center!important;justify-content:flex-end!important;flex-wrap:nowrap!important;gap:19px!important}
.shop-page .top .header-utility>a[href*="p=cart"]{display:inline-flex!important;flex-direction:row!important;align-items:center!important;justify-content:center!important;gap:7px!important;white-space:nowrap!important;vertical-align:middle!important;position:relative!important;flex:0 0 auto!important;min-width:0!important}
.shop-page .top .header-utility>a[href*="p=cart"] .header-cart-icon{display:block!important;width:30px!important;height:30px!important;flex:none!important}
.shop-page .top .header-utility>a[href*="p=cart"] .count{display:inline-flex!important;position:static!important;inset:auto!important;transform:none!important;vertical-align:middle!important;align-items:center!important;justify-content:center!important;flex:0 0 auto!important;margin:0!important;padding:0 5px!important;min-width:24px!important;width:auto!important;height:24px!important;line-height:24px!important;border-radius:999px!important;background:#25231f!important;color:white!important;font-size:12px!important}
.shop-page .top .header-utility>a.header-login-link,.shop-page .top .header-utility>a.header-account-link{display:inline-flex!important;align-items:center!important;justify-content:center!important;flex:0 0 auto!important;min-width:34px!important;width:34px!important;height:34px!important;color:#25231f!important;text-decoration:none!important}
.shop-page .top .header-utility .header-user-icon{display:block!important;width:29px!important;height:29px!important;flex:none!important;stroke:#25231f!important}
.shop-page .top .header-utility>a.header-login-link:hover,.shop-page .top .header-utility>a.header-account-link:hover{opacity:.65}
@media(max-width:650px){.shop-page .top .header-utility{gap:9px!important}.shop-page .top .header-utility>a[href*="p=cart"] .header-cart-icon{width:25px!important;height:25px!important}.shop-page .top .header-utility .header-user-icon{width:25px!important;height:25px!important}}

/* V95: preço discreto e permanente, substituído pela legenda ao passar o rato. */
.product-list-grid .card > .card-rest-price {
 position:absolute;left:auto;right:10px;bottom:10px;z-index:2;
 transform:none;display:block;width:max-content;max-width:calc(100% - 24px);
 margin:0;padding:4px 9px;border:0;border-radius:0;
 background:transparent;color:#ee8b00;
 font-family:'Open Sans',Arial,Helvetica,sans-serif;font-size:12px;font-weight:500;
 line-height:1.4;text-align:right;white-space:nowrap;pointer-events:none;
 opacity:1;visibility:visible;transition:opacity .18s ease .85s,visibility 0s linear .85s;
}
.product-list-grid .card:hover > .card-rest-price,
.product-list-grid .card:focus-visible > .card-rest-price {
 opacity:0;visibility:hidden;transition:opacity .12s ease,visibility 0s linear .12s;
}
@media(hover:none),(pointer:coarse){
 .product-list-grid .card > .card-rest-price{display:none}
}
@media(prefers-reduced-motion:reduce){
 .product-list-grid .card > .card-rest-price{transition:none}
}

/* V96: categorias maiores em 2 pontos. */
.shop-page .header-categories a{font-size:calc(.85rem + 2pt)}
@media(max-width:500px){.shop-page .header-categories a{font-size:calc(.8rem + 2pt)}}

/* V97: ícones na cor do logótipo e legenda compacta com preço fixo. */
.shop-page .top .header-utility .header-cart-icon,
.shop-page .top .header-utility .header-user-icon{color:#ee8b00!important;stroke:#ee8b00!important}
.shop-page .top .header-utility>a[href*="p=cart"] .count{background:#ee8b00!important}
.product-list-grid .card .card-copy{
 display:flex;flex-direction:row;align-items:center;justify-content:space-between;
 box-sizing:border-box;left:0;right:0;bottom:0;width:100%;max-width:100%;
 gap:14px;padding:14px 19px;text-align:left;
}
.product-list-grid .card .card-copy strong{
 display:block;flex:1 1 auto;min-width:0;margin:0;
 white-space:nowrap;overflow:hidden;text-overflow:ellipsis;
 font-size:12px;line-height:1.4;color:#000;text-align:left;
}
/* Reserva a largura real do preço; a etiqueta permanente fica por cima, imóvel. */
.product-list-grid .card .card-copy span{
 flex:0 0 auto;white-space:nowrap;margin:0;
 font-family:'Open Sans',Arial,Helvetica,sans-serif;
 font-size:12px;font-weight:500;line-height:1.4;opacity:0;
}
.product-list-grid .card > .card-rest-price,
.product-list-grid .card:hover > .card-rest-price,
.product-list-grid .card:focus-visible > .card-rest-price{
 display:block;opacity:1;visibility:visible;transition:none;
}

/* V98: faixa a 50%, título regular e cabeçalho com mais espaço. */
.product-list-grid .card .card-copy{background:rgba(255,255,255,.5)}
.product-list-grid .card .card-copy strong{font-weight:400}
.shop-page > header{border-bottom:0;box-shadow:none}
.shop-page > header .top{border-bottom:0;padding-top:25px;padding-bottom:25px}
@media(max-width:500px){.shop-page > header .top{padding-top:20px;padding-bottom:20px}}

/* V99: títulos do rodapé e botões na cor do logótipo. */
.shop-page .site-footer h2{color:#ee8b00}
.shop-page main a.button,
.shop-page main form button:not(.textbutton),
.shop-page main input[type="submit"]{
 background:#ee8b00;border-color:#ee8b00;color:#25231f;
}
.shop-page main a.button:hover,
.shop-page main form button:not(.textbutton):hover,
.shop-page main input[type="submit"]:hover{
 background:#25231f;border-color:#25231f;color:#fff;
}
.shop-page main a.button:focus-visible,
.shop-page main form button:not(.textbutton):focus-visible,
.shop-page main input[type="submit"]:focus-visible{
 outline:2px solid #25231f;outline-offset:3px;
}

/* V100: ações secundárias do cesto com contorno discreto. */
.shop-page main .cart-line form button:not(.textbutton){
 background:#fff;border:1px solid #000;color:#000;
}
.shop-page main .cart-line form button:not(.textbutton):hover,
.shop-page main .cart-line form button:not(.textbutton):focus-visible{
 background:#25231f;border-color:#25231f;color:#fff;
}

/* V101: mensagens de aviso com a identidade da loja. */
.shop-page .notice{
 background:#fff;border:2px solid #ee8b00;color:#ee8b00;font-weight:700;
 box-sizing:border-box;
}

/* V102: acesso Google compacto e bloco de contactos destacado. */
.shop-page main a.button[href*="p=google_start"]{
 display:inline-flex;align-items:center;justify-content:center;
 width:auto;max-width:100%;box-sizing:border-box;min-height:0;
 padding:8px 12px;border:2px solid #ee8b00;background:#fff;color:#ee8b00;
 font-size:13px;line-height:1.4;font-weight:700;text-align:center;
}
.shop-page main a.button[href*="p=google_start"]:hover{
 background:#25231f;border-color:#25231f;color:#fff;
}
.shop-page form.checkout .benjamim-contact-section{
 display:block!important;box-sizing:border-box!important;
 background:#f3f3f1!important;border:1px solid #e5e5e2!important;
 border-radius:4px!important;padding:26px 28px 30px!important;
 margin:0 0 48px!important;width:100%!important;
}
.shop-page form.checkout .benjamim-contact-section h2{margin-top:0;margin-bottom:22px}
.shop-page form.checkout .benjamim-contact-section input{background:#fff!important}
@media(max-width:760px){
 .shop-page form.checkout .benjamim-contact-section{padding:20px 16px 24px!important;margin-bottom:32px!important}
}

/* V103: cinzento neutro e espaçamento do checkout. */
.shop-page form.checkout{padding-top:24px!important}
.shop-page form.checkout .benjamim-contact-section{
 background:#ececec!important;border-color:#dedede!important;
}
.shop-page form.checkout label.choice:has(input[name="accept"]){
 display:block;font-size:11px;line-height:1.6;white-space:normal;
}
.shop-page form.checkout label.choice:has(input[name="accept"]) a{
 display:inline;font-size:inherit;
}
.shop-page form.checkout label.choice:has(input[name="accept"]) input{
 vertical-align:middle;margin-right:5px;
}
.shop-page form.checkout label.choice:has(input[name="accept"]) + button{
 margin-top:24px;
}

/* V104: cores do produto, espaço antes do título e bandeiras no header. */
.shop-page .detail-info .price{color:#ee8b00}
.shop-page .detail-info .ref,
.shop-page .detail-info .stock-last{color:#777}
.shop-page .detail-info .product-category-back{display:block;margin-bottom:28px}
.shop-page .detail-info .detail-title{margin-top:0}
.shop-page .language-switch{gap:7px;align-items:center}
.shop-page .language-switch a{
 display:inline-flex;align-items:center;justify-content:center;
 padding:4px;border-bottom:2px solid transparent;text-decoration:none;
}
.shop-page .language-switch .language-flag{
 font-family:'Apple Color Emoji','Segoe UI Emoji','Noto Color Emoji',sans-serif;
 font-size:23px;line-height:1;
}
.shop-page .language-switch a[aria-current]{border-bottom-color:#ee8b00}
.shop-page .language-switch a:hover{opacity:.7}
.shop-page .language-switch a:focus-visible{outline:2px solid #ee8b00;outline-offset:2px}

/* V105: valores do cesto e checkout a amarelo; bandeiras planas. */
.shop-page .cart-line > div > span,
.shop-page .cart-line ~ .summary > strong,
.shop-page #checkout-total{color:#ee8b00}
.shop-page .language-switch svg.language-flag{
 display:block;width:24px;height:16px;flex:none;
 border-radius:0;box-shadow:none;overflow:hidden;
}

/* V106: seletor de idioma flutuante no canto inferior direito. */
.shop-page .language-switch-floating{
 position:fixed;right:20px;bottom:20px;
 right:max(20px,env(safe-area-inset-right));
 bottom:max(20px,env(safe-area-inset-bottom));
 z-index:1000;display:flex;gap:2px;margin:0;padding:4px;
 background:#fff;border:1px solid #e5e5e5;border-radius:4px;
 box-shadow:0 2px 10px rgba(0,0,0,.08);
}
.shop-page .language-switch-floating a{
 box-sizing:border-box;min-width:40px;min-height:40px;padding:8px;
}

/* V107: bandeiras empilhadas na vertical. */
.shop-page .language-switch-floating{flex-direction:column}

/* V108: dimensões e alinhamento dos ícones no backoffice. */
.admin-page .top .header-utility{
 display:flex;align-items:center;justify-content:flex-end;flex-wrap:wrap;gap:14px;
}
.admin-page .header-utility .header-user-icon,
.admin-page .header-utility .header-cart-icon{
 display:block;width:27px;height:27px;flex:0 0 27px;
}
.admin-page .header-utility .header-login-link,
.admin-page .header-utility .header-account-link{
 display:inline-flex;align-items:center;justify-content:center;
 width:34px;height:34px;flex:0 0 34px;text-decoration:none;
}
.admin-page .header-utility .visually-hidden{
 position:absolute;width:1px;height:1px;padding:0;margin:-1px;
 overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0;
}
.admin-page .header-utility .count{flex:none}

/* V109: perfil Instagram nos contactos. */
.shop-page .contact-instagram{min-width:0;box-sizing:border-box}
.shop-page .contact-instagram .instagram-media{
 width:100%!important;min-width:0!important;max-width:540px!important;
 margin:0 auto 20px!important;box-sizing:border-box;
}
.shop-page .contact-instagram iframe.instagram-media{display:block}
.shop-page .contact-instagram .instagram-post img{display:block;width:100%;height:auto}
.shop-page .contact-instagram .instagram-profile-link{font-size:.85rem;overflow-wrap:anywhere}

/* V110: contactos com campos leves e dados da loja. */
.shop-page .contact-page-refined{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);gap:clamp(40px,7vw,104px);align-items:start;margin-top:38px;margin-bottom:65px}
.shop-page .contact-page-refined .contact-form-column,.shop-page .contact-side{min-width:0}
.shop-page .contact-kicker{display:block;font-size:.68rem;font-weight:600;letter-spacing:.16em;text-transform:uppercase;color:#777;margin-bottom:16px}
.shop-page .contact-page-refined .contact-form-heading{font-family:Montserrat,sans-serif;font-weight:400;font-size:clamp(1.5rem,2.4vw,2rem);line-height:1.3;margin:0 0 18px}
.shop-page .contact-page-refined .contact-intro{font-size:.9rem;line-height:1.8;color:#777;max-width:440px;margin:0 0 38px}
.shop-page .contact-page-refined .contact-form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:28px 28px;margin:0}
.shop-page .contact-page-refined .contact-field{display:block;grid-column:1/-1;margin:0;font-size:.75rem;letter-spacing:.03em;color:#555;font-weight:400}
.shop-page .contact-page-refined .contact-field-half{grid-column:auto}
.shop-page .contact-page-refined .contact-field input,.shop-page .contact-page-refined .contact-field textarea{box-sizing:border-box;display:block;width:100%;max-width:100%;margin:8px 0 0;padding:10px 0 12px;border:0;border-bottom:1px solid #c9c9c9;border-radius:0;background:transparent;box-shadow:none;color:#252525;font-family:inherit;font-size:1rem;line-height:1.6;transition:border-color .2s}
.shop-page .contact-page-refined .contact-field textarea{min-height:120px;resize:vertical}
.shop-page .contact-page-refined .contact-field input:focus,.shop-page .contact-page-refined .contact-field textarea:focus{outline:none;border-bottom-color:#ee8b00;box-shadow:0 1px 0 #ee8b00}
.shop-page .contact-page-refined .contact-form>.choice{grid-column:1/-1;display:flex;align-items:baseline;flex-wrap:wrap;gap:0 5px;font-size:.72rem;line-height:1.8;color:#777;margin:0}
.shop-page .contact-page-refined .contact-form>.choice input{width:auto;margin:0 4px 0 0;accent-color:#ee8b00}
.shop-page .contact-page-refined .contact-honeypot{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}
.shop-page .contact-page-refined .contact-submit{grid-column:1/-1;justify-self:start;display:inline-flex;align-items:center;gap:28px;width:auto;min-height:44px;padding:12px 22px;font-size:.8rem;font-weight:500;border-radius:0}
.shop-page .contact-submit span{font-size:1.2rem}
.shop-page .contact-store{padding:0 0 30px;margin:0 0 30px;border-bottom:1px solid #e7e7e7}
.shop-page .contact-store h2{font-family:Montserrat,sans-serif;font-size:1.8rem;font-weight:400;line-height:1.3;margin:0 0 24px;color:#252525}
.shop-page .contact-store h2 span{display:block;font-size:.75rem;letter-spacing:.1em;margin-top:7px;color:#777}
.shop-page .contact-store address{font-style:normal;font-size:.9rem;line-height:1.8}
.shop-page .contact-store address p{margin:0 0 17px}
.shop-page .contact-store address a{text-decoration:none;border-bottom:1px solid #ddd;padding-bottom:3px;color:inherit}
.shop-page .contact-store address a:hover{color:#ee8b00;border-color:#ee8b00}
.shop-page .contact-store address small{display:block;font-size:.63rem;color:#888;margin-top:6px}
.shop-page .contact-page-refined .contact-instagram{border:0;padding:0;background:none;box-shadow:none}
.shop-page .contact-page-refined .contact-instagram>h2{font-size:.75rem;font-weight:500;letter-spacing:.1em;margin:0 0 20px}
@media(max-width:760px){.shop-page .contact-page-refined{grid-template-columns:minmax(0,1fr);gap:54px;margin-top:24px}.shop-page .contact-page-refined .contact-form{gap:25px 20px}}
@media(max-width:420px){.shop-page .contact-page-refined .contact-field-half{grid-column:1/-1}}

/* V111: Instagram colorido no rodapé, logo abaixo do InPost. */
.shop-page footer .footer-instagram-featured{display:inline-flex;align-items:center;gap:10px;margin-top:13px;color:#262522;text-decoration:none;font-weight:600}
.shop-page footer .footer-instagram-featured svg{display:block;width:36px;height:36px;flex:0 0 36px;transition:transform .2s ease,filter .2s ease}
.shop-page footer .footer-instagram-featured:hover svg{transform:scale(1.08);filter:drop-shadow(0 2px 4px rgba(0,0,0,.2))}
.shop-page footer .footer-instagram-featured span{color:#262522}

/* V112: dados de contacto agrupados no bloco Benjamim do rodapé. */
.shop-page footer .footer-store-contact address{display:flex;flex-direction:column;align-items:flex-start;gap:8px;margin:12px 0 0;font-style:normal;font-size:.82rem;line-height:1.55;color:#4b4945}
.shop-page footer .footer-store-contact address a{color:inherit;text-decoration:none;overflow-wrap:anywhere}
.shop-page footer .footer-store-contact address a:hover{color:#ee8b00}
.shop-page footer .footer-contact-link{display:inline-block;margin-top:12px;font-size:.78rem;text-decoration:none;color:#555}
.shop-page footer .footer-contact-link:hover{color:#ee8b00}

/* V113: Instagram abaixo do endereço e telefone no bloco Benjamim. */
.shop-page footer .footer-store-contact .footer-instagram-featured{margin-top:14px}

/* V114: tornar o acesso a Contactos evidente no rodapé. */
.shop-page footer .footer-contact-link{
 display:inline-flex;align-items:center;justify-content:center;gap:9px;
 margin-top:16px;padding:10px 14px;border:1px solid #ee8b00;
 color:#25231f;background:#fff;font-size:.82rem;font-weight:600;
 letter-spacing:.015em;text-decoration:none;transition:background .18s,color .18s;
}
.shop-page footer .footer-contact-link svg{width:18px;height:18px;color:#ee8b00;flex:none}
.shop-page footer .footer-contact-link:hover{background:#ee8b00;color:#25231f}
.shop-page footer .footer-contact-link:hover svg{color:#25231f}
.shop-page footer .footer-contact-arrow{margin-left:3px;font-size:.9rem}

/* V115: botão Contactos na coluna dos envios, com respiro após o InPost. */
.shop-page footer .footer-contact-link{margin-top:18px}
