/* ============================================================
   BASE
============================================================ */

.sn-my-account,
.sn-my-account *,
.sn-ma-login-page,
.sn-ma-login-page * {
    box-sizing: border-box;
}


.sn-my-account {
    --sn-orange: var(--core-primary,#7B1E3A);
    --sn-orange-hover: #DE4704;
    --sn-orange-soft: #FFF0E8;

    --sn-black: #101010;
    --sn-text: #444444;
    --sn-muted: #777777;
    --sn-border: #E8E8E8;
    --sn-bg: #FFFFFF;

    width: 100%;
    max-width: var(--core-content-width,1700px);

    margin: 0 auto;

    padding: 22px 20px 65px;

    color: var(--sn-black);

    font-family:
        "Poppins",
        Arial,
        sans-serif;
}


.sn-my-account a {
    text-decoration: none;
}


.sn-my-account button,
.sn-my-account input,
.sn-my-account select,
.sn-my-account textarea {
    font-family: inherit;
}



/* ============================================================
   LAYOUT
============================================================ */

.sn-ma-layout {
    display: grid;

    grid-template-columns:
        235px
        minmax(0, 1fr);

    gap: 20px;

    align-items: start;
}



/* ============================================================
   SIDEBAR
============================================================ */

.sn-ma-sidebar {
    min-width: 0;

    padding: 12px;

    border: 1px solid var(--sn-border);

    border-radius: 8px;

    background: #FFFFFF;
}



/* USER */

.sn-ma-user-card {
    padding: 8px 4px 20px;

    display: grid;

    grid-template-columns:
        66px
        minmax(0,1fr);

    gap: 12px;

    align-items: center;
}


.sn-ma-avatar {
    width: 66px;

    height: 66px;

    display: block;

    border-radius: 50%;

    object-fit: cover;
}


.sn-ma-user-details {
    min-width: 0;
}


.sn-ma-user-details strong {
    display: block;

    color: #111111;

    font-size: 13px;

    font-weight: 700;

    line-height: 1.3;
}


.sn-ma-user-details span {
    display: block;

    margin-top: 3px;

    overflow: hidden;

    color: #777777;

    font-size: 12px;

    line-height: 1.3;

    text-overflow: ellipsis;

    white-space: nowrap;
}


.sn-ma-user-details a {
    display: inline-block;

    margin-top: 7px;

    color: var(--sn-orange) !important;

    font-size: 12px;

    font-weight: 500;
}



/* ============================================================
   MENU
============================================================ */

.sn-ma-menu {
    display: flex;

    flex-direction: column;

    gap: 3px;
}


.sn-ma-menu > a {
    min-height: 42px;

    padding: 9px 10px;

    display: flex;

    align-items: center;

    gap: 10px;

    border-radius: 6px;

    color: #444444 !important;

    font-size: 13px;

    font-weight: 400;

    transition:
        background .18s ease,
        color .18s ease;
}


.sn-ma-menu > a:hover {
    background: #FFF8F4;

    color: var(--sn-orange) !important;
}


.sn-ma-menu > a.is-active {
    background: var(--sn-orange-soft);

    color: var(--sn-orange) !important;

    font-weight: 500;
}


.sn-ma-menu-icon {
    width: 20px;

    height: 20px;

    display: flex;

    align-items: center;

    justify-content: center;

    flex-shrink: 0;
}


.sn-ma-menu-icon svg {
    width: 19px;

    height: 19px;

    display: block;
}


.sn-ma-menu-wishlist-count {
    min-width: 19px;

    height: 19px;

    margin-left: auto;

    padding: 0 5px;

    display: flex;

    align-items: center;

    justify-content: center;

    border-radius: 999px;

    background: var(--sn-orange);

    color: #FFFFFF;

    font-size: 9px;

    font-weight: 600;
}


.sn-ma-menu-wishlist-count.is-zero {
    display: none;
}



/* ============================================================
   OFFER CARD
============================================================ */

.sn-ma-offer-card {
    margin-top: 38px;

    padding: 20px 16px 16px;

    border: 1px solid #EEEEEE;

    border-radius: 7px;

    background: #FFFFFF;
}


.sn-ma-offer-icon {
    width: 50px;

    height: 50px;

    margin-bottom: 15px;

    display: flex;

    align-items: center;

    justify-content: center;

    border-radius: 7px;

    background: var(--sn-orange-soft);

    font-size: 27px;
}


.sn-ma-offer-card h3 {
    margin: 0 0 10px;

    color: #111111;

    font-size: 17px;

    line-height: 1.22;

    font-weight: 700;
}


.sn-ma-offer-card p {
    margin: 0 0 15px;

    color: #777777;

    font-size: 12px;

    line-height: 1.65;
}


.sn-ma-offer-card > a {
    min-height: 38px;

    width: 100%;

    display: flex;

    align-items: center;

    justify-content: center;

    border-radius: 5px;

    background: var(--sn-orange);

    color: #FFFFFF !important;

    font-size: 12px;

    font-weight: 600;
}


.sn-ma-offer-card > a:hover {
    background: var(--sn-orange-hover);
}



/* ============================================================
   MAIN
============================================================ */

.sn-ma-main {
    min-width: 0;
}



/* ============================================================
   STAT CARDS
============================================================ */

.sn-ma-stats {
    margin-bottom: 18px;

    display: grid;

    grid-template-columns:
        repeat(
            4,
            minmax(0, 1fr)
        );

    gap: 15px;
}


.sn-ma-stat-card {
    min-height: 88px;

    padding: 15px 17px;

    display: flex;

    align-items: center;

    justify-content: center;

    gap: 15px;

    border: 1px solid var(--sn-border);

    border-radius: 8px;

    background: #FFFFFF;
}


.sn-ma-stat-icon {
    width: 35px;

    height: 35px;

    display: flex;

    align-items: center;

    justify-content: center;

    color: var(--sn-orange);

    flex-shrink: 0;
}


.sn-ma-stat-icon svg {
    width: 29px;

    height: 29px;
}


.sn-ma-stat-card > div {
    min-width: 0;
}


.sn-ma-stat-card strong {
    display: block;

    color: #111111;

    font-size: 24px;

    line-height: 1;

    font-weight: 700;
}


.sn-ma-stat-card span:not(.sn-ma-stat-icon) {
    display: block;

    margin-top: 7px;

    color: #777777;

    font-size: 12px;

    line-height: 1.3;
}



/* ============================================================
   GENERIC CARD
============================================================ */

.sn-ma-section,
.sn-ma-native-card {
    border: 1px solid var(--sn-border);

    border-radius: 8px;

    background: #FFFFFF;
}


.sn-ma-section-head {
    min-height: 50px;

    padding: 14px 17px;

    display: flex;

    align-items: center;

    justify-content: space-between;

    gap: 15px;
}


.sn-ma-section-head h2 {
    margin: 0;

    color: #111111;

    font-size: 15px;

    line-height: 1.3;

    font-weight: 700;
}


.sn-ma-section-head > a {
    color: var(--sn-orange) !important;

    font-size: 12px;

    font-weight: 500;
}


.sn-ma-section-head > a span {
    margin-left: 3px;
}



/* ============================================================
   ORDERS TABLE
============================================================ */

.sn-ma-orders-card {
    margin-bottom: 18px;

    overflow: hidden;
}


.sn-ma-table-scroll {
    padding: 0 17px 14px;

    overflow-x: auto;
}


.sn-ma-orders-table {
    width: 100%;

    min-width: 680px;

    border-collapse: collapse;

    border: 1px solid #EEEEEE;

    border-radius: 6px;

    overflow: hidden;

    font-size: 12px;
}


.sn-ma-orders-table thead {
    background: #F8F8F8;
}


.sn-ma-orders-table th,
.sn-ma-orders-table td {
    padding: 10px 11px;

    border-bottom: 1px solid #EEEEEE;

    color: #555555;

    text-align: left;

    vertical-align: middle;
}


.sn-ma-orders-table th {
    color: #444444;

    font-weight: 500;
}


.sn-ma-orders-table tbody tr:last-child td {
    border-bottom: 0;
}


.sn-ma-orders-table td strong {
    color: #111111;

    font-weight: 700;
}


.sn-ma-order-total {
    color: #111111 !important;

    font-weight: 600;
}



/* STATUS */

.sn-ma-order-status {
    display: inline-flex;

    min-height: 21px;

    padding: 4px 8px;

    align-items: center;

    justify-content: center;

    border-radius: 999px;

    font-size: 12px;

    line-height: 1;
}


.sn-ma-status-completed,
.sn-ma-status-delivered {
    background: #DCF8E6;

    color: #198A48;
}


.sn-ma-status-processing,
.sn-ma-status-on-hold {
    background: #FFF0DA;

    color: #F07800;
}


.sn-ma-status-shipped {
    background: #DCEFFF;

    color: #0879D1;
}


.sn-ma-status-cancelled,
.sn-ma-status-failed,
.sn-ma-status-refunded {
    background: #FFE5E5;

    color: #D32F2F;
}


.sn-ma-status-pending {
    background: #EEEEEE;

    color: #666666;
}



/* VIEW */

.sn-ma-view-order {
    min-width: 92px;

    min-height: 30px;

    padding: 6px 10px;

    display: inline-flex;

    align-items: center;

    justify-content: center;

    border: 1px solid var(--sn-orange);

    border-radius: 4px;

    color: var(--sn-orange) !important;

    font-size: 12px;

    font-weight: 500;
}


.sn-ma-view-order:hover {
    background: var(--sn-orange);

    color: #FFFFFF !important;
}



/* ============================================================
   INFO GRID
============================================================ */

.sn-ma-info-grid {
    margin-bottom: 18px;

    display: grid;

    grid-template-columns:
        repeat(
            2,
            minmax(0, 1fr)
        );

    gap: 17px;
}



/* DETAILS */

.sn-ma-details-card {
    overflow: hidden;
}


.sn-ma-detail-row {
    min-height: 43px;

    padding: 10px 17px;

    display: grid;

    grid-template-columns:
        125px
        minmax(0, 1fr)
        auto;

    gap: 10px;

    align-items: center;

    border-top: 1px solid #F1F1F1;

    font-size: 12px;
}


.sn-ma-detail-row > span {
    color: #777777;
}


.sn-ma-detail-row > strong {
    color: #111111;

    font-weight: 500;

    overflow-wrap: anywhere;
}


.sn-ma-detail-row > a {
    color: var(--sn-orange) !important;

    font-size: 12px;
}



/* ============================================================
   ADDRESS
============================================================ */

.sn-ma-address-card {
    overflow: hidden;
}


.sn-ma-address-content {
    min-height: 169px;

    padding: 15px 17px;

    display: grid;

    grid-template-columns:
        57px
        minmax(0, 1fr);

    gap: 15px;

    border-top: 1px solid #F1F1F1;
}


.sn-ma-address-icon {
    width: 57px;

    height: 57px;

    display: flex;

    align-items: center;

    justify-content: center;

    border-radius: 7px;

    background: var(--sn-orange-soft);

    color: var(--sn-orange);
}


.sn-ma-address-icon svg {
    width: 27px;

    height: 27px;
}


.sn-ma-address-name {
    display: block;

    margin-bottom: 6px;

    color: #111111;

    font-size: 13px;

    font-weight: 700;
}


.sn-ma-formatted-address,
.sn-ma-address-phone {
    color: #555555;

    font-size: 12px;

    line-height: 1.6;
}


.sn-ma-address-phone {
    margin-top: 7px;
}



/* ============================================================
   WISHLIST PREVIEW
============================================================ */

.sn-ma-wishlist-section {
    overflow: hidden;
}


.sn-ma-wishlist-preview {
    padding: 0 17px 17px;

    display: grid;

    grid-template-columns:
        repeat(
            4,
            minmax(0, 1fr)
        );

    gap: 14px;
}


.sn-ma-wishlist-card {
    min-width: 0;

    overflow: hidden;

    border: 1px solid #EEEEEE;

    border-radius: 6px;

    background: #FFFFFF;
}


.sn-ma-wishlist-image-wrap {
    position: relative;

    aspect-ratio: 1 / .85;

    overflow: hidden;

    background: #F8F8F8;
}


.sn-ma-wishlist-image {
    width: 100%;

    height: 100%;

    display: block;
}


.sn-ma-wishlist-image img {
    width: 100% !important;

    height: 100% !important;

    margin: 0 !important;

    padding: 8px !important;

    display: block !important;

    object-fit: contain !important;
}



/* HEART */

.sn-ma-preview-heart-remove,
.sn-ma-preview-heart-remove:hover,
.sn-ma-preview-heart-remove:focus {

    position: absolute !important;

    z-index: 4 !important;

    top: 8px !important;

    right: 8px !important;

    width: 28px !important;

    height: 28px !important;

    min-width: 28px !important;

    min-height: 28px !important;

    padding: 0 !important;

    display: flex !important;

    align-items: center !important;

    justify-content: center !important;

    border: 0 !important;

    border-radius: 50% !important;

    background: #FFFFFF !important;

    color: var(--sn-orange) !important;

    cursor: pointer !important;

    box-shadow: 0 2px 8px rgba(0,0,0,.05) !important;

    outline: none !important;
}


.sn-ma-preview-heart-remove:hover {
    transform: scale(1.06);
}



/* PRODUCT INFO */

.sn-ma-wishlist-product-info {
    padding: 9px 8px 8px;
}


.sn-ma-wishlist-product-title {
    min-height: 31px;

    display: -webkit-box;

    -webkit-line-clamp: 2;

    -webkit-box-orient: vertical;

    overflow: hidden;

    color: #111111 !important;

    font-size: 12px;

    font-weight: 600;

    line-height: 1.45;
}


.sn-ma-wishlist-product-title:hover {
    color: var(--sn-orange) !important;
}



/* STARS */

.sn-ma-wishlist-rating {
    min-height: 18px;

    display: flex;

    align-items: center;

    gap: 4px;
}


.sn-ma-stars {
    position: relative;

    width: 57px;

    height: 14px;

    display: inline-block;

    overflow: hidden;

    font-size: 13px;

    line-height: 14px;
}


.sn-ma-stars-base,
.sn-ma-stars-fill {
    position: absolute;

    top: 0;

    left: 0;

    white-space: nowrap;

    line-height: 14px;
}


.sn-ma-stars-base {
    color: #DCDCDC;
}


.sn-ma-stars-fill {
    overflow: hidden;

    color: #FFA800;
}


.sn-ma-wishlist-rating > span:last-child {
    color: #777777;

    font-size: 12px;
}



/* PRICE */

.sn-ma-wishlist-price {
    min-height: 23px;

    margin: 3px 0 7px;

    color: #111111;

    font-size: 13px;

    font-weight: 700;
}


.sn-ma-wishlist-price del {
    margin-right: 4px;

    color: #999999;

    font-size: 12px;

    font-weight: 400;
}


.sn-ma-wishlist-price ins {
    color: #111111;

    text-decoration: none;
}



/* CART */

.sn-ma-wishlist-cart,
.sn-ma-wishlist-cart:hover,
.sn-ma-wishlist-cart:focus {

    width: 100% !important;

    min-height: 34px !important;

    padding: 7px 8px !important;

    display: flex !important;

    align-items: center !important;

    justify-content: center !important;

    border: 0 !important;

    border-radius: 4px !important;

    background: var(--sn-orange) !important;

    color: #FFFFFF !important;

    font-size: 12px !important;

    font-weight: 500 !important;

    text-decoration: none !important;

    box-shadow: none !important;
}


.sn-ma-wishlist-cart:hover {
    background: var(--sn-orange-hover) !important;
}


.sn-ma-wishlist-card .added_to_cart {
    display: none !important;
}



/* EMPTY */

.sn-ma-wishlist-loading {
    grid-column: 1 / -1;

    padding: 40px;

    color: #777777;

    font-size: 13px;

    text-align: center;
}


.sn-ma-wishlist-empty {
    padding: 45px 20px;

    display: none;

    align-items: center;

    justify-content: center;

    flex-direction: column;

    gap: 7px;

    text-align: center;
}


.sn-ma-wishlist-empty > span {
    color: var(--sn-orange);

    font-size: 34px;
}


.sn-ma-wishlist-empty strong {
    font-size: 13px;
}


.sn-ma-wishlist-empty a {
    color: var(--sn-orange) !important;

    font-size: 12px;
}



/* ============================================================
   NO ORDERS
============================================================ */

.sn-ma-no-orders {
    padding: 35px;

    text-align: center;
}


.sn-ma-no-orders p {
    color: #777777;

    font-size: 13px;
}


.sn-ma-no-orders a {
    color: var(--sn-orange) !important;

    font-size: 12px;

    font-weight: 600;
}



/* ============================================================
   NATIVE WOOCOMMERCE ENDPOINTS
============================================================ */

.sn-ma-native-card {
    padding: 22px;

    min-height: 350px;
}


.sn-ma-native-card
.woocommerce {
    width: 100%;
}


.sn-ma-native-card
.woocommerce-MyAccount-content {
    width: 100% !important;

    float: none !important;
}


.sn-ma-native-card
.woocommerce-MyAccount-navigation {
    display: none !important;
}


/* TABLE */

.sn-ma-native-card
table.shop_table {
    width: 100%;

    border: 1px solid var(--sn-border) !important;

    border-collapse: collapse !important;

    border-radius: 7px !important;

    overflow: hidden;
}


.sn-ma-native-card
table.shop_table th,
.sn-ma-native-card
table.shop_table td {
    padding: 12px !important;

    border-color: #EEEEEE !important;

    font-size: 13px !important;
}


/* BUTTONS */

.sn-ma-native-card
.woocommerce a.button,
.sn-ma-native-card
.woocommerce button.button,
.sn-ma-native-card
.woocommerce input.button,
.sn-ma-native-card
button.button,
.sn-ma-native-card
a.button {

    border: 0 !important;

    border-radius: 5px !important;

    background: var(--sn-orange) !important;

    color: #FFFFFF !important;

    font-size: 12px !important;

    font-weight: 500 !important;

    box-shadow: none !important;
}


.sn-ma-native-card
.woocommerce a.button:hover,
.sn-ma-native-card
.woocommerce button.button:hover,
.sn-ma-native-card
button.button:hover {

    background: var(--sn-orange-hover) !important;

    color: #FFFFFF !important;
}


/* INPUT */

.sn-ma-native-card
input.input-text,
.sn-ma-native-card
input[type="text"],
.sn-ma-native-card
input[type="email"],
.sn-ma-native-card
input[type="tel"],
.sn-ma-native-card
input[type="password"],
.sn-ma-native-card
select,
.sn-ma-native-card
textarea {

    min-height: 44px !important;

    padding: 10px 12px !important;

    border: 1px solid #DFDFDF !important;

    border-radius: 5px !important;

    background: #FFFFFF !important;

    box-shadow: none !important;

    outline: none !important;
}


.sn-ma-native-card
input:focus,
.sn-ma-native-card
select:focus,
.sn-ma-native-card
textarea:focus {

    border-color: var(--sn-orange) !important;
}



/* ============================================================
   LOGIN PAGE
============================================================ */

.sn-ma-login-page {

    width: 100%;

    max-width: 1100px;

    margin: 0 auto;

    padding: 55px 20px 75px;

    font-family:
        "Poppins",
        Arial,
        sans-serif;
}


.sn-ma-login-inner {
    max-width: 900px;

    margin: auto;
}


.sn-ma-login-heading {
    margin-bottom: 28px;

    text-align: center;
}


.sn-ma-login-heading > span {
    color: var(--core-primary,#7B1E3A);

    font-size: 13px;

    font-weight: 600;

    text-transform: uppercase;

    letter-spacing: .8px;
}


.sn-ma-login-heading h1 {
    margin: 5px 0;

    font-size: 38px;

    line-height: 1.15;
}


.sn-ma-login-heading p {
    margin: 0;

    color: #777777;

    font-size: 12px;
}


.sn-ma-login-box {
    padding: 30px;

    border: 1px solid #E8E8E8;

    border-radius: 10px;

    background: #FFFFFF;
}


.sn-ma-login-box
.woocommerce-form-login,
.sn-ma-login-box
.woocommerce-form-register {

    border: 0 !important;

    padding: 0 !important;
}


.sn-ma-login-box
input.input-text {

    min-height: 45px;

    padding: 10px 12px;

    border: 1px solid #DDDDDD;

    border-radius: 5px;
}


.sn-ma-login-box
button.button {

    border: 0 !important;

    border-radius: 5px !important;

    background: var(--core-primary,#7B1E3A) !important;

    color: #FFFFFF !important;
}



/* ============================================================
   1080
============================================================ */

@media (max-width: 1080px) {

    .sn-ma-layout {
        grid-template-columns:
            215px
            minmax(0, 1fr);
    }


    .sn-ma-stats {
        grid-template-columns:
            repeat(
                2,
                minmax(0, 1fr)
            );
    }


    .sn-ma-wishlist-preview {
        grid-template-columns:
            repeat(
                2,
                minmax(0, 1fr)
            );
    }

}



/* ============================================================
   TABLET
============================================================ */

@media (max-width: 820px) {

    .sn-my-account {
        padding:
            14px
            14px
            50px;
    }


    .sn-ma-layout {
        display: block;
    }


    .sn-ma-sidebar {
        margin-bottom: 18px;

        padding: 11px;
    }


    .sn-ma-user-card {
        max-width: 330px;
    }


    .sn-ma-menu {
        margin-top: 5px;

        display: flex;

        flex-direction: row;

        gap: 6px;

        overflow-x: auto;

        padding-bottom: 5px;

        scrollbar-width: none;
    }


    .sn-ma-menu::-webkit-scrollbar {
        display: none;
    }


    .sn-ma-menu > a {
        min-width: max-content;

        min-height: 38px;

        padding:
            8px
            11px;

        border:
            1px solid
            #EEEEEE;

        white-space: nowrap;
    }


    .sn-ma-menu-wishlist-count {
        margin-left: 3px;
    }


    .sn-ma-offer-card {
        display: none;
    }


    .sn-ma-info-grid {
        grid-template-columns:
            1fr;
    }

}



/* ============================================================
   MOBILE
============================================================ */

@media (max-width: 600px) {

    .sn-my-account {
        padding-left: 10px;

        padding-right: 10px;
    }


    .sn-ma-sidebar {
        border-radius: 7px;
    }


    .sn-ma-user-card {
        grid-template-columns:
            55px
            minmax(0,1fr);

        padding-bottom: 14px;
    }


    .sn-ma-avatar {
        width: 55px;

        height: 55px;
    }


    .sn-ma-stats {
        gap: 9px;

        grid-template-columns:
            repeat(
                2,
                minmax(0, 1fr)
            );
    }


    .sn-ma-stat-card {
        min-height: 78px;

        padding: 12px 10px;

        justify-content: flex-start;

        gap: 9px;
    }


    .sn-ma-stat-icon {
        width: 29px;

        height: 29px;
    }


    .sn-ma-stat-icon svg {
        width: 24px;

        height: 24px;
    }


    .sn-ma-stat-card strong {
        font-size: 20px;
    }


    .sn-ma-stat-card span:not(.sn-ma-stat-icon) {
        font-size: 12px;
    }


    .sn-ma-section-head {
        padding:
            13px
            12px;
    }


    .sn-ma-section-head h2 {
        font-size: 13px;
    }


    .sn-ma-table-scroll {
        padding:
            0
            10px
            10px;
    }


    .sn-ma-detail-row {
        padding:
            10px
            12px;

        grid-template-columns:
            100px
            minmax(0,1fr)
            auto;

        font-size:
            12px;
    }


    .sn-ma-address-content {
        padding:
            13px
            12px;
    }


    .sn-ma-wishlist-preview {
        padding:
            0
            10px
            10px;

        grid-template-columns:
            repeat(
                2,
                minmax(0,1fr)
            );

        gap:
            9px;
    }


    .sn-ma-wishlist-image-wrap {
        aspect-ratio:
            1 / 1;
    }


    .sn-ma-native-card {
        padding: 14px;

        overflow-x: auto;
    }

}



/* ============================================================
   SMALL MOBILE
============================================================ */

@media (max-width: 380px) {

    .sn-ma-stat-card {
        padding:
            10px
            7px;
    }


    .sn-ma-stat-icon {
        display: none;
    }


    .sn-ma-detail-row {
        grid-template-columns:
            90px
            minmax(0,1fr);
    }


    .sn-ma-detail-row > a {
        grid-column: 2;
    }

}
.sn-my-account{--sn-orange:var(--core-primary,#6B0A26)!important;--sn-orange-hover:var(--core-primary-hover,#4E071C)!important;--sn-orange-soft:rgba(var(--core-primary-rgb,107,10,38),.07)!important;--sn-black:var(--core-dark,#121212)!important;--sn-text:var(--core-gray-800,#292828)!important;--sn-muted:var(--core-gray-100,#686868)!important;--sn-border:var(--core-border,#E3D8D2)!important}
