/* ===== src/assets/css/cart-page.css ===== */

/* ===== assets/css/cart-page.css ===== */
/* ===== cart.html inline style 1 ===== */
:root{ --gold:#C89B3C; --white:#fff; --black:#111827; --line:#e5e7eb; --card:#ffffff; --muted:#6b7280; }
    #site-nav{ position:sticky; top:0; z-index:var(--z-nav,1000); background:rgba(255,255,255,.82); border-bottom:1px solid #eee; }
    html,body{ height:100%; }
    body{ background: linear-gradient(180deg,#f7fafc,#fff); -webkit-font-smoothing:antialiased; color:var(--black); }
    .container-xl{ max-width:1100px; margin:0 auto; padding:1rem; }
    .shadow-soft{ box-shadow:0 10px 30px rgba(16,24,40,.06); border-radius:.75rem; }
    .cart-card{ border-radius:1rem; overflow:hidden; border:0px solid #eef2f7; background:linear-gradient(180deg,var(--card),#fbfdff); box-shadow:1px 8px 28px rgba(0,0,0,.04); }
    td, th{ vertical-align:middle; }
    .cart-row-mobile{ display:block; }
    @media (min-width:768px){ .cart-row-mobile{ display:none; } }
    .cart-table-desktop{ display:block; }
    @media (max-width:1199px){
      .cart-table-desktop{ display:none ; }
      .cart-row-mobile{ display:block ; }
      .sticky-summary{ position:static; margin-top:1rem; background-color: white; }
    }
    @media (min-width:1200px){
      .cart-table-desktop{ display:block ; }
      .cart-row-mobile{ display:none ; }
      .sticky-summary{ position:sticky; top:1rem; }
    }
    .mobile-checkout{
      position:fixed; bottom:0; left:0; right:0; z-index:var(--z-sticky,800);
      display:flex; gap:.5rem; align-items:center; justify-content:space-between;
      padding:.6rem 1rem; background:linear-gradient(90deg,var(--card),#fafafa);
      border-top:0px solid #eef2f7; box-shadow:0 -8px 30px rgba(0,0,0,.06);
    }
    @media(min-width:768px){ .mobile-checkout{ display:none; } }
    .sticky-summary{ position:sticky; top:1rem; border-radius:1rem; background-color: white;}
    .btn{ border:1px solid #e5e7eb; padding:.65rem 1rem; border-radius:.75rem; background:#fff; color:var(--black); cursor:pointer; transition:transform .15s, box-shadow .15s, border-color .15s, background .15s; font-size:0.95rem; }
    .btn:hover{ transform:translateY(-1px); box-shadow:0 6px 18px rgba(0,0,0,.06); }
    .btn-primary{ background:var(--black); color:#fff; border-color:var(--black); box-shadow:0 8px 24px rgba(0,0,0,.12); display:inline-flex; align-items:center; justify-content:center; padding:.65rem 1rem; border-radius:.75rem; }
    .btn-primary:hover{ filter:brightness(1.05); }
    .btn-ghost{ background:#fff; border:1px solid #e5e7eb; }
    .qty-btn{ width:44px; height:44px; border:1px solid #e5e7eb; border-radius:.75rem; display:inline-flex; align-items:center; justify-content:center; font-weight:700; cursor:pointer; background:#fff; }
    .qty-input{ width:70px; height:44px; text-align:center; border:1px solid #e5e7eb; border-radius:.75rem; }
    @media (max-width:420px){
      .btn, .btn-primary { padding:.85rem 1rem; font-size:1rem; border-radius:1rem; }
      .qty-btn, .qty-input{ min-width:48px; height:48px; border-radius:1rem; }
      .prod-img{ width:86px; height:86px; }
    }
    .empty-illustration{ width:140px; height:140px; border-radius:20px; background:linear-gradient(145deg,#f3f8f9,#fff); display:flex; align-items:center; justify-content:center; margin:0 auto 1rem; border:1px solid #eef6f6; font-size:48px; }
    .muted{ color:var(--muted); }
    .pill{ background:#f3f4f6; padding:.2rem .5rem; border-radius:9999px; font-size:.85rem; }
    #cartLoader{ position:fixed; inset:0; display:none; align-items:center; justify-content:center; z-index:var(--z-loader,4000); background:rgba(255,255,255,.55); backdrop-filter: blur(3px); }
    #cartLoader.active{ display:flex; }
    .spinner{ width:64px; height:64px; border-radius:9999px; display:flex; align-items:center; justify-content:center; border:6px solid rgba(0,0,0,0.06); border-top-color:var(--gold); animation:spin 900ms linear infinite; box-shadow:0 8px 32px rgba(14,20,24,.06); }
    @keyframes spin{ to{ transform:rotate(360deg); } }
    .prod-img{ width:72px; height:72px; object-fit:cover; border-radius:.5rem; border:1px solid #eef6f6; background:#fff; flex-shrink:0; }
    @media(min-width:768px){ .prod-img{ width:64px; height:64px; } }
    .break-ellipsis{ overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
    thead th{ background:transparent; color:var(--muted); border-bottom:1px solid #f1f5f9; }
    .cart-row:hover{ background: linear-gradient(90deg,#ffffff,#fbfeff); }
    .variant-badge{ display:inline-block; padding:.18rem .5rem; border-radius:999px; background:linear-gradient(90deg,#fff7e5,#fff); color:#7a5a10; font-size:.82rem; margin-left:.4rem; border:1px solid #f5e8c7; }
    .price-old{ color:#9aa3ad; text-decoration:line-through; font-size:.9rem; margin-left:.4rem; }
    .summary-total{ font-size:1.6rem; font-weight:800; color:var(--black); }
    .summary-sub{ color:var(--muted); font-size:.95rem; }
    #pagination .page-btn, #pagination .page-num { border:1px solid #e5e7eb; background:#fff; padding:.45rem .7rem; border-radius:.6rem; cursor:pointer; margin-right:.25rem; transition:all .15s; }
    #pagination .page-btn:hover, #pagination .page-num:hover{ transform:translateY(-1px); box-shadow:0 6px 18px rgba(0,0,0,.06); }
    #pagination .is-current{ background:var(--black); color:#fff; border-color:var(--black); }
    @media (min-width:1200px) { .prod-img { width:72px; height:72px; } }
    .cart-table-desktop table { width:100%; border-collapse:collapse; }
    .cart-table-desktop td, .cart-table-desktop th { padding:.85rem  .75rem; }
    @media (max-width:1280px){
      .cart-table-desktop td h3{ font-size:0.98rem; }
      .cart-table-desktop td .muted{ font-size:0.88rem; }
    }
    .cart-table-desktop td:nth-child(2), .cart-table-desktop td:nth-child(3), .cart-table-desktop td:nth-child(4){ white-space:nowrap; width:1%; }
    button:focus, input:focus { outline:2px solid rgba(231,177,0,0.25); outline-offset:3px; }
    .cart-row-mobile { width:100%; box-sizing:border-box; background:transparent; border-radius:.6rem; border:#eee; }
    .cart-row-mobile .prod-img { width:86px; height:86px; }
    .cart-row-mobile h3 { font-size:1rem; line-height:1.2; }
    .promo-note { font-size:.85rem; color:#065f46; background:#ecfdf5; border:1px solid #a7f3d0; padding:.15rem .45rem; border-radius:.5rem; display:inline-block; }
    .promo-badge { font-size:.78rem; color:#1f2937; background:#f3f4f6; border:1px solid #e5e7eb; padding:.08rem .45rem; border-radius:.5rem; display:inline-block; }
    .opt-badge { font-size:.78rem; color:#374151; background:#f9fafb; border:1px solid #e5e7eb; padding:.08rem .45rem; border-radius:.5rem; display:inline-block; }
    /* NEW small styles */
    .addr-line{ font-size:.85rem; color:#374151; }
    .addr-manage{ font-size:.85rem; text-decoration:underline; }


/* ===== Cart final component styles ===== */
/* Chicona cart final cleanup: scoped layout only for cart.html */
body[data-page-name="cart"]{
  --cart-border: rgba(17,24,39,.09);
  --cart-soft: rgba(15,23,42,.055);
  --cart-gold: var(--gold,#C89B3C);
  background: linear-gradient(180deg,#fafafa,#fff 42%);
}
body[data-page-name="cart"] main{
  max-width:1180px;
  padding-top:22px;
}
body[data-page-name="cart"] .grid.lg\:grid-cols-3{
  align-items:start;
}
body[data-page-name="cart"] section.lg\:col-span-2>div.border,
body[data-page-name="cart"] #summaryCard{
  border:1px solid var(--cart-border);
  border-radius:22px;
  background:#fff;
  box-shadow:0 14px 36px var(--cart-soft);
  overflow:hidden;
}
body[data-page-name="cart"] section.lg\:col-span-2>div.border{
  padding:0;
}
body[data-page-name="cart"] #summaryCard{
  padding:18px;
  overflow:visible;
}
body[data-page-name="cart"] #summaryCard :is(.font-bold,.font-semibold){
  font-weight:650;
}
body[data-page-name="cart"] .summary-total{
  font-size:1.55rem;
  font-weight:700;
}
body[data-page-name="cart"] .summary-sub,
body[data-page-name="cart"] .muted{
  color:#6b7280;
}
body[data-page-name="cart"] .addr-line{
  color:#4b5563;
  font-size:.86rem;
  line-height:1.55;
}
body[data-page-name="cart"] .addr-manage{
  color:#374151;
  font-size:.86rem;
  text-decoration:underline;
  text-underline-offset:3px;
}

/* Desktop/tablet table */
body[data-page-name="cart"] .cart-table-desktop{
  width:100%;
}
body[data-page-name="cart"] .cart-table-desktop table{
  width:100%;
  border-collapse:collapse;
  table-layout:auto;
}
body[data-page-name="cart"] .cart-table-desktop th{
  background:#fafafa;
  color:#6b7280;
  border-bottom:1px solid #f1f5f9;
  font-weight:600;
  white-space:nowrap;
}
body[data-page-name="cart"] .cart-table-desktop td{
  vertical-align:middle;
}
body[data-page-name="cart"] .cart-table-desktop td:nth-child(1){
  min-width:310px;
}
body[data-page-name="cart"] .cart-table-desktop td:nth-child(2),
body[data-page-name="cart"] .cart-table-desktop td:nth-child(3),
body[data-page-name="cart"] .cart-table-desktop td:nth-child(4){
  width:1%;
  white-space:nowrap;
}
body[data-page-name="cart"] .cart-row{
  background:#fff;
  transition:background .15s ease;
}
body[data-page-name="cart"] .cart-row:hover{
  background:#fffdf8;
}
body[data-page-name="cart"] .prod-img,
body[data-page-name="cart"] .cart-item-image{
  width:74px;
  height:74px;
  object-fit:cover;
  border-radius:15px;
  border:1px solid rgba(17,24,39,.08);
  background:#f8fafc;
  flex:0 0 auto;
}
body[data-page-name="cart"] .break-ellipsis,
body[data-page-name="cart"] .cart-item-title{
  white-space:normal;
  display:-webkit-box;
  -webkit-line-clamp:2;
  line-clamp:2;
  -webkit-box-orient:vertical;
  overflow:hidden;
  line-height:1.36;
}
body[data-page-name="cart"] .cart-item-title{
  color:#111827;
  font-size:.96rem;
  font-weight:600;
  margin:0;
}
body[data-page-name="cart"] .opt-badge,
body[data-page-name="cart"] .variant-badge{
  display:inline-flex;
  align-items:center;
  max-width:100%;
  font-size:.78rem;
  line-height:1.35;
  font-weight:500;
  border-radius:999px;
  background:#f9fafb;
  border:1px solid #e5e7eb;
  color:#374151;
  padding:.16rem .52rem;
  margin:0;
}
body[data-page-name="cart"] .promo-note{
  display:inline-flex;
  max-width:100%;
  white-space:normal;
  font-size:.78rem;
  line-height:1.45;
  color:#047857;
  background:#ecfdf5;
  border:1px solid #a7f3d0;
  padding:.2rem .5rem;
  border-radius:.65rem;
}

/* Quantity and action controls */
body[data-page-name="cart"] .cart-stock-feedback{
  position:fixed;
  inset-inline:16px;
  margin-inline:auto;
  width:fit-content;
  max-width:min(480px,calc(100% - 32px));
  z-index:1100;
  display:flex;
  align-items:center;
  gap:12px;
  padding:14px 16px;
  border:1px solid #d6c29b;
  border-radius:16px;
  background:#fffaf0;
  color:#51412a;
  box-shadow:0 10px 36px rgba(45,35,20,.15);
  font-size:.875rem;
  line-height:1.65;
  text-align:start;
}
body[data-page-name="cart"] .cart-stock-feedback[hidden]{display:none;}
body[data-page-name="cart"] .cart-stock-feedback span{min-width:0;overflow-wrap:anywhere;}
body[data-page-name="cart"] .cart-stock-feedback button{
  flex:0 0 36px;
  width:36px;
  height:36px;
  padding:0;
  border:1px solid #dfd1b8;
  border-radius:10px;
  background:#fff;
  color:inherit;
  font-size:1.25rem;
  cursor:pointer;
}
body[data-page-name="cart"] button,
body[data-page-name="cart"] input,
body[data-page-name="cart"] a.btn-primary,
body[data-page-name="cart"] .btn{
  touch-action:manipulation;
}
body[data-page-name="cart"] .cart-item-qty{
  display:inline-grid;
  grid-template-columns:44px 54px 44px;
  align-items:center;
  gap:8px;
  width:max-content;
  max-width:100%;
}
body[data-page-name="cart"] .cart-qty-btn,
body[data-page-name="cart"] button[data-act="inc"],
body[data-page-name="cart"] button[data-act="dec"]{
  width:44px;
  height:44px;
  min-width:44px;
  padding:0;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  border:1px solid rgba(17,24,39,.13);
  border-radius:13px;
  background:#fff;
  color:#111827;
  font-size:1.14rem;
  font-weight:700;
  line-height:1;
  box-shadow:0 3px 10px rgba(15,23,42,.035);
}
body[data-page-name="cart"] .cart-qty-btn:hover,
body[data-page-name="cart"] button[data-act="inc"]:hover,
body[data-page-name="cart"] button[data-act="dec"]:hover{
  border-color:var(--cart-gold);
  background:#fff8e8;
}
body[data-page-name="cart"] input.cart-qty-input,
body[data-page-name="cart"] input[data-role="qty"]{
  width:54px;
  height:44px;
  min-width:0;
  border:1px solid rgba(17,24,39,.13);
  border-radius:13px;
  text-align:center;
  background:#fff;
  font-weight:650;
  color:#111827;
  padding-inline:4px!important;
  appearance:textfield;
}
body[data-page-name="cart"] input.cart-qty-input::-webkit-inner-spin-button,
body[data-page-name="cart"] input.cart-qty-input::-webkit-outer-spin-button{
  -webkit-appearance:none;
  margin:0;
}
body[data-page-name="cart"] .cart-remove-btn,
body[data-page-name="cart"] button[data-act="remove"]{
  min-height:38px;
  border:1px solid transparent;
  background:#fff;
  color:#dc2626;
  font-weight:600;
  padding:.45rem .7rem;
  border-radius:12px;
  white-space:nowrap;
}
body[data-page-name="cart"] .cart-remove-btn:hover,
body[data-page-name="cart"] button[data-act="remove"]:hover{
  background:#fef2f2;
  border-color:#fee2e2;
}
body[data-page-name="cart"] .is-tapped{
  transform:scale(.98);
}

/* Checkout / summary actions */
body[data-page-name="cart"] #checkoutBtn,
body[data-page-name="cart"] #checkoutBtnMobile{
  min-height:46px;
  border-radius:15px;
  font-weight:700;
  background:#111827;
  color:#fff;
  border:1px solid #111827;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  text-decoration:none;
  box-shadow:0 10px 24px rgba(15,23,42,.16);
}
body[data-page-name="cart"] #clearBtn{
  min-height:46px;
  border-radius:15px;
  font-weight:600;
  border:1px solid #e5e7eb;
  background:#fff;
  color:#4b5563;
  box-shadow:none;
  white-space:nowrap;
}
body[data-page-name="cart"] #clearBtn:hover{
  border-color:#fecaca;
  background:#fef2f2;
  color:#dc2626;
}
body[data-page-name="cart"] #pagination{
  display:flex;
  flex-wrap:wrap;
  gap:7px;
}
body[data-page-name="cart"] #pagination :is(.page-btn,.page-num){
  margin:0;
  border-radius:12px;
  font-weight:600;
  min-height:38px;
}
body[data-page-name="cart"] #cartLoader{
  z-index:var(--z-modal-overlay,2000);
}

@media (max-width:1199px){
  body[data-page-name="cart"]{
    padding-bottom:96px;
  }
  body[data-page-name="cart"] main{
    padding-inline:12px;
    padding-top:18px;
  }
  body[data-page-name="cart"] .cart-table-desktop{
    display:none;
  }
  body[data-page-name="cart"] #cartItemsMobile{
    display:grid;
    grid-template-columns:1fr;
    gap:10px;
    padding:10px;
  }
  body[data-page-name="cart"] .sticky-summary{
    position:static;
    margin-top:0;
  }
  body[data-page-name="cart"] .grid.lg\:grid-cols-3{
    gap:14px;
  }
  body[data-page-name="cart"] .cart-row-mobile,
  body[data-page-name="cart"] .cart-item-card{
    display:grid;
    grid-template-columns:84px minmax(0,1fr);
    width:100%;
    max-width:100%;
    box-sizing:border-box;
    background:#fff;
    border:1px solid rgba(17,24,39,.085);
    border-radius:19px;
    padding:12px;
    gap:12px;
    align-items:start;
    overflow:hidden;
    box-shadow:0 8px 22px rgba(15,23,42,.04);
  }
  body[data-page-name="cart"] .cart-row-mobile+.cart-row-mobile{
    margin-top:0;
  }
  body[data-page-name="cart"] .cart-row-mobile .prod-img,
  body[data-page-name="cart"] .cart-item-image{
    width:84px;
    height:84px;
    border-radius:15px;
  }
  body[data-page-name="cart"] .cart-item-main{
    min-width:0;
    width:100%;
    display:block;
  }
  body[data-page-name="cart"] .cart-item-head{
    display:grid;
    grid-template-columns:minmax(0,1fr) auto;
    gap:8px;
    align-items:start;
  }
  body[data-page-name="cart"] .cart-item-info{
    min-width:0;
  }
  body[data-page-name="cart"] .cart-item-title{
    font-size:.92rem;
  }
  body[data-page-name="cart"] .cart-item-unit-price{
    color:#111827;
    font-size:.88rem;
    font-weight:700;
    line-height:1.25;
    white-space:nowrap;
    padding-top:1px;
  }
  body[data-page-name="cart"] .cart-item-line-total{
    margin-top:7px;
    color:#6b7280;
    font-size:.84rem;
    line-height:1.45;
  }
  body[data-page-name="cart"] .cart-item-line-total .font-semibold{
    color:#111827;
    font-weight:700;
  }
  body[data-page-name="cart"] .cart-item-controls{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:10px;
    flex-wrap:wrap;
    margin-top:11px;
    max-width:100%;
  }
  body[data-page-name="cart"] .cart-item-remove-wrap{
    flex:0 0 auto;
  }
  body[data-page-name="cart"] #summaryCard{
    border-radius:19px;
    padding:15px;
  }
  body[data-page-name="cart"] #summaryCard .mt-4.flex{
    flex-direction:column;
    align-items:stretch;
  }
  body[data-page-name="cart"] #checkoutBtn,
  body[data-page-name="cart"] #clearBtn{
    width:100%;
  }
  body[data-page-name="cart"] .mobile-checkout{
    display:flex!important;
    position:fixed;
    left:0;
    right:0;
    bottom:0;
    z-index:var(--z-sticky,800);
    background:rgba(255,255,255,.97);
    border-top:1px solid rgba(17,24,39,.09);
    box-shadow:0 -12px 32px rgba(15,23,42,.12);
    padding:10px 12px max(10px,env(safe-area-inset-bottom));
    gap:10px;
    align-items:center;
    justify-content:space-between;
  }
  body[data-page-name="cart"] .mobile-checkout>div{
    min-width:0;
  }
  body[data-page-name="cart"] .mobile-checkout>:first-child{
    flex:1 1 0;
    flex-direction:column;
    align-items:flex-start!important;
    gap:2px!important;
  }
  body[data-page-name="cart"] .mobile-checkout>:last-child{
    flex:0 0 auto;
  }
  body[data-page-name="cart"] #subtotalMobile{
    overflow:hidden;
    text-overflow:ellipsis;
    white-space:nowrap;
    max-width:48vw;
  }
  body[data-page-name="cart"] #checkoutBtnMobile{
    min-width:128px;
    padding-inline:16px;
    white-space:nowrap;
  }
}

body[data-page-name="cart"] .mobile-checkout.hidden,
body[data-page-name="cart"] .mobile-checkout[hidden]{
  display:none!important;
}

@media (min-width:1200px){
  body[data-page-name="cart"] #cartItemsMobile{
    display:none;
  }
  body[data-page-name="cart"] .cart-table-desktop{
    display:block;
  }
  body[data-page-name="cart"] .mobile-checkout{
    display:none;
  }
  body[data-page-name="cart"] .sticky-summary{
    position:sticky;
    top:86px;
  }
}

@media (min-width:640px) and (max-width:1199px){
  body[data-page-name="cart"] .cart-row-mobile,
  body[data-page-name="cart"] .cart-item-card{
    grid-template-columns:96px minmax(0,1fr);
    padding:14px;
    gap:14px;
  }
  body[data-page-name="cart"] .cart-row-mobile .prod-img,
  body[data-page-name="cart"] .cart-item-image{
    width:96px;
    height:96px;
  }
  body[data-page-name="cart"] .cart-item-title{
    font-size:1rem;
  }
}

@media (max-width:389px){
  body[data-page-name="cart"]{
    padding-bottom:102px;
  }
  body[data-page-name="cart"] main{
    padding-inline:8px;
  }
  body[data-page-name="cart"] #cartItemsMobile{
    padding:8px;
    gap:9px;
  }
  body[data-page-name="cart"] .cart-row-mobile,
  body[data-page-name="cart"] .cart-item-card{
    grid-template-columns:68px minmax(0,1fr);
    gap:9px;
    padding:10px;
    border-radius:17px;
  }
  body[data-page-name="cart"] .cart-row-mobile .prod-img,
  body[data-page-name="cart"] .cart-item-image{
    width:68px;
    height:68px;
    border-radius:13px;
  }
  body[data-page-name="cart"] .cart-item-head{
    grid-template-columns:1fr;
    gap:5px;
  }
  body[data-page-name="cart"] .cart-item-unit-price{
    justify-self:start;
    white-space:normal;
    font-size:.84rem;
  }
  body[data-page-name="cart"] .cart-item-title{
    font-size:.88rem;
    -webkit-line-clamp:2;
  }
  body[data-page-name="cart"] .opt-badge,
  body[data-page-name="cart"] .variant-badge{
    font-size:.72rem;
    padding:.12rem .42rem;
  }
  body[data-page-name="cart"] .cart-item-line-total{
    font-size:.8rem;
    margin-top:6px;
  }
  body[data-page-name="cart"] .cart-item-controls{
    gap:7px;
    margin-top:9px;
  }
  body[data-page-name="cart"] .cart-item-qty{
    grid-template-columns:repeat(3,44px);
  }
  body[data-page-name="cart"] .cart-qty-input,
  body[data-page-name="cart"] input[data-role="qty"]{
    width:44px;
    height:44px;
  }
  body[data-page-name="cart"] .cart-remove-btn,
  body[data-page-name="cart"] button[data-act="remove"]{
    min-height:36px;
    padding:.35rem .54rem;
    font-size:.84rem;
  }
  body[data-page-name="cart"] #summaryCard{
    padding:13px;
    border-radius:17px;
  }
  body[data-page-name="cart"] .mobile-checkout{
    padding:9px 10px max(9px,env(safe-area-inset-bottom));
    gap:8px;
  }
  body[data-page-name="cart"] #mobileTotalLabel{
    font-size:.78rem;
  }
  body[data-page-name="cart"] #subtotalMobile{
    font-size:.95rem;
    max-width:43vw;
  }
  body[data-page-name="cart"] #checkoutBtnMobile{
    min-width:108px;
    min-height:42px;
    padding-inline:11px;
    border-radius:13px;
    font-size:.9rem;
  }
}

@media (max-width:340px){
  body[data-page-name="cart"] .cart-row-mobile,
  body[data-page-name="cart"] .cart-item-card{
    grid-template-columns:60px minmax(0,1fr);
    gap:8px;
    padding:9px;
  }
  body[data-page-name="cart"] .cart-row-mobile .prod-img,
  body[data-page-name="cart"] .cart-item-image{
    width:60px;
    height:60px;
  }
}


/* ===== 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;
  }
}

