/* ===== src/assets/css/vendors-page.css ===== */
/* ===== vendors.html inline style 1 ===== */
:root{ --gold:#C89B3C; --white:#ffffff; --black:#111827; }
    #site-nav{ position:sticky; top:0; z-index:var(--z-nav,1000); background:rgba(255,255,255,.82); border-bottom:1px solid #eee; }

    .hero-bleed{position:relative; left:50%; right:50%; margin-left:-50vw; margin-right:-50vw; width:100vw;}
    .hero-full{position:relative; width:100%; min-height:56vh;}
    @media (min-width:768px){ .hero-full{min-height:64vh;} }
    .hero-img-full{position:absolute; inset:0; width:100%; height:100%; object-fit:cover; display:none;}
    .hero-overlay{position:absolute; inset:0; pointer-events:none; background:linear-gradient(180deg,rgba(0,0,0,.55),rgba(0,0,0,.35) 40%,rgba(0,0,0,.15) 65%,rgba(0,0,0,0) 100%);}
    .hero-content{position:absolute; inset:0; display:flex; align-items:center; justify-content:center; padding:2rem; z-index:1;}
    .hero-textbox{width:min(92vw, 60rem); text-align:center; color:#fff; text-shadow:0 2px 14px rgba(0,0,0,.35);}
    .hero-title{font-weight:900;}
    .hero-sub{opacity:.95;}
    .skeleton{ position:relative; overflow:hidden; }
    .skeleton::after{ content:''; position:absolute; inset:0; background:linear-gradient(90deg,rgba(0,0,0,.04),rgba(0,0,0,.08),rgba(0,0,0,.04)); transform:translateX(-100%); animation:sk 1.2s infinite;}
    @keyframes sk { to { transform: translateX(100%);} }

    .seg{ display:inline-flex; border:1px solid #e5e7eb; border-radius:999px; overflow:hidden; }
    .seg button{ padding:.45rem .7rem; font-size:.85rem; }
    .seg button.active{ background:#fff6e5; color:var(--gold); font-weight:600; }
    .chip{
      --c:#e5e7eb; --bg:#fff; --tx:#111827;
      display:inline-flex; align-items:center; gap:.45rem; padding:.46rem .8rem;
      border:1px solid var(--c); border-radius:9999px; background:#fff; color:#111;
      font-size:.9rem; cursor:pointer; user-select:none; transition:.18s;
    }
    .chip input{ display:none; }
    .chip.active{ border-color: var(--gold) ; background:#fff1bf ; color:#111 ; }

    .cat-card{
      position:relative; border:1px solid #eee; border-radius:1rem; background:#fff; overflow:hidden;
      transition:transform .18s, box-shadow .18s, border-color .18s, background .18s;
      box-shadow:0 1px 2px rgba(0,0,0,.04);
    }
    .cat-card:hover{ transform:translateY(-4px); box-shadow:0 12px 28px rgba(0,0,0,.10); border-color:var(--gold); background:#fffefb; }
    .cat-media{ position:relative; width:100%; aspect-ratio: 4 / 3; background:#fff; }
    .cat-media img{ position:absolute; inset:0; width:100%; height:100%; object-fit:cover; display:block; transition:transform .25s ease; background:#fff; }
    .cat-card:hover .cat-media img{ transform:scale(1.03); }
    .cat-body{ padding: .9rem 1rem 1.05rem; }
    .cat-name{ text-align:center; font-size:1.1rem; font-weight:800; line-height:1.2; }
    @media (min-width:768px){ .cat-name{ font-size:1.2rem; } }
    .cat-cta{ margin-top:.3rem; text-align:center; }
    .cat-cta .pill{ display:inline-block; font-size:.8rem; padding:.4rem .8rem; border-radius:9999px; border:1px solid #e5e7eb; opacity:.9; }

    .featured-badge{
      position:absolute; top:.55rem; left:.55rem;
      display:inline-flex; align-items:center; gap:.35rem;
      background:#16a34a; color:#fff; font-weight:800; font-size:11px; line-height:1;
      padding:.28rem .5rem; border-radius:.5rem; box-shadow:0 2px 6px rgba(0,0,0,.15);
    }
    .featured-badge svg{ width:12px; height:12px; }

    .verified-badge{
      position:absolute; top:.55rem; right:.55rem;
      display:inline-flex; align-items:center; gap:.35rem;
      background:var(--gold); color:#fff; font-weight:800; font-size:11px; line-height:1;
      padding:.28rem .5rem; border-radius:.5rem; box-shadow:0 2px 6px rgba(0,0,0,.15);
    }
    .verified-badge svg{ width:12px; height:12px; }

    .page-btn, .page-num{ border:1px solid #e5e7eb; border-radius:.6rem; background:#fff; padding:.5rem .75rem; font-size:14px; line-height:1; transition:background .15s,border-color .15s,color .15s; }
    .page-btn:hover, .page-num:hover{ background:#f5f5f5; }
    .page-btn[disabled]{ opacity:.5; cursor:not-allowed; }
    .page-num.active{ border-color:var(--gold); color:var(--gold); font-weight:600; }
    .page-ellipsis{ padding:0 .4rem; color:#9ca3af; }


/* ===== src/assets/css/chicona-ui-system.css ===== */
/* Chicona UI System — unified layering, dialogs, drawers, touch targets and safe areas. */
:root{
  --ui-nav-height:76px;
  --ui-nav-gap:12px;
  --z-content:1;
  --z-sticky:800;
  --z-maintenance:900;
  --z-nav:1000;
  --z-drawer-overlay:1900;
  --z-drawer:1910;
  --z-modal-overlay:2000;
  --z-modal:2010;
  --z-toast:3000;
  --z-loader:4000;
  --ui-safe-top:env(safe-area-inset-top,0px);
  --ui-safe-right:env(safe-area-inset-right,0px);
  --ui-safe-bottom:env(safe-area-inset-bottom,0px);
  --ui-safe-left:env(safe-area-inset-left,0px);
}

/* Utility/accessibility primitives */
.ui-sr-only{
  position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;
  overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important;
}
[hidden]{display:none!important}
[aria-disabled="true"]{pointer-events:none;cursor:default}
html.ui-scroll-locked,body.ui-scroll-locked{overflow:hidden!important;overscroll-behavior:none}

/* Language must be exclusive; never show Arabic and English together. */
html[lang^="ar"] .i18n-en,html[dir="rtl"] .i18n-en{display:none!important}
html[lang^="en"] .i18n-ar,html[dir="ltr"] .i18n-ar{display:none!important}


/* Embedded nav paint guard. */
#site-nav{min-height:56px}
html:not(.nav-ready) #site-nav{visibility:hidden;opacity:0}
html.nav-ready #site-nav{visibility:visible;opacity:1;transition:opacity .12s ease}
html:not(.nav-ready) :is(#sidebar,#sbOverlay){display:none!important}

/* Navigation and drawer */
#site-nav,header.nav{z-index:var(--z-nav)!important}
#sbOverlay,.sb-overlay{z-index:var(--z-drawer-overlay)!important}
#sidebar,.sb{
  box-sizing:border-box!important;
  z-index:var(--z-drawer)!important;
  display:flex!important;
  flex-direction:column!important;
  height:100vh!important;
  height:100dvh!important;
  max-height:100dvh!important;
  overflow:hidden!important;
  padding-top:var(--ui-safe-top);
  padding-bottom:var(--ui-safe-bottom);
}
#sidebar .sb-head,.sb .sb-head{flex:0 0 auto}
#sidebar .sb-body,.sb .sb-body{
  flex:1 1 auto!important;
  min-height:0!important;
  height:auto!important;
  overflow-y:auto!important;
  overscroll-behavior:contain;
  padding-bottom:max(1rem,var(--ui-safe-bottom))!important;
}

/* Sticky summaries must clear the real dynamic nav height. */
.sticky-summary{top:calc(var(--ui-nav-height) + var(--ui-nav-gap))!important}

/* Maintenance notice participates in layout and stays below navigation/dialogs. */
.maintenance-banner{
  position:relative!important;
  inset:auto!important;
  z-index:var(--z-maintenance)!important;
  padding-top:max(.7rem,var(--ui-safe-top));
}

/* Unified dialog surfaces. Keep existing display/open classes intact. */
:is(#addrModal,#msgModal,#resetModal,#vModal,#reviewModal,#noticeModal,#authModal,#sizeModal,.modal,.ui-modal){
  z-index:var(--z-modal-overlay)!important;
  max-width:none;
}
:is(.modal-overlay,.modal-mask,.cart-choice-overlay,.cart-pick-mask,.vg-overlay,.ui-modal-backdrop){
  z-index:var(--z-modal-overlay)!important;
}
:is(.modal-panel,.cart-choice-panel,.cart-pick-panel,.ui-modal-positioner){
  z-index:var(--z-modal)!important;
}
:is(.modal-card,.modal-content,.cart-choice-card,.cart-pick-card,.ui-modal-card){
  background:#fff;
  max-height:calc(100dvh - max(2rem, var(--ui-safe-top) + var(--ui-safe-bottom)))!important;
  overflow-y:auto!important;
  overscroll-behavior:contain;
  -webkit-overflow-scrolling:touch;
}
.ui-modal-positioner{
  padding-top:max(1rem,var(--ui-safe-top))!important;
  padding-right:max(1rem,var(--ui-safe-right))!important;
  padding-bottom:max(1rem,var(--ui-safe-bottom))!important;
  padding-left:max(1rem,var(--ui-safe-left))!important;
}
#reviewModal .ui-modal-card,#reviewModal .modal-card{
  max-height:calc(100dvh - 2rem - var(--ui-safe-top) - var(--ui-safe-bottom))!important;
  overflow-y:auto!important;
}
#sizeModal .ui-modal-card,#sizeModal .modal-card{
  padding-bottom:var(--ui-safe-bottom);
}

/* Loaders are truly blocking and always above interactive UI. */
:is(#loader,#siteLoader,.site-loader,.page-loader,[data-page-loader]){
  z-index:var(--z-loader)!important;
  pointer-events:auto!important;
  overscroll-behavior:none;
}
#siteLoader.is-hidden{pointer-events:none!important}
:is(.toast,.cart-toast,.notice-toast,[role="status"].toast){z-index:var(--z-toast)!important}

/* Avoid invisible overlays intercepting clicks. */
:is(.modal-overlay,.modal-mask,.modal-panel,.cart-choice-overlay,.cart-choice-panel,.cart-pick-mask,.cart-pick-panel,.vg-overlay):not(.active):not(.show):not(.open){
  pointer-events:none!important;
}

/* Readable badges. Controls are owned by storefront-layout.css. */
.product-card :is(.tag-left,.tag-bxgy,.tag-right,.tag-right-bxgy,.offer-badge,.promo-badge,.badge){
  min-height:22px;
  font-size:clamp(10px,2.8vw,11.5px)!important;
  line-height:1.15!important;
  padding:.28rem .48rem!important;
}

/* Consistent minimum hit area for controls used as actions. */
:is(button,.btn,[role="button"]):not(.star):not(.gal-dot):not(.bc-dot):not(.thumb){min-height:44px}
.icon-btn{min-width:44px;min-height:44px}

/* Placeholder contact/social links are hidden until valid settings arrive. */
a[data-ui-placeholder-link][aria-disabled="true"]{display:none!important}

/* Modal footers and bottom sheets respect iPhone/Android safe areas. */
.modal-foot,.cart-choice-foot,.cart-pick-foot{padding-bottom:max(1rem,var(--ui-safe-bottom))!important}

/* Short-screen safety. */
@media (max-height:620px){
  :is(.modal-card,.modal-content,.cart-choice-card,.cart-pick-card,.ui-modal-card){
    max-height:calc(100dvh - 1rem)!important;
    border-radius:14px!important;
  }
}
@media (max-width:640px){
  :root{--ui-nav-gap:8px}
  .sticky-summary{position:static!important;top:auto!important}
  :is(.modal-overlay,.modal-panel,.ui-modal-positioner){
    padding-right:max(.75rem,var(--ui-safe-right))!important;
    padding-left:max(.75rem,var(--ui-safe-left))!important;
  }
}

@media print{
  :is(#loader,#siteLoader,.site-loader,.modal,.modal-overlay,.modal-panel,.ui-modal,.toast,.cart-toast){display:none!important}
  .sticky-summary{position:static!important;top:auto!important}
}

/* ===== Integrated production refinements (formerly hotfix v2) ===== */
:root{
  --link-text:#6f4c12;
  --gold-text:#7a5314;
  --focus-ring:#8a621a;
}
a,a:link,a:visited{color:inherit;text-decoration:none;}
a:hover{color:var(--link-text);}
a:not(.icon-btn):not(.social-btn):not(.brand):not(.product-card a):focus-visible,
button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,[tabindex]:focus-visible{
  outline:3px solid var(--focus-ring);outline-offset:3px;border-radius:8px;
}
.prose a,.legal-content a,.policy-content a,.footer-contact-list a,.inline-link,.section-link,.addr-manage{
  color:var(--link-text);font-weight:650;text-underline-offset:3px;
}
.prose a:hover,.legal-content a:hover,.policy-content a:hover,.inline-link:hover{filter:brightness(.82);}
.section-link,.unified-kicker,.hero-kicker,.footer-contact-label{color:var(--gold-text);}
.old,.price-old{text-decoration:line-through;}

body[data-page-name="cart"] #cartItemsMobile:not(:empty){display:grid;visibility:visible;opacity:1;min-height:1px;}
body[data-page-name="cart"] #cartItemsMobile:empty{display:none;}
body[data-page-name="cart"] .cart-render-error{display:grid;grid-template-columns:72px minmax(0,1fr);align-items:center;gap:12px;padding:12px;border:1px solid rgba(17,24,39,.09);border-radius:18px;background:#fff;}
body[data-page-name="cart"] .cart-render-error img{width:72px;height:72px;object-fit:cover;border-radius:14px;background:#f8fafc;}
body[data-page-name="cart"] .cart-render-error strong{display:block;color:#111827;line-height:1.45;overflow-wrap:anywhere;}

body[data-page-name="checkout"] #itemsList .line,body[data-page-name="order"] #itemsWrap .line{align-items:flex-start;}
body[data-page-name="checkout"] #itemsList .truncate,body[data-page-name="order"] #itemsWrap .truncate{white-space:normal;overflow:visible;text-overflow:clip;max-width:none;overflow-wrap:anywhere;line-height:1.45;}
@media(max-width:520px){
 body[data-page-name="checkout"] #itemsList .line,body[data-page-name="order"] #itemsWrap .line{display:grid;grid-template-columns:minmax(0,1fr);gap:10px;}
 body[data-page-name="checkout"] #itemsList .line>.shrink-0:last-child{justify-self:end;}
 body[data-page-name="order"] #itemsWrap .line>.text-sm.text-right{width:100%;text-align:start;padding-inline-start:92px;}
}

#site-footer .footer-grid{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(0,.9fr) minmax(0,.9fr) minmax(0,1.15fr);gap:clamp(1.25rem,3vw,2.5rem);align-items:start;width:100%;}
#site-footer .footer-col{min-width:0;}#site-footer .footer-list{display:grid;gap:.48rem;}#site-footer .social-row{display:flex;align-items:center;flex-wrap:wrap;gap:.4rem;margin-top:.8rem;}
#site-footer .footer-bottom{margin-top:1.6rem;padding-top:1rem;border-top:1px solid rgba(200,155,60,.16);display:flex;align-items:center;justify-content:space-between;gap:.75rem;flex-wrap:wrap;}
@media(max-width:767px){
 #site-footer,#site-footer .footer-wrap,#site-footer .footer-grid,#site-footer .footer-col,#site-footer .footer-bottom{text-align:center;}
 #site-footer .footer-wrap{padding:28px 16px max(24px,env(safe-area-inset-bottom));}
 #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-desc{max-width:520px;margin-inline:auto;line-height:1.75;}
 #site-footer .footer-list{justify-items:center;gap:.45rem;}
 #site-footer .footer-contact-list li{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:.25rem;width:100%;overflow-wrap:anywhere;}
 #site-footer .social-row{justify-content:center;}#site-footer .social-btn{width:44px;height:44px;border-radius:14px;}
 #site-footer .footer-bottom{flex-direction:column;justify-content:center;line-height:1.7;}
}
@media(max-width:480px){#site-footer .footer-grid{grid-template-columns:repeat(2,minmax(0,1fr));}#site-footer .footer-brand-col,#site-footer .footer-col:last-child{grid-column:1/-1;}#site-footer .footer-col{padding:0 4px;}}

@media(max-width:767px){
 body[data-page-name="index"] .home-hero-shell{min-height:0;height:clamp(500px,72svh,620px);max-height:620px;}
 body[data-page-name="index"] .bc-img{object-position:center 38%;}
 body[data-page-name="index"] .bc-grad{background:linear-gradient(180deg,rgba(255,250,244,.04) 0%,rgba(255,250,244,.20) 45%,rgba(255,250,244,.96) 100%);}
 body[data-page-name="index"] .bc-box{align-items:flex-end;justify-content:center;text-align:center;padding:14px 14px 58px;}
 body[data-page-name="index"] .bc-box>div{width:min(100%,560px);padding:16px 14px 18px;border-radius:22px;background:rgba(255,255,255,.84);border:1px solid rgba(200,155,60,.22);box-shadow:0 14px 34px rgba(17,24,39,.10);backdrop-filter:blur(8px);}
 body[data-page-name="index"] .hero-kicker{justify-content:center;margin-bottom:6px;font-size:.82rem;gap:8px;color:var(--gold-text);}
 body[data-page-name="index"] .hero-title{font-size:clamp(2rem,10vw,2.75rem);line-height:1.05;letter-spacing:-.025em;}
 body[data-page-name="index"] .hero-sub{margin:9px auto 0;max-width:34rem;font-size:.96rem;line-height:1.55;}
 body[data-page-name="index"] .hero-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;margin-top:15px;}
 body[data-page-name="index"] .hero-btn{width:100%;min-width:0;min-height:46px;padding:.72rem .6rem;border-radius:12px;font-size:.96rem;white-space:nowrap;}
 body[data-page-name="index"] .bc-dots{bottom:16px;gap:8px;}body[data-page-name="index"] .bc-dot{width:9px;height:9px;min-height:9px;padding:0;}
}
@media(max-width:360px){body[data-page-name="index"] .home-hero-shell{height:520px;}body[data-page-name="index"] .hero-actions{grid-template-columns:1fr;}body[data-page-name="index"] .bc-box{padding-bottom:52px;}body[data-page-name="index"] .hero-btn{min-height:42px;}}

/* Phase 2.7.2 canonical bilingual visibility guard. */
html[data-chicona-lang="ar"] .i18n-en{display:none!important}
html[data-chicona-lang="ar"] .i18n-ar{display:revert!important}
html[data-chicona-lang="en"] .i18n-ar{display:none!important}
html[data-chicona-lang="en"] .i18n-en{display:revert!important}


/* ===== R15.2.9 storefront UI unification ===== */
:root{
  --ui-radius-sm:12px;--ui-radius:16px;--ui-radius-lg:22px;
  --ui-border:rgba(17,24,39,.10);--ui-surface:#fff;--ui-muted:#6b7280;
  --ui-shadow:0 10px 28px rgba(17,24,39,.06);--ui-shadow-modal:0 24px 70px rgba(17,24,39,.20);
}
body.chicona-unified :is(input:not([type="checkbox"]):not([type="radio"]),select,textarea){
  min-height:46px;border-radius:var(--ui-radius-sm);border:1px solid var(--ui-border);background:#fff;
}
body.chicona-unified :is(.btn,.primary-btn,.secondary-btn,.view-btn,.add-btn,.btn-add,button[type="submit"]):not(.star){
  border-radius:var(--ui-radius-sm);font-weight:800;transition:transform .15s ease,box-shadow .15s ease,background .15s ease,border-color .15s ease;
}
body.chicona-unified :is(.empty-state,.empty,.no-results,.error-state,.catalog-empty,[data-empty-state]){
  border:1px solid var(--ui-border);border-radius:var(--ui-radius-lg);background:var(--ui-surface);padding:clamp(1.1rem,3vw,1.6rem);text-align:center;
}
body.chicona-unified :is(.product-card,.category-card,.sub-card,.offer-card,.vendor-card){border-color:var(--ui-border);}

.chicona-feedback-overlay{position:fixed;inset:0;z-index:var(--z-modal,2010);display:grid;place-items:center;padding:max(18px,var(--ui-safe-top)) max(18px,var(--ui-safe-right)) max(18px,var(--ui-safe-bottom)) max(18px,var(--ui-safe-left));background:rgba(17,24,39,.46);backdrop-filter:blur(7px);opacity:0;transition:opacity .18s ease;}
.chicona-feedback-overlay[hidden]{display:none!important}.chicona-feedback-overlay.show{opacity:1}
.chicona-feedback-card{position:relative;width:min(92vw,430px);max-height:calc(100dvh - 36px);overflow:auto;background:#fff;border:1px solid rgba(200,155,60,.20);border-radius:24px;box-shadow:var(--ui-shadow-modal);padding:28px 22px 22px;text-align:center;transform:translateY(8px) scale(.985);transition:transform .18s ease;}
.chicona-feedback-overlay.show .chicona-feedback-card{transform:none}
.chicona-feedback-close{position:absolute;top:10px;inset-inline-end:10px;width:40px;height:40px;min-height:40px;border:0;border-radius:12px;background:#f7f7f7;color:#374151;font-size:25px;line-height:1;display:grid;place-items:center;}
.chicona-feedback-icon{width:58px;height:58px;margin:4px auto 14px;border-radius:999px;display:grid;place-items:center;background:#edf8f2;color:#147a48;font-size:27px;font-weight:900;box-shadow:inset 0 0 0 1px rgba(20,122,72,.12)}
.chicona-feedback-overlay[data-type="error"] .chicona-feedback-icon{background:#fff1f0;color:#b42318;box-shadow:inset 0 0 0 1px rgba(180,35,24,.12)}
.chicona-feedback-overlay[data-type="info"] .chicona-feedback-icon{background:#fff8e8;color:#8a621a;box-shadow:inset 0 0 0 1px rgba(138,98,26,.14)}
.chicona-feedback-title{margin:0;color:#111827;font-size:clamp(1.12rem,4vw,1.3rem);font-weight:900;line-height:1.35}
.chicona-feedback-message{margin:.65rem auto 0;max-width:34ch;color:#5f6672;font-size:.94rem;line-height:1.75;overflow-wrap:anywhere}
.chicona-feedback-actions{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:22px}
.chicona-feedback-btn{min-height:46px;border-radius:13px;padding:.72rem .8rem;display:inline-flex;align-items:center;justify-content:center;font-weight:850;text-decoration:none!important}
.chicona-feedback-btn.primary{background:#111827;color:#fff!important;border:1px solid #111827}.chicona-feedback-btn.secondary{background:#fff;color:#374151;border:1px solid var(--ui-border)}
.ui-feedback-open{overflow:hidden!important}
@media(max-width:420px){.chicona-feedback-card{padding:26px 16px 18px;border-radius:20px}.chicona-feedback-actions{grid-template-columns:1fr}.chicona-feedback-btn.primary{order:-1}}
@media(prefers-reduced-motion:reduce){.chicona-feedback-overlay,.chicona-feedback-card{transition:none!important}}

/* R15.2.10.6 modal performance: backdrop blur is costly in Android WebView.
   Keep the same dimmed surface while avoiding GPU-heavy live blur on phones/apps. */
body.chicona-app-mode :is(.modal-overlay,.modal-mask,.cart-choice-overlay,.cart-pick-mask,.vg-overlay,.checkout-gate,.account-delete-modal,.chicona-feedback-overlay,.chicona-confirm-overlay),
body.chicona-app-mode :is(.modal,.vg-overlay)::before{
  backdrop-filter:none!important;
  -webkit-backdrop-filter:none!important;
}
@media(max-width:767px){
  :is(.modal-overlay,.modal-mask,.cart-choice-overlay,.cart-pick-mask,.vg-overlay,.checkout-gate,.account-delete-modal,.chicona-feedback-overlay,.chicona-confirm-overlay),
  :is(.modal,.vg-overlay)::before{
    backdrop-filter:none!important;
    -webkit-backdrop-filter:none!important;
  }
  :is(.modal-card,.modal-content,.cart-choice-card,.cart-pick-card,.chicona-feedback-card,.ui-modal-card){
    transition-duration:.12s!important;
  }
}
@media (hover:none), (pointer:coarse){
  :is(.modal-overlay,.modal-mask,.cart-choice-overlay,.cart-pick-mask,.vg-overlay,.checkout-gate,.account-delete-modal,.chicona-feedback-overlay,.chicona-confirm-overlay),
  :is(.modal,.vg-overlay)::before{
    backdrop-filter:none!important;
    -webkit-backdrop-filter:none!important;
  }
  :is(.modal-card,.modal-content,.cart-choice-card,.cart-pick-card,.chicona-feedback-card,.ui-modal-card){
    transition-duration:.1s!important;
  }
}


/* ===== src/assets/css/catalog-filter-system.css ===== */
/* Chicona Phase 2.10.8.2 — unified catalog filter/sort UI + deterministic closed state */
:root{
  --catalog-gold:#c99e4d;
  --catalog-ink:#111827;
  --catalog-muted:#6b7280;
  --catalog-line:#e8e1d5;
  --catalog-soft:#fffaf2;
  --catalog-card:#ffffff;
}
#openFilters.chip-btn::before,#openSort.chip-btn::before{
  width:16px;height:16px;display:inline-block;flex:0 0 auto;
  background:currentColor;content:"";
  -webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;
  -webkit-mask-position:center;mask-position:center;
  -webkit-mask-size:contain;mask-size:contain;
}
#openFilters.chip-btn::before{
  -webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M4 6h16M7 12h10M10 18h4' fill='none' stroke='black' stroke-width='2' stroke-linecap='round'/%3E%3C/svg%3E");
  mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M4 6h16M7 12h10M10 18h4' fill='none' stroke='black' stroke-width='2' stroke-linecap='round'/%3E%3C/svg%3E");
}
#openSort.chip-btn::before{
  -webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M8 6h12M8 12h8M8 18h4M4 5v14' fill='none' stroke='black' stroke-width='2' stroke-linecap='round'/%3E%3C/svg%3E");
  mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M8 6h12M8 12h8M8 18h4M4 5v14' fill='none' stroke='black' stroke-width='2' stroke-linecap='round'/%3E%3C/svg%3E");
}
.chip-badge{
  min-width:19px;height:19px;padding:0 5px;border-radius:999px;
  display:inline-flex;align-items:center;justify-content:center;
  background:var(--catalog-gold)!important;color:#fff!important;
  font-size:10px!important;font-weight:900!important;
}

/* Modal shell.
   These base rules live in the shared stylesheet deliberately: directory pages
   used to repeat them in page CSS, while offers.html did not. Without a shared
   closed state, the offers filter rendered as an ordinary in-flow block before
   any user action. */
#modalMask.modal-mask{
  position:fixed!important;
  inset:0!important;
  display:none!important;
  z-index:22000!important;
  background:rgba(17,24,39,.42)!important;
  backdrop-filter:blur(2px)!important;
  -webkit-backdrop-filter:blur(2px)!important;
}
#filtersPanel.modal-panel,#sortPanel.modal-panel{
  position:fixed!important;
  inset:0!important;
  display:none!important;
  place-items:center!important;
  padding:1rem!important;
  z-index:22010!important;
}
#modalMask.modal-mask.active{display:block!important;}
#filtersPanel.modal-panel.active,#sortPanel.modal-panel.active{display:grid!important;}
#filtersPanel .modal-card,#sortPanel .modal-card{
  width:min(94vw,760px)!important;
  max-height:min(84vh,760px)!important;
  overflow:hidden!important;
  display:flex!important;
  flex-direction:column!important;
  border:1px solid rgba(201,158,77,.23)!important;
  border-radius:28px!important;
  background:rgba(255,255,255,.985)!important;
  box-shadow:0 30px 80px rgba(17,24,39,.24)!important;
}
#filtersPanel .modal-head,#sortPanel .modal-head{
  min-height:68px!important;
  padding:16px 18px!important;
  border-bottom:1px solid #eee7da!important;
  background:linear-gradient(180deg,#fff 0%,#fffaf3 100%)!important;
  display:flex!important;align-items:center!important;justify-content:space-between!important;gap:12px!important;
}
#filtersPanel .modal-head strong,#sortPanel .modal-head strong{
  font-size:1.12rem!important;font-weight:900!important;color:var(--catalog-ink)!important;
}
#filtersPanel .modal-body,#sortPanel .modal-body{
  flex:1 1 auto!important;
  min-height:0!important;
  padding:18px!important;
  overflow:auto!important;
  overscroll-behavior:contain;
}
#filtersPanel .modal-body{
  display:grid!important;
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  gap:14px!important;
}
#filtersPanel .field{
  min-width:0;
  display:flex;flex-direction:column;gap:7px;
  padding:13px;
  border:1px solid #eee7dc;
  border-radius:18px;
  background:linear-gradient(180deg,#fff,#fffcf7);
}
#filtersPanel .field.catalog-span-2{grid-column:1/-1;}
#filtersPanel .field label{
  color:#374151!important;font-size:.86rem!important;font-weight:850!important;
}
.catalog-price-grid{display:grid!important;grid-template-columns:1fr 1fr;gap:8px!important;}

/* Product option fields stay inside the scrollable filter card. */
#filtersPanel .modal-body > #cx-filters{
  grid-column:1/-1;min-width:0;margin:0;padding:13px;
  display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;
  border:1px solid #eee7dc;border-radius:18px;
  background:linear-gradient(180deg,#fff,#fffcf7);
}
#filtersPanel #cx-filters legend{padding-inline:4px;color:#374151;font-size:.86rem;font-weight:850;}
#filtersPanel #cx-filters .cx-field{min-width:0;margin:0;}
#filtersPanel #cx-filters input{min-width:0;}

/* Sort choices become touch-friendly cards */
#sortPanel .modal-body .grid{
  display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:10px!important;
}
#sortPanel label.inline-flex,
#sortPanel .catalog-sort-option{
  min-height:50px;
  display:flex!important;align-items:center!important;gap:10px!important;
  border:1px solid #e7e0d4!important;border-radius:16px!important;
  padding:12px 14px!important;background:#fff!important;
  cursor:pointer!important;font-weight:750!important;
  transition:border-color .16s ease, background .16s ease, transform .16s ease!important;
}
#sortPanel label.inline-flex:hover,#sortPanel .catalog-sort-option:hover{
  border-color:rgba(201,158,77,.55)!important;background:#fffcf7!important;transform:translateY(-1px);
}
#sortPanel input[type="radio"]{accent-color:var(--catalog-gold);width:16px;height:16px;flex:0 0 auto;}

/* Sticky actions */
#filtersPanel .modal-foot,#sortPanel .modal-foot{
  position:sticky!important;bottom:0!important;z-index:3!important;
  padding:14px 18px calc(14px + env(safe-area-inset-bottom))!important;
  border-top:1px solid #eee7dc!important;background:rgba(255,255,255,.97)!important;
  backdrop-filter:blur(12px);
  display:flex!important;gap:10px!important;
}

/* Compact checkbox/toggle cards */
.catalog-check{
  display:flex;align-items:center;gap:10px;min-height:46px;
  border:1px solid #e7e0d4;border-radius:14px;padding:10px 12px;background:#fff;
  cursor:pointer;font-weight:800;
}
.catalog-check input{width:16px;height:16px;accent-color:var(--catalog-gold);}

.catalog-filter-note{
  grid-column:1/-1;color:#6b7280;font-size:.78rem;line-height:1.55;
  padding:0 2px;
}

@media (max-width:767px){
  #filtersPanel.modal-panel.active,#sortPanel.modal-panel.active{
    display:flex!important;align-items:flex-end!important;justify-content:center!important;
  }
  #filtersPanel .modal-card,#sortPanel .modal-card{
    width:100%!important;max-width:none!important;max-height:88dvh!important;
    border-radius:26px 26px 0 0!important;border-bottom:0!important;
  }
  #filtersPanel .modal-card::before,#sortPanel .modal-card::before{
    content:"";display:block;width:44px;height:5px;border-radius:999px;background:#d7d7d7;margin:9px auto -2px;
  }
  #filtersPanel .modal-body{grid-template-columns:1fr!important;padding:14px!important;gap:10px!important;}
  #filtersPanel .modal-body > #cx-filters{grid-template-columns:1fr;}
  #filtersPanel .field.catalog-span-2{grid-column:auto;}
  #sortPanel .modal-body .grid{grid-template-columns:1fr!important;}
  #filtersPanel .modal-head,#sortPanel .modal-head{min-height:60px!important;padding:12px 15px!important;}
  #filtersPanel .modal-foot,#sortPanel .modal-foot{padding:12px 14px calc(12px + env(safe-area-inset-bottom))!important;}
}

/* Native app: catalog sheets are true top-level app sheets.
   They cover the bottom navigation while open so no controls are hidden behind it. */
body.chicona-app-mode.chicona-catalog-overlay-open .chicona-native-bottom-nav{
  opacity:0!important;
  visibility:hidden!important;
  pointer-events:none!important;
  transform:translateY(110%)!important;
}
body.chicona-app-mode #modalMask.modal-mask{
  z-index:2147482500!important;
}
body.chicona-app-mode #filtersPanel.modal-panel,
body.chicona-app-mode #sortPanel.modal-panel{
  z-index:2147482600!important;
  bottom:0!important;
  padding-bottom:0!important;
}
body.chicona-app-mode #filtersPanel .modal-card,
body.chicona-app-mode #sortPanel .modal-card{
  max-height:calc(100dvh - max(8px,var(--chicona-safe-top)))!important;
}
body.chicona-app-mode #filtersPanel .modal-foot,
body.chicona-app-mode #sortPanel .modal-foot{
  padding-bottom:calc(14px + max(env(safe-area-inset-bottom),10px))!important;
}
@media (prefers-reduced-motion:reduce){
  #openFilters.chip-btn,#openSort.chip-btn,#sortPanel label.inline-flex{transition:none!important;}
  body.chicona-app-mode .chicona-native-bottom-nav{transition:none!important;}
}
/* Bounded reference options: controls appear only for partial/error/search views. */
.catalog-lookup-help{margin-top:.4rem;min-width:0;}
.catalog-lookup-help[hidden]{display:none!important;}
.catalog-lookup-help [role="status"]{font-size:.8rem;line-height:1.5;color:#4b5563;margin:.35rem 0;}
.catalog-lookup-tools{display:flex;flex-wrap:wrap;gap:.4rem;align-items:center;}
.catalog-lookup-tools input[type="search"]{flex:1 1 10rem;min-width:0;width:100%;}
.catalog-lookup-tools .chip-btn{flex:0 0 auto;white-space:normal;}

