:root {
    --doudoudis-cart-navy: #142142;
    --doudoudis-cart-navy-deep: #0d1a38;
    --doudoudis-cart-ink: #101a2e;
    --doudoudis-cart-muted: #858b96;
    --doudoudis-cart-muted-light: #a4a8b0;
    --doudoudis-cart-line: #e3e7ed;
    --doudoudis-cart-soft: #f3f4f6;
    --doudoudis-cart-accent: #f3a008;
    --doudoudis-cart-shadow: 0 18px 50px rgba(20, 33, 66, 0.14);
}

body .wd-close-side {
    z-index: 100000 !important;
    background: rgba(7, 15, 34, 0.78) !important;
    -webkit-backdrop-filter: blur(6px);
    backdrop-filter: blur(6px);
}

body .mobile-nav.wd-side-hidden {
    z-index: 100001 !important;
}

body .cart-widget-side,
body .cart-widget-side.wd-side-hidden,
body .widget_shopping_cart.wd-side-hidden {
    z-index: 100004 !important;
    width: min(94vw, 470px) !important;
    max-width: 470px !important;
    height: 100dvh !important;
    max-height: 100dvh !important;
    border: 0 !important;
    border-radius: 24px 0 0 24px !important;
    background: #fff !important;
    box-shadow: -24px 0 72px rgba(7, 15, 34, 0.28) !important;
    overflow: hidden !important;
}

body .cart-widget-side.wd-opened,
body .widget_shopping_cart.wd-side-hidden.wd-opened {
    pointer-events: auto !important;
}

body .cart-widget-side *,
body .widget_shopping_cart.wd-side-hidden * {
    box-sizing: border-box;
}

body .cart-widget-side .wd-heading {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    min-height: 80px !important;
    margin: 0 !important;
    padding: 0 28px !important;
    border-bottom: 1px solid var(--doudoudis-cart-line) !important;
    background: #fff !important;
}

body .cart-widget-side .wd-heading .title,
body .cart-widget-side .wd-heading .wd-heading-title {
    margin: 0 !important;
    color: var(--doudoudis-cart-ink) !important;
    font-size: clamp(26px, 3vw, 30px) !important;
    line-height: 1.05 !important;
    font-weight: 800 !important;
    letter-spacing: -0.035em !important;
    text-transform: none !important;
}

body .cart-widget-side .close-side-widget {
    margin: 0 !important;
}

body .cart-widget-side .close-side-widget > a {
    position: relative !important;
    display: inline-flex !important;
    align-items: center !important;
    gap: 11px !important;
    min-height: 44px !important;
    margin: 0 !important;
    padding: 0 !important;
    color: var(--doudoudis-cart-navy) !important;
    font-size: 15px !important;
    line-height: 1 !important;
    font-weight: 800 !important;
    text-decoration: none !important;
    text-transform: none !important;
    background: transparent !important;
}

body .cart-widget-side .close-side-widget > a::before {
    content: "" !important;
    position: static !important;
    width: 24px !important;
    height: 24px !important;
    margin: 0 !important;
    background:
        linear-gradient(45deg, transparent 46%, currentColor 47% 53%, transparent 54%),
        linear-gradient(-45deg, transparent 46%, currentColor 47% 53%, transparent 54%) !important;
    transform: none !important;
}

body .cart-widget-side .close-side-widget > a::after {
    display: none !important;
}

body .cart-widget-side .widget_shopping_cart_content {
    display: flex !important;
    flex-direction: column !important;
    min-height: 0 !important;
    height: calc(100dvh - 80px) !important;
    overflow: hidden !important;
    background: #fff !important;
}

body .cart-widget-side .doudoudis-premium-cart-list,
body .cart-widget-side .woocommerce-mini-cart.cart_list {
    flex: 1 1 auto !important;
    min-height: 0 !important;
    margin: 0 !important;
    padding: 28px 28px 16px !important;
    overflow-x: hidden !important;
    overflow-y: auto !important;
    overscroll-behavior: contain !important;
    scrollbar-width: thin;
    scrollbar-color: #a8adb6 transparent;
}

body .cart-widget-side .doudoudis-premium-cart-list::-webkit-scrollbar {
    width: 5px;
}

body .cart-widget-side .doudoudis-premium-cart-list::-webkit-scrollbar-thumb {
    border-radius: 99px;
    background: #a8adb6;
}

body .cart-widget-side .doudoudis-premium-cart-item {
    position: relative !important;
    display: grid !important;
    grid-template-columns: 112px minmax(0, 1fr) 46px !important;
    align-items: start !important;
    gap: 20px !important;
    min-height: 160px !important;
    margin: 0 !important;
    padding: 0 0 28px !important;
    border-bottom: 1px solid var(--doudoudis-cart-line) !important;
    background: #fff !important;
}

body .cart-widget-side .doudoudis-premium-cart-item + .doudoudis-premium-cart-item {
    padding-top: 28px !important;
}

body .cart-widget-side .doudoudis-cart-thumb {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 112px !important;
    height: 132px !important;
    margin: 0 !important;
    padding: 13px !important;
    overflow: hidden !important;
    border: 1px solid #dce1e8 !important;
    border-radius: 17px !important;
    background: #fff !important;
    box-shadow: 0 9px 26px rgba(20, 33, 66, 0.055) !important;
}

body .cart-widget-side .doudoudis-cart-thumb img {
    display: block !important;
    float: none !important;
    width: 100% !important;
    height: 100% !important;
    max-width: none !important;
    margin: 0 !important;
    object-fit: contain !important;
}

body .cart-widget-side .doudoudis-cart-product-info {
    display: flex !important;
    flex-direction: column !important;
    min-width: 0 !important;
    min-height: 132px !important;
    padding: 3px 0 0 !important;
}

body .cart-widget-side .doudoudis-cart-product-title {
    display: block !important;
    margin: 0 0 8px !important;
    color: var(--doudoudis-cart-ink) !important;
    font-size: 18px !important;
    line-height: 1.28 !important;
    font-weight: 800 !important;
    letter-spacing: -0.018em !important;
    text-decoration: none !important;
    overflow-wrap: anywhere !important;
}

body .cart-widget-side .doudoudis-cart-product-title:hover {
    color: var(--doudoudis-cart-navy) !important;
}

body .cart-widget-side .doudoudis-cart-product-code {
    display: block !important;
    margin: 0 0 3px !important;
    color: var(--doudoudis-cart-muted) !important;
    font-size: 15px !important;
    line-height: 1.25 !important;
    font-weight: 500 !important;
    letter-spacing: 0.005em !important;
    overflow-wrap: anywhere !important;
}

body .cart-widget-side .doudoudis-cart-product-code.is-part-code {
    color: #737a86 !important;
}

body .cart-widget-side .doudoudis-cart-variation {
    margin: 5px 0 0 !important;
    color: var(--doudoudis-cart-muted) !important;
    font-size: 12px !important;
    line-height: 1.35 !important;
}

body .cart-widget-side .doudoudis-cart-variation dl,
body .cart-widget-side .doudoudis-cart-variation p {
    margin: 0 !important;
}

body .cart-widget-side .doudoudis-cart-quantity {
    display: flex !important;
    align-items: baseline !important;
    gap: 5px !important;
    margin-top: auto !important;
    padding-top: 11px !important;
    color: var(--doudoudis-cart-muted-light) !important;
    font-size: 16px !important;
    line-height: 1.2 !important;
    font-weight: 500 !important;
}

body .cart-widget-side .doudoudis-cart-quantity strong,
body .cart-widget-side .doudoudis-cart-quantity .amount,
body .cart-widget-side .doudoudis-cart-quantity .woocommerce-Price-amount {
    color: var(--doudoudis-cart-accent) !important;
    font-size: 18px !important;
    font-weight: 900 !important;
}

body .cart-widget-side .doudoudis-cart-remove {
    position: static !important;
    display: grid !important;
    place-items: center !important;
    width: 46px !important;
    height: 46px !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    border-radius: 14px !important;
    background: #f0f1f3 !important;
    color: var(--doudoudis-cart-ink) !important;
    font-size: 0 !important;
    line-height: 1 !important;
    box-shadow: none !important;
    opacity: 1 !important;
    transition: background-color 0.18s ease, transform 0.18s ease !important;
}

body .cart-widget-side .doudoudis-cart-remove::before,
body .cart-widget-side .doudoudis-cart-remove::after {
    display: none !important;
}

body .cart-widget-side .doudoudis-cart-remove svg {
    width: 21px !important;
    height: 23px !important;
}

body .cart-widget-side .doudoudis-cart-remove:hover {
    background: #e5e7eb !important;
    color: var(--doudoudis-cart-navy) !important;
    transform: translateY(-1px) !important;
}

body .cart-widget-side .wd-tooltip-label,
body .cart-widget-side .wd-tooltip,
body .cart-widget-side [class*="tooltip"],
body .cart-widget-side .product-labels,
body .cart-widget-side .labels-rounded {
    display: none !important;
}

body .cart-widget-side .doudoudis-premium-cart-footer,
body .cart-widget-side .shopping-cart-widget-footer {
    flex: 0 0 auto !important;
    margin: 0 !important;
    padding: 20px 28px 0 !important;
    border-top: 1px solid var(--doudoudis-cart-line) !important;
    background: #fff !important;
    box-shadow: 0 -14px 32px rgba(20, 33, 66, 0.035) !important;
}

body .cart-widget-side .doudoudis-cart-subtotal,
body .cart-widget-side .woocommerce-mini-cart__total {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 18px !important;
    margin: 0 0 17px !important;
    padding: 0 !important;
    border: 0 !important;
    color: var(--doudoudis-cart-ink) !important;
    font-size: 19px !important;
    line-height: 1.1 !important;
    font-weight: 800 !important;
}

body .cart-widget-side .doudoudis-cart-subtotal > strong {
    font: inherit !important;
}

body .cart-widget-side .doudoudis-cart-subtotal-amount,
body .cart-widget-side .doudoudis-cart-subtotal-amount .amount,
body .cart-widget-side .woocommerce-mini-cart__total .amount {
    color: var(--doudoudis-cart-accent) !important;
    font-size: 30px !important;
    line-height: 1 !important;
    font-weight: 900 !important;
    letter-spacing: -0.04em !important;
    white-space: nowrap !important;
}

body .cart-widget-side .doudoudis-cart-actions,
body .cart-widget-side .woocommerce-mini-cart__buttons,
body .cart-widget-side .shopping-cart-widget-footer .buttons {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 10px !important;
    width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
}

body .cart-widget-side .doudoudis-cart-action,
body .cart-widget-side .shopping-cart-widget-footer .button {
    position: relative !important;
    display: grid !important;
    grid-template-columns: 34px minmax(0, 1fr) 22px !important;
    align-items: center !important;
    width: 100% !important;
    min-width: 0 !important;
    min-height: 56px !important;
    margin: 0 !important;
    padding: 0 20px !important;
    border: 1.5px solid var(--doudoudis-cart-navy) !important;
    border-radius: 11px !important;
    color: var(--doudoudis-cart-navy) !important;
    font-size: 14px !important;
    line-height: 1 !important;
    font-weight: 850 !important;
    letter-spacing: 0.08em !important;
    text-align: center !important;
    text-transform: uppercase !important;
    text-decoration: none !important;
    box-shadow: none !important;
    transition: transform 0.18s ease, box-shadow 0.18s ease, background-color 0.18s ease !important;
}

body .cart-widget-side .doudoudis-cart-action.is-cart,
body .cart-widget-side .shopping-cart-widget-footer .button:not(.checkout) {
    background: linear-gradient(135deg, var(--doudoudis-cart-navy) 0%, var(--doudoudis-cart-navy-deep) 100%) !important;
    color: #fff !important;
}

body .cart-widget-side .doudoudis-cart-action.is-checkout,
body .cart-widget-side .shopping-cart-widget-footer .button.checkout {
    background: #fff !important;
    color: var(--doudoudis-cart-navy) !important;
}

body .cart-widget-side .doudoudis-cart-action:hover,
body .cart-widget-side .shopping-cart-widget-footer .button:hover {
    transform: translateY(-1px) !important;
    box-shadow: 0 10px 24px rgba(20, 33, 66, 0.15) !important;
}

body .cart-widget-side .doudoudis-cart-action-icon,
body .cart-widget-side .doudoudis-cart-action-arrow {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    line-height: 0 !important;
}

body .cart-widget-side .doudoudis-cart-action-icon svg {
    width: 22px !important;
    height: 22px !important;
}

body .cart-widget-side .doudoudis-cart-action-arrow {
    justify-self: end !important;
    font-size: 29px !important;
    font-weight: 400 !important;
    line-height: 1 !important;
    transform: translateY(-1px) !important;
}

body .cart-widget-side .doudoudis-cart-payments {
    display: grid !important;
    grid-template-columns: repeat(5, minmax(0, 1fr)) !important;
    gap: 8px !important;
    margin: 16px 0 17px !important;
    padding: 0 !important;
}

body .cart-widget-side .doudoudis-cart-payment {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    min-width: 0 !important;
    height: 40px !important;
    padding: 7px 6px !important;
    border: 1px solid #dfe3e9 !important;
    border-radius: 9px !important;
    background: #fff !important;
    box-shadow: 0 4px 12px rgba(20, 33, 66, 0.025) !important;
}

body .cart-widget-side .doudoudis-cart-payment svg {
    display: block !important;
    width: 100% !important;
    max-width: 64px !important;
    height: 24px !important;
}

body .cart-widget-side .doudoudis-cart-trust {
    display: grid !important;
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    gap: 10px !important;
    margin: 0 -28px !important;
    padding: 18px 28px max(19px, env(safe-area-inset-bottom)) !important;
    border-top: 1px solid var(--doudoudis-cart-line) !important;
    background: #fff !important;
}

body .cart-widget-side .doudoudis-cart-trust-item {
    display: grid !important;
    grid-template-columns: 30px minmax(0, 1fr) !important;
    align-items: center !important;
    gap: 8px !important;
    min-width: 0 !important;
    color: var(--doudoudis-cart-ink) !important;
}

body .cart-widget-side .doudoudis-cart-trust-item svg {
    width: 29px !important;
    height: 29px !important;
}

body .cart-widget-side .doudoudis-cart-trust-item > span {
    display: block !important;
    min-width: 0 !important;
    font-size: 11.5px !important;
    line-height: 1.25 !important;
}

body .cart-widget-side .doudoudis-cart-trust-item strong,
body .cart-widget-side .doudoudis-cart-trust-item em {
    display: block !important;
    font-style: normal !important;
}

body .cart-widget-side .doudoudis-cart-trust-item strong {
    color: #4e5561 !important;
    font-weight: 600 !important;
}

body .cart-widget-side .doudoudis-cart-trust-item em {
    color: #a0a4ac !important;
    font-weight: 400 !important;
}

body .cart-widget-side .doudoudis-cart-empty {
    display: flex !important;
    flex: 1 1 auto !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 11px !important;
    min-height: 0 !important;
    margin: 0 !important;
    padding: 42px 30px max(34px, env(safe-area-inset-bottom)) !important;
    color: var(--doudoudis-cart-muted) !important;
    text-align: center !important;
}

body .cart-widget-side .doudoudis-cart-empty-icon {
    display: grid !important;
    place-items: center !important;
    width: 78px !important;
    height: 78px !important;
    margin-bottom: 6px !important;
    border-radius: 22px !important;
    background: #f2f4f7 !important;
    color: var(--doudoudis-cart-navy) !important;
}

body .cart-widget-side .doudoudis-cart-empty-icon svg {
    width: 42px !important;
    height: 42px !important;
}

body .cart-widget-side .doudoudis-cart-empty strong {
    color: var(--doudoudis-cart-ink) !important;
    font-size: 22px !important;
    line-height: 1.2 !important;
    font-weight: 800 !important;
}

body .cart-widget-side .doudoudis-cart-empty > span:not(.doudoudis-cart-empty-icon) {
    max-width: 310px !important;
    font-size: 14px !important;
    line-height: 1.55 !important;
}

body .cart-widget-side .doudoudis-cart-empty .button {
    min-height: 50px !important;
    margin-top: 12px !important;
    padding: 0 24px !important;
    border-radius: 10px !important;
    background: var(--doudoudis-cart-navy) !important;
    color: #fff !important;
    font-size: 13px !important;
    font-weight: 800 !important;
    letter-spacing: 0.06em !important;
}

@media (max-height: 780px) {
    body .cart-widget-side .wd-heading {
        min-height: 68px !important;
    }

    body .cart-widget-side .widget_shopping_cart_content {
        height: calc(100dvh - 68px) !important;
    }

    body .cart-widget-side .doudoudis-premium-cart-list,
    body .cart-widget-side .woocommerce-mini-cart.cart_list {
        padding-top: 22px !important;
        padding-bottom: 10px !important;
    }

    body .cart-widget-side .doudoudis-premium-cart-item {
        min-height: 142px !important;
        padding-bottom: 22px !important;
    }

    body .cart-widget-side .doudoudis-cart-thumb {
        height: 118px !important;
    }

    body .cart-widget-side .doudoudis-cart-product-info {
        min-height: 118px !important;
    }

    body .cart-widget-side .doudoudis-premium-cart-footer,
    body .cart-widget-side .shopping-cart-widget-footer {
        padding-top: 15px !important;
    }

    body .cart-widget-side .doudoudis-cart-subtotal,
    body .cart-widget-side .woocommerce-mini-cart__total {
        margin-bottom: 13px !important;
    }

    body .cart-widget-side .doudoudis-cart-action,
    body .cart-widget-side .shopping-cart-widget-footer .button {
        min-height: 49px !important;
    }

    body .cart-widget-side .doudoudis-cart-payments {
        margin-block: 12px 13px !important;
    }

    body .cart-widget-side .doudoudis-cart-payment {
        height: 35px !important;
        padding-block: 5px !important;
    }

    body .cart-widget-side .doudoudis-cart-trust {
        padding-top: 13px !important;
        padding-bottom: max(13px, env(safe-area-inset-bottom)) !important;
    }
}

@media (max-width: 520px) {
    body .cart-widget-side,
    body .cart-widget-side.wd-side-hidden,
    body .widget_shopping_cart.wd-side-hidden {
        width: 100vw !important;
        max-width: 100vw !important;
        border-radius: 0 !important;
    }
}

@media (max-width: 390px) {
    body .cart-widget-side .wd-heading {
        padding-inline: 18px !important;
    }

    body .cart-widget-side .wd-heading .title,
    body .cart-widget-side .wd-heading .wd-heading-title {
        font-size: 24px !important;
    }

    body .cart-widget-side .close-side-widget > a {
        gap: 8px !important;
        font-size: 14px !important;
    }

    body .cart-widget-side .doudoudis-premium-cart-list,
    body .cart-widget-side .woocommerce-mini-cart.cart_list {
        padding-inline: 18px !important;
    }

    body .cart-widget-side .doudoudis-premium-cart-item {
        grid-template-columns: 88px minmax(0, 1fr) 40px !important;
        gap: 12px !important;
    }

    body .cart-widget-side .doudoudis-cart-thumb {
        width: 88px !important;
        height: 106px !important;
        padding: 9px !important;
        border-radius: 14px !important;
    }

    body .cart-widget-side .doudoudis-cart-product-info {
        min-height: 106px !important;
    }

    body .cart-widget-side .doudoudis-cart-product-title {
        margin-bottom: 5px !important;
        font-size: 15px !important;
    }

    body .cart-widget-side .doudoudis-cart-product-code {
        font-size: 13px !important;
    }

    body .cart-widget-side .doudoudis-cart-quantity,
    body .cart-widget-side .doudoudis-cart-quantity strong,
    body .cart-widget-side .doudoudis-cart-quantity .amount {
        font-size: 14px !important;
    }

    body .cart-widget-side .doudoudis-cart-remove {
        width: 40px !important;
        height: 40px !important;
        border-radius: 12px !important;
    }

    body .cart-widget-side .doudoudis-premium-cart-footer,
    body .cart-widget-side .shopping-cart-widget-footer {
        padding-inline: 18px !important;
    }

    body .cart-widget-side .doudoudis-cart-subtotal-amount,
    body .cart-widget-side .doudoudis-cart-subtotal-amount .amount {
        font-size: 27px !important;
    }

    body .cart-widget-side .doudoudis-cart-trust {
        margin-inline: -18px !important;
        padding-inline: 18px !important;
    }

    body .cart-widget-side .doudoudis-cart-trust-item {
        grid-template-columns: 25px minmax(0, 1fr) !important;
        gap: 5px !important;
    }

    body .cart-widget-side .doudoudis-cart-trust-item svg {
        width: 25px !important;
        height: 25px !important;
    }

    body .cart-widget-side .doudoudis-cart-trust-item > span {
        font-size: 9.5px !important;
    }

    body .cart-widget-side .doudoudis-cart-payment {
        padding-inline: 3px !important;
    }
}

@media (prefers-reduced-motion: reduce) {
    body .cart-widget-side .doudoudis-cart-action,
    body .cart-widget-side .doudoudis-cart-remove {
        transition: none !important;
    }
}
