/* ==========================================================================
   COSMETIXE — Vanilla minicart drawer (task 9). No jQuery. 8px radii.
   ========================================================================== */
.cx-minicart, .cx-minicart * { box-sizing: border-box; font-family:"Noto Sans Hebrew","Rubik",system-ui,sans-serif !important; }
.cx-minicart__backdrop{
  position:absolute; inset:0; background:rgba(41,22,78,.45);
  opacity:0; visibility:hidden; transition:opacity .22s ease; z-index:1;
}
.cx-minicart__panel{
  position:absolute; top:0; inset-inline-start:0; height:100%; width:380px; max-width:92vw; z-index:2;
  background:#fff; z-index:99999; display:flex; flex-direction:column;
  transform:translateX(-104%); transition:transform .26s cubic-bezier(.4,0,.2,1);
  box-shadow:0 0 40px rgba(41,22,78,.25);
  border-start-end-radius:var(--cx-radius,8px); border-end-end-radius:var(--cx-radius,8px);
  font-family:var(--cx-font-body,"Noto Sans Hebrew",sans-serif);
}
html[dir="rtl"] .cx-minicart__panel{ inset-inline-start:auto; inset-inline-end:0; transform:translateX(104%); }
/* closed panel fully inert so it can never push layout / cause mobile right-overflow */
.cx-minicart:not(.is-open) .cx-minicart__panel{ visibility:hidden; }
.cx-minicart.is-open .cx-minicart__panel{ visibility:visible; }
.cx-minicart.is-open .cx-minicart__backdrop{ opacity:1; visibility:visible; }
.cx-minicart.is-open .cx-minicart__panel{ transform:translateX(0); }
/* belt-and-braces: never allow the drawer to widen the page */
.cx-minicart{ position:fixed; inset:0; pointer-events:none; overflow:hidden; z-index:99998; }
.cx-minicart.is-open{ pointer-events:auto; }
.cx-minicart__panel, .cx-minicart__backdrop{ pointer-events:auto; }

.cx-minicart__head{
  display:flex; align-items:center; justify-content:space-between;
  padding:16px; border-bottom:1px solid var(--cx-border,#e2e8f0);
}
.cx-minicart__head h3{ margin:0; font-size:18px; font-weight:800; color:var(--cx-ink,#29164e); }
.cx-minicart__close{
  border:0; background:var(--cx-accent-soft,#f0e8ff); color:var(--cx-ink,#29164e);
  width:34px; height:34px; border-radius:50%; cursor:pointer; font-size:20px; line-height:1;
}
.cx-minicart__body{ flex:1 1 auto; overflow-y:auto; padding:8px 16px; }
.cx-minicart__empty{ text-align:center; color:var(--cx-muted,#6b6480); padding:48px 12px; }

.cx-mc-item{ display:flex; gap:12px; padding:12px 0; border-bottom:1px solid var(--cx-border,#e2e8f0); }
.cx-mc-item__img{ width:64px; height:64px; flex:0 0 64px; border-radius:var(--cx-radius,8px); object-fit:cover; background:#f6f4fb; }
.cx-mc-item__img--ph{ display:inline-block; background:#f0e8ff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' fill='none' stroke='%237d45ee' stroke-width='1.5'%3E%3Crect x='3' y='3' width='18' height='18' rx='2'/%3E%3Cpath d='M3 15l5-5 4 4 3-3 6 6'/%3E%3C/svg%3E") center/24px no-repeat; }
.cx-mc-item__main{ flex:1 1 auto; min-width:0; }
.cx-mc-item__name{ font-size:13px; font-weight:600; color:var(--cx-ink,#29164e); margin:0 0 6px;
  display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden; }
.cx-mc-item__row{ display:flex; align-items:center; justify-content:space-between; gap:8px; }
.cx-mc-item__price{ font-weight:800; color:var(--cx-ink,#29164e); font-size:14px; white-space:nowrap; }

/* qty stepper — 8px radius per spec */
.cx-qty{ display:inline-flex; align-items:center; border:1px solid var(--cx-border,#e2e8f0);
  border-radius:var(--cx-radius,8px); overflow:hidden; }
.cx-qty button{
  width:30px; height:30px; border:0; background:#fff; cursor:pointer; font-size:18px;
  color:var(--cx-accent,#7d45ee); border-radius:0 !important; display:flex; align-items:center; justify-content:center;
}
.cx-qty button:hover{ background:var(--cx-accent-soft,#f0e8ff); }
.cx-qty input{ width:38px; height:30px; text-align:center; border:0; border-inline:1px solid var(--cx-border,#e2e8f0);
  font-size:14px; font-weight:700; color:var(--cx-ink,#29164e); -moz-appearance:textfield; }
.cx-qty input::-webkit-outer-spin-button,.cx-qty input::-webkit-inner-spin-button{ -webkit-appearance:none; margin:0; }
.cx-mc-item__remove{ border:0; background:none; color:var(--cx-muted,#6b6480); cursor:pointer; font-size:13px; text-decoration:underline; padding:0; }

.cx-minicart__foot{ border-top:1px solid var(--cx-border,#e2e8f0); padding:16px; display:grid; gap:10px; }
.cx-minicart__subtotal{ display:flex; justify-content:space-between; font-size:16px; font-weight:800; color:var(--cx-ink,#29164e); }
.cx-minicart__btns{ display:grid; grid-template-columns:1fr 1fr; gap:10px; }
.cx-minicart__btn{ display:flex; align-items:center; justify-content:center; height:46px; border-radius:var(--cx-radius,8px);
  font-weight:700; font-size:15px; text-decoration:none; cursor:pointer; border:1px solid var(--cx-border,#e2e8f0); }
.cx-minicart .cx-minicart__checkout,
.cx-minicart a.cx-minicart__checkout:link,
.cx-minicart a.cx-minicart__checkout:visited{ background:var(--cx-accent,#7d45ee)!important; color:#fff!important; border-color:var(--cx-accent,#7d45ee)!important; grid-column:1 / -1; }
.cx-minicart .cx-minicart__checkout:hover{ background:var(--cx-primary,#3a0064)!important; border-color:var(--cx-primary,#3a0064)!important; color:#fff!important; }
.cx-minicart .cx-minicart__view,
.cx-minicart a.cx-minicart__view:link,
.cx-minicart a.cx-minicart__view:visited{ background:#fff!important; color:var(--cx-ink,#29164e)!important; }
.cx-minicart .cx-minicart__view:hover{ background:#faf8ff!important; color:var(--cx-primary,#3a0064)!important; }

/* free-shipping progress (E) */
.cx-mc-freeship{ background:#f0e8ff; border-radius:8px; padding:10px 12px; margin:6px 0 12px; font-size:13px; font-weight:700; color:#3a0064; text-align:center; }
.cx-mc-freeship.is-free{ background:#e8f9ee; color:#1c7a44; }
.cx-mc-freeship__bar{ height:6px; background:#fff; border-radius:999px; margin-top:8px; overflow:hidden; }
.cx-mc-freeship__bar i{ display:block; height:100%; background:var(--cx-accent,#7d45ee); border-radius:999px; transition:width .3s; }
.cx-minicart.is-loading .cx-minicart__body{ opacity:.5; pointer-events:none; }
