/* ==========================================
   ULTRAKIT MINI CART (WooCommerce)
   ========================================== */

html.ukmnc-lock { overflow: hidden !important; }
.ultrakit-mnc-outer { display: flex; width: 100%; }
.ultrakit-mnc-wrapper, .ultrakit-mnc-portal {
    --mnc-accent: #6c5ce7; --mnc-accent2: #a29bfe; --mnc-w: 400px;
    --mnc-bg: #ffffff; --mnc-text: #1a1a2e; --mnc-mute: #7a7a90; --mnc-line: #eeeef6; --mnc-soft: #f6f6fb;
    box-sizing: border-box; font-family: inherit;
}
.mnc-theme-dark { --mnc-bg: #171727; --mnc-text: #eeeef8; --mnc-mute: #9a9ab5; --mnc-line: rgba(255,255,255,0.1); --mnc-soft: rgba(255,255,255,0.06); }
.ultrakit-mnc-wrapper { position: relative; display: inline-block; }
.ultrakit-mnc-wrapper *, .ultrakit-mnc-portal *, .ultrakit-mnc-portal *::before, .ultrakit-mnc-wrapper *::before { box-sizing: border-box; }

/* ---------- Trigger ---------- */
.ultrakit-mnc-trigger { display: inline-flex; align-items: center; gap: 10px; padding: 0 !important; box-sizing: border-box; background: transparent; color: var(--mnc-text, #1a1a2e) !important; border: none; cursor: pointer; font-family: inherit; font-size: 14px; font-weight: 800; transition: transform 0.25s ease; }
.ultrakit-mnc-trigger:hover { transform: translateY(-2px); }
.ultrakit-mnc-icon { position: relative; display: inline-flex; align-items: center; justify-content: center; width: 50px; height: 50px; border-radius: 50%; background: linear-gradient(135deg, var(--mnc-accent), var(--mnc-accent2)); color: #ffffff; box-shadow: 0 10px 24px color-mix(in srgb, var(--mnc-accent) 34%, transparent); transition: box-shadow 0.25s ease; }
.ultrakit-mnc-icon .ukw-svg { width: 22px; height: 22px; }
.ultrakit-mnc-count { position: absolute; top: -6px; right: -6px; min-width: 22px; height: 22px; padding: 0 6px; display: flex; align-items: center; justify-content: center; background: #ff4d6d; color: #ffffff; border: 2px solid #ffffff; border-radius: 12px; font-size: 11.5px; font-weight: 800; line-height: 1; transition: transform 0.3s cubic-bezier(.3,1.6,.5,1); }
.ultrakit-mnc-count.is-zero { display: none; }
.ultrakit-mnc-total { font-weight: 800; }
.ultrakit-mnc-total .amount, .ultrakit-mnc-total bdi { font-weight: 800; }

.mnc-trigger-soft .ultrakit-mnc-icon { background: color-mix(in srgb, var(--mnc-accent) 13%, transparent); color: var(--mnc-accent); box-shadow: none; }
.mnc-trigger-outline .ultrakit-mnc-icon { background: transparent; color: var(--mnc-accent); box-shadow: inset 0 0 0 2.5px var(--mnc-accent); }
.mnc-trigger-plain .ultrakit-mnc-icon { background: transparent; color: var(--mnc-text, #1a1a2e); box-shadow: none; width: 38px; height: 38px; }
.mnc-trigger-pill .ultrakit-mnc-trigger { padding: 6px 22px 6px 6px !important; background: #ffffff; border-radius: 60px; box-shadow: 0 8px 26px rgba(20,20,50,0.12), inset 0 0 0 1.5px #ececf4; }

/* ---------- Panel ---------- */
.ultrakit-mnc-panel { display: flex; flex-direction: column; background: var(--mnc-bg); color: var(--mnc-text); border-radius: 20px; overflow: hidden; outline: none; }
.ultrakit-mnc-head { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 18px 22px; border-bottom: 1px solid var(--mnc-line); }
.ultrakit-mnc-title { margin: 0; font-size: 18px; font-weight: 800; color: var(--mnc-text); }
.ultrakit-mnc-title-n { font-weight: 600; color: var(--mnc-mute); font-size: 15px; }
.ultrakit-mnc-close { width: 38px; height: 38px; padding: 0 !important; box-sizing: border-box; display: flex; align-items: center; justify-content: center; background: var(--mnc-soft); color: var(--mnc-text) !important; border: none; border-radius: 50%; cursor: pointer; transition: transform 0.3s ease, background 0.25s ease; }
.ultrakit-mnc-close:hover { background: var(--mnc-accent); color: #ffffff !important; transform: rotate(90deg); }
.ultrakit-mnc-close .ukw-svg { width: 18px; height: 18px; }

/* free shipping */
.ultrakit-mnc-ship { display: none; padding: 14px 22px 4px; }
.ultrakit-mnc-ship.is-on { display: block; }
.ultrakit-mnc-ship-msg { margin-bottom: 8px; font-size: 13px; font-weight: 700; color: var(--mnc-text); }
.ultrakit-mnc-ship-bar { height: 8px; background: var(--mnc-soft); border-radius: 8px; overflow: hidden; }
.ultrakit-mnc-ship-bar span { display: block; height: 100%; width: 0; background: linear-gradient(90deg, var(--mnc-accent), var(--mnc-accent2)); border-radius: 8px; transition: width 0.5s cubic-bezier(.2,.8,.2,1); }
.ultrakit-mnc-ship.is-done .ultrakit-mnc-ship-bar span { background: linear-gradient(90deg, #00b894, #55efc4); }

/* items */
.ultrakit-mnc-body { flex: 1 1 auto; min-height: 90px; max-height: 420px; overflow-y: auto; padding: 8px 22px; }
.ultrakit-mnc-list { list-style: none; margin: 0; padding: 0; }
.ultrakit-mnc-item { position: relative; display: flex; gap: 14px; margin: 0; padding: 16px 0; border-bottom: 1px solid var(--mnc-line); animation: ukw-in 0.4s ease both; }
.ultrakit-mnc-item:last-child { border-bottom: 0; }
.ultrakit-mnc-thumb { flex: 0 0 70px; width: 70px; height: 70px; border-radius: 14px; overflow: hidden; background: var(--mnc-soft); }
.ultrakit-mnc-thumb img { width: 100%; height: 100%; object-fit: cover; display: block; }
.ultrakit-mnc-info { flex: 1; min-width: 0; display: flex; flex-direction: column; gap: 4px; padding-right: 30px; }
.ultrakit-mnc-name { font-size: 14.5px; font-weight: 800; line-height: 1.35; color: var(--mnc-text) !important; text-decoration: none !important; }
.ultrakit-mnc-name:hover { color: var(--mnc-accent) !important; }
.ultrakit-mnc-var { font-size: 12px; color: var(--mnc-mute); }
.ultrakit-mnc-row { display: flex; align-items: center; justify-content: space-between; gap: 10px; margin-top: 4px; }
.ultrakit-mnc-qtytxt { font-size: 13px; color: var(--mnc-mute); font-weight: 700; }
.ultrakit-mnc-line { font-size: 14.5px; font-weight: 800; color: var(--mnc-text); }
.ultrakit-mnc-qty { border-radius: 10px; background: var(--mnc-bg); border-color: var(--mnc-line); }
.ultrakit-mnc-qty button { width: 30px; height: 30px; font-size: 16px; color: var(--mnc-text) !important; }
.ultrakit-mnc-qty input { width: 34px; height: 30px; font-size: 13px; color: var(--mnc-text) !important; border-color: var(--mnc-line) !important; }
.ultrakit-mnc-remove { position: absolute; top: 14px; right: 0; width: 28px; height: 28px; padding: 0 !important; box-sizing: border-box; display: flex; align-items: center; justify-content: center; background: transparent; color: var(--mnc-mute) !important; border: none; border-radius: 50%; cursor: pointer; transition: all 0.25s ease; }
.ultrakit-mnc-remove:hover { background: #ffeceb; color: #e63946 !important; }
.ultrakit-mnc-remove .ukw-svg { width: 16px; height: 16px; }

.ultrakit-mnc-empty { display: none; padding: 34px 10px; text-align: center; }
.is-empty .ultrakit-mnc-empty { display: block; }
.is-empty .ultrakit-mnc-list { display: none; }
.ultrakit-mnc-empty-ic { display: inline-flex; align-items: center; justify-content: center; width: 74px; height: 74px; margin-bottom: 10px; border-radius: 50%; background: var(--mnc-soft); color: var(--mnc-accent); }
.ultrakit-mnc-empty-ic .ukw-svg { width: 34px; height: 34px; }
.ultrakit-mnc-empty p { margin: 0 0 12px; font-size: 15px; color: var(--mnc-mute); }
.ultrakit-mnc-shop { font-size: 14px; font-weight: 800; color: var(--mnc-accent) !important; text-decoration: none !important; }

.ultrakit-mnc-foot { padding: 16px 22px 22px; border-top: 1px solid var(--mnc-line); }
.is-empty .ultrakit-mnc-foot { display: none; }
.ultrakit-mnc-sub { display: flex; align-items: center; justify-content: space-between; margin-bottom: 14px; font-size: 15px; color: var(--mnc-mute); font-weight: 600; }
.ultrakit-mnc-sub strong { font-size: 20px; font-weight: 800; color: var(--mnc-text); }
.ultrakit-mnc-btns { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; }
.ultrakit-mnc-btn { display: flex; align-items: center; justify-content: center; padding: 13px 16px !important; border-radius: 12px; font-size: 14px; font-weight: 800; text-decoration: none !important; transition: transform 0.25s ease, box-shadow 0.25s ease, background 0.25s ease; }
.ultrakit-mnc-btn.is-ghost { background: var(--mnc-soft); color: var(--mnc-text) !important; }
.ultrakit-mnc-btn.is-ghost:hover { background: color-mix(in srgb, var(--mnc-accent) 14%, transparent); }
.ultrakit-mnc-btn.is-main { background: linear-gradient(135deg, var(--mnc-accent), var(--mnc-accent2)); color: #ffffff !important; }
.ultrakit-mnc-btn.is-main:hover { transform: translateY(-2px); box-shadow: 0 10px 22px color-mix(in srgb, var(--mnc-accent) 38%, transparent); }
.ultrakit-mnc-portal.is-busy .ultrakit-mnc-body { opacity: 0.55; pointer-events: none; }

/* ---------- Dropdown ---------- */
.mnc-mode-dropdown .ultrakit-mnc-portal { position: absolute; top: calc(100% + 14px); right: 0; z-index: 9990; width: min(var(--mnc-w), calc(100vw - 32px)); opacity: 0; visibility: hidden; transform: translateY(10px); transition: opacity 0.25s ease, transform 0.25s ease, visibility 0s linear 0.25s; }
.mnc-mode-dropdown .ultrakit-mnc-portal.is-open { opacity: 1; visibility: visible; transform: none; transition-delay: 0s; }
.mnc-mode-dropdown .ultrakit-mnc-panel { box-shadow: 0 24px 70px rgba(0,0,0,0.22); }
.mnc-mode-dropdown .ultrakit-mnc-overlay { display: none; }

/* ---------- Inline ---------- */
.mnc-mode-inline { display: block; width: 100%; max-width: var(--mnc-w); }
.mnc-mode-inline .ultrakit-mnc-portal { position: static; }
.mnc-mode-inline .ultrakit-mnc-panel { box-shadow: 0 14px 44px rgba(0,0,0,0.09); }
.mnc-mode-inline .ultrakit-mnc-overlay { display: none; }

/* ---------- Side panel (portal is moved to <body>) ---------- */
.ultrakit-mnc-portal.mnc-mode-side { position: fixed; inset: 0; z-index: 99990; visibility: hidden; pointer-events: none; transition: visibility 0s linear 0.5s; }
.ultrakit-mnc-portal.mnc-mode-side.is-open { visibility: visible; pointer-events: auto; transition-delay: 0s; }
.mnc-mode-side .ultrakit-mnc-overlay { position: absolute; inset: 0; background: rgba(15,15,30,0.6); opacity: 0; transition: opacity 0.4s ease; -webkit-backdrop-filter: blur(3px); backdrop-filter: blur(3px); }
.mnc-mode-side.is-open .ultrakit-mnc-overlay { opacity: 1; }
.mnc-mode-side .ultrakit-mnc-panel { position: absolute; top: 0; bottom: 0; width: min(var(--mnc-w), 100vw); border-radius: 0; box-shadow: 0 0 60px rgba(0,0,0,0.3); transition: transform 0.5s cubic-bezier(.2,.8,.2,1); }
.mnc-mode-side.mnc-side-right .ultrakit-mnc-panel { right: 0; transform: translateX(100%); }
.mnc-mode-side.mnc-side-left .ultrakit-mnc-panel { left: 0; transform: translateX(-100%); }
.mnc-mode-side.is-open .ultrakit-mnc-panel { transform: none; }
.mnc-mode-side .ultrakit-mnc-body { max-height: none; }

@media (prefers-reduced-motion: reduce) { .ultrakit-mnc-panel, .ultrakit-mnc-overlay { transition-duration: 0.01s; } }
