/* Reference-inspired storefront, scoped to the shopping page. */
body.storefront-refresh{background:#f7f8f5;font-family:Cairo,sans-serif}
.storefront-refresh #shopBrowse{max-width:1180px;padding:20px 20px 32px!important}
.storefront-refresh .topbar{min-height:68px!important;padding-block:10px!important}
.storefront-refresh .topbar-logo{max-height:44px!important;object-fit:contain}
.storefront-refresh .hero-shell{max-width:1180px;margin:20px auto 0;border-radius:20px;overflow:hidden}
.storefront-refresh #shopBrowse #shopSearchPanel{border-radius:14px!important;border:1px solid #e0e5df;box-shadow:0 3px 12px #152a2010;margin:0 0 24px!important}
.storefront-refresh #shopSearchPanel .shop-search-controls{min-height:54px!important;padding:4px 14px!important}
.storefront-refresh #shopBrowse .cat-flex{gap:14px!important;padding:2px 0 10px!important;margin-bottom:20px!important;grid-auto-columns:calc((100% - 56px)/5)}
.storefront-refresh #shopBrowse .cat-flex:not(.shape-circle) .cat-box{height:190px!important;aspect-ratio:auto!important;min-height:0!important;padding:8px 8px 54px!important;background-origin:content-box;background-clip:content-box;background-repeat:no-repeat;background-color:#fff!important;border:1px solid #e2e7e0;border-radius:14px!important;overflow:hidden!important;margin-bottom:0!important;box-shadow:0 2px 8px #182b2010!important}
.storefront-refresh #shopBrowse .cat-flex:not(.shape-circle) .cat-box-overlay{background:none!important}
.storefront-refresh #shopBrowse .cat-flex:not(.shape-circle) .cat-box-name{position:absolute!important;top:auto!important;bottom:0!important;inset-inline:6px!important;min-height:52px;display:flex;align-items:center;justify-content:center;padding:6px 2px!important;color:#253b31!important;background:#fff!important;border-radius:0!important;font:600 13px/1.55 Cairo,sans-serif!important;text-shadow:none!important;overflow-wrap:break-word!important}
.storefront-refresh #shopBrowse h5{font-weight:700;font-size:20px;margin-block:12px 16px}
.storefront-refresh .store-product .card{border:1px solid #e3e8e3!important;border-radius:16px!important;box-shadow:0 3px 14px #22352b08!important;overflow:hidden}
.storefront-refresh :is(a,button,input):focus-visible{outline:3px solid var(--brand,#304674);outline-offset:3px}
@media(max-width:767px){
 .storefront-refresh .topbar{min-height:60px!important;padding-inline:12px!important}
 .storefront-refresh .hero-shell{margin:12px 12px 0;border-radius:14px}
 .storefront-refresh #shopBrowse{padding:12px 16px 28px!important}
 .storefront-refresh #shopBrowse .cat-flex{grid-auto-columns:calc((100% - 20px)/3)!important;gap:10px!important}
 .storefront-refresh #shopBrowse .cat-flex:not(.shape-circle) .cat-box{height:146px!important;padding:6px 6px 50px!important;border-radius:12px!important}
 .storefront-refresh #shopBrowse .cat-flex:not(.shape-circle) .cat-box-name{font-size:11px!important;min-height:48px}
 .storefront-refresh #shopBrowse #shopSearchPanel{margin-bottom:18px!important}
 .storefront-refresh #shopBrowse h5{font-size:18px}
}

.storefront-refresh .hero-shell{margin-inline:auto!important;width:calc(100% - 40px)!important}
@media(min-width:768px){
 .storefront-refresh #shopBrowse .cat-flex{grid-auto-columns:calc((100% - 42px)/4)!important}
}
@media(max-width:767px){
 .storefront-refresh .hero-shell{width:calc(100% - 24px)!important}
 .storefront-refresh #shopBrowse .cat-flex:not(.rows-1){grid-auto-flow:row!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;grid-template-rows:auto!important}
}

/* Edge-to-edge banner aligned with the store header. */
.storefront-refresh .hero-shell{width:100%!important;max-width:none!important;margin:0!important;border:0!important;border-radius:0!important;padding:0!important}
.storefront-refresh .hero,.storefront-refresh .hero-image{border:0!important;border-radius:0!important;box-shadow:none!important}

/* Clean white storefront with unframed category tiles. */
body.storefront-refresh,.storefront-refresh #pnlStore,.storefront-refresh #shopBrowse{background:#fff!important}
.storefront-refresh #shopBrowse .cat-flex .cat-box{border:0!important;box-shadow:none!important;background-color:#fff!important}
/* Compact category gallery: square imagery, separate readable captions. */
.storefront-refresh #shopBrowse .cat-flex.cat-flex{display:grid!important;grid-auto-flow:column!important;grid-template-columns:none!important;grid-template-rows:repeat(2,auto)!important;grid-auto-columns:calc((100% - 36px)/4)!important;gap:16px 12px!important;overflow-x:auto!important;overflow-y:hidden!important;margin-bottom:8px!important;padding:4px 0!important;align-items:start}
.storefront-refresh #shopBrowse .cat-flex.cat-flex .cat-box{display:flex!important;flex-direction:column;justify-content:flex-start;align-items:stretch;height:auto!important;min-width:0!important;min-height:0!important;aspect-ratio:auto!important;padding:0!important;border:0!important;border-radius:0!important;box-shadow:none!important;background-size:0 0!important;overflow:visible!important}
.storefront-refresh #shopBrowse .cat-flex.cat-flex .cat-box::before{content:'';display:block;width:100%;aspect-ratio:1;background-image:inherit;background-size:cover;background-position:center;border-radius:20%;flex-shrink:0}
.storefront-refresh #shopBrowse .cat-flex.cat-flex .cat-box-overlay{display:none!important}
.storefront-refresh #shopBrowse .cat-flex.cat-flex .cat-box-name{position:static!important;display:block!important;min-height:0!important;max-width:100%!important;padding:7px 0 0!important;background:transparent!important;color:var(--brand,#30231e)!important;font:700 14px/1.5 Cairo,sans-serif!important;text-shadow:none!important;white-space:normal!important;word-break:normal!important;overflow-wrap:normal!important}
.category-scroll-track{width:80px;height:3px;background:#e6ded8;border-radius:3px;margin:12px auto 20px;position:relative;direction:ltr}
.category-scroll-track[hidden]{display:none}
.category-scroll-thumb{display:block;position:absolute;top:0;left:0;height:100%;background:var(--brand,#694536);border-radius:3px}
@media(min-width:768px){.storefront-refresh #shopBrowse .cat-flex.cat-flex .cat-box::before{max-height:180px;aspect-ratio:auto;height:180px}.storefront-refresh #shopBrowse .cat-flex.cat-flex .cat-box-name{font-size:16px!important}}
/* Search capsule and separate local close action. */
.storefront-refresh #shopBrowse #shopSearchPanel{display:flex;align-items:center;gap:10px;direction:rtl;background:transparent!important;border:0!important;border-radius:0!important;box-shadow:none!important}
.storefront-refresh #shopSearchPanel .shop-search-controls{flex:1;min-width:0;direction:ltr;border:1px solid #eceeec;border-radius:999px!important;background:#fff;box-shadow:0 4px 18px #19232d09;min-height:56px!important;padding-inline:18px!important}
.storefront-refresh #shopSearchPanel .shop-search-controls input{font:400 16px/1.5 Cairo,sans-serif;caret-color:#222}
.storefront-refresh #shopSearchPanel .search-exit{flex:0 0 48px;width:48px;height:48px;display:grid;place-items:center;padding:0;border:1px solid #eee;border-radius:50%;background:#fff;color:#222;box-shadow:0 4px 16px #19232d09;font:300 34px/1 Arial,sans-serif}
.storefront-refresh #shopBrowse.is-searching #shopSearchPanel{background:#fff!important;padding-block:4px}

/* Store cart: clear product hierarchy and a persistent checkout summary. */
#cartPanel { width:min(100%,460px); font-family:Cairo,sans-serif; }
#cartPanel .offcanvas-body { overflow:hidden; padding:0 20px; }
#cartItems { overflow-y:auto; min-height:0; padding-top:8px; }
#cartPanel .cart-product { display:flex; align-items:flex-start; gap:14px; padding:20px 0; border-bottom:1px solid #edf0f3; direction:rtl; }
#cartPanel .cart-product-image { position:relative; flex:0 0 76px; height:88px; border-radius:12px; overflow:hidden; background:#f6f7f8; display:grid; place-items:center; color:#8a929d; }
#cartPanel .cart-product-image img { position:absolute; inset:0; width:100%; height:100%; object-fit:contain; background:white; }
#cartPanel .cart-product-details { flex:1; min-width:0; }
#cartPanel .cart-product-name { font-size:14px; font-weight:700; line-height:1.7; overflow-wrap:anywhere; }
#cartPanel .cart-unit-price { color:#697586; font-size:12px; margin:4px 0 10px; }
#cartPanel .cart-product-actions { display:flex; align-items:center; flex-wrap:wrap; gap:6px; }
#cartPanel .cart-quantity { display:flex; align-items:center; border:1px solid #dfe3e8; border-radius:10px; overflow:hidden; }
#cartPanel .cart-quantity button, #cartPanel .cart-remove { width:40px; height:44px; border:0; background:transparent; color:inherit; }
#cartPanel .cart-quantity button:disabled { opacity:.35; }
#cartPanel .cart-quantity span { min-width:26px; text-align:center; font-weight:700; }
#cartPanel .cart-remove { color:#b64747; border-radius:10px; }
#cartPanel .cart-remove:hover { background:#fff1f1; }
#cartPanel .cart-line-total { margin-inline-start:auto; font-size:14px; white-space:nowrap; }
#cartPanel .cart-summary { flex-shrink:0; background:#fff; padding-bottom:max(20px,env(safe-area-inset-bottom)); margin-top:12px; }
#cartPanel #btnCheckout { min-height:48px; border-radius:12px; font-weight:700; }

/* Product preview uses the same quiet controls and typography as the cart. */
#productModal { font-family:Cairo,sans-serif; }
#productModal #pmProductName { font-size:18px; line-height:1.7; margin-top:16px; }
#productModal #pmPrice { font-weight:700; }
#productModal .pm-actions-footer { border:1px solid #edf0f3; border-radius:14px; box-shadow:none; background:white; padding:14px; margin-top:16px; }
#productModal .pm-qty-input { border:1px solid #dfe3e8; border-radius:10px; overflow:hidden; width:132px; }
#productModal .pm-qty-input .btn, #productModal .pm-qty-input .form-control { border:0!important; border-radius:0!important; box-shadow:none!important; background:transparent; color:inherit; min-height:44px; }
#productModal .pm-qty-input .btn { width:44px; padding:0; }
#productModal .pm-qty-input .form-control { padding:0; font-weight:700; min-width:0; }
#productModal #pmAdd { border-radius:12px; min-height:48px; font-size:15px; font-weight:700; }
#productModal .pm-image-stage { position:relative; width:100%; min-height:200px; display:grid; place-items:center; background:#fff; }
#productModal .pm-image-stage.is-loading .pm-image, #productModal .pm-image-stage.image-failed .pm-image { opacity:0!important; }
#productModal .pm-image-status { min-height:200px; display:flex; align-items:center; justify-content:center; gap:10px; font-size:13px; color:#697586; }
#productModal .pm-image-stage .pm-image-status { position:absolute; inset:0; }
#productModal .pm-image-status[hidden] { display:none; }
#productModal .pm-image-spinner { width:20px; height:20px; border:2px solid #e2e5e9; border-top-color:var(--brand,#304470); border-radius:50%; animation:pm-image-spin .9s linear infinite; }
@keyframes pm-image-spin { to { transform:rotate(360deg); } }
@media(prefers-reduced-motion:reduce) { #productModal .pm-image-spinner { animation:none; } }

/* Refined product sheet: rounded artwork, comfortable gutters, quiet buy box. */
#productModal .modal-body { padding:18px!important; }
#productModal #pmContent > .row { --bs-gutter-x:24px; --bs-gutter-y:18px!important; }
#productModal #pmContent .col-md-7 { width:58.333333%; max-width:58.333333%; margin:0!important; padding-inline:12px!important; }
#productModal .pm-image-wrap { min-height:0!important; border-radius:20px!important; overflow:hidden; background:#fff; }
#productModal .pm-image-stage { min-height:180px; padding:0; }
#productModal .pm-image-stage .pm-image { display:block; width:auto!important; height:auto!important; min-height:0!important; max-width:100%!important; max-height:min(52vh,480px)!important; margin:0 auto!important; padding:0!important; border-radius:20px!important; clip-path:inset(0 round 20px); object-fit:contain; }
#productModal #pmProductName { margin-top:14px!important; margin-bottom:8px!important; font-size:19px!important; line-height:1.65; }
#productModal #pmPrice { margin-bottom:12px!important; font-size:21px!important; }
#productModal .pm-trust { margin-block:8px 14px; }
#productModal .pm-actions-footer { border:0!important; border-top:1px solid #edf0f3!important; border-radius:0!important; box-shadow:none!important; background:#fff!important; padding:16px 0 0!important; margin-top:18px!important; }
#productModal .pm-footer-main { box-shadow:none!important; border:0!important; background:transparent!important; padding:0!important; }
#productModal .pm-footer-tools { margin-bottom:12px; }
#productModal #pmAdd { box-shadow:none!important; border-radius:12px!important; min-height:50px!important; }
#productModal .pm-thumb { border-radius:10px!important; overflow:hidden; }
@media(max-width:767px) {
 #productModal #pmContent .col-md-7 { width:100%!important; max-width:100%!important; padding:0!important; }
 #productModal #pmContent .col-md-5 { padding-inline:0!important; }
 #productModal .pm-image-stage .pm-image { max-height:min(43dvh,360px)!important; }
}

/* Keep the gallery comfortably below the header; Bootstrap row gutters
   otherwise cancel the body's top padding on the compact mobile sheet. */
#productModal .modal-content > .modal-header { min-height:64px; padding:14px 18px!important; align-items:center; border-bottom:0; }
#productModal .modal-content > .modal-header .modal-title { font-size:16px; font-weight:700; line-height:1.5; }
#productModal .modal-content > .modal-header [data-bs-dismiss="modal"] { width:44px; height:44px; display:grid; place-items:center; flex-shrink:0; border-radius:12px; }
#productModal .modal-content > .modal-header [data-bs-dismiss="modal"]:hover { background:rgba(255,255,255,.12)!important; }
#productModal .modal-content > .modal-body { padding-top:22px!important; }
#productModal #pmContent > .row { margin-top:0!important; }
#productModal #pmContent > .row > .col-md-7 { margin-top:0!important; }
@media(max-width:767px) {
 #productModal .modal-content > .modal-body { padding-top:20px!important; }
}

/* Top-drawer presentation, retaining the existing product dialog lifecycle. */
#productModal.modal { padding:0!important; overflow:hidden; }
#productModal.modal.fade { transition:opacity 320ms ease-out; }
#productModal.modal .modal-dialog.product-preview-dialog {
 position:absolute!important; inset:0 0 auto!important;
 width:100%!important; max-width:1060px!important;
 margin:0 auto!important; min-height:0!important; height:92vh!important; height:92dvh!important;
 display:flex!important; align-items:stretch!important;
 transition:transform 320ms ease-out!important;
}
#productModal.modal.fade .modal-dialog.product-preview-dialog { transform:translate3d(0,-105%,0)!important; }
#productModal.modal.show .modal-dialog.product-preview-dialog { transform:translate3d(0,0,0)!important; }
#productModal .modal-dialog.product-preview-dialog .modal-content {
 height:100%!important; max-height:100%!important; min-height:0!important;
 border:0!important; border-radius:0!important; overflow:hidden!important;
}
#productModal .modal-content > .modal-header { flex-shrink:0; border-radius:0!important; }
#productModal .modal-content > .modal-body { flex:1 1 auto; min-height:0!important; overflow-y:auto!important; overscroll-behavior:contain; }
#productModal .modal-content::before { display:none!important; }
@media(prefers-reduced-motion:reduce) {
 #productModal.modal.fade, #productModal.modal .modal-dialog.product-preview-dialog { transition:none!important; }
}

/* Thumb-accessible dismissal stays outside the scrolling product content. */
#productModal .pm-close-footer { flex:0 0 auto; display:flex; direction:ltr; justify-content:flex-start; padding:8px 18px max(10px,env(safe-area-inset-bottom)); background:#fff; border-top:1px solid #f0f1f3; }
#productModal .pm-bottom-close { display:inline-flex; align-items:center; justify-content:center; gap:8px; min-height:44px; min-width:96px; padding:8px 14px; border:1px solid #dfe3e8; border-radius:12px; background:#f7f8fa; color:#344054; font:600 14px/1.5 Cairo,sans-serif; }
#productModal .pm-bottom-close:hover { background:#edf0f4; }
#productModal .pm-bottom-close:focus-visible { outline:2px solid var(--brand,#304470); outline-offset:2px; }

#productModal .pm-close-footer { direction:rtl; align-items:center; gap:10px; }
#productModal .pm-close-footer #pmAdd { flex:1; width:auto!important; min-width:0!important; margin:0!important; }
#productModal .pm-close-footer #pmAdd[hidden] { display:none!important; }
#productModal .pm-close-footer .pm-bottom-close { flex:0 0 auto; margin-inline-start:auto; min-height:50px; }

/* Compact details: price and category share a row, spacing follows content. */
#productModal #pmContent .col-md-5 { display:block!important; }
#productModal #pmProductName { margin:10px 0 6px!important; line-height:1.5!important; }
#productModal .pm-meta-row { display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:6px 12px; margin-bottom:8px; }
#productModal .pm-meta-row #pmCat, #productModal .pm-meta-row #pmPrice { margin:0!important; }
#productModal .pm-meta-row #pmPrice { margin-inline-start:auto!important; line-height:1.4!important; }
#productModal .pm-trust { margin:0 0 6px!important; padding:3px 8px!important; white-space:normal!important; line-height:1.5!important; }
#productModal #pmDesc { margin:0 0 10px!important; padding:0!important; min-height:0!important; height:auto!important; line-height:1.65!important; }
#productModal #pmDesc[hidden] { display:none!important; }
#productModal #pmVariants { margin:0!important; }
#productModal .pm-variant-row { padding:8px 10px!important; margin-bottom:8px!important; }
#productModal .pm-variant-title { margin-bottom:6px!important; }
#productModal .pm-actions-footer { margin-top:10px!important; padding-top:10px!important; }
#productModal .pm-footer-tools { margin-bottom:0!important; }
#productModal .pm-add-hint:empty { display:none; }

/* Product drawer: content-sized composition with one price and aligned details. */
#productModal.modal .modal-dialog.product-preview-dialog {
 height:auto!important; max-height:94vh!important; max-height:94dvh!important;
}
#productModal .modal-dialog.product-preview-dialog .modal-content {
 height:auto!important; max-height:94vh!important; max-height:94dvh!important;
}
#productModal .modal-content > .modal-body { flex:0 1 auto!important; padding:20px!important; }
#productModal #pmContent, #productModal #pmContent > .row { flex:0 0 auto!important; }
#productModal #pmContent .col-md-5 { text-align:right; }
#productModal #pmProductName { margin:14px 0 6px!important; font-size:19px!important; font-weight:700; }
#productModal .pm-meta-row { justify-content:flex-start!important; gap:8px 12px; margin-bottom:8px; }
#productModal .pm-meta-row #pmPrice { margin:0!important; margin-inline-start:0!important; font-size:20px!important; color:inherit; }
#productModal .pm-meta-row #pmCat { order:2; }
#productModal .pm-meta-row #pmCat .cat-badge { background:#f2f3f5!important; color:#596273!important; font-size:11px; padding:4px 8px; }
#productModal .pm-trust { background:transparent!important; color:#647468!important; border-radius:0!important; padding:0!important; font-weight:400; font-size:11px!important; }
#productModal .pm-footer-tools { display:flex; justify-content:space-between!important; align-items:center; flex-wrap:wrap; gap:8px; }
#productModal .pm-line-total { display:grid; gap:2px; color:#475467; font-size:12px; }
#productModal #pmFooterPrice { color:#172535; font-size:17px; font-weight:800; font-variant-numeric:tabular-nums; }
#productModal .pm-qty-label { color:#475467; font-size:13px; }
#productModal .pm-actions-footer { margin-top:12px!important; padding-top:12px!important; }
#productModal .pm-close-footer { padding:12px 20px max(12px,env(safe-area-inset-bottom)); }
@media(max-width:767px) {
 #productModal .pm-image-stage .pm-image { max-height:min(38dvh,320px)!important; }
 #productModal .pm-image-stage { min-height:0; }
 #productModal .pm-image-stage.is-loading, #productModal .pm-image-stage.image-failed { min-height:220px; }
}

/* Every size/color remains visible, including on narrow phones. */
#productModal #pmVariants .pm-variant-group { display:flex; flex-wrap:wrap!important; overflow:visible!important; gap:6px!important; height:auto!important; max-height:none!important; }
#productModal #pmVariants .pm-variant-chip { flex:0 0 auto!important; max-width:100%; min-height:44px!important; white-space:normal; overflow-wrap:anywhere; padding:6px 10px!important; font-size:12px!important; }
#productModal #pmVariants .pm-variant-row { height:auto!important; max-height:none!important; }

/* Merchant catalogue: photography and prices carry the visual hierarchy. */
.storefront-refresh #shopBrowse { max-width:1240px; }
.storefront-refresh #shopBrowse h5 { color:#172535; font-size:clamp(20px,2.2vw,30px); font-weight:800; line-height:1.5; }
.storefront-refresh #shopBrowse h5::before { content:""; display:inline-block; width:5px; height:.85em; margin-inline-end:9px; border-radius:4px; background:var(--brand); }
.storefront-refresh #shopBrowse .store-product .card { border:0!important; border-radius:16px!important; box-shadow:none!important; background:#f6f7f8; }
.storefront-refresh #shopBrowse .store-product .card-body { padding:14px 12px; text-align:start; background:#f6f7f8; }
.storefront-refresh #shopBrowse .store-product .prod-name { font:700 clamp(14px,1.4vw,17px)/1.55 Cairo,sans-serif; color:#172535; }
.storefront-refresh #shopBrowse .store-product .product-description { color:#546273!important; margin-block:4px 8px; }
.storefront-refresh #shopBrowse .store-product .product-price { font-weight:800; font-variant-numeric:tabular-nums; }
.storefront-refresh #shopBrowse .store-product .card:focus-within { outline:2px solid var(--brand-readable); outline-offset:2px; }

/* Let uploaded artwork set its own aspect ratio at every viewport width. */
body.storefront-refresh .hero.hero-has-image {
 display:block; height:auto!important; min-height:0!important;
}
body.storefront-refresh .hero.hero-has-image img.hero-image {
 display:block; width:100%!important; height:auto!important; max-height:none!important;
 max-width:none!important; object-fit:contain!important; mask-image:none!important; -webkit-mask-image:none!important;
}
@media(min-width:992px){
 body.storefront-refresh .hero.hero-has-image:has(.hero-text){
  display:grid; direction:ltr; grid-template-columns:minmax(0, min(44%,600px)) minmax(0,600px);
  justify-content:center; align-items:center; background:var(--brand);
 }
 body.storefront-refresh .hero.hero-has-image:has(.hero-text)::after{display:none}
 body.storefront-refresh .hero.hero-has-image .hero-text{
  position:static; direction:rtl; color:var(--brand-contrast,#fff); text-shadow:none;
 }
}
/* Image-only campaigns include lettering: preserve the entire creative. */
@media(min-width:768px){
 body.storefront-refresh .hero.hero-has-image:not(:has(.hero-text)){
  background:var(--brand); text-align:center;
 }
 body.storefront-refresh .hero.hero-has-image:not(:has(.hero-text)) img.hero-image{
  width:auto!important; max-width:100%!important; max-height:min(40vh,380px)!important;
  height:auto!important; margin-inline:auto; object-fit:contain!important;
 }
}
@media(max-width:767px){
 .storefront-refresh .store-page.topbar-below .topbar{
  box-shadow:0 2px 6px rgba(20,30,45,.12);
 }
}
/* Give the catalogue search its own row below the opaque store header. */
 .storefront-refresh #shopSearchPanel.shop-search {
 display:flex; align-items:center; box-sizing:border-box; width:100%; max-width:1240px;
 margin:0 auto!important; padding:6px 16px!important; gap:8px;
 background:white!important; border:0!important; border-radius:0!important; box-shadow:none!important;
}
.storefront-refresh #shopBrowse #shopSearchPanel.shop-search { padding-inline:0!important; margin-bottom:10px!important; }
.storefront-refresh #shopSearchPanel.shop-search .shop-search-controls {
 flex:1; min-width:0; min-height:44px!important; padding:0 12px!important;
 border:1px solid #e4e5e7; border-radius:12px!important; background:#f6f6f7!important; box-shadow:none!important;
}
.storefront-refresh #shopSearchPanel.shop-search input { height:42px; padding:0; font-size:16px; }
.storefront-refresh #shopSearchPanel.shop-search .shop-search-icon { font-size:18px; }
.storefront-refresh #shopSearchPanel.shop-search .shop-search-controls:focus-within { outline:2px solid var(--brand-readable,#39465a); outline-offset:-2px; }
.storefront-refresh #shopBrowse .cat-flex.cat-flex .cat-box::before {
 border-radius:14px;
}
@media(min-width:992px){
 .storefront-refresh #shopBrowse .cat-flex.cat-flex {
  grid-auto-columns:calc((100% - 60px)/6)!important;
 }
}
#productModal .pm-close-footer {
 display:grid; grid-template-columns:minmax(0,1fr) auto; gap:8px 10px;
 box-shadow:0 -5px 20px rgb(20 30 45 / 6%);
}
#productModal .pm-close-footer .pm-actions-footer {
 grid-column:1/-1; margin:0!important; padding:0!important; border:0!important;
}
#productModal .pm-close-footer:has(#pmAdd[hidden]) .pm-actions-footer { display:none; }
#productModal .pm-close-footer .pm-footer-tools { width:100%; }
#productModal .pm-close-footer #pmAdd { width:100%!important; }
#productModal .pm-close-footer .pm-bottom-close { grid-column:2; }
#productModal .pm-image-stage { background:#f7f7f6; border-radius:16px; overflow:hidden; }
#productModal #pmCarousel .pm-thumbs { display:flex; gap:8px; justify-content:safe center; overflow-x:auto; padding:8px 2px; }
#productModal #pmCarousel .pm-thumb { width:50px!important; height:50px!important; flex:none; border-radius:10px!important; }
#productModal #pmCarousel .pm-thumb.active { outline:2px solid var(--brand-readable,currentColor); outline-offset:-2px; }
@media(max-height:480px){
 #productModal .pm-close-footer { padding-block:4px; gap:4px; }
}