/* =========================================================
   BASIC RESET
========================================================= */

* {
    box-sizing: border-box;
}

html {
    margin: 0;
    padding: 0;
}

body {
    margin: 0;
    padding: 0;
    font-family: Arial, Helvetica, sans-serif;
    background: #fff;
    color: #111;
}

img {
    max-width: 100%;
    height: auto;
}

.container {
    width: 92%;
    max-width: 1200px;
    margin: 0 auto;
}


/* =========================================================
   HEADER
========================================================= */

.site-header {
    position: relative;
    width: 100%;
    z-index: 999;
}


/* =========================================================
   TOP OFFER BAR
========================================================= */

.top-offer-bar {
    background: #ff2ca7;
    color: #fff;
}

.top-offer-inner {
    min-height: 32px;

    display: flex;
    align-items: center;
    justify-content: space-between;

    gap: 20px;
}

.offer-item {
    display: flex;
    align-items: center;

    gap: 7px;

    color: #fff;

    font-size: 13px;
    font-weight: 600;

    white-space: nowrap;
}

.offer-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
}


/* =========================================================
   DESKTOP MAIN HEADER
========================================================= */

.main-header {
    background: #000000;
    padding: 18px 0;
}

.main-header-inner {
    display: flex;
    align-items: center;

    gap: 35px;
}


/* =========================================================
   LOGO
========================================================= */

.site-logo {
    flex: 0 0 210px;
}

.site-logo a {
    color: #ff2ca7;

    text-decoration: none;

    font-size: 34px;
    font-weight: 800;

    line-height: 1;
}

.site-logo img {
    display: block;

    max-width: 200px;
    max-height: 65px;

    width: auto;
    height: auto;
}


/* =========================================================
   DESKTOP SEARCH
========================================================= */

.header-search {
    flex: 1;
}

.woocommerce-product-search {
    display: flex;

    width: 100%;
    margin: 0;
}

.woocommerce-product-search .search-field {
    flex: 1;

    height: 44px;

    border: 0;
    border-radius: 0;

    outline: none;

    padding: 0 16px;

    background: #fff;
    color: #222;

    font-size: 14px;
}

.woocommerce-product-search .search-field::placeholder {
    color: #777;
}

.woocommerce-product-search button {
    flex: 0 0 130px;

    width: 130px;
    height: 44px;

    margin: 0;

    border: 0;
    border-radius: 0;

    background: #ff2ca7;
    color: #fff;

    font-size: 14px;
    font-weight: 700;

    cursor: pointer;
}

.woocommerce-product-search button:hover {
    background: #ec1596;
}


/* =========================================================
   DESKTOP HEADER ACTIONS
========================================================= */

.header-actions {
    display: flex;
    align-items: center;

    gap: 26px;
}

.header-actions a {
    color: #fff;
    text-decoration: none;
}

.header-cart {
    position: relative;

    display: inline-flex;
    align-items: center;
}

.cart-icon-wrap {
    position: relative;

    display: inline-flex;
    align-items: center;
    justify-content: center;
}

.header-action-icon {
    display: inline-block;

    font-size: 25px;
    line-height: 1;
}

.cart-count {
    position: absolute;

    top: -11px;
    right: -11px;

    min-width: 20px;
    height: 20px;

    padding: 0 5px;

    display: flex;
    align-items: center;
    justify-content: center;

    border-radius: 100px;

    background: #ff2ca7;
    color: #fff;

    font-size: 10px;
    font-weight: 700;
}

.header-login {
    color: #fff;

    font-size: 14px;
    font-weight: 600;

    white-space: nowrap;
}

.header-login:hover {
    color: #ff2ca7;
}


/* =========================================================
   CATEGORY NAV BAR - DESKTOP
========================================================= */

.category-nav-bar {
    background: #333;
}

.main-navigation {
    width: 100%;
}

.main-menu {
    width: 100%;

    display: flex;
    align-items: stretch;
    justify-content: space-between;

    list-style: none;

    margin: 0;
    padding: 0;
}

.main-menu > li {
    position: relative;

    margin: 0;
    padding: 0;
}

.main-menu > li > a {
    min-height: 54px;

    display: flex;
    align-items: center;

    padding: 0 16px;

    color: #fff;

    font-size: 14px;
    font-weight: 600;

    line-height: 1.25;

    text-decoration: none;

    transition: 0.2s ease;
}

.main-menu > li > a:hover {
    color: #ff2ca7;
}


/* =========================================================
   DESKTOP DROPDOWN
========================================================= */

.main-menu .sub-menu {
    position: absolute;

    top: 100%;
    left: 0;

    z-index: 99999;

    min-width: 270px;

    margin: 0;
    padding: 10px 0;

    list-style: none;

    background: #080808;

    opacity: 0;
    visibility: hidden;

    transform: translateY(8px);

    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.35);

    transition:
        opacity 0.2s ease,
        transform 0.2s ease,
        visibility 0.2s ease;
}

.main-menu li:hover > .sub-menu {
    opacity: 1;
    visibility: visible;

    transform: translateY(0);
}

.main-menu .sub-menu li {
    position: relative;

    width: 100%;

    margin: 0;
    padding: 0;
}

.main-menu .sub-menu a {
    display: block;

    padding: 10px 18px;

    color: #fff;

    text-decoration: none;

    font-size: 14px;

    white-space: nowrap;
}

.main-menu .sub-menu a:hover {
    color: #ff2ca7;
    background: rgba(255, 255, 255, 0.04);
}


/* THIRD LEVEL */

.main-menu .sub-menu .sub-menu {
    top: 0;
    left: 100%;
}


/* =========================================================
   MOBILE ELEMENTS HIDDEN ON DESKTOP
========================================================= */

.mobile-main-header {
    display: none;
}


/* =========================================================
   TABLET
========================================================= */

@media (max-width: 1024px) and (min-width: 768px) {

    .top-offer-inner {
        justify-content: flex-start;

        overflow-x: auto;

        scrollbar-width: none;
    }

    .top-offer-inner::-webkit-scrollbar {
        display: none;
    }

    .main-header-inner {
        flex-wrap: wrap;
    }

    .site-logo {
        flex: 0 0 auto;
    }

    .header-actions {
        margin-left: auto;
    }

    .header-search {
        order: 3;

        flex: 0 0 100%;
    }

    .main-menu {
        justify-content: flex-start;

        overflow-x: auto;
    }

    .main-menu > li > a {
        padding: 0 12px;

        white-space: nowrap;
    }

}


/* =========================================================
   MOBILE HEADER
========================================================= */

@media (max-width: 767px) {

    body {
        overflow-x: hidden;
    }


    /* -----------------------------------------
       HIDE DESKTOP HEADER
    ----------------------------------------- */

    .top-offer-bar {
        display: none;
    }

    .main-header {
        display: none;
    }


    /* -----------------------------------------
       MOBILE MAIN HEADER
    ----------------------------------------- */

    .mobile-main-header {
        display: block;

        width: 100%;

        background: #050505;
        color: #fff;
    }

    .mobile-main-inner {
        min-height: 72px;

        padding: 0 16px;

        display: flex;
        align-items: center;
        justify-content: space-between;

        gap: 15px;

        border-bottom: 1px solid #2d2d2d;
    }


    /* MOBILE LOGO */

    .mobile-logo {
        display: flex;
        align-items: center;

        min-width: 0;
    }

    .mobile-logo a {
        color: #ff2ca7;

        text-decoration: none;

        font-size: 27px;
        font-weight: 800;

        line-height: 1;
    }

    .mobile-logo img {
        display: block;

        max-width: 145px;
        max-height: 52px;

        width: auto;
        height: auto;
    }


    /* -----------------------------------------
       MOBILE ICONS
    ----------------------------------------- */

    .mobile-header-actions {
        display: flex;
        align-items: center;

        gap: 17px;

        flex-shrink: 0;
    }

    .mobile-header-actions a,
    .mobile-header-actions button {
        position: relative;

        min-width: 25px;
        min-height: 30px;

        margin: 0;
        padding: 0;

        display: inline-flex;
        align-items: center;
        justify-content: center;

        border: 0;
        outline: none;

        background: transparent;
        color: #fff;

        text-decoration: none;

        font-size: 21px;
        line-height: 1;

        cursor: pointer;
    }

    .mobile-header-actions button:hover,
    .mobile-header-actions button:focus {
        background: transparent;
        color: #ff2ca7;
    }

    .mobile-cart {
        position: relative;
    }

    .mobile-cart-icon {
        font-size: 22px;
    }

    .mobile-cart-count {
        position: absolute;

        top: -7px;
        right: -8px;

        min-width: 19px;
        height: 19px;

        padding: 0 5px;

        display: flex;
        align-items: center;
        justify-content: center;

        border-radius: 50%;

        background: #ff2ca7;
        color: #fff;

        font-size: 10px;
        font-weight: 700;
    }

    .mobile-search-icon {
        font-size: 27px;
        line-height: 1;
    }

    .hamburger-icon {
        font-size: 27px;
        line-height: 1;
    }

    .mobile-account {
        font-size: 21px !important;
    }


    /* -----------------------------------------
       MOBILE SEARCH
    ----------------------------------------- */

    .mobile-search-box {
        display: none;

        width: 100%;

        padding: 12px 15px;

        background: #111;

        border-bottom: 1px solid #333;
    }

    .mobile-search-box.search-open {
        display: block;
    }

    .mobile-product-search {
        display: flex;

        width: 100%;

        margin: 0;
        padding: 0;
    }

    .mobile-product-search input[type="search"] {
        flex: 1;

        min-width: 0;

        height: 43px;

        padding: 0 13px;

        border: 0;
        border-radius: 0;

        outline: none;

        background: #fff;
        color: #222;

        font-size: 13px;
    }

    .mobile-product-search button {
        width: 85px;
        height: 43px;

        margin: 0;
        padding: 0 10px;

        border: 0;
        border-radius: 0;

        background: #ff2ca7;
        color: #fff;

        font-size: 13px;
        font-weight: 700;

        cursor: pointer;
    }


    /* -----------------------------------------
       MOBILE MENU AREA
    ----------------------------------------- */

    .category-nav-bar {
        width: 100%;

        background: #050505;
    }

    .category-nav-bar .container {
        width: 100%;
        max-width: none;

        margin: 0;
        padding: 0;
    }

    .main-navigation {
        display: none;

        width: 100%;

        background: #050505;
    }

    .main-navigation.menu-open {
        display: block;
    }


    /* MAIN MENU */

    .main-menu {
        display: block;

        width: 100%;

        margin: 0;
        padding: 0;

        overflow: visible;
    }

    .main-menu > li {
        position: relative;

        width: 100%;

        margin: 0;
        padding: 0;

        border-bottom: 1px solid #313131;
    }

    .main-menu > li > a {
        width: 100%;
        min-height: 55px;

        padding: 0 55px 0 17px;

        display: flex;
        align-items: center;

        color: #fff;

        font-size: 16px;
        font-weight: 600;

        text-decoration: none;

        white-space: normal;
    }

    .main-menu > li > a:hover {
        color: #fff;
    }


    /* -----------------------------------------
       MOBILE ARROW BUTTON
    ----------------------------------------- */

    .submenu-toggle {
        position: absolute;

        top: 0;
        right: 0;

        z-index: 5;

        width: 52px;
        height: 55px;

        display: flex;
        align-items: center;
        justify-content: center;

        margin: 0;
        padding: 0;

        border: 0;

        background: transparent;
        color: #fff;

        cursor: pointer;
    }

    .submenu-toggle::before {
        content: "";

        width: 8px;
        height: 8px;

        border-right: 2px solid #fff;
        border-bottom: 2px solid #fff;

        transform: rotate(45deg);

        transition: transform 0.2s ease;
    }

    .menu-item-has-children.submenu-open > .submenu-toggle::before {
        transform: rotate(225deg);
    }


    /* -----------------------------------------
       MOBILE SUB MENU
    ----------------------------------------- */

    .main-menu .sub-menu {
        position: static;

        display: none;

        width: 100%;
        min-width: 100%;

        margin: 0;
        padding: 0;

        opacity: 1;
        visibility: visible;

        transform: none;

        background: #151515;

        box-shadow: none;

        transition: none;
    }

    .main-menu li.submenu-open > .sub-menu {
        display: block;
    }

    .main-menu .sub-menu li {
        width: 100%;

        margin: 0;
        padding: 0;

        border-top: 1px solid #292929;
    }

    .main-menu .sub-menu a {
        width: 100%;

        display: block;

        padding: 14px 25px;

        color: #ddd;

        font-size: 14px;
        font-weight: 400;

        line-height: 1.4;

        text-decoration: none;

        white-space: normal;
    }

    .main-menu .sub-menu a:hover {
        color: #ff2ca7;
        background: #1c1c1c;
    }


    /* THIRD LEVEL MOBILE */

    .main-menu .sub-menu .sub-menu {
        position: static;

        display: none;

        margin: 0;

        background: #202020;
    }

    .main-menu .sub-menu li.submenu-open > .sub-menu {
        display: block;
    }


    /* DISABLE DESKTOP HOVER ON MOBILE */

    .main-menu li:hover > .sub-menu {
        display: none;
    }

    .main-menu li.submenu-open > .sub-menu,
    .main-menu li.submenu-open:hover > .sub-menu {
        display: block;
    }

}


/* =========================================================
   SMALL MOBILE
========================================================= */

@media (max-width: 400px) {

    .mobile-main-inner {
        padding-left: 12px;
        padding-right: 12px;
    }

    .mobile-header-actions {
        gap: 13px;
    }

    .mobile-logo a {
        font-size: 24px;
    }

    .mobile-logo img {
        max-width: 125px;
    }

}


/* =========================================================
   HOMEPAGE HERO
========================================================= */

.home-hero {
    background: #111;
    overflow: hidden;
}

.home-hero .container {
    width: 92%;
    max-width: 1200px;
    margin: 0 auto;
}

.home-hero-inner {
    min-height: 470px;

    display: grid;
    grid-template-columns: 1fr 1fr;
    align-items: stretch;
}

.home-hero-content {
    padding: 70px 45px 70px 0;

    display: flex;
    flex-direction: column;
    justify-content: center;

    color: #fff;
}

.hero-small-title {
    display: inline-block;

    margin-bottom: 15px;

    color: #ff2ca7;

    font-size: 14px;
    font-weight: 700;

    text-transform: uppercase;

    letter-spacing: 1px;
}

.home-hero h1 {
    max-width: 560px;

    margin: 0 0 20px;

    color: #fff;

    font-size: 52px;
    line-height: 1.08;

    font-weight: 800;
}

.home-hero p {
    max-width: 520px;

    margin: 0 0 28px;

    color: #d8d8d8;

    font-size: 17px;
    line-height: 1.7;
}

.hero-shop-button {
    width: fit-content;

    min-width: 140px;
    min-height: 48px;

    padding: 0 25px;

    display: inline-flex;
    align-items: center;
    justify-content: center;

    background: #ff2ca7;
    color: #fff;

    border-radius: 4px;

    text-decoration: none;

    font-size: 15px;
    font-weight: 700;
}

.hero-shop-button:hover {
    background: #ec1596;
}


/* =========================================================
   HERO IMAGE
========================================================= */

.home-hero-image {
    min-height: 470px;
    height: 100%;
}

.hero-placeholder {
    width: 100%;
    height: 100%;
    min-height: 470px;

    display: flex;
    align-items: center;
    justify-content: center;

    background:
        linear-gradient(
            135deg,
            #ff2ca7 0%,
            #9a005c 50%,
            #380021 100%
        );

    color: #fff;

    font-size: 28px;
    font-weight: 800;
}


/* =========================================================
   GENERAL SECTION HEADINGS
========================================================= */

.section-heading {
    margin-bottom: 38px;

    text-align: center;
}

.section-heading h2 {
    margin: 0 0 8px;

    color: #111;

    font-size: 32px;
    line-height: 1.2;
}

.section-heading p {
    margin: 0;

    color: #777;

    font-size: 15px;
}


/* =========================================================
   SHOP BY CATEGORY
========================================================= */

.home-categories {
    padding: 70px 0;

    background: #fff;
}

.category-grid {
    display: grid;
    grid-template-columns: repeat(6, 1fr);

    gap: 22px;
}

.category-card {
    display: block;

    color: #111;

    text-align: center;
    text-decoration: none;
}

.category-image {
    width: 100%;

    aspect-ratio: 1 / 1;

    overflow: hidden;

    border: 2px solid transparent;
    border-radius: 50%;

    background: #f5f5f5;

    transition:
        transform 0.2s ease,
        border-color 0.2s ease,
        box-shadow 0.2s ease;
}

.category-card:hover .category-image {
    transform: translateY(-4px);

    border-color: #ff2ca7;

    box-shadow: 0 10px 25px rgba(0, 0, 0, 0.08);
}

.category-image img {
    width: 100%;
    height: 100%;

    display: block;

    object-fit: cover;
}

.category-placeholder {
    width: 100%;
    height: 100%;

    padding: 15px;

    display: flex;
    align-items: center;
    justify-content: center;

    background: #f4f4f4;

    color: #555;

    font-size: 14px;
    font-weight: 600;
}

.category-card h3 {
    margin: 14px 0 0;

    color: #111;

    font-size: 15px;
    font-weight: 700;
}

.category-card:hover h3 {
    color: #ff2ca7;
}


/* =========================================================
   PRODUCT SECTION
========================================================= */

.products-section {
    padding: 70px 0;

    background: #fafafa;
}

.custom-product-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);

    gap: 24px;
}

.custom-product-card {
    position: relative;

    padding: 12px;

    overflow: hidden;

    border: 1px solid #eee;
    border-radius: 8px;

    background: #fff;

    transition:
        transform 0.2s ease,
        box-shadow 0.2s ease;
}

.custom-product-card:hover {
    transform: translateY(-5px);

    box-shadow: 0 12px 30px rgba(0, 0, 0, 0.08);
}


/* PRODUCT IMAGE */

.product-image-wrap {
    position: relative;
}

.product-image {
    width: 100%;

    aspect-ratio: 1 / 1;

    overflow: hidden;

    border-radius: 6px;

    background: #f6f6f6;
}

.product-image img {
    width: 100%;
    height: 100%;

    display: block;

    object-fit: cover;

    transition: transform 0.3s ease;
}

.custom-product-card:hover .product-image img {
    transform: scale(1.04);
}


/* SALE BADGE */

.sale-badge {
    position: absolute;

    top: 10px;
    left: 10px;

    z-index: 5;

    padding: 6px 10px;

    border-radius: 3px;

    background: #ff2ca7;
    color: #fff;

    font-size: 11px;
    font-weight: 700;

    text-transform: uppercase;
}


/* PRODUCT TITLE */

.product-title {
    margin: 15px 0 8px;

    font-size: 16px;
    line-height: 1.4;

    font-weight: 600;
}

.product-title a {
    color: #111;

    text-decoration: none;
}

.product-title a:hover {
    color: #ff2ca7;
}


/* PRODUCT PRICE */

.product-price {
    min-height: 26px;

    margin-bottom: 15px;

    color: #111;

    font-size: 17px;
    font-weight: 700;
}

.product-price del {
    margin-right: 6px;

    color: #999;

    font-size: 14px;
    font-weight: 400;
}

.product-price ins {
    color: #ff2ca7;

    text-decoration: none;
}


/* ADD TO CART */

.product-button-wrap .button {
    width: 100%;
    min-height: 43px;

    padding: 8px 14px;

    display: flex;
    align-items: center;
    justify-content: center;

    border: 0;
    border-radius: 4px;

    background: #111;
    color: #fff;

    text-decoration: none;

    font-size: 14px;
    font-weight: 700;
}

.product-button-wrap .button:hover {
    background: #ff2ca7;
    color: #fff;
}


/* VIEW ALL */

.view-all-products {
    margin-top: 40px;

    text-align: center;
}

.view-all-products a {
    min-height: 46px;

    padding: 0 25px;

    display: inline-flex;
    align-items: center;
    justify-content: center;

    border-radius: 4px;

    background: #ff2ca7;
    color: #fff;

    text-decoration: none;

    font-size: 14px;
    font-weight: 700;
}

.view-all-products a:hover {
    background: #ec1596;
}


/* =========================================================
   NO PRODUCTS
========================================================= */

.no-products {
    padding: 40px 20px;

    border-radius: 8px;

    background: #f4f4f4;

    text-align: center;
}


/* =========================================================
   STORE BENEFITS
========================================================= */

.store-benefits {
    background: #171717;
    color: #fff;
}

.benefits-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
}

.benefit-item {
    min-height: 105px;

    padding: 25px 18px;

    display: flex;
    align-items: center;
    justify-content: center;

    gap: 14px;

    border-right: 1px solid rgba(255,255,255,0.1);
}

.benefit-item:last-child {
    border-right: 0;
}

.benefit-icon {
    flex: 0 0 auto;

    font-size: 28px;
}

.benefit-item strong {
    display: block;

    margin-bottom: 4px;

    color: #fff;

    font-size: 14px;
}

.benefit-item small {
    display: block;

    color: #aaa;

    font-size: 12px;
    line-height: 1.4;
}


/* =========================================================
   HOMEPAGE TABLET
========================================================= */

@media (max-width: 991px) {

    .home-hero h1 {
        font-size: 42px;
    }

    .category-grid {
        grid-template-columns: repeat(3, 1fr);
    }

    .custom-product-grid {
        grid-template-columns: repeat(3, 1fr);
    }

    .benefits-grid {
        grid-template-columns: repeat(2, 1fr);
    }

    .benefit-item:nth-child(2) {
        border-right: 0;
    }

}


/* =========================================================
   HOMEPAGE MOBILE
========================================================= */

@media (max-width: 767px) {

    .home-hero .container {
        width: 100%;
    }

    .home-hero-inner {
        min-height: auto;

        grid-template-columns: 1fr;
    }

    .home-hero-content {
        padding: 45px 20px;

        text-align: center;
    }

    .hero-small-title {
        margin-bottom: 12px;

        font-size: 12px;
    }

    .home-hero h1 {
        max-width: 100%;

        margin-bottom: 15px;

        font-size: 34px;
        line-height: 1.12;
    }

    .home-hero p {
        max-width: 100%;

        margin-bottom: 24px;

        font-size: 15px;
        line-height: 1.6;
    }

    .hero-shop-button {
        margin: 0 auto;
    }

    .home-hero-image {
        min-height: 260px;
    }

    .hero-placeholder {
        min-height: 260px;

        font-size: 22px;
    }


    /* CATEGORY */

    .home-categories {
        padding: 45px 0;
    }

    .section-heading {
        margin-bottom: 28px;
    }

    .section-heading h2 {
        font-size: 26px;
    }

    .section-heading p {
        font-size: 14px;
    }

    .category-grid {
        grid-template-columns: repeat(3, 1fr);

        gap: 15px;
    }

    .category-card h3 {
        margin-top: 10px;

        font-size: 13px;
    }


    /* PRODUCTS */

    .products-section {
        padding: 45px 0;
    }

    .custom-product-grid {
        grid-template-columns: repeat(2, 1fr);

        gap: 12px;
    }

    .custom-product-card {
        padding: 8px;
    }

    .product-title {
        margin-top: 12px;

        font-size: 14px;
    }

    .product-price {
        font-size: 15px;
    }

    .product-button-wrap .button {
        min-height: 40px;

        padding: 6px 8px;

        font-size: 12px;
    }


    /* BENEFITS */

    .benefits-grid {
        grid-template-columns: repeat(2, 1fr);
    }

    .benefit-item {
        min-height: 95px;

        padding: 18px 10px;
    }

}


/* =========================================================
   SMALL MOBILE
========================================================= */

@media (max-width: 420px) {

    .home-hero h1 {
        font-size: 30px;
    }

    .category-grid {
        grid-template-columns: repeat(2, 1fr);
    }

    .benefit-item {
        align-items: flex-start;

        text-align: left;
    }

}


/* =========================================================
   DARK SHOP SECTION
========================================================= */

.dark-shop-section {
    padding: 0 0 70px;
    background: #17191a;
    color: #fff;
}


/* =========================================================
   TRUST STRIP
========================================================= */

.trust-strip {
    min-height: 56px;

    margin-bottom: 65px;

    display: grid;
    grid-template-columns: repeat(4, 1fr);
    align-items: center;

    background: #ff2ca7;
}

.trust-item {
    padding: 12px 15px;

    display: flex;
    align-items: center;
    justify-content: center;

    gap: 10px;

    color: #fff;

    font-size: 12px;
    font-weight: 600;

    text-align: center;
}

.trust-icon {
    font-size: 20px;
}


/* =========================================================
   DARK CATEGORY GRID
========================================================= */

.dark-category-grid {
    display: flex;
    justify-content: center;
    align-items: flex-start;

    flex-wrap: wrap;

    gap: 28px 16px;

    margin-bottom: 80px;
}

.dark-category-item {
    width: 102px;

    display: block;

    text-align: center;

    color: #fff;

    text-decoration: none;
}

.dark-category-image {
    width: 102px;
    height: 102px;

    margin: 0 auto 12px;

    overflow: hidden;

    display: flex;
    align-items: center;
    justify-content: center;

    border-radius: 8px;

    background:
        linear-gradient(
            135deg,
            #ececec,
            #999
        );

    transition:
        transform .2s ease,
        box-shadow .2s ease;
}

.dark-category-item:hover .dark-category-image {
    transform: translateY(-5px);

    box-shadow:
        0 10px 30px
        rgba(255, 44, 167, 0.2);
}

.dark-category-image img {
    width: 100%;
    height: 100%;

    display: block;

    object-fit: cover;
}

.dark-category-placeholder {
    width: 58px;
    height: 58px;

    display: flex;
    align-items: center;
    justify-content: center;

    border-radius: 50%;

    background: #ff2ca7;
    color: #111;

    font-size: 26px;
    font-weight: 800;
}

.dark-category-name {
    color: #fff;

    font-size: 14px;
    font-weight: 600;

    line-height: 1.3;
}

.dark-category-item:hover .dark-category-name {
    color: #ff2ca7;
}


/* =========================================================
   PRODUCT HEADING
========================================================= */

.dark-products-heading {
    margin-bottom: 30px;

    text-align: center;
}

.dark-products-heading h2 {
    margin: 0;

    color: #fff;

    font-size: 38px;
    line-height: 1.1;

    font-weight: 800;

    text-transform: uppercase;
}


/* =========================================================
   PRODUCT GRID
========================================================= */

.dark-products-grid {
    display: grid;

    grid-template-columns:
        repeat(4, minmax(0, 1fr));

    gap: 20px;
}


/* PRODUCT CARD */

.dark-product-card {
    min-width: 0;

    overflow: hidden;

    background: #fff;

    color: #111;

    transition:
        transform .2s ease,
        box-shadow .2s ease;
}

.dark-product-card:hover {
    transform: translateY(-4px);

    box-shadow:
        0 15px 30px
        rgba(0,0,0,.25);
}


/* PRODUCT IMAGE */

.dark-product-image-wrap {
    position: relative;
}

.dark-product-image {
    width: 100%;

    aspect-ratio: 1 / 1;

    overflow: hidden;

    background: #eee;
}

.dark-product-image img {
    width: 100%;
    height: 100%;

    display: block;

    object-fit: cover;
}


/* OFFER BADGE */

.offer-badge {
    position: absolute;

    top: 0;
    left: 0;

    z-index: 5;

    padding: 7px 12px;

    background: #26973c;
    color: #fff;

    font-size: 11px;
    font-weight: 700;

    text-transform: uppercase;
}


/* PRODUCT CONTENT */

.dark-product-content {
    padding: 14px;
}

.dark-product-content h3 {
    min-height: 42px;

    margin: 0 0 9px;

    font-size: 15px;
    line-height: 1.4;
}

.dark-product-content h3 a {
    color: #111;

    text-decoration: none;
}

.dark-product-content h3 a:hover {
    color: #ff2ca7;
}


/* PRICE */

.dark-product-price {
    min-height: 26px;

    margin-bottom: 13px;

    color: #111;

    font-size: 16px;
    font-weight: 700;
}

.dark-product-price del {
    margin-right: 5px;

    color: #888;

    font-size: 13px;
}

.dark-product-price ins {
    color: #ff2ca7;

    text-decoration: none;
}


/* ADD TO CART */

.dark-add-cart {
    width: 100%;

    min-height: 40px;

    padding: 8px 12px;

    display: flex !important;
    align-items: center;
    justify-content: center;

    background: #ff2ca7 !important;
    color: #fff !important;

    border: 0 !important;
    border-radius: 3px !important;

    text-decoration: none !important;

    font-size: 13px !important;
    font-weight: 700 !important;
}

.dark-add-cart:hover {
    background: #111 !important;
}


/* EMPTY PRODUCTS */

.dark-no-products {
    padding: 30px;

    background: #222;

    text-align: center;

    color: #fff;
}


/* =========================================================
   TABLET
========================================================= */

@media (max-width: 991px) {

    .trust-strip {
        grid-template-columns: repeat(2, 1fr);
    }

    .dark-products-grid {
        grid-template-columns:
            repeat(3, minmax(0, 1fr));
    }

}


/* =========================================================
   MOBILE
========================================================= */

@media (max-width: 767px) {

    .dark-shop-section {
        padding-bottom: 45px;
    }

    .dark-shop-section .container {
        width: 100%;
    }


    /* TRUST */

    .trust-strip {
        margin-bottom: 35px;

        grid-template-columns:
            repeat(2, 1fr);
    }

    .trust-item {
        min-height: 52px;

        padding: 8px;

        gap: 6px;

        font-size: 10px;
    }

    .trust-icon {
        font-size: 17px;
    }


    /* CATEGORY HORIZONTAL SCROLL */

    .dark-category-grid {
        padding: 0 15px 10px;

        margin-bottom: 48px;

        display: flex;
        flex-wrap: nowrap;
        justify-content: flex-start;

        gap: 15px;

        overflow-x: auto;

        scrollbar-width: none;
    }

    .dark-category-grid::-webkit-scrollbar {
        display: none;
    }

    .dark-category-item {
        flex: 0 0 82px;

        width: 82px;
    }

    .dark-category-image {
        width: 82px;
        height: 82px;

        margin-bottom: 9px;
    }

    .dark-category-name {
        font-size: 12px;
    }


    /* HEADING */

    .dark-products-heading {
        padding: 0 15px;

        margin-bottom: 22px;
    }

    .dark-products-heading h2 {
        font-size: 27px;
    }


    /* PRODUCTS */

    .dark-products-grid {
        padding: 0 12px;

        grid-template-columns:
            repeat(2, minmax(0, 1fr));

        gap: 10px;
    }

    .dark-product-content {
        padding: 10px;
    }

    .dark-product-content h3 {
        min-height: 38px;

        font-size: 13px;
    }

    .dark-product-price {
        font-size: 14px;
    }

    .dark-add-cart {
        min-height: 38px;

        padding: 7px;

        font-size: 11px !important;
    }

}


/* =========================================================
   REFERENCE STYLE PRODUCT SECTION
========================================================= */

.reference-product-grid {
    display: grid;
    grid-template-columns: repeat(5, minmax(0, 1fr));
    gap: 9px;
}


/* CARD */

.reference-product-card {
    min-width: 0;
    overflow: hidden;

    background: #333;
    color: #fff;
}


/* =========================================================
   IMAGE
========================================================= */

.reference-product-image-wrap {
    position: relative;

    width: 100%;
}

.reference-product-image {
    width: 100%;

    aspect-ratio: 1 / 1;

    overflow: hidden;

    background: #eee;
}

.reference-product-image img {
    width: 100%;
    height: 100%;

    display: block;

    object-fit: cover;
}


/* =========================================================
   ON OFFER
========================================================= */

.reference-offer-badge {
    position: absolute;

    top: 0;
    left: 0;

    z-index: 10;

    padding: 7px 12px;

    background: #279a3b;
    color: #fff;

    font-size: 11px;
    font-weight: 700;

    text-transform: uppercase;
}


/* =========================================================
   PRODUCT INFORMATION
========================================================= */

.reference-product-info {
    padding: 14px 15px 15px;
}


/* =========================================================
   DISCOUNT + STARS
========================================================= */

.reference-product-meta {
    min-height: 22px;

    margin-bottom: 10px;

    display: flex;
    align-items: center;
    justify-content: space-between;

    gap: 8px;
}

.reference-discount {
    color: #fff;

    font-size: 16px;
    font-weight: 800;

    white-space: nowrap;
}

.reference-stars {
    display: flex;

    gap: 1px;

    font-size: 13px;

    white-space: nowrap;
}

.reference-stars .star-active {
    color: #fff500;
}

.reference-stars .star-empty {
    color: #777;
}


/* =========================================================
   PRODUCT TITLE
========================================================= */

.reference-product-title {
    min-height: 44px;

    margin: 0 0 8px;

    overflow: hidden;

    font-size: 16px;
    line-height: 22px;

    font-weight: 700;
}

.reference-product-title a {
    color: #fff;

    text-decoration: none;
}

.reference-product-title a:hover {
    color: #ff2ca7;
}


/* =========================================================
   PRICE
========================================================= */

.reference-price {
    min-height: 28px;

    margin-bottom: 12px;

    display: flex;
    align-items: center;

    gap: 10px;

    white-space: nowrap;
}

.reference-price del {
    color: #b33b86;

    font-size: 13px;

    font-weight: 500;
}

.reference-price ins {
    color: #aaa;

    font-size: 20px;
    font-weight: 800;

    text-decoration: none;
}

.reference-price .normal-price {
    color: #fff;

    font-size: 19px;
    font-weight: 800;
}


/* =========================================================
   ADD TO CART
========================================================= */

.reference-cart-button {
    width: 100%;
}

.reference-add-cart {
    width: 100%;

    min-height: 39px;

    padding: 8px 10px !important;

    display: flex !important;
    align-items: center;
    justify-content: center;

    border: 0 !important;
    border-radius: 0 !important;

    background: #575757 !important;
    color: #fff !important;

    text-align: center;
    text-decoration: none !important;

    font-size: 14px !important;
    font-weight: 500 !important;

    transition: background .2s ease;
}

.reference-add-cart:hover {
    background: #ff2ca7 !important;
    color: #fff !important;
}


/* =========================================================
   VIEW ALL
========================================================= */

.reference-view-all {
    margin-top: 35px;

    text-align: center;
}

.reference-view-all a {
    min-height: 44px;

    padding: 0 25px;

    display: inline-flex;
    align-items: center;
    justify-content: center;

    background: #ff2ca7;
    color: #fff;

    text-decoration: none;

    font-size: 14px;
    font-weight: 700;
}

.reference-view-all a:hover {
    background: #e91b96;
}


/* =========================================================
   SECTION HEADING
========================================================= */

.dark-products-heading {
    margin: 0 0 28px;

    text-align: center;
}

.dark-products-heading h2 {
    margin: 0;

    color: #fff;

    font-size: 38px;
    font-weight: 800;

    text-transform: uppercase;
}


/* =========================================================
   DARK SECTION
========================================================= */

.dark-shop-section {
    padding-bottom: 70px;

    background: #17191a;
}


/* =========================================================
   TRUST BAR FULL WIDTH
========================================================= */

.dark-shop-section > .trust-strip {
    width: 100%;

    margin-bottom: 65px;
}


/* =========================================================
   TABLET
========================================================= */

@media (max-width: 1100px) {

    .reference-product-grid {
        grid-template-columns:
            repeat(4, minmax(0, 1fr));
    }

}


@media (max-width: 900px) {

    .reference-product-grid {
        grid-template-columns:
            repeat(3, minmax(0, 1fr));
    }

}


/* =========================================================
   MOBILE
========================================================= */

@media (max-width: 767px) {

    .dark-products-heading h2 {
        font-size: 27px;
    }


    .reference-product-grid {
        padding: 0 10px;

        grid-template-columns:
            repeat(2, minmax(0, 1fr));

        gap: 8px;
    }


    .reference-product-info {
        padding: 10px;
    }


    .reference-product-meta {
        align-items: flex-start;

        gap: 4px;
    }


    .reference-discount {
        font-size: 13px;
    }


    .reference-stars {
        font-size: 10px;
    }


    .reference-product-title {
        min-height: 38px;

        font-size: 13px;
        line-height: 19px;
    }


    .reference-price {
        gap: 5px;
    }


    .reference-price del {
        font-size: 11px;
    }


    .reference-price ins,
    .reference-price .normal-price {
        font-size: 15px;
    }


    .reference-add-cart {
        min-height: 37px;

        padding: 6px !important;

        font-size: 12px !important;
    }

}


/* =========================================================
   VERY SMALL MOBILE
========================================================= */

@media (max-width: 380px) {

    .reference-product-info {
        padding: 8px;
    }

    .reference-discount {
        font-size: 12px;
    }

    .reference-stars {
        font-size: 9px;
    }

}


/* =========================================================
   TOP MEN PRODUCTS - FINAL DESIGN
========================================================= */

.dark-shop-section {
    width: 100%;
    padding: 65px 0 70px;
    background: #17191a;
    color: #fff;
}

.dark-shop-section .container {
    width: 92%;
    max-width: 1150px;
    margin: 0 auto;
}


/* =========================================================
   HEADING
========================================================= */

.dark-products-heading {
    width: 100%;
    margin: 0 0 30px;
    text-align: center;
}

.dark-products-heading h2 {
    margin: 0;

    color: #fff;

    font-size: 38px;
    line-height: 1.15;
    font-weight: 800;

    text-transform: uppercase;
}


/* =========================================================
   PRODUCT GRID
========================================================= */

.reference-product-grid {
    width: 100%;

    display: grid !important;

    grid-template-columns: repeat(5, minmax(0, 1fr)) !important;

    gap: 8px !important;

    align-items: stretch;
}


/* =========================================================
   PRODUCT CARD
========================================================= */

.reference-product-card {
    width: 100% !important;
    min-width: 0;

    margin: 0 !important;
    padding: 0 !important;

    overflow: hidden;

    background: #333 !important;
    color: #fff;

    border: 0 !important;
    border-radius: 0 !important;

    display: flex;
    flex-direction: column;
}


/* =========================================================
   PRODUCT IMAGE AREA
========================================================= */

.reference-product-image-wrap {
    position: relative;

    width: 100%;
    margin: 0;
    padding: 0;

    background: #eee;
}

.reference-product-image {
    width: 100%;

    aspect-ratio: 1 / 1;

    margin: 0;
    padding: 0;

    overflow: hidden;

    background: #eee;
}

.reference-product-image a {
    display: block;
}

.reference-product-image img {
    display: block !important;

    width: 100% !important;
    height: 100% !important;

    margin: 0 !important;
    padding: 0 !important;

    object-fit: cover;
}


/* =========================================================
   ON OFFER BADGE
========================================================= */

.reference-offer-badge {
    position: absolute;

    top: 0;
    left: 0;

    z-index: 10;

    display: inline-block;

    margin: 0;
    padding: 7px 12px;

    background: #26983b !important;
    color: #fff !important;

    font-size: 11px;
    line-height: 1;
    font-weight: 700;

    text-transform: uppercase;
}


/* =========================================================
   PRODUCT DETAILS
========================================================= */

.reference-product-info {
    width: 100%;

    padding: 14px 14px 15px !important;

    background: #333;

    display: flex;
    flex-direction: column;

    flex: 1;
}


/* =========================================================
   DISCOUNT + RATING
========================================================= */

.reference-product-meta {
    width: 100%;

    min-height: 22px;

    margin: 0 0 10px;

    display: flex !important;
    align-items: center;
    justify-content: flex-start;

    gap: 14px;
}

.reference-discount {
    display: inline-block;

    color: #fff !important;

    font-size: 16px;
    line-height: 1;
    font-weight: 800;

    white-space: nowrap;
}

.reference-stars {
    display: inline-flex !important;

    align-items: center;

    gap: 1px;

    margin: 0;
    padding: 0;

    line-height: 1;
}

.reference-stars span {
    font-size: 13px;
}

.reference-stars .star-active {
    color: #fff200 !important;
}

.reference-stars .star-empty {
    color: #777 !important;
}


/* =========================================================
   TITLE
========================================================= */

.reference-product-title {
    width: 100%;

    min-height: 42px;

    margin: 0 0 8px !important;
    padding: 0 !important;

    overflow: hidden;

    font-size: 16px !important;
    line-height: 21px !important;
    font-weight: 700 !important;
}

.reference-product-title a {
    display: block;

    overflow: hidden;

    color: #fff !important;

    text-decoration: none !important;

    white-space: nowrap;
    text-overflow: ellipsis;
}

.reference-product-title a:hover {
    color: #ff2ca7 !important;
}


/* =========================================================
   PRICE
========================================================= */

.reference-price {
    width: 100%;

    min-height: 28px;

    margin: auto 0 12px !important;

    display: flex !important;
    align-items: center;

    gap: 9px;

    white-space: nowrap;
}

.reference-price del {
    margin: 0 !important;

    color: #b53082 !important;

    font-size: 13px !important;
    font-weight: 500 !important;
}

.reference-price del .woocommerce-Price-amount {
    color: #b53082 !important;
}

.reference-price ins {
    margin: 0 !important;

    color: #aaa !important;

    font-size: 19px !important;
    font-weight: 800 !important;

    text-decoration: none !important;
}

.reference-price ins .woocommerce-Price-amount {
    color: #aaa !important;
}

.reference-price .normal-price,
.reference-price .normal-price .woocommerce-Price-amount {
    color: #fff !important;

    font-size: 19px !important;
    font-weight: 800 !important;
}


/* =========================================================
   ADD TO CART
========================================================= */

.reference-cart-button {
    width: 100%;

    margin: 0;
    padding: 0;
}

.reference-cart-button .button,
.reference-add-cart {
    width: 100% !important;

    min-height: 39px !important;

    margin: 0 !important;
    padding: 8px 10px !important;

    display: flex !important;
    align-items: center !important;
    justify-content: center !important;

    border: 0 !important;
    border-radius: 0 !important;

    background: #555 !important;
    color: #fff !important;

    box-shadow: none !important;

    text-align: center !important;
    text-decoration: none !important;

    font-size: 14px !important;
    line-height: 1.2 !important;
    font-weight: 500 !important;
}

.reference-cart-button .button:hover,
.reference-add-cart:hover {
    background: #ff2ca7 !important;
    color: #fff !important;
}


/* WooCommerce AJAX added text */

.reference-cart-button .added_to_cart {
    display: block;

    margin-top: 7px;

    color: #fff;

    font-size: 12px;

    text-align: center;
}


/* =========================================================
   VIEW ALL
========================================================= */

.reference-view-all {
    width: 100%;

    margin: 35px 0 0;

    text-align: center;
}

.reference-view-all a {
    min-width: 170px;
    min-height: 44px;

    padding: 0 24px;

    display: inline-flex;
    align-items: center;
    justify-content: center;

    background: #ff2ca7;
    color: #fff;

    text-decoration: none;

    font-size: 14px;
    font-weight: 700;
}

.reference-view-all a:hover {
    background: #e51c96;
}


/* =========================================================
   TABLET
========================================================= */

@media (max-width: 1100px) {

    .reference-product-grid {
        grid-template-columns:
            repeat(4, minmax(0, 1fr)) !important;
    }

}


@media (max-width: 900px) {

    .reference-product-grid {
        grid-template-columns:
            repeat(3, minmax(0, 1fr)) !important;
    }

}


/* =========================================================
   MOBILE
========================================================= */

@media (max-width: 767px) {

    .dark-shop-section {
        padding: 45px 0;
    }

    .dark-shop-section .container {
        width: 100%;
    }

    .dark-products-heading {
        padding: 0 12px;

        margin-bottom: 22px;
    }

    .dark-products-heading h2 {
        font-size: 27px;
    }


    .reference-product-grid {
        padding: 0 8px;

        grid-template-columns:
            repeat(2, minmax(0, 1fr)) !important;

        gap: 8px !important;
    }


    .reference-product-info {
        padding: 10px !important;
    }


    .reference-product-meta {
        min-height: 18px;

        margin-bottom: 8px;

        gap: 7px;
    }


    .reference-discount {
        font-size: 13px;
    }


    .reference-stars span {
        font-size: 10px;
    }


    .reference-product-title {
        min-height: 36px;

        margin-bottom: 6px !important;

        font-size: 13px !important;
        line-height: 18px !important;
    }


    .reference-price {
        gap: 5px;

        margin-bottom: 9px !important;
    }


    .reference-price del {
        font-size: 11px !important;
    }


    .reference-price ins,
    .reference-price .normal-price {
        font-size: 15px !important;
    }


    .reference-cart-button .button,
    .reference-add-cart {
        min-height: 37px !important;

        padding: 6px !important;

        font-size: 12px !important;
    }

}


/* =========================================================
   SMALL MOBILE
========================================================= */

@media (max-width: 380px) {

    .reference-product-grid {
        padding: 0 6px;

        gap: 6px !important;
    }

    .reference-product-info {
        padding: 8px !important;
    }

    .reference-discount {
        font-size: 12px;
    }

    .reference-stars span {
        font-size: 9px;
    }

}


.women-products-heading {
    margin-top: 70px;
}

@media (max-width: 767px) {

    .women-products-heading {
        margin-top: 50px;
    }

}


/* =========================================================
   HOMEPAGE PRODUCT SECTION SPACING
========================================================= */

.homepage-section-gap {
    height: 75px;
}

@media (max-width: 767px) {

    .homepage-section-gap {
        height: 55px;
    }

}


/* =========================================================
   AJAX ADD TO CART TOAST
========================================================= */

.myshop-cart-toast {
    position: fixed;

    left: 50%;
    bottom: 28px;

    z-index: 999999;

    min-width: 300px;
    max-width: calc(100% - 30px);

    padding: 16px 20px;

    display: flex;
    align-items: center;
    justify-content: center;

    gap: 7px;

    background: #ff2ca7;
    color: #fff;

    font-size: 14px;
    font-weight: 600;

    text-align: center;

    box-shadow:
        0 8px 30px
        rgba(0, 0, 0, 0.25);

    opacity: 0;

    visibility: hidden;

    transform:
        translate(-50%, 30px);

    transition:
        opacity .25s ease,
        transform .25s ease,
        visibility .25s ease;

    pointer-events: none;
}


/* SHOW */

.myshop-cart-toast.is-visible {
    opacity: 1;

    visibility: visible;

    transform:
        translate(-50%, 0);

    pointer-events: auto;
}


/* MESSAGE */

.myshop-cart-toast-message {
    color: #fff;
}


/* CHECKOUT LINK */

.myshop-toast-checkout {
    color: #fff600 !important;

    font-weight: 800;

    text-decoration: none !important;
}

.myshop-toast-checkout:hover {
    color: #fff !important;
}


/* =========================================================
   SECTION GAP
========================================================= */

.homepage-section-gap {
    height: 75px;
}


/* =========================================================
   MOBILE
========================================================= */

@media (max-width: 767px) {

    .homepage-section-gap {
        height: 55px;
    }


    .myshop-cart-toast {
        bottom: 20px;

        width: calc(100% - 24px);
        min-width: 0;

        padding: 14px 12px;

        font-size: 13px;
    }

}


/* =========================================================
   HOMEPAGE BANNER SLIDER
========================================================= */

.homepage-slider {
    position: relative;

    width: 100%;

    overflow: hidden;

    background: #111;
}


/* =========================================================
   TRACK
========================================================= */

.homepage-slider-track {
    position: relative;

    width: 100%;

    min-height: 470px;
}


/* =========================================================
   SLIDE
========================================================= */

.homepage-slide {
    position: absolute;

    top: 0;
    left: 0;

    width: 100%;
    height: 100%;

    min-height: 470px;

    opacity: 0;

    visibility: hidden;

    transition: opacity .55s ease;
}

.homepage-slide.active {
    position: relative;

    opacity: 1;

    visibility: visible;
}


/* =========================================================
   IMAGE
========================================================= */

.homepage-slide picture {
    display: block;

    width: 100%;
    height: 100%;
}

.homepage-slide img {
    display: block;

    width: 100%;
    height: 470px;

    object-fit: cover;
}


/* =========================================================
   DARK GRADIENT
========================================================= */

.homepage-slide::after {
    content: "";

    position: absolute;

    inset: 0;

    z-index: 1;

    background:
        linear-gradient(
            90deg,
            rgba(0,0,0,.78) 0%,
            rgba(0,0,0,.45) 40%,
            rgba(0,0,0,.05) 75%,
            rgba(0,0,0,0) 100%
        );

    pointer-events: none;
}


/* =========================================================
   CONTENT
========================================================= */

.homepage-slide-overlay {
    position: absolute;

    inset: 0;

    z-index: 3;

    display: flex;
    align-items: center;
}

.homepage-slide-overlay .container {
    width: 92%;
    max-width: 1200px;

    margin: 0 auto;
}

.homepage-slide-content {
    max-width: 520px;

    color: #fff;
}

.homepage-slide-content h1 {
    margin: 0 0 18px;

    color: #fff;

    font-size: 50px;
    line-height: 1.08;

    font-weight: 800;
}

.homepage-slide-content p {
    margin: 0 0 25px;

    color: #eee;

    font-size: 17px;
    line-height: 1.6;
}


/* =========================================================
   BUTTON
========================================================= */

.homepage-banner-button {
    min-width: 135px;
    min-height: 46px;

    padding: 0 24px;

    display: inline-flex;
    align-items: center;
    justify-content: center;

    background: #ff2ca7;
    color: #fff;

    text-decoration: none;

    font-size: 14px;
    font-weight: 700;
}

.homepage-banner-button:hover {
    background: #e91b96;
    color: #fff;
}


/* =========================================================
   SLIDER ARROWS
========================================================= */

.homepage-slider-arrow {
    position: absolute;

    top: 50%;

    z-index: 20;

    width: 45px;
    height: 55px;

    margin: 0;
    padding: 0;

    display: flex;
    align-items: center;
    justify-content: center;

    transform: translateY(-50%);

    border: 0;

    background: rgba(0,0,0,.45);
    color: #fff;

    font-size: 38px;
    line-height: 1;

    cursor: pointer;

    transition: background .2s ease;
}

.homepage-slider-arrow:hover {
    background: #ff2ca7;
}

.slider-prev {
    left: 20px;
}

.slider-next {
    right: 20px;
}


/* =========================================================
   DOTS
========================================================= */

.homepage-slider-dots {
    position: absolute;

    bottom: 18px;
    left: 50%;

    z-index: 20;

    display: flex;
    align-items: center;

    gap: 8px;

    transform: translateX(-50%);
}

.homepage-slider-dot {
    width: 10px;
    height: 10px;

    margin: 0;
    padding: 0;

    border: 0;
    border-radius: 50%;

    background: rgba(255,255,255,.55);

    cursor: pointer;

    transition:
        width .2s ease,
        background .2s ease;
}

.homepage-slider-dot.active {
    width: 27px;

    border-radius: 10px;

    background: #ff2ca7;
}


/* =========================================================
   TABLET
========================================================= */

@media (max-width: 991px) {

    .homepage-slider-track,
    .homepage-slide {
        min-height: 400px;
    }

    .homepage-slide img {
        height: 400px;
    }

    .homepage-slide-content h1 {
        font-size: 40px;
    }

}


/* =========================================================
   MOBILE
========================================================= */

@media (max-width: 767px) {

    .homepage-slider-track,
    .homepage-slide {
        min-height: 420px;
    }

    .homepage-slide img {
        height: 420px;

        object-fit: cover;
    }


    .homepage-slide::after {
        background:
            linear-gradient(
                0deg,
                rgba(0,0,0,.82) 0%,
                rgba(0,0,0,.42) 55%,
                rgba(0,0,0,.08) 100%
            );
    }


    .homepage-slide-overlay {
        align-items: flex-end;
    }

    .homepage-slide-overlay .container {
        width: 100%;

        padding: 0 20px 55px;
    }

    .homepage-slide-content {
        max-width: 100%;
    }

    .homepage-slide-content h1 {
        margin-bottom: 10px;

        font-size: 31px;
        line-height: 1.1;
    }

    .homepage-slide-content p {
        margin-bottom: 18px;

        font-size: 14px;
        line-height: 1.5;
    }

    .homepage-banner-button {
        min-height: 42px;

        font-size: 13px;
    }


    .homepage-slider-arrow {
        width: 34px;
        height: 45px;

        font-size: 30px;
    }

    .slider-prev {
        left: 5px;
    }

    .slider-next {
        right: 5px;
    }

    .homepage-slider-dots {
        bottom: 15px;
    }

}


/* =========================================================
   WOOCOMMERCE ARCHIVE PAGE
========================================================= */

.shop-archive-page {
    min-height: 600px;

    padding: 55px 0 70px;

    background: #17191a;
    color: #fff;
}


/* =========================================================
   ARCHIVE HEADING
========================================================= */

.shop-archive-heading {
    margin-bottom: 35px;

    text-align: center;
}

.shop-archive-heading h1 {
    margin: 0 0 12px;

    color: #fff;

    font-size: 38px;
    line-height: 1.15;

    font-weight: 800;

    text-transform: uppercase;
}

.shop-archive-description {
    max-width: 850px;

    margin: 0 auto;

    color: #bbb;

    font-size: 14px;
    line-height: 1.7;
}

.shop-archive-description p {
    margin: 0;
}


/* =========================================================
   TOOLBAR
========================================================= */

.shop-toolbar {
    margin-bottom: 25px;

    padding: 12px 15px;

    display: flex;
    align-items: center;
    justify-content: space-between;

    gap: 20px;

    background: #242424;
}

.shop-result-count {
    color: #ccc;

    font-size: 13px;
}

.shop-result-count .woocommerce-result-count {
    margin: 0;
}

.shop-ordering .woocommerce-ordering {
    margin: 0;
}

.shop-ordering select {
    min-width: 190px;
    height: 40px;

    padding: 0 10px;

    border: 1px solid #444;

    background: #111;
    color: #fff;

    outline: none;
}


/* =========================================================
   ARCHIVE GRID
========================================================= */

.archive-product-grid {
    margin-bottom: 40px;
}


/* =========================================================
   PAGINATION
========================================================= */

.shop-pagination {
    margin-top: 40px;
}

.shop-pagination .woocommerce-pagination {
    text-align: center;
}

.shop-pagination ul.page-numbers {
    margin: 0 !important;
    padding: 0 !important;

    display: inline-flex !important;
    align-items: center;

    gap: 7px;

    border: 0 !important;
}

.shop-pagination ul.page-numbers li {
    margin: 0 !important;

    border: 0 !important;
}

.shop-pagination .page-numbers a,
.shop-pagination .page-numbers span {
    width: 40px;
    height: 40px;

    padding: 0 !important;

    display: flex !important;
    align-items: center;
    justify-content: center;

    border: 0 !important;

    background: #333 !important;
    color: #fff !important;

    text-decoration: none;

    font-size: 13px;
}

.shop-pagination .page-numbers .current,
.shop-pagination .page-numbers a:hover {
    background: #ff2ca7 !important;
    color: #fff !important;
}


/* =========================================================
   NO PRODUCTS
========================================================= */

.shop-no-products {
    padding: 45px 20px;

    background: #222;
    color: #fff;

    text-align: center;
}


/* =========================================================
   MOBILE
========================================================= */

@media (max-width: 767px) {

    .shop-archive-page {
        padding: 35px 0 50px;
    }

    .shop-archive-page .container {
        width: 100%;
    }

    .shop-archive-heading {
        padding: 0 15px;

        margin-bottom: 25px;
    }

    .shop-archive-heading h1 {
        font-size: 28px;
    }

    .shop-archive-description {
        font-size: 13px;
    }


    /* TOOLBAR */

    .shop-toolbar {
        margin: 0 10px 20px;

        padding: 10px;

        flex-direction: column;
        align-items: stretch;

        gap: 10px;
    }

    .shop-ordering select {
        width: 100%;
    }


    /* PAGINATION */

    .shop-pagination {
        padding: 0 10px;
    }

    .shop-pagination .page-numbers a,
    .shop-pagination .page-numbers span {
        width: 36px;
        height: 36px;
    }

}

/* =========================================================
   SINGLE PRODUCT PAGE
========================================================= */

.single-product-page {
    padding: 55px 0 70px;
    background: #17191a;
    color: #fff;
}

.myshop-single-product {
    color: #fff;
}


/* =========================================================
   PRODUCT GRID
========================================================= */

.single-product-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 55px;
    align-items: start;
}


/* =========================================================
   GALLERY
========================================================= */

.single-product-gallery {
    position: relative;
    min-width: 0;
}

.single-product-gallery .woocommerce-product-gallery {
    width: 100% !important;
    float: none !important;
    margin: 0 !important;
}

.single-product-gallery
.woocommerce-product-gallery__wrapper {
    margin: 0;
}

.single-product-gallery
.woocommerce-product-gallery__image {
    background: #eee;
}

.single-product-gallery
.woocommerce-product-gallery__image img {
    width: 100%;
    height: auto;
    display: block;
}

.single-sale-badge {
    position: absolute;
    top: 12px;
    left: 12px;
    z-index: 50;
    padding: 7px 12px;
    background: #26983b;
    color: #fff;
    font-size: 12px;
    font-weight: 700;
}


/* THUMBNAILS */

.single-product-gallery
.flex-control-thumbs {
    display: grid !important;
    grid-template-columns: repeat(5, 1fr);
    gap: 8px;
    margin-top: 10px !important;
    padding: 0 !important;
}

.single-product-gallery
.flex-control-thumbs li {
    width: 100% !important;
    float: none !important;
    list-style: none;
}

.single-product-gallery
.flex-control-thumbs img {
    width: 100%;
    cursor: pointer;
}


/* =========================================================
   SUMMARY
========================================================= */

.single-product-summary {
    min-width: 0;
}

.single-product-category {
    margin-bottom: 10px;
    color: #ff2ca7;
    font-size: 13px;
}

.single-product-category a {
    color: #ff2ca7;
    text-decoration: none;
}

.single-product-title {
    margin: 0 0 18px;
    color: #fff;
    font-size: 36px;
    line-height: 1.2;
}


/* =========================================================
   RATING
========================================================= */

.single-product-rating {
    margin-bottom: 18px;
    display: flex;
    align-items: center;
    gap: 12px;
}

.single-rating-count {
    color: #aaa;
    font-size: 13px;
}


/* =========================================================
   PRICE
========================================================= */

.single-product-price {
    margin-bottom: 20px;
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 12px;
}

.single-product-price del {
    color: #b53082;
    font-size: 17px;
}

.single-product-price ins {
    color: #fff;
    font-size: 29px;
    font-weight: 800;
    text-decoration: none;
}

.single-product-price > .woocommerce-Price-amount {
    font-size: 29px;
    font-weight: 800;
}

.single-discount-text {
    padding: 5px 9px;
    background: #26983b;
    color: #fff;
    font-size: 12px;
    font-weight: 700;
}


/* =========================================================
   DESCRIPTION
========================================================= */

.single-product-short-description {
    margin-bottom: 20px;
    color: #ccc;
    font-size: 15px;
    line-height: 1.7;
}

.single-product-short-description p {
    margin: 0 0 10px;
}


/* =========================================================
   STOCK
========================================================= */

.single-product-stock {
    margin-bottom: 15px;
}

.single-product-stock .stock {
    margin: 0;
    color: #5fd36f;
    font-size: 14px;
}


/* =========================================================
   ADD TO CART
========================================================= */

.single-product-cart {
    margin: 20px 0;
}

.single-product-cart form.cart {
    display: flex;
    align-items: stretch;
    gap: 10px;
    margin: 0 !important;
}

.single-product-cart .quantity {
    float: none !important;
    margin: 0 !important;
}

.single-product-cart .qty {
    width: 75px;
    height: 48px;
    border: 1px solid #555;
    background: #222;
    color: #fff;
    text-align: center;
}

.single-product-cart
.single_add_to_cart_button {
    min-height: 48px;
    padding: 0 32px !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: #ff2ca7 !important;
    color: #fff !important;
    font-size: 15px !important;
    font-weight: 700 !important;
}

.single-product-cart
.single_add_to_cart_button:hover {
    background: #e61c96 !important;
}


/* =========================================================
   TRUST BOXES
========================================================= */

.single-product-trust {
    margin: 24px 0;
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    border: 1px solid #333;
}

.single-product-trust > div {
    min-height: 70px;
    padding: 12px 8px;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 7px;
    border-right: 1px solid #333;
    text-align: center;
    font-size: 12px;
}

.single-product-trust > div:last-child {
    border-right: 0;
}


/* =========================================================
   META
========================================================= */

.single-product-meta {
    color: #aaa;
    font-size: 13px;
}

.single-product-meta a {
    color: #ff2ca7;
    text-decoration: none;
}


/* =========================================================
   PRODUCT TABS
========================================================= */

.single-product-tabs {
    margin-top: 65px;
}

.single-product-tabs
.woocommerce-tabs {
    color: #fff;
}

.single-product-tabs
.woocommerce-tabs ul.tabs {
    margin: 0 !important;
    padding: 0 !important;
    display: flex;
    gap: 4px;
}

.single-product-tabs
.woocommerce-tabs ul.tabs::before {
    display: none !important;
}

.single-product-tabs
.woocommerce-tabs ul.tabs li {
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: #2c2c2c !important;
}

.single-product-tabs
.woocommerce-tabs ul.tabs li::before,
.single-product-tabs
.woocommerce-tabs ul.tabs li::after {
    display: none !important;
}

.single-product-tabs
.woocommerce-tabs ul.tabs li a {
    padding: 13px 20px !important;
    color: #fff !important;
}

.single-product-tabs
.woocommerce-tabs ul.tabs li.active {
    background: #ff2ca7 !important;
}

.single-product-tabs
.woocommerce-Tabs-panel {
    margin: 0 !important;
    padding: 28px !important;
    background: #222;
    color: #ccc;
    line-height: 1.7;
}

.single-product-tabs
.woocommerce-Tabs-panel h2 {
    color: #fff;
}


/* =========================================================
   RELATED PRODUCTS
========================================================= */

.single-related-products {
    margin-top: 65px;
}

.single-related-products > section.related > h2 {
    margin-bottom: 30px;
    color: #fff;
    text-align: center;
    font-size: 30px;
    text-transform: uppercase;
}


/* =========================================================
   MOBILE
========================================================= */

@media (max-width: 767px) {

    .single-product-page {
        padding: 30px 0 50px;
    }

    .single-product-grid {
        grid-template-columns: 1fr;
        gap: 30px;
    }

    .single-product-title {
        font-size: 27px;
    }

    .single-product-price ins,
    .single-product-price > .woocommerce-Price-amount {
        font-size: 23px;
    }

    .single-product-cart form.cart {
        flex-wrap: wrap;
    }

    .single-product-cart
    .single_add_to_cart_button {
        flex: 1;
    }

    .single-product-trust {
        grid-template-columns: repeat(3, 1fr);
    }

    .single-product-tabs {
        margin-top: 45px;
    }

    .single-product-tabs
    .woocommerce-tabs ul.tabs {
        flex-wrap: wrap;
    }

    .single-related-products {
        margin-top: 45px;
    }

}


/* =========================================================
   CART PAGE
========================================================= */

.myshop-cart-page {
    min-height: 650px;
    padding: 55px 0 75px;
    background: #17191a;
    color: #fff;
}


/* =========================================================
   PAGE HEADING
========================================================= */

.myshop-page-heading {
    margin-bottom: 35px;
    text-align: center;
}

.myshop-page-heading h1 {
    margin: 0 0 8px;
    color: #fff;
    font-size: 38px;
    font-weight: 800;
    text-transform: uppercase;
}

.myshop-page-heading p {
    margin: 0;
    color: #aaa;
    font-size: 14px;
}


/* =========================================================
   CART LAYOUT
========================================================= */

.myshop-cart-layout {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 360px;
    gap: 28px;
    align-items: start;
}


/* =========================================================
   CART PRODUCTS
========================================================= */

.myshop-cart-products {
    min-width: 0;
}

.myshop-cart-item {
    position: relative;
    min-height: 145px;
    margin-bottom: 12px;
    padding: 15px 48px 15px 15px;
    display: grid;
    grid-template-columns:
        120px
        minmax(180px, 1fr)
        110px
        110px
        110px;
    gap: 15px;
    align-items: center;
    background: #292929;
}


/* IMAGE */

.myshop-cart-image {
    width: 120px;
    height: 120px;
    overflow: hidden;
    background: #eee;
}

.myshop-cart-image img {
    width: 100%;
    height: 100%;
    display: block;
    object-fit: cover;
}


/* INFO */

.myshop-cart-product-title {
    margin: 0 0 7px;
    font-size: 15px;
    line-height: 1.4;
}

.myshop-cart-product-title a {
    color: #fff;
    text-decoration: none;
}

.myshop-cart-product-title a:hover {
    color: #ff2ca7;
}

.myshop-cart-item-meta {
    color: #aaa;
    font-size: 12px;
}

.myshop-cart-mobile-price {
    display: none;
}


/* LABEL */

.myshop-cart-label {
    display: block;
    margin-bottom: 7px;
    color: #888;
    font-size: 11px;
    text-transform: uppercase;
}


/* PRICE */

.myshop-cart-price,
.myshop-cart-subtotal {
    color: #fff;
    font-size: 15px;
}


/* =========================================================
   QUANTITY
========================================================= */

.myshop-cart-quantity .quantity {
    margin: 0 !important;
}

.myshop-cart-quantity .qty {
    width: 68px;
    height: 40px;
    border: 1px solid #444;
    outline: none;
    background: #181818;
    color: #fff;
    text-align: center;
}


/* =========================================================
   REMOVE
========================================================= */

.myshop-cart-remove {
    position: absolute;
    top: 10px;
    right: 12px;
}

.myshop-remove-product {
    width: 28px !important;
    height: 28px !important;
    display: flex !important;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    background: #444 !important;
    color: #fff !important;
    text-decoration: none !important;
    font-size: 20px !important;
    line-height: 1 !important;
}

.myshop-remove-product:hover {
    background: #ff2ca7 !important;
}


/* =========================================================
   CART ACTIONS
========================================================= */

.myshop-cart-actions {
    margin-top: 20px;
    display: flex;
    justify-content: space-between;
    gap: 15px;
}

.myshop-coupon {
    display: flex;
    min-width: 0;
}

.myshop-coupon input {
    width: 190px;
    height: 43px;
    padding: 0 12px;
    border: 1px solid #444;
    outline: none;
    background: #222;
    color: #fff;
}

.myshop-coupon .button,
.myshop-update-cart {
    min-height: 43px !important;
    padding: 0 18px !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: #555 !important;
    color: #fff !important;
}

.myshop-coupon .button:hover,
.myshop-update-cart:hover {
    background: #ff2ca7 !important;
}


/* =========================================================
   SUMMARY
========================================================= */

.myshop-cart-summary {
    position: sticky;
    top: 25px;
    padding: 25px;
    background: #292929;
}

.myshop-cart-summary h2 {
    margin: 0 0 25px;
    padding-bottom: 15px;
    border-bottom: 1px solid #444;
    color: #fff;
    font-size: 23px;
}

.myshop-summary-row {
    padding: 12px 0;
    display: flex;
    justify-content: space-between;
    gap: 20px;
    border-bottom: 1px solid #3a3a3a;
    color: #ccc;
    font-size: 14px;
}

.myshop-summary-row strong {
    color: #fff;
}


/* SHIPPING */

.myshop-shipping-wrap {
    padding: 12px 0;
    border-bottom: 1px solid #3a3a3a;
    color: #ccc;
}

.myshop-shipping-wrap ul {
    list-style: none;
    margin: 10px 0 0;
    padding: 0;
}


/* TOTAL */

.myshop-summary-total {
    margin-top: 10px;
    padding: 18px 0;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 15px;
    color: #fff;
    font-size: 18px;
    font-weight: 700;
}

.myshop-summary-total strong {
    color: #ff2ca7;
    font-size: 23px;
}


/* CHECKOUT */

.myshop-checkout-button {
    width: 100%;
    min-height: 50px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: #ff2ca7;
    color: #fff;
    text-decoration: none;
    font-size: 15px;
    font-weight: 700;
}

.myshop-checkout-button:hover {
    background: #e91b96;
    color: #fff;
}


/* CONTINUE */

.myshop-continue-shopping {
    margin-top: 15px;
    display: block;
    color: #aaa;
    text-align: center;
    text-decoration: none;
    font-size: 13px;
}

.myshop-continue-shopping:hover {
    color: #ff2ca7;
}


/* =========================================================
   WOOCOMMERCE MESSAGES
========================================================= */

.myshop-cart-page
.woocommerce-message,
.myshop-cart-page
.woocommerce-info,
.myshop-cart-page
.woocommerce-error {
    border-top-color: #ff2ca7;
    background: #292929;
    color: #fff;
}

.myshop-cart-page
.woocommerce-message::before,
.myshop-cart-page
.woocommerce-info::before {
    color: #ff2ca7;
}


/* =========================================================
   TABLET
========================================================= */

@media (max-width: 1050px) {

    .myshop-cart-layout {
        grid-template-columns: 1fr 320px;
    }

    .myshop-cart-item {
        grid-template-columns:
            100px
            minmax(150px, 1fr)
            90px
            90px
            90px;
    }

    .myshop-cart-image {
        width: 100px;
        height: 100px;
    }

}


/* =========================================================
   MOBILE
========================================================= */

@media (max-width: 767px) {

    .myshop-cart-page {
        padding: 35px 0 55px;
    }

    .myshop-cart-page .container {
        width: 100%;
    }

    .myshop-page-heading {
        padding: 0 15px;
        margin-bottom: 25px;
    }

    .myshop-page-heading h1 {
        font-size: 28px;
    }

    .myshop-cart-layout {
        display: block;
    }


    /* PRODUCT */

    .myshop-cart-products {
        padding: 0 10px;
    }

    .myshop-cart-item {
        min-height: 135px;
        padding: 12px 40px 12px 12px;
        grid-template-columns: 95px 1fr;
        gap: 12px;
        align-items: start;
    }

    .myshop-cart-image {
        width: 95px;
        height: 110px;
    }

    .myshop-cart-price {
        display: none;
    }

    .myshop-cart-mobile-price {
        margin-top: 9px;
        display: block;
        color: #ff2ca7;
        font-size: 15px;
        font-weight: 700;
    }

    .myshop-cart-quantity {
        grid-column: 2;
    }

    .myshop-cart-subtotal {
        display: none;
    }

    .myshop-cart-label {
        margin-bottom: 5px;
    }


    /* ACTIONS */

    .myshop-cart-actions {
        flex-direction: column;
    }

    .myshop-coupon {
        width: 100%;
    }

    .myshop-coupon input {
        flex: 1;
        width: auto;
        min-width: 0;
    }

    .myshop-update-cart {
        width: 100%;
    }


    /* SUMMARY */

    .myshop-cart-summary {
        position: static;
        margin-top: 30px;
        padding: 22px 15px;
    }

}

/* =========================================================
   CHECKOUT PAGE
========================================================= */

.myshop-checkout-page {
    min-height: 700px;
    padding: 55px 0 75px;
    background: #17191a;
    color: #fff;
}

.myshop-checkout-layout {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 420px;
    gap: 35px;
    align-items: start;
}


/* =========================================================
   LEFT SIDE
========================================================= */

.myshop-checkout-details {
    min-width: 0;
}

.myshop-customer-details {
    display: block;
}

.myshop-billing-section,
.myshop-shipping-section {
    margin-bottom: 28px;
    padding: 28px;
    background: #292929;
}

.myshop-checkout-page h3 {
    margin: 0 0 24px;
    color: #fff;
    font-size: 24px;
}


/* =========================================================
   CHECKOUT FIELDS
========================================================= */

.myshop-checkout-page
.woocommerce-billing-fields__field-wrapper,
.myshop-checkout-page
.woocommerce-shipping-fields__field-wrapper {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 18px;
}

.myshop-checkout-page
.form-row {
    width: 100% !important;
    float: none !important;
    margin: 0 !important;
}

.myshop-checkout-page
.form-row-wide {
    grid-column: 1 / -1;
}

.myshop-checkout-page label {
    display: block;
    margin-bottom: 7px;
    color: #ddd;
    font-size: 13px;
    font-weight: 600;
}

.myshop-checkout-page
input.input-text,
.myshop-checkout-page
textarea,
.myshop-checkout-page
select {
    width: 100%;
    min-height: 45px;
    padding: 10px 12px;
    border: 1px solid #484848;
    border-radius: 0;
    outline: none;
    background: #181818;
    color: #fff;
}

.myshop-checkout-page
textarea {
    min-height: 110px;
    resize: vertical;
}

.myshop-checkout-page
input.input-text:focus,
.myshop-checkout-page
textarea:focus,
.myshop-checkout-page
select:focus {
    border-color: #ff2ca7;
}


/* SELECT2 */

.myshop-checkout-page
.select2-container {
    width: 100% !important;
}

.myshop-checkout-page
.select2-container
.select2-selection--single {
    height: 45px;
    border: 1px solid #484848;
    border-radius: 0;
    background: #181818;
}

.myshop-checkout-page
.select2-selection__rendered {
    line-height: 43px !important;
    color: #fff !important;
}

.myshop-checkout-page
.select2-selection__arrow {
    height: 43px !important;
}


/* =========================================================
   SHIP TO DIFFERENT ADDRESS
========================================================= */

.myshop-checkout-page
.woocommerce-shipping-fields
#ship-to-different-address {
    margin-bottom: 20px;
}

.myshop-checkout-page
.woocommerce-shipping-fields
#ship-to-different-address label {
    display: flex;
    align-items: center;
    gap: 8px;
    font-size: 15px;
}


/* =========================================================
   ORDER SUMMARY
========================================================= */

.myshop-checkout-order {
    position: sticky;
    top: 25px;
    padding: 26px;
    background: #292929;
}

.myshop-checkout-order > h2 {
    margin: 0 0 22px;
    padding-bottom: 15px;
    border-bottom: 1px solid #444;
    color: #fff;
    font-size: 24px;
}


/* ORDER TABLE */

.myshop-checkout-page
.woocommerce-checkout-review-order-table {
    width: 100%;
    margin: 0 0 22px !important;
    border: 0 !important;
    border-collapse: collapse;
    background: transparent;
    color: #fff;
}

.myshop-checkout-page
.woocommerce-checkout-review-order-table th,
.myshop-checkout-page
.woocommerce-checkout-review-order-table td {
    padding: 12px 0 !important;
    border: 0 !important;
    border-bottom: 1px solid #3d3d3d !important;
    background: transparent !important;
    color: #ddd !important;
    font-size: 13px;
}

.myshop-checkout-page
.woocommerce-checkout-review-order-table th:last-child,
.myshop-checkout-page
.woocommerce-checkout-review-order-table td:last-child {
    text-align: right;
}

.myshop-checkout-page
.order-total th,
.myshop-checkout-page
.order-total td {
    padding-top: 18px !important;
    color: #fff !important;
    font-size: 17px !important;
    font-weight: 700 !important;
}

.myshop-checkout-page
.order-total
.woocommerce-Price-amount {
    color: #ff2ca7;
    font-size: 21px;
}


/* =========================================================
   PAYMENT
========================================================= */

.myshop-checkout-page
#payment {
    margin-top: 18px;
    border-radius: 0 !important;
    background: #222 !important;
}

.myshop-checkout-page
#payment ul.payment_methods {
    margin: 0 !important;
    padding: 15px !important;
    border-bottom: 1px solid #444 !important;
}

.myshop-checkout-page
#payment ul.payment_methods li {
    margin-bottom: 12px;
    color: #fff;
}

.myshop-checkout-page
#payment ul.payment_methods li:last-child {
    margin-bottom: 0;
}

.myshop-checkout-page
#payment label {
    color: #fff;
}

.myshop-checkout-page
.payment_box {
    margin-top: 10px !important;
    background: #333 !important;
    color: #ccc !important;
}

.myshop-checkout-page
.payment_box::before {
    border-bottom-color: #333 !important;
}

.myshop-checkout-page
#payment .place-order {
    padding: 15px !important;
}


/* =========================================================
   PLACE ORDER BUTTON
========================================================= */

.myshop-checkout-page
#place_order {
    width: 100%;
    min-height: 50px;
    padding: 10px 18px !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: #ff2ca7 !important;
    color: #fff !important;
    font-size: 15px !important;
    font-weight: 700 !important;
}

.myshop-checkout-page
#place_order:hover {
    background: #e91b96 !important;
}


/* =========================================================
   PRIVACY / TERMS
========================================================= */

.myshop-checkout-page
.woocommerce-privacy-policy-text,
.myshop-checkout-page
.woocommerce-terms-and-conditions-wrapper {
    color: #aaa;
    font-size: 12px;
    line-height: 1.6;
}

.myshop-checkout-page
.woocommerce-privacy-policy-text a,
.myshop-checkout-page
.woocommerce-terms-and-conditions-wrapper a {
    color: #ff2ca7;
}


/* =========================================================
   COUPON / LOGIN NOTICES
========================================================= */

.myshop-checkout-page
.woocommerce-info,
.myshop-checkout-page
.woocommerce-message,
.myshop-checkout-page
.woocommerce-error {
    margin-bottom: 20px;
    border-top-color: #ff2ca7;
    background: #292929;
    color: #fff;
}

.myshop-checkout-page
.woocommerce-info::before,
.myshop-checkout-page
.woocommerce-message::before {
    color: #ff2ca7;
}

.myshop-checkout-page
.woocommerce-info a,
.myshop-checkout-page
.woocommerce-message a {
    color: #ff2ca7;
}


/* =========================================================
   MOBILE
========================================================= */

@media (max-width: 900px) {

    .myshop-checkout-layout {
        grid-template-columns: 1fr;
    }

    .myshop-checkout-order {
        position: static;
    }

}


@media (max-width: 767px) {

    .myshop-checkout-page {
        padding: 35px 0 55px;
    }

    .myshop-checkout-page .container {
        width: 100%;
    }

    .myshop-checkout-page
    .myshop-page-heading {
        padding: 0 15px;
    }

    .myshop-checkout-details,
    .myshop-checkout-order {
        margin-left: 10px;
        margin-right: 10px;
    }

    .myshop-billing-section,
    .myshop-shipping-section {
        padding: 20px 15px;
    }

    .myshop-checkout-page
    .woocommerce-billing-fields__field-wrapper,
    .myshop-checkout-page
    .woocommerce-shipping-fields__field-wrapper {
        grid-template-columns: 1fr;
    }

    .myshop-checkout-page
    .form-row-wide {
        grid-column: auto;
    }

    .myshop-checkout-order {
        padding: 20px 15px;
    }

}

/* =========================================================
   MY ACCOUNT PAGE
========================================================= */

.woocommerce-account .site-main {
    background: #17191a;
}

.woocommerce-account .woocommerce {
    width: 92%;
    max-width: 1200px;

    margin: 0 auto;

    padding: 55px 0 75px;

    color: #fff;
}


/* =========================================================
   ACCOUNT NAVIGATION
========================================================= */

.woocommerce-MyAccount-navigation {
    width: 260px !important;

    float: left !important;

    margin: 0 !important;
    padding: 0 !important;
}

.woocommerce-MyAccount-navigation ul {
    margin: 0 !important;
    padding: 0 !important;

    list-style: none;

    background: #292929;
}

.woocommerce-MyAccount-navigation li {
    margin: 0 !important;

    border-bottom: 1px solid #3b3b3b;
}

.woocommerce-MyAccount-navigation li:last-child {
    border-bottom: 0;
}

.woocommerce-MyAccount-navigation a {
    min-height: 52px;

    padding: 0 18px;

    display: flex;
    align-items: center;

    color: #ddd;

    text-decoration: none;

    font-size: 14px;
    font-weight: 600;

    transition: .2s ease;
}

.woocommerce-MyAccount-navigation a:hover {
    background: #333;

    color: #ff2ca7;
}

.woocommerce-MyAccount-navigation
.is-active a {
    background: #ff2ca7;

    color: #fff;
}


/* =========================================================
   ACCOUNT CONTENT
========================================================= */

.woocommerce-MyAccount-content {
    width: calc(100% - 295px) !important;

    float: right !important;

    padding: 28px;

    background: #292929;

    color: #ccc;

    min-height: 400px;
}

.woocommerce-MyAccount-content h2,
.woocommerce-MyAccount-content h3 {
    margin-top: 0;

    color: #fff;
}

.woocommerce-MyAccount-content p {
    color: #ccc;

    line-height: 1.7;
}

.woocommerce-MyAccount-content a {
    color: #ff2ca7;
}


/* =========================================================
   DASHBOARD LINKS
========================================================= */

.woocommerce-MyAccount-content
.woocommerce-Button,
.woocommerce-MyAccount-content
.button {
    padding: 11px 18px !important;

    border: 0 !important;
    border-radius: 0 !important;

    background: #ff2ca7 !important;
    color: #fff !important;

    text-decoration: none !important;

    font-size: 13px !important;
    font-weight: 700 !important;
}

.woocommerce-MyAccount-content
.button:hover {
    background: #e91b96 !important;
}


/* =========================================================
   ACCOUNT TABLES
========================================================= */

.woocommerce-account
table.shop_table {
    width: 100%;

    margin: 20px 0 !important;

    border: 1px solid #444 !important;
    border-radius: 0 !important;

    border-collapse: collapse !important;

    background: #222;

    color: #fff;
}

.woocommerce-account
table.shop_table th,
.woocommerce-account
table.shop_table td {
    padding: 13px !important;

    border: 1px solid #3d3d3d !important;

    color: #ddd;
}

.woocommerce-account
table.shop_table th {
    background: #1b1b1b;

    color: #fff;

    font-size: 13px;
}

.woocommerce-account
table.shop_table td {
    font-size: 13px;
}


/* =========================================================
   ADDRESS BOXES
========================================================= */

.woocommerce-account
.woocommerce-Address {
    padding: 20px;

    background: #222;

    border: 1px solid #3d3d3d;
}

.woocommerce-account
.woocommerce-Address-title {
    margin-bottom: 15px;
}

.woocommerce-account
.woocommerce-Address address {
    color: #ccc;

    line-height: 1.7;
}


/* =========================================================
   FORMS
========================================================= */

.woocommerce-account
form .form-row {
    margin-bottom: 16px !important;
}

.woocommerce-account
form label {
    margin-bottom: 7px;

    display: block;

    color: #ddd;

    font-size: 13px;
    font-weight: 600;
}

.woocommerce-account
input.input-text,
.woocommerce-account
input[type="text"],
.woocommerce-account
input[type="email"],
.woocommerce-account
input[type="password"],
.woocommerce-account
input[type="tel"],
.woocommerce-account
select,
.woocommerce-account
textarea {
    width: 100%;

    min-height: 45px;

    padding: 10px 12px;

    border: 1px solid #484848;
    border-radius: 0;

    outline: none;

    background: #181818;
    color: #fff;
}

.woocommerce-account
input:focus,
.woocommerce-account
textarea:focus,
.woocommerce-account
select:focus {
    border-color: #ff2ca7;
}


/* =========================================================
   LOGIN / REGISTER
========================================================= */

.woocommerce-account
#customer_login {
    display: grid;

    grid-template-columns: repeat(2, minmax(0, 1fr));

    gap: 30px;
}

.woocommerce-account
#customer_login > div {
    width: 100% !important;

    float: none !important;

    padding: 30px;

    background: #292929;
}

.woocommerce-account
#customer_login h2 {
    margin: 0 0 25px;

    color: #fff;

    font-size: 27px;
}

.woocommerce-account
.woocommerce-form-login,
.woocommerce-account
.woocommerce-form-register {
    margin: 0 !important;

    padding: 0 !important;

    border: 0 !important;
}


/* LOGIN BUTTON */

.woocommerce-account
.woocommerce-form-login__submit,
.woocommerce-account
.woocommerce-form-register__submit {
    min-height: 44px;

    padding: 0 25px !important;

    border: 0 !important;
    border-radius: 0 !important;

    background: #ff2ca7 !important;
    color: #fff !important;

    font-weight: 700 !important;
}

.woocommerce-account
.woocommerce-form-login__submit:hover,
.woocommerce-account
.woocommerce-form-register__submit:hover {
    background: #e91b96 !important;
}


/* =========================================================
   LOST PASSWORD
========================================================= */

.woocommerce-account
.lost_password a {
    color: #ff2ca7;
}


/* =========================================================
   WOOCOMMERCE MESSAGES
========================================================= */

.woocommerce-account
.woocommerce-message,
.woocommerce-account
.woocommerce-info,
.woocommerce-account
.woocommerce-error {
    border-top-color: #ff2ca7;

    background: #292929;
    color: #fff;
}

.woocommerce-account
.woocommerce-message::before,
.woocommerce-account
.woocommerce-info::before {
    color: #ff2ca7;
}


/* =========================================================
   CLEAR FLOATS
========================================================= */

.woocommerce-account
.woocommerce::after {
    content: "";

    display: table;

    clear: both;
}


/* =========================================================
   TABLET
========================================================= */

@media (max-width: 900px) {

    .woocommerce-MyAccount-navigation {
        width: 220px !important;
    }

    .woocommerce-MyAccount-content {
        width: calc(100% - 245px) !important;
    }

}


/* =========================================================
   MOBILE
========================================================= */

@media (max-width: 767px) {

    .woocommerce-account
    .woocommerce {
        width: 100%;

        padding: 35px 10px 55px;
    }


    /* LOGIN */

    .woocommerce-account
    #customer_login {
        grid-template-columns: 1fr;

        gap: 18px;
    }

    .woocommerce-account
    #customer_login > div {
        padding: 22px 15px;
    }


    /* ACCOUNT NAV */

    .woocommerce-MyAccount-navigation {
        width: 100% !important;

        float: none !important;

        margin-bottom: 20px !important;
    }

    .woocommerce-MyAccount-navigation ul {
        display: flex;

        overflow-x: auto;

        scrollbar-width: none;
    }

    .woocommerce-MyAccount-navigation ul::-webkit-scrollbar {
        display: none;
    }

    .woocommerce-MyAccount-navigation li {
        flex: 0 0 auto;

        border-bottom: 0;

        border-right: 1px solid #3b3b3b;
    }

    .woocommerce-MyAccount-navigation a {
        min-height: 45px;

        padding: 0 15px;

        white-space: nowrap;

        font-size: 12px;
    }


    /* CONTENT */

    .woocommerce-MyAccount-content {
        width: 100% !important;

        float: none !important;

        padding: 20px 15px;
    }


    /* TABLE */

    .woocommerce-account
    table.shop_table {
        display: block;

        overflow-x: auto;
    }

}

/* =========================================================
   MY ACCOUNT LOGIN - FINAL FIX
========================================================= */

.woocommerce-account .site-main {
    background: #17191a;
    color: #fff;
}

.woocommerce-account .entry-title,
.woocommerce-account .page-title,
.woocommerce-account h1 {
    color: #fff !important;
}


/* Main WooCommerce account wrapper */

.woocommerce-account .woocommerce {
    width: 92%;
    max-width: 1180px;
    margin: 0 auto;
    padding: 55px 0 75px;
}


/* Logged-out login/register wrapper */

.woocommerce-account #customer_login {
    max-width: 900px;
    margin: 0 auto;

    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 28px;
}


/* If only login form is visible */

.woocommerce-account #customer_login > .u-column1:only-child {
    grid-column: 1 / -1;
    max-width: 560px;
    width: 100%;
    margin: 0 auto;
}


/* Login/Register cards */

.woocommerce-account #customer_login > div {
    width: 100% !important;
    float: none !important;

    margin: 0 !important;
    padding: 28px !important;

    background: #292929;

    border: 1px solid #3b3b3b;
}


/* Heading */

.woocommerce-account #customer_login h2 {
    margin: 0 0 24px;

    color: #fff;

    font-size: 26px;
    font-weight: 700;
}


/* Form */

.woocommerce-account .woocommerce-form-login,
.woocommerce-account .woocommerce-form-register {
    margin: 0 !important;
    padding: 0 !important;

    border: 0 !important;

    background: transparent !important;
}


/* Labels */

.woocommerce-account #customer_login label {
    display: block;

    margin-bottom: 7px;

    color: #ddd;

    font-size: 13px;
    font-weight: 600;
}


/* Inputs */

.woocommerce-account #customer_login input.input-text,
.woocommerce-account #customer_login input[type="text"],
.woocommerce-account #customer_login input[type="email"],
.woocommerce-account #customer_login input[type="password"] {
    width: 100%;

    height: 46px;

    margin: 0;
    padding: 0 13px;

    border: 1px solid #474747;
    border-radius: 0;

    outline: none;

    background: #181818;
    color: #fff;
}

.woocommerce-account #customer_login input:focus {
    border-color: #ff2ca7;
}


/* Each form row */

.woocommerce-account #customer_login .form-row {
    width: 100% !important;

    margin: 0 0 18px !important;
    padding: 0 !important;
}


/* Remember me */

.woocommerce-account
.woocommerce-form-login__rememberme {
    display: inline-flex !important;
    align-items: center;

    gap: 7px;

    margin: 0 15px 0 0 !important;
}

.woocommerce-account
.woocommerce-form-login__rememberme input {
    width: auto !important;
    height: auto !important;
    margin: 0 !important;
}


/* Login / Register buttons */

.woocommerce-account
.woocommerce-form-login__submit,
.woocommerce-account
.woocommerce-form-register__submit {
    min-width: 120px;
    min-height: 44px;

    margin: 0 !important;
    padding: 0 24px !important;

    border: 0 !important;
    border-radius: 0 !important;

    background: #ff2ca7 !important;
    color: #fff !important;

    font-size: 14px !important;
    font-weight: 700 !important;

    cursor: pointer;
}

.woocommerce-account
.woocommerce-form-login__submit:hover,
.woocommerce-account
.woocommerce-form-register__submit:hover {
    background: #e91b96 !important;
}


/* Lost password */

.woocommerce-account .lost_password {
    margin-top: 18px !important;
}

.woocommerce-account .lost_password a {
    color: #ff2ca7 !important;
    text-decoration: none;
}

.woocommerce-account .lost_password a:hover {
    text-decoration: underline;
}


/* Password eye button */

.woocommerce-account
.show-password-input {
    color: #fff !important;
}


/* =========================================================
   MOBILE
========================================================= */

@media (max-width: 767px) {

    .woocommerce-account .woocommerce {
        width: 100%;
        padding: 35px 12px 55px;
    }

    .woocommerce-account #customer_login {
        max-width: 100%;

        grid-template-columns: 1fr;

        gap: 18px;
    }

    .woocommerce-account #customer_login > div {
        padding: 22px 15px !important;
    }

    .woocommerce-account #customer_login h2 {
        font-size: 23px;
    }

}

/* =========================================================
   MY ACCOUNT LOGIN / REGISTER - FORCE FINAL LAYOUT
   ADD THIS AT THE VERY END OF main.css
========================================================= */


/* PAGE BACKGROUND */

body.woocommerce-account,
body.woocommerce-account .site-main {
    background: #121415 !important;
    color: #fff !important;
}


/* =========================================================
   MAIN WOOCOMMERCE WRAPPER
========================================================= */

body.woocommerce-account .site-main > .woocommerce,
body.woocommerce-account .woocommerce {
    width: 92% !important;
    max-width: 1050px !important;

    margin-left: auto !important;
    margin-right: auto !important;

    padding: 60px 0 80px !important;

    display: block !important;

    background: transparent !important;
}


/* =========================================================
   LOGIN / REGISTER WRAPPER
========================================================= */

body.woocommerce-account #customer_login {
    width: 100% !important;
    max-width: 1000px !important;

    margin: 0 auto !important;
    padding: 0 !important;

    display: flex !important;
    align-items: flex-start !important;
    justify-content: center !important;

    gap: 30px !important;

    clear: both !important;
}


/* =========================================================
   KILL WOOCOMMERCE OLD COLUMN POSITIONING
========================================================= */

body.woocommerce-account #customer_login .u-column1,
body.woocommerce-account #customer_login .u-column2,
body.woocommerce-account #customer_login .col-1,
body.woocommerce-account #customer_login .col-2 {

    position: static !important;

    top: auto !important;
    right: auto !important;
    bottom: auto !important;
    left: auto !important;

    transform: none !important;

    float: none !important;
    clear: none !important;

    flex: 1 1 0 !important;

    width: 50% !important;
    max-width: 485px !important;
    min-width: 0 !important;

    margin: 0 !important;
}


/* =========================================================
   LOGIN / REGISTER CARD
========================================================= */

body.woocommerce-account #customer_login > div {
    position: relative !important;

    padding: 32px !important;

    border: 1px solid #393c3f !important;
    border-radius: 10px !important;

    background:
        linear-gradient(
            180deg,
            #292b2d 0%,
            #222426 100%
        ) !important;

    box-shadow:
        0 18px 45px
        rgba(0, 0, 0, 0.28) !important;

    overflow: hidden !important;
}


/* PINK TOP BORDER */

body.woocommerce-account #customer_login > div::before {
    content: "";

    position: absolute;

    top: 0;
    left: 0;

    width: 100%;
    height: 4px;

    background: #ff2ca7;
}


/* =========================================================
   HEADINGS
========================================================= */

body.woocommerce-account #customer_login h2 {
    margin: 0 0 28px !important;
    padding: 0 !important;

    color: #fff !important;

    font-size: 28px !important;
    line-height: 1.2 !important;

    font-weight: 800 !important;

    text-align: left !important;
}


/* =========================================================
   FORMS
========================================================= */

body.woocommerce-account #customer_login form {
    width: 100% !important;

    margin: 0 !important;
    padding: 0 !important;

    border: 0 !important;

    background: transparent !important;
}


/* ROW */

body.woocommerce-account #customer_login .form-row {
    width: 100% !important;

    margin: 0 0 20px !important;
    padding: 0 !important;

    float: none !important;
}


/* LABEL */

body.woocommerce-account #customer_login label {
    display: block !important;

    margin: 0 0 8px !important;

    color: #eee !important;

    font-size: 13px !important;
    font-weight: 600 !important;
}


/* REQUIRED */

body.woocommerce-account #customer_login .required {
    color: #ff2ca7 !important;
}


/* =========================================================
   INPUTS
========================================================= */

body.woocommerce-account #customer_login input.input-text,
body.woocommerce-account #customer_login input[type="text"],
body.woocommerce-account #customer_login input[type="email"],
body.woocommerce-account #customer_login input[type="password"] {

    width: 100% !important;
    max-width: 100% !important;

    height: 50px !important;

    margin: 0 !important;
    padding: 0 14px !important;

    border: 1px solid #494c4f !important;
    border-radius: 6px !important;

    outline: none !important;

    background: #151718 !important;
    color: #fff !important;

    font-size: 14px !important;

    box-shadow: none !important;
}


/* FOCUS */

body.woocommerce-account #customer_login input:focus {
    border-color: #ff2ca7 !important;

    box-shadow:
        0 0 0 3px
        rgba(255, 44, 167, 0.12) !important;
}


/* =========================================================
   PASSWORD WRAPPER
========================================================= */

body.woocommerce-account #customer_login .password-input {
    position: relative !important;

    display: block !important;

    width: 100% !important;
}


/* =========================================================
   LOGIN ACTION ROW
========================================================= */

body.woocommerce-account
#customer_login
.woocommerce-form-login
.form-row:nth-last-of-type(1) {

    display: flex !important;
    align-items: center !important;

    flex-wrap: wrap !important;

    gap: 12px !important;
}


/* =========================================================
   REMEMBER ME
========================================================= */

body.woocommerce-account
#customer_login
.woocommerce-form-login__rememberme {

    margin: 0 !important;

    display: inline-flex !important;
    align-items: center !important;

    gap: 7px !important;

    color: #ddd !important;

    white-space: nowrap !important;
}


body.woocommerce-account
#customer_login
.woocommerce-form-login__rememberme input {

    width: 16px !important;
    height: 16px !important;

    min-height: 0 !important;

    margin: 0 !important;
    padding: 0 !important;
}


/* =========================================================
   BUTTONS
========================================================= */

body.woocommerce-account
#customer_login
.woocommerce-form-login__submit,

body.woocommerce-account
#customer_login
.woocommerce-form-register__submit {

    min-width: 135px !important;
    min-height: 48px !important;

    margin: 0 !important;
    padding: 0 25px !important;

    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;

    border: 0 !important;
    border-radius: 6px !important;

    background: #ff2ca7 !important;
    color: #fff !important;

    font-size: 14px !important;
    font-weight: 700 !important;

    cursor: pointer !important;

    box-shadow:
        0 8px 18px
        rgba(255, 44, 167, 0.22) !important;
}


body.woocommerce-account
#customer_login
.woocommerce-form-login__submit:hover,

body.woocommerce-account
#customer_login
.woocommerce-form-register__submit:hover {

    background: #e91b96 !important;

    transform: translateY(-1px);
}


/* =========================================================
   LOST PASSWORD
========================================================= */

body.woocommerce-account #customer_login .lost_password {
    margin: 18px 0 0 !important;
}


body.woocommerce-account #customer_login .lost_password a {
    color: #ff2ca7 !important;

    font-size: 13px !important;

    text-decoration: none !important;
}


body.woocommerce-account #customer_login .lost_password a:hover {
    text-decoration: underline !important;
}


/* =========================================================
   REGISTER TEXT
========================================================= */

body.woocommerce-account
#customer_login
.woocommerce-form-register p {

    margin: 0 0 18px !important;

    color: #bbb !important;

    font-size: 13px !important;
    line-height: 1.65 !important;
}


body.woocommerce-account
#customer_login
.woocommerce-privacy-policy-text {

    margin: 16px 0 !important;

    color: #999 !important;

    font-size: 12px !important;
    line-height: 1.6 !important;
}


body.woocommerce-account
#customer_login
.woocommerce-privacy-policy-text a {

    color: #ff2ca7 !important;
}


/* =========================================================
   TABLET
========================================================= */

@media (max-width: 900px) {

    body.woocommerce-account #customer_login {

        max-width: 580px !important;

        flex-direction: column !important;
    }


    body.woocommerce-account #customer_login .u-column1,
    body.woocommerce-account #customer_login .u-column2,
    body.woocommerce-account #customer_login .col-1,
    body.woocommerce-account #customer_login .col-2 {

        width: 100% !important;
        max-width: 100% !important;
    }

}


/* =========================================================
   MOBILE
========================================================= */

@media (max-width: 767px) {

    body.woocommerce-account .woocommerce {

        width: 100% !important;

        padding: 35px 14px 55px !important;
    }


    body.woocommerce-account #customer_login {

        width: 100% !important;

        gap: 20px !important;

        flex-direction: column !important;
    }


    body.woocommerce-account #customer_login .u-column1,
    body.woocommerce-account #customer_login .u-column2,
    body.woocommerce-account #customer_login .col-1,
    body.woocommerce-account #customer_login .col-2 {

        width: 100% !important;
        max-width: 100% !important;
    }


    body.woocommerce-account #customer_login > div {

        padding: 25px 18px !important;
    }


    body.woocommerce-account #customer_login h2 {

        margin-bottom: 22px !important;

        font-size: 24px !important;
    }

}

/* =========================================================
   LIVE PRODUCT SEARCH
========================================================= */

.live-search-wrapper {
    position: relative;
    width: 100%;
}

.myshop-live-search-results {
    position: absolute;
    top: calc(100% + 2px);
    left: 0;

    z-index: 999999;

    width: 100%;
    max-height: 430px;

    overflow-y: auto;

    background: #1f1f1f;

    border: 1px solid #3b3b3b;

    box-shadow:
        0 15px 35px
        rgba(0,0,0,.35);

    display: none;
}

.myshop-live-search-results.search-visible {
    display: block;
}


/* PRODUCT ROW */

.live-search-item {
    width: 100%;

    min-height: 82px;

    padding: 9px 12px;

    display: flex;
    align-items: center;

    gap: 12px;

    border-bottom: 1px solid #333;

    color: #fff;

    text-decoration: none;
}

.live-search-item:last-child {
    border-bottom: 0;
}

.live-search-item:hover {
    background: #292929;
}


/* IMAGE */

.live-search-image {
    flex: 0 0 64px;

    width: 64px;
    height: 64px;

    overflow: hidden;

    background: #eee;
}

.live-search-image img {
    width: 100%;
    height: 100%;

    display: block;

    object-fit: cover;
}


/* INFO */

.live-search-info {
    min-width: 0;
}

.live-search-title {
    margin-bottom: 5px;

    overflow: hidden;

    color: #fff;

    font-size: 14px;
    font-weight: 600;

    white-space: nowrap;

    text-overflow: ellipsis;
}

.live-search-price {
    color: #ff2ca7;

    font-size: 14px;
    font-weight: 700;
}

.live-search-price del {
    color: #777;

    font-size: 12px;
}

.live-search-price ins {
    color: #ff2ca7;

    text-decoration: none;
}


/* LOADING / EMPTY */

.live-search-loading,
.live-search-empty {
    padding: 20px;

    color: #aaa;

    text-align: center;

    font-size: 13px;
}


/* =========================================================
   MOBILE LIVE SEARCH
========================================================= */

@media (max-width: 767px) {

    .mobile-search-box {
        position: relative;
    }

    .mobile-search-box
    .myshop-live-search-results {
        top: 100%;
        left: 0;

        width: 100%;

        max-height: 380px;
    }

    .live-search-item {
        min-height: 74px;

        padding: 8px 10px;
    }

    .live-search-image {
        flex-basis: 56px;

        width: 56px;
        height: 56px;
    }

    .live-search-title {
        font-size: 13px;
    }

}


/* =========================================================
   MYSHOP FOOTER
   Add this to the bottom of assets/css/main.css
========================================================= */

.site-footer {
    background: #17191a;
    color: #aaa;
}

/* TOP STRIP */

.footer-service-strip {
    background: #ff2ca7;
    color: #fff;
}

.footer-service-grid {
    min-height: 48px;
    display: grid;
    grid-template-columns: repeat(5, 1fr);
    align-items: center;
}

.footer-service-item {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 9px;
    padding: 10px 8px;
    color: #fff;
    font-size: 13px;
    font-weight: 700;
    text-align: center;
}

.footer-service-icon {
    font-size: 16px;
}

/* MAIN AREA */

.footer-main {
    padding: 68px 0 0;
    background: #17191a;
}

.footer-columns {
    display: grid;
    grid-template-columns: 1fr 1fr 1fr 1.3fr;
    gap: 55px;
    padding-bottom: 60px;
}

.footer-column h3,
.footer-lower-block h3 {
    margin: 0 0 22px;
    color: #fff;
    font-size: 21px;
    line-height: 1.2;
    font-weight: 800;
}

.footer-column ul {
    margin: 0;
    padding: 0;
    list-style: none;
}

.footer-column li {
    margin: 0 0 20px;
}

.footer-column li a {
    position: relative;
    display: inline-block;
    padding-left: 40px;
    color: #aaa;
    text-decoration: none;
    font-size: 16px;
    font-weight: 600;
    line-height: 1.5;
    transition: color .2s ease;
}

.footer-column li a::before {
    content: "–";
    position: absolute;
    left: 0;
    top: 0;
    color: #777;
}

.footer-column li a:hover,
.footer-column li a.footer-highlight-link {
    color: #ff2ca7;
}

.footer-column li a.footer-highlight-link::before {
    color: #ff2ca7;
}

.footer-delivery p {
    margin: 0;
    color: #aaa;
    font-size: 15px;
    line-height: 1.65;
    text-align: justify;
}

/* LOWER FOOTER */

.footer-lower {
    display: grid;
    grid-template-columns: .85fr .85fr 1.6fr;
    gap: 55px;
    padding: 42px 0 48px;
    border-top: 1px solid #3a3a3a;
}

.footer-socials {
    display: flex;
    gap: 10px;
}

.footer-socials a {
    width: 50px;
    height: 44px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: #2f2f2f;
    color: #fff;
    text-decoration: none;
    font-size: 22px;
    font-weight: 700;
    transition: background .2s ease;
}

.footer-socials a:hover {
    background: #ff2ca7;
}

.footer-payment-list {
    display: flex;
    flex-wrap: wrap;
    gap: 7px;
}

.footer-payment-list span {
    min-height: 40px;
    padding: 0 11px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: #eee;
    color: #111;
    font-size: 11px;
    font-weight: 800;
}

.footer-newsletter form {
    display: flex;
    width: 100%;
}

.footer-newsletter input {
    flex: 1;
    min-width: 0;
    height: 50px;
    padding: 0 16px;
    border: 1px solid #333;
    border-right: 0;
    outline: none;
    background: #292929;
    color: #fff;
    font-size: 14px;
}

.footer-newsletter input::placeholder {
    color: #888;
}

.footer-newsletter button {
    flex: 0 0 145px;
    min-height: 50px;
    border: 0;
    background: #ff2ca7;
    color: #fff;
    font-size: 14px;
    font-weight: 700;
    cursor: pointer;
}

.footer-newsletter button:hover {
    background: #e91b96;
}

/* COPYRIGHT */

.footer-bottom {
    border-top: 1px solid #333;
    background: #111;
}

.footer-bottom-inner {
    min-height: 78px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 30px;
}

.footer-bottom p {
    margin: 0;
    color: #ddd;
    font-size: 14px;
}

.footer-bottom p span {
    color: #ff2ca7;
}

.footer-security {
    display: flex;
    gap: 10px;
}

.footer-security span {
    min-height: 34px;
    padding: 0 12px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: #292929;
    color: #ddd;
    font-size: 11px;
    font-weight: 700;
}

/* TABLET */

@media (max-width: 991px) {
    .footer-service-grid {
        grid-template-columns: repeat(3, 1fr);
    }

    .footer-columns {
        grid-template-columns: repeat(2, 1fr);
    }

    .footer-lower {
        grid-template-columns: 1fr 1fr;
    }

    .footer-newsletter {
        grid-column: 1 / -1;
    }
}

/* MOBILE */

@media (max-width: 767px) {
    .footer-service-grid {
        width: 100%;
        grid-template-columns: repeat(2, 1fr);
    }

    .footer-service-item {
        min-height: 46px;
        font-size: 11px;
    }

    .footer-main {
        padding-top: 45px;
    }

    .footer-columns {
        grid-template-columns: 1fr;
        gap: 34px;
        padding-bottom: 40px;
    }

    .footer-column h3,
    .footer-lower-block h3 {
        margin-bottom: 18px;
        font-size: 19px;
    }

    .footer-column li {
        margin-bottom: 14px;
    }

    .footer-column li a {
        padding-left: 28px;
        font-size: 14px;
    }

    .footer-delivery p {
        font-size: 14px;
    }

    .footer-lower {
        grid-template-columns: 1fr;
        gap: 30px;
        padding: 35px 0;
    }

    .footer-newsletter {
        grid-column: auto;
    }

    .footer-newsletter form {
        display: block;
    }

    .footer-newsletter input,
    .footer-newsletter button {
        width: 100%;
        border: 0;
    }

    .footer-newsletter button {
        margin-top: 8px;
    }

    .footer-bottom-inner {
        padding: 22px 0;
        flex-direction: column;
        align-items: flex-start;
    }

    .footer-security {
        flex-wrap: wrap;
    }
}

/* =========================================================
   PROFESSIONAL SINGLE PRODUCT ADDONS
========================================================= */

.single-price-note {
    margin: -10px 0 20px;

    color: #888;

    font-size: 12px;
}


/* =========================================================
   BUY NOW
========================================================= */

.myshop-buy-now-button {
    width: 100%;

    min-height: 50px;

    margin: 0 0 18px;
    padding: 0 25px;

    border: 2px solid #ff2ca7;
    border-radius: 0;

    background: transparent;
    color: #ff2ca7;

    font-size: 15px;
    font-weight: 800;

    cursor: pointer;

    transition:
        background .2s ease,
        color .2s ease;
}

.myshop-buy-now-button:hover {
    background: #ff2ca7;

    color: #fff;
}


/* =========================================================
   BENEFITS
========================================================= */

.single-product-benefits {
    margin: 25px 0;

    display: grid;

    grid-template-columns:
        repeat(2, minmax(0, 1fr));

    border-top: 1px solid #343434;
    border-left: 1px solid #343434;
}

.single-benefit {
    min-height: 90px;

    padding: 15px;

    display: flex;
    align-items: center;

    gap: 12px;

    border-right: 1px solid #343434;
    border-bottom: 1px solid #343434;

    background: #202223;
}

.single-benefit-icon {
    flex: 0 0 35px;

    width: 35px;
    height: 35px;

    display: flex;
    align-items: center;
    justify-content: center;

    border-radius: 50%;

    background:
        rgba(255, 44, 167, .12);

    font-size: 18px;
}

.single-benefit strong {
    display: block;

    margin-bottom: 4px;

    color: #fff;

    font-size: 13px;
}

.single-benefit small {
    display: block;

    color: #999;

    font-size: 11px;
    line-height: 1.45;
}


/* =========================================================
   META ROWS
========================================================= */

.single-product-meta {
    padding-top: 18px;

    border-top: 1px solid #333;
}

.single-meta-row {
    margin-bottom: 9px;

    display: flex;
    align-items: flex-start;

    gap: 8px;

    color: #888;

    font-size: 12px;
}

.single-meta-row > span {
    flex: 0 0 auto;
}

.single-meta-row strong {
    color: #ccc;

    font-weight: 500;
}

.single-meta-row a {
    color: #ff2ca7;

    text-decoration: none;
}


/* =========================================================
   MOBILE PURCHASE BAR
========================================================= */

.mobile-product-buy-bar {
    display: none;
}


/* =========================================================
   MOBILE
========================================================= */

@media (max-width: 767px) {

    /*
     * Leave room for sticky purchase bar.
     */

    body.single-product {
        padding-bottom: 72px;
    }


    .single-product-benefits {

        grid-template-columns: 1fr;
    }


    .single-benefit {
        min-height: 78px;
    }


    .myshop-buy-now-button {
        min-height: 46px;

        font-size: 14px;
    }


    /* Sticky mobile Buy Now */

    .mobile-product-buy-bar {
        position: fixed;

        left: 0;
        right: 0;
        bottom: 0;

        z-index: 99999;

        min-height: 64px;

        padding: 8px 12px;

        display: grid;

        grid-template-columns:
            minmax(0, 1fr)
            145px;

        align-items: center;

        gap: 10px;

        border-top: 1px solid #383838;

        background: #202223;

        box-shadow:
            0 -5px 25px
            rgba(0,0,0,.28);
    }


    .mobile-product-buy-price {
        min-width: 0;

        color: #fff;

        font-size: 16px;
        font-weight: 800;
    }


    .mobile-product-buy-price del {
        margin-right: 5px;

        color: #777;

        font-size: 11px;
    }


    .mobile-product-buy-price ins {
        color: #fff;

        text-decoration: none;
    }


    .mobile-buy-now-button {
        width: 100%;
        min-height: 47px;

        padding: 0 12px;

        border: 0;

        background: #ff2ca7;
        color: #fff;

        font-size: 14px;
        font-weight: 800;

        cursor: pointer;
    }

}


/* =========================================================
   SEX TOYS FOR MEN LANDING PAGE
========================================================= */

.men-landing-page {
    background: #17191a;
    color: #fff;
}


/* =========================================================
   HERO
========================================================= */

.men-landing-hero {
    padding: 60px 0 45px;

    background:
        linear-gradient(
            180deg,
            #111 0%,
            #17191a 100%
        );
}

.men-landing-hero-inner {
    max-width: 850px;

    margin: 0 auto;

    text-align: center;
}

.men-landing-eyebrow {
    display: block;

    margin-bottom: 10px;

    color: #ff2ca7;

    font-size: 12px;
    font-weight: 700;

    text-transform: uppercase;

    letter-spacing: 1px;
}

.men-landing-hero h1 {
    margin: 0 0 16px;

    color: #fff;

    font-size: 46px;
    line-height: 1.1;

    font-weight: 800;

    text-transform: uppercase;
}

.men-landing-hero p {
    margin: 0;

    color: #aaa;

    font-size: 15px;
    line-height: 1.7;
}


/* =========================================================
   CATEGORY SHORTCUTS
========================================================= */

.men-category-shortcuts {
    padding: 45px 0 65px;

    display: grid;

    grid-template-columns:
        repeat(10, minmax(0, 1fr));

    gap: 16px;
}

.men-category-shortcut {
    display: block;

    color: #fff;

    text-align: center;

    text-decoration: none;
}

.men-category-shortcut-image {
    width: 100%;

    aspect-ratio: 1 / 1;

    margin-bottom: 10px;

    overflow: hidden;

    display: flex;
    align-items: center;
    justify-content: center;

    border-radius: 10px;

    background: #2b2b2b;

    transition:
        transform .2s ease,
        box-shadow .2s ease;
}

.men-category-shortcut-image img {
    width: 100%;
    height: 100%;

    display: block;

    object-fit: cover;
}

.men-category-shortcut-image span {
    width: 55px;
    height: 55px;

    display: flex;
    align-items: center;
    justify-content: center;

    border-radius: 50%;

    background: #ff2ca7;

    color: #fff;

    font-size: 22px;
    font-weight: 800;
}

.men-category-shortcut:hover
.men-category-shortcut-image {
    transform: translateY(-4px);

    box-shadow:
        0 12px 30px
        rgba(255, 44, 167, .2);
}

.men-category-shortcut-label {
    color: #fff;

    font-size: 12px;
    font-weight: 700;

    line-height: 1.35;
}

.men-category-shortcut:hover
.men-category-shortcut-label {
    color: #ff2ca7;
}


/* =========================================================
   PRODUCT SECTIONS
========================================================= */

.men-landing-products {
    padding-bottom: 75px;
}

.men-landing-product-section {
    margin-bottom: 75px;
}

.men-landing-product-section:last-child {
    margin-bottom: 0;
}

.men-landing-section-heading {
    margin-bottom: 28px;

    text-align: center;
}

.men-landing-section-heading h2 {
    margin: 0;

    color: #fff;

    font-size: 36px;
    line-height: 1.15;

    font-weight: 800;

    text-transform: uppercase;
}


/* VIEW ALL */

.men-landing-view-all {
    margin-top: 30px;

    text-align: center;
}

.men-landing-view-all a {
    min-width: 140px;
    min-height: 44px;

    padding: 0 25px;

    display: inline-flex;
    align-items: center;
    justify-content: center;

    background: #ff2ca7;

    color: #fff;

    text-decoration: none;

    font-size: 13px;
    font-weight: 700;
}

.men-landing-view-all a:hover {
    background: #e91b96;
}


/* EMPTY */

.men-landing-empty {
    padding: 35px 20px;

    background: #242424;

    color: #aaa;

    text-align: center;
}


/* =========================================================
   SEO CONTENT
========================================================= */

.men-landing-seo {
    padding: 60px 0;

    background: #202223;
}

.men-landing-seo-content {
    max-width: 900px;

    margin: 0 auto;
}

.men-landing-seo h2 {
    margin: 0 0 18px;

    color: #fff;

    font-size: 30px;
}

.men-landing-seo p {
    margin: 0 0 15px;

    color: #aaa;

    font-size: 14px;
    line-height: 1.8;
}

.men-landing-seo p:last-child {
    margin-bottom: 0;
}


/* =========================================================
   FAQ
========================================================= */

.men-landing-faq {
    padding: 65px 0 80px;

    background: #17191a;
}

.men-landing-faq-heading {
    margin-bottom: 30px;

    text-align: center;
}

.men-landing-faq-heading h2 {
    margin: 0;

    color: #fff;

    font-size: 32px;
    font-weight: 800;
}

.men-faq-list {
    max-width: 900px;

    margin: 0 auto;
}

.men-faq-item {
    margin-bottom: 10px;

    border: 1px solid #333;

    background: #222426;
}

.men-faq-item summary {
    position: relative;

    padding: 18px 50px 18px 18px;

    color: #fff;

    font-size: 14px;
    font-weight: 700;

    cursor: pointer;

    list-style: none;
}

.men-faq-item summary::-webkit-details-marker {
    display: none;
}

.men-faq-item summary::after {
    content: "+";

    position: absolute;

    top: 50%;
    right: 18px;

    transform: translateY(-50%);

    color: #ff2ca7;

    font-size: 24px;
}

.men-faq-item[open] summary::after {
    content: "−";
}

.men-faq-item p {
    margin: 0;

    padding: 0 18px 18px;

    color: #aaa;

    font-size: 13px;
    line-height: 1.7;
}


/* =========================================================
   TABLET
========================================================= */

@media (max-width: 1100px) {

    .men-category-shortcuts {
        grid-template-columns:
            repeat(5, minmax(0, 1fr));
    }

}


/* =========================================================
   MOBILE
========================================================= */

@media (max-width: 767px) {

    .men-landing-hero {
        padding: 40px 0 30px;
    }

    .men-landing-hero-inner {
        padding: 0 15px;
    }

    .men-landing-hero h1 {
        font-size: 30px;
    }

    .men-landing-hero p {
        font-size: 13px;
    }


    /* HORIZONTAL CATEGORY SCROLL */

    .men-category-shortcuts {
        padding: 30px 12px 45px;

        display: flex;

        gap: 12px;

        overflow-x: auto;

        scrollbar-width: none;
    }

    .men-category-shortcuts::-webkit-scrollbar {
        display: none;
    }

    .men-category-shortcut {
        flex: 0 0 86px;
    }

    .men-category-shortcut-image {
        width: 86px;
        height: 86px;
    }

    .men-category-shortcut-label {
        font-size: 11px;
    }


    /* PRODUCTS */

    .men-landing-product-section {
        margin-bottom: 55px;
    }

    .men-landing-section-heading {
        padding: 0 12px;

        margin-bottom: 20px;
    }

    .men-landing-section-heading h2 {
        font-size: 25px;
    }


    /* SEO */

    .men-landing-seo {
        padding: 45px 15px;
    }

    .men-landing-seo h2 {
        font-size: 24px;
    }


    /* FAQ */

    .men-landing-faq {
        padding: 45px 12px 55px;
    }

    .men-landing-faq-heading h2 {
        font-size: 25px;
    }

}

/* =========================================================
   DESKTOP MEGA MENU
========================================================= */

@media (min-width: 768px) {

    /* Top-level menu item */
    .main-navigation .main-menu > li {
        position: relative;
    }


    /* Normal submenu reset */
    .main-navigation .main-menu > li > .sub-menu {
        position: absolute;

        top: 100%;
        left: 0;

        z-index: 99999;

        min-width: 270px;

        margin: 0;
        padding: 12px 0;

        list-style: none;

        background: #090909;

        border-top: 3px solid #ff2ca7;

        box-shadow:
            0 15px 35px
            rgba(0, 0, 0, .35);

        opacity: 0;
        visibility: hidden;

        transform: translateY(8px);

        transition:
            opacity .2s ease,
            visibility .2s ease,
            transform .2s ease;
    }


    /* Open on hover */
    .main-navigation .main-menu > li:hover > .sub-menu {
        opacity: 1;
        visibility: visible;

        transform: translateY(0);
    }


    /* Submenu items */
    .main-navigation .main-menu > li > .sub-menu > li {
        margin: 0;
        padding: 0;

        list-style: none;
    }


    .main-navigation .main-menu > li > .sub-menu > li > a {
        display: block;

        padding: 11px 18px;

        color: #fff;

        text-decoration: none;

        font-size: 14px;
        font-weight: 600;

        white-space: nowrap;

        transition:
            background .2s ease,
            color .2s ease,
            padding-left .2s ease;
    }


    .main-navigation .main-menu > li > .sub-menu > li > a:hover {
        padding-left: 23px;

        background: #161616;

        color: #ff2ca7;
    }



    /* =====================================================
       MEN / WOMEN / COUPLE MEGA MENU
    ====================================================== */

    .main-navigation
    .main-menu
    > li:nth-child(1)
    > .sub-menu,

    .main-navigation
    .main-menu
    > li:nth-child(2)
    > .sub-menu,

    .main-navigation
    .main-menu
    > li:nth-child(3)
    > .sub-menu {

        width: 520px;

        min-width: 520px;

        padding: 15px;

        display: grid;

        grid-template-columns:
            repeat(2, minmax(0, 1fr));

        gap: 0 20px;

        background: #050505;
    }


    .main-navigation
    .main-menu
    > li:nth-child(1)
    > .sub-menu > li,

    .main-navigation
    .main-menu
    > li:nth-child(2)
    > .sub-menu > li,

    .main-navigation
    .main-menu
    > li:nth-child(3)
    > .sub-menu > li {

        border-bottom:
            1px solid
            rgba(255,255,255,.06);
    }


    .main-navigation
    .main-menu
    > li:nth-child(1)
    > .sub-menu > li > a,

    .main-navigation
    .main-menu
    > li:nth-child(2)
    > .sub-menu > li > a,

    .main-navigation
    .main-menu
    > li:nth-child(3)
    > .sub-menu > li > a {

        padding: 11px 10px;

        font-size: 14px;
    }


    .main-navigation
    .main-menu
    > li:nth-child(1)
    > .sub-menu > li > a:hover,

    .main-navigation
    .main-menu
    > li:nth-child(2)
    > .sub-menu > li > a:hover,

    .main-navigation
    .main-menu
    > li:nth-child(3)
    > .sub-menu > li > a:hover {

        padding-left: 15px;
    }



    /* =====================================================
       PREVENT RIGHT EDGE OVERFLOW
    ====================================================== */

    .main-navigation
    .main-menu
    > li:nth-last-child(-n+3)
    > .sub-menu {

        left: auto;
        right: 0;
    }

}

/* =========================================================
   REMOVE WHITE SUBMENU LINES / INDICATORS
========================================================= */

@media (min-width: 768px) {

    /* Hide submenu toggle button created by main.js */
    .main-navigation .submenu-toggle {
        display: none !important;
    }

    /* Remove possible pseudo-element indicators */
    .main-navigation .menu-item-has-children > a::before,
    .main-navigation .menu-item-has-children > a::after,
    .main-navigation .menu-item-has-children::before,
    .main-navigation .menu-item-has-children::after {
        display: none !important;
        content: none !important;
    }

}

/* =========================================================
   WOMEN LANDING PAGE - EXTRA POLISH
   Add to the bottom of assets/css/main.css
========================================================= */

.women-landing-seo .men-landing-seo-content h3 {
    margin: 28px 0 10px;
    color: #fff;
    font-size: 21px;
    line-height: 1.3;
}

.women-category-description {
    margin-top: 32px;
    padding-top: 28px;
    border-top: 1px solid #383838;
}

.women-category-description p:last-child {
    margin-bottom: 0;
}

.women-landing-products .men-landing-product-section {
    scroll-margin-top: 120px;
}

@media (max-width: 767px) {
    .women-landing-seo .men-landing-seo-content h3 {
        margin-top: 24px;
        font-size: 19px;
    }
}


/* =========================================================
   NEW LAUNCHES - MATCH MEN / WOMEN PAGE STYLE
========================================================= */

.new-launches-page {
    background: #17191a !important;
    color: #fff !important;
}


/* HERO */

.new-launches-hero {
    padding: 45px 0 35px !important;

    background: #17191a !important;

    color: #fff;
}

.new-launches-hero-inner {
    max-width: 900px;

    margin: 0 auto;

    text-align: center;
}

.new-launches-eyebrow {
    display: block;

    margin-bottom: 10px;

    color: #ff2ca7 !important;

    font-size: 12px;
    font-weight: 700;

    text-transform: uppercase;

    letter-spacing: 1px;
}

.new-launches-hero h1 {
    margin: 0 0 15px !important;

    color: #fff !important;

    font-size: 42px !important;
    line-height: 1.1;

    font-weight: 800 !important;

    text-align: center;

    text-transform: uppercase;
}

.new-launches-hero p {
    max-width: 900px;

    margin: 0 auto;

    color: #aaa !important;

    font-size: 15px;
    line-height: 1.7;

    text-align: center;
}


/* PRODUCT AREA */

.new-launches-products {
    padding: 20px 0 70px !important;

    background: #17191a !important;
}


/* PRODUCT GRID SAME AS WOMEN / MEN */

.new-launches-products .reference-product-grid {
    display: grid !important;

    grid-template-columns:
        repeat(5, minmax(0, 1fr)) !important;

    gap: 8px !important;

    align-items: stretch;
}


/* CARD */

.new-launches-products .reference-product-card {
    height: 100%;

    background: #333 !important;

    color: #fff !important;
}


/* IMAGE AREA */

.new-launches-products .reference-product-image-wrap {
    background: #eee;
}

.new-launches-products .reference-product-image img {
    width: 100%;
    height: auto;

    display: block;
}


/* PRODUCT INFO */

.new-launches-products .reference-product-info {
    padding: 14px !important;

    background: #333 !important;
}


/* TITLE */

.new-launches-products .reference-product-title,
.new-launches-products .reference-product-title a {
    color: #fff !important;

    text-decoration: none !important;
}


/* PRICE */

.new-launches-products .reference-price {
    color: #fff;
}

.new-launches-products .reference-price del {
    color: #a02b77 !important;
}

.new-launches-products .reference-price ins {
    color: #aaa !important;

    text-decoration: none;
}


/* ADD TO CART BUTTON */

.new-launches-products .reference-add-cart {
    width: 100%;

    min-height: 40px;

    display: flex;
    align-items: center;
    justify-content: center;

    background: #555 !important;

    color: #fff !important;

    border: 0 !important;

    text-decoration: none !important;

    font-size: 14px;
}

.new-launches-products .reference-add-cart:hover {
    background: #ff2ca7 !important;

    color: #fff !important;
}


/* OFFER BADGE */

.new-launches-products .reference-offer-badge {
    background: #299b40 !important;

    color: #fff !important;
}


/* STARS */

.new-launches-products .star-active {
    color: #ffff00 !important;
}

.new-launches-products .star-empty {
    color: #777 !important;
}


/* PAGINATION */

.new-launches-products .shop-pagination {
    margin-top: 45px;

    text-align: center;
}

.new-launches-products
.shop-pagination ul {
    margin: 0;
    padding: 0;

    display: flex;
    justify-content: center;

    gap: 7px;

    list-style: none;
}

.new-launches-products
.shop-pagination a,
.new-launches-products
.shop-pagination span {
    min-width: 42px;
    height: 42px;

    display: flex;
    align-items: center;
    justify-content: center;

    background: #333;

    color: #fff;

    text-decoration: none;
}

.new-launches-products
.shop-pagination .current {
    background: #ff2ca7 !important;

    color: #fff !important;
}


/* BOTTOM CONTENT */

.new-launches-content {
    padding: 55px 0 !important;

    background: #202223 !important;
}

.new-launches-content-inner {
    max-width: 900px;

    margin: 0 auto;
}

.new-launches-content h2 {
    color: #ff2ca7 !important;

    font-size: 27px;
}

.new-launches-content p {
    color: #aaa !important;

    line-height: 1.8;
}


/* =========================================================
   TABLET
========================================================= */

@media (max-width: 1100px) {

    .new-launches-products .reference-product-grid {
        grid-template-columns:
            repeat(4, minmax(0, 1fr)) !important;
    }

}


/* =========================================================
   MOBILE
========================================================= */

@media (max-width: 767px) {

    .new-launches-hero {
        padding: 35px 12px 28px !important;
    }

    .new-launches-hero h1 {
        font-size: 28px !important;
    }

    .new-launches-hero p {
        font-size: 13px;
    }


    .new-launches-products {
        padding: 10px 8px 50px !important;
    }


    .new-launches-products .reference-product-grid {
        grid-template-columns:
            repeat(2, minmax(0, 1fr)) !important;

        gap: 7px !important;
    }


    .new-launches-products .reference-product-info {
        padding: 10px !important;
    }


    .new-launches-products .reference-product-title {
        font-size: 13px !important;
    }


    .new-launches-content {
        padding: 45px 15px !important;
    }

}


/* =========================================================
   PRODUCT IMAGE WATERMARK
   ========================================================= */

/* Shop/category product cards */
.woocommerce ul.products li.product a.woocommerce-LoopProduct-link,
.woocommerce ul.products li.product .woocommerce-loop-product__link {
    position: relative;
    display: block;
}

/* Single product gallery */
.woocommerce-product-gallery__image {
    position: relative;
}

/* Product card watermark */
.woocommerce ul.products li.product a.woocommerce-LoopProduct-link::after,
.woocommerce ul.products li.product .woocommerce-loop-product__link::after {
    content: "PLEASURE PITARA";

    position: absolute;

    right: 12px;
    bottom: 12px;

    background: rgba(0, 0, 0, 0.55);

    color: #ffffff;

    font-size: 12px;
    font-weight: 700;

    letter-spacing: 1px;

    padding: 5px 9px;

    border-radius: 4px;

    z-index: 20;

    pointer-events: none;

    line-height: 1.2;
}


/* Single product image watermark */
.woocommerce-product-gallery__image::after {
    content: "PLEASURE PITARA";

    position: absolute;

    right: 20px;
    bottom: 20px;

    background: rgba(0, 0, 0, 0.55);

    color: #ffffff;

    font-size: 15px;
    font-weight: 700;

    letter-spacing: 1px;

    padding: 7px 12px;

    border-radius: 5px;

    z-index: 999;

    pointer-events: none;

    line-height: 1.2;
}

/* =========================================================
   LOGO WATERMARK - PRODUCT CARDS
   ========================================================= */

.woocommerce ul.products li.product a.woocommerce-LoopProduct-link,
.woocommerce ul.products li.product .woocommerce-loop-product__link {
    position: relative !important;
    display: block;
}

.woocommerce ul.products li.product a.woocommerce-LoopProduct-link::after,
.woocommerce ul.products li.product .woocommerce-loop-product__link::after {

    content: "";

    position: absolute;

    right: 12px;
    bottom: 12px;

    width: 110px;
    height: 35px;

    background-image:
        url("../images/watermark.png");

    background-repeat: no-repeat;

    background-position: center;

    background-size: contain;

    opacity: 0.65;

    z-index: 30;

    pointer-events: none;
}


/* =========================================================
   SINGLE PRODUCT WATERMARK
   ========================================================= */

.woocommerce-product-gallery__image {
    position: relative !important;
}

.woocommerce-product-gallery__image::after {

    content: "";

    position: absolute;

    right: 20px;
    bottom: 20px;

    width: 150px;
    height: 50px;

    background-image:
        url("../images/watermark.png");

    background-repeat: no-repeat;

    background-position: center;

    background-size: contain;

    opacity: 0.60;

    z-index: 9999;

    pointer-events: none;
}


/* =========================================================
   MOBILE HOMEPAGE CATEGORY GRID - FINAL FIX
   Shows every selected homepage category on mobile
========================================================= */

@media (max-width: 767px) {

    /*
     * Your earlier CSS turns this section into a
     * horizontal, non-wrapping flex row:
     *
     * flex-wrap: nowrap;
     * overflow-x: auto;
     *
     * This final block intentionally overrides that.
     */
    .dark-shop-section .dark-category-grid {
        width: 100% !important;

        margin: 0 0 48px !important;
        padding: 0 12px !important;

        display: grid !important;

        grid-template-columns:
            repeat(4, minmax(0, 1fr)) !important;

        gap: 18px 10px !important;

        align-items: start !important;
        justify-content: stretch !important;

        overflow: visible !important;

        flex-wrap: initial !important;

        height: auto !important;
        max-height: none !important;
    }


    .dark-shop-section
    .dark-category-grid
    .dark-category-item {

        width: 100% !important;
        min-width: 0 !important;
        max-width: none !important;

        margin: 0 !important;
        padding: 0 !important;

        display: flex !important;

        flex-direction: column !important;
        align-items: center !important;
        justify-content: flex-start !important;

        text-align: center !important;
    }


    .dark-shop-section
    .dark-category-grid
    .dark-category-image {

        width: 78px !important;
        height: 78px !important;

        min-width: 78px !important;

        margin: 0 auto 8px !important;

        flex: 0 0 78px !important;
    }


    .dark-shop-section
    .dark-category-grid
    .dark-category-image img {

        width: 100% !important;
        height: 100% !important;

        display: block !important;

        object-fit: cover !important;
    }


    .dark-shop-section
    .dark-category-grid
    .dark-category-placeholder {

        width: 58px !important;
        height: 58px !important;

        margin: 0 !important;

        display: flex !important;
        align-items: center !important;
        justify-content: center !important;

        font-size: 25px !important;
    }


    .dark-shop-section
    .dark-category-grid
    .dark-category-name {

        width: 100% !important;

        margin: 0 !important;

        color: #fff !important;

        text-align: center !important;

        font-size: 12px !important;
        line-height: 1.25 !important;

        white-space: normal !important;

        overflow: visible !important;

        text-overflow: clip !important;

        word-break: normal !important;
        overflow-wrap: anywhere !important;
    }

}


/* =========================================================
   SMALL MOBILE
========================================================= */

@media (max-width: 480px) {

    .dark-shop-section .dark-category-grid {

        grid-template-columns:
            repeat(3, minmax(0, 1fr)) !important;

        gap: 20px 12px !important;

        padding-left: 14px !important;
        padding-right: 14px !important;
    }


    .dark-shop-section
    .dark-category-grid
    .dark-category-image {

        width: 82px !important;
        height: 82px !important;

        min-width: 82px !important;

        flex-basis: 82px !important;
    }


    .dark-shop-section
    .dark-category-grid
    .dark-category-name {

        font-size: 12px !important;
    }

}


/* =========================================================
   VERY SMALL MOBILE
========================================================= */

@media (max-width: 360px) {

    .dark-shop-section .dark-category-grid {

        grid-template-columns:
            repeat(3, minmax(0, 1fr)) !important;

        gap: 18px 8px !important;

        padding-left: 8px !important;
        padding-right: 8px !important;
    }


    .dark-shop-section
    .dark-category-grid
    .dark-category-image {

        width: 74px !important;
        height: 74px !important;

        min-width: 74px !important;

        flex-basis: 74px !important;
    }


    .dark-shop-section
    .dark-category-grid
    .dark-category-name {

        font-size: 11px !important;
    }

}


/* =========================================================
   MEN LANDING PAGE - MOBILE CATEGORY GRID FIX
   Add at the VERY END of assets/css/main.css
========================================================= */

@media (max-width: 767px) {

    .men-landing-page .men-category-shortcuts {
        width: 100% !important;
        padding: 30px 12px 45px !important;

        display: grid !important;
        grid-template-columns: repeat(4, minmax(0, 1fr)) !important;

        gap: 18px 10px !important;
        overflow: visible !important;
        margin: 0 !important;
    }

    .men-landing-page .men-category-shortcut {
        width: 100% !important;
        min-width: 0 !important;
        max-width: none !important;

        flex: none !important;

        display: flex !important;
        flex-direction: column !important;
        align-items: center !important;

        margin: 0 !important;
    }

    .men-landing-page .men-category-shortcut-image {
        width: 76px !important;
        height: 76px !important;

        margin: 0 auto 8px !important;
    }

    .men-landing-page .men-category-shortcut-label {
        width: 100% !important;

        color: #fff !important;

        font-size: 11px !important;
        line-height: 1.25 !important;

        text-align: center !important;

        white-space: normal !important;
        overflow: visible !important;
    }
}

@media (max-width: 480px) {

    .men-landing-page .men-category-shortcuts {
        grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
        gap: 20px 12px !important;
    }

    .men-landing-page .men-category-shortcut-image {
        width: 84px !important;
        height: 84px !important;
    }

    .men-landing-page .men-category-shortcut-label {
        font-size: 12px !important;
    }
}

@media (max-width: 360px) {

    .men-landing-page .men-category-shortcuts {
        grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
        gap: 16px 8px !important;
        padding-left: 8px !important;
        padding-right: 8px !important;
    }

    .men-landing-page .men-category-shortcut-image {
        width: 76px !important;
        height: 76px !important;
    }
}

