/* CMS additions; original storefront and hero styles stay intact. */
[hidden]{display:none!important}
.cms-lines,.store-faq p,.purchase-steps p,.store-branches p{white-space:pre-line;overflow-wrap:anywhere}
.photo-direct .sheet-crop img{position:absolute;inset:0;width:100%;height:100%;max-width:100%;object-fit:cover;transform:none}
.photo-missing{display:grid;place-items:center;background:var(--mist);font-size:13px;padding:20px;text-align:center}
.catalog-state{padding:38px 20px;background:var(--paper);border:1px solid var(--line);margin:12px 0 25px;text-align:center}
.catalog-state .button{margin:18px auto 0}
.cart-catalog-state{padding:16px;border:1px solid var(--line);margin-bottom:20px;font-size:13px;line-height:1.7}
.cart-catalog-state .text-link{margin-top:10px;background:none;border:0;border-bottom:1px solid var(--line)}
.product-actions .price-label{line-height:1.7;max-width:100%;white-space:normal}
.product-stock{font-size:12px;margin-top:10px;color:var(--wine)}
.product-detail-copy .cms-lines{font-size:14px}
.product-detail .button:disabled,.button:disabled{opacity:.55;cursor:not-allowed}
.customer-fields{margin-top:24px}
.customer-fields input{display:block;width:100%;min-height:44px;padding:10px 12px;background:transparent;border:1px solid var(--line);border-radius:4px;color:var(--ink);margin-bottom:18px}
.customer-fields p{font-size:12px;color:#536a6d;margin:-8px 0 12px}
#checkout-feedback{font-size:13px;text-align:left;overflow-wrap:anywhere}
#checkout-feedback:empty{display:none}
.saved-whatsapp{display:block;font-size:13px;text-align:center;text-decoration:underline;margin:12px 0}
.contact-details{display:flex;flex-direction:column;gap:10px;margin-top:20px;overflow-wrap:anywhere}
.contact-details a{display:flex;gap:8px;align-items:center;font-size:14px}
.store-branches{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:32px;padding:32px 0;border-top:1px solid var(--line)}
.store-branches h3{font-size:18px;margin-bottom:12px}
.store-branches p{font-size:14px;line-height:1.7}
.cms-no-highlights{grid-template-columns:1fr}
.store-news{padding-top:70px;padding-bottom:80px}
.news-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px}
.news-card{border-top:1px solid var(--line);padding-top:20px;min-width:0}
.news-card>.product-photo{display:block;aspect-ratio:4/3;margin-bottom:20px}
.news-card h3{font-family:var(--display);font-size:30px;line-height:1.15;overflow-wrap:anywhere;margin-bottom:16px}
.news-card p{font-size:14px;line-height:1.7;white-space:pre-line;overflow-wrap:anywhere}
.news-card .text-link{background:none;border:0;border-bottom:1px solid var(--line);margin-top:22px;font-size:14px}
.post-dialog{width:min(720px,calc(100% - 32px));max-height:90dvh;border-radius:8px}
#post-detail{padding:46px 36px 36px}
#post-detail>.product-photo{display:block;aspect-ratio:16/9;margin:0 0 28px}
#post-detail h2{font-size:42px;line-height:1.1;margin-bottom:24px;overflow-wrap:anywhere}
#post-detail p{font-size:16px;line-height:1.8}
@media(max-width:900px){.news-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.store-branches{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:600px){.news-grid,.store-branches{grid-template-columns:1fr}.store-news{padding-top:45px;padding-bottom:48px}#post-detail{padding:46px 22px 26px}#post-detail h2{font-size:34px}.cart-bottom{max-height:45dvh;overflow-y:auto}.price-label{font-size:12px}}
