/* NiKKi mini cart — slide-in drawer + floating cart tab (uses tokens from style.css) */

.nk-cart-tab{
  position:fixed;right:0;top:180px;z-index:10001;
  display:none;align-items:center;gap:10px;
  padding:12px 14px 12px 16px;
  background:var(--warm-white);color:var(--nikki-black);
  border:0;border-radius:0;cursor:pointer;
  box-shadow:2px 2px 15px rgba(0,0,0,.25);
  font:600 13px/1 "Inter","SF Pro Display",-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  letter-spacing:.04em;text-transform:uppercase;
  transition:background .2s ease,color .2s ease;
}
.nk-cart-tab.is-visible{display:inline-flex;}
.nk-cart-tab:hover{background:var(--clay);color:var(--warm-white);}
.nk-cart-tab:focus-visible,.nk-cart-close:focus-visible,.nk-cart-btn:focus-visible,
.nk-cart-qty button:focus-visible,.nk-cart-remove:focus-visible{outline:2px solid var(--sage);outline-offset:2px;}
.nk-cart-tab svg{width:18px;height:18px;display:block;}
.nk-cart-count{
  min-width:20px;height:20px;padding:0 6px;border-radius:10px;
  background:var(--clay);color:var(--warm-white);
  display:inline-flex;align-items:center;justify-content:center;font-size:11px;letter-spacing:0;
}
.nk-cart-tab:hover .nk-cart-count{background:var(--nikki-black);}

.nk-cart-overlay{
  position:fixed;inset:0;z-index:10002;
  background:rgba(8,8,9,.6);
  opacity:0;visibility:hidden;
  transition:opacity .3s ease,visibility 0s linear .3s;
}
.nk-cart-overlay.is-open{opacity:1;visibility:visible;transition:opacity .3s ease;}

.nk-cart{
  position:fixed;top:0;right:0;bottom:0;z-index:10003;
  width:min(440px,100vw);
  display:flex;flex-direction:column;
  background:var(--panel);color:var(--text);
  border-left:1px solid var(--line);
  box-shadow:-20px 0 60px rgba(0,0,0,.45);
  transform:translateX(100%);visibility:hidden;
  transition:transform .4s cubic-bezier(.22,.8,.24,1),visibility 0s linear .4s;
  overscroll-behavior:contain;
  font-family:"Inter","SF Pro Display",-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
}
.nk-cart.is-open{transform:none;visibility:visible;transition:transform .4s cubic-bezier(.22,.8,.24,1);}

.nk-cart-head{
  display:flex;align-items:center;justify-content:space-between;
  padding:22px 24px;border-bottom:1px solid var(--line);
}
.nk-cart-head h2{font-size:18px;font-weight:600;letter-spacing:-.01em;}
.nk-cart-close{
  width:36px;height:36px;display:inline-flex;align-items:center;justify-content:center;
  background:transparent;color:var(--text);border:1px solid var(--line);cursor:pointer;
  transition:background .2s ease,border-color .2s ease;
}
.nk-cart-close:hover{background:var(--panel-2);border-color:var(--muted);}
.nk-cart-close svg{width:14px;height:14px;}

.nk-cart-body{flex:1;overflow-y:auto;padding:8px 24px;overscroll-behavior:contain;}
.nk-cart-empty{padding:48px 0;text-align:center;color:var(--muted);font-size:15px;line-height:1.5;}

.nk-cart-item{display:grid;grid-template-columns:72px 1fr auto;gap:16px;padding:18px 0;border-bottom:1px solid var(--line);}
.nk-cart-item:last-child{border-bottom:0;}
.nk-cart-thumb{width:72px;height:72px;background:var(--panel-2);overflow:hidden;}
.nk-cart-thumb img{width:100%;height:100%;object-fit:cover;}
.nk-cart-info{min-width:0;}
.nk-cart-name{font-size:15px;font-weight:600;line-height:1.3;}
.nk-cart-sub{margin-top:4px;font-size:12.5px;line-height:1.4;color:var(--muted);}
.nk-cart-row{display:flex;align-items:center;gap:14px;margin-top:12px;}
.nk-cart-qty{display:inline-flex;align-items:center;border:1px solid var(--line);}
.nk-cart-qty button{width:30px;height:30px;background:transparent;color:var(--text);border:0;cursor:pointer;font-size:16px;line-height:1;}
.nk-cart-qty button:hover{background:var(--panel-2);}
.nk-cart-qty span{min-width:28px;text-align:center;font-size:13px;}
.nk-cart-remove{background:none;border:0;padding:0;color:var(--muted);font-size:12.5px;text-decoration:underline;text-underline-offset:3px;cursor:pointer;}
.nk-cart-remove:hover{color:var(--clay);}
.nk-cart-price{font-size:15px;font-weight:600;white-space:nowrap;}

.nk-cart-item.is-busy{opacity:.5;pointer-events:none;}

.nk-cart-foot{padding:20px 24px 24px;border-top:1px solid var(--line);background:var(--panel);}
.nk-cart-subtotal{display:flex;justify-content:space-between;align-items:baseline;font-size:15px;}
.nk-cart-subtotal strong{font-size:20px;font-weight:600;}
.nk-cart-note{margin:6px 0 18px;font-size:12.5px;color:var(--muted);}
.nk-cart-actions{display:grid;gap:10px;}
.nk-cart-btn{
  display:flex;align-items:center;justify-content:center;gap:10px;
  padding:16px 20px;text-decoration:none;cursor:pointer;
  font:600 13px/1 "Inter","SF Pro Display",-apple-system,sans-serif;letter-spacing:.08em;text-transform:uppercase;
  border:1px solid var(--line);color:var(--text);background:transparent;
  transition:background .2s ease,color .2s ease,border-color .2s ease;
}
.nk-cart-btn:hover{background:var(--panel-2);border-color:var(--muted);}
.nk-cart-btn-primary{background:var(--warm-white);color:var(--nikki-black);border-color:var(--warm-white);}
.nk-cart-btn-primary:hover{background:var(--clay);border-color:var(--clay);color:var(--warm-white);}

.nk-cart-loading{padding:64px 0;text-align:center;color:var(--muted);font-size:15px;}
.nk-cart-loading p{margin-top:16px;}
.nk-cart-spinner{display:inline-block;width:28px;height:28px;border:2px solid var(--line);border-top-color:var(--clay);border-radius:50%;animation:nk-spin .8s linear infinite;}
@keyframes nk-spin{to{transform:rotate(360deg);}}

/* add-to-cart button feedback */
[data-nikki-add].is-adding{opacity:.65;pointer-events:none;}

@media (max-width:520px){
  .nk-cart-tab{top:auto;bottom:90px;}
  .nk-cart-head,.nk-cart-foot{padding-left:18px;padding-right:18px;}
  .nk-cart-body{padding:4px 18px;}
}
@media (prefers-reduced-motion:reduce){
  .nk-cart,.nk-cart-overlay{transition:none;}
  .nk-cart-spinner{animation-duration:2s;}
}

/* The stacked hero headline slides (no links) sit above the hero CTAs and swallow mouse clicks.
   Let clicks pass through the link-less slides so the buttons are clickable. */
#hero-copy-2,#hero-copy-3,.hero-copy:not(:has(a)){pointer-events:none;}

/* optimistic / pending states */
.nk-cart-item.is-pending .nk-cart-thumb,.nk-cart-item.is-pending .nk-cart-info,.nk-cart-item.is-pending .nk-cart-price{opacity:.7;}
.nk-cart-item.is-pending .nk-cart-qty button,.nk-cart-item.is-pending .nk-cart-remove{cursor:default;}
.nk-cart-qty button:disabled,.nk-cart-remove:disabled{opacity:.4;cursor:default;}
.nk-cart-btn.is-disabled{opacity:.55;cursor:progress;pointer-events:none;}
.nk-cart-error{margin:14px 0 4px;padding:12px 14px;border:1px solid rgba(193,122,82,.5);background:rgba(193,122,82,.1);color:var(--text);font-size:13.5px;line-height:1.45;}
