/* =========================================================
   EMPTY CART — PREMIUM DESIGN
   ========================================================= */

.aespl-cart-empty {
    position: relative;

    width: 100%;

    padding: 28px 0 90px;
}


.aespl-cart-empty .aespl-cart-container {
    position: relative;
    z-index: 1;
}


/* =========================================================
   EMPTY CART CARD
   ========================================================= */

.aespl-cart-empty__card {
    position: relative;

    isolation: isolate;

    overflow: hidden;

    max-width: 900px;

    margin: 0 auto;

    padding: 76px 50px 68px;

    border: 1px solid var(--aespl-cart-border);

    border-radius: 26px;

    background:
        radial-gradient(
            circle at 50% 0%,
            rgba(200, 155, 67, 0.075),
            transparent 38%
        ),
        var(--aespl-cart-surface);

    box-shadow:
        0 20px 55px rgba(12, 48, 35, 0.075);

    text-align: center;
}


/* =========================================================
   DECORATIVE GLOWS
   ========================================================= */

.aespl-cart-empty__glow {
    position: absolute;

    z-index: -1;

    display: block;

    border-radius: 50%;

    pointer-events: none;

    filter: blur(2px);
}


.aespl-cart-empty__glow--one {
    top: -120px;
    left: -110px;

    width: 270px;
    height: 270px;

    background:
        radial-gradient(
            circle,
            rgba(13, 74, 56, 0.065),
            transparent 70%
        );
}


.aespl-cart-empty__glow--two {
    right: -100px;
    bottom: -130px;

    width: 290px;
    height: 290px;

    background:
        radial-gradient(
            circle,
            rgba(200, 155, 67, 0.075),
            transparent 70%
        );
}


/* =========================================================
   EMPTY CART ICON
   ========================================================= */

.aespl-cart-empty__icon {
    display: flex;
    align-items: center;
    justify-content: center;

    width: 94px;
    height: 94px;

    margin: 0 auto 28px;

    border: 1px solid rgba(13, 74, 56, 0.11);

    border-radius: 50%;

    background:
        linear-gradient(
            145deg,
            #edf4ef,
            #e5eee8
        );

    color: var(--aespl-cart-primary);

    box-shadow:
        0 12px 30px rgba(13, 74, 56, 0.08);
}


.aespl-cart-empty__icon svg {
    width: 51px;
    height: 51px;

    display: block;
}


/* =========================================================
   EYEBROW
   ========================================================= */

.aespl-cart-empty__eyebrow {
    display: block;

    margin-bottom: 13px;

    color: var(--aespl-cart-primary);

    font-size: 0.70rem;
    font-weight: 800;

    letter-spacing: 0.24em;

    line-height: 1.3;

    text-transform: uppercase;
}


/* =========================================================
   HEADING
   ========================================================= */

.aespl-cart-empty__card h1 {
    max-width: 700px;

    margin: 0 auto;

    color: var(--aespl-cart-primary);

    font-family: "Fraunces", Georgia, serif;

    font-size: clamp(
        2.45rem,
        4.2vw,
        3.9rem
    );

    font-weight: 500;

    letter-spacing: -0.045em;

    line-height: 1.04;
}


/* =========================================================
   DESCRIPTION
   ========================================================= */

.aespl-cart-empty__card p {
    max-width: 610px;

    margin: 20px auto 30px;

    color: var(--aespl-cart-muted);

    font-size: 0.98rem;

    line-height: 1.75;
}


/* =========================================================
   CONTINUE SHOPPING BUTTON
   ========================================================= */

.aespl-cart-empty__button {
    display: inline-flex;

    align-items: center;
    justify-content: center;

    gap: 11px;

    min-height: 54px;

    padding: 0 25px;

    border-radius: 10px;

    background: var(--aespl-cart-primary);

    color: #fff;

    font-size: 0.84rem;

    font-weight: 800;

    letter-spacing: 0.01em;

    box-shadow:
        0 10px 25px rgba(13, 74, 56, 0.16);
}


.aespl-cart-empty__button svg {
    width: 18px;
    height: 18px;

    transition:
        transform 0.22s ease;
}


.aespl-cart-empty__button:hover {
    background: var(--aespl-cart-primary-dark);

    color: #fff;

    transform: translateY(-2px);

    box-shadow:
        0 14px 30px rgba(13, 74, 56, 0.21);
}


.aespl-cart-empty__button:hover svg {
    transform: translateX(3px);
}


/* =========================================================
   REASSURANCE NOTE
   ========================================================= */

.aespl-cart-empty__note {
    display: flex;

    align-items: center;
    justify-content: center;

    gap: 8px;

    margin-top: 23px;

    color: var(--aespl-cart-muted);

    font-size: 0.70rem;

    line-height: 1.4;
}


.aespl-cart-empty__note svg {
    width: 16px;
    height: 16px;

    flex: 0 0 auto;

    color: var(--aespl-cart-primary);
}


/* =========================================================
   WOOCOMMERCE NOTICE
   REMOVED ITEM / UNDO MESSAGE
   ========================================================= */

.woocommerce-cart .woocommerce-notices-wrapper {
    width: min(
        1380px,
        calc(100% - 64px)
    );

    margin: 18px auto 0;

    padding: 0;
}


/* Main success notice */

.woocommerce-cart .woocommerce-notices-wrapper
.woocommerce-message {
    position: relative;

    display: flex;

    align-items: center;

    min-height: 52px;

    margin: 0;

    padding: 13px 20px 13px 47px;

    border: 1px solid rgba(13, 74, 56, 0.12);

    border-radius: 12px;

    background:
        linear-gradient(
            135deg,
            #f5faf6,
            #eef6f0
        );

    color: var(--aespl-cart-text);

    font-family: "Hanken Grotesk", Arial, sans-serif;

    font-size: 0.84rem;

    font-weight: 600;

    line-height: 1.5;

    box-shadow:
        0 7px 22px rgba(12, 48, 35, 0.045);
}


/* WooCommerce default icon */

.woocommerce-cart .woocommerce-notices-wrapper
.woocommerce-message::before {

    position: absolute;

    left: 18px;

    top: 50%;

    transform: translateY(-50%);

    margin: 0;

    color: var(--aespl-cart-primary);

    font-size: 17px;
}


/* Undo link */

.woocommerce-cart .woocommerce-notices-wrapper
.woocommerce-message a {

    display: inline-flex;

    align-items: center;

    margin-left: 8px;

    color: var(--aespl-cart-primary);

    font-weight: 800;

    text-decoration: none;

    border-bottom: 1px solid
        rgba(13, 74, 56, 0.35);
}


.woocommerce-cart .woocommerce-notices-wrapper
.woocommerce-message a:hover {

    color: var(--aespl-cart-primary-dark);

    border-bottom-color:
        var(--aespl-cart-primary-dark);
}


/* =========================================================
   INFO / ERROR NOTICE
   ========================================================= */

.woocommerce-cart .woocommerce-notices-wrapper
.woocommerce-info,

.woocommerce-cart .woocommerce-notices-wrapper
.woocommerce-error {

    position: relative;

    margin: 0;

    padding: 14px 20px 14px 47px;

    border-radius: 12px;

    font-size: 0.84rem;

    line-height: 1.5;
}


/* =========================================================
   MOBILE EMPTY CART
   ========================================================= */

@media (max-width: 767px) {

    .aespl-cart-empty {
        padding: 18px 0 58px;
    }


    .aespl-cart-empty__card {
        padding: 55px 21px 48px;

        border-radius: 19px;
    }


    .aespl-cart-empty__icon {
        width: 78px;
        height: 78px;

        margin-bottom: 23px;
    }


    .aespl-cart-empty__icon svg {
        width: 43px;
        height: 43px;
    }


    .aespl-cart-empty__eyebrow {
        margin-bottom: 10px;

        font-size: 0.62rem;
    }


    .aespl-cart-empty__card h1 {
        font-size: clamp(
            2rem,
            9vw,
            2.7rem
        );

        line-height: 1.06;
    }


    .aespl-cart-empty__card p {
        margin-top: 16px;
        margin-bottom: 25px;

        font-size: 0.84rem;

        line-height: 1.65;
    }


    .aespl-cart-empty__button {
        min-height: 50px;

        width: 100%;

        padding: 0 20px;

        font-size: 0.80rem;
    }


    .aespl-cart-empty__note {
        margin-top: 19px;

        font-size: 0.64rem;
    }


    .woocommerce-cart .woocommerce-notices-wrapper {
        width: calc(100% - 28px);

        margin-top: 12px;
    }


    .woocommerce-cart .woocommerce-notices-wrapper
    .woocommerce-message {

        align-items: flex-start;

        min-height: auto;

        padding: 12px 14px 12px 41px;

        font-size: 0.76rem;
    }


    .woocommerce-cart .woocommerce-notices-wrapper
    .woocommerce-message::before {

        left: 14px;

        top: 16px;

        transform: none;

        font-size: 15px;
    }


    .woocommerce-cart .woocommerce-notices-wrapper
    .woocommerce-message a {

        margin-left: 5px;
    }
}


/* =========================================================
   SMALL MOBILE
   ========================================================= */

@media (max-width: 480px) {

    .aespl-cart-empty {
        padding-top: 12px;
    }


    .aespl-cart-empty__card {
        padding: 45px 17px 40px;

        border-radius: 17px;
    }


    .aespl-cart-empty__icon {
        width: 70px;
        height: 70px;

        margin-bottom: 20px;
    }


    .aespl-cart-empty__icon svg {
        width: 39px;
        height: 39px;
    }


    .aespl-cart-empty__card h1 {
        font-size: 1.95rem;
    }


    .aespl-cart-empty__card p {
        font-size: 0.78rem;
    }


    .aespl-cart-empty__note {
        font-size: 0.59rem;
    }


    .woocommerce-cart .woocommerce-notices-wrapper {
        width: calc(100% - 20px);
    }


    .woocommerce-cart .woocommerce-notices-wrapper
    .woocommerce-message {

        display: block;

        padding: 11px 12px 11px 38px;

        font-size: 0.72rem;

        line-height: 1.55;
    }


    .woocommerce-cart .woocommerce-notices-wrapper
    .woocommerce-message::before {

        left: 12px;

        top: 14px;

        font-size: 14px;
    }
}


/* =========================================================
   REDUCED MOTION
   ========================================================= */

@media (prefers-reduced-motion: reduce) {

    .aespl-cart-empty__button,
    .aespl-cart-empty__button svg {

        transition: none;
    }
}