/**
 * @file
 * Cart preview styles — fskill design tokens.
 *
 * This file is part of the cart_react library (opigno_commerce/cart_react)
 * and is separate from the theme CSS so it gets its own cache key and is
 * not merged into the theme CSS aggregate.
 */

/* ── Cart icon container ─────────────────────────────────────────────────── */
.fashion-header__cart {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    align-self: center !important;
    margin-left: 8px !important;
    min-height: 40px !important;
}

/* ── Separator before For Business ─────────────────────────────────────── */
.fashion-header__business {
    border-left: 1px solid #E4E0D8 !important;
    margin-left: 16px !important;
    padding-left: 8px !important;
}

[data-theme="dark"] .fashion-header__business {
    border-left-color: #2E2C2A !important;
}

/* ── Cart preview wrap ──────────────────────────────────────────────────── */
.fk-cart-preview-wrap {
    position: relative;
    display: inline-flex;
    align-items: center;
}

/* ── Cart icon link — matches fskill nav-item style ─────────────────────── */
.fk-cart-link {
    position: relative !important;
    display: inline-flex !important;
    flex-direction: column !important;
    align-items: center !important;
    gap: 2px !important;
    color: #9A948D !important;
    text-decoration: none !important;
    padding: 6px 10px !important;
    border-radius: 8px !important;
    font-size: 11px !important;
    font-weight: 600 !important;
    font-family: 'DM Sans', sans-serif !important;
    transition: background 0.15s ease, color 0.15s ease !important;
    cursor: pointer !important;
    line-height: 1 !important;
    border: none !important;
    background: transparent !important;
}

.fk-cart-link:hover {
    color: #1A1714 !important;
    background: #F5F3EE !important;
    text-decoration: none !important;
}

.fk-cart-link svg {
    display: block !important;
    flex-shrink: 0 !important;
}

[data-theme="dark"] .fk-cart-link {
    color: #68625C !important;
}

[data-theme="dark"] .fk-cart-link:hover {
    color: #F0EDE7 !important;
    background: #222120 !important;
}

/* ── Badge ──────────────────────────────────────────────────────────────── */
.cart-react-badge {
    position: absolute !important;
    top: 2px !important;
    right: 4px !important;
    min-width: 16px !important;
    height: 16px !important;
    padding: 0 4px !important;
    background: #1B7A6E !important;
    color: #fff !important;
    font-size: 9px !important;
    font-weight: 700 !important;
    line-height: 16px !important;
    text-align: center !important;
    border-radius: 999px !important;
    display: none !important;
    pointer-events: none !important;
    z-index: 2 !important;
    font-family: 'DM Sans', sans-serif !important;
}

.cart-react-badge.has-items {
    display: block !important;
}

@keyframes fk-cart-badge-pop {
    0% {
        transform: scale(1);
    }

    40% {
        transform: scale(1.45);
    }

    70% {
        transform: scale(0.9);
    }

    100% {
        transform: scale(1);
    }
}

.cart-react-badge.cart-badge--bump {
    animation: fk-cart-badge-pop 0.35s cubic-bezier(0.36, 0.07, 0.19, 0.97);
}

[data-theme="dark"] .cart-react-badge {
    background: #3DBDAD !important;
}

/* ── Dropdown panel ─────────────────────────────────────────────────────── */
.fk-cart-preview__dropdown {
    position: absolute !important;
    top: calc(100% + 12px) !important;
    right: 0 !important;
    width: 340px !important;
    background: #FFFFFF !important;
    border: 1px solid #E4E0D8 !important;
    border-radius: 12px !important;
    box-shadow: 0 4px 20px rgba(26, 23, 20, 0.10) !important;
    z-index: 9999 !important;
    opacity: 0 !important;
    transform: translateY(-8px) scale(0.98) !important;
    pointer-events: none !important;
    transition: opacity 0.2s ease, transform 0.2s ease !important;
    overflow: hidden !important;
    font-family: 'DM Sans', sans-serif !important;
}

.fk-cart-preview__dropdown.is-open {
    opacity: 1 !important;
    transform: translateY(0) scale(1) !important;
    pointer-events: auto !important;
}

[data-theme="dark"] .fk-cart-preview__dropdown {
    background: #1A1918 !important;
    border-color: #2E2C2A !important;
    box-shadow: 0 4px 20px rgba(0, 0, 0, 0.4) !important;
}

/* ── Header ─────────────────────────────────────────────────────────────── */
.fk-cart-preview__header {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    padding: 12px 16px 10px !important;
    border-bottom: 1px solid #E4E0D8 !important;
}

[data-theme="dark"] .fk-cart-preview__header {
    border-bottom-color: #2E2C2A !important;
}

.fk-cart-preview__title {
    font-size: 13px !important;
    font-weight: 700 !important;
    color: #1A1714 !important;
    letter-spacing: -0.01em !important;
    font-family: 'DM Sans', sans-serif !important;
}

[data-theme="dark"] .fk-cart-preview__title {
    color: #F0EDE7 !important;
}

.fk-cart-preview__close {
    background: none !important;
    border: none !important;
    font-size: 18px !important;
    color: #9A948D !important;
    cursor: pointer !important;
    padding: 0 4px !important;
    border-radius: 4px !important;
    line-height: 1 !important;
    transition: color 0.15s, background 0.15s !important;
}

.fk-cart-preview__close:hover {
    color: #1A1714 !important;
    background: #F5F3EE !important;
}

[data-theme="dark"] .fk-cart-preview__close {
    color: #68625C !important;
}

[data-theme="dark"] .fk-cart-preview__close:hover {
    color: #F0EDE7 !important;
    background: #222120 !important;
}

/* ── Body ───────────────────────────────────────────────────────────────── */
.fk-cart-preview__body {
    max-height: 280px !important;
    overflow-y: auto !important;
    padding: 6px 0 !important;
    scrollbar-width: thin !important;
    scrollbar-color: #C8C2B8 transparent !important;
}

.fk-cart-preview__empty {
    padding: 20px 16px !important;
    text-align: center !important;
    color: #9A948D !important;
    font-size: 13px !important;
    margin: 0 !important;
    font-family: 'DM Sans', sans-serif !important;
}

[data-theme="dark"] .fk-cart-preview__empty {
    color: #68625C !important;
}

/* ── Item row ───────────────────────────────────────────────────────────── */
.fk-cart-preview__item {
    display: flex !important;
    gap: 12px !important;
    align-items: flex-start !important;
    padding: 9px 16px !important;
    border-bottom: 1px solid #E4E0D8 !important;
    transition: background 0.12s !important;
}

.fk-cart-preview__item:last-child {
    border-bottom: none !important;
}

.fk-cart-preview__item:hover {
    background: #F5F3EE !important;
}

[data-theme="dark"] .fk-cart-preview__item {
    border-bottom-color: #2E2C2A !important;
}

[data-theme="dark"] .fk-cart-preview__item:hover {
    background: #222120 !important;
}

.fk-cart-preview__thumb {
    flex-shrink: 0 !important;
    width: 48px !important;
    height: 48px !important;
    border-radius: 8px !important;
    overflow: hidden !important;
    background: #F5F3EE !important;
    border: 1px solid #E4E0D8 !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    text-decoration: none !important;
}

.fk-cart-preview__thumb img {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
    display: block !important;
}

[data-theme="dark"] .fk-cart-preview__thumb {
    background: #222120 !important;
    border-color: #2E2C2A !important;
}

.fk-cart-preview__info {
    flex: 1 !important;
    min-width: 0 !important;
}

.fk-cart-preview__label {
    display: block !important;
    font-size: 13px !important;
    font-weight: 600 !important;
    color: #1A1714 !important;
    text-decoration: none !important;
    white-space: nowrap !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    line-height: 1.3 !important;
    margin-bottom: 3px !important;
    font-family: 'DM Sans', sans-serif !important;
}

.fk-cart-preview__label:hover {
    color: #1B7A6E !important;
}

[data-theme="dark"] .fk-cart-preview__label {
    color: #F0EDE7 !important;
}

[data-theme="dark"] .fk-cart-preview__label:hover {
    color: #3DBDAD !important;
}

.fk-cart-preview__meta {
    display: flex !important;
    gap: 10px !important;
    align-items: center !important;
}

.fk-cart-preview__price {
    font-size: 12px !important;
    font-weight: 700 !important;
    color: #1B7A6E !important;
}

[data-theme="dark"] .fk-cart-preview__price {
    color: #3DBDAD !important;
}

.fk-cart-preview__qty {
    font-size: 11.5px !important;
    color: #9A948D !important;
}

[data-theme="dark"] .fk-cart-preview__qty {
    color: #68625C !important;
}

/* ── Footer ─────────────────────────────────────────────────────────────── */
.fk-cart-preview__footer {
    display: flex !important;
    gap: 8px !important;
    padding: 10px 16px 12px !important;
    border-top: 1px solid #E4E0D8 !important;
}

[data-theme="dark"] .fk-cart-preview__footer {
    border-top-color: #2E2C2A !important;
}

.fk-cart-preview__btn {
    flex: 1 !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    padding: 8px 12px !important;
    border-radius: 8px !important;
    font-size: 12.5px !important;
    font-weight: 600 !important;
    font-family: 'DM Sans', sans-serif !important;
    text-decoration: none !important;
    transition: all 0.15s ease !important;
    white-space: nowrap !important;
}

.fk-cart-preview__btn--ghost {
    background: #F5F3EE !important;
    color: #55504A !important;
    border: 1.5px solid #C8C2B8 !important;
}

.fk-cart-preview__btn--ghost:hover {
    background: #EDEAE3 !important;
    color: #1A1714 !important;
    border-color: #1B7A6E !important;
}

[data-theme="dark"] .fk-cart-preview__btn--ghost {
    background: #222120 !important;
    color: #A8A29C !important;
    border-color: #44423E !important;
}

[data-theme="dark"] .fk-cart-preview__btn--ghost:hover {
    background: #2A2927 !important;
    color: #F0EDE7 !important;
    border-color: #3DBDAD !important;
}

.fk-cart-preview__btn--primary {
    background: #1B7A6E !important;
    color: #fff !important;
    border: 1.5px solid transparent !important;
    box-shadow: 0 2px 8px rgba(27, 122, 110, 0.3) !important;
}

.fk-cart-preview__btn--primary:hover {
    background: #16665c !important;
    box-shadow: 0 4px 14px rgba(27, 122, 110, 0.4) !important;
    transform: translateY(-1px) !important;
    color: #fff !important;
}

[data-theme="dark"] .fk-cart-preview__btn--primary {
    background: #3DBDAD !important;
    box-shadow: 0 2px 8px rgba(61, 189, 173, 0.3) !important;
}

[data-theme="dark"] .fk-cart-preview__btn--primary:hover {
    background: #2fa89a !important;
}