/* ==========================================================================
   Bee1 Cart & Checkout — mini-cart drawer. No jQuery. Themeable via --bee1cc-*.
   Text colours use !important so a host theme can't wash them out (the
   roberto #f7f7f7 override bug). Buttons + text are independently controllable.
   ========================================================================== */
.bee1cc-minicart, .bee1cc-minicart *{ box-sizing:border-box; font-family:var(--bee1cc-font, inherit); }
.bee1cc-minicart{ position:fixed; inset:0; pointer-events:none; overflow:hidden; z-index:99998; }
.bee1cc-minicart.is-open{ pointer-events:auto; }
.bee1cc-minicart__panel, .bee1cc-minicart__backdrop{ pointer-events:auto; }

.bee1cc-minicart__backdrop{
  position:absolute; inset:0; background:rgba(20,16,40,.45);
  opacity:0; visibility:hidden; transition:opacity .22s ease; z-index:1;
}
.bee1cc-minicart__panel{
  position:absolute; top:0; inset-inline-start:0; height:100%; width:390px; max-width:92vw; z-index:99999;
  background:#fff; display:flex; flex-direction:column;
  transform:translateX(-104%); transition:transform .26s cubic-bezier(.4,0,.2,1);
  box-shadow:0 0 40px rgba(20,16,40,.22);
  border-start-end-radius:var(--bee1cc-radius,8px); border-end-end-radius:var(--bee1cc-radius,8px);
}
html[dir="rtl"] .bee1cc-minicart__panel{ inset-inline-start:auto; inset-inline-end:0; transform:translateX(104%); }
.bee1cc-minicart:not(.is-open) .bee1cc-minicart__panel{ visibility:hidden; }
.bee1cc-minicart.is-open .bee1cc-minicart__panel{ visibility:visible; transform:translateX(0); }
.bee1cc-minicart.is-open .bee1cc-minicart__backdrop{ opacity:1; visibility:visible; }

.bee1cc-minicart__head{
  display:flex; align-items:center; justify-content:space-between;
  padding:16px 18px; border-bottom:1px solid var(--bee1cc-border,#e2e8f0);
}
.bee1cc-minicart__head h3{ margin:0; font-size:18px; font-weight:800;
  color:var(--bee1cc-heading,#1c1733)!important; font-family:var(--bee1cc-font-heading, var(--bee1cc-font, inherit)); }
.bee1cc-minicart__close{
  border:0; background:#f1eef9; color:var(--bee1cc-heading,#1c1733)!important;
  width:34px; height:34px; border-radius:50%; cursor:pointer; font-size:20px; line-height:1;
}
.bee1cc-minicart__body{ flex:1 1 auto; overflow-y:auto; padding:10px 18px; }
.bee1cc-minicart__empty{ text-align:center; color:var(--bee1cc-text,#1c1733)!important; opacity:.7; padding:48px 12px; }

.bee1cc-item{ display:flex; gap:12px; padding:14px 0; border-bottom:1px solid var(--bee1cc-border,#eee); }
.bee1cc-item__img{ width:66px; height:66px; flex:0 0 66px; border-radius:var(--bee1cc-radius,8px); object-fit:cover; background:#f6f4fb; }
.bee1cc-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; }
.bee1cc-item__main{ flex:1 1 auto; min-width:0; }
.bee1cc-minicart .bee1cc-item__name{ font-size:13.5px; font-weight:600; color:var(--bee1cc-text,#1c1733)!important; margin:0 0 6px;
  display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden; line-height:1.4; }
.bee1cc-item__row{ display:flex; align-items:center; justify-content:space-between; gap:8px; }
.bee1cc-minicart .bee1cc-item__price{ font-weight:800; color:var(--bee1cc-text,#1c1733)!important; font-size:14px; white-space:nowrap; }

.bee1cc-qty{ display:inline-flex; align-items:center; border:1px solid var(--bee1cc-border,#e2e8f0);
  border-radius:var(--bee1cc-radius,8px); overflow:hidden; }
.bee1cc-qty button{
  width:30px; height:30px; border:0; background:#fff; cursor:pointer; font-size:18px;
  color:var(--bee1cc-accent,#7d45ee)!important; border-radius:0!important; display:flex; align-items:center; justify-content:center;
}
.bee1cc-qty button:hover{ background:#f1eef9; }
.bee1cc-qty input{ width:38px; height:30px; text-align:center; border:0; border-inline:1px solid var(--bee1cc-border,#e2e8f0);
  font-size:14px; font-weight:700; color:var(--bee1cc-text,#1c1733)!important; -moz-appearance:textfield; background:#fff; }
.bee1cc-qty input::-webkit-outer-spin-button,.bee1cc-qty input::-webkit-inner-spin-button{ -webkit-appearance:none; margin:0; }
.bee1cc-minicart .bee1cc-item__remove{ border:0; background:none; color:var(--bee1cc-text,#1c1733)!important; opacity:.6; cursor:pointer; font-size:12.5px; text-decoration:underline; padding:0; }
.bee1cc-minicart .bee1cc-item__remove:hover{ opacity:1; }

/* before-you-go upsell (drawer) */
.bee1cc-minicart__upsell{ padding:14px 18px; border-top:1px solid var(--bee1cc-border,#e2e8f0); background:#fafafd; }
.bee1cc-upsell__title{ margin:0 0 10px; font-size:13px; font-weight:800; color:var(--bee1cc-heading,#1c1733)!important; }
.bee1cc-upsell__row{ display:flex; gap:10px; overflow-x:auto; padding-bottom:4px; }
.bee1cc-upsell__card{ flex:0 0 96px; width:96px; text-decoration:none!important; color:var(--bee1cc-text,#1c1733)!important; }
.bee1cc-upsell__card img{ width:96px; height:96px; object-fit:cover; border-radius:var(--bee1cc-radius,8px); background:#f6f4fb; display:block; }
.bee1cc-upsell__name{ display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden; font-size:11px; line-height:1.3; margin:5px 0 2px; color:var(--bee1cc-text,#1c1733)!important; }
.bee1cc-upsell__price{ font-size:12px; font-weight:800; color:var(--bee1cc-text,#1c1733)!important; }

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

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