/* ===== src/assets/css/final/chicona-final-fixes.css ===== */
/* Chicona V28 — consolidated final storefront fixes */

/* ---- chicona-visual-hotfix-v3.css ---- */
/* Chicona visual hotfix v3 — hero, drawer, swatches, checkout items and empty actions */
:root{
  --cv3-drawer-width:min(370px,calc(100vw - 28px));
  --cv3-border:rgba(17,24,39,.10);
  --cv3-shadow:0 18px 48px rgba(15,23,42,.14);
}

/* ---------- Sidebar / drawer ---------- */
#sidebar.sb{
  width:var(--cv3-drawer-width)!important;
  max-width:var(--cv3-drawer-width)!important;
  background:#fff!important;
  background-image:none!important;
  opacity:1;
  color:#111827;
  isolation:isolate;
  box-shadow:var(--cv3-shadow)!important;
  border-inline-end:1px solid var(--cv3-border)!important;
}
#sidebar .sb-head,
#sidebar .sb-body{
  width:100%;
  box-sizing:border-box;
  background:#fff!important;
}
#sidebar .sb-body{
  padding:14px!important;
  overflow-x:hidden!important;
}
#sidebar details.sb-acc{
  width:100%;
  margin:10px 0 0!important;
  border:1px solid rgba(17,24,39,.07)!important;
  border-radius:16px!important;
  background:#fff!important;
  overflow:hidden!important;
  box-shadow:0 7px 20px rgba(15,23,42,.045)!important;
}
#sidebar details.sb-acc > summary{
  width:100%;
  min-height:52px;
  box-sizing:border-box;
  padding:12px 14px!important;
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  gap:10px;
  background:#fff!important;
  color:#111827!important;
  line-height:1.35;
}
#sidebar details.sb-acc > summary .summary-title{
  min-width:0;
  display:flex!important;
  align-items:center!important;
  gap:9px!important;
  flex:1 1 auto;
}
#sidebar details.sb-acc > summary .summary-title > span{
  min-width:0;
  white-space:normal;
}
#sidebar details.sb-acc > summary::after{
  flex:0 0 auto;
  margin:0!important;
}
#sidebar .sb-acc-panel{
  box-sizing:border-box;
  max-height:0!important;
  padding:0 10px!important;
  margin:0!important;
  opacity:0!important;
  visibility:hidden!important;
  overflow:hidden!important;
  transform:none!important;
  pointer-events:none!important;
}
#sidebar details.sb-acc[open] > .sb-acc-panel{
  max-height:min(55vh,520px)!important;
  padding:6px 10px 12px!important;
  opacity:1!important;
  visibility:visible!important;
  overflow:auto!important;
  pointer-events:auto!important;
}
#sidebar .sb-item,
#sidebar .sb-more,
#sidebar .sb-link{
  width:100%;
  box-sizing:border-box;
  min-width:0;
}
html[lang="ar"] #sidebar .i18n-en{display:none!important;}
html[lang="ar"] #sidebar .i18n-ar{display:inline!important;}
html[lang="en"] #sidebar .i18n-ar{display:none!important;}
html[lang="en"] #sidebar .i18n-en{display:inline!important;}

/* ---------- Home hero ---------- */
body[data-page-name="index"] .home-hero{
  position:relative;
  overflow:hidden;
  background:#f8f3ec;
}
body[data-page-name="index"] .home-hero-shell{
  position:relative!important;
  width:100%!important;
  min-height:clamp(520px,72vh,720px)!important;
  height:clamp(520px,72vh,720px)!important;
  max-height:720px!important;
  overflow:hidden!important;
  background:#efe8df;
}
body[data-page-name="index"] .bc-track,
body[data-page-name="index"] .bc-slide{
  position:absolute!important;
  inset:0!important;
  width:100%!important;
  height:100%!important;
  min-height:100%!important;
}
body[data-page-name="index"] .bc-slide{
  display:block!important;
  opacity:0;
  visibility:hidden;
  pointer-events:none;
  transition:opacity .45s ease,visibility .45s ease;
}
body[data-page-name="index"] .bc-slide.active{
  opacity:1!important;
  visibility:visible!important;
  pointer-events:auto!important;
  z-index:2;
}
body[data-page-name="index"] .bc-img{
  position:absolute!important;
  inset:0!important;
  display:block!important;
  width:100%!important;
  height:100%!important;
  min-height:100%!important;
  object-fit:cover!important;
  object-position:center 42%;
}
body[data-page-name="index"] .bc-grad{
  position:absolute!important;
  inset:0!important;
  z-index:1!important;
  display:block!important;
  background:linear-gradient(90deg,rgba(255,250,244,.18),rgba(255,250,244,.55),rgba(255,250,244,.90))!important;
}
html[dir="rtl"] body[data-page-name="index"] .bc-grad{
  background:linear-gradient(270deg,rgba(255,250,244,.18),rgba(255,250,244,.55),rgba(255,250,244,.90))!important;
}
body[data-page-name="index"] .bc-box{
  position:absolute!important;
  inset:0!important;
  z-index:3!important;
  display:flex!important;
  align-items:center!important;
  justify-content:flex-start!important;
  padding:clamp(28px,5vw,78px)!important;
  visibility:visible!important;
  opacity:1!important;
  pointer-events:none;
}
html[dir="rtl"] body[data-page-name="index"] .bc-box{justify-content:flex-end!important;text-align:right;}
body[data-page-name="index"] .bc-box > div{
  display:block!important;
  visibility:visible!important;
  opacity:1!important;
  width:min(610px,52vw)!important;
  max-width:610px!important;
  padding:clamp(24px,3vw,42px)!important;
  border:1px solid rgba(255,255,255,.62)!important;
  border-radius:30px!important;
  background:rgba(255,255,255,.78)!important;
  box-shadow:0 22px 60px rgba(17,24,39,.15)!important;
  backdrop-filter:blur(10px);
  -webkit-backdrop-filter:blur(10px);
  pointer-events:auto;
}
body[data-page-name="index"] :is(.hero-kicker,.hero-title,.hero-sub,.hero-actions,.hero-btn){
  visibility:visible!important;
  opacity:1!important;
}
body[data-page-name="index"] .hero-title{
  margin:0!important;
  color:#111827!important;
  font-size:clamp(2.4rem,5vw,4.6rem)!important;
  line-height:1.02!important;
  overflow-wrap:normal!important;
  word-break:normal!important;
}
body[data-page-name="index"] .hero-sub{
  margin:14px 0 0!important;
  max-width:44rem;
  color:#4b5563!important;
  font-size:clamp(1rem,1.45vw,1.25rem)!important;
  line-height:1.7!important;
}
body[data-page-name="index"] .hero-actions{
  display:flex!important;
  flex-wrap:wrap!important;
  gap:12px!important;
  margin-top:22px!important;
}
body[data-page-name="index"] .hero-btn{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  min-width:150px;
  min-height:50px;
  padding:12px 22px!important;
  border-radius:14px!important;
  font-weight:800!important;
  line-height:1.25!important;
  white-space:normal!important;
}
body[data-page-name="index"] .hero-btn.primary{background:#111827!important;color:#fff!important;}
body[data-page-name="index"] .hero-btn.secondary{background:#fff!important;color:#5f4213!important;border:1px solid #b98929!important;}
body[data-page-name="index"] .bc-dots{
  position:absolute!important;
  inset-inline:0!important;
  bottom:18px!important;
  z-index:6!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  gap:8px!important;
  pointer-events:auto!important;
}
body[data-page-name="index"] .bc-ctrl{z-index:7!important;}
body[data-page-name="index"] .whatsapp-btn{color:#fff!important;min-width:170px;}

@media(max-width:767px){
  body[data-page-name="index"] .home-hero-shell{
    min-height:540px!important;
    height:clamp(540px,72svh,650px)!important;
    max-height:650px!important;
  }
  body[data-page-name="index"] .bc-img{object-position:center 38%!important;}
  body[data-page-name="index"] .bc-grad{
    background:linear-gradient(180deg,rgba(255,250,244,.05) 0%,rgba(255,250,244,.18) 43%,rgba(255,250,244,.95) 100%)!important;
  }
  body[data-page-name="index"] .bc-box,
  html[dir="rtl"] body[data-page-name="index"] .bc-box{
    align-items:flex-end!important;
    justify-content:center!important;
    text-align:center!important;
    padding:16px 14px 58px!important;
  }
  body[data-page-name="index"] .bc-box > div{
    width:min(100%,620px)!important;
    max-width:620px!important;
    padding:18px 14px 20px!important;
    border-radius:24px!important;
  }
  body[data-page-name="index"] .hero-title{font-size:clamp(2rem,10vw,3rem)!important;}
  body[data-page-name="index"] .hero-sub{font-size:.98rem!important;line-height:1.55!important;}
  body[data-page-name="index"] .hero-actions{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;width:100%;gap:10px!important;margin-top:16px!important;}
  body[data-page-name="index"] .hero-btn{min-width:0!important;width:100%!important;min-height:48px!important;padding:10px 8px!important;}
  body[data-page-name="index"] .bc-dots{bottom:16px!important;}
}
@media(max-width:380px){
  body[data-page-name="index"] .hero-actions{grid-template-columns:1fr!important;}
  body[data-page-name="index"] .bc-box{padding-bottom:54px!important;}
}

/* Product page: keep one clean color label, not two duplicate rows. */
body[data-page-name="product"] #colorsWrap{
  display:flex!important;
  align-items:flex-start!important;
  justify-content:flex-start!important;
  flex-wrap:wrap!important;
  gap:12px!important;
  height:auto!important;
  min-height:48px!important;
  overflow:visible!important;
}
html[dir="rtl"] body[data-page-name="product"] #colorsWrap{justify-content:flex-start!important;}
body[data-page-name="product"] #colorsWrap .swatch-wrap{width:58px!important;gap:6px!important;}
body[data-page-name="product"] #colorsWrap .swatch{width:34px!important;height:34px!important;min-width:34px!important;min-height:34px!important;}


/* ---------- Checkout order summary ---------- */
body[data-page-name="checkout"] main.checkout-shell > .checkout-layout{
  grid-template-columns:minmax(0,1fr)!important;
  gap:clamp(16px,3vw,28px)!important;
  width:100%!important;
  max-width:100%!important;
  min-width:0!important;
}
body[data-page-name="checkout"] main.checkout-shell > .checkout-layout > aside,
body[data-page-name="checkout"] main.checkout-shell > .checkout-layout > section{width:100%!important;max-width:100%!important;min-width:0!important;}
body[data-page-name="checkout"] #itemsList .line{
  display:grid!important;
  grid-template-columns:minmax(0,1fr)!important;
  gap:8px!important;
  align-items:start!important;
  width:100%!important;
  min-width:0!important;
}
body[data-page-name="checkout"] #itemsList .line > .flex{
  display:grid!important;
  grid-template-columns:74px minmax(0,1fr)!important;
  align-items:start!important;
  gap:12px!important;
  width:100%!important;
  min-width:0!important;
}
body[data-page-name="checkout"] #itemsList .line > .flex > .min-w-0{
  min-width:0!important;
  width:100%!important;
}
body[data-page-name="checkout"] #itemsList .prod-img{
  width:74px!important;
  height:74px!important;
  min-width:74px!important;
  object-fit:cover!important;
}
body[data-page-name="checkout"] #itemsList .font-medium,
body[data-page-name="checkout"] #itemsList .truncate{
  display:block!important;
  width:100%!important;
  max-width:none!important;
  min-width:0!important;
  white-space:normal!important;
  overflow:visible!important;
  text-overflow:clip!important;
  overflow-wrap:break-word!important;
  word-break:normal!important;
  line-break:auto!important;
  line-height:1.5!important;
}
body[data-page-name="checkout"] #itemsList .line > .shrink-0:last-child{
  justify-self:start!important;
  white-space:normal!important;
  text-align:start!important;
}
@media(min-width:1024px){
  body[data-page-name="checkout"] main.checkout-shell > .checkout-layout{grid-template-columns:minmax(320px,.95fr) minmax(0,2.2fr)!important;}
}
@media(max-width:460px){
  body[data-page-name="checkout"] #itemsList .line > .flex{grid-template-columns:68px minmax(0,1fr)!important;gap:10px!important;}
  body[data-page-name="checkout"] #itemsList .prod-img{width:68px!important;height:68px!important;min-width:68px!important;}
}

/* ---------- Empty action text safety ---------- */
:is(#homeWhatsappBtn,.whatsapp-btn,#waBtn,#addBtn,#placeOrderBtn,#applyCouponBtn,#removeCouponBtn,#backToCartBtn,#cartChoiceConfirm,#cartChoiceCancel,#cartChoiceClose,#authSignIn,#authGuest,#authCancel,#noticeOk,#sizeBtn,#btnCancelSize,#btnConfirmSize){
  text-indent:0!important;
  font-size:inherit;
}
:is(#homeWhatsappBtn,.whatsapp-btn,#addBtn,#placeOrderBtn,.hero-btn.primary){color:#fff!important;}

/* ---- chicona-visual-commerce-hotfix-v4.css ---- */
/* Chicona visual + commerce hotfix v4
   - clean product-card swatches
   - remove duplicate sidebar labels
   - normalize language controls
   - keep checkout item names readable
*/
:root{
  --cv4-ink:#111827;
  --cv4-muted:#6b7280;
  --cv4-gold:#8a621a;
  --cv4-line:rgba(17,24,39,.11);
  --cv4-soft:#f7f3ec;
}

/* ---------- Sidebar: only the actual accordion title remains ---------- */
#sidebar .cv4-duplicate-sidebar-label{display:none!important;}
#sidebar details.sb-acc > summary .summary-title{
  min-width:0!important;
  flex:1 1 auto!important;
  display:flex!important;
  align-items:center!important;
  gap:9px!important;
}
#sidebar details.sb-acc > summary .summary-title > span{
  min-width:0!important;
  margin:0!important;
  padding:0!important;
  line-height:1.35!important;
  white-space:normal!important;
}
html[lang^="ar"] #sidebar .i18n-en,
html[dir="rtl"] #sidebar .i18n-en{display:none!important;}
html[lang^="en"] #sidebar .i18n-ar,
html[dir="ltr"] #sidebar .i18n-ar{display:none!important;}
#sidebar .sb-body > .cv4-orphan-section-label{display:none!important;}
@media(max-width:520px){.unified-page-head .cv4-lang-switch{margin-inline-start:auto!important;}}

/* ---------- Checkout summary readability ---------- */
body[data-page-name="checkout"] #itemsList .line,
body[data-page-name="checkout"] #itemsList .cv3-checkout-line{
  min-width:0!important;
  width:100%!important;
}
body[data-page-name="checkout"] #itemsList .font-medium,
body[data-page-name="checkout"] #itemsList .cv3-product-name{
  max-width:100%!important;
  white-space:normal!important;
  overflow:visible!important;
  text-overflow:clip!important;
  overflow-wrap:normal!important;
  word-break:normal!important;
  hyphens:none!important;
  line-height:1.45!important;
}
body[data-page-name="checkout"] #itemsList .text-xs{
  overflow-wrap:normal!important;
  word-break:normal!important;
}

/* ---- chicona-sidebar-hotfix-v5.css ---- */
/* Chicona sidebar-only hotfix v5
   Target: the latest All17 + visual v3 + commerce v4 stack.
   This file intentionally changes only #sidebar and #sbOverlay.
*/
:root{
  --cv5-sidebar-width:min(390px,calc(100vw - 18px));
  --cv5-sidebar-ink:#111827;
  --cv5-sidebar-muted:#6b7280;
  --cv5-sidebar-gold:#8a621a;
  --cv5-sidebar-line:rgba(17,24,39,.10);
  --cv5-sidebar-bg:#fff;
  --cv5-sidebar-card:#fff;
}

#sbOverlay{
  position:fixed!important;
  inset:0!important;
  z-index:1890!important;
  background:rgba(15,23,42,.43)!important;
  backdrop-filter:blur(1.5px)!important;
  -webkit-backdrop-filter:blur(1.5px)!important;
}

#sidebar{
  position:fixed!important;
  top:0!important;
  bottom:0!important;
  inset-inline-end:0!important;
  inset-inline-start:auto!important;
  z-index:1900!important;
  width:var(--cv5-sidebar-width)!important;
  max-width:100vw!important;
  /* Browser-safe sizing: top/bottom own the visual viewport. Explicit vh/dvh
     heights can extend under Chrome's dynamic browser UI on Android. */
  height:auto!important;
  min-height:0!important;
  max-height:none!important;
  display:flex!important;
  flex-direction:column!important;
  overflow:hidden!important;
  background:var(--cv5-sidebar-bg)!important;
  color:var(--cv5-sidebar-ink)!important;
  box-shadow:-16px 0 48px rgba(15,23,42,.18)!important;
  isolation:isolate!important;
}
html[dir="ltr"] #sidebar{
  inset-inline-start:0!important;
  inset-inline-end:auto!important;
  box-shadow:16px 0 48px rgba(15,23,42,.18)!important;
}

#sidebar .sb-head{
  flex:0 0 auto!important;
  min-height:72px!important;
  padding:max(12px,env(safe-area-inset-top)) 16px 12px!important;
  display:grid!important;
  grid-template-columns:48px minmax(0,1fr) 48px!important;
  align-items:center!important;
  gap:10px!important;
  border-bottom:1px solid var(--cv5-sidebar-line)!important;
  background:#fff!important;
}
#sidebar .sb-title{
  grid-column:2!important;
  min-width:0!important;
  text-align:center!important;
  color:var(--cv5-sidebar-ink)!important;
  font-size:18px!important;
  line-height:1.2!important;
  font-weight:900!important;
  letter-spacing:.02em!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
  white-space:nowrap!important;
}
#sidebar #sbCloseBtn{
  grid-column:1!important;
  grid-row:1!important;
  width:44px!important;
  height:44px!important;
  min-width:44px!important;
  min-height:44px!important;
  margin:0!important;
  border:1px solid var(--cv5-sidebar-line)!important;
  border-radius:14px!important;
  background:#fff!important;
  color:var(--cv5-sidebar-ink)!important;
  box-shadow:0 6px 18px rgba(15,23,42,.06)!important;
}
html[dir="ltr"] #sidebar #sbCloseBtn{grid-column:3!important;}

#sidebar .sb-body{
  flex:1 1 auto!important;
  min-height:0!important;
  width:100%!important;
  padding:14px 14px max(32px,calc(22px + env(safe-area-inset-bottom)))!important;
  scroll-padding-bottom:max(32px,calc(22px + env(safe-area-inset-bottom)))!important;
  overflow-y:auto!important;
  overflow-x:hidden!important;
  overscroll-behavior:contain!important;
  -webkit-overflow-scrolling:touch!important;
  background:#fff!important;
}




#sidebar .cv5-top-row{
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  gap:10px!important;
  margin:10px 0 12px!important;
}
#sidebar .cv5-top-row > .sb-link{
  flex:1 1 auto!important;
  min-width:0!important;
  min-height:44px!important;
  margin:0!important;
  padding:9px 13px!important;
  border:1px solid var(--cv5-sidebar-line)!important;
  border-radius:14px!important;
  display:flex!important;
  align-items:center!important;
  justify-content:flex-start!important;
  gap:9px!important;
  background:#fff!important;
  color:var(--cv5-sidebar-ink)!important;
}

#sidebar details.sb-acc{
  width:100%!important;
  margin:9px 0 0!important;
  border:1px solid var(--cv5-sidebar-line)!important;
  border-radius:14px!important;
  overflow:hidden!important;
  background:var(--cv5-sidebar-card)!important;
  box-shadow:0 7px 20px rgba(15,23,42,.045)!important;
}
#sidebar details.sb-acc > summary{
  box-sizing:border-box!important;
  min-height:52px!important;
  padding:10px 13px!important;
  display:grid!important;
  grid-template-columns:minmax(0,1fr) 18px!important;
  align-items:center!important;
  gap:10px!important;
  list-style:none!important;
  cursor:pointer!important;
  color:var(--cv5-sidebar-ink)!important;
  background:#fff!important;
  font-size:14px!important;
  line-height:1.35!important;
  font-weight:800!important;
  text-decoration:none!important;
  user-select:none!important;
}
#sidebar details.sb-acc > summary::-webkit-details-marker{display:none!important;}
#sidebar details.sb-acc > summary::marker{content:""!important;}
#sidebar details.sb-acc > summary::after{
  content:"▾"!important;
  grid-column:2!important;
  grid-row:1!important;
  display:grid!important;
  place-items:center!important;
  width:18px!important;
  height:18px!important;
  margin:0!important;
  color:var(--cv5-sidebar-muted)!important;
  font-size:12px!important;
  line-height:1!important;
  transform:none!important;
  transition:transform .2s ease,color .2s ease!important;
}
#sidebar details.sb-acc[open] > summary::after{
  transform:rotate(180deg)!important;
  color:var(--cv5-sidebar-gold)!important;
}
#sidebar details.sb-acc > summary .summary-title{
  grid-column:1!important;
  grid-row:1!important;
  min-width:0!important;
  width:100%!important;
  display:flex!important;
  align-items:center!important;
  gap:9px!important;
  margin:0!important;
  padding:0!important;
  color:inherit!important;
}
#sidebar details.sb-acc > summary .summary-title > svg{
  display:block!important;
  flex:0 0 18px!important;
  width:18px!important;
  height:18px!important;
  color:#6b7280!important;
}
#sidebar details.sb-acc > summary .cv5-summary-label{
  display:block!important;
  flex:1 1 auto!important;
  min-width:0!important;
  margin:0!important;
  padding:0!important;
  color:var(--cv5-sidebar-ink)!important;
  font:inherit!important;
  line-height:1.35!important;
  white-space:normal!important;
  overflow-wrap:normal!important;
  word-break:normal!important;
}
#sidebar details.sb-acc[open] > summary{
  color:#6b4811!important;
  background:#fffaf0!important;
  border-bottom:1px solid rgba(138,98,26,.12)!important;
}
#sidebar details.sb-acc:not([open]) > .sb-acc-panel{
  display:none!important;
  max-height:0!important;
  padding:0!important;
  margin:0!important;
  opacity:0!important;
  visibility:hidden!important;
  pointer-events:none!important;
  transform:none!important;
}
#sidebar details.sb-acc[open] > .sb-acc-panel{
  display:block!important;
  max-height:none!important;
  padding:8px!important;
  margin:0!important;
  opacity:1!important;
  visibility:visible!important;
  pointer-events:auto!important;
  transform:none!important;
  overflow:visible!important;
  background:#fff!important;
}
#sidebar .sb-acc-panel :is(#listCategories,#listSubcategories,#listBrands,#listOffers,#listVendors,#listProducts){
  display:grid!important;
  gap:3px!important;
  min-width:0!important;
}
#sidebar .sb-item,
#sidebar .sb-more,
#sidebar .sb-acc-panel a{
  width:100%!important;
  min-width:0!important;
  min-height:40px!important;
  padding:9px 10px!important;
  border-radius:10px!important;
  display:flex!important;
  align-items:center!important;
  color:#374151!important;
  background:transparent!important;
  text-decoration:none!important;
  white-space:normal!important;
  overflow-wrap:normal!important;
  word-break:normal!important;
}
#sidebar .sb-item:hover,
#sidebar .sb-more:hover,
#sidebar .sb-acc-panel a:hover{background:#f8f5ef!important;color:#6b4811!important;}

#sidebar .cv5-static-links{
  margin-top:10px!important;
  display:grid!important;
  gap:8px!important;
}
#sidebar .cv5-static-links > .sb-link{
  min-height:46px!important;
  margin:0!important;
  padding:10px 13px!important;
  border:1px solid var(--cv5-sidebar-line)!important;
  border-radius:14px!important;
  display:flex!important;
  align-items:center!important;
  background:#fff!important;
  color:var(--cv5-sidebar-ink)!important;
  text-decoration:none!important;
}

#sidebar .cv4-duplicate-sidebar-label,
#sidebar .cv4-orphan-section-label,
#sidebar .cv5-orphan-label{display:none!important;}

#sidebar :is(a,button,input,summary):focus-visible{
  outline:2px solid var(--cv5-sidebar-gold)!important;
  outline-offset:2px!important;
}

@media(max-width:430px){
  :root{--cv5-sidebar-width:calc(100vw - 18px);}
  #sidebar .sb-body{padding-inline:14px!important;}
}
@media(prefers-reduced-motion:reduce){
  #sidebar *,#sidebar *::before,#sidebar *::after{transition:none!important;animation:none!important;}
}

/* ---- chicona-sidebar-product-hotfix-v6.css ---- */
/* Chicona sidebar + product experience hotfix v6
   - Repairs stale mobile scroll/touch locks left by the drawer.
   - Improves product colour/size selection without changing PocketBase data.
*/
:root{
  --cv6-ink:#111827;
  --cv6-muted:#6b7280;
  --cv6-gold:#8a621a;
  --cv6-gold-soft:#fff8e8;
  --cv6-line:rgba(17,24,39,.12);
  --cv6-danger:#b42318;
}

/* The overlay must never intercept touches while the sidebar is closed. */
#sbOverlay:not(.active):not(.open):not(.show),
#sbOverlay[aria-hidden="true"]{
  opacity:0!important;
  visibility:hidden!important;
  pointer-events:none!important;
  touch-action:auto!important;
}
#sbOverlay:is(.active,.open,.show),
#sbOverlay[aria-hidden="false"]{
  opacity:1!important;
  visibility:visible!important;
  pointer-events:auto!important;
  touch-action:none!important;
}
#sidebar:not(.open):not(.active):not(.show),
#sidebar[aria-hidden="true"]{
  pointer-events:none!important;
  visibility:hidden!important;
}
#sidebar:is(.open,.active,.show),
#sidebar[aria-hidden="false"]{
  pointer-events:auto!important;
  visibility:visible!important;
}
#sidebar .sb-body{
  touch-action:pan-y!important;
  overscroll-behavior-y:contain!important;
  -webkit-overflow-scrolling:touch!important;
}
html.cv6-sidebar-open,
body.cv6-sidebar-open{
  overflow:hidden!important;
  overscroll-behavior:none!important;
}
body.cv6-sidebar-open{touch-action:none!important;}

/* Product page hierarchy and spacing. */
body[data-page-name="product"] .cv6-product-info{
  min-width:0;
}
body[data-page-name="product"] #colorSection,
body[data-page-name="product"] #sizeSection{
  position:relative;
  padding:18px!important;
  border-color:rgba(138,98,26,.18)!important;
  background:linear-gradient(180deg,#fff 0%,#fffdf8 100%)!important;
}
body[data-page-name="product"] #colorSection::before,
body[data-page-name="product"] #sizeSection::before{
  position:absolute;
  inset-block-start:14px;
  inset-inline-end:14px;
  width:25px;
  height:25px;
  display:grid;
  place-items:center;
  border-radius:999px;
  background:var(--cv6-gold-soft);
  color:#6b4811;
  border:1px solid rgba(138,98,26,.25);
  font-size:12px;
  font-weight:900;
}
body[data-page-name="product"] #colorSection::before{content:"1";}
body[data-page-name="product"] #sizeSection::before{content:"2";}
body[data-page-name="product"] #colorSection > #lblColors,
body[data-page-name="product"] #sizeSection > #lblSize{
  padding-inline-end:36px;
  margin-bottom:12px!important;
  color:var(--cv6-ink);
  font-size:16px;
  line-height:1.35;
  font-weight:800!important;
}

/* Colour choices become clear touch-friendly option tiles. */
body[data-page-name="product"] #colorsWrap{
  display:grid!important;
  grid-template-columns:repeat(auto-fit,minmax(78px,1fr));
  gap:10px!important;
  align-items:stretch!important;
  width:100%;
}
body[data-page-name="product"] #colorsWrap .swatch-wrap{
  width:auto!important;
  min-width:0!important;
  min-height:82px;
  padding:9px 7px 8px;
  gap:6px!important;
  justify-content:center;
  border:1px solid var(--cv6-line);
  border-radius:14px;
  background:#fff;
  cursor:pointer;
  transition:border-color .16s ease,background .16s ease,box-shadow .16s ease,transform .16s ease;
}
body[data-page-name="product"] #colorsWrap .swatch-wrap:hover{
  border-color:rgba(138,98,26,.45);
  background:#fffdf8;
}
body[data-page-name="product"] #colorsWrap .swatch-wrap.cv6-selected{
  border-color:var(--cv6-gold);
  background:var(--cv6-gold-soft);
  box-shadow:0 0 0 2px rgba(138,98,26,.12),0 8px 20px rgba(15,23,42,.06);
  transform:translateY(-1px);
}
body[data-page-name="product"] #colorsWrap .swatch{
  width:38px!important;
  height:38px!important;
  min-width:38px!important;
  min-height:38px!important;
  border:3px solid #fff!important;
  outline:1px solid #cbd5e1!important;
  box-shadow:0 2px 8px rgba(15,23,42,.12)!important;
  touch-action:manipulation;
}
body[data-page-name="product"] #colorsWrap .swatch.active{
  outline:2px solid var(--cv6-gold)!important;
  box-shadow:0 0 0 3px rgba(138,98,26,.15)!important;
}
body[data-page-name="product"] #colorsWrap .swatch.active::after{
  inset-block-start:-7px!important;
  inset-inline-end:-7px!important;
  width:18px!important;
  height:18px!important;
  background:var(--cv6-ink)!important;
  font-size:12px!important;
}
body[data-page-name="product"] #colorsWrap .swatch-name{
  display:block!important;
  max-width:100%!important;
  min-height:17px;
  color:#374151!important;
  font-size:12px!important;
  font-weight:700;
  line-height:1.35!important;
  white-space:nowrap!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
}
body[data-page-name="product"] #colorNames{display:none!important;}

/* Size choices use large, consistent radio-like chips. */
body[data-page-name="product"] #sizeInline,
body[data-page-name="product"] #sizeOptions{
  display:grid!important;
  grid-template-columns:repeat(auto-fit,minmax(72px,1fr));
  gap:9px!important;
  width:100%;
}
body[data-page-name="product"] :is(#sizeInline,#sizeOptions) .size-chip{
 position:relative;min-width:0!important;min-height:var(--control-size,44px)!important;
 padding:10px 16px!important;border-radius:var(--control-radius,12px)!important;touch-action:manipulation;
}

body[data-page-name="product"] .cv6-selection-status{
  margin:10px 0 0;
  padding:8px 10px;
  border-radius:10px;
  background:#f8fafc;
  color:var(--cv6-muted);
  font-size:12.5px;
  line-height:1.45;
}
body[data-page-name="product"] .cv6-selection-status strong{color:var(--cv6-ink);}
body[data-page-name="product"] .cv6-option-error{
  border-color:rgba(180,35,24,.48)!important;
  box-shadow:0 0 0 3px rgba(180,35,24,.08)!important;
  animation:cv6OptionNudge .28s ease 1;
}
body[data-page-name="product"] .cv6-option-error .cv6-selection-status{
  background:#fff1f0;
  color:var(--cv6-danger);
}
@keyframes cv6OptionNudge{0%,100%{transform:none}35%{transform:translateX(-4px)}70%{transform:translateX(4px)}}
body[data-page-name="product"] #addBtn{
  box-shadow:0 10px 24px rgba(17,24,39,.14);
}
body[data-page-name="product"] #addBtn:active{transform:translateY(1px);}
body[data-page-name="product"] #sizeModal .ui-modal-card{
  border-radius:22px!important;
  max-height:min(82dvh,620px)!important;
  overflow:auto!important;
}
body[data-page-name="product"] #sizeModal #sizeOptions{margin-top:2px;}
body[data-page-name="product"] #sizeModal :is(#btnCancelSize,#btnConfirmSize){
  min-height:44px;
  min-width:96px;
  font-weight:800;
}

@media(min-width:1024px){
  body[data-page-name="product"] .cv6-product-info{padding-inline-start:4px;}
}
@media(max-width:640px){
  body[data-page-name="product"] #colorSection,
  body[data-page-name="product"] #sizeSection{padding:15px!important;border-radius:17px!important;}
  body[data-page-name="product"] #colorsWrap{grid-template-columns:repeat(3,minmax(0,1fr));}
  body[data-page-name="product"] #colorsWrap .swatch-wrap{min-height:78px;padding-inline:5px;}
  body[data-page-name="product"] #sizeInline{grid-template-columns:repeat(3,minmax(0,1fr));}
}

/* ---- chicona-cart-cards-hotfix-v7.css ---- */
/* Chicona cart recovery + fully unified product cards v7
   Scoped to the storefront. No PocketBase schema or commerce rule changes.
*/
:root{
  --cv7-ink:#111827;
  --cv7-muted:#6b7280;
  --cv7-line:rgba(17,24,39,.10);
  --cv7-gold:#8a621a;
  --cv7-gold-soft:#fff8e8;
  --cv7-card-radius:16px;
  --cv7-card-body-height:176px;
  
}

/* ---------------- Cart visibility and recovered item cards ---------------- */
body[data-page-name="cart"] #cartItemsMobile{
  min-width:0;
  width:100%;
}
body[data-page-name="cart"] #cartItemsMobile:not(:empty){
  visibility:visible!important;
  opacity:1!important;
  min-height:1px!important;
}
body[data-page-name="cart"] .cart-row-mobile,
body[data-page-name="cart"] .cart-item-card,
body[data-page-name="cart"] .cv7-cart-card{
  visibility:visible!important;
  opacity:1!important;
  min-height:116px!important;
}
body[data-page-name="cart"] .cv7-cart-card{
  display:grid;
  grid-template-columns:88px minmax(0,1fr);
  gap:12px;
  align-items:start;
  width:100%;
  max-width:100%;
  padding:12px;
  box-sizing:border-box;
  border:1px solid var(--cv7-line);
  border-radius:18px;
  background:#fff;
  box-shadow:0 8px 22px rgba(15,23,42,.045);
  overflow:hidden;
}
body[data-page-name="cart"] .cv7-cart-card__image{
  display:block;
  width:88px;
  height:88px;
  object-fit:cover;
  object-position:center;
  border-radius:14px;
  border:1px solid var(--cv7-line);
  background:#f8fafc;
}
body[data-page-name="cart"] .cv7-cart-card__body{min-width:0;display:flex;flex-direction:column;gap:7px;}
body[data-page-name="cart"] .cv7-cart-card__head{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;align-items:start;}
body[data-page-name="cart"] .cv7-cart-card__title{
  margin:0;
  color:var(--cv7-ink);
  font-size:.96rem;
  line-height:1.38;
  font-weight:700;
  display:-webkit-box;
  -webkit-line-clamp:2;
  line-clamp:2;
  -webkit-box-orient:vertical;
  overflow:hidden;
  overflow-wrap:normal;
  word-break:normal;
}
body[data-page-name="cart"] .cv7-cart-card__unit{white-space:nowrap;color:var(--cv7-ink);font-size:.88rem;font-weight:800;}
body[data-page-name="cart"] .cv7-cart-card__options{display:flex;flex-wrap:wrap;gap:5px;min-height:0;}
body[data-page-name="cart"] .cv7-cart-card__option{display:inline-flex;align-items:center;max-width:100%;padding:.16rem .5rem;border:1px solid #e5e7eb;border-radius:999px;background:#f9fafb;color:#374151;font-size:.76rem;line-height:1.35;}
body[data-page-name="cart"] .cv7-cart-card__line{color:#6b7280;font-size:.82rem;line-height:1.4;}
body[data-page-name="cart"] .cv7-cart-card__line strong{color:var(--cv7-ink);font-weight:800;}
body[data-page-name="cart"] .cv7-cart-card__controls{display:flex;align-items:center;justify-content:space-between;gap:9px;flex-wrap:wrap;margin-top:2px;}
body[data-page-name="cart"] .cv7-cart-card__qty{display:grid;grid-template-columns:38px 48px 38px;gap:6px;align-items:center;}
body[data-page-name="cart"] .cv7-cart-card__qty button,
body[data-page-name="cart"] .cv7-cart-card__qty input{
  width:100%;height:38px;min-width:0;padding:0;border:1px solid rgba(17,24,39,.14);border-radius:12px;background:#fff;color:var(--cv7-ink);text-align:center;font-weight:800;
}
body[data-page-name="cart"] .cv7-cart-card__qty button{font-size:1.1rem;touch-action:manipulation;}
body[data-page-name="cart"] .cv7-cart-card__remove{min-height:38px;padding:.4rem .65rem;border:1px solid #fee2e2;border-radius:12px;background:#fff;color:#dc2626;font-weight:700;touch-action:manipulation;}
body[data-page-name="cart"] tr.cv7-cart-row td{vertical-align:middle;}
body[data-page-name="cart"] tr.cv7-cart-row .cv7-desktop-product{display:flex;align-items:center;gap:12px;min-width:280px;}
body[data-page-name="cart"] tr.cv7-cart-row .cv7-desktop-product img{width:74px;height:74px;object-fit:cover;border-radius:14px;border:1px solid var(--cv7-line);}
body[data-page-name="cart"] tr.cv7-cart-row .cv7-desktop-title{max-width:330px;white-space:normal;word-break:normal;overflow-wrap:normal;line-height:1.4;font-weight:700;}

@media(max-width:1199px){
  body[data-page-name="cart"] #cartItemsMobile:not(:empty){display:grid!important;grid-template-columns:1fr!important;gap:10px!important;padding:10px!important;}
  body[data-page-name="cart"] #cartItemsMobile > :is(.cart-row-mobile,.cart-item-card,.cv7-cart-card){display:grid!important;}
  body[data-page-name="cart"] .cart-table-desktop{display:none!important;}
}
@media(min-width:1200px){
  body[data-page-name="cart"] #cartItemsMobile{display:none!important;}
  body[data-page-name="cart"] .cart-table-desktop{display:block!important;}
}
@media(max-width:389px){
  body[data-page-name="cart"] .cv7-cart-card{grid-template-columns:70px minmax(0,1fr);gap:9px;padding:10px;}
  body[data-page-name="cart"] .cv7-cart-card__image{width:70px;height:70px;border-radius:12px;}
  body[data-page-name="cart"] .cv7-cart-card__head{grid-template-columns:1fr;gap:4px;}
  body[data-page-name="cart"] .cv7-cart-card__unit{font-size:.82rem;}
}

/* ---------------- One product-card contract everywhere ---------------- */
html body .product-card.cv7-product-card,
html body .product-card{
  position:relative!important;
  display:grid!important;
  grid-template-rows:auto minmax(0,1fr)!important;
  align-self:stretch!important;
  width:100%!important;
  min-width:0!important;
  height:100%!important;
  min-height:0!important;
  max-height:none!important;
  overflow:hidden!important;
  box-sizing:border-box!important;
  border:1px solid rgba(17,24,39,.10)!important;
  border-radius:var(--cv7-card-radius)!important;
  background:#fff!important;
  box-shadow:0 5px 18px rgba(15,23,42,.055)!important;
  font-family:"Tajawal","Cairo",system-ui,-apple-system,"Segoe UI",Arial,sans-serif!important;
  transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease!important;
}
html body .product-card:hover{transform:translateY(-2px)!important;border-color:rgba(138,98,26,.55)!important;box-shadow:0 12px 28px rgba(15,23,42,.10)!important;}

html body .product-card > :is(.relative,.product-media,.p-media,.media,.img-wrap,.cv7-card-media),
html body .product-card > a:first-of-type:has(img),
html body .product-card > img.p-img,
html body .product-card > .p-img{
  position:relative!important;
  display:block!important;
  width:100%!important;
  aspect-ratio:1/1!important;
  height:auto!important;
  min-height:0!important;
  max-height:none!important;
  overflow:hidden!important;
  background:#f8fafc!important;
  border-radius:0!important;
}
html body .product-card :is(.relative,.product-media,.p-media,.media,.img-wrap,.cv7-card-media) > a:not(.pc-vendor-link),
html body .product-card > a:first-of-type:has(img){display:block!important;width:100%!important;height:100%!important;overflow:hidden!important;}
html body .product-card img:is(.p-img,.product-img,.product-image,.cv7-card-image),
html body .product-card > img{
  display:block!important;
  width:100%!important;
  height:100%!important;
  aspect-ratio:auto!important;
  object-fit:cover!important;
  object-position:center!important;
  background:#f8fafc!important;
}

html body .product-card :is(.p-body,.product-body,.cv7-card-body),
html body .product-card [class*="p-body"]{
  display:grid!important;
  
  align-content:start!important;
  width:100%!important;
  height:var(--cv7-card-body-height)!important;
  min-height:var(--cv7-card-body-height)!important;
  max-height:var(--cv7-card-body-height)!important;
  box-sizing:border-box!important;
  overflow:hidden!important;
}
html body .product-card :is(.p-title,.product-title,.cv7-card-title,h3,.title){
  align-self:start!important;
  min-width:0!important;
  min-height:2.65em!important;
  max-height:2.65em!important;
  margin:0!important;
  color:var(--cv7-ink)!important;
  text-align:center!important;
  text-decoration:none!important;
  font-size:clamp(12.5px,3.1vw,14.5px)!important;
  line-height:1.325!important;
  font-weight:700!important;
  letter-spacing:0!important;
  display:-webkit-box!important;
  -webkit-line-clamp:2!important;
  line-clamp:2!important;
  -webkit-box-orient:vertical!important;
  overflow:hidden!important;
  overflow-wrap:normal!important;
  word-break:normal!important;
}
html body .product-card .cv7-extra-swatch{display:none!important;}

html body .product-card :is(.p-meta,.product-price,.price-row,.cv7-card-price){
  align-self:center!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  width:100%!important;
  min-width:0!important;
  min-height:38px!important;
  height:38px!important;
  margin:0!important;
  padding:0!important;
  overflow:hidden!important;
  text-align:center!important;
}
html body .product-card :is(.p-meta,.product-price,.price-row,.cv7-card-price) > div{display:flex!important;align-items:center!important;justify-content:center!important;gap:5px!important;flex-wrap:nowrap!important;width:100%!important;min-width:0!important;}
html body .product-card .price{white-space:nowrap!important;color:var(--cv7-ink)!important;font-size:clamp(14px,3.25vw,16px)!important;line-height:1.1!important;font-weight:800!important;}
html body .product-card :is(.old,.price-old){white-space:nowrap!important;color:#6b7280!important;font-size:clamp(9.5px,2.35vw,11px)!important;line-height:1.1!important;font-weight:500!important;text-decoration:line-through!important;margin:0!important;}

/* Every product collection stretches cards evenly. */
html body :is(#grid,#productsGrid,#specialRow,#relatedGrid,#sameVendorGrid,#offerGrid,#vendorProducts,.products-grid,.product-grid,[data-product-grid]){align-items:stretch!important;}
html body :is(#grid,#productsGrid,#relatedGrid,#sameVendorGrid,#offerGrid,#vendorProducts,.products-grid,.product-grid,[data-product-grid]) > .product-card{height:100%!important;}
html body #specialRow > .product-card{flex:0 0 clamp(168px,42vw,210px)!important;max-width:clamp(168px,42vw,210px)!important;}

/* Product card metadata is owned by product-card-unified.css. */

@media(max-width:640px){
  :root{--cv7-card-body-height:168px;--cv7-card-radius:14px;}
  html body .product-card :is(.p-meta,.product-price,.price-row,.cv7-card-price){height:36px!important;min-height:36px!important;}
}

/* ---- Final card text/action and safe hero pagination corrections ---- */
:root{
  --chicona-final-title-block:3.05em;
  
}
html body .product-card :is(.p-body,.product-body,.cv7-card-body),
html body .product-card [class*="p-body"]{
  
  height:auto!important;
  min-height:184px!important;
  max-height:none!important;
}
html body .product-card :is(.p-title,.product-title,.cv7-card-title,h3,.title){
  min-height:var(--chicona-final-title-block)!important;
  max-height:var(--chicona-final-title-block)!important;
  padding:3px 1px 1px!important;
  line-height:1.38!important;
  text-wrap:pretty!important;
}
@media(max-width:640px){
  :root{--chicona-final-title-block:3.12em;}
  html body .product-card :is(.p-body,.product-body,.cv7-card-body),
  html body .product-card [class*="p-body"]{
    
    min-height:178px!important;
  }
}
body[data-page-name="index"] .home-hero,
body[data-page-name="index"] .home-hero-shell,
body[data-page-name="index"] #bcRoot{position:relative!important;}
body[data-page-name="index"] .bc-dots,
body[data-page-name="index"] #bcDots{
  position:absolute!important;
  /* Reset logical offsets before setting the physical center in both languages. */
  inset-inline:auto!important;
  left:50%!important;
  right:auto!important;
  transform:translateX(-50%)!important;
  bottom:18px!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  gap:8px!important;
  width:auto!important;
  min-width:0!important;
  margin:0!important;
  padding:0!important;
  z-index:30!important;
  direction:ltr!important;
}

/* ---- chicona-unified-sidebar-v8.css ----
   One physical side, one controller and instant accordion state changes. */
#sidebar{
  left:auto!important;
  right:auto!important;
  inset-inline-start:auto!important;
  inset-inline-end:auto!important;
  contain:layout paint style!important;
  transition:transform .22s cubic-bezier(.22,.61,.36,1), visibility 0s linear .22s!important;
  opacity:1!important;
}
#sidebar[data-side="left"]{
  left:0!important;
  right:auto!important;
  transform:translate3d(-104%,0,0)!important;
  box-shadow:16px 0 48px rgba(15,23,42,.18)!important;
  border-left:0!important;
  border-right:1px solid var(--cv5-sidebar-line,rgba(17,24,39,.10))!important;
}
#sidebar[data-side="right"]{
  right:0!important;
  left:auto!important;
  transform:translate3d(104%,0,0)!important;
  box-shadow:-16px 0 48px rgba(15,23,42,.18)!important;
  border-right:0!important;
  border-left:1px solid var(--cv5-sidebar-line,rgba(17,24,39,.10))!important;
}
#sidebar:is(.open,.active,.show),
#sidebar[aria-hidden="false"]{
  transform:translate3d(0,0,0)!important;
  visibility:visible!important;
  transition:transform .22s cubic-bezier(.22,.61,.36,1), visibility 0s!important;
}
#sidebar[aria-hidden="true"]{
  visibility:hidden!important;
  pointer-events:none!important;
}
#sidebar[aria-hidden="true"] details.sb-acc > .sb-acc-panel{
  display:none!important;
  max-height:0!important;
  opacity:0!important;
  visibility:hidden!important;
  pointer-events:none!important;
}

/* Native details state only; no max-height animation or stale inline dimensions. */
#sidebar details.sb-acc > .sb-acc-panel{
  transition:none!important;
  animation:none!important;
  transform:none!important;
}
#sidebar details.sb-acc:not([open]) > .sb-acc-panel{
  display:none!important;
  max-height:0!important;
  padding:0!important;
  margin:0!important;
  opacity:0!important;
  visibility:hidden!important;
  overflow:hidden!important;
  pointer-events:none!important;
}
#sidebar details.sb-acc[open] > .sb-acc-panel{
  display:block!important;
  max-height:none!important;
  padding:8px!important;
  margin:0!important;
  opacity:1!important;
  visibility:visible!important;
  overflow:visible!important;
  pointer-events:auto!important;
}
#sidebar details.sb-acc > summary{
  touch-action:manipulation!important;
  -webkit-tap-highlight-color:transparent!important;
}
#sidebar details.sb-acc > summary:active{
  background:#fff7e8!important;
}


/* ---- sidebar interaction stabilization ---- */
#sidebar .sb-body{
  overscroll-behavior:contain!important;
  touch-action:pan-y!important;
  -webkit-overflow-scrolling:touch!important;
}
#sidebar details.sb-acc > summary{
  touch-action:manipulation!important;
}
#sidebar details.sb-acc > .sb-acc-panel{
  will-change:auto!important;
}
html.cv6-sidebar-open,body.cv6-sidebar-open{
  overscroll-behavior:none!important;
}

/* ---- sidebar interaction compatibility ----
   No native details/toggle events and no transformed composited drawer. */
#sidebar[aria-hidden="true"]{
  display:none!important;
  visibility:hidden!important;
  pointer-events:none!important;
  transform:none!important;
  transition:none!important;
  contain:none!important;
}
#sidebar[aria-hidden="false"]{
  display:flex!important;
  visibility:visible!important;
  pointer-events:auto!important;
  transform:none!important;
  transition:none!important;
  contain:none!important;
}
#sidebar[data-side="left"]{left:0!important;right:auto!important;transform:none!important;}
#sidebar[data-side="right"]{right:0!important;left:auto!important;transform:none!important;}
#sbOverlay[aria-hidden="true"]{display:none!important;visibility:hidden!important;pointer-events:none!important;}
#sbOverlay[aria-hidden="false"]{display:block!important;visibility:visible!important;pointer-events:auto!important;}

#sidebar .sb-acc{
  width:100%!important;
  margin:9px 0 0!important;
  border:1px solid var(--cv5-sidebar-line,rgba(17,24,39,.10))!important;
  border-radius:14px!important;
  overflow:hidden!important;
  background:#fff!important;
  box-shadow:0 7px 20px rgba(15,23,42,.045)!important;
}
#sidebar .sb-acc-toggle{
  box-sizing:border-box!important;
  width:100%!important;
  min-height:52px!important;
  padding:10px 13px!important;
  border:0!important;
  border-radius:0!important;
  display:grid!important;
  grid-template-columns:minmax(0,1fr) 18px!important;
  align-items:center!important;
  gap:10px!important;
  cursor:pointer!important;
  color:var(--cv5-sidebar-ink,#111827)!important;
  background:#fff!important;
  font:inherit!important;
  font-size:14px!important;
  line-height:1.35!important;
  font-weight:800!important;
  text-align:start!important;
  text-decoration:none!important;
  user-select:none!important;
  touch-action:manipulation!important;
  -webkit-tap-highlight-color:transparent!important;
  appearance:none!important;
}
#sidebar .sb-acc-toggle::after{
  content:"▾"!important;
  grid-column:2!important;
  grid-row:1!important;
  display:grid!important;
  place-items:center!important;
  width:18px!important;
  height:18px!important;
  color:#6b7280!important;
  font-size:12px!important;
  line-height:1!important;
  transform:none!important;
  transition:none!important;
}
#sidebar .sb-acc.is-open > .sb-acc-toggle{
  color:#6b4811!important;
  background:#fffaf0!important;
  border-bottom:1px solid rgba(138,98,26,.12)!important;
}
#sidebar .sb-acc.is-open > .sb-acc-toggle::after{
  transform:rotate(180deg)!important;
  color:#8a621a!important;
}
#sidebar .sb-acc-toggle .summary-title{
  grid-column:1!important;
  grid-row:1!important;
  min-width:0!important;
  width:100%!important;
  display:flex!important;
  align-items:center!important;
  gap:9px!important;
  margin:0!important;
  padding:0!important;
  color:inherit!important;
}
#sidebar .sb-acc-toggle .summary-title > svg{
  display:block!important;
  flex:0 0 18px!important;
  width:18px!important;
  height:18px!important;
  color:#6b7280!important;
}
#sidebar .sb-acc > .sb-acc-panel,
#sidebar .sb-acc > .sb-acc-panel[hidden]{
  display:none!important;
  max-height:none!important;
  padding:0!important;
  margin:0!important;
  opacity:1!important;
  visibility:visible!important;
  overflow:visible!important;
  pointer-events:auto!important;
  transform:none!important;
  transition:none!important;
  animation:none!important;
}
#sidebar .sb-acc.is-open > .sb-acc-panel:not([hidden]){
  display:block!important;
  padding:8px!important;
}
html.cv10-sidebar-open,body.cv10-sidebar-open{
  overscroll-behavior:none!important;
}


/* ---- standalone sidebar controller ---- */
html.cv11-sidebar-open,body.cv11-sidebar-open{overflow:hidden!important;overscroll-behavior:none!important;}
#sidebar .sb-body{touch-action:pan-y!important;overscroll-behavior:contain!important;}
#sidebar .sb-acc-toggle{touch-action:manipulation!important;-webkit-tap-highlight-color:transparent!important;}
#sidebar .sb-acc[data-open="false"] > .sb-acc-panel{display:none!important;visibility:hidden!important;pointer-events:none!important;}
#sidebar .sb-acc[data-open="true"] > .sb-acc-panel{display:block!important;visibility:visible!important;pointer-events:auto!important;height:auto!important;max-height:none!important;}

/* ========================================================================== 
   Chicona V28 — single product-card visual contract
   This final block intentionally overrides legacy page-specific card rules.
   Markup comes only from assets/js/products/product-card.js.
   ========================================================================== */
:root{
  --cv16-card-radius:16px;
  --cv16-card-body-min:158px;
  
  --cv16-card-title-block:2.82em;
}
html body .product-card{
  border-radius:var(--cv16-card-radius)!important;
  border:1px solid #ececec!important;
  background:#fff!important;
  box-shadow:0 3px 12px rgba(15,23,42,.055)!important;
}
html body .product-card:hover{
  transform:translateY(-3px)!important;
  border-color:var(--cv7-gold,#c89b3c)!important;
  box-shadow:0 14px 30px rgba(15,23,42,.11)!important;
}
html body .product-card > .relative,
html body .product-card > a:first-of-type,
html body .product-card :is(.product-media,.p-media,.media,.img-wrap){
  width:100%!important;
  aspect-ratio:1/1!important;
  height:auto!important;
  min-height:0!important;
  max-height:none!important;
  overflow:hidden!important;
  background:#fafafa!important;
}
html body .product-card :is(img.p-img,.p-img,img.product-img,.product-image){
  width:100%!important;
  height:100%!important;
  object-fit:cover!important;
  object-position:center!important;
}
html body .product-card :is(.p-body,.product-body,.cv7-card-body),
html body .product-card [class*="p-body"]{
  display:grid!important;
  
  align-content:stretch!important;
  min-height:var(--cv16-card-body-min)!important;
  height:auto!important;
  max-height:none!important;
}
html body .product-card :is(.p-title,.product-title,.cv7-card-title,h3,.title){
  display:-webkit-box!important;
  -webkit-box-orient:vertical!important;
  -webkit-line-clamp:2!important;
  line-clamp:2!important;
  min-height:var(--cv16-card-title-block)!important;
  max-height:var(--cv16-card-title-block)!important;
  margin:0!important;
  padding:1px 1px 0!important;
  overflow:hidden!important;
  text-align:center!important;
  line-height:1.35!important;
  font-size:clamp(13px,3vw,15px)!important;
  font-weight:750!important;
  color:#111827!important;
  text-decoration:none!important;
}
html body .product-card :is(.p-meta,.product-price,.price-row,.cv7-card-price){
  min-height:34px!important;
  height:34px!important;
  margin:0!important;
}

/* Home cards: larger, less portrait-looking, and swipeable on small screens. */
html body #specialRow.products-grid-home{
  align-items:stretch!important;
}
html body #specialRow > .product-card{
  width:100%!important;
  min-width:0!important;
  max-width:none!important;
  height:100%!important;
  flex:none!important;
}
@media(max-width:699px){
  :root{
    --cv16-card-body-min:154px;
    
    --cv16-card-title-block:2.78em;
  }
  html body #specialRow.products-grid-home{
    display:grid!important;
    grid-template-columns:none!important;
    grid-auto-flow:column!important;
    grid-auto-columns:minmax(228px,76vw)!important;
    gap:14px!important;
    overflow-x:auto!important;
    overflow-y:hidden!important;
    padding:4px 2px 12px!important;
    scroll-snap-type:x mandatory!important;
    overscroll-behavior-inline:contain!important;
    scrollbar-width:thin!important;
  }
  html[dir="rtl"] body #specialRow.products-grid-home{direction:rtl!important;}
  html body #specialRow > .product-card{scroll-snap-align:start!important;}
  html body .product-card :is(.p-body,.product-body,.cv7-card-body),
  html body .product-card [class*="p-body"]{
    
    min-height:var(--cv16-card-body-min)!important;
  }
  html body .product-card :is(.p-meta,.product-price,.price-row,.cv7-card-price){min-height:33px!important;height:33px!important;}
}
@media(min-width:700px){
  html body #specialRow.products-grid-home{
    display:grid!important;
    grid-template-columns:repeat(3,minmax(0,1fr))!important;
    gap:18px!important;
    overflow:visible!important;
  }
}
@media(min-width:1100px){
  html body #specialRow.products-grid-home{
    grid-template-columns:repeat(4,minmax(0,1fr))!important;
    gap:20px!important;
  }
}

/* ========================================================================== 
   Chicona V28 — product colour labels and uniform listing-card dimensions
   The product-page recommendation rows are intentionally excluded.
   ========================================================================== */

/* Product details: keep the colour name visibly below the colour circle. */
body[data-page-name="product"] #colorsWrap{
  display:grid!important;
  grid-template-columns:repeat(auto-fit,minmax(68px,82px))!important;
  justify-content:start!important;
  align-items:start!important;
  gap:12px 10px!important;
}
body[data-page-name="product"] #colorsWrap .swatch-wrap{
  display:flex!important;
  flex-direction:column!important;
  align-items:center!important;
  justify-content:flex-start!important;
  width:100%!important;
  min-width:0!important;
  min-height:68px!important;
  padding:2px 2px 0!important;
  gap:7px!important;
  border:0!important;
  border-radius:0!important;
  background:transparent!important;
  box-shadow:none!important;
  transform:none!important;
}
body[data-page-name="product"] #colorsWrap .swatch-wrap:hover,
body[data-page-name="product"] #colorsWrap .swatch-wrap.cv6-selected{
  border:0!important;
  background:transparent!important;
  box-shadow:none!important;
  transform:none!important;
}
body[data-page-name="product"] #colorsWrap .swatch{
  position:relative!important;
  display:block!important;
  flex:0 0 40px!important;
  width:40px!important;
  height:40px!important;
  min-width:40px!important;
  min-height:40px!important;
  margin:0 auto!important;
}
body[data-page-name="product"] #colorsWrap .swatch-name{
  position:static!important;
  display:block!important;
  order:2!important;
  width:100%!important;
  max-width:82px!important;
  min-height:18px!important;
  margin:0!important;
  padding:0!important;
  color:#374151!important;
  background:transparent!important;
  font-size:12px!important;
  font-weight:700!important;
  line-height:1.35!important;
  text-align:center!important;
  white-space:normal!important;
  overflow-wrap:anywhere!important;
  overflow:visible!important;
  text-overflow:clip!important;
}
body[data-page-name="product"] #colorsWrap .swatch-wrap.cv6-selected .swatch-name{
  color:var(--cv6-gold,#8a621a)!important;
  font-weight:850!important;
}
@media(max-width:640px){
  body[data-page-name="product"] #colorsWrap{
    grid-template-columns:repeat(3,minmax(0,1fr))!important;
  }
}

/* Every storefront product listing uses the same 2/3/4-column card geometry.
   #likeRow and #vendorRow live on body[data-page-name="product"] and stay untouched. */
html body:not([data-page-name="product"]) :is(#grid,#prodGrid,#specialRow,.grid-prods,.products-grid-home,[data-product-grid]){
  display:grid!important;
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  grid-auto-flow:row!important;
  grid-auto-columns:auto!important;
  grid-auto-rows:1fr!important;
  align-items:stretch!important;
  gap:14px!important;
  overflow:visible!important;
  padding-inline:0!important;
  scroll-snap-type:none!important;
}
html body:not([data-page-name="product"]) :is(#grid,#prodGrid,#specialRow,.grid-prods,.products-grid-home,[data-product-grid]) > .product-card{
  display:flex!important;
  flex-direction:column!important;
  align-self:stretch!important;
  width:100%!important;
  min-width:0!important;
  max-width:none!important;
  height:100%!important;
  min-height:100%!important;
  flex:none!important;
  scroll-snap-align:none!important;
}
/* Card body rows and intrinsic height are owned by product-card-unified.css. */
@media(min-width:768px){
  html body:not([data-page-name="product"]) :is(#grid,#prodGrid,#specialRow,.grid-prods,.products-grid-home,[data-product-grid]){
    grid-template-columns:repeat(3,minmax(0,1fr))!important;
    gap:18px!important;
  }
}
@media(min-width:1024px){
  html body:not([data-page-name="product"]) :is(#grid,#prodGrid,#specialRow,.grid-prods,.products-grid-home,[data-product-grid]){
    grid-template-columns:repeat(4,minmax(0,1fr))!important;
    gap:20px!important;
  }
}



/* V28 — color labels stay outside visual circles on product and card modals. */
body[data-page-name="product"] #colorsWrap button.swatch{
  font-size:0!important;
  line-height:0!important;
  color:transparent!important;
  text-indent:0!important;
}
body[data-page-name="product"] #colorsWrap button.swatch::after{
  color:#fff!important;
  font-size:12px!important;
  line-height:1!important;
}

/* Shared card variant picker: every dot has a readable name below it. */
html body #cartChoiceColors.cart-choice-colors{
  display:flex!important;
  align-items:flex-start!important;
  flex-wrap:wrap!important;
  gap:12px!important;
}
html body #cartChoiceColors .cart-color-chip{
  position:relative!important;
  display:inline-flex!important;
  flex-direction:column!important;
  align-items:center!important;
  justify-content:flex-start!important;
  gap:7px!important;
  min-width:64px!important;
  min-height:68px!important;
  padding:5px 4px!important;
  border:0!important;
  border-radius:12px!important;
  background:transparent!important;
  color:#374151!important;
  box-shadow:none!important;
  white-space:normal!important;
}
html body #cartChoiceColors .cart-color-dot{
  display:block!important;
  width:42px!important;
  height:42px!important;
  min-width:42px!important;
  min-height:42px!important;
  border:3px solid #fff!important;
  border-radius:999px!important;
  outline:1px solid #cbd5e1!important;
  box-shadow:0 2px 8px rgba(15,23,42,.12)!important;
  background-color:#ddd;
}
html body #cartChoiceColors .cart-color-name{
  position:static!important;
  display:block!important;
  width:100%!important;
  max-width:86px!important;
  min-height:18px!important;
  margin:0!important;
  color:#374151!important;
  background:transparent!important;
  font-size:12px!important;
  font-weight:750!important;
  line-height:1.35!important;
  text-align:center!important;
  white-space:normal!important;
  overflow:visible!important;
  overflow-wrap:anywhere!important;
  text-overflow:clip!important;
}
html body #cartChoiceColors .cart-color-chip:hover .cart-color-dot,
html body #cartChoiceColors .cart-color-chip.active .cart-color-dot{
  outline:3px solid #111827!important;
  outline-offset:2px!important;
}
html body #cartChoiceColors .cart-color-chip.active .cart-color-name{
  color:#111827!important;
  font-weight:900!important;
}

/* Category/subcategory legacy pickers use the same dot + label contract. */
html body #cartColorOptions.cart-color-options{
  display:flex!important;
  align-items:flex-start!important;
  flex-wrap:wrap!important;
  gap:12px!important;
}
html body #cartColorOptions .cart-color-choice{
  position:relative!important;
  display:inline-flex!important;
  flex-direction:column!important;
  align-items:center!important;
  justify-content:flex-start!important;
  gap:7px!important;
  min-width:64px!important;
  width:auto!important;
  height:auto!important;
  min-height:68px!important;
  padding:5px 4px!important;
  border:0!important;
  border-radius:12px!important;
  outline:0!important;
  background:transparent!important;
  color:#374151!important;
  box-shadow:none!important;
}
html body #cartColorOptions .cart-color-choice-dot{
  position:relative!important;
  display:block!important;
  width:42px!important;
  height:42px!important;
  min-width:42px!important;
  min-height:42px!important;
  border:3px solid #fff!important;
  border-radius:999px!important;
  outline:1px solid #cbd5e1!important;
  box-shadow:0 2px 8px rgba(15,23,42,.12)!important;
  background-color:#ddd;
}
html body #cartColorOptions .cart-color-choice-name{
  display:block!important;
  max-width:86px!important;
  color:#374151!important;
  font-size:12px!important;
  font-weight:750!important;
  line-height:1.35!important;
  text-align:center!important;
  overflow-wrap:anywhere!important;
}
html body #cartColorOptions .cart-color-choice.active::after{content:none!important;}
html body #cartColorOptions .cart-color-choice.active .cart-color-choice-dot{
  outline:3px solid #111827!important;
  outline-offset:2px!important;
}
html body #cartColorOptions .cart-color-choice.active .cart-color-choice-name{
  color:#111827!important;
  font-weight:900!important;
}


/* ==========================================================================
   R9 — full storefront responsive geometry pass
   Normalizes spacing, wrapping, safe areas and narrow-screen containment on
   every customer-facing page without changing the established visual identity.
   ========================================================================== */
:root{
  --cv9-space-1:8px;
  --cv9-space-2:12px;
  --cv9-space-3:16px;
  --cv9-touch:44px;
}
html,body{max-width:100%;overflow-x:clip!important}
body :is(main,section,article,aside,header,footer,nav,form,.container,.wrap,.shell,.card,.panel,.modal-card,.modal-content){min-width:0}
body :is(img,video,canvas,svg){max-width:100%}
body :is(input:not([type="checkbox"]):not([type="radio"]),select,textarea){max-width:100%;min-width:0}
body :is(.grid,.flex)>*{min-width:0}
body :is(.actions,.actions-row,.modal-actions,.modal-foot,.cart-choice-foot,.cart-pick-foot,.checkout-gate-actions,.account-delete-actions,.vg-actions,.cart-toast-actions,.hero-actions,.addr-actions,.chicona-confirm-actions){
  gap:var(--cv9-space-2)!important;
}
body :is(.actions,.actions-row,.modal-actions,.modal-foot,.cart-choice-foot,.cart-pick-foot,.checkout-gate-actions,.account-delete-actions,.vg-actions,.addr-actions,.chicona-confirm-actions){
  flex-wrap:wrap!important;
}
body :is(.actions,.actions-row,.modal-actions,.modal-foot,.cart-choice-foot,.cart-pick-foot,.checkout-gate-actions,.account-delete-actions,.vg-actions,.addr-actions,.chicona-confirm-actions)>:is(button,.btn,a[role="button"],a.btn){
  margin:0!important;
  min-height:var(--cv9-touch)!important;
}
body :is(.toolbar,.catalog-toolbar,.filter-toolbar,.sort-toolbar){gap:var(--cv9-space-2)!important}
body .modal-foot,body .cart-choice-foot,body .cart-pick-foot{padding-inline:clamp(12px,3vw,18px)!important}
body :is(pre,code,.code-block){max-width:100%;overflow:auto}
body table{max-width:100%}

@media(max-width:767px){
  body :is(.toolbar,.catalog-toolbar,.filter-toolbar,.sort-toolbar){flex-wrap:wrap!important;align-items:stretch!important}
  body :is(.toolbar,.filter-toolbar,.sort-toolbar)>:is(input,select,.btn,button){flex:1 1 145px;max-width:100%!important}
  body .catalog-toolbar>:is(.chip-btn,#openFilters,#openSort){flex:0 0 auto!important;width:auto!important;max-width:none!important}
  body :is(.modal-actions,.modal-foot,.cart-choice-foot,.cart-pick-foot,.checkout-gate-actions,.account-delete-actions,.vg-actions,.chicona-confirm-actions)>:is(button,.btn,a.btn,a[role="button"]){
    flex:1 1 132px!important;
  }
  body[data-page-name="checkout"] .checkout-gate-actions:not([hidden]){display:grid!important;grid-template-columns:1fr!important}
  body[data-page-name="checkout"] .checkout-gate-actions>*{width:100%!important}
  body[data-page-name="profile"] .account-delete-actions{display:grid!important;grid-template-columns:1fr!important}
  body :is(.modal-card,.modal-content,.cart-choice-card,.cart-pick-card,.ui-modal-card){width:min(100%,calc(100vw - 20px))!important}
  body footer :is(.footer-grid,.footer-desktop){min-width:0!important}
}

@media(max-width:520px){
  body :is(.actions,.actions-row,.modal-actions,.modal-foot,.cart-choice-foot,.cart-pick-foot,.checkout-gate-actions,.account-delete-actions,.vg-actions,.addr-actions,.chicona-confirm-actions)>:is(button,.btn,a.btn,a[role="button"]){
    flex:1 1 100%!important;width:100%!important;
  }
  body .cart-toast-actions{gap:8px!important}
  body .cart-toast-actions>:is(button,a){min-height:40px!important}
  body :is(.seg,.lang-seg,.tabs){max-width:100%;overflow-x:auto;overscroll-behavior-inline:contain;scrollbar-width:none}
  body :is(.seg,.lang-seg,.tabs)::-webkit-scrollbar{display:none}
}


/* R15.2.8 — Android browser visual-viewport drawer fix.
   In Chrome the address bar changes the visual viewport dynamically. A fixed
   drawer must not combine top/bottom anchoring with vh/dvh height constraints. */
body:not(.chicona-app-mode):not(.chicona-pwa-mode) #sidebar{
  top:0!important;
  bottom:0!important;
  height:auto!important;
  min-height:0!important;
  max-height:none!important;
  box-sizing:border-box!important;
}
body:not(.chicona-app-mode):not(.chicona-pwa-mode) #sidebar .sb-body{
  min-height:0!important;
  overflow-y:auto!important;
  overscroll-behavior-y:contain!important;
  -webkit-overflow-scrolling:touch!important;
  padding-bottom:max(36px,calc(24px + env(safe-area-inset-bottom)))!important;
  scroll-padding-bottom:max(36px,calc(24px + env(safe-area-inset-bottom)))!important;
}

/* Chicona mobile drawer and footer — 2026-09-17.
   Keep this responsive layer with the canonical source, not the generated dist. */
@media (max-width:767px){
  #sidebar .cv5-top-row{
    display:grid!important;grid-template-columns:auto minmax(0,1fr)!important;
    align-items:center!important;column-gap:12px!important;min-width:0!important;
  }
  #sidebar .cv5-top-row > .sb-link{
    position:relative!important;width:100%!important;min-width:0!important;
    padding-inline:12px 34px!important;overflow:visible!important;
  }
  #sidebar .cv5-top-row > .sb-link .icon-24{flex:0 0 22px!important;}
  #sidebar .cv5-top-row > .sb-link .text-sm{min-width:0!important;overflow-wrap:anywhere!important;}
  #sidebar .cv5-top-row > .sb-link #cartCountBadge{
    position:absolute!important;inset-inline-start:auto!important;inset-inline-end:7px!important;
    top:4px!important;min-width:20px!important;height:20px!important;
    display:flex!important;align-items:center!important;justify-content:center!important;
    padding:0 4px!important;line-height:1!important;transform:none!important;
  }
  
  #sidebar .sb-search-shell .nav-search-icon{top:21px!important;inset-inline-start:14px!important;}
  
  #site-footer{display:block!important;position:relative!important;clear:both!important;}
  #site-footer .footer-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px 14px;}
  #site-footer .footer-brand-col,#site-footer .footer-col:last-child{grid-column:1/-1;}
  #site-footer .footer-col{min-width:0;padding:0 4px;}
  #site-footer .footer-bottom{margin-top:20px;padding-top:14px;overflow-wrap:anywhere;}
  /* The reserved space belongs inside the footer, not after the footer. */
  body.chicona-app-mode:not(.chicona-native-shell-minimal):has(#site-footer){
    padding-bottom:var(--chicona-safe-bottom)!important;
  }
  body.chicona-app-mode #site-footer .footer-wrap{
    padding-bottom:calc(var(--chicona-native-nav-total,68px) + 16px)!important;
  }
}
@media (max-width:359px){
  #sidebar .cv5-top-row{column-gap:8px!important;}
  #sidebar .cv5-top-row > .sb-link{padding-inline:8px 29px!important;gap:6px!important;}
  #sidebar .cv5-top-row > .sb-link #cartCountBadge{inset-inline-end:4px!important;}
}


/* ===== src/assets/css/product-card-unified.css ===== */
/*
 * Chicona product-card component
 *
 * This is the final visual owner for product cards on every catalogue page.
 * Page styles may define their own layout. Action surfaces and typography come
 * from storefront-layout.css; this file owns only card and swatch geometry.
 */

:root {
  --pc-card-bg: #fff;
  --pc-card-border: #eee;
  --pc-text: #111827;
  --pc-muted: #6b7280;
  --pc-gold: #c89b3c;
  --pc-title-size: clamp(13px, 3vw, 15px);
}

/* Card shell */
html body .product-card {
  position: relative;
  display: flex;
  flex-direction: column;
  height: 100%;
  min-width: 0;
  overflow: hidden;
  border: 1px solid var(--pc-card-border);
  border-radius: 14px;
  background: var(--pc-card-bg);
  box-shadow: 0 1px 2px rgba(15, 23, 42, .035);
  color: var(--pc-text);
  font-family: "Tajawal", "Cairo", system-ui, -apple-system, "Segoe UI", Arial, sans-serif;
  transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease;
}

html body .product-card:hover {
  transform: translateY(-3px);
  border-color: var(--pc-gold);
  box-shadow: 0 12px 28px rgba(15, 23, 42, .1);
}

/* Square media */
html body .product-card > .relative,
html body .product-card > a:first-of-type,
html body .product-card .product-media,
html body .product-card .p-media,
html body .product-card .media,
html body .product-card .img-wrap {
  position: relative;
  display: block;
  flex: 0 0 auto;
  width: 100%;
  height: auto;
  min-height: 0;
  max-height: none;
  aspect-ratio: 1 / 1;
  overflow: hidden;
  border-radius: 0;
  background: #fafafa;
}

html body .product-card > .relative > a:not(.pc-vendor-link),
html body .product-card > a:first-of-type,
html body .product-card .product-media > a:not(.pc-vendor-link),
html body .product-card .p-media > a:not(.pc-vendor-link),
html body .product-card .img-wrap > a:not(.pc-vendor-link) {
  display: block;
  width: 100%;
  height: 100%;
  overflow: hidden;
}

html body .product-card img.p-img,
html body .product-card .p-img,
html body .product-card img.product-img,
html body .product-card .product-image {
  display: block;
  width: 100%;
  height: 100%;
  aspect-ratio: auto;
  object-fit: cover;
  object-position: center;
  background: #fafafa;
}

/* Content */
html body .product-card .p-body,
html body .product-card .product-body,
html body .product-card [class*="p-body"] {
  display: grid!important;
  /* The title track uses the title's own font size, rather than the body's old
     16px em. Empty colours retain one touch-sized row without an extra spacer. */
  flex: 0 0 auto!important;
  margin-top: auto!important;
  grid-template-rows: calc(2.7em + 2px) var(--control-size,44px) minmax(22px,auto) var(--control-size,44px)!important;
  align-content: stretch!important;
  gap: 4px!important;
  height: auto!important;
  min-height: 0!important;
  max-height: none!important;
  padding: 8px 9px!important;
  font-size: var(--pc-title-size)!important;
}

html body .product-card .p-title,
html body .product-card .product-title,
html body .product-card h3,
html body .product-card .title {
  display: -webkit-box;
  grid-row: 1;
  min-height: calc(2.7em + 2px)!important;
  max-height: calc(2.7em + 2px)!important;
  margin: 0;
  overflow: hidden;
  color: var(--pc-text);
  font-size: var(--pc-title-size)!important;
  font-weight: 600;
  line-height: 1.35!important;
  padding: 1px 1px 0!important;
  text-align: center;
  text-decoration: none;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
  line-clamp: 2;
}

/* Colour choices */
html body .product-card :is(.pc-swatches, .swatches, .product-swatches, .colors-row) {
  grid-row: 2;
  display: flex;
  flex-wrap: nowrap;
  align-items: center;
  justify-content: flex-start;
  gap: 0;
  height: var(--control-size,44px);
  min-height: var(--control-size,44px);
  width:100%;
  margin: 0;
  overflow-x:auto;
  overflow-y:hidden;
  overscroll-behavior-inline:contain;
  scrollbar-width:none;
}
html body .product-card .pc-swatches::-webkit-scrollbar{display:none}

html body .product-card .pc-swatches.no-swatches {
  visibility: hidden;
}

html body .product-card :is(.pc-swatch, .swatch) {
  position:relative;
  display:inline-grid;
  place-items:center;
  flex: 0 0 var(--control-size,44px);
  width: var(--control-size,44px);
  height: var(--control-size,44px);
  min-width: var(--control-size,44px);
  min-height: var(--control-size,44px);
  padding: 0;
  cursor: pointer;
  border:0;
  border-radius: 999px;
  outline: none;
  background:transparent;
  box-shadow:none;
  touch-action:manipulation;
}
html body .product-card button.pc-swatch::before{
  content:"";display:block;grid-area:1/1;z-index:1;width:18px;height:18px;border:1px solid rgba(17,24,39,.26);border-radius:999px;
  background-color:var(--pc-swatch-color,#d1d5db);background-image:var(--pc-swatch-image,none);background-size:cover;background-position:center;
  box-shadow:0 0 0 1px rgba(255,255,255,.92) inset;
}
html body .product-card .pc-swatch-image{
  grid-area:1/1;width:18px;height:18px;max-width:none;border-radius:999px;object-fit:cover;
}
html body .product-card button.pc-swatch.has-image::before{background:transparent;}
html body .product-card button.pc-swatch:is(.active,[aria-pressed="true"])::before{box-shadow:0 0 0 2px #fff inset,0 0 0 2px var(--control-accent,#806137)}
html body .product-card .pc-swatch:focus-visible{outline:2px solid var(--control-accent,#806137);outline-offset:-3px}
html body .product-card .pc-swatches-more{flex:0 0 auto;display:inline-grid;place-items:center;min-width:28px;height:28px;margin-inline:6px;padding:0 5px;align-self:center;border-radius:999px;background:#f7f2e9;color:#614822;font-size:12px;line-height:1}

/* Price and action */
html body .product-card :is(.p-meta, .product-price, .price-row) {
  grid-row: 3;
  display: flex;
  align-items: center;
  justify-content: center;
  height: auto!important;
  min-height: 22px!important;
  overflow: visible!important;
  margin: 0;
  text-align: center;
}

html body .product-card :is(.p-meta, .product-price, .price-row) > div {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 4px;
  width: 100%;
  flex-wrap: wrap!important;
}

html body .product-card .price {
  display: inline-flex;
  align-items: baseline;
  justify-content: center;
  color: var(--pc-text);
  font-size: clamp(14px, 3.35vw, 16px);
  font-weight: 650;
  line-height: 1.1;
  max-width: 100%;
  flex-shrink: 0;
  white-space: normal!important;
  overflow-wrap: anywhere;
}

html body .product-card :is(.old, .price-old) {
  display: inline-flex;
  align-items: center;
  margin: 0 4px 0 0;
  color: var(--pc-muted);
  font-size: clamp(9.5px, 2.45vw, 11.5px);
  line-height: 1.1;
  text-decoration: line-through;
  max-width: 100%;
  flex-shrink: 0;
  white-space: normal!important;
  overflow-wrap: anywhere;
}

html body .product-card :is(.add-btn, .btn-add, .view-btn, button[data-id], .product-actions a, .product-actions button) {
  grid-row: 4;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: var(--control-size,44px)!important;
  min-height: var(--control-size,44px)!important;
  margin-top: 0!important;
  min-width:0;
}

html body .product-card button:disabled {
  cursor: not-allowed;
  opacity: .55;
}

/* Keep the complete photo free of overlays. Metadata stays in normal flow. */
html body .product-card .pc-card-info {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 4px 8px;
  flex: 0 0 auto;
  min-width: 0;
  padding: 6px 8px 0;
}
html body .product-card .pc-card-badges {
  display: flex;
  flex: 1 1 100px;
  flex-wrap: wrap;
  align-items: center;
  gap: 4px;
  min-width: 0;
}
html body .product-card .pc-card-badges:empty { display: none; }
html body .product-card .product-card-badges {
  display: contents!important;
  position: static!important;
  inset: auto!important;
  max-width: none!important;
  z-index: auto!important;
}
html body .product-card :is(.product-card-badge,.tag-left,.tag-right,.tag-bxgy,.tag-right-bxgy,.offer-badge,.promo-badge) {
  position: static!important;
  inset: auto!important;
  z-index: auto!important;
  display: inline-flex!important;
  align-items: center;
  justify-content: center;
  flex: 0 1 auto;
  min-width: 0;
  max-width: 100%!important;
  min-height: 22px;
  padding: 3px 6px!important;
  border: 1px solid transparent;
  border-radius: 6px!important;
  font-size: 10px!important;
  font-weight: 650!important;
  line-height: 1.4!important;
  white-space: normal!important;
  overflow-wrap: anywhere;
  text-align: center;
  box-shadow: none!important;
  pointer-events: none;
}
html body .product-card :is(.product-card-badge-discount,.tag-left) { background: #f3eee4; color: #654a24; }
html body .product-card :is(.product-card-badge-bxgy,.tag-bxgy,.tag-right-bxgy) { background: #f6e9c8; color: #60481c; }
html body .product-card :is(.product-card-badge-featured,.tag-right) { background: #edf3eb; color: #3d6135; }
html body .product-card .product-card-badge-new { background: #f7f3e8; color: #705b2e; }
html body .product-card .product-card-badge-out { background: #f1f1ef; color: #50534c; }
html body .product-card .pc-card-tools {
  display: flex;
  flex: 1 0 auto;
  align-items: center;
  justify-content: space-between;
  gap: 4px;
  min-width: 0;
  margin-inline-start: auto;
}
/* Reserve the merchant slot while the existing batched lookup finishes. */
html body .product-card .pc-card-tools:has(.pc-vendor-link) { min-width: 92px; }
html body #vendorRow .product-card .pc-card-tools,
html body[data-page-name="vendor"] .product-card .pc-card-tools { min-width: 44px; }
html body .product-card .pc-card-tools :is(.pc-save,.pc-vendor-link) {
  position: relative!important;
  inset: auto!important;
  z-index: auto!important;
  display: grid;
  place-items: center;
  flex: 0 0 44px;
  width: 44px!important;
  min-width: 44px!important;
  max-width: 44px!important;
  height: 44px!important;
  min-height: 44px!important;
  padding: 3px!important;
  margin: 0;
  border: 1px solid #eae6de;
  border-radius: 10px;
  background: #fff;
  color: #505449;
  text-decoration: none;
  cursor: pointer;
  overflow: hidden;
  box-shadow: none;
}
html body .product-card .pc-card-tools .pc-save { font-size: 24px!important; line-height: 1!important; margin-inline-start: auto; }
html body .product-card .pc-save.is-saved { color: #a13749!important; background: #fbf3f5!important; }
html body .product-card :is(.pc-save,.pc-vendor-link):focus-visible { outline: 2px solid var(--pc-gold); outline-offset: -3px; }
html body .product-card .pc-vendor-logo { display: block; width: 36px; height: 36px; max-width: 100%; object-fit: contain; border-radius: 6px; background: #fff; }
html body .product-card .pc-vendor-fallback { display: block; width: 24px; height: 24px; }
html body .product-card .pc-vendor-link[hidden],
html body #vendorRow .product-card .pc-vendor-link,
html body[data-page-name="vendor"] .product-card .pc-vendor-link { display: none!important; }
html body .product-card .pc-vendor-logo[hidden],
html body .product-card .pc-vendor-fallback[hidden] { display: none!important; }

/* Collection geometry */
/* Flex rails need an automatic cross size to stretch to their tallest card.
   A percentage height prevents that when badges wrap into another line. */
html body :is(#likeRow, #vendorRow, #outfitRow) {
  align-items: stretch!important;
}
html body :is(#likeRow, #vendorRow, #outfitRow) > .product-card {
  height: auto!important;
  align-self: stretch!important;
}

html body .grid-prods {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 1rem;
}

html body #specialRow .product-card {
  flex: 0 0 clamp(165px, 42vw, 205px);
  max-width: clamp(165px, 42vw, 205px);
}

@media (min-width: 768px) {
  html body .grid-prods {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 1.5rem;
  }

  html body #specialRow .product-card {
    flex-basis: clamp(185px, 22vw, 225px);
    max-width: clamp(185px, 22vw, 225px);
  }
}

@media (min-width: 1024px) {
  html body .grid-prods {
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }
}

@media (max-width: 640px) {
  html body .product-card .p-body,
  html body .product-card .product-body,
  html body .product-card [class*="p-body"] {
    padding: 8px!important;
  }

}

@media (max-width: 340px) {
  html body .product-card .p-meta.pc-price-long .price {
    font-size: 13.5px!important;
  }
}

@media (prefers-reduced-motion: reduce) {
  html body .product-card {
    transition: none;
  }
}


/* ===== src/assets/css/storefront-layout.css ===== */
/* Shared storefront controls. Keep dimensions, colors and states here so pages
   and dynamically rendered controls follow the same contract. */
/* This is the storefront control owner. Page CSS owns placement and width;
   this contract owns touch size, typography, surface and interaction states. */
body.chicona-unified{
 --control-text-size:14px;--control-weight:650;--control-size:44px;--control-radius:12px;--control-ink:#272923;
 --control-line:#d8d2c7;--control-surface:#fff;--control-accent:#806137;
 --control-soft:#f7f2e9;--control-danger:#a52d35;
}
body.chicona-unified .cn-notifications-trigger,
body.chicona-unified :is([data-ui-control="action"],[data-ui-control="choice"],[data-ui-control="icon"]){
 box-sizing:border-box!important;min-width:var(--control-size);min-height:var(--control-size)!important;
 height:auto!important;max-height:none!important;border-radius:var(--control-radius)!important;
 font-family:inherit!important;font-size:var(--control-text-size)!important;font-weight:var(--control-weight)!important;line-height:1.4!important;
 border:1px solid var(--control-line)!important;background:var(--control-surface)!important;color:var(--control-ink)!important;
 box-shadow:none!important;text-decoration:none!important;vertical-align:middle;gap:8px;
 display:inline-flex;align-items:center;justify-content:center;cursor:pointer;max-width:100%;touch-action:manipulation;
 transition:background .16s,border-color .16s,color .16s!important;
}
body.chicona-unified :is([data-ui-control="action"],[data-ui-control="choice"]){padding:10px 16px!important;white-space:normal!important;overflow-wrap:anywhere;overflow:visible!important}
body.chicona-unified [data-ui-control="icon"]{width:var(--control-size)!important;height:var(--control-size)!important;min-width:var(--control-size)!important;padding:0!important;flex-shrink:0}
/* A small visible dot sits inside a full touch target. */
body.chicona-unified [data-ui-control="pagination-dot"]{box-sizing:border-box!important;display:inline-grid!important;place-items:center;width:var(--control-size)!important;height:var(--control-size)!important;min-width:var(--control-size)!important;min-height:var(--control-size)!important;padding:0!important;border:0!important;border-radius:var(--control-radius)!important;background:transparent!important;box-shadow:none!important;cursor:pointer;touch-action:manipulation}
body.chicona-unified [data-ui-control="pagination-dot"]::before{content:"";width:8px;height:8px;border-radius:999px;background:#c9c5be;transition:width .16s,background .16s}
body.chicona-unified [data-ui-control="pagination-dot"]:is(.active,[aria-current="true"])::before{width:24px;background:var(--control-ink)}
body.chicona-unified [data-ui-control="rating"]{min-width:var(--control-size)!important;min-height:var(--control-size)!important}
body.chicona-unified [data-ui-glyph]{font-size:22px!important;line-height:1!important}
body.chicona-unified [data-ui-catalog-close]{position:relative;font-size:0!important}
body.chicona-unified [data-ui-catalog-close]::before{content:"×";position:absolute;inset:0;display:grid;place-items:center;font-size:24px;line-height:1}
body.chicona-unified [data-ui-control][data-ui-tone="primary"]{background:var(--control-ink)!important;border-color:var(--control-ink)!important;color:#fff!important}
body.chicona-unified [data-ui-control][data-ui-tone="danger"]{color:var(--control-danger)!important;border-color:#e9c5c7!important;background:#fff7f7!important}
body.chicona-unified [data-ui-control="choice"]:is(.active,.is-current,[aria-selected="true"],[aria-checked="true"],[aria-pressed="true"],[aria-current="page"]){background:var(--control-soft)!important;border-color:var(--control-accent)!important;color:#614822!important}
body.chicona-unified :is([data-ui-control="action"],[data-ui-control="choice"],[data-ui-control="icon"]):hover:not(:disabled):not([aria-disabled="true"]){border-color:var(--control-accent)!important;transform:var(--control-rest-transform,none)!important}
/* Carousel arrows keep their vertical placement when focused or hovered. */
body.chicona-unified :is(.gal-ctrl,.bc-ctrl,.hbtn){--control-rest-transform:translateY(-50%)}
body.chicona-unified [data-ui-control]:focus-visible{outline:2px solid var(--control-accent)!important;outline-offset:3px!important;box-shadow:none!important}
body.chicona-unified [data-ui-control]:is(:disabled,[aria-disabled="true"]){opacity:.55;cursor:not-allowed;box-shadow:none!important}
body.chicona-unified [data-ui-control][hidden],body.chicona-unified [data-ui-control].hidden{display:none!important}
body.chicona-unified :is([data-ui-control="search"],[data-ui-control="field"]){
 box-sizing:border-box!important;min-height:var(--control-size)!important;max-width:100%;min-width:0;
 border:1px solid var(--control-line)!important;border-radius:var(--control-radius)!important;
 background:var(--control-surface)!important;color:var(--control-ink)!important;font-family:inherit!important;font-size:16px!important;font-weight:400!important;line-height:1.4!important;
 padding:10px 12px!important;box-shadow:none!important;
}
body.chicona-unified :is(input,select)[data-ui-control]{height:var(--control-size)!important}
body.chicona-unified textarea[data-ui-control]{height:auto;min-height:112px!important;resize:vertical}
/* Checkbox/radio glyphs remain native; their labelled row supplies the target. */
body.chicona-unified :is(input[type="checkbox"],input[type="radio"]){accent-color:var(--control-accent)}
body.chicona-unified label:has(>input:is([type="checkbox"],[type="radio"])){min-height:var(--control-size);align-items:center}
body.chicona-unified .nav-product-search{min-height:var(--control-size);border-radius:var(--control-radius)!important;border-color:var(--control-line)!important;background:var(--control-surface)!important}
body.chicona-unified .nav-product-search [data-ui-control="search"]{border:0!important;background:transparent!important}
body.chicona-unified .nav-product-search input[data-ui-control="search"]{padding-inline:44px!important;width:100%}
body.chicona-unified .nav-search-clear{top:0!important;inset-inline-end:0!important;transform:none!important;background:transparent!important;border:0!important}
body.chicona-unified :is([data-ui-control="link"],[data-ui-control="navigation"],[data-ui-control="disclosure"]){
 box-sizing:border-box;min-height:var(--control-size)!important;font-family:inherit!important;font-size:var(--control-text-size)!important;font-weight:var(--control-weight)!important;line-height:1.4!important;touch-action:manipulation;
}
body.chicona-unified [data-ui-control="link"]{display:inline-flex;align-items:center;gap:8px;padding-block:8px;border:0!important;border-radius:0!important;background:transparent!important;color:var(--control-accent)!important;box-shadow:none!important;text-decoration:underline!important;text-underline-offset:3px}
body.chicona-unified [data-ui-control="navigation"]{display:flex;align-items:center;justify-content:flex-start;gap:8px;text-align:start;transform:none!important}
body.chicona-unified #accountMenu [data-ui-control="navigation"]{border:0!important;border-radius:var(--control-radius)!important;padding:10px 12px!important;background:transparent!important;color:var(--control-ink)!important}
body.chicona-unified #accountMenu [data-ui-control="navigation"]:hover{background:var(--control-soft)!important}
body.chicona-unified :is(.lang-seg,.page-lang-switch,.cv4-lang-switch,[data-ui-language-group]){display:inline-flex!important;align-items:center!important;gap:8px!important;flex:0 0 auto!important;padding:0!important;border:0!important;border-radius:0!important;background:transparent!important;box-shadow:none!important;overflow:visible!important;max-width:100%}
body.chicona-unified :is([data-lang],#btnAR,#btnEN,#btnAr,#btnEn){min-width:var(--control-size)!important;width:auto!important;white-space:nowrap!important}
body.chicona-unified :is(.catalog-toolbar,#toolbar){gap:8px!important;flex-wrap:wrap!important;min-width:0}
body.chicona-unified .catalog-toolbar{display:inline-flex!important;align-items:center!important;justify-content:center!important;width:auto!important;max-width:100%}
body.chicona-unified .catalog-toolbar>:is(#openFilters,#openSort,.chip-btn){flex:0 0 auto!important;width:auto!important;min-width:var(--control-size)!important;max-width:100%!important}
body.chicona-unified :is(#filtersPanel,#sortPanel) .modal-foot{flex-wrap:wrap}
body.chicona-unified :is(#filtersPanel,#sortPanel) .modal-foot button{min-width:110px}
/* Full-width purchase/form actions are intentional. Utility and language
   controls retain intrinsic width; modal actions may wrap on narrow screens. */
body.chicona-unified .hero-actions [data-ui-control]{width:100%;min-width:0}
@media(prefers-reduced-motion:reduce){body.chicona-unified [data-ui-control]{transition:none!important}}

/* Product decisions stay together without a second copy of the size picker. */
body.chicona-unified[data-page-name="product"] #sizeBtnWrap{display:none!important}
body.chicona-unified[data-page-name="product"] #colorsWrap button.swatch{width:44px!important;height:44px!important;min-width:44px!important;min-height:44px!important;flex-basis:44px!important}
body.chicona-unified[data-page-name="product"] .acc-head{min-height:48px;font-size:15px;line-height:1.6;text-align:start}
body.chicona-unified[data-page-name="product"] .acc-body[hidden]{display:none!important}
body.chicona-unified[data-page-name="product"] .acc-item.open .acc-body{max-height:none!important;overflow:visible!important}
body.chicona-unified[data-page-name="product"] .section:has(#lblReviews)>div:first-child{flex-wrap:wrap;gap:12px}
body.chicona-unified[data-page-name="product"] .section:has(#lblReviews)>div:first-child>div{flex-wrap:wrap;gap:10px}
body.chicona-unified[data-page-name="product"] #btnOpenReview{flex-shrink:0}
body.chicona-unified[data-page-name="product"] .star{min-width:44px;min-height:44px}
body.chicona-unified[data-page-name="product"] #pName{overflow-wrap:anywhere;line-height:1.45}

/* Storefront rhythm: compact utility pages, a quiet announcement and useful totals. */
body.chicona-unified .unified-page-hero-inner{min-height:152px;padding:28px 0;gap:9px}
body.chicona-unified .unified-page-hero h1{font-size:clamp(1.65rem,3.2vw,2.7rem);line-height:1.25;letter-spacing:-.025em}
body.chicona-unified .unified-page-hero-subtitle{font-size:.95rem;line-height:1.7;max-width:620px}
body.chicona-unified .unified-kicker{font-size:.75rem}
body.chicona-unified .hero-bleed .hero-full{min-height:220px;height:clamp(220px,27vw,360px)}
body.chicona-unified .hero-bleed .hero-title{font-size:clamp(1.7rem,3.5vw,2.8rem);line-height:1.25}
body.chicona-unified .hero-bleed .hero-textbox{padding:20px 24px;border-radius:20px}
body.chicona-unified .hero-bleed .hero-sub{font-size:.95rem;line-height:1.7}
body.chicona-unified #cx-announcement{width:100%;margin:0;padding:0;border:0;border-block:1px solid #e8dfd1;border-radius:0;background:#f7f2e9;box-shadow:none;color:#57432a;overflow:hidden}
.cx-announcement-inner{display:flex;align-items:center;gap:16px;max-width:1280px;min-height:52px;margin:auto;padding:4px 22px}
.cx-announcement-mask{flex:1;min-width:0;overflow:hidden;direction:ltr}
.cx-announcement-track{display:flex;width:max-content;animation:cx-announcement-scroll 38s linear infinite;will-change:transform}
.cx-announcement-message{flex:none;white-space:nowrap;padding-inline:32px;font-size:.88rem;line-height:1.7}
.cx-announcement-link{flex:none;font-size:.8rem;font-weight:700;text-decoration:underline;text-underline-offset:4px;max-width:180px;overflow-wrap:anywhere;line-height:1.5}
.cx-announcement-pause{flex:none;display:grid;place-items:center;min-width:44px;min-height:44px;background:transparent;border:1px solid #d9cbb7;border-radius:50%;font-size:1rem;color:inherit;cursor:pointer}
.cx-announcement:hover .cx-announcement-track,.cx-announcement:focus-within .cx-announcement-track,.cx-announcement.is-paused .cx-announcement-track{animation-play-state:paused}
.cx-announcement :focus-visible{outline:2px solid #8d6a3b;outline-offset:3px}
@keyframes cx-announcement-scroll{to{transform:translateX(-50%)}}
#summaryCard .cx-cart-rewards{margin:14px 0;padding:14px 0;border:0;border-block:1px solid #e8dfd1;border-radius:0;background:transparent;text-align:start;box-shadow:none;color:#514333}
.cx-cart-rewards[hidden]{display:none!important}
.cx-cart-rewards-row{display:flex;align-items:start;justify-content:space-between;gap:16px;font-size:.88rem;line-height:1.6}
.cx-cart-rewards-row strong{flex:none;color:#75501c;font-size:.95rem}
.cx-cart-rewards small{display:block;margin-top:6px;color:#6b655e;font-size:.78rem;line-height:1.7}
.cx-cart-rewards details{font-size:.8rem;line-height:1.8;margin-top:6px}
.cx-cart-rewards summary{cursor:pointer;padding-block:7px;text-decoration:underline;text-underline-offset:3px}
.cx-cart-rewards p{margin:8px 0}
.cx-cart-rewards a{font-weight:650;text-decoration:underline}
#cx-account .cx-account-group{border-top:1px solid #e9e4dc;padding-block:12px}
#cx-account .cx-account-group>summary{display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:44px;font-size:1rem;font-weight:650;cursor:pointer;list-style:none}
#cx-account .cx-account-group>summary::-webkit-details-marker{display:none}
#cx-account .cx-account-group>summary:after{content:'+';font-size:1.3rem;color:#8a7050}
#cx-account .cx-account-group[open]>summary:after{content:'−'}
#cx-account .cx-account-group>div{padding-block:6px}
#cx-account .cx-account-group>div>h3{display:none}
@media(max-width:767px){
 body[data-page-name="orders"] .table-wrap{border:0;background:transparent;overflow:visible}
 body[data-page-name="orders"] table.responsive{min-width:0;display:block}
 body[data-page-name="orders"] table.responsive thead{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}
 body[data-page-name="orders"] table.responsive tbody{display:grid;gap:14px}
 body[data-page-name="orders"] table.responsive tr{display:grid;grid-template-columns:minmax(0,1fr);border:1px solid #e9e1d6;border-radius:18px;padding:14px;background:#fff}
 body[data-page-name="orders"] table.responsive td{display:block;width:auto;min-width:0;padding:6px 0;border:0;white-space:normal;text-align:start;overflow-wrap:anywhere}
 body[data-page-name="orders"] table.responsive td[data-label]:not(.col-order):not(.col-act){display:grid;grid-template-columns:75px minmax(0,1fr);gap:10px}
 body[data-page-name="orders"] table.responsive td[data-label]:not(.col-order):not(.col-act):before{content:attr(data-label);color:#7a736a;font-weight:400;font-size:.8rem}
 body[data-page-name="orders"] table.responsive td.col-order{border-bottom:1px solid #eee8df;padding-bottom:12px;margin-bottom:6px}
 body[data-page-name="orders"] table.responsive td.col-act a{display:flex;align-items:center;justify-content:center;min-height:44px;border-radius:10px;background:#f7f2e9;color:#57432a;font-weight:650;text-decoration:none}
 body[data-page-name="orders"] table.responsive td .badge{position:static;justify-self:start}
 body.chicona-unified .unified-page-hero-inner{min-height:126px;padding:20px 0;gap:7px}
 body.chicona-unified .unified-page-hero h1{font-size:1.6rem}
 body.chicona-unified .unified-page-hero-subtitle{font-size:.85rem;line-height:1.65}
 body.chicona-unified .hero-bleed .hero-full{min-height:180px;height:210px}
 body.chicona-unified .hero-bleed .hero-textbox{padding:14px 18px}
 body.chicona-unified .hero-bleed .hero-title{font-size:1.65rem}
 body.chicona-unified .hero-bleed .hero-sub{font-size:.85rem;margin-top:8px}
 .cx-announcement-inner{gap:8px;min-height:50px;padding-inline:12px}
 .cx-announcement-message{font-size:.82rem;padding-inline:24px}
 .cx-announcement-link{max-width:100px;font-size:.75rem}
 .cx-cart-rewards-row{gap:10px;font-size:.82rem}
 /* A flexible middle column leaves room for cart, bell and account at 320px. */
 body.chicona-unified .nav .nav-row{grid-template-columns:auto minmax(0,1fr) auto;gap:8px;padding:10px 12px}
 body.chicona-unified .nav .right-cluster,body.chicona-unified .nav .left-cluster{gap:4px;min-width:0}
 body.chicona-unified .nav .brand{max-width:100%;font-size:clamp(1rem,4.6vw,1.45rem);letter-spacing:.06em}
 body.chicona-unified .nav .icon-btn{width:44px;height:44px;min-width:44px;min-height:44px;border-radius:14px;box-shadow:none}
 body.chicona-unified .nav .icon-btn:hover{transform:none}
 body.chicona-unified .nav .nav-search{display:none}
}
body[data-page-name="product"] #reviewForm .review-experience-fields{
 display:grid;grid-template-columns:minmax(0,1fr);gap:16px;
}
body[data-page-name="product"] #reviewForm .review-experience-fields .cx-field,
body[data-page-name="product"] #reviewForm :is(#revFit,#revMaterial){min-width:0;width:100%;max-width:100%}
body[data-page-name="product"] #reviewForm .review-form-footer{
 display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px;
}
body[data-page-name="product"] #reviewForm #revHint{min-width:0;flex:1 1 150px;overflow-wrap:anywhere}
body[data-page-name="product"] #reviewForm .review-form-actions{display:flex;flex-wrap:wrap;gap:8px;max-width:100%}
body[data-page-name="product"] #reviewForm .review-form-actions button{flex:0 1 auto;min-height:44px;white-space:normal}
@media(min-width:640px){
 body[data-page-name="product"] #reviewForm .review-experience-fields{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(prefers-reduced-motion:reduce){
 .cx-announcement-track{animation:none;width:100%;will-change:auto}
 .cx-announcement-message{white-space:normal;padding:8px 0;width:100%;overflow-wrap:anywhere}
 .cx-announcement-message[aria-hidden],.cx-announcement-pause{display:none}
}


/* ===== src/assets/css/banners.css ===== */
/* Banners own their complete frame, including controls added by the UI classifier.
   Copy shares the photo frame; fitting the artwork never creates a second row. */
:root body .chicona-banner[data-banner-kind]{
  --banner-height:320px;
  position:relative!important;display:block!important;isolation:isolate;
  height:var(--banner-height)!important;min-height:0!important;max-height:none!important;
  overflow:hidden!important;background:#f4f0e9;
}
:root body .chicona-banner[data-banner-kind] .chicona-banner-media{
  display:block!important;position:absolute!important;inset:0!important;
  width:100%!important;height:100%!important;min-height:0!important;overflow:hidden;
}
:root body .chicona-banner[data-banner-kind] .chicona-banner-media img{
  display:block!important;position:absolute!important;inset:0!important;
  width:100%!important;height:100%!important;min-height:0!important;max-width:none!important;
  object-fit:cover!important;object-position:var(--banner-position-desktop,50% 50%)!important;
}
:root body .chicona-banner[data-banner-fit-desktop="contain"] .chicona-banner-media img{object-fit:contain!important;}
:root body .chicona-banner[data-banner-kind] .chicona-banner-content{
  position:absolute!important;inset:0!important;margin:auto!important;
  display:flex!important;flex-direction:column;align-items:center!important;justify-content:safe center!important;
  width:min(420px,calc(100% - 40px))!important;height:fit-content!important;min-height:0!important;
  max-height:calc(100% - 32px)!important;overflow:auto;box-sizing:border-box;
  padding:18px 22px!important;gap:8px;text-align:center!important;
  background:rgba(255,253,249,.88)!important;border:1px solid rgba(255,255,255,.72)!important;
  border-radius:20px!important;box-shadow:0 12px 32px rgba(38,34,26,.10)!important;
  backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);z-index:3;pointer-events:auto!important;
}
:root body .chicona-banner[data-banner-kind] .chicona-banner-content>div:not(.chicona-banner-actions){
  width:100%!important;max-width:100%!important;margin:0!important;padding:0!important;
  background:transparent!important;border:0!important;border-radius:0!important;
  box-shadow:none!important;backdrop-filter:none!important;text-shadow:none!important;
}
:root body .chicona-banner[data-banner-kind] .hero-title{
  margin:0!important;font-size:clamp(1.5rem,2.5vw,2rem)!important;line-height:1.25!important;
  overflow-wrap:anywhere!important;word-break:normal!important;color:#172019!important;text-shadow:none!important;
}
:root body .chicona-banner[data-banner-kind] .hero-sub{
  margin:6px 0 0!important;font-size:.925rem!important;line-height:1.6!important;
  max-width:58ch;color:#5b625b!important;text-shadow:none!important;overflow-wrap:anywhere;
}
:root body .chicona-banner[data-banner-kind] .chicona-banner-actions{
  display:flex!important;flex:0 0 auto!important;flex-wrap:wrap!important;justify-content:center!important;align-items:center!important;
  grid-template-columns:none!important;width:auto!important;gap:10px!important;margin:16px 0 0!important;
}
:root body .chicona-banner[data-banner-kind] .chicona-banner-button{
  display:inline-flex!important;flex:0 1 auto!important;align-items:center!important;justify-content:center!important;
  width:auto!important;min-width:130px!important;min-height:46px!important;max-width:100%!important;
  padding:11px 22px!important;border-radius:13px!important;font-weight:750!important;
  line-height:1.4!important;white-space:normal!important;text-decoration:none;overflow-wrap:anywhere;
}
:root body .chicona-banner[data-banner-kind] .chicona-banner-button.primary{background:#252923!important;color:#fff!important;border:1px solid #252923!important;}
:root body .chicona-banner[data-banner-kind] .chicona-banner-button.secondary{background:rgba(255,255,255,.92)!important;color:#70552b!important;border:1px solid #ab873f!important;}
:root body .chicona-banner[data-banner-kind] .chicona-banner-button:focus-visible{outline:3px solid #ab873f;outline-offset:3px;}
:root body .chicona-banner[data-banner-kind] [hidden]{display:none!important;}
:root body .chicona-banner[data-banner-kind] .sr-only{position:absolute!important;width:1px!important;height:1px!important;margin:-1px!important;padding:0!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important;}
:root body .chicona-banner[data-banner-kind] :is(.bc-grad,.hero-grad-full,.hero-overlay){display:none!important;}

/* A compact overlay leaves the full-width photo as the main element. */
body[data-page-name="index"] #homeBanner #bcRoot{height:clamp(440px,35vw,580px)!important;min-height:0!important;max-height:none!important;overflow:hidden!important;}
body[data-page-name="index"] #homeBanner #bcTrack{position:absolute!important;inset:0!important;display:block!important;height:100%!important;min-height:0!important;}
body[data-page-name="index"] #homeBanner #bcTrack>.chicona-banner{position:absolute!important;inset:0!important;display:block!important;height:100%!important;min-height:0!important;}
body[data-page-name="index"] #homeBanner .chicona-banner .bc-box{
  inset:0!important;width:100%!important;height:100%!important;max-width:none!important;max-height:none!important;
  margin:0!important;padding:40px clamp(56px,6vw,114px)!important;align-items:flex-start!important;
  justify-content:center!important;text-align:start!important;background:none!important;border:0!important;
  border-radius:0!important;box-shadow:none!important;backdrop-filter:none!important;overflow:visible;
  -webkit-backdrop-filter:none!important;pointer-events:none!important;
}
body[data-page-name="index"] #homeBanner .chicona-banner .bc-box>div{
  width:min(420px,40vw)!important;max-width:420px!important;max-height:100%;overflow:auto;
  padding:20px 24px!important;background:rgba(255,253,249,.87)!important;
  border:1px solid rgba(255,255,255,.74)!important;border-radius:22px!important;
  box-shadow:0 18px 48px rgba(38,34,26,.13)!important;backdrop-filter:blur(8px)!important;
  -webkit-backdrop-filter:blur(8px)!important;pointer-events:auto;
}
body[data-page-name="index"] #homeBanner .chicona-banner .hero-title{font-size:clamp(1.875rem,2.8vw,2.75rem)!important;line-height:1.12!important;}
body[data-page-name="index"] #homeBanner .chicona-banner .hero-kicker{margin:0 0 10px!important;font-size:.82rem!important;}
body[data-page-name="index"] #homeBanner .chicona-banner .hero-actions{justify-content:flex-start!important;}

/* The merchant logo is independent from its optional promotional text. */
body[data-page="vendor"] #venHero .chicona-banner{--store-banner-logo-size:76px;}
body[data-page="vendor"] #venHero .chicona-banner .hero-content{inset:auto 0 18px!important;width:min(520px,calc(100% - 32px))!important;min-height:0!important;gap:8px!important;padding:16px 20px!important;}
body[data-page="vendor"] #venHero .chicona-banner .hero-store-logo{width:var(--store-banner-logo-size)!important;height:var(--store-banner-logo-size)!important;min-width:0!important;flex-shrink:0;box-sizing:border-box;box-shadow:0 8px 24px #17201920!important;border-radius:20px!important;padding:6px!important;}
body[data-page="vendor"] #venHero .chicona-banner .hero-textbox{width:100%!important;max-width:100%!important;flex:0 0 auto!important;}
body[data-page="vendor"] #venHero .chicona-banner .hero-title{font-size:1.625rem!important;}
body[data-page="vendor"] #venHero .chicona-banner .chicona-banner-actions{margin-top:12px!important;}
/* A logo by itself needs a small identity tile, not an empty text card. */
body[data-page="vendor"] #venHero .chicona-banner[data-banner-has-promotion="false"]{--store-banner-logo-size:104px;}
body[data-page="vendor"] #venHero .chicona-banner[data-banner-has-promotion="false"] .hero-content{width:max-content!important;max-width:calc(100% - 32px)!important;padding:0!important;gap:0!important;background:none!important;border:0!important;border-radius:0!important;box-shadow:none!important;backdrop-filter:none!important;-webkit-backdrop-filter:none!important;overflow:visible;}
body[data-page="vendor"] #venHero .chicona-banner[data-banner-has-promotion="false"] .hero-store-logo{border:4px solid #fff!important;border-radius:24px!important;padding:8px!important;box-shadow:0 8px 24px #17201930!important;}
body[data-page="vendor"] #venHero .chicona-banner[data-banner-has-promotion="false"] .hero-content:has(>.hero-store-logo[hidden]){display:none!important;}

:root body .chicona-banner-preview[data-banner-kind]{--banner-height:300px;width:100%;box-shadow:0 8px 28px #1720190d;border:1px solid #ddd8ce;border-radius:16px;}
:root body .chicona-banner-preview[data-banner-kind] .hero-title{font-size:1.5rem!important;}
:root body .chicona-banner-preview[data-banner-kind] .hero-sub{font-size:.9rem!important;}
:root body .chicona-banner-preview[data-banner-kind] .chicona-banner-content{padding:18px!important;}
:root body .chicona-banner[data-banner-device="mobile"]{--banner-height:260px;}
:root body .chicona-banner[data-banner-device="mobile"] .chicona-banner-media img{object-fit:cover!important;object-position:var(--banner-position-mobile,50% 50%)!important;}
:root body .chicona-banner[data-banner-device="mobile"][data-banner-fit-mobile="contain"] .chicona-banner-media img{object-fit:contain!important;}

:root body .chicona-banner[data-banner-kind][data-banner-device="mobile"] .chicona-banner-content{width:calc(100% - 28px)!important;padding:16px!important;border-radius:20px!important;}
:root body .chicona-banner[data-banner-kind][data-banner-device="mobile"] .hero-title{font-size:1.5rem!important;}
:root body .chicona-banner[data-banner-kind][data-banner-device="mobile"] .hero-sub{font-size:.9rem!important;line-height:1.55!important;}
:root body .chicona-banner[data-banner-kind][data-banner-device="mobile"] .chicona-banner-actions{width:100%!important;gap:8px!important;margin-top:12px!important;}
:root body .chicona-banner[data-banner-kind][data-banner-device="mobile"] .chicona-banner-button{flex:1 1 120px!important;min-width:0!important;min-height:44px!important;padding:10px 12px!important;font-size:.9rem!important;}

@media(max-width:767px){
  :root body .chicona-banner[data-banner-kind]:not([data-banner-device="desktop"]){--banner-height:260px;}
  :root body .chicona-banner[data-banner-kind]:not([data-banner-device="desktop"]) .chicona-banner-media img{object-fit:cover!important;object-position:var(--banner-position-mobile,50% 50%)!important;}
  :root body .chicona-banner[data-banner-kind]:not([data-banner-device="desktop"])[data-banner-fit-mobile="contain"] .chicona-banner-media img{object-fit:contain!important;}
  :root body .chicona-banner[data-banner-kind]:not([data-banner-device="desktop"]) .chicona-banner-content{width:calc(100% - 28px)!important;padding:16px!important;border-radius:20px!important;}
  :root body .chicona-banner[data-banner-kind]:not([data-banner-device="desktop"]) .hero-title{font-size:1.5rem!important;}
  :root body .chicona-banner[data-banner-kind]:not([data-banner-device="desktop"]) .hero-sub{font-size:.9rem!important;line-height:1.55!important;}
  :root body .chicona-banner[data-banner-kind]:not([data-banner-device="desktop"]) .chicona-banner-actions{width:100%!important;gap:8px!important;margin-top:12px!important;}
  :root body .chicona-banner[data-banner-kind]:not([data-banner-device="desktop"]) .chicona-banner-button{flex:1 1 120px!important;min-width:0!important;min-height:44px!important;padding:10px 12px!important;font-size:.9rem!important;}
  body[data-page-name="index"] #homeBanner #bcRoot{height:460px!important;}
  body[data-page-name="index"] #homeBanner .chicona-banner .bc-box{width:100%!important;padding:20px 16px 60px!important;align-items:center!important;justify-content:flex-end!important;text-align:center!important;}
  body[data-page-name="index"] #homeBanner .chicona-banner .bc-box>div{width:100%!important;max-width:420px!important;max-height:100%;padding:16px 18px!important;border-radius:24px!important;}
  body[data-page-name="index"] #homeBanner .chicona-banner .hero-title{font-size:clamp(1.5rem,6.8vw,1.75rem)!important;line-height:1.14!important;}
  body[data-page-name="index"] #homeBanner .chicona-banner .hero-kicker{margin-bottom:10px!important;font-size:.76rem!important;}
  body[data-page-name="index"] #homeBanner .chicona-banner .hero-actions{justify-content:center!important;}
  body[data-page="vendor"] #venHero .chicona-banner{--store-banner-logo-size:64px;}
  body[data-page="vendor"] #venHero .chicona-banner[data-banner-has-promotion="false"]{--store-banner-logo-size:88px;}
  body[data-page="vendor"] #venHero .chicona-banner .hero-content{inset:auto 0 14px!important;padding:12px 14px!important;gap:6px!important;}
  body[data-page="vendor"] #venHero .chicona-banner .hero-title{font-size:1.375rem!important;}
  body[data-page="vendor"] #venHero .chicona-banner .hero-sub{font-size:.8125rem!important;line-height:1.45!important;}
  body[data-page="vendor"] #venHero .chicona-banner .chicona-banner-actions{margin-top:8px!important;}
}

/* Text-only fallbacks collapse naturally rather than reserving empty photo space. */
:root body .chicona-banner[data-banner-no-image="true"]{height:auto!important;}
:root body .chicona-banner[data-banner-no-image="true"] .chicona-banner-content{position:relative!important;inset:auto!important;margin:20px auto!important;max-height:none!important;}
body[data-page="vendor"] #venHero .chicona-banner[data-banner-no-image="true"] .hero-content{inset:auto!important;margin:16px auto!important;}
:root body .chicona-banner[data-banner-kind][data-banner-visible-content="false"] .chicona-banner-content,
body[data-page-name="index"] #homeBanner .chicona-banner[data-banner-visible-content="false"] .bc-box{width:0!important;height:0!important;min-height:0!important;padding:0!important;margin:0!important;border:0!important;background:none!important;box-shadow:none!important;overflow:visible!important;}
body[data-page-name="index"] #homeBanner .chicona-banner[data-banner-visible-content="false"] .bc-box>div{padding:0!important;border:0!important;background:none!important;box-shadow:none!important;}
@media(prefers-reduced-motion:reduce){.chicona-banner{transition:none!important;}}


/* ===== src/assets/css/customer-shopping-upgrade.css ===== */
.customer-mobile-search-access{display:none}
@media(max-width:1023px){.customer-mobile-search-access{display:block;padding:8px 14px;background:#fff;border-bottom:1px solid #eee7db}.customer-mobile-search-access button{display:flex;align-items:center;gap:10px;width:100%;min-height:44px;border:1px solid #ddd2c0;border-radius:12px;padding:8px 14px;background:#faf9f5;color:#666;text-align:start;font:inherit}.customer-mobile-search-access svg{width:20px;height:20px;flex:none}}

.customer-save-dialog{width:min(460px,calc(100vw - 28px));max-height:calc(100dvh - 40px);padding:24px;border:1px solid #e5ddcf;border-radius:18px;background:#fff;color:#252822;overflow:auto;font:inherit}.customer-save-dialog::backdrop{background:#0007}.customer-save-dialog h2{font-size:1.2rem;margin:0 0 12px}.customer-save-dialog button,.customer-save-inline,.customer-recent button{min-height:44px;padding:8px 14px;border:1px solid #d8cebc;border-radius:10px;background:#fff;color:#252822;font:inherit;cursor:pointer}.customer-save-dialog button:disabled{opacity:.6;cursor:wait}.customer-save-dialog .customer-dialog-close{margin-bottom:10px}.customer-save-content{display:grid;gap:10px}.customer-save-content form{display:grid;gap:12px;margin-top:12px;padding-top:12px;border-top:1px solid #eee}.customer-save-content label{display:grid;gap:6px}.customer-save-content input{width:100%;min-height:44px;padding:8px;border:1px solid #d8cebc;border-radius:8px;font:inherit}.customer-save-inline{width:100%;margin-top:8px}.customer-mini-product{border:1px solid #e7e0d5;border-radius:12px;padding:10px;background:#fff;min-width:0}.customer-mini-link{display:flex;align-items:center;gap:12px;color:inherit;text-decoration:none}.customer-mini-link img{width:72px;height:72px;object-fit:cover;border-radius:8px;flex:none}.customer-mini-body{display:grid;gap:5px;min-width:0}.customer-mini-body strong{font-size:14px;overflow-wrap:anywhere}.customer-mini-price{font-size:14px;font-weight:700}.customer-mini-price del{font-size:11px;color:#777;font-weight:400}.customer-recent{margin-top:24px}.customer-recent-head{display:flex;gap:12px;align-items:center;justify-content:space-between}.customer-recent h2{font-size:1.2rem;margin:0}.customer-recent-note{font-size:13px;color:#686b61}.customer-recent-row{display:flex;gap:12px;overflow-x:auto;padding:4px 0 12px;scroll-snap-type:x proximity}.customer-recent-row .customer-mini-product{flex:0 0 270px;scroll-snap-align:start}.customer-recent[hidden]{display:none!important}
.chicona-site-footer .footer-list{list-style:none;margin:0;padding:0}.chicona-site-footer .footer-list li{margin:0;padding:0}.chicona-site-footer .footer-link{display:inline-flex;align-items:center;min-height:36px;text-decoration:none}.chicona-site-footer .footer-heading{font-size:15px;line-height:1.6;margin:0 0 10px}.chicona-site-footer .footer-title{font-weight:800}.chicona-site-footer .footer-desc{font-size:14px;line-height:1.9}
.checkout-field-error{font-size:13px;line-height:1.7;color:#a12535;margin:5px 0 0}.checkout-field-error:empty{display:none}body[data-page-name="checkout"] [aria-invalid="true"]{border-color:#b32839!important;outline-color:#b32839}


/* ===== src/assets/css/customer-catalog-upgrade.css ===== */
.customer-catalog-summary{margin:0 0 1rem;color:var(--text,#25271f)}
.customer-catalog-summary p{font-size:.88rem;margin:0 0 .65rem;line-height:1.7}
.customer-catalog-chips,.customer-facet-options{display:flex;flex-wrap:wrap;gap:.5rem;min-width:0}
.customer-filter-chip,.customer-filter-clear,.customer-facet-option{display:inline-flex;align-items:center;justify-content:center;gap:.4rem;min-height:44px;padding:.45rem .8rem;border:1px solid #deded4;border-radius:999px;background:#fff;color:inherit;font:inherit;font-size:.82rem;line-height:1.4;text-decoration:none;max-width:100%;overflow-wrap:anywhere}
.customer-filter-chip:hover,.customer-facet-option:hover,.customer-facet-option[aria-pressed=true]{border-color:var(--gold,#a68b52);background:#faf6eb}
.customer-filter-clear{border-color:transparent;text-decoration:underline}
.customer-filter-chip:focus-visible,.customer-filter-clear:focus-visible,.customer-facet-option:focus-visible{outline:2px solid var(--gold,#a68b52);outline-offset:3px}
.customer-catalog-state{padding:1.5rem 1rem;margin:1rem 0;border:1px solid #e7e5db;border-radius:18px;text-align:center;background:#fafaf7}
.customer-catalog-state[hidden]{display:none!important}
.customer-catalog-state p{margin:0 0 1rem;line-height:1.8}
.customer-catalog-state .chip-btn{display:inline-flex;align-items:center;justify-content:center;margin:.25rem;min-height:44px;white-space:normal;text-decoration:none}
#cx-filters{grid-column:1/-1;min-width:0;border:0;padding:0;margin:.75rem 0 0}
#cx-filters legend{font-weight:700;margin-bottom:.75rem}
.customer-facet-field{display:block;min-width:0;margin:0 0 1rem}
.customer-facet-field>label{display:block;margin-bottom:.4rem;font-size:.9rem;font-weight:600}
.customer-facet-field input{width:100%;min-height:44px;border:1px solid #ddd;border-radius:10px;padding:.6rem .75rem;margin-bottom:.5rem;background:#fff}
.customer-facet-field .customer-facet-note{font-size:.78rem;line-height:1.6;margin:.4rem 0;min-height:0;color:#686c61}
.customer-facet-options{max-height:180px;overflow:auto;padding:.2rem}
.customer-facet-dot{width:16px;height:16px;border-radius:50%;border:1px solid #aaa;flex:none}
.customer-facet-more{font:inherit;font-size:.8rem;border:0;background:transparent;text-decoration:underline;min-height:44px;cursor:pointer;color:inherit}


/* ===== src/assets/css/catalog-refinement.css ===== */
/* Catalog layout refinements: preserve image loading and server filter values. */
.catalog-pagination{display:grid!important;grid-template-columns:minmax(0,1fr);gap:12px;text-align:center;max-width:100%;margin-inline:auto}
.catalog-pagination-info{margin:0;color:#64748b;font-size:.875rem;line-height:1.6}
.catalog-pagination-controls{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:6px;min-width:0}
.catalog-pagination .catalog-pagination-controls button{flex:0 0 auto;min-width:44px;min-height:44px;width:auto;height:auto;padding:9px 12px;white-space:nowrap!important;overflow-wrap:normal!important;word-break:normal!important;line-height:1.4}
.catalog-pagination .catalog-pagination-controls button.active{border-color:var(--gold,#c89b3c);background:#fff8e8;font-weight:800}
.catalog-pagination .catalog-pagination-controls button:disabled{opacity:.45;cursor:default}
.catalog-organized-filters{display:block!important}
.catalog-primary-filters,.catalog-extra-filters{display:grid;grid-template-columns:minmax(0,1fr);gap:16px}
.catalog-extra-filters{margin-top:18px;border-top:1px solid #e5e7eb;padding-top:8px}
.catalog-extra-filters>summary{cursor:pointer;min-height:44px;display:flex;align-items:center;font-weight:700;list-style:revert}
.catalog-extra-filters>summary::after{content:'+';margin-inline-start:auto;font-size:1.2rem}
.catalog-extra-filters[open]>summary::after{content:'−'}
.catalog-extra-filters:not([open])>*:not(summary){display:none!important}
.catalog-organized-filters #cx-filters{grid-column:1/-1;margin:0;min-width:0}
.catalog-organized-filters .catalog-filter-note{margin-top:16px}
#filtersPanel .modal-foot{display:flex!important;flex-direction:row!important;flex-wrap:wrap;gap:10px}
#filtersPanel .modal-foot>button{flex:1 1 110px!important;width:auto!important;min-width:0!important;min-height:44px;white-space:nowrap}
.catalog-directory [hidden]{display:none!important}
.catalog-directory-compact,.catalog-directory-compact .hero-full,.catalog-directory-compact .chicona-banner{min-height:0!important;height:auto!important}
.catalog-directory-compact .hero-full{padding-block:24px!important}
.catalog-directory-compact .hero-content,.catalog-directory-compact .chicona-banner-inner{position:relative!important;inset:auto!important;min-height:0!important;padding-block:0!important}
.catalog-directory-compact .hero-textbox,.catalog-directory-compact .chicona-banner-copy{margin:0 auto!important;padding-block:0!important;min-height:0!important;border:0!important;background:transparent!important;box-shadow:none!important;color:#1f2937!important;text-shadow:none!important}
.catalog-directory-compact .hero-title,.catalog-directory-compact .hero-sub{color:#1f2937!important;text-shadow:none!important}
.catalog-directory-compact .hero-title,.catalog-directory-compact .chicona-banner-title{font-size:clamp(1.5rem,3vw,2rem)!important;line-height:1.3!important}
.catalog-directory-compact .hero-sub,.catalog-directory-compact .chicona-banner-subtitle{margin-top:8px!important;font-size:1rem!important}
.catalog-directory-compact .hero-overlay,.catalog-directory-compact .chicona-banner-media{display:none!important}
:root body.catalog-directory .catalog-directory-compact .chicona-banner[data-banner-kind]{height:auto!important;min-height:0!important;padding-block:24px!important;background:#faf9f6}
:root body.catalog-directory .catalog-directory-compact .chicona-banner[data-banner-kind] .chicona-banner-content{position:relative!important;inset:auto!important;width:min(720px,calc(100% - 32px))!important;max-height:none!important;margin:0 auto!important;padding:0!important;background:transparent!important;border:0!important;border-radius:0!important;box-shadow:none!important;backdrop-filter:none!important;-webkit-backdrop-filter:none!important}
#vendorsGrid.catalog-single-store{grid-template-columns:minmax(0,520px)!important;justify-content:center}
#vendorsGrid.catalog-single-store .cat-card{display:grid;grid-template-columns:minmax(110px,.38fr) minmax(0,1fr);align-items:center;width:100%;min-width:0}
#vendorsGrid.catalog-single-store .cat-media{width:100%;height:auto;aspect-ratio:1/1;min-height:0}
#vendorsGrid.catalog-single-store .cat-media img{object-fit:contain}
#vendorsGrid.catalog-single-store .cat-body{min-width:0;padding:16px 12px}
#vendorsGrid.catalog-single-store .cat-name{overflow-wrap:anywhere;line-height:1.5}
#vendorsGrid.catalog-single-store .featured-badge{top:6px;left:6px;right:auto}
#vendorsGrid.catalog-single-store .verified-badge{top:34px;left:6px;right:auto}
.offers-empty-state{padding:28px 16px;border:1px solid #e5e7eb;border-radius:16px;max-width:640px;margin:20px auto;text-align:center;background:#fafaf8}
.offers-empty-state p{margin:0 0 16px;line-height:1.7}
.offers-empty-actions{display:flex;flex-wrap:wrap;justify-content:center;gap:10px}
.offers-empty-actions a,.offers-empty-actions button{min-height:44px;display:inline-flex;align-items:center;justify-content:center;text-decoration:none}
@media(min-width:640px){.catalog-primary-filters,.catalog-extra-filters[open]{grid-template-columns:repeat(2,minmax(0,1fr))}.catalog-extra-filters>summary{grid-column:1/-1}}
@media(max-width:359px){.catalog-pagination .catalog-pagination-controls button{padding-inline:8px}.catalog-pagination-controls{gap:4px}}


/* ===== src/assets/css/customer-public-r2.css ===== */
/* Shared public-page geometry. Scoped to avoid changing portal components. */
#site-footer .footer-wrap{box-sizing:border-box;width:100%;max-width:80rem;margin-inline:auto;padding:clamp(1.5rem,3vw,2.3rem) clamp(1rem,3vw,1.5rem);}
#site-footer .footer-legal{display:flex;align-items:center;flex-wrap:wrap;gap:.25rem 1.1rem;flex-basis:100%;}
#site-footer .footer-legal .footer-link{min-height:44px;align-items:center;}
#site-footer .footer-account-management{display:flex;align-items:center;flex-wrap:wrap;gap:.25rem .65rem;flex-basis:100%;font-size:.88em;}
#site-footer .footer-account-management .footer-link{min-height:44px;align-items:center;}
#site-footer [data-footer-phone],#site-footer [data-footer-email],#site-footer [data-footer-whatsapp-number],body[data-page-name="contact"] [data-app-phone],body[data-page-name="contact"] [data-app-email]{direction:ltr;unicode-bidi:isolate;}
body[data-page-name="contact"] #contactForm .contact-full-row{grid-column:1/-1;}
body[data-page-name="contact"] #contactForm [aria-invalid="true"]{border-color:#b91c1c;}
body[data-page-name="contact"] #contactForm :is(input,textarea){scroll-margin-top:calc(var(--nav-h,72px) + 72px);}
body[data-page-name="privacy"] #s6p a{display:inline-flex;align-items:center;min-height:44px;text-decoration:underline;text-underline-offset:3px;}
body[data-page-name="index"] .home-section[hidden]{display:none!important;}
body[data-page-name="index"] .home-row-status{grid-column:1/-1;flex:1 0 100%;width:100%;padding:16px;text-align:center;border:1px solid var(--home-line,#eee7dd);border-radius:14px;background:#fff;}
body[data-page-name="index"] .home-row-status p{margin:0 0 12px;line-height:1.6;}
body[data-page-name="index"] .home-row-status button{min-height:44px;}
/* Match the real card count before the full-grid !important rules reserve empty tracks. */
body[data-page-name="index"] .home-sparse #specialRow[data-home-item-count="1"]{--home-grid-columns:1;--home-products-max-width:280px;grid-template-columns:minmax(0,1fr)!important;grid-auto-flow:row!important;grid-auto-columns:auto!important;max-width:280px;margin-inline:auto;}
@media(min-width:768px){
 body[data-page-name="index"] .home-sparse #specialRow{grid-template-columns:repeat(var(--home-grid-columns,2),minmax(0,1fr))!important;max-width:var(--home-products-max-width,580px);margin-inline:auto;}
 body[data-page-name="index"] .home-sparse #specialRow[data-home-item-count="3"]{--home-grid-columns:3;--home-products-max-width:880px;}
}
@media(min-width:768px){
 body[data-page-name="index"] .home-section.home-sparse>.home-container{max-width:var(--home-compact-width,1180px);}
 body[data-page-name="index"] .home-sparse #catRow,body[data-page-name="index"] .home-sparse #subGrid,body[data-page-name="index"] .home-sparse #brandsRow{justify-content:center;}
 body[data-page-name="index"] .home-sparse #partnerStoresRow{justify-content:center;}
 body[data-page-name="index"] .home-sparse #partnerStoresRow>.partner-store-card{flex-basis:330px;max-width:100%;}
 body[data-page-name="index"] .home-sparse #catRow>.luxury-cat-card{flex-basis:280px;max-width:100%;}
}
@media(max-width:767px){
 #site-footer .footer-wrap{padding:28px 16px max(24px,env(safe-area-inset-bottom));}
 #site-footer .footer-legal{justify-content:center;gap:.2rem 1rem;}
 #site-footer .footer-account-management{justify-content:center;}
}

