:root {
    --uf-soft: #f2efea;
    --uf-muted: rgba(242,239,234,.74);
    --uf-gold: #d7b86a;
    --uf-gold-light: #fff1bd;
    --uf-heading: "Cinzel", serif;
    --uf-body: "Open Sans", Arial, sans-serif;
}

html.uf-sidecart-html-locked {
    overflow: hidden !important;
    overscroll-behavior: none !important;
}

body.uf-sidecart-open,
body.uf-sidecart-scroll-fixed {
    overflow: hidden !important;
    overscroll-behavior: none !important;
}

body.uf-sidecart-scroll-fixed {
    box-sizing: border-box !important;
    position: fixed !important;
    left: 0 !important;
    right: 0 !important;
    width: 100% !important;
}

.uf-sidecart-overlay {
    position: fixed;
    inset: 0;
    background: rgba(0,0,0,.56);
    backdrop-filter: blur(7px);
    -webkit-backdrop-filter: blur(7px);
    z-index: 2147482998;
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    transition: opacity .28s ease, visibility .28s ease;
    overscroll-behavior: none !important;
    touch-action: none !important;
}

html.uf-sidecart-open .uf-sidecart-overlay,
body.uf-sidecart-open .uf-sidecart-overlay {
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
}

.uf-sidecart-drawer {
    position: fixed;
    top: 12px;
    right: 12px;
    width: min(500px, calc(100vw - 24px));
    height: calc(100vh - 24px);
    height: calc(100dvh - 24px);
    z-index: 2147482999;
    visibility: hidden;
    color: var(--uf-soft);
    font-family: var(--uf-body);
    background:
        radial-gradient(circle at 15% 0%, rgba(255,241,189,.15), transparent 34%),
        radial-gradient(circle at 85% 16%, rgba(192,192,192,.11), transparent 32%),
        linear-gradient(145deg, rgba(25,25,25,.98), rgba(5,5,5,.98) 62%, rgba(9,9,9,.99));
    border: 1px solid rgba(215,184,106,.28);
    border-right: 1px solid rgba(255,241,189,.2);
    border-radius: 30px 0 0 30px;
    box-shadow:
        -24px 24px 80px rgba(0,0,0,.62),
        inset 0 1px 0 rgba(255,255,255,.08),
        inset 1px 0 0 rgba(255,241,189,.07);
    transform: translateX(calc(100% + 24px));
    transition: transform .36s cubic-bezier(.2,.8,.2,1), visibility 0s linear .36s;
    display: flex;
    flex-direction: column;
    overflow: hidden;
    overscroll-behavior: contain !important;
    overscroll-behavior-y: contain !important;
}

html.uf-sidecart-open .uf-sidecart-drawer,
body.uf-sidecart-open .uf-sidecart-drawer {
    transform: translateX(0);
    visibility: visible;
    transition-delay: 0s;
}

.uf-sidecart-drawer * {
    box-sizing: border-box;
}

.uf-sidecart-toast {
    position: fixed;
    right: 28px;
    bottom: 28px;
    z-index: 2147483000;
    max-width: min(370px, calc(100vw - 40px));
    padding: 14px 16px;
    border-radius: 18px;
    background:
        radial-gradient(circle at 12% 0%, rgba(255,241,189,.18), transparent 36%),
        linear-gradient(145deg, rgba(20,20,20,.98), rgba(5,5,5,.98));
    border: 1px solid rgba(255,241,189,.38);
    color: var(--uf-soft);
    font-family: var(--uf-body);
    font-size: 14px;
    font-weight: 800;
    line-height: 1.45;
    box-shadow:
        0 18px 42px rgba(0,0,0,.5),
        0 0 24px rgba(215,184,106,.12),
        inset 0 1px 0 rgba(255,255,255,.08);
    opacity: 0;
    visibility: hidden;
    transform: translateY(16px) scale(.96);
    pointer-events: none;
    transition: opacity .24s ease, visibility .24s ease, transform .24s ease;
}

.uf-sidecart-toast.uf-show {
    opacity: 1;
    visibility: visible;
    transform: translateY(0) scale(1);
}

.uf-sidecart-toast.uf-show-confirm {
    pointer-events: auto;
    max-width: min(420px, calc(100vw - 40px));
}

.uf-sidecart-toast strong {
    color: var(--uf-gold-light);
}

.uf-sidecart-toast-actions {
    display: flex;
    gap: 8px;
    margin-top: 11px;
}

.uf-sidecart-toast-btn {
    flex: 1;
    min-height: 37px;
    border-radius: 999px;
    border: 1px solid rgba(215,184,106,.4);
    background: rgba(255,255,255,.06);
    color: var(--uf-soft);
    font-size: 11.5px;
    font-weight: 900;
    letter-spacing: .04em;
    text-transform: uppercase;
    cursor: pointer;
    transition: transform .18s ease, background .18s ease, filter .18s ease;
}

.uf-sidecart-toast-yes {
    background: linear-gradient(135deg, #7d5b1b, #d7b86a 42%, #fff1bd 58%, #b88a32);
    color: #080808;
    border-color: transparent;
}

.uf-sidecart-toast-btn:hover {
    transform: translateY(-1px);
    filter: brightness(1.05);
}

.uf-sidecart-header {
    padding: 22px 22px 17px;
    border-bottom: 1px solid rgba(215,184,106,.18);
    background:
        linear-gradient(180deg, rgba(255,255,255,.06), rgba(255,255,255,.015)),
        rgba(0,0,0,.16);
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 14px;
    overscroll-behavior: none !important;
}

.uf-sidecart-title {
    margin: 0;
    color: var(--uf-soft);
    font-family: var(--uf-heading);
    font-size: 24px;
    line-height: 1.05;
    letter-spacing: .09em;
    text-transform: uppercase;
}

.uf-sidecart-subtitle {
    display: block;
    margin-top: 6px;
    color: var(--uf-muted);
    font-size: 13.5px;
    line-height: 1.35;
}

.uf-sidecart-header-actions {
    display: flex;
    align-items: center;
    gap: 9px;
    flex-shrink: 0;
}

.uf-sidecart-header-btn {
    border: 1px solid rgba(215,184,106,.3);
    background: rgba(255,255,255,.055);
    color: var(--uf-soft);
    cursor: pointer;
    transition: transform .22s ease, border-color .22s ease, background .22s ease, color .22s ease;
}

.uf-sidecart-refresh {
    min-height: 38px;
    padding: 0 13px;
    border-radius: 999px;
    display: inline-flex;
    align-items: center;
    gap: 7px;
    font-size: 12px;
    font-weight: 900;
    letter-spacing: .06em;
    text-transform: uppercase;
}

.uf-sidecart-close {
    width: 39px;
    height: 39px;
    border-radius: 999px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-size: 24px;
    line-height: 1;
}

.uf-sidecart-header-btn:hover {
    transform: translateY(-2px);
    border-color: rgba(255,241,189,.72);
    background: rgba(215,184,106,.12);
    color: var(--uf-gold-light);
}

.uf-sidecart-body {
    flex: 1;
    overflow-y: auto;
    padding: 18px;
    scrollbar-width: thin;
    scrollbar-color: rgba(215,184,106,.58) rgba(255,255,255,.06);
    overscroll-behavior: contain !important;
    overscroll-behavior-y: contain !important;
    -webkit-overflow-scrolling: touch !important;
    touch-action: pan-y !important;
}

.uf-sidecart-body::-webkit-scrollbar {
    width: 8px;
}

.uf-sidecart-body::-webkit-scrollbar-track {
    background: rgba(255,255,255,.055);
}

.uf-sidecart-body::-webkit-scrollbar-thumb {
    background: linear-gradient(180deg, #fff1bd, #d7b86a, #8d6320);
    border-radius: 999px;
}

/*
 * While a request is in flight, block interaction with the cart body/
 * footer so a second click can't fire mid-update - but don't dim or
 * fade anything. The content underneath just swaps in place once the
 * response arrives, so there's no visible "flash" at all.
 */
.uf-sidecart-loading .uf-sidecart-body,
.uf-sidecart-loading .uf-sidecart-footer-wrap {
    pointer-events: none;
}

.uf-sidecart-notice {
    margin: 0 0 14px;
    padding: 13px 14px;
    border-radius: 18px;
    border: 1px solid rgba(215,184,106,.2);
    background:
        linear-gradient(135deg, rgba(215,184,106,.11), rgba(255,255,255,.035)),
        rgba(0,0,0,.18);
    color: rgba(242,239,234,.86);
    font-size: 14px;
    line-height: 1.5;
}

.uf-sidecart-item {
    display: grid;
    grid-template-columns: 92px 1fr;
    gap: 14px;
    margin-bottom: 14px;
    padding: 14px;
    border-radius: 22px;
    background:
        linear-gradient(140deg, rgba(255,255,255,.07), rgba(255,255,255,.025)),
        rgba(7,7,7,.65);
    border: 1px solid rgba(215,184,106,.18);
    box-shadow:
        0 14px 32px rgba(0,0,0,.3),
        inset 0 1px 0 rgba(255,255,255,.055);
    position: relative;
    overflow: hidden;
}

.uf-sidecart-item:before {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(115deg, transparent 0%, rgba(255,241,189,.09) 48%, transparent 100%);
    transform: translateX(-75%);
    opacity: 0;
    transition: transform .7s ease, opacity .25s ease;
    pointer-events: none;
}

.uf-sidecart-item:hover:before {
    transform: translateX(75%);
    opacity: 1;
}

.uf-sidecart-thumb {
    width: 92px;
    height: 110px;
    border-radius: 18px;
    overflow: hidden;
    background:
        radial-gradient(circle at 50% 12%, rgba(255,255,255,.08), transparent 38%),
        rgba(0,0,0,.38);
    border: 1px solid rgba(255,255,255,.09);
    display: flex;
    align-items: center;
    justify-content: center;
    position: relative;
    z-index: 2;
}

.uf-sidecart-thumb img {
    width: 100%;
    height: 100%;
    object-fit: contain;
    padding: 7px;
    display: block;
}

.uf-sidecart-info {
    min-width: 0;
    position: relative;
    z-index: 2;
}

.uf-sidecart-product-title {
    display: block;
    color: var(--uf-soft);
    text-decoration: none !important;
    font-weight: 900;
    font-size: 15.8px;
    line-height: 1.35;
    margin-bottom: 7px;
}

.uf-sidecart-product-title:hover {
    color: var(--uf-gold-light);
}

.uf-sidecart-meta {
    color: rgba(242,239,234,.68);
    font-size: 13px;
    line-height: 1.45;
    margin-bottom: 10px;
}

.uf-sidecart-line {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
}

.uf-sidecart-qty {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 5px;
    border-radius: 999px;
    background: rgba(255,255,255,.06);
    border: 1px solid rgba(215,184,106,.22);
}

.uf-qty-btn {
    width: 32px;
    height: 32px;
    border-radius: 999px;
    border: 1px solid rgba(215,184,106,.34);
    background: rgba(0,0,0,.42);
    color: var(--uf-soft);
    cursor: pointer;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    line-height: 1;
    font-size: 18px;
    font-weight: 900;
    transition: transform .18s ease, background .18s ease, border-color .18s ease, color .18s ease, box-shadow .18s ease;
}

.uf-qty-btn:hover {
    transform: scale(1.07);
    background: linear-gradient(135deg, #7d5b1b, #d7b86a 42%, #fff1bd 58%, #b88a32);
    color: #070707;
    border-color: rgba(255,241,189,.75);
    box-shadow: 0 8px 18px rgba(215,184,106,.22);
}

.uf-qty-number {
    min-width: 27px;
    text-align: center;
    color: var(--uf-soft);
    font-weight: 900;
    font-size: 14px;
}

.uf-sidecart-price {
    text-align: right;
    font-size: 15px;
    line-height: 1.2;
    white-space: nowrap;
}

.uf-sidecart-remove {
    margin-top: 11px;
    display: inline-flex;
    color: rgba(242,239,234,.65);
    font-size: 13px;
    font-weight: 700;
    text-decoration: none !important;
    cursor: pointer;
    transition: color .2s ease;
}

.uf-sidecart-remove:hover {
    color: #ffb7b7;
}

.uf-money,
.uf-money .woocommerce-Price-amount,
.uf-money bdi,
.uf-money .woocommerce-Price-currencySymbol,
.uf-floating-cart-total,
.uf-floating-cart-total .woocommerce-Price-amount,
.uf-floating-cart-total bdi,
.uf-floating-cart-total .woocommerce-Price-currencySymbol,
.uf-sidecart-total-amount,
.uf-sidecart-total-amount .woocommerce-Price-amount,
.uf-sidecart-total-amount bdi,
.uf-sidecart-total-amount .woocommerce-Price-currencySymbol {
    color: #f3d27a !important;
    font-weight: 950 !important;
    text-shadow:
        0 0 12px rgba(215,184,106,.18),
        0 1px 0 rgba(255,255,255,.12);
}

.uf-sidecart-empty {
    min-height: 285px;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    text-align: center;
    padding: 34px 20px;
    border-radius: 26px;
    background:
        radial-gradient(circle at 50% 0%, rgba(215,184,106,.14), transparent 42%),
        rgba(255,255,255,.04);
    border: 1px solid rgba(215,184,106,.18);
}

.uf-sidecart-empty-icon {
    width: 72px;
    height: 72px;
    border-radius: 999px;
    display: flex;
    align-items: center;
    justify-content: center;
    margin-bottom: 16px;
    background: linear-gradient(135deg, rgba(125,91,27,.8), rgba(215,184,106,.82), rgba(255,241,189,.72));
    border: 1px solid rgba(255,241,189,.45);
    color: #070707;
    box-shadow: 0 14px 28px rgba(215,184,106,.16);
}

.uf-sidecart-empty h3 {
    margin: 0 0 9px;
    color: var(--uf-soft);
    font-family: var(--uf-heading);
    letter-spacing: .08em;
    text-transform: uppercase;
    font-size: 18px;
}

.uf-sidecart-empty p {
    margin: 0 0 20px;
    color: var(--uf-muted);
    font-size: 14.5px;
    line-height: 1.58;
    max-width: 330px;
}

.uf-sidecart-addon {
    margin: 18px 0;
    padding: 15px;
    border-radius: 24px;
    border: 1px solid rgba(255,241,189,.34);
    background:
        radial-gradient(circle at 18% 0%, rgba(255,241,189,.20), transparent 38%),
        radial-gradient(circle at 85% 20%, rgba(215,184,106,.16), transparent 36%),
        linear-gradient(145deg, rgba(255,255,255,.08), rgba(255,255,255,.024)),
        rgba(0,0,0,.34);
    box-shadow:
        0 16px 34px rgba(0,0,0,.34),
        0 0 22px rgba(215,184,106,.08),
        inset 0 1px 0 rgba(255,255,255,.08);
    position: relative;
    overflow: hidden;
}

.uf-sidecart-addon:before {
    content: "";
    position: absolute;
    top: -70%;
    left: -90%;
    width: 68%;
    height: 230%;
    background: linear-gradient(90deg, transparent, rgba(255,255,255,.17), rgba(255,241,189,.24), transparent);
    transform: rotate(24deg);
    transition: left .78s ease;
    pointer-events: none;
}

.uf-sidecart-addon:hover:before {
    left: 130%;
}

.uf-sidecart-addon-inner {
    position: relative;
    z-index: 2;
    display: grid;
    grid-template-columns: 94px 1fr;
    gap: 14px;
    align-items: center;
}

.uf-sidecart-addon-image {
    width: 94px;
    height: 98px;
    border-radius: 22px;
    background:
        radial-gradient(circle at center, rgba(255,241,189,.20), transparent 62%),
        rgba(0,0,0,.36);
    border: 1px solid rgba(255,255,255,.10);
    display: flex;
    align-items: center;
    justify-content: center;
    overflow: hidden;
}

.uf-sidecart-addon-image img {
    width: 100%;
    height: 100%;
    object-fit: contain;
    padding: 8px;
}

.uf-sidecart-addon-kicker {
    display: inline-flex;
    align-items: center;
    margin-bottom: 7px;
    color: var(--uf-gold-light);
    font-size: 10.5px;
    font-weight: 950;
    letter-spacing: .12em;
    text-transform: uppercase;
}

.uf-sidecart-addon h3 {
    margin: 0 0 7px;
    color: #ffffff;
    font-family: var(--uf-heading);
    font-size: 17.5px;
    line-height: 1.18;
    letter-spacing: .08em;
    text-transform: uppercase;
}

.uf-sidecart-addon p {
    margin: 0 0 10px;
    color: rgba(242,239,234,.76);
    font-size: 13.3px;
    line-height: 1.55;
}

.uf-sidecart-addon-product {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    margin-bottom: 11px;
    padding-top: 10px;
    border-top: 1px solid rgba(255,255,255,.08);
}

.uf-sidecart-addon-product strong {
    color: var(--uf-soft);
    font-size: 13px;
    line-height: 1.25;
}

.uf-sidecart-addon-price {
    color: var(--uf-gold-light);
    font-size: 13px;
    font-weight: 950;
    white-space: nowrap;
}

.uf-sidecart-addon-add {
    width: 100%;
    min-height: 42px;
    border-radius: 999px;
    border: 1px solid rgba(255,241,189,.55);
    background: linear-gradient(135deg, #7d5b1b 0%, #d7b86a 38%, #fff1bd 55%, #b88a32 82%, #6c4a14 100%);
    color: #070707 !important;
    font-size: 11.5px;
    font-weight: 950;
    letter-spacing: .08em;
    text-transform: uppercase;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    text-decoration: none !important;
    cursor: pointer;
    transition: transform .2s ease, box-shadow .2s ease, filter .2s ease;
}

.uf-sidecart-addon-add:hover,
.uf-sidecart-addon-add.uf-loading {
    transform: translateY(-2px);
    filter: brightness(1.06) saturate(1.08);
    box-shadow: 0 12px 24px rgba(215,184,106,.28);
}

.uf-sidecart-addon-added {
    min-height: 42px;
    border-radius: 999px;
    border: 1px solid rgba(255,241,189,.30);
    background: rgba(255,255,255,.05);
    color: var(--uf-gold-light);
    font-size: 11.5px;
    font-weight: 950;
    letter-spacing: .08em;
    text-transform: uppercase;
    display: inline-flex;
    align-items: center;
    justify-content: center;
}

.uf-sidecart-footer-wrap:empty {
    display: none;
}

/* Lightweight placeholder shown until the cart's first load completes. */
.uf-sidecart-skeleton span {
    display: block;
    height: 124px;
    margin-bottom: 14px;
    border-radius: 22px;
    border: 1px solid rgba(215,184,106,.12);
    background: linear-gradient(100deg, rgba(255,255,255,.035) 30%, rgba(255,241,189,.09) 50%, rgba(255,255,255,.035) 70%);
    background-size: 220% 100%;
    animation: uf-skeleton 1.2s ease-in-out infinite;
}

@keyframes uf-skeleton {
    from { background-position: 120% 0; }
    to   { background-position: -120% 0; }
}

@media (prefers-reduced-motion: reduce) {
    .uf-sidecart-skeleton span { animation: none; }
}

.uf-sidecart-footer-wrap {
    border-top: 1px solid rgba(215,184,106,.18);
    background:
        linear-gradient(180deg, rgba(255,255,255,.035), rgba(255,255,255,.065)),
        #070707;
    box-shadow: 0 -16px 36px rgba(0,0,0,.24);
    overscroll-behavior: none !important;
}

.uf-sidecart-footer {
    padding: 16px 18px 18px;
}

.uf-sidecart-coupon-form {
    margin-bottom: 10px;
}

.uf-sidecart-coupon-toggle {
    width: 100%;
    min-height: 32px;
    padding: 0 12px;
    border-radius: 999px;
    border: 1px dashed rgba(215,184,106,.4);
    background: rgba(255,255,255,.03);
    color: var(--uf-gold-light);
    font-size: 11px;
    font-weight: 900;
    letter-spacing: .04em;
    text-transform: uppercase;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 6px;
    transition: border-color .2s ease, background .2s ease, transform .2s ease;
}

.uf-sidecart-coupon-toggle:hover {
    border-color: rgba(255,241,189,.7);
    background: rgba(215,184,106,.08);
}

.uf-sidecart-coupon-toggle:before {
    content: "%";
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 15px;
    height: 15px;
    border-radius: 999px;
    background: linear-gradient(135deg, #7d5b1b, #d7b86a 42%, #fff1bd 58%, #b88a32);
    color: #080808;
    font-size: 9px;
    font-weight: 950;
    flex-shrink: 0;
}

.uf-sidecart-coupon-input-row {
    display: none;
    gap: 8px;
    margin-top: 8px;
}

.uf-sidecart-coupon-form.uf-open .uf-sidecart-coupon-input-row {
    display: flex;
}

.uf-sidecart-coupon-form.uf-open .uf-sidecart-coupon-toggle {
    display: none;
}

.uf-sidecart-coupon-input {
    flex: 1;
    min-width: 0;
    min-height: 34px;
    padding: 0 12px;
    border-radius: 999px;
    border: 1px solid rgba(215,184,106,.32);
    background: rgba(0,0,0,.4);
    color: var(--uf-soft);
    font-size: 12.5px;
    font-family: var(--uf-body);
}

.uf-sidecart-coupon-input::placeholder {
    color: rgba(242,239,234,.45);
}

.uf-sidecart-coupon-input:focus {
    outline: none;
    border-color: rgba(255,241,189,.75);
    box-shadow: 0 0 0 3px rgba(215,184,106,.15);
}

.uf-sidecart-coupon-apply {
    flex-shrink: 0;
    min-height: 34px;
    padding: 0 14px;
    border-radius: 999px;
    border: 1px solid rgba(255,241,189,.55);
    background: linear-gradient(135deg, #7d5b1b 0%, #d7b86a 38%, #fff1bd 55%, #b88a32 82%, #6c4a14 100%);
    color: #080808 !important;
    font-size: 11px;
    font-weight: 950;
    letter-spacing: .06em;
    text-transform: uppercase;
    cursor: pointer;
    transition: transform .2s ease, filter .2s ease;
}

.uf-sidecart-coupon-apply:hover,
.uf-sidecart-coupon-apply.uf-loading {
    transform: translateY(-1px);
    filter: brightness(1.06);
}

.uf-sidecart-discount-label {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 6px;
    color: rgba(242,239,234,.78);
    font-size: 12px;
    font-weight: 700;
}

.uf-sidecart-coupon-code {
    display: inline-flex;
    align-items: center;
    padding: 1px 8px;
    border-radius: 999px;
    background: rgba(215,184,106,.14);
    border: 1px solid rgba(215,184,106,.32);
    color: var(--uf-gold-light);
    font-size: 10px;
    font-weight: 900;
    letter-spacing: .04em;
    text-transform: uppercase;
}

.uf-sidecart-coupon-remove {
    color: rgba(242,239,234,.55);
    font-size: 11px;
    font-weight: 700;
    text-decoration: underline !important;
    cursor: pointer;
}

.uf-sidecart-coupon-remove:hover {
    color: #ffb7b7;
}

.uf-sidecart-discount-amount {
    color: #9fe3b0 !important;
    font-weight: 900 !important;
    text-shadow: none !important;
}

.uf-sidecart-grand-row {
    padding-top: 12px;
    margin-top: 2px;
    border-top: 1px solid rgba(215,184,106,.22);
}

.uf-sidecart-total-row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 14px;
    margin-bottom: 14px;
}

.uf-sidecart-total-row span:first-child {
    color: rgba(242,239,234,.78);
    font-size: 14px;
    font-weight: 900;
    letter-spacing: .08em;
    text-transform: uppercase;
}

.uf-sidecart-total-amount {
    font-size: 21px;
    line-height: 1.15;
    white-space: nowrap;
}

.uf-sidecart-actions {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 8px;
}

.uf-sidecart-btn,
.uf-sidecart-suggest-add {
    border-radius: 999px;
    text-decoration: none !important;
    text-transform: uppercase;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    text-align: center;
    cursor: pointer;
    transition: transform .22s ease, box-shadow .22s ease, border-color .22s ease, background .22s ease, color .22s ease, filter .22s ease;
}

.uf-sidecart-btn {
    min-height: 40px;
    padding: 9px 12px;
    font-weight: 950;
    font-size: 11.5px;
    letter-spacing: .06em;
    border: 1px solid rgba(215,184,106,.34);
    position: relative;
    overflow: hidden;
}

.uf-sidecart-btn:before {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(110deg, transparent 0%, rgba(255,255,255,.3) 42%, transparent 70%);
    transform: translateX(-120%);
    transition: transform .7s ease;
    pointer-events: none;
}

.uf-sidecart-btn:hover:before {
    transform: translateX(120%);
}

.uf-sidecart-btn:hover {
    transform: translateY(-2px);
}

.uf-sidecart-btn-secondary {
    color: var(--uf-soft) !important;
    background:
        linear-gradient(135deg, rgba(255,255,255,.08), rgba(255,255,255,.025)),
        rgba(0,0,0,.35);
}

.uf-sidecart-btn-secondary:hover {
    border-color: rgba(255,241,189,.72);
    background: rgba(215,184,106,.1);
    color: var(--uf-gold-light) !important;
}

.uf-sidecart-btn-primary {
    color: #080808 !important;
    background: linear-gradient(135deg, #7d5b1b 0%, #d7b86a 36%, #fff1bd 53%, #b88a32 78%, #6c4a14 100%);
    border-color: rgba(255,241,189,.56);
    box-shadow: 0 14px 28px rgba(215,184,106,.24);
}

.uf-sidecart-btn-primary:hover {
    filter: saturate(1.08) brightness(1.04);
    box-shadow: 0 18px 34px rgba(215,184,106,.34);
}

.uf-sidecart-clear-cart {
    display: block;
    width: 100%;
    margin-top: 12px;
    padding: 8px 10px;
    background: transparent;
    border: none;
    color: rgba(242,239,234,.42);
    font-size: 11px;
    font-weight: 700;
    letter-spacing: .08em;
    text-transform: uppercase;
    text-align: center;
    cursor: pointer;
    transition: color .2s ease;
}

.uf-sidecart-clear-cart:hover,
.uf-sidecart-clear-cart:focus-visible {
    color: rgba(255,138,128,.85);
}

.uf-sidecart-suggestions {
    margin-top: 20px;
    padding-top: 18px;
    border-top: 1px solid rgba(215,184,106,.15);
}

.uf-sidecart-section-title {
    margin: 0 0 13px;
    color: var(--uf-soft);
    font-family: var(--uf-heading);
    font-size: 15px;
    letter-spacing: .1em;
    text-transform: uppercase;
}

.uf-sidecart-suggest-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 12px;
}

.uf-sidecart-suggest {
    border-radius: 22px;
    padding: 11px;
    background:
        linear-gradient(145deg, rgba(255,255,255,.065), rgba(255,255,255,.02)),
        rgba(0,0,0,.28);
    border: 1px solid rgba(215,184,106,.16);
    color: var(--uf-soft);
    overflow: hidden;
    transition: transform .22s ease, border-color .22s ease, background .22s ease, box-shadow .22s ease;
}

.uf-sidecart-suggest:hover {
    transform: translateY(-3px);
    border-color: rgba(255,241,189,.42);
    background: rgba(215,184,106,.07);
    box-shadow: 0 14px 28px rgba(0,0,0,.26);
}

.uf-sidecart-suggest-img {
    height: 112px;
    border-radius: 17px;
    background:
        radial-gradient(circle at 50% 20%, rgba(255,255,255,.08), transparent 42%),
        rgba(0,0,0,.34);
    border: 1px solid rgba(255,255,255,.08);
    display: flex;
    align-items: center;
    justify-content: center;
    margin-bottom: 9px;
    text-decoration: none !important;
}

.uf-sidecart-suggest-img img {
    max-width: 100%;
    max-height: 100%;
    object-fit: contain;
    padding: 7px;
}

.uf-sidecart-suggest-name {
    display: block;
    color: var(--uf-soft);
    font-size: 13.2px;
    font-weight: 900;
    line-height: 1.32;
    min-height: 36px;
    text-decoration: none !important;
}

.uf-sidecart-suggest-name:hover {
    color: var(--uf-gold-light);
}

.uf-sidecart-suggest-price {
    display: block;
    margin: 8px 0 9px;
    font-size: 13.4px;
    line-height: 1.2;
}

.uf-sidecart-suggest-add {
    width: 100%;
    min-height: 39px;
    border: 1px solid rgba(215,184,106,.34);
    background:
        linear-gradient(135deg, rgba(255,255,255,.075), rgba(255,255,255,.025)),
        rgba(0,0,0,.36);
    color: var(--uf-soft) !important;
    font-size: 11.5px;
    font-weight: 950;
    letter-spacing: .07em;
}

.uf-sidecart-suggest-add:hover,
.uf-sidecart-suggest-add.uf-loading {
    transform: translateY(-1px);
    background: linear-gradient(135deg, #7d5b1b, #d7b86a 42%, #fff1bd 58%, #b88a32);
    border-color: rgba(255,241,189,.72);
    color: #080808 !important;
    box-shadow: 0 12px 22px rgba(215,184,106,.22);
}

.uf-floating-cart {
    position: fixed;
    top: 52%;
    right: 18px;
    left: auto;
    z-index: 2147482997;
    border: 1px solid rgba(255,241,189,.48);
    border-radius: 999px;
    padding: 9px 15px 9px 10px;
    background:
        radial-gradient(circle at 22% 0%, rgba(255,241,189,.24), transparent 31%),
        linear-gradient(145deg, rgba(25,25,25,.96), rgba(5,5,5,.94));
    color: var(--uf-soft);
    box-shadow:
        0 18px 44px rgba(0,0,0,.45),
        0 0 0 1px rgba(255,255,255,.035),
        inset 0 1px 0 rgba(255,255,255,.09);
    display: inline-flex;
    align-items: center;
    gap: 11px;
    cursor: grab;
    user-select: none;
    touch-action: none;
    font-family: var(--uf-body);
    transition: transform .22s ease, box-shadow .22s ease, border-color .22s ease;
}

.uf-floating-cart.uf-edge-left {
    left: 18px;
    right: auto;
}

.uf-floating-cart:active {
    cursor: grabbing;
}

.uf-floating-cart:hover {
    transform: translateY(-3px);
    border-color: rgba(255,241,189,.86);
    box-shadow:
        0 20px 48px rgba(0,0,0,.48),
        0 0 26px rgba(215,184,106,.15);
}

.uf-floating-cart-icon {
    width: 48px;
    height: 48px;
    border-radius: 999px;
    background: linear-gradient(135deg, #7d5b1b, #d7b86a 38%, #fff1bd 56%, #b88a32);
    color: #080808;
    display: flex;
    align-items: center;
    justify-content: center;
    box-shadow:
        inset 0 1px 0 rgba(255,255,255,.48),
        0 10px 20px rgba(215,184,106,.18);
    position: relative;
    flex: 0 0 auto;
}

.uf-cart-count {
    position: absolute;
    top: -7px;
    right: -6px;
    min-width: 22px;
    height: 22px;
    padding: 0 6px;
    border-radius: 999px;
    background: #080808;
    border: 1px solid rgba(255,241,189,.72);
    color: var(--uf-gold-light);
    font-size: 11px;
    font-weight: 950;
    line-height: 20px;
    text-align: center;
    box-shadow: 0 8px 16px rgba(0,0,0,.35);
}

.uf-floating-cart-text {
    display: flex;
    flex-direction: column;
    gap: 3px;
    line-height: 1.05;
    padding-right: 2px;
}

.uf-floating-cart-label {
    color: rgba(242,239,234,.82);
    font-size: 11.5px;
    text-transform: uppercase;
    letter-spacing: .13em;
    font-weight: 950;
}

.uf-floating-cart-total {
    font-size: 14.5px;
    font-weight: 950;
    white-space: nowrap;
}

@media (max-width: 600px) {
    .uf-sidecart-drawer {
        top: 0;
        right: 0;
        width: min(405px, 92vw);
        height: 100vh;
        height: 100dvh;
        border-radius: 24px 0 0 24px;
        transform: translateX(106%);
    }

    .uf-sidecart-toast {
        right: 14px;
        left: 14px;
        bottom: 18px;
        max-width: none;
        font-size: 13.5px;
    }

    .uf-sidecart-header {
        padding: 18px 15px 14px;
    }

    .uf-sidecart-title {
        font-size: 20px;
    }

    .uf-sidecart-subtitle {
        font-size: 12.5px;
    }

    .uf-sidecart-refresh {
        width: 39px;
        padding: 0;
        justify-content: center;
    }

    .uf-sidecart-refresh span {
        display: none;
    }

    .uf-sidecart-body {
        padding: 14px;
    }

    .uf-sidecart-item {
        grid-template-columns: 82px 1fr;
        gap: 12px;
        padding: 12px;
    }

    .uf-sidecart-thumb {
        width: 82px;
        height: 100px;
    }

    .uf-sidecart-product-title {
        font-size: 14.6px;
    }

    .uf-sidecart-meta {
        font-size: 12.4px;
    }

    .uf-sidecart-addon {
        padding: 12px;
        border-radius: 22px;
    }

    .uf-sidecart-addon-inner {
        grid-template-columns: 78px 1fr;
        gap: 12px;
    }

    .uf-sidecart-addon-image {
        width: 78px;
        height: 86px;
        border-radius: 18px;
    }

    .uf-sidecart-addon h3 {
        font-size: 15.2px;
    }

    .uf-sidecart-addon p {
        font-size: 12.5px;
    }

    .uf-sidecart-addon-product {
        align-items: flex-start;
        flex-direction: column;
        gap: 4px;
    }

    .uf-sidecart-coupon-input-row {
        flex-direction: column;
    }

    .uf-sidecart-coupon-apply {
        width: 100%;
    }

    .uf-sidecart-suggest-grid {
        grid-template-columns: 1fr 1fr;
        gap: 10px;
    }

    .uf-sidecart-suggest-img {
        height: 96px;
    }

    .uf-sidecart-actions {
        grid-template-columns: 1fr;
    }

    .uf-floating-cart {
        right: 10px;
        padding: 8px;
    }

    .uf-floating-cart.uf-edge-left {
        left: 10px;
    }

    .uf-floating-cart-text {
        display: none;
    }

    .uf-floating-cart-icon {
        width: 46px;
        height: 46px;
    }
}