:root {
    --fc-block-gap: 30px;
    --fc-ink: #30263a;
    --fc-ink-2: #5a3c68;
    --fc-muted: #7a6f82;
    --fc-purple: #8a58f6;
    --fc-pink: #ff67bd;
    --fc-yellow: #ffd56d;
    --fc-cyan: #35c9d5;
    --fc-paper: rgba(255, 255, 255, 0.78);
    --fc-paper-2: rgba(255, 245, 252, 0.72);
    --fc-line: rgba(154, 105, 223, 0.22);
    --fc-line-strong: rgba(255, 117, 190, 0.42);
    --fc-shadow: 0 18px 42px rgba(126, 76, 152, 0.14);
    --fc-shadow-hover: 0 24px 54px rgba(126, 76, 152, 0.20);
    --fc-blur: 14px;
}

*,
*::before,
*::after {
    box-sizing: border-box;
}

html {
    min-height: 100%;
    scroll-behavior: smooth;
}

body.floatcatalog-theme {
    min-height: 100vh;
    margin: 0;
    background:
        radial-gradient(circle at 14% 8%, rgba(255, 103, 189, 0.18), transparent 28%),
        radial-gradient(circle at 88% 2%, rgba(138, 88, 246, 0.16), transparent 32%),
        linear-gradient(135deg, #fff8fd 0%, #eefaff 52%, #fff4fb 100%);
    color: var(--fc-ink);
    font-family: "SF Pro Text", "SF Pro Icons", "Helvetica Neue", Helvetica, Arial, sans-serif;
    overflow-x: hidden;
}

body.floatcatalog-theme::before {
    content: "";
    position: fixed;
    inset: 0;
    z-index: -2;
    pointer-events: none;
    background:
        radial-gradient(circle at 13% 18%, rgba(255, 103, 189, 0.13), transparent 28%),
        radial-gradient(circle at 82% 12%, rgba(138, 88, 246, 0.10), transparent 24%),
        linear-gradient(180deg, rgba(255, 255, 255, 0.10), rgba(255, 250, 253, 0.68));
}

body.floatcatalog-theme::after {
    content: "";
    position: fixed;
    inset: 0;
    z-index: -3;
    pointer-events: none;
    background:
        linear-gradient(120deg, rgba(255, 255, 255, 0.88), rgba(255, 255, 255, 0.38) 44%, rgba(255, 255, 255, 0.10) 68%),
        radial-gradient(circle at 78% 28%, rgba(255, 255, 255, 0.58), transparent 25%);
}

a {
    color: inherit;
    text-decoration: none;
}

button,
input,
select,
textarea {
    font: inherit;
}

.fc-page-frame {
    min-height: 100vh;
}

.fc-shell,
.fc-nav-wrap {
    width: min(1360px, calc(100% - 32px));
    margin: 0 auto;
}

.fc-shell-narrow {
    max-width: 980px;
}

.fc-main {
    padding: var(--fc-block-gap) 0 64px;
}

.fc-nav-shell {
    position: sticky;
    top: 0;
    z-index: 1030;
    padding: 14px 0 0;
}

.fc-nav,
.fc-panel,
.fc-hero-banner,
.fc-footer,
.fc-layer-popup,
.component-popup {
    border: 1px solid var(--fc-line) !important;
    background: linear-gradient(180deg, rgba(255, 255, 255, 0.72), rgba(255, 246, 252, 0.52)) !important;
    color: var(--fc-ink) !important;
    box-shadow: var(--fc-shadow) !important;
    backdrop-filter: blur(var(--fc-blur)) saturate(122%) !important;
    -webkit-backdrop-filter: blur(var(--fc-blur)) saturate(122%) !important;
}

.fc-nav {
    min-height: 72px;
    padding: 10px 14px;
    border-radius: 18px;
    position: relative;
}

.fc-nav::after,
.fc-panel::before {
    content: "";
    position: absolute;
    left: 20px;
    right: 20px;
    bottom: 0;
    height: 2px;
    border-radius: 999px;
    background: linear-gradient(90deg, transparent, var(--fc-purple), var(--fc-pink), var(--fc-yellow), transparent);
    opacity: 0.62;
}

.fc-panel::before {
    top: 0;
    bottom: auto;
    height: 3px;
    z-index: 2;
}

.fc-brand {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    min-height: 48px;
    padding: 5px 14px 5px 6px;
    border-radius: 15px;
    transition: transform .28s ease, background-color .28s ease, box-shadow .28s ease;
}

.fc-brand:hover {
    transform: translateY(-2px);
    background: rgba(255, 255, 255, .34);
    box-shadow: 0 12px 28px rgba(138, 88, 246, .14), 0 0 22px rgba(255, 103, 189, .16);
}

.fc-brand:hover .fc-brand-mark,
.fc-user-chip:hover .fc-user-avatar {
    animation: fcAvatarWobble .58s ease-in-out both;
}

.fc-brand-mark,
.fc-user-avatar {
    width: 42px;
    height: 42px;
    object-fit: cover;
    border-radius: 14px;
    border: 1px solid rgba(53, 201, 213, .42);
    background: radial-gradient(circle at 50% 20%, rgba(255,255,255,.92), rgba(234,248,251,.70));
    box-shadow: 0 0 0 3px rgba(255,255,255,.72), 0 0 0 6px rgba(53,201,213,.08), 0 8px 20px rgba(26,73,95,.13);
    animation: fcBrandAvatarFloat 4.8s ease-in-out infinite;
}

@keyframes fcBrandAvatarFloat {
    0%, 100% { transform: translateY(0) rotate(0deg); }
    50% { transform: translateY(-1.5px) rotate(2deg); }
}

@keyframes fcAvatarWobble {
    0%, 100% { transform: translate3d(0,0,0) rotate(0deg) scale(1); }
    18% { transform: translate3d(-1px,-1px,0) rotate(-10deg) scale(1.05); }
    36% { transform: translate3d(1px,0,0) rotate(8deg) scale(1.04); }
    54% { transform: translate3d(-1px,1px,0) rotate(-6deg) scale(1.03); }
    72% { transform: translate3d(1px,-1px,0) rotate(4deg) scale(1.02); }
}

.fc-brand-chip {
    position: relative;
    display: inline-flex;
    align-items: center;
    min-height: 32px;
    padding-right: 34px;
}

.fc-brand-chip::before,
.fc-brand-chip::after {
    content: "";
    position: absolute;
    pointer-events: none;
    transition: opacity .18s ease, transform .18s ease;
}

.fc-brand-chip::before {
    top: 2px;
    right: 24px;
    width: 8px;
    height: 8px;
    background: var(--fc-yellow);
    clip-path: polygon(50% 0, 62% 36%, 100% 50%, 62% 64%, 50% 100%, 38% 64%, 0 50%, 38% 36%);
    filter: drop-shadow(0 0 5px rgba(255, 181, 70, .58));
}

.fc-brand-chip::after {
    top: 5px;
    right: 2px;
    width: 18px;
    height: 3px;
    border-radius: 999px;
    background: linear-gradient(90deg, #ff67bd 0 48%, #8a58f6 48% 100%);
    box-shadow: 0 0 8px rgba(255, 103, 189, .28);
}

.fc-brand-name {
    position: relative;
    display: inline-flex;
    align-items: center;
    padding-bottom: 4px;
    color: #30263a;
    font-size: 1.1rem;
    font-weight: 900;
    text-shadow: none;
}

.fc-brand-name::after {
    content: "";
    position: absolute;
    left: 0;
    bottom: 0;
    width: 36%;
    height: 3px;
    border-radius: 999px;
    background: linear-gradient(90deg, #8a58f6, #ff67bd 70%, #ffd56d);
    box-shadow: 0 0 12px rgba(255, 103, 189, .26);
    transform-origin: left center;
    transition: width .28s ease, transform .28s ease;
}

.fc-brand:hover .fc-brand-name::after {
    width: 100%;
    transform: translateY(1px);
}

.fc-brand:hover .fc-brand-chip::before,
.fc-brand:hover .fc-brand-chip::after {
    transform: translateY(-2px);
}

.fc-nav-main {
    width: 100%;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
}

.fc-nav-links {
    display: flex;
    align-items: center;
    gap: 8px;
    margin: 0;
}

.fc-nav-link,
.fc-button,
.fc-user-chip,
.fc-searchbox,
.form-control,
.form-select,
.qty-group,
.optional-card,
.sku {
    border: 1px solid rgba(151, 92, 220, .18) !important;
    background: rgba(255, 255, 255, .72) !important;
    color: var(--fc-ink) !important;
    box-shadow: none !important;
}

.fc-nav-link,
.fc-button,
.fc-user-chip {
    min-height: 42px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    padding: 0 16px;
    border-radius: 999px;
    font-weight: 900;
    transition: transform .2s ease, border-color .2s ease, background .2s ease, color .2s ease, box-shadow .2s ease;
}

.fc-nav-link:hover,
.fc-nav-link.is-active,
.fc-button-dark,
.sku.is-primary,
.btn-search-query,
.component-popup .queryBtn,
.component-popup .query-button {
    border-color: rgba(138, 88, 246, .58) !important;
    background: linear-gradient(135deg, #8a58f6 0%, #ff67bd 62%, #ffb36b 100%) !important;
    color: #fff !important;
    box-shadow: 0 12px 28px rgba(255, 103, 189, .24) !important;
}

.floatcatalog-liquid-theme .sku,
.floatcatalog-liquid-theme .sku.has-money {
    border-color: rgba(194, 157, 245, .72) !important;
    background:
        radial-gradient(circle at 34px 50%, rgba(255, 218, 118, .24) 0, rgba(255, 218, 118, .14) 26px, transparent 86px),
        radial-gradient(circle at 18px 16px, rgba(255,255,255,.96), transparent 52px),
        linear-gradient(135deg, rgba(255,255,255,.94), rgba(255,248,253,.78) 66%, rgba(248,243,255,.76)) !important;
    color: #3b2d4d !important;
    box-shadow:
        0 10px 20px rgba(126,76,152,.07),
        0 0 0 1px rgba(194,157,245,.08),
        inset 0 1px 0 rgba(255,255,255,.94),
        inset 14px 0 28px rgba(255,218,118,.10) !important;
}

.floatcatalog-liquid-theme .sku:hover,
.floatcatalog-liquid-theme .sku.is-primary {
    border-color: rgba(188,143,245,.78) !important;
    background:
        radial-gradient(circle at 34px 50%, rgba(255, 218, 118, .32) 0, rgba(255, 218, 118, .18) 28px, transparent 92px),
        radial-gradient(circle at 20px 16px, rgba(255,255,255,.98), transparent 58px),
        linear-gradient(135deg, rgba(255,255,255,.98), rgba(255,247,253,.86) 64%, rgba(248,243,255,.82)) !important;
    color: #3b2d4d !important;
    box-shadow:
        0 14px 30px rgba(126,76,152,.13),
        0 0 0 2px rgba(188,143,245,.13),
        0 0 22px rgba(188,143,245,.12),
        inset 0 1px 0 rgba(255,255,255,.96),
        inset 16px 0 30px rgba(255,218,118,.12) !important;
}

.floatcatalog-liquid-theme .sku .badge-money {
    color: inherit !important;
    opacity: .86;
}

.floatcatalog-liquid-theme .sku.is-primary .badge-money {
    color: inherit !important;
}

.floatcatalog-liquid-theme .sku .sku-label {
    color: inherit !important;
    text-shadow: 0 1px 0 rgba(255,255,255,.88);
}

.fc-button-light:hover,
.fc-dropdown-menu .dropdown-item:hover {
    border-color: rgba(255, 103, 189, .34) !important;
    background: rgba(255, 246, 252, .78) !important;
    color: #6c42d8 !important;
}

.fc-nav-link:hover,
.fc-button:hover,
.fc-user-chip:hover {
    transform: translateY(-2px);
}

.fc-auth-actions {
    display: flex;
    gap: 8px;
    flex-wrap: wrap;
}

.fc-user-chip {
    height: auto;
    padding: 5px 12px 5px 6px;
}

.fc-user-meta {
    display: grid;
    gap: 2px;
    text-align: left;
}

.fc-user-name {
    font-weight: 900;
}

.fc-user-balance {
    color: var(--fc-muted);
    font-size: 12px;
}

.fc-dropdown-menu {
    border: 1px solid var(--fc-line);
    border-radius: 16px;
    padding: 8px;
    background: rgba(255,255,255,.92);
    box-shadow: var(--fc-shadow);
}

.fc-dropdown-menu .dropdown-item {
    border-radius: 12px;
    padding: 10px 12px;
}

.fc-hero-shell {
    margin-top: calc(var(--fc-block-gap) + 10px);
    margin-bottom: calc(var(--fc-block-gap) + 8px);
}

.fc-hero-shell + .fc-shell {
    margin-top: calc(var(--fc-block-gap) + 6px);
}

.fc-hero-banner {
    position: relative;
    min-height: 286px;
    border-radius: 22px;
    overflow: hidden;
    isolation: isolate;
}

.fc-hero-banner::before {
    content: "";
    position: absolute;
    inset: 0;
    z-index: 1;
    background:
        linear-gradient(90deg, rgba(255,255,255,1) 0%, rgba(255,255,255,.98) 24%, rgba(255,255,255,.84) 43%, rgba(255,255,255,.48) 62%, rgba(255,255,255,.12) 80%, rgba(255,255,255,0) 92%),
        radial-gradient(circle at 17% 28%, rgba(255,255,255,.86), transparent 32%),
        radial-gradient(circle at 34% 76%, rgba(255,246,252,.58), transparent 34%);
}

.fc-hero-media {
    position: absolute;
    inset: 0;
    z-index: 0;
}

.fc-hero-art {
    position: absolute;
    inset: -12%;
    background:
        radial-gradient(circle at 70% 32%, rgba(255,103,189,.32), transparent 20%),
        radial-gradient(circle at 82% 58%, rgba(138,88,246,.32), transparent 24%),
        radial-gradient(circle at 56% 70%, rgba(255,213,109,.34), transparent 18%),
        linear-gradient(135deg, rgba(234,248,251,.85), rgba(255,244,251,.7));
    transform: translate3d(var(--fc-hero-shift-x,0), var(--fc-hero-shift-y,0), 0) scale(1.035);
    transition: transform .12s linear;
}

.fc-hero-custom-media {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    background-size: cover;
    background-position: center;
    transform: translate3d(var(--fc-hero-shift-x,0), var(--fc-hero-shift-y,0), 0) scale(1.025);
    transition: transform .12s linear;
}

.fc-hero-banner.is-custom-media .fc-hero-art {
    opacity: 0;
}

.fc-hero-art::before,
.fc-hero-art::after {
    content: "";
    position: absolute;
    border-radius: 999px;
    filter: blur(1px);
    opacity: .72;
}

.fc-hero-art::before {
    right: 11%;
    top: 20%;
    width: min(32vw, 340px);
    aspect-ratio: 1;
    background: conic-gradient(from 180deg, rgba(138,88,246,.14), rgba(255,103,189,.28), rgba(255,213,109,.22), rgba(53,201,213,.18), rgba(138,88,246,.14));
}

.fc-hero-art::after {
    right: 6%;
    bottom: 8%;
    width: min(28vw, 300px);
    aspect-ratio: 1.3;
    background: linear-gradient(135deg, rgba(255,255,255,.42), rgba(255,103,189,.18));
    transform: rotate(-18deg);
}

.fc-hero-title {
    position: absolute;
    left: 42px;
    top: 46px;
    z-index: 2;
    display: grid;
    gap: 10px;
    max-width: min(58%, 760px);
}

.fc-hero-title span {
    color: transparent;
    background: linear-gradient(100deg, #8a58f6 0%, #ff67bd 58%, #ff8a52 100%);
    -webkit-background-clip: text;
    background-clip: text;
    max-width: 100%;
    font-size: clamp(38px, 4.8vw, 66px);
    font-weight: 900;
    line-height: .98;
    white-space: nowrap;
    text-shadow: 0 0 14px rgba(255,103,189,.22), 0 10px 30px rgba(126,76,152,.10);
}

.fc-hero-title strong {
    display: inline-flex;
    width: fit-content;
    max-width: 100%;
    padding: 7px 12px;
    border: 1px solid rgba(255,103,189,.18);
    border-radius: 999px;
    background: rgba(255,255,255,.70);
    color: #6c42d8;
    font-size: clamp(13px, 1.25vw, 18px);
    line-height: 1.18;
}

.fc-hero-actions {
    position: absolute;
    left: 42px;
    right: 42px;
    bottom: 24px;
    z-index: 2;
}

.fc-action-buttons {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}

.fc-action-btn {
    min-height: 38px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    padding: 0 14px;
    border: 1px solid rgba(151,92,220,.18);
    border-radius: 12px;
    background:
        radial-gradient(circle at 18px 14px, rgba(255,211,109,.16), transparent 54px),
        linear-gradient(135deg, rgba(255,255,255,.76), rgba(255,246,252,.54));
    color: #5f3ecf;
    font-weight: 900;
    box-shadow: 0 10px 24px rgba(126,76,152,.10);
    transition: transform .2s ease, color .2s ease, border-color .2s ease, box-shadow .2s ease;
}

.fc-action-btn:hover,
.fc-commodity-card:hover .fc-card-inner,
.fc-commodity-card.is-inline-active .fc-card-inner {
    border-color: rgba(255,103,189,.36) !important;
    background:
        radial-gradient(circle at 18px 16px, rgba(255,103,189,.12), transparent 72px),
        radial-gradient(circle at calc(100% - 18px) 20px, rgba(138,88,246,.11), transparent 82px),
        linear-gradient(135deg, rgba(255,255,255,.82), rgba(255,244,251,.66)) !important;
    color: #c8328e !important;
    box-shadow: 0 14px 30px rgba(126,76,152,.14), 0 0 20px rgba(255,103,189,.12) !important;
    transform: translateY(-3px);
}

.fc-shop-layout {
    display: grid;
    grid-template-columns: 1fr;
    gap: var(--fc-block-gap);
}

.fc-panel {
    position: relative;
    border-radius: 20px;
    overflow: hidden;
}

.fc-sidebar-panel .fc-panel-header {
    padding-bottom: 22px;
}

.fc-sidebar-panel .fc-panel-body {
    padding-top: 20px;
}

.fc-panel-header {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    padding: 18px 22px;
    border-bottom: 1px solid rgba(151,92,220,.14);
    background: linear-gradient(90deg, rgba(255,246,252,.72), rgba(255,255,255,.42));
}

.fc-panel-header::after {
    content: "✦";
    position: absolute;
    top: 12px;
    right: 16px;
    color: var(--fc-yellow);
    font-size: 18px;
    font-weight: 900;
    text-shadow: 0 0 8px rgba(240,169,31,.48);
}

.fc-panel-kicker,
.fc-eyebrow,
.fc-notice-kicker {
    display: block;
    margin-bottom: 5px;
    color: #7a6f82;
    font-size: 12px;
    font-weight: 900;
    letter-spacing: .08em;
    text-transform: uppercase;
}

.fc-panel-title,
.fc-page-title {
    margin: 0;
    color: var(--fc-ink-2);
    font-size: 22px;
    font-weight: 900;
}

.fc-panel-body {
    padding: 20px;
}

.fc-news-ticker {
    margin: 0 18px;
    padding: 11px 0 12px;
    overflow: hidden;
    border-top: 1px solid rgba(151,92,220,.12);
    border-bottom: 1px solid rgba(151,92,220,.14);
    color: var(--fc-news-text-color, #287ce2);
    white-space: nowrap;
}

.fc-news-ticker-track {
    display: inline-block;
    min-width: 100%;
    padding-left: 100%;
    font-size: .96rem;
    font-weight: 900;
    line-height: 1.35;
    text-shadow: none;
    animation: fcNewsLeft var(--fc-news-speed,26s) linear infinite;
}

.fc-news-ticker b {
    display: inline-flex;
    align-items: center;
    min-height: auto;
    padding: 0;
    border: 0;
    border-radius: 0;
    background: transparent;
    color: var(--fc-news-label-color, #ff4fb1);
    box-shadow: none;
}

@keyframes fcNewsLeft {
    from { transform: translateX(0); }
    to { transform: translateX(-100%); }
}

.fc-category-tree {
    display: flex;
    flex-wrap: wrap;
    align-items: stretch;
    gap: 10px;
    overflow: visible;
}

.fc-category-node {
    display: contents;
}

.fc-category-row {
    padding-left: 0;
    position: relative;
}

.fc-category-tree.is-floating .fc-category-row {
    animation: fcCategoryFloat var(--fc-category-float-duration, 10.2s) cubic-bezier(.45,0,.55,1) var(--fc-category-float-delay, 0s) infinite;
    transform: translate3d(0,0,0);
    will-change: transform;
    backface-visibility: hidden;
}

@keyframes fcCategoryFloat {
    0%, 100% { transform: translate3d(0,0,0); }
    24% { transform: translate3d(var(--fc-category-float-x1,2px),var(--fc-category-float-y1,-3px),0); }
    52% { transform: translate3d(var(--fc-category-float-x2,-2px),var(--fc-category-float-y2,2px),0); }
    78% { transform: translate3d(var(--fc-category-float-x3,2px),var(--fc-category-float-y3,-2px),0); }
}

.fc-category-link {
    width: auto;
    min-width: 166px;
    min-height: 58px;
    position: relative;
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 9px 14px;
    border: 1px solid rgba(39, 174, 193, .24);
    border-radius: 14px;
    background: linear-gradient(135deg, rgba(255,255,255,.96), rgba(232,250,252,.82));
    color: #0f6175;
    box-shadow: 0 8px 18px rgba(39,174,193,.08), inset 0 1px 0 rgba(255,255,255,.96);
    cursor: pointer;
    appearance: none;
    -webkit-appearance: none;
    transition: transform .28s ease, box-shadow .28s ease, border-color .28s ease, background .28s ease, color .28s ease;
}

.fc-category-link::before,
.fc-category-link::after {
    display: none;
}

.fc-category-link:hover,
.fc-category-link.is-active {
    transform: translateY(-3px);
    border-color: rgba(39,174,193,.56) !important;
    background: linear-gradient(135deg, rgba(255,255,255,.98), rgba(220,247,250,.92)) !important;
    box-shadow: 0 12px 24px rgba(39,174,193,.14), 0 0 0 2px rgba(39,174,193,.08) !important;
}

.fc-category-link.is-active {
    border-color: rgba(25,157,179,.72) !important;
}

.fc-category-icon,
.fc-current-cat-icon {
    width: 38px;
    height: 38px;
    flex: 0 0 38px;
    border-radius: 10px;
    background-size: cover;
    background-position: center;
    border: 0;
    outline: 0;
    box-shadow: none;
    background-color: transparent;
    filter: none;
}

.fc-category-copy {
    min-width: 0;
    display: inline-flex;
    align-items: center;
    gap: 6px;
}

.fc-category-name {
    display: block;
    overflow: hidden;
    color: inherit;
    font-size: 1rem;
    font-weight: 900;
    text-overflow: ellipsis;
    text-shadow: none;
    white-space: nowrap;
}

.fc-category-name * {
    font-weight: inherit;
}

.fc-category-side {
    display: inline-flex;
    flex: 0 0 auto;
}

.fc-category-toggle {
    width: 26px;
    height: 26px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 999px;
    color: #6c42d8;
    background: rgba(255, 246, 252, .78);
    transition: transform .18s ease;
}

.fc-category-toggle.is-expanded {
    transform: rotate(90deg);
}

.fc-category-count {
    min-width: 28px;
    height: 22px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 0 8px;
    border-radius: 999px;
    background: rgba(255, 246, 252, .96);
    color: #775985;
    font-size: .72rem;
    font-weight: 900;
    box-shadow: inset 0 1px 0 rgba(255,255,255,.9);
}

.fc-tree-feedback,
.fc-empty-row {
    width: 100%;
    min-height: 120px;
    display: grid;
    place-items: center;
    padding: 24px;
    border: 1px dashed rgba(151,92,220,.24);
    border-radius: 12px;
    color: #604d67;
    background: rgba(255,255,255,.48);
}

.fc-catalog-heading {
    align-items: flex-start;
}

.fc-current-name {
    display: inline-flex;
    align-items: center;
    gap: 8px;
}

.fc-current-cat-icon {
    width: 34px;
    height: 34px;
    flex: 0 0 34px;
    border: 0;
    box-shadow: none;
}

.fc-catalog-tools {
    display: flex;
    justify-content: flex-end;
    width: min(100%, 420px);
    margin-right: 34px;
}

.fc-search-combo {
    width: 100%;
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 8px;
}

.fc-searchbox {
    min-height: 42px;
    display: flex;
    align-items: center;
    gap: 8px;
    border-radius: 999px;
    padding: 0 14px;
}

.fc-searchbox input {
    width: 100%;
    border: 0;
    outline: 0;
    background: transparent;
    color: var(--fc-ink);
}

.fc-table-wrap {
    position: relative;
    min-height: 280px;
    padding: 16px;
    border: 1px solid rgba(151,92,220,.16);
    border-radius: 16px;
    background: rgba(255,255,255,.48);
}

.fc-table-wrap.is-loading {
    min-height: var(--fc-table-stable-height, 280px);
}

.fc-table-loading {
    position: absolute;
    inset: 0;
    z-index: 5;
    display: none;
    align-items: center;
    justify-content: center;
    gap: 10px;
    border-radius: inherit;
    background: rgba(255,255,255,.72);
    color: var(--fc-ink-2);
    font-weight: 900;
}

.fc-table-wrap.is-loading .fc-table-loading {
    display: flex;
}

.fc-table-loading-spinner {
    width: 20px;
    height: 20px;
    border: 3px solid rgba(138,88,246,.22);
    border-top-color: var(--fc-pink);
    border-radius: 50%;
    animation: fcSpin .8s linear infinite;
}

@keyframes fcSpin {
    to { transform: rotate(360deg); }
}

.fc-commodity-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
    gap: 10px;
}

.fc-commodity-card {
    display: block;
    min-width: 0;
    cursor: pointer;
}

.fc-card-inner {
    height: 100%;
    min-height: 112px;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    padding: 12px 14px;
    border: 1px solid rgba(151,92,220,.18);
    border-radius: 9px;
    background:
        radial-gradient(circle at 18px 14px, rgba(255,211,109,.16), transparent 54px),
        linear-gradient(135deg, rgba(255,255,255,.76), rgba(255,246,252,.54));
    color: #5f3ecf;
    box-shadow: 0 10px 24px rgba(126,76,152,.10);
    transition: transform .32s ease, box-shadow .32s ease, border-color .32s ease, background-color .32s ease;
    opacity: 0;
    transform: translateY(10px);
}

.fc-card-inner.show {
    opacity: 1;
    transform: translateY(0);
}

.fc-commodity-card.is-soldout {
    opacity: .62;
}

.fc-commodity-main {
    display: flex;
    align-items: center;
    gap: 14px;
    min-width: 0;
}

.fc-commodity-thumb {
    width: 96px;
    height: 96px;
    flex: 0 0 96px;
    border-radius: 7px;
    background-size: cover;
    background-position: center;
    border: 1px solid rgba(151,92,220,.18);
    box-shadow: 0 0 10px rgba(255,103,189,.14);
    transition: transform .4s ease, filter .4s ease;
}

.fc-commodity-card:hover .fc-commodity-thumb {
    animation: fcLogoRainbow 1s linear infinite, fcLogoSwing 1.8s ease-in-out infinite alternate;
}

@keyframes fcLogoRainbow {
    from { filter: hue-rotate(0deg) saturate(1.6); }
    to { filter: hue-rotate(360deg) saturate(1.6); }
}

@keyframes fcLogoSwing {
    from { transform: rotate(-1.2deg); }
    to { transform: rotate(1.2deg); }
}

.fc-commodity-copy {
    min-width: 0;
    display: flex;
    flex-direction: column;
    gap: 8px;
}

.fc-commodity-name {
    color: var(--fc-ink);
    font-size: .98rem;
    font-weight: 900;
    line-height: 1.42;
}

.fc-commodity-tags {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
}

.fc-pill,
.fc-badge {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    min-height: 22px;
    padding: 0 8px;
    border: 1px solid rgba(151,92,220,.18);
    border-radius: 999px;
    background: rgba(255,255,255,.72);
    color: #6c42d8;
    font-size: 12px;
    font-weight: 900;
}

.fc-pill-success,
.fc-badge-success {
    color: #0f8a61;
    background: rgba(35,185,135,.12);
    border-color: rgba(35,185,135,.22);
}

.fc-pill-muted,
.fc-badge-muted {
    color: #7a6f82;
    background: rgba(255,255,255,.5);
}

.fc-badge-primary {
    color: #fff;
    border-color: rgba(138,88,246,.46);
    background: linear-gradient(135deg, #8a58f6, #ff67bd);
}

.fc-badge-link {
    cursor: pointer;
}

.fc-commodity-foot {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    margin-top: 10px;
}

.fc-commodity-price {
    color: #c8328e;
    font-size: 1.18rem;
    font-weight: 900;
}

.fc-commodity-price em {
    display: block;
    margin-top: 2px;
    color: var(--fc-muted);
    font-size: 12px;
    font-style: normal;
}

.fc-commodity-action {
    min-height: 34px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 0 14px;
    border-radius: 999px;
    color: #fff;
    font-size: .82rem;
    font-weight: 900;
    background: linear-gradient(135deg, #8a58f6, #ff67bd 62%, #ffb36b);
}

.fc-inline-item-panel {
    width: 100%;
}

.fc-inline-item-loading {
    min-height: 120px;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    color: #604d67;
    font-weight: 900;
}

.fc-inline-item-content .fc-main {
    padding: 0;
}

.fc-inline-item-content .fc-shell {
    width: 100%;
}

.fc-inline-item-content .fc-item-panel,
.fc-inline-item-content .fc-description-panel {
    margin: 0;
    box-shadow: none !important;
}

.fc-inline-item-content .fc-description-panel {
    margin-top: 18px;
}

.fc-inline-item-content .fc-shell {
    width: 100%;
    margin: 0;
}

.fc-inline-item-content .fc-item-grid {
    grid-template-columns: minmax(156px, 230px) minmax(0, 1fr);
    gap: 14px;
    padding: 14px;
}

.fc-inline-item-content .fc-item-cover-card {
    max-height: 240px;
}

.fc-inline-item-content .fc-item-title {
    font-size: clamp(20px, 2.2vw, 28px);
}

.fc-inline-item-panel.is-mobile-inline,
.fc-inline-item-content.is-mobile-inline,
.fc-inline-item-content.is-mobile-inline .fc-main,
.fc-inline-item-content.is-mobile-inline .fc-shell,
.fc-inline-item-content.is-mobile-inline .fc-item-panel,
.fc-inline-item-content.is-mobile-inline .fc-description-panel {
    width: 100% !important;
    max-width: none !important;
    min-width: 0 !important;
}

.fc-inline-item-panel.is-mobile-inline,
.fc-inline-item-panel.is-mobile-inline .fc-panel-body,
.fc-inline-item-content.is-mobile-inline,
.fc-inline-item-content.is-mobile-inline .fc-main,
.fc-inline-item-content.is-mobile-inline .fc-shell,
.fc-inline-item-content.is-mobile-inline .fc-item-panel {
    overflow: visible !important;
}

.fc-inline-item-panel.is-mobile-inline .fc-inline-item-body {
    padding: 12px !important;
}

.fc-inline-item-content.is-mobile-inline .fc-main {
    padding: 0 !important;
}

.fc-inline-item-content.is-mobile-inline .fc-shell {
    margin: 0 !important;
}

.fc-inline-item-content.is-mobile-inline .fc-item-grid {
    grid-template-columns: 1fr !important;
    gap: 12px !important;
    padding: 12px !important;
}

.fc-inline-item-content.is-mobile-inline .fc-item-media,
.fc-inline-item-content.is-mobile-inline .fc-item-content,
.fc-inline-item-content.is-mobile-inline .fc-item-content-inner,
.fc-inline-item-content.is-mobile-inline .fc-form-stack,
.fc-inline-item-content.is-mobile-inline .fc-field,
.fc-inline-item-content.is-mobile-inline .cash-pay {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
}

.fc-inline-item-content.is-mobile-inline .fc-item-cover-card {
    width: min(100%, 220px) !important;
    height: auto !important;
    max-height: none !important;
    margin: 0 auto !important;
}

.fc-inline-item-content.is-mobile-inline .fc-item-content-inner {
    gap: 13px !important;
}

.fc-inline-item-content.is-mobile-inline .fc-item-title {
    font-size: 20px !important;
    line-height: 1.18 !important;
    word-break: break-word !important;
}

.fc-inline-item-content.is-mobile-inline .fc-form-stack {
    gap: 12px !important;
}

.fc-inline-item-content.is-mobile-inline .fc-field {
    display: grid !important;
    gap: 6px !important;
}

.fc-inline-item-content.is-mobile-inline .sku-list {
    gap: 7px !important;
}

.fc-inline-item-content.is-mobile-inline .sku {
    max-width: 100% !important;
    min-height: 34px !important;
    padding: 0 10px !important;
    border-radius: 14px !important;
    font-size: 12px !important;
    line-height: 1.2 !important;
}

.fc-inline-item-content.is-mobile-inline .sku-label {
    min-width: 0 !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    white-space: nowrap !important;
}

.fc-inline-item-content.is-mobile-inline .fc-field .form-control,
.fc-inline-item-content.is-mobile-inline .fc-field .form-select,
.fc-inline-item-content.is-mobile-inline .qty-group,
.fc-inline-item-content.is-mobile-inline .optional-card,
.fc-inline-item-content.is-mobile-inline .fc-captcha-group .captcha-img {
    min-height: 42px !important;
    border-radius: 14px !important;
}

.fc-inline-item-content.is-mobile-inline .qty-group {
    grid-template-columns: 42px minmax(0, 1fr) 42px !important;
}

.fc-inline-item-content.is-mobile-inline .qty-group button {
    width: 42px !important;
    min-width: 42px !important;
}

.fc-inline-item-content.is-mobile-inline .fc-captcha-group {
    grid-template-columns: minmax(0, 1fr) 104px !important;
    gap: 7px !important;
}

.fc-inline-item-content.is-mobile-inline .fc-captcha-group .captcha-img {
    width: 104px !important;
}

.fc-inline-item-content.is-mobile-inline .pay-list {
    grid-template-columns: 1fr !important;
    gap: 8px !important;
}

.fc-inline-item-content.is-mobile-inline .pay-list .pay,
.fc-inline-item-content.is-mobile-inline .pay-list .pay-test {
    width: 100% !important;
    min-height: 42px !important;
    justify-content: center !important;
}

.fc-item-panel,
.fc-description-panel,
.fc-query-panel,
.fc-results-panel,
.fc-empty-card,
.fc-page-hero {
    margin-bottom: var(--fc-block-gap);
}

.fc-item-grid {
    display: grid;
    grid-template-columns: minmax(190px, 280px) minmax(0, 1fr);
    gap: 18px;
    align-items: start;
    padding: 16px;
}

.fc-item-cover-card {
    width: 100%;
    height: var(--fc-item-cover-height, auto);
    min-height: 0;
    max-height: 300px;
    aspect-ratio: 1;
    border: 1px solid rgba(151,92,220,.16);
    border-radius: 16px;
    overflow: hidden;
    background: rgba(255,255,255,.62);
}

.fc-item-cover-trigger {
    width: 100%;
    height: 100%;
    min-height: 0;
    position: relative;
    display: block;
    padding: 10px;
    border: 0;
    background: transparent;
    cursor: zoom-in;
}

.fc-item-cover-trigger img {
    width: 100%;
    height: 100%;
    object-fit: contain;
    display: block;
    border-radius: 12px;
}

.fc-item-cover-hint {
    position: absolute;
    left: 14px;
    bottom: 14px;
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 7px 10px;
    border-radius: 999px;
    background: rgba(255,255,255,.72);
    color: #6c42d8;
    font-size: 12px;
    font-weight: 900;
}

.fc-item-content-inner {
    display: grid;
    gap: 16px;
}

.fc-item-title {
    margin: 0;
    color: var(--fc-ink-2);
    font-size: clamp(21px, 2.4vw, 30px);
    font-weight: 900;
    line-height: 1.12;
}

.fc-item-badges {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}

.fc-item-price .price {
    color: #c8328e;
    font-size: 26px;
    font-weight: 900;
}

.fc-form-stack .form-label {
    color: var(--fc-ink-2);
    font-weight: 900;
}

.fc-form-stack,
.fc-field,
.cash-pay {
    width: 100%;
    min-width: 0;
}

.fc-field .form-control,
.fc-field .form-select {
    width: 100%;
    min-width: 0;
}

.sku-list {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}

.sku {
    min-height: 38px;
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 0 12px;
    border-radius: 999px;
    font-weight: 900;
}

.badge-money {
    color: inherit;
    opacity: .82;
}

.form-control,
.form-select {
    min-height: 42px;
    border-radius: 14px !important;
}

.qty-group {
    width: 100%;
    display: grid !important;
    grid-template-columns: 44px minmax(0, 1fr) 44px;
    align-items: stretch;
    border-radius: 14px;
    overflow: hidden;
}

.qty-group button {
    width: 44px;
    min-width: 44px;
    border: 0;
    background: rgba(255,255,255,.54);
    color: #6c42d8;
    font-weight: 900;
}

.qty-group .form-control {
    min-width: 0;
    border-top-left-radius: 0 !important;
    border-bottom-left-radius: 0 !important;
    border-top-right-radius: 0 !important;
    border-bottom-right-radius: 0 !important;
}

.fc-captcha-group {
    width: 100%;
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) 116px;
    align-items: stretch;
    gap: 8px;
    border: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
}

.fc-captcha-group .captcha-input {
    min-width: 0;
    border-radius: 14px !important;
}

.fc-captcha-group .input-group-append {
    min-width: 0;
}

.fc-captcha-group .captcha-img {
    width: 116px;
    height: 42px;
    display: block;
    padding: 0 !important;
    border: 1px solid rgba(151,92,220,.18) !important;
    border-radius: 14px !important;
    background: rgba(255,255,255,.72) !important;
    object-fit: cover;
    cursor: pointer;
}

.optional-card {
    width: 100%;
    min-height: 42px;
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 0 14px;
    border-radius: 14px;
    font-weight: 900;
}

.fc-login-required-pay {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    padding: 14px;
    border: 1px dashed rgba(151,92,220,.24);
    border-radius: 16px;
    background: rgba(255,255,255,.52);
}

.floatcatalog-theme .pay-list {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(118px, 1fr));
    gap: 7px;
}

.floatcatalog-theme .pay-list .pay,
.floatcatalog-theme .pay-list .pay-test {
    min-height: 36px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 7px !important;
    padding: 6px 10px !important;
    border: 1px solid rgba(151,92,220,.18) !important;
    border-radius: 10px !important;
    background: rgba(255,255,255,.70) !important;
    color: var(--fc-ink) !important;
    font-size: 13px !important;
    font-weight: 900 !important;
    line-height: 1.2 !important;
    box-shadow: 0 8px 18px rgba(126,76,152,.08) !important;
    cursor: pointer;
}

.floatcatalog-theme .pay-list .pay:hover,
.floatcatalog-theme .pay-list .pay-test:hover {
    border-color: rgba(255,103,189,.44) !important;
    color: #c8328e !important;
    transform: translateY(-2px);
}

.floatcatalog-theme .pay-list .pay img,
.floatcatalog-theme .pay-list .pay-test img {
    width: 18px !important;
    height: 18px !important;
    flex: 0 0 18px !important;
    max-width: 18px !important;
    max-height: 18px !important;
    object-fit: contain !important;
    border-radius: 6px !important;
}

.floatcatalog-theme .pay-list .pay span,
.floatcatalog-theme .pay-list .pay-test span {
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.fc-description-body {
    padding: 20px 22px 24px;
    color: var(--fc-ink);
    line-height: 1.75;
    font-size: 15px;
    word-break: break-word;
}

.fc-description-body > *:first-child {
    margin-top: 0 !important;
}

.fc-description-body > *:last-child {
    margin-bottom: 0 !important;
}

.fc-description-body p,
.fc-description-body ul,
.fc-description-body ol,
.fc-description-body table,
.fc-description-body blockquote {
    margin: 0 0 14px;
}

.fc-description-body h1,
.fc-description-body h2,
.fc-description-body h3,
.fc-description-body h4 {
    margin: 18px 0 10px;
    color: var(--fc-ink-2);
    font-weight: 900;
    line-height: 1.25;
}

.fc-description-body img,
.fc-description-body video,
.fc-description-body iframe {
    max-width: 100%;
    height: auto;
    border-radius: 12px;
}

.fc-description-body img,
.fc-description-body video {
    display: block;
    margin: 12px auto;
}

.fc-description-body table {
    width: 100%;
    overflow: hidden;
    border-collapse: separate;
    border-spacing: 0;
    border: 1px solid rgba(151,92,220,.14);
    border-radius: 12px;
    background: rgba(255,255,255,.52);
}

.fc-description-body th,
.fc-description-body td {
    padding: 10px 12px;
    border-bottom: 1px solid rgba(151,92,220,.12);
    vertical-align: top;
}

.fc-description-body tr:last-child th,
.fc-description-body tr:last-child td {
    border-bottom: 0;
}

.fc-description-body blockquote {
    padding: 12px 14px;
    border-left: 4px solid rgba(255,103,189,.48);
    border-radius: 12px;
    background: rgba(255,246,252,.62);
}

.fc-page-hero {
    padding: 32px;
}

.fc-page-summary {
    margin: 10px 0 0;
    color: var(--fc-muted);
    line-height: 1.7;
}

.fc-hero-actions-inline {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    margin-top: 20px;
}

.fc-query-form {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 10px;
    padding: 18px;
}

.floatcatalog-theme .loading-state,
.floatcatalog-theme .no-results,
.floatcatalog-theme .order-results {
    margin-top: var(--fc-block-gap);
}

.floatcatalog-theme .fc-results-panel {
    padding: 18px;
}

.floatcatalog-theme .order-list {
    display: grid;
    gap: 16px;
}

.floatcatalog-theme .order-item {
    position: relative;
    overflow: hidden;
    padding: 18px;
    border: 1px solid rgba(151,92,220,.16);
    border-radius: 16px;
    background:
        radial-gradient(circle at 20px 20px, rgba(255,211,109,.13), transparent 72px),
        linear-gradient(135deg, rgba(255,255,255,.76), rgba(255,246,252,.58));
    box-shadow: 0 12px 28px rgba(126,76,152,.09);
}

.floatcatalog-theme .order-item::before {
    content: "";
    position: absolute;
    inset: 0 0 auto;
    height: 3px;
    background: linear-gradient(90deg, var(--fc-purple), var(--fc-pink), var(--fc-yellow));
}

.floatcatalog-theme .order-header {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 18px;
    padding-bottom: 16px;
    border-bottom: 1px solid rgba(151,92,220,.14);
}

.floatcatalog-theme .order-left {
    min-width: 0;
    display: flex;
    align-items: flex-start;
    gap: 12px;
}

.floatcatalog-theme .order-basic {
    min-width: 0;
    display: grid;
    gap: 5px;
    color: var(--fc-muted);
    font-size: 13px;
    font-weight: 800;
}

.floatcatalog-theme .order-no {
    color: var(--fc-ink-2);
    font-size: 15px;
    font-weight: 900;
}

.floatcatalog-theme .status-badge,
.floatcatalog-theme .shipment-badge,
.floatcatalog-theme .goods-sku {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    min-height: 24px;
    padding: 0 9px;
    border: 1px solid rgba(151,92,220,.16);
    border-radius: 999px;
    background: rgba(255,255,255,.72);
    color: #6c42d8;
    font-size: 12px;
    font-weight: 900;
    line-height: 1.2;
}

.floatcatalog-theme .status-paid,
.floatcatalog-theme .shipment-paid,
.floatcatalog-theme .a-badge-success {
    color: #0f8a61;
    border-color: rgba(35,185,135,.22);
    background: rgba(35,185,135,.12);
}

.floatcatalog-theme .status-pending,
.floatcatalog-theme .shipment-waiting,
.floatcatalog-theme .a-badge-warning {
    color: #b76b12;
    border-color: rgba(255,181,70,.28);
    background: rgba(255,213,109,.18);
}

.floatcatalog-theme .a-badge-primary {
    color: #6c42d8;
    border-color: rgba(138,88,246,.22);
    background: rgba(138,88,246,.10);
}

.floatcatalog-theme .order-right {
    flex: 0 0 auto;
    text-align: right;
}

.floatcatalog-theme .order-amount {
    display: grid;
    gap: 3px;
}

.floatcatalog-theme .amount-label {
    color: var(--fc-muted);
    font-size: 12px;
    font-weight: 900;
}

.floatcatalog-theme .amount-value {
    color: #c8328e;
    font-size: 24px;
    font-weight: 900;
}

.floatcatalog-theme .payment-method {
    display: inline-flex;
    align-items: center;
    gap: 5px;
}

.floatcatalog-theme .payment-icon {
    width: 18px;
    height: 18px;
    border-radius: 5px;
    object-fit: contain;
}

.floatcatalog-theme .goods-section {
    display: grid;
    grid-template-columns: 76px minmax(0, 1fr);
    gap: 14px;
    padding: 16px 0;
}

.floatcatalog-theme .goods-thumb {
    width: 76px;
    height: 76px;
    overflow: hidden;
    border: 1px solid rgba(151,92,220,.16);
    border-radius: 12px;
    background: rgba(255,255,255,.62);
}

.floatcatalog-theme .goods-image {
    width: 100%;
    height: 100%;
    display: block;
    object-fit: contain;
}

.floatcatalog-theme .goods-details {
    min-width: 0;
    display: grid;
    align-content: start;
    gap: 9px;
}

.floatcatalog-theme .goods-name {
    margin: 0;
    color: var(--fc-ink);
    font-size: 16px;
    font-weight: 900;
    line-height: 1.4;
}

.floatcatalog-theme .goods-meta {
    display: flex;
    flex-wrap: wrap;
    gap: 7px;
}

.floatcatalog-theme .card-section {
    margin-top: 2px;
    padding: 14px;
    border: 1px dashed rgba(151,92,220,.22);
    border-radius: 14px;
    background: rgba(255,255,255,.48);
}

.floatcatalog-theme .order-item .card-header {
    min-height: 0;
    padding: 0 0 10px;
    border: 0;
    background: transparent;
}

.floatcatalog-theme .order-item .card-title,
.floatcatalog-theme .shipment-title {
    margin: 0;
    color: var(--fc-ink-2);
    font-size: 15px !important;
    font-weight: 900;
}

.floatcatalog-theme .shipment-content {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
}

.floatcatalog-theme .card-display,
.floatcatalog-theme .card-content {
    overflow: auto;
    max-height: 320px;
    padding: 12px;
    border-radius: 12px;
    background: rgba(255,255,255,.72);
    color: var(--fc-ink);
    line-height: 1.7;
    word-break: break-word;
}

.floatcatalog-theme .password-form .input-group {
    width: 100%;
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 8px;
}

.floatcatalog-theme .password-form .card-password-input,
.floatcatalog-theme .password-form .form-control {
    width: 100% !important;
    min-width: 0;
    display: block;
    border-radius: 12px !important;
    color: var(--fc-ink) !important;
    background: rgba(255,255,255,.78) !important;
}

.floatcatalog-theme .password-form .card-password-input::placeholder {
    color: rgba(90,60,104,.62);
}

.floatcatalog-theme .view-card-btn {
    min-height: 42px;
    white-space: nowrap;
    border: 0;
    border-radius: 12px;
    background: linear-gradient(135deg, #8a58f6, #ff67bd 62%, #ffb36b);
    color: #fff;
    font-weight: 900;
}

.floatcatalog-theme .card-loading .loading-content {
    min-height: 76px;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 9px;
    color: var(--fc-ink-2);
    font-weight: 900;
}

.fc-empty-card {
    display: grid;
    place-items: center;
    gap: 8px;
    padding: 32px;
    text-align: center;
}

.fc-empty-card i {
    color: var(--fc-purple);
    font-size: 32px;
}

.fc-footer {
    width: min(1360px, calc(100% - 32px));
    margin: 0 auto 24px;
    padding: 14px 18px;
    border-radius: 18px;
    text-align: center;
    color: var(--fc-muted);
    font-weight: 800;
}

.fc-back-to-top {
    position: fixed;
    right: max(29px, env(safe-area-inset-right));
    bottom: max(72px, env(safe-area-inset-bottom));
    z-index: 1025;
    width: 46px;
    height: 46px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border: 1px solid rgba(151,92,220,.24);
    border-radius: 999px;
    background: rgba(255,255,255,.74);
    color: #6c42d8;
    box-shadow: var(--fc-shadow);
    opacity: 0;
    pointer-events: none;
    transform: translateY(12px) scale(.94);
    transition: opacity .2s ease, transform .2s ease, box-shadow .2s ease;
}

.fc-back-to-top.is-visible {
    opacity: 1;
    pointer-events: auto;
    transform: translateY(0) scale(1);
}

.fc-back-to-top:hover {
    background: #8a58f6;
    color: #fff;
    transform: translateY(-2px) scale(1.02);
}

.fc-layer-popup,
.fc-image-layer {
    border-radius: 22px !important;
    overflow: hidden !important;
}

.fc-notice-modal {
    padding: 22px;
    color: var(--fc-ink);
}

.fc-notice-title {
    display: flex;
    align-items: center;
    gap: 8px;
    margin: 0 0 12px;
    color: var(--fc-ink-2);
    font-weight: 900;
}

.fc-notice-popup-inner {
    max-height: min(62vh, 560px);
    overflow: auto;
    line-height: 1.75;
}

.fc-notice-popup-inner img {
    max-width: 100%;
    border-radius: 14px;
}

.fc-notice-actions {
    display: flex;
    justify-content: flex-end;
    gap: 10px;
    margin-top: 18px;
}

.fc-notice-tip {
    margin: 10px 0 0;
    color: var(--fc-muted);
    font-size: 12px;
    text-align: right;
}

.fc-image-preview {
    position: relative;
    padding: 0;
    background: transparent;
}

.fc-image-preview img {
    display: block;
    max-width: min(1100px, 94vw);
    max-height: 86vh;
    border-radius: 18px;
}

.fc-image-preview-close {
    position: absolute;
    right: 12px;
    top: 12px;
    z-index: 2;
    width: 34px;
    height: 34px;
    border: 0;
    border-radius: 999px;
    background: rgba(255,255,255,.82);
    color: var(--fc-ink);
    font-size: 22px;
    cursor: pointer;
}

.fc-atmosphere-particle-layer {
    position: fixed;
    inset: 0;
    z-index: 2147483000;
    overflow: hidden;
    pointer-events: none;
    contain: layout paint;
}

.fc-atmosphere-particle {
    position: absolute;
    left: var(--fc-particle-x, 50vw);
    bottom: -32px;
    width: var(--fc-particle-size, 18px);
    height: var(--fc-particle-size, 18px);
    display: inline-flex;
    align-items: center;
    justify-content: center;
    color: var(--fc-particle-color, var(--fc-pink));
    font-size: var(--fc-particle-size, 18px);
    font-weight: 900;
    line-height: 1;
    opacity: 0;
    text-shadow: 0 1px 0 rgba(255,255,255,.86);
    filter: drop-shadow(0 8px 14px rgba(126,76,152,.18)) drop-shadow(0 0 8px rgba(255,103,189,.12));
    transform: translate3d(-50%,0,0) scale(.72);
    animation: fcAtmosphereFloat var(--fc-particle-duration, 7.2s) cubic-bezier(.22,.64,.26,1) forwards;
}

@keyframes fcAtmosphereFloat {
    0% { opacity: 0; transform: translate3d(-50%,0,0) scale(.18); }
    8% { opacity: .78; transform: translate3d(-50%,-18px,0) scale(1); }
    100% { opacity: 0; transform: translate3d(calc(-50% + var(--fc-particle-drift,-18px)), var(--fc-particle-rise,-72vh), 0) scale(.88) rotate(28deg); }
}

#pjax-container.is-pjax-loading {
    opacity: .45;
    pointer-events: none;
    transition: opacity .16s ease;
}

html::-webkit-scrollbar,
#fc-category-tree::-webkit-scrollbar {
    width: 10px;
    height: 10px;
}

html::-webkit-scrollbar-track,
#fc-category-tree::-webkit-scrollbar-track {
    background: #fff8fd;
}

html::-webkit-scrollbar-thumb,
#fc-category-tree::-webkit-scrollbar-thumb {
    border: 2px solid #fff8fd;
    border-radius: 999px;
    background: linear-gradient(180deg, #ffbde4, #ff67bd, #8a58f6);
}

/* Dalin Blue stays opaque and crisp until the glass switch adds the liquid layer. */
body.floatcatalog-theme:not(.floatcatalog-liquid-theme) {
    background: #fffaf7 !important;
    color: #5a4650;
}

body.floatcatalog-theme:not(.floatcatalog-liquid-theme)::before {
    background: linear-gradient(180deg, rgba(255,250,247,.92), rgba(255,243,235,.84)) !important;
}

body.floatcatalog-theme:not(.floatcatalog-liquid-theme)::after {
    background: linear-gradient(120deg, rgba(255,255,255,.88), rgba(255,248,242,.62) 52%, rgba(255,239,230,.42)) !important;
}

body.floatcatalog-theme:not(.floatcatalog-liquid-theme) .fc-liquid-media {
    opacity: .28;
    filter: saturate(.72) brightness(1.08);
}

body.floatcatalog-theme:not(.floatcatalog-liquid-theme) .fc-nav,
body.floatcatalog-theme:not(.floatcatalog-liquid-theme) .fc-panel,
body.floatcatalog-theme:not(.floatcatalog-liquid-theme) .fc-hero-banner,
body.floatcatalog-theme:not(.floatcatalog-liquid-theme) .fc-footer,
body.floatcatalog-theme:not(.floatcatalog-liquid-theme) .fc-layer-popup,
body.floatcatalog-theme:not(.floatcatalog-liquid-theme) .component-popup {
    background: #fffaf7 !important;
    border-color: rgba(230,196,184,.58) !important;
    backdrop-filter: none !important;
    -webkit-backdrop-filter: none !important;
    box-shadow: 0 16px 36px rgba(120, 82, 70, .12) !important;
}

body.floatcatalog-theme:not(.floatcatalog-liquid-theme) .fc-nav::after,
body.floatcatalog-theme:not(.floatcatalog-liquid-theme) .fc-panel::before {
    display: none !important;
}

body.floatcatalog-theme:not(.floatcatalog-liquid-theme) .fc-panel-header {
    background: #fffaf7 !important;
    border-bottom-color: rgba(230,196,184,.34) !important;
}

body.floatcatalog-theme:not(.floatcatalog-liquid-theme) .fc-nav-link,
body.floatcatalog-theme:not(.floatcatalog-liquid-theme) .fc-button,
body.floatcatalog-theme:not(.floatcatalog-liquid-theme) .fc-user-chip,
body.floatcatalog-theme:not(.floatcatalog-liquid-theme) .fc-searchbox,
body.floatcatalog-theme:not(.floatcatalog-liquid-theme) .form-control,
body.floatcatalog-theme:not(.floatcatalog-liquid-theme) .form-select,
body.floatcatalog-theme:not(.floatcatalog-liquid-theme) .qty-group,
body.floatcatalog-theme:not(.floatcatalog-liquid-theme) .optional-card,
body.floatcatalog-theme:not(.floatcatalog-liquid-theme) .sku,
body.floatcatalog-theme:not(.floatcatalog-liquid-theme) .fc-action-btn,
body.floatcatalog-theme:not(.floatcatalog-liquid-theme) .fc-card-inner,
body.floatcatalog-theme:not(.floatcatalog-liquid-theme) .fc-category-link,
body.floatcatalog-theme:not(.floatcatalog-liquid-theme) .fc-table-wrap,
body.floatcatalog-theme:not(.floatcatalog-liquid-theme) .fc-item-cover-card,
body.floatcatalog-theme:not(.floatcatalog-liquid-theme) .fc-login-required-pay,
body.floatcatalog-theme:not(.floatcatalog-liquid-theme) .fc-description-panel,
body.floatcatalog-theme:not(.floatcatalog-liquid-theme) .pay-list .pay,
body.floatcatalog-theme:not(.floatcatalog-liquid-theme) .pay-list .pay-test {
    background: #fffaf7 !important;
    backdrop-filter: none !important;
    -webkit-backdrop-filter: none !important;
}

body.floatcatalog-theme:not(.floatcatalog-liquid-theme) .fc-category-link {
    min-height: 58px;
    border-radius: 14px !important;
    border-color: rgba(230,174,165,.42) !important;
    background: #fffaf7 !important;
    color: #76505b !important;
    box-shadow: 0 8px 18px rgba(170,106,97,.08), inset 0 1px 0 rgba(255,255,255,.96) !important;
}

body.floatcatalog-theme:not(.floatcatalog-liquid-theme) .fc-category-link:hover,
body.floatcatalog-theme:not(.floatcatalog-liquid-theme) .fc-category-link.is-active {
    border-color: rgba(224,133,142,.68) !important;
    background: #fff1eb !important;
    box-shadow: 0 12px 24px rgba(170,106,97,.14), 0 0 0 2px rgba(224,133,142,.08) !important;
}

body.floatcatalog-theme:not(.floatcatalog-liquid-theme) .fc-category-icon,
body.floatcatalog-theme:not(.floatcatalog-liquid-theme) .fc-current-cat-icon {
    width: 38px !important;
    height: 38px !important;
    flex-basis: 38px !important;
    border: 0 !important;
    border-radius: 10px !important;
    outline: 0 !important;
    box-shadow: none !important;
    background-color: transparent !important;
    filter: none !important;
}

body.floatcatalog-theme:not(.floatcatalog-liquid-theme) .fc-table-loading {
    background: rgba(255,250,247,.96) !important;
    backdrop-filter: none !important;
    -webkit-backdrop-filter: none !important;
}

@media (prefers-reduced-motion: reduce) {
    .fc-category-tree.is-floating .fc-category-row,
    .fc-atmosphere-particle-layer,
    .fc-brand-mark,
    .fc-commodity-card:hover .fc-commodity-thumb {
        animation: none !important;
    }
}

body.floatcatalog-theme.floatcatalog-liquid-theme .fc-category-link {
    backdrop-filter: none !important;
    -webkit-backdrop-filter: none !important;
}

body.floatcatalog-theme.floatcatalog-liquid-theme .fc-category-icon,
body.floatcatalog-theme.floatcatalog-liquid-theme .fc-current-cat-icon {
    border: 0 !important;
    outline: 0 !important;
    box-shadow: none !important;
    filter: none !important;
    transform: translateZ(0);
}

@media (max-width: 991px) {
    .fc-nav {
        align-items: stretch;
    }

    .fc-nav-main {
        align-items: stretch;
        flex-direction: column;
        padding-top: 12px;
    }

    .fc-nav-links,
    .fc-auth-actions {
        align-items: stretch;
        flex-direction: column;
    }

    .fc-nav-link,
    .fc-button,
    .fc-user-chip {
        width: 100%;
        justify-content: flex-start;
    }

    .fc-item-grid {
        grid-template-columns: 1fr;
    }

    .fc-inline-item-content .fc-item-grid {
        grid-template-columns: 1fr;
    }

    .fc-item-cover-card {
        min-height: 0;
        max-height: none;
        height: auto;
    }
}

@media (max-width: 767px) {
    :root {
        --fc-block-gap: 18px;
    }

    .fc-shell,
    .fc-nav-wrap,
    .fc-footer {
        width: calc(100% - 20px);
    }

    .fc-main {
        padding-bottom: 36px;
    }

    .fc-hero-banner {
        min-height: 256px;
        border-radius: 20px;
    }

    .fc-hero-banner::before {
        background:
            linear-gradient(180deg, rgba(255,255,255,.08) 0%, rgba(255,255,255,.16) 48%, rgba(255,255,255,.84) 100%),
            radial-gradient(circle at 22% 82%, rgba(255,103,189,.16), transparent 36%);
    }

    .fc-hero-title {
        left: 18px;
        right: 18px;
        top: 34px;
        gap: 4px;
        max-width: calc(100% - 36px);
    }

    .fc-hero-title span {
        font-size: clamp(28px, 9.4vw, 38px);
        line-height: .95;
        white-space: normal;
        text-wrap: balance;
    }

    .fc-hero-title strong {
        max-width: min(100%, 330px);
        font-size: clamp(12px, 3.8vw, 15px);
        line-height: 1.18;
        text-wrap: balance;
    }

    .fc-hero-actions {
        left: 18px;
        right: 18px;
        bottom: 12px;
    }

    .fc-action-buttons {
        gap: 6px;
        max-height: 58px;
        overflow: hidden;
    }

    .fc-action-btn {
        max-width: calc(50% - 4px);
        min-height: 28px;
        padding: 0 9px;
        border-radius: 10px;
        font-size: 11px;
        line-height: 1.15;
        white-space: nowrap;
        overflow: hidden;
        text-overflow: ellipsis;
    }

    .fc-panel-header {
        align-items: stretch;
        flex-direction: column;
        padding: 16px;
    }

    .fc-catalog-tools {
        width: 100%;
        margin-right: 0;
    }

    .fc-search-combo,
    .fc-query-form {
        grid-template-columns: 1fr;
    }

    .fc-category-tree {
        gap: 9px;
    }

    .fc-category-link {
        min-height: 52px;
        padding: 8px 11px;
        min-width: 0;
    }

    .fc-category-icon {
        width: 34px;
        height: 34px;
        flex-basis: 34px;
    }

    .fc-category-name {
        max-width: min(58vw, 220px);
        font-size: .9rem;
    }

    .fc-table-wrap {
        padding: 12px;
    }

    .fc-commodity-grid {
        grid-template-columns: 1fr;
    }

    .fc-commodity-thumb {
        width: 76px;
        height: 76px;
        flex-basis: 76px;
    }

    .fc-item-grid,
    .fc-inline-item-content .fc-item-grid {
        gap: 12px;
        padding: 12px;
    }

    .fc-inline-item-body {
        padding: 12px;
    }

    .fc-inline-item-content .fc-item-cover-card,
    .fc-item-cover-card {
        width: min(100%, 220px);
        margin: 0 auto;
        max-height: none;
    }

    .fc-item-content-inner {
        gap: 13px;
    }

    .fc-item-title {
        font-size: 20px;
        line-height: 1.18;
        word-break: break-word;
    }

    .fc-item-badges {
        gap: 6px;
    }

    .fc-item-price .price {
        font-size: 23px;
    }

    .fc-form-stack {
        gap: 12px !important;
    }

    .fc-field {
        display: grid;
        gap: 6px;
    }

    .sku-list {
        gap: 7px;
    }

    .sku {
        max-width: 100%;
        min-height: 34px;
        padding: 0 10px;
        border-radius: 14px;
        font-size: 12px;
        line-height: 1.2;
    }

    .sku-label {
        min-width: 0;
        overflow: hidden;
        text-overflow: ellipsis;
        white-space: nowrap;
    }

    .badge-money {
        flex: 0 0 auto;
    }

    .fc-field .form-control,
    .fc-field .form-select,
    .qty-group,
    .optional-card,
    .fc-captcha-group .captcha-img {
        min-height: 42px;
        border-radius: 14px !important;
    }

    .qty-group {
        grid-template-columns: 42px minmax(0, 1fr) 42px;
    }

    .qty-group button {
        width: 42px;
        min-width: 42px;
    }

    .fc-captcha-group {
        grid-template-columns: minmax(0, 1fr) 104px;
        gap: 7px;
    }

    .fc-captcha-group .captcha-img {
        width: 104px;
    }

    .fc-login-required-pay {
        align-items: stretch;
        flex-direction: column;
    }

    .fc-login-required-pay .fc-button {
        width: 100%;
        justify-content: center;
    }

    .floatcatalog-theme .pay-list {
        grid-template-columns: 1fr;
        gap: 8px;
    }

    .floatcatalog-theme .pay-list .pay,
    .floatcatalog-theme .pay-list .pay-test {
        min-height: 42px !important;
        width: 100% !important;
        justify-content: center !important;
        font-size: 13px !important;
    }

    .floatcatalog-theme .fc-results-panel {
        padding: 12px;
    }

    .floatcatalog-theme .order-item {
        padding: 14px;
    }

    .floatcatalog-theme .order-header,
    .floatcatalog-theme .order-left {
        flex-direction: column;
        align-items: stretch;
    }

    .floatcatalog-theme .order-right {
        text-align: left;
    }

    .floatcatalog-theme .goods-section {
        grid-template-columns: 64px minmax(0, 1fr);
        gap: 10px;
    }

    .floatcatalog-theme .goods-thumb {
        width: 64px;
        height: 64px;
    }

    .floatcatalog-theme .password-form .input-group {
        grid-template-columns: 1fr;
    }

    .fc-back-to-top {
        right: 14px;
        bottom: 16px;
        width: 42px;
        height: 42px;
    }

    .fc-notice-actions {
        flex-direction: column;
    }
}

@media (max-width: 767px) {
    body.floatcatalog-theme:not(.floatcatalog-liquid-theme) .fc-category-icon,
    body.floatcatalog-theme:not(.floatcatalog-liquid-theme) .fc-current-cat-icon {
        width: 34px !important;
        height: 34px !important;
        flex-basis: 34px !important;
    }
}

/* Keep the three visible primary controls readable in every Dalin Blue state. */
body.floatcatalog-theme:not(.floatcatalog-liquid-theme) .fc-primary-contrast,
body.floatcatalog-theme:not(.floatcatalog-liquid-theme) .fc-nav-link.fc-primary-contrast.is-active {
    border-color: #5b78e8 !important;
    background: linear-gradient(135deg, #3569d8 0%, #4d86ed 52%, #785de4 100%) !important;
    color: #fff !important;
    opacity: 1 !important;
    box-shadow: 0 12px 28px rgba(67, 92, 205, .28) !important;
    text-shadow: 0 1px 2px rgba(25, 42, 105, .32) !important;
}

body.floatcatalog-theme:not(.floatcatalog-liquid-theme) .fc-primary-contrast > * {
    color: #fff !important;
    opacity: 1 !important;
    visibility: visible !important;
}

body.floatcatalog-theme:not(.floatcatalog-liquid-theme) .fc-primary-contrast:hover,
body.floatcatalog-theme:not(.floatcatalog-liquid-theme) .fc-nav-link.fc-primary-contrast.is-active:hover {
    border-color: #4c69d6 !important;
    background: linear-gradient(135deg, #2f60cb 0%, #3f78e2 52%, #684dce 100%) !important;
    color: #fff !important;
    box-shadow: 0 15px 32px rgba(67, 92, 205, .34) !important;
}
