/* Mister Berry — storefront styles */
:root {
  --brand: #d63384;
  --brand-dark: #a61e64;
  --ink: #2b2b2b;
  --muted: #777;
  --line: #e8e8e8;
  --bg-soft: #faf6f8;
  --whatsapp: #25d366;
}

/* NOTE: no global element resets here — the original theme CSS (theme.css)
   owns base typography, links, header/footer and .container. This file only
   styles the app's own functional pages via its own class names. */

/* ---------- Buttons (fallback only where theme CSS lacks coverage; the
   theme's own .btn/.button styling wins when present) ---------- */
.btn-whatsapp { display: inline-block; background: var(--whatsapp) !important; color: #fff !important; padding: 12px 26px; border-radius: 6px; font-weight: 600; }
.btn-whatsapp:hover { background: #1da851 !important; }
.mb-btn, a.mb-btn { display: inline-block; background: var(--brand); color: #fff; border: 0; cursor: pointer; padding: 11px 26px; font-size: 15px; font-weight: 600; }
.mb-btn:hover { background: var(--brand-dark); color: #fff; }
.btn[disabled] { opacity: .5; cursor: not-allowed; }

/* ---------- Sections ---------- */
.section { padding: 44px 16px; }
.section-title { font-size: 26px; margin-bottom: 24px; text-align: center; }
.section-more { text-align: center; margin-top: 24px; }

.category-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(220px, 1fr)); gap: 16px; }
.category-tile { background: var(--bg-soft); border-radius: 12px; padding: 22px; display: flex; flex-direction: column; transition: transform .15s; }
.category-tile:hover { transform: translateY(-3px); }
.category-name { font-weight: 700; color: var(--ink); }
.category-count { color: var(--muted); font-size: 13px; }

/* ---------- Product grid ---------- */
.product-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(230px, 1fr)); gap: 20px; }
.product-card { border: 1px solid var(--line); border-radius: 12px; overflow: hidden; transition: box-shadow .2s; display: flex; flex-direction: column; }
.product-card:hover { box-shadow: 0 8px 24px rgba(0,0,0,.08); }
.product-card-img { position: relative; display: block; aspect-ratio: 1; overflow: hidden; background: var(--bg-soft); }
.product-card-img img { width: 100%; height: 100%; object-fit: cover; transition: transform .3s; }
.product-card:hover .product-card-img img { transform: scale(1.05); }
.img-placeholder { display: flex; align-items: center; justify-content: center; font-size: 48px; height: 100%; }
.img-placeholder.big { font-size: 120px; aspect-ratio: 1; background: var(--bg-soft); border-radius: 12px; }
.badge-sale { position: absolute; top: 10px; left: 10px; background: var(--brand); color: #fff; padding: 3px 10px; border-radius: 12px; font-size: 12px; font-weight: 700; }
.product-card-body { padding: 14px; display: flex; flex-direction: column; gap: 8px; flex: 1; }
.product-card-title { font-size: 15px; font-weight: 600; }
.product-card-title a { color: var(--ink); }
.product-card-price { color: var(--brand); font-weight: 700; }
.product-card-price del { color: var(--muted); font-weight: 400; margin-right: 6px; }
.product-card-body .btn { margin-top: auto; align-self: flex-start; }

/* ---------- Shop layout ---------- */
.page-header { padding: 24px 0 8px; }
.page-header h1 { font-size: 30px; }
.result-count { color: var(--muted); font-size: 14px; }
.shop-layout { display: grid; grid-template-columns: 240px 1fr; gap: 32px; padding: 16px 0 48px; }
.shop-sidebar h3 { margin-bottom: 12px; }
.cat-list li { border-bottom: 1px solid var(--line); }
.cat-list a { display: block; padding: 8px 4px; color: var(--ink); font-size: 14px; }
.cat-list a span { color: var(--muted); font-size: 12px; }
.cat-list li.active a { color: var(--brand); font-weight: 700; }
.shop-toolbar { display: flex; justify-content: flex-end; margin-bottom: 18px; }
.orderby { padding: 8px 12px; border: 1px solid var(--line); border-radius: 8px; }

.pagination { display: flex; gap: 6px; justify-content: center; margin: 32px 0; flex-wrap: wrap; }
.page-num { padding: 8px 14px; border: 1px solid var(--line); border-radius: 8px; color: var(--ink); }
.page-num.current { background: var(--brand); color: #fff; border-color: var(--brand); }

.breadcrumb { font-size: 13px; color: var(--muted); padding: 16px 0 4px; }
.breadcrumb a { color: var(--muted); }
.breadcrumb a:hover { color: var(--brand); }

/* ---------- Product page ---------- */
.product-layout { display: grid; grid-template-columns: 1fr 1fr; gap: 40px; padding: 20px 0; }
.product-gallery img#main-product-img { border-radius: 12px; width: 100%; }
.gallery-thumbs { display: flex; gap: 8px; margin-top: 10px; flex-wrap: wrap; }
.gallery-thumbs .thumb { width: 70px; height: 70px; object-fit: cover; border-radius: 8px; cursor: pointer; border: 2px solid transparent; }
.gallery-thumbs .thumb.active { border-color: var(--brand); }
.product-info h1 { font-size: 28px; margin-bottom: 10px; }
.product-price { font-size: 26px; color: var(--brand); font-weight: 800; margin-bottom: 8px; }
.product-price del { color: var(--muted); font-weight: 400; font-size: 18px; margin-right: 8px; }
.product-price ins { text-decoration: none; }
.stock { font-size: 14px; margin-bottom: 14px; }
.in-stock { color: #1a9c46; }
.out-of-stock { color: #cc2b2b; }
.product-excerpt { color: var(--muted); margin-bottom: 18px; }
.option-row { margin-bottom: 14px; }
.option-row label { display: block; font-weight: 600; font-size: 14px; margin-bottom: 5px; }
.option-row select, .option-row input { width: 100%; max-width: 340px; padding: 10px 12px; border: 1px solid var(--line); border-radius: 8px; font-size: 14px; }
.product-actions { display: flex; gap: 12px; margin: 20px 0; flex-wrap: wrap; }
.product-meta { font-size: 13px; color: var(--muted); border-top: 1px solid var(--line); padding-top: 14px; }
.product-description { padding: 24px 0; border-top: 1px solid var(--line); }
.product-description h2 { margin-bottom: 12px; }

/* ---------- Cart ---------- */
.cart-page { padding: 24px 16px 48px; }
.cart-page h1 { margin-bottom: 20px; }
.cart-layout { display: grid; grid-template-columns: 1fr 300px; gap: 32px; align-items: start; }
.cart-table { width: 100%; border-collapse: collapse; }
.cart-table th { text-align: left; padding: 10px; border-bottom: 2px solid var(--line); font-size: 13px; text-transform: uppercase; color: var(--muted); }
.cart-table td { padding: 12px 10px; border-bottom: 1px solid var(--line); vertical-align: middle; }
.cart-img img { width: 64px; height: 64px; object-fit: cover; border-radius: 8px; }
.cart-options { font-size: 12px; color: var(--muted); }
.cart-qty { width: 64px; padding: 6px; border: 1px solid var(--line); border-radius: 6px; }
.cart-remove { background: none; border: 0; font-size: 22px; color: #cc2b2b; cursor: pointer; }
.cart-summary { background: var(--bg-soft); border-radius: 12px; padding: 22px; }
.cart-summary h3 { margin-bottom: 14px; }
.summary-row { display: flex; justify-content: space-between; font-weight: 700; padding: 8px 0; border-bottom: 1px solid var(--line); margin-bottom: 10px; }
.cart-summary .note { font-size: 12px; color: var(--muted); margin-bottom: 14px; }
.cart-empty { text-align: center; padding: 60px 0; }
.cart-empty p { margin-bottom: 16px; color: var(--muted); }

/* ---------- Checkout ---------- */
.checkout-page { padding: 24px 16px 48px; }
.checkout-layout { display: grid; grid-template-columns: 1fr 380px; gap: 36px; align-items: start; }
.checkout-form h3 { margin: 22px 0 12px; font-size: 18px; }
.form-row { margin-bottom: 14px; }
.form-row label { display: block; font-weight: 600; font-size: 14px; margin-bottom: 5px; }
.form-row label .req { color: #cc2b2b; }
.form-row input, .form-row select, .form-row textarea { width: 100%; padding: 11px 12px; border: 1px solid var(--line); border-radius: 8px; font-size: 14px; font-family: inherit; }
.form-row textarea { min-height: 80px; }
.form-2col { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; }
.order-review { background: var(--bg-soft); border-radius: 12px; padding: 22px; }
.order-review h3 { margin-bottom: 14px; }
.review-line { display: flex; justify-content: space-between; padding: 7px 0; border-bottom: 1px solid var(--line); font-size: 14px; }
.review-line.total { font-weight: 800; font-size: 16px; border-bottom: 0; }
.review-item-opts { font-size: 12px; color: var(--muted); }
.field-error { color: #cc2b2b; font-size: 12px; margin-top: 3px; }
.form-error-box { background: #fdecec; color: #a33; border: 1px solid #f5c2c2; border-radius: 8px; padding: 12px 16px; margin-bottom: 16px; }

/* ---------- Account ---------- */
.account-page { padding: 24px 16px 48px; }
.account-layout { display: grid; grid-template-columns: 220px 1fr; gap: 32px; }
.account-nav li a { display: block; padding: 10px 4px; border-bottom: 1px solid var(--line); color: var(--ink); }
.account-nav li a:hover, .account-nav li.active a { color: var(--brand); }
.auth-forms { display: grid; grid-template-columns: 1fr 1fr; gap: 40px; max-width: 900px; }
.auth-form { border: 1px solid var(--line); border-radius: 12px; padding: 26px; }
.auth-form h2 { margin-bottom: 16px; }
.orders-table { width: 100%; border-collapse: collapse; }
.orders-table th, .orders-table td { text-align: left; padding: 10px; border-bottom: 1px solid var(--line); font-size: 14px; }
.status-pill { display: inline-block; padding: 3px 12px; border-radius: 12px; font-size: 12px; font-weight: 700; background: var(--bg-soft); }
.status-completed { background: #e2f6e9; color: #1a9c46; }
.status-processing { background: #e7f0fd; color: #2463c4; }
.status-pending, .status-on-hold { background: #fdf3e2; color: #b07817; }
.status-cancelled, .status-failed { background: #fdecec; color: #a33; }

/* ---------- Blog ---------- */
.blog-page { padding: 24px 16px 48px; }
.blog-page h1 { margin-bottom: 24px; }
.blog-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(300px, 1fr)); gap: 24px; }
.blog-card { border: 1px solid var(--line); border-radius: 12px; overflow: hidden; }
/* only the cover thumb — never meta avatars */
.blog-card .blog-card-thumb img { width: 100%; aspect-ratio: 16/9; object-fit: cover; }
.blog-card .blog-card-avatar { width: 32px; height: 32px; border-radius: 50%; object-fit: cover; }
.blog-card-body { padding: 18px; }
.blog-card h2 { font-size: 18px; margin-bottom: 6px; }
.blog-card h2 a { color: var(--ink); }
.blog-card time { font-size: 12px; color: var(--muted); }
.blog-card p { font-size: 14px; color: var(--muted); margin: 8px 0; }
.read-more { font-weight: 600; font-size: 14px; }
.post-hero { border-radius: 12px; margin: 16px 0; }
.blog-single time { color: var(--muted); font-size: 14px; }

/* ---------- Content pages ---------- */
.content-page { padding: 8px 16px 48px; max-width: 860px; }
.content-page h1 { margin-bottom: 18px; }
.entry-content p { margin-bottom: 14px; }
.entry-content h2, .entry-content h3 { margin: 22px 0 10px; }
.entry-content ul, .entry-content ol { margin: 0 0 14px 22px; }
.entry-content ul { list-style: disc; }
.entry-content ol { list-style: decimal; }
.entry-content img { border-radius: 10px; margin: 12px 0; }

/* ---------- Misc ---------- */
.error-page { text-align: center; padding: 80px 16px; }
.error-page h1 { font-size: 90px; color: var(--brand); }
.error-page p { margin-bottom: 20px; color: var(--muted); }
.error-page .btn { margin: 0 6px; }

.toast { position: fixed; bottom: 24px; right: 24px; background: var(--ink); color: #fff; padding: 14px 22px; border-radius: 10px; z-index: 999; box-shadow: 0 8px 24px rgba(0,0,0,.25); font-size: 14px; }
.toast.success { background: #1a9c46; }
.toast.error { background: #cc2b2b; }

#app.loading { opacity: .4; pointer-events: none; transition: opacity .15s; }

/* ---------- Footer ---------- */

/* ---------- Responsive ---------- */
@media (max-width: 900px) {
  .main-nav { display: none; position: absolute; top: 100%; left: 0; right: 0; background: #fff; border-bottom: 1px solid var(--line); }
  .main-nav.open { display: block; }
  .main-nav > ul { flex-direction: column; }
  .sub-menu { position: static; display: block; border: 0; box-shadow: none; padding-left: 16px; }
  .mobile-toggle { display: block; }
  .header-search input { width: 120px; }
  .product-layout, .cart-layout, .checkout-layout, .shop-layout, .account-layout, .auth-forms { grid-template-columns: 1fr; }
  .hero h1 { font-size: 30px; }
  .form-2col { grid-template-columns: 1fr; }
}

/* ---------- Theme-parity fallbacks (only fill gaps; match live design) ---------- */
/* Woodmart lazy-load blur is removed by theme JS we don't run — show images crisp */
img.wd-lazy-load, img.wd-lazy-blur { filter: none !important; opacity: 1 !important; }

/* Footer: 4 columns like live (bootstrap-style classes from the theme markup) */
.footer-container .row { display: flex; flex-wrap: wrap; }
.footer-column { padding: 0 15px; }
.col-lg-3 { flex: 0 0 25%; max-width: 25%; }
@media (max-width: 991px) { .col-sm-6 { flex: 0 0 50%; max-width: 50%; } .col-lg-3 { flex: 0 0 50%; max-width: 50%; } }
@media (max-width: 575px) { .col-12 { flex: 0 0 100%; max-width: 100%; } .col-lg-3, .col-sm-6 { flex: 0 0 100%; max-width: 100%; } }

/* Footer bottom (copyright) centered like live */
.copyrights-wrapper.copyrights-centered { text-align: center; }
.copyrights-wrapper.copyrights-centered .wd-grid, 
.copyrights-wrapper .container { justify-content: center; text-align: center; }

/* Topbar phone/mail: icon + text on one line, vertically centered */
.whb-top-bar .wd-header-text { display: flex; align-items: center; }
.whb-top-bar .wd-header-text img { display: inline-block; vertical-align: middle; }
.whb-top-bar .wd-header-text a { display: inline-flex; align-items: center; gap: 6px; }

/* Header logo: live uses inline max-width:160px on the img itself — don't constrain further */
.whb-header .wd-logo img { width: auto; }

/* ---------- Login/Register modal (collapse-style popup) ---------- */
.mb-modal-overlay { position: fixed; inset: 0; background: rgba(0,0,0,.55); z-index: 10000; display: none; align-items: flex-start; justify-content: center; overflow-y: auto; padding: 40px 16px; }
.mb-modal-overlay.open { display: flex; }
.mb-modal { background: #fff; border-radius: 10px; max-width: 480px; width: 100%; box-shadow: 0 20px 60px rgba(0,0,0,.3); animation: mbModalIn .25s ease; position: relative; }
@keyframes mbModalIn { from { opacity: 0; transform: translateY(-20px); } to { opacity: 1; transform: translateY(0); } }
.mb-modal-close { position: absolute; top: 12px; right: 14px; background: none; border: 0; font-size: 26px; line-height: 1; cursor: pointer; color: #888; z-index: 2; }
.mb-modal-close:hover { color: var(--brand, #d63384); }
.mb-modal-body { padding: 30px 28px; }
.mb-modal-body .page-title { display: none; }
.mb-modal-tabs { display: flex; border-bottom: 1px solid #eee; margin-bottom: 22px; }
.mb-modal-tab { flex: 1; text-align: center; padding: 12px; font-weight: 700; cursor: pointer; color: #888; border-bottom: 2px solid transparent; background: none; border-top: 0; border-left: 0; border-right: 0; font-size: 15px; }
.mb-modal-tab.active { color: var(--brand, #d63384); border-bottom-color: var(--brand, #d63384); }
.mb-modal-pane { display: none; }
.mb-modal-pane.active { display: block; }
.mb-modal-loading { text-align: center; padding: 30px; color: #888; }

/* Wishlist heart button on product cards (functional wishlist system) */
.product-grid-item .product-element-top { position: relative; }
.mb-wish-btn {
  position: absolute; top: 10px; right: 10px; z-index: 3; width: 34px; height: 34px;
  border: none; border-radius: 50%; background: rgba(255,255,255,.92); color: #e11d63;
  display: grid; place-items: center; cursor: pointer; box-shadow: 0 2px 8px rgba(0,0,0,.12);
  transition: transform .15s, background .15s;
}
.mb-wish-btn:hover { transform: scale(1.12); }
.mb-wish-btn.active { background: #e11d63; color: #fff; }
.mb-wish-btn.active svg { fill: #fff; }

/* ===== Single product: only what the used-CSS bundle doesn't cover ===== */
/* main image — compact square box, whole image shown (no crop) */
.single-product-page .woocommerce-product-gallery__wrapper{position:relative;overflow:hidden;cursor:zoom-in;margin:0;
  width:100%;max-width:420px;aspect-ratio:1;border:1px solid #f0e7e9;border-radius:14px;background:#faf6f7;
  display:flex;align-items:center;justify-content:center}
.single-product-page .woocommerce-product-gallery__image{width:100%;height:100%}
.single-product-page .woocommerce-product-gallery__image a{display:flex;width:100%;height:100%;align-items:center;justify-content:center}
.single-product-page #main-product-img{max-width:100%;max-height:100%;width:auto;height:auto;display:block;
  object-fit:contain;transition:transform .18s ease-out;transform-origin:center center}
.single-product-page .woocommerce-product-gallery__wrapper.zooming #main-product-img{transform:scale(2)}
.single-product-page .img-placeholder.big{font-size:96px;display:grid;place-items:center}
/* share buttons (inline SVG — theme icon font isn't loaded here) */
.mb-share{display:flex;align-items:center;flex-wrap:wrap;gap:8px;margin-top:18px}
.mb-share-label{font-weight:600;font-size:13px;color:#7a6b70;margin-right:2px}
.mb-share-icon{width:34px;height:34px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;
  background:#f4eef0;color:var(--c,#cb4550);transition:background .15s,color .15s,transform .15s}
.mb-share-icon svg{width:17px;height:17px}
.mb-share-icon:hover{background:var(--c,#cb4550);color:#fff;transform:translateY(-2px)}
/* gallery thumbnails — horizontal strip BELOW the large image */
.single-product-page .wd-thumbs-bottom{display:flex;flex-wrap:wrap;gap:10px;margin-top:12px}
.single-product-page .wd-thumbs-bottom .wd-gthumb{flex:0 0 auto;width:78px;height:78px;padding:0;
  border:2px solid #ececec;border-radius:8px;overflow:hidden;cursor:pointer;background:#fff}
.single-product-page .wd-thumbs-bottom .wd-gthumb img{width:100%;height:100%;object-fit:cover;display:block}
.single-product-page .wd-thumbs-bottom .wd-gthumb.active,
.single-product-page .wd-thumbs-bottom .wd-gthumb:hover{border-color:#cb4550}
@media(max-width:782px){.single-product-page .wd-thumbs-bottom{flex-wrap:nowrap;overflow-x:auto}}
/* our custom cake-option selects (fallback styling) */
.single-product-page [class$="-field"]{margin-bottom:14px}
.single-product-page [class$="-field"]>label{display:block;font-weight:600;font-size:13px;margin-bottom:6px}
/* accordion tabs via <details> */
.single-product-page .wd-accordion-item{border-bottom:1px solid #ececec}
.single-product-page .wd-accordion-title{list-style:none;cursor:pointer;padding:18px 4px;font-size:18px;font-weight:700;position:relative}
.single-product-page .wd-accordion-title::-webkit-details-marker{display:none}
.single-product-page .wd-accordion-title::after{content:"+";position:absolute;right:8px;top:50%;transform:translateY(-50%);color:#cb4550;font-size:22px}
.single-product-page .wd-accordion-item[open] .wd-accordion-title::after{content:"\2013"}
/* our <details> accordion — smooth height animation (JS-driven), overriding the
   theme's product.css (.wd-accordion-content{display:none}, needs a .wd-active
   class its JS never adds) and the product_cat-flower rule hiding items 2-4. */
.single-product-page .wd-accordion-item{display:block!important}
.single-product-page .wd-accordion-content{display:block!important;opacity:1!important;line-height:1.7;
  max-height:0;overflow:hidden;padding:0 4px;transition:max-height .32s ease,padding .32s ease}
.single-product-page .wd-accordion-item[open] .wd-accordion-content{padding:4px 4px 26px}
/* ask on whatsapp button */
.wd-ask-price{display:inline-flex;align-items:center;gap:8px;background:#25D366;color:#fff;padding:11px 22px;border-radius:8px;font-weight:600;text-decoration:none;margin-top:14px}
.wd-ask-price:hover{filter:brightness(1.05);color:#fff}

/* ===== Interactive product cards + scroll-reveal (additive, keeps Woodmart layout) ===== */
.products .product-grid-item{transition:opacity .32s ease, transform .42s cubic-bezier(.2,.9,.3,1.35)}
.products .product-grid-item .product-wrapper{transition:box-shadow .28s ease, transform .28s ease; border-radius:14px; padding-bottom:6px}
.products .product-grid-item:hover .product-wrapper{box-shadow:0 18px 38px rgba(51,39,42,.14); transform:translateY(-6px)}
.products .product-grid-item .product-image-link{display:block; overflow:hidden; border-radius:12px}
.products .product-grid-item .product-image-link img{transition:transform .55s cubic-bezier(.2,.8,.25,1); will-change:transform}
.products .product-grid-item:hover .product-image-link img{transform:scale(1.09)}
.products .product-grid-item .wd-entities-title a{transition:color .18s}
.products .product-grid-item:hover .wd-entities-title a{color:#cb4550}
.products .product-grid-item .onsale{transition:transform .2s}
.products .product-grid-item:hover .onsale{transform:scale(1.06)}
/* scroll reveal — hidden state only added by JS, so no-JS shows everything */
.products .product-grid-item.mb-reveal{opacity:0; transform:scale(.6); transform-origin:center center}
.products .product-grid-item.mb-reveal.mb-in{opacity:1; transform:scale(1)}
@media (prefers-reduced-motion:reduce){
  .products .product-grid-item.mb-reveal{opacity:1!important;transform:none!important}
  .products .product-grid-item .product-image-link img{transition:none}
}

/* ===== Fix Woodmart lazy-blur flicker (theme lazy JS doesn't finish in this clone) ===== */
img.wd-lazy-load, img.wd-lazy-blur, .wd-lazy-load, .wd-lazy-blur{
  filter:none!important; opacity:1!important; animation:none!important; transition:none!important;
  transform:none!important; background:none!important;
}

/* ===== Clean navigation-focused footer (docs/Technical-issues requirement) ===== */
.mb-footer-clean{padding:44px 0 20px}
.mb-foot-brand img{margin-bottom:14px}
.mb-foot-brand p{color:#8a8078;font-size:13.5px;line-height:1.6;margin:0 0 14px}
.mb-foot-rating{display:flex;align-items:center;gap:6px;font-size:13px;color:#8a8078;margin-bottom:16px}
.mb-foot-stars{color:#fbbc05;letter-spacing:1px}
.mb-foot-rating strong{color:#cec7c3}
.mb-foot-social{display:flex;gap:10px}
.mb-foot-social a{width:34px;height:34px;border-radius:50%;background:rgba(255,255,255,.08);display:grid;place-items:center;transition:background .15s}
.mb-foot-social a:hover{background:#cb4550}
.mb-foot-social img{width:34px;height:34px}
.mb-foot-title{font-size:14px;font-weight:700;text-transform:uppercase;letter-spacing:.05em;margin:0 0 18px;color:inherit}
.mb-foot-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:11px}
.mb-foot-list a{color:inherit;opacity:.78;font-size:13.5px;text-decoration:none;transition:opacity .15s,color .15s}
.mb-foot-list a:hover{opacity:1;color:#cb4550}
.mb-foot-locations li{display:flex;flex-direction:column;gap:3px;margin-bottom:6px}
.mb-foot-locations strong{font-size:13.5px}
.mb-foot-locations span{font-size:12.5px;opacity:.72;line-height:1.5}
.mb-foot-locations a{font-size:13px;color:#cb4550!important;opacity:1;font-weight:600}

/* ---------- category title band with CMS feature-image background ---------- */
.mb-title-bg{background-size:cover;background-position:center;position:relative}
.mb-title-bg::before{content:"";position:absolute;inset:0;background:linear-gradient(rgba(28,14,18,.45),rgba(28,14,18,.55))}
.mb-title-bg .container{position:relative;z-index:1}
.mb-title-bg .entry-title{color:#fff!important;text-shadow:0 1px 8px rgba(0,0,0,.35)}
.mb-title-bg .woocommerce-breadcrumb,.mb-title-bg .woocommerce-breadcrumb a,
.mb-title-bg .woocommerce-breadcrumb .breadcrumb-last{color:#fff!important;opacity:.92}
/* breadcrumb inside a centered title band */
.page-title .woocommerce-breadcrumb{justify-content:center;display:flex;flex-wrap:wrap;gap:4px;margin-top:6px}

/* ---------- breadcrumbs always on their own line, under the title ---------- */
.page-title .entry-title{display:block}
.page-title .woocommerce-breadcrumb{display:flex!important;width:100%;flex-wrap:wrap;justify-content:center;gap:4px;margin:8px 0 0}
.summary .woocommerce-breadcrumb{display:flex!important;width:100%;flex-wrap:wrap;gap:4px;margin:2px 0 12px}
.blog-single .woocommerce-breadcrumb{display:flex!important;width:100%;flex-wrap:wrap;gap:4px;margin:4px 0 14px}
.content-page > .breadcrumb, .content-page h1 + .breadcrumb{display:flex;width:100%;flex-wrap:wrap;gap:4px;margin:4px 0 16px}

/* ---------- numbered pagination (CMS: no infinite scroll) ---------- */
.pagination.wd-pagination{display:flex;gap:6px;justify-content:center;align-items:center;margin:34px 0;flex-wrap:wrap}
.pagination .page-num{min-width:40px;text-align:center;padding:9px 13px;border:1px solid var(--line);border-radius:9px;
  color:var(--ink);font-weight:600;font-size:14px;text-decoration:none;transition:background .15s,color .15s,border-color .15s}
.pagination .page-num:hover{background:#fbeaef;border-color:#e7b7c2;color:#b23a55}
.pagination .page-num.current{background:#cb4550;color:#fff;border-color:#cb4550}
.pagination .page-nav{font-size:18px;line-height:1;padding:8px 14px}
.pagination .page-dots{padding:0 4px;color:#9a8f92}

/* ---------- product cards: uniform square images everywhere ---------- */
.product-grid-item .product-image-link img{
  width:100%!important;aspect-ratio:1/1;height:auto!important;object-fit:cover;display:block}
.product-grid-item .product-image-link .img-placeholder{
  display:grid;place-items:center;aspect-ratio:1/1;width:100%;font-size:56px;background:#faf6f7}
