/* ==========================================================================
   MOFAY WOOCOMMERCE CUSTOM STYLES
   ========================================================================== */

/* Globally hide and remove any injected YITH wishlist loop buttons and Quick View buttons inside product cards */
.yith-wcwl-add-to-wishlist,
.yith-wcwl-add-button,
.yith-wcwl-wishlistaddedback,
.yith-wcwl-wishlistexistsback,
.yith-wcqv-button,
.yith-quick-view,
.quick-view,
.quickview,
.mofay-quick-view-btn,
.overlay-eye-btn,
.card-image-overlay,
.card-wishlist-badge,
.yith-wcwl-icon,
.yith-wcwl-add-to-wishlist-button,
.yith-wcwl-add-to-wishlist * {
    display: none !important;
    visibility: hidden !important;
    opacity: 0 !important;
    width: 0 !important;
    height: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    position: absolute !important;
    pointer-events: none !important;
}

/* Products Loop Grids */
ul.products {
    list-style: none;
    padding: 0;
    margin: 0;
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 30px;
}

ul.products::before, ul.products::after {
    display: none;
}

.mofay-product-card {
    background-color: var(--mofay-white);
    border-radius: 16px;
    overflow: hidden;
    box-shadow: 0 4px 20px rgba(0, 0, 0, 0.04);
    transition: var(--mofay-transition);
    border: none !important;
    height: 100%;
    display: flex;
    flex-direction: column;
}

.mofay-product-card:hover {
    transform: scale(1.02);
    box-shadow: 0 12px 35px rgba(15, 30, 54, 0.15);
}

.mofay-product-image-container {
    position: relative;
    overflow: hidden;
    background-color: var(--mofay-bg);
    border-radius: 16px 16px 0 0;
    width: 100%;
    aspect-ratio: 3 / 4 !important;
}

.mofay-product-image-container img {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
    transition: var(--mofay-transition);
}

.mofay-product-card:hover .mofay-product-image-container img {
    transform: scale(1.08);
}

/* Badges */
.mofay-product-badges {
    position: absolute;
    top: 12px;
    left: 12px;
    display: flex;
    flex-direction: column;
    gap: 6px;
    z-index: 10;
}

.badge {
    padding: 3px 8px;
    font-size: 0.72rem;
    font-weight: 700;
    border-radius: 4px;
    text-transform: uppercase;
}

.badge-sale { background-color: #E63946; color: var(--mofay-white); }
.badge-new { background-color: var(--mofay-accent); color: var(--mofay-primary); }
.badge-best { background-color: var(--mofay-primary); color: var(--mofay-white); }

/* Overlays Actions buttons */
.product-card-actions {
    position: absolute;
    bottom: -50px;
    left: 0;
    width: 100%;
    display: flex;
    justify-content: center;
    gap: 10px;
    padding: 15px;
    background: linear-gradient(to top, rgba(0, 0, 0, 0.4), transparent);
    transition: var(--mofay-transition);
    z-index: 5;
}

.mofay-product-card:hover .product-card-actions {
    bottom: 0;
}

.action-btn {
    width: 40px;
    height: 40px;
    background-color: var(--mofay-white);
    color: var(--mofay-secondary);
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    box-shadow: var(--mofay-shadow-sm);
    transition: var(--mofay-transition);
}

.action-btn:hover {
    background-color: var(--mofay-primary);
    color: var(--mofay-white);
}

/* Card Content details */
.mofay-product-card-content {
    padding: 20px;
    display: flex;
    flex-direction: column;
    flex-grow: 1;
    background-color: var(--mofay-white);
}

.product-card-meta-actions {
    display: flex;
    justify-content: space-between;
    align-items: center;
    font-size: 0.82rem;
    color: var(--mofay-text-muted);
    margin-bottom: 12px;
    border-bottom: 1px solid var(--mofay-border);
    padding-bottom: 8px;
}

.product-card-meta-actions a {
    color: var(--mofay-text-muted);
    font-weight: 500;
}

.product-card-meta-actions a:hover {
    color: var(--mofay-primary);
}

.product-card-category {
    font-size: 0.72rem;
    font-weight: 700;
    letter-spacing: 0.08em;
    color: #6C757D;
    margin-bottom: 6px;
    text-transform: uppercase;
    display: block;
}

.product-card-title {
    font-size: 1.2rem;
    margin-bottom: 8px;
    font-weight: 700;
    line-height: 1.35;
}

.product-card-title a {
    color: var(--mofay-primary);
}

.product-card-title a:hover {
    color: var(--mofay-accent);
}

.product-rating {
    margin-bottom: 12px;
}

.star-rating {
    font-size: 0.85rem;
    width: 5.4em;
    height: 1.6em;
    letter-spacing: 0.1em;
    font-family: star;
}

.star-rating::before {
    content: '\53\53\53\53\53';
    color: #E2E8F0;
    float: left;
    top: 0;
    left: 0;
    position: absolute;
}

.star-rating span {
    overflow: hidden;
    float: left;
    top: 0;
    left: 0;
    position: absolute;
    padding-top: 1.5em;
}

.star-rating span::before {
    content: '\53\53\53\53\53';
    color: var(--mofay-accent);
    position: absolute;
    top: 0;
    left: 0;
}

.product-price {
    font-size: 1.25rem;
    font-weight: 700;
    color: var(--mofay-primary);
    margin-bottom: 15px;
    margin-top: auto;
}

.product-price del {
    color: var(--mofay-text-muted);
    font-size: 0.95rem;
    margin-right: 8px;
    font-weight: 400;
}

.product-price ins {
    text-decoration: none;
}

/* WhatsApp Order Button */
.btn-whatsapp-order {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    background-color: var(--mofay-whatsapp);
    color: var(--mofay-white);
    padding: 10px 15px;
    border-radius: 50px;
    font-weight: 700;
    font-size: 0.85rem;
    transition: var(--mofay-transition);
    box-shadow: 0 4px 10px rgba(37, 211, 102, 0.2);
}

.btn-whatsapp-order:hover {
    background-color: #20BA5A;
    color: var(--mofay-white);
    transform: translateY(-2px);
}

/* ==========================================================================
   SINGLE PRODUCT PAGES
   ========================================================================== */
.mofay-single-product-grid-layout {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 50px;
    margin-top: 30px;
}

.product-gallery-column .images {
    border-radius: var(--mofay-border-radius-lg);
    overflow: hidden;
    border: 1px solid var(--mofay-border);
}

.mofay-single-product-rating {
    margin-bottom: 15px;
}

.mofay-single-product-price {
    margin-bottom: 20px;
}

.mofay-single-price-box {
    display: flex;
    align-items: center;
    gap: 15px;
}

.mofay-single-price-box .price {
    font-size: 1.8rem;
    font-weight: 800;
    color: var(--mofay-primary);
}

.price-deal-tag {
    background-color: #FAF7F2;
    color: var(--mofay-primary);
    padding: 4px 12px;
    border-radius: 30px;
    font-size: 0.75rem;
    font-weight: 700;
}

/* Custom Size Swatches Buttons */
.mofay-size-swatches-wrap {
    display: flex;
    gap: 10px;
    margin: 10px 0 15px;
}

.mofay-size-swatch-btn {
    border: 2px solid var(--mofay-border);
    background-color: var(--mofay-white);
    color: var(--mofay-secondary);
    padding: 8px 16px;
    border-radius: 8px;
    cursor: pointer;
    font-weight: 700;
    transition: var(--mofay-transition);
}

.mofay-size-swatch-btn:hover {
    border-color: var(--mofay-primary);
    color: var(--mofay-primary);
}

.mofay-size-swatch-btn.active {
    background-color: var(--mofay-primary);
    border-color: var(--mofay-primary);
    color: var(--mofay-white);
}

.mofay-variations-table th {
    display: block;
    text-align: left;
    margin-bottom: 5px;
    font-weight: 700;
    color: var(--mofay-secondary);
}

.mofay-variations-table td {
    display: block;
    padding: 0;
}

/* Custom Add to Cart / Qty row */
.woocommerce-variation-add-to-cart {
    display: flex;
    align-items: center;
    gap: 15px;
    flex-wrap: wrap;
    margin-top: 25px;
}

.quantity {
    display: flex;
    align-items: center;
    border: 2px solid var(--mofay-border);
    border-radius: 50px;
    padding: 4px;
    background-color: var(--mofay-white);
}

.quantity input.qty {
    width: 50px;
    text-align: center;
    border: none;
    font-weight: 700;
    outline: none;
}

.qty-btn {
    border: none;
    background: none;
    width: 32px;
    height: 32px;
    border-radius: 50%;
    cursor: pointer;
    font-weight: 700;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: var(--mofay-transition);
}

.qty-btn:hover {
    background-color: var(--mofay-bg);
}

button.single_add_to_cart_button {
    background: var(--mofay-btn-gradient);
    color: var(--mofay-white);
    border: none;
    padding: 12px 35px;
    border-radius: 50px;
    font-weight: 700;
    cursor: pointer;
    box-shadow: var(--mofay-shadow-sm);
    transition: var(--mofay-transition);
}

button.single_add_to_cart_button:hover {
    filter: brightness(1.08);
}

/* Buy Now & WhatsApp CTAs Single page */
.mofay-single-custom-ctas {
    display: flex;
    gap: 15px;
    align-items: center;
    margin-top: 20px;
    border-bottom: 1px solid var(--mofay-border);
    padding-bottom: 25px;
    margin-bottom: 25px;
}

.btn-whatsapp-order-big {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    background-color: var(--mofay-whatsapp);
    color: var(--mofay-white);
    padding: 12px 30px;
    border-radius: 50px;
    font-weight: 700;
    flex-grow: 1;
    text-align: center;
    box-shadow: 0 4px 15px rgba(37, 211, 102, 0.2);
    transition: var(--mofay-transition);
}

.btn-whatsapp-order-big:hover {
    background-color: #20BA5A;
    color: var(--mofay-white);
    transform: translateY(-2px);
}

/* Single Accordions for info lists */
.mofay-single-product-accordion-item {
    border: 1px solid var(--mofay-border);
    border-radius: var(--mofay-border-radius);
    margin-bottom: 15px;
    overflow: hidden;
}

.accordion-trigger {
    width: 100%;
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 15px 20px;
    background-color: var(--mofay-white);
    border: none;
    cursor: pointer;
    font-weight: 700;
    color: var(--mofay-secondary);
    text-align: left;
    outline: none;
}

.accordion-trigger .accordion-chevron {
    transition: var(--mofay-transition);
}

.accordion-trigger.active .accordion-chevron {
    transform: rotate(180deg);
}

.accordion-trigger .accordion-icon-left {
    margin-right: 10px;
    color: var(--mofay-accent);
    font-size: 1.1rem;
}

.accordion-panel {
    padding: 20px;
    background-color: var(--mofay-white);
    border-top: 1px solid var(--mofay-border);
    display: none;
}

/* Delivery trust badges minified single */
.mofay-single-delivery-trust {
    background-color: var(--mofay-bg);
    border-radius: var(--mofay-border-radius);
    padding: 20px;
    margin-bottom: 15px;
    border: 1px solid var(--mofay-border);
}

.mofay-single-delivery-trust .trust-title {
    font-size: 1rem;
    font-weight: 700;
    margin-bottom: 15px;
}

.minified-grid {
    grid-template-columns: repeat(3, 1fr);
    gap: 12px;
}

.minified-grid .mofay-trust-badge-card {
    padding: 10px;
}

.minified-grid .trust-badge-emoji {
    font-size: 1.5rem;
}

.minified-grid .trust-badge-title {
    font-size: 0.75rem;
    margin: 0;
}

.minified-table {
    font-size: 0.85rem;
}

.size-guide-note-extra {
    font-size: 0.8rem;
    font-style: italic;
    color: var(--mofay-primary);
    margin-top: 10px;
}

.single-product-support-links {
    margin-top: 15px;
    border-top: 1px dashed var(--mofay-border);
    padding-top: 15px;
    font-size: 0.85rem;
    color: var(--mofay-text-muted);
}

.single-product-support-links p {
    margin-bottom: 5px;
}

/* ==========================================================================
   CART & CHECKOUT
   ========================================================================== */
.mofay-cart-grid, .mofay-checkout-grid {
    display: grid;
    grid-template-columns: 1.3fr 0.7fr;
    gap: 40px;
    margin-top: 30px;
}

.mofay-cart-table {
    width: 100%;
    border-collapse: collapse;
    background-color: var(--mofay-white);
    border-radius: var(--mofay-border-radius);
    overflow: hidden;
    box-shadow: var(--mofay-shadow-sm);
    border: 1px solid var(--mofay-border);
}

.mofay-cart-table th, .mofay-cart-table td {
    padding: 15px 20px;
    border-bottom: 1px solid var(--mofay-border);
}

.mofay-cart-table th {
    background-color: var(--mofay-bg);
    color: var(--mofay-secondary);
    font-weight: 700;
    text-align: left;
}

.mofay-cart-table td.product-thumbnail img {
    width: 60px;
    border-radius: 8px;
}

.mofay-coupon-box {
    display: flex;
    gap: 10px;
}

.mofay-coupon-box input {
    border: 2px solid var(--mofay-border);
    border-radius: 50px;
    padding: 8px 20px;
    outline: none;
}

.btn-apply-coupon, .btn-update-cart {
    border-radius: 50px !important;
    padding: 10px 25px !important;
    font-weight: 700;
    cursor: pointer;
}

.btn-apply-coupon {
    background-color: var(--mofay-secondary) !important;
    color: var(--mofay-white) !important;
}

.btn-update-cart {
    background-color: var(--mofay-white) !important;
    border: 2px solid var(--mofay-border) !important;
    color: var(--mofay-secondary) !important;
}

.mofay-cart-actions {
    display: flex;
    justify-content: space-between;
    align-items: center;
}

/* Checkout inputs styling */
.checkout-billing-details-col input, .checkout-billing-details-col select, .checkout-billing-details-col textarea {
    width: 100%;
    border: 2px solid var(--mofay-border);
    border-radius: 8px;
    padding: 10px 15px;
    margin-bottom: 15px;
    outline: none;
    transition: var(--mofay-transition);
}

.checkout-billing-details-col input:focus, .checkout-billing-details-col select:focus {
    border-color: var(--mofay-primary);
}

.mofay-order-review-box {
    background-color: var(--mofay-white);
    padding: 0 !important;
    border-radius: var(--mofay-border-radius);
    box-shadow: var(--mofay-shadow-sm);
    border: 1px solid var(--mofay-border);
    overflow: hidden !important;
}

.checkout-security-assurances {
    background-color: var(--mofay-bg);
    border-radius: var(--mofay-border-radius);
    padding: 20px;
    margin-top: 20px;
    border: 1px solid var(--mofay-border);
    text-align: center;
}

.checkout-payment-methods-logos {
    display: flex;
    justify-content: center;
    gap: 15px;
    font-size: 2rem;
    color: var(--mofay-text-muted);
    margin-top: 10px;
}

/* ==========================================================================
   MOFAY V2.1: SPECIFICITY OVERRIDES TO FIX SQUEEZED LOOP ITEMS & ARCHIVES
   ========================================================================== */

/* Force grid layout on product listings on desktop */
.woocommerce ul.products,
.woocommerce-page ul.products,
ul.products.mofay-catalog-products-loop-grid {
    display: grid !important;
    grid-template-columns: repeat(4, 1fr) !important;
    gap: 30px !important;
    list-style: none !important;
    padding: 0 !important;
    margin: 0 0 30px 0 !important;
}

/* Fix related products section (displays 4 columns by default) */
.woocommerce .related.products ul.products,
.woocommerce-page .related.products ul.products {
    grid-template-columns: repeat(4, 1fr) !important;
}

/* Ensure floated elements or fixed widths from WooCommerce core do not squeeze card items */
.woocommerce ul.products li.product,
.woocommerce-page ul.products li.product,
.woocommerce ul.products[class*="columns-"] li.product,
.woocommerce-page ul.products[class*="columns-"] li.product,
li.product.mofay-product-card-wrap {
    width: 100% !important;
    float: none !important;
    margin: 0 !important;
    padding: 0 !important;
    display: flex !important;
    flex-direction: column !important;
}

/* Clear float pseudos */
.woocommerce ul.products::before,
.woocommerce ul.products::after,
.woocommerce-page ul.products::before,
.woocommerce-page ul.products::after {
    display: none !important;
    content: none !important;
}

/* Shop Layout Grid for desktop */
.mofay-shop-layout-grid {
    display: grid;
    grid-template-columns: 280px 1fr;
    gap: 40px;
    margin-top: 30px;
}

.shop-sidebar-column {
    background-color: var(--mofay-white);
    padding: 25px;
    border-radius: var(--mofay-border-radius);
    border: 1px solid var(--mofay-border);
    height: fit-content;
}

.shop-sidebar-column .widget {
    margin-bottom: 30px;
}

.shop-sidebar-column .widget:last-child {
    margin-bottom: 0;
}

.shop-sidebar-column .widget-title {
    font-size: 1.15rem;
    font-weight: 700;
    margin-bottom: 20px;
    border-bottom: 2px solid var(--mofay-border);
    padding-bottom: 8px;
    position: relative;
}

.shop-sidebar-column .widget-title::after {
    content: '';
    position: absolute;
    bottom: -2px;
    left: 0;
    width: 40px;
    height: 2px;
    background-color: var(--mofay-accent);
}

/* Style sidebar listings (e.g. recent products) */
.shop-sidebar-column ul {
    list-style: none;
    padding: 0;
    margin: 0;
}

.shop-sidebar-column li {
    display: flex;
    gap: 15px;
    margin-bottom: 20px;
    align-items: center;
}

.shop-sidebar-column li:last-child {
    margin-bottom: 0;
}

.shop-sidebar-column li img {
    width: 50px;
    height: 60px;
    object-fit: cover;
    border-radius: 6px;
    border: 1px solid var(--mofay-border);
}

.shop-sidebar-column li .product-title {
    font-weight: 600;
    font-size: 0.9rem;
    display: block;
    line-height: 1.3;
}

.shop-sidebar-column li ins {
    text-decoration: none;
    font-weight: 700;
    color: var(--mofay-primary);
}

.shop-sidebar-column li del {
    color: var(--mofay-text-muted);
    font-size: 0.8rem;
    margin-right: 5px;
}

/* Fix layout for Negative Sale Badge */
.price-deal-tag {
    display: inline-flex !important;
    flex-direction: column;
    align-items: flex-start;
    background-color: #FAF7F2;
    color: var(--mofay-primary);
    padding: 6px 12px;
    border-radius: 12px;
    font-size: 0.72rem;
    font-weight: 700;
    line-height: 1.3;
    border: 1px solid rgba(198, 161, 91, 0.2);
    margin-left: 10px;
}

.price-deal-tag i {
    color: var(--mofay-accent);
    margin-bottom: 3px;
    font-size: 0.8rem;
}

.deal-tag-line1 {
    display: block;
    color: var(--mofay-secondary);
}

.deal-tag-line2 {
    display: block;
    font-size: 0.65rem;
    color: var(--mofay-accent);
    text-transform: uppercase;
    letter-spacing: 0.05em;
}

/* ==========================================================================
   MOFAY V2.2: PREMIUM WOOCOMMERCE LOOP CARDS & SIDEBAR STYLES
   ========================================================================== */

/* Card Actions Row BELOW image outside */
.product-card-actions {
    position: relative !important;
    top: auto !important;
    left: auto !important;
    transform: none !important;
    width: 100% !important;
    display: flex !important;
    flex-direction: row !important;
    justify-content: center !important;
    gap: 12px !important;
    padding: 12px 16px 4px 16px !important;
    background: none !important;
    opacity: 1 !important;
    visibility: visible !important;
    z-index: 10 !important;
    box-sizing: border-box !important;
}

.action-btn {
    width: 40px !important;
    height: 40px !important;
    background: rgba(45, 106, 159, 0.08) !important;
    color: var(--mofay-secondary) !important;
    border-radius: 50% !important;
    border: 1px solid rgba(45, 106, 159, 0.15) !important;
    box-shadow: none !important;
    transition: all 0.3s ease !important;
    font-size: 0.95rem !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
}

.action-btn:hover {
    background-color: var(--mofay-secondary) !important;
    color: var(--mofay-white) !important;
    transform: translateY(-2px) !important;
}

/* YITH Wishlist Text Hiding */
.action-btn.wishlist-btn-wrap {
    padding: 0 !important;
}

.action-btn.wishlist-btn-wrap .yith-wcwl-add-to-wishlist {
    margin: 0 !important;
    width: 100% !important;
    height: 100% !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
}

.action-btn.wishlist-btn-wrap a {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 100% !important;
    height: 100% !important;
}

.action-btn.wishlist-btn-wrap a span,
.action-btn.wishlist-btn-wrap .feedback,
.action-btn.wishlist-btn-wrap .yith-wcwl-wishlistaddedback,
.action-btn.wishlist-btn-wrap .yith-wcwl-wishlistexistsback {
    display: none !important;
}

.action-btn.wishlist-btn-wrap i {
    margin: 0 !important;
}

.mofay-product-image-container::before {
    display: none !important;
}

/* Titles color */
.product-card-title a {
    color: var(--mofay-secondary) !important;
    transition: color 0.3s ease;
}

.product-card-title a:hover {
    color: var(--mofay-accent) !important;
}

/* Badges styling (ABOVE image outside) */
.mofay-product-badges {
    position: relative !important;
    top: auto !important;
    left: auto !important;
    width: 100% !important;
    display: flex !important;
    flex-direction: row !important;
    justify-content: space-between !important;
    align-items: center !important;
    padding: 16px 16px 8px 16px !important;
    box-sizing: border-box !important;
    z-index: 10 !important;
    min-height: 38px;
}

.mofay-product-badges .badges-left {
    display: flex;
    flex-direction: row;
    gap: 6px;
    align-items: center;
}

.mofay-product-badges .badges-right {
    display: flex;
    flex-direction: row;
    gap: 6px;
    align-items: center;
}

.badge {
    padding: 2px 10px !important;
    font-size: 10px !important;
    font-weight: 700 !important;
    letter-spacing: 0.5px !important;
    border-radius: 4px !important;
    box-shadow: none !important;
    text-transform: uppercase !important;
}

.badge-sale {
    background: #e74c3c !important;
    color: var(--mofay-white) !important;
}

.badge-new {
    background: #2d6a9f !important;
    color: var(--mofay-white) !important;
}

.badge-best {
    background: #2d6a9f !important;
    color: var(--mofay-white) !important;
}

.badge-discount {
    background: #f39c12 !important;
    color: var(--mofay-white) !important;
}

/* Sidebar Polishing */
.shop-sidebar-column {
    border: none !important;
    background-color: var(--mofay-white) !important;
    box-shadow: 0 10px 40px rgba(15, 30, 54, 0.04) !important;
    border-radius: 16px !important;
    padding: 30px !important;
}

.shop-sidebar-column .widget-title {
    font-family: var(--mofay-font-headings) !important;
    font-size: 1.1rem !important;
    font-weight: 700 !important;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    border-bottom: 2px solid rgba(15, 30, 54, 0.05) !important;
    padding-bottom: 12px !important;
    margin-bottom: 25px !important;
}

.shop-sidebar-column .widget-title::after {
    height: 2px !important;
    background-color: var(--mofay-accent) !important;
    width: 50px !important;
}

/* Categories List */
.shop-sidebar-column ul {
    display: flex;
    flex-direction: column;
    gap: 12px;
}

.shop-sidebar-column li {
    font-size: 0.92rem !important;
    color: var(--mofay-text) !important;
    transition: all 0.2s ease;
}

.shop-sidebar-column li a {
    color: var(--mofay-text) !important;
    font-weight: 500;
}

.shop-sidebar-column li a:hover {
    color: var(--mofay-accent) !important;
}

/* Price Filter widget */
.widget_price_filter .ui-slider {
    background: rgba(15, 30, 54, 0.08) !important;
    height: 6px !important;
    border-radius: 10px !important;
    border: none !important;
}

.widget_price_filter .ui-slider .ui-slider-range {
    background: var(--mofay-accent) !important;
}

.widget_price_filter .ui-slider .ui-slider-handle {
    background: var(--mofay-secondary) !important;
    border: 2px solid var(--mofay-accent) !important;
    width: 16px !important;
    height: 16px !important;
    top: -5px !important;
    border-radius: 50% !important;
    cursor: pointer !important;
    outline: none !important;
    box-shadow: 0 2px 6px rgba(0, 0, 0, 0.15) !important;
    transition: transform 0.2s ease !important;
}

.widget_price_filter .ui-slider .ui-slider-handle:hover {
    transform: scale(1.2) !important;
}

.widget_price_filter .price_slider_amount .button {
    background-color: var(--mofay-secondary) !important;
    color: var(--mofay-accent) !important;
    border-radius: 30px !important;
    padding: 8px 22px !important;
    font-weight: 700 !important;
    font-size: 0.8rem !important;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    border: 1px solid var(--mofay-secondary) !important;
    transition: all 0.3s ease !important;
}

.widget_price_filter .price_slider_amount .button:hover {
    background-color: var(--mofay-accent) !important;
    color: var(--mofay-secondary) !important;
    border-color: var(--mofay-accent) !important;
}

/* ==========================================================================
   MOFAY V2.2: OVERHAULED SHOP FILTERS & PRODUCT DETAILS LAYOUTS (WOO)
   ========================================================================== */

/* Card Category Badges */
.badge-category-career-costumes {
    color: var(--mofay-secondary) !important;
    background-color: transparent !important;
    padding: 0 !important;
    border-radius: 0 !important;
}

.badge-category-fantasy-superhero-costumes {
    color: var(--mofay-accent) !important;
    background-color: transparent !important;
    padding: 0 !important;
    border-radius: 0 !important;
}

/* Stars Rating */
.mofay-stars-display {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    font-size: 0.95rem;
    font-weight: 500;
}

.mofay-stars-display .stars-gold {
    color: var(--mofay-accent) !important;
    letter-spacing: 2px;
}

.mofay-stars-display .rating-value-count {
    color: #6b7280;
    font-size: 0.85rem;
}

/* Card Price override */
.product-price {
    font-size: 1.15rem !important;
    font-weight: 800 !important;
    color: var(--mofay-price) !important;
}

/* WhatsApp Button Customization */
.btn-whatsapp-order {
    background-color: var(--mofay-whatsapp) !important;
    color: var(--mofay-white) !important;
    font-weight: 700 !important;
    font-size: 0.85rem !important;
    border-radius: 30px !important;
    padding: 10px 20px !important;
    transition: var(--mofay-transition) !important;
    box-shadow: 0 4px 12px rgba(37, 211, 102, 0.2) !important;
}

.btn-whatsapp-order:hover {
    background-color: #20b855 !important;
    transform: translateY(-2px) !important;
    box-shadow: 0 6px 18px rgba(37, 211, 102, 0.3) !important;
}

/* Related Product order button standard size override */
.mofay-related-products-row-section .btn-whatsapp-order {
    padding: 8px 15px !important;
    font-size: 0.8rem !important;
}

/* Single Product custom gallery */
.mofay-custom-product-gallery {
    display: flex;
    flex-direction: column;
    gap: 15px;
    position: relative;
}

.main-image-wrap {
    position: relative;
    border-radius: 16px;
    overflow: hidden;
    background-color: var(--mofay-bg);
    border: 1px solid var(--mofay-border);
    width: 100%;
    aspect-ratio: 1 / 1;
    height: auto;
    display: flex;
    align-items: center;
    justify-content: center;
}

.gallery-zoom-container {
    width: 100%;
    height: 100%;
    overflow: hidden;
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
}

.gallery-zoom-container img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 0.1s ease-out;
}

/* Custom Gallery Tags Row ABOVE image */
.mofay-gallery-tags-row {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
    margin-bottom: 12px;
}

.mofay-gallery-tags-row .single-tag {
    font-size: 10px;
    font-weight: 700;
    padding: 3px 10px;
    border-radius: 4px;
    color: #ffffff;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    display: inline-flex;
    align-items: center;
    gap: 4px;
}

.mofay-gallery-tags-row .tag-sale {
    background-color: #e74c3c;
}

.mofay-gallery-tags-row .tag-new {
    background-color: #2d6a9f;
}

.mofay-gallery-tags-row .tag-discount {
    background-color: #f39c12;
}

.sale-badge-overlay {
    position: absolute;
    top: 15px;
    left: 15px;
    background: linear-gradient(135deg, #e74c3c, #ff6b6b);
    color: var(--mofay-white);
    padding: 6px 16px;
    font-size: 0.75rem;
    font-weight: 800;
    border-radius: 30px;
    z-index: 10;
    box-shadow: 0 4px 10px rgba(231, 76, 60, 0.2);
}

.gallery-nav-arrows {
    position: absolute;
    top: 50%;
    left: 0;
    width: 100%;
    display: flex;
    justify-content: space-between;
    padding: 0 15px;
    transform: translateY(-50%);
    z-index: 10;
    pointer-events: none;
}

.gallery-arrow {
    width: 40px;
    height: 40px;
    border-radius: 50%;
    background-color: rgba(255, 255, 255, 0.85);
    backdrop-filter: blur(4px);
    border: 1px solid var(--mofay-border);
    color: var(--mofay-secondary);
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    pointer-events: auto;
    transition: var(--mofay-transition);
}

.gallery-arrow:hover {
    background-color: var(--mofay-primary);
    color: var(--mofay-white);
    border-color: var(--mofay-primary);
}

.thumbnails-carousel {
    display: flex;
    gap: 12px;
    overflow-x: auto;
    padding-bottom: 5px;
}

.thumbnails-carousel::-webkit-scrollbar {
    height: 4px;
}

.thumbnails-carousel::-webkit-scrollbar-thumb {
    background: rgba(0, 0, 0, 0.15);
    border-radius: 10px;
}

.thumbnail-item {
    width: 70px;
    height: 80px;
    border-radius: 8px;
    overflow: hidden;
    border: 2px solid var(--mofay-border);
    cursor: pointer;
    flex-shrink: 0;
    transition: var(--mofay-transition);
}

.thumbnail-item img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.thumbnail-item:hover, .thumbnail-item.active {
    border-color: var(--mofay-secondary);
    transform: scale(1.05);
}

/* Responsive columns overrides */
@media (min-width: 1200px) {
    ul.products.mofay-catalog-products-loop-grid {
        grid-template-columns: repeat(3, 1fr) !important;
        gap: 30px !important;
    }
}

@media (max-width: 1199px) and (min-width: 992px) {
    ul.products.mofay-catalog-products-loop-grid {
        grid-template-columns: repeat(2, 1fr) !important;
        gap: 20px !important;
    }
}

@media (max-width: 991px) and (min-width: 768px) {
    ul.products.mofay-catalog-products-loop-grid {
        grid-template-columns: repeat(2, 1fr) !important;
        gap: 20px !important;
    }
    
    .mofay-shop-layout-grid {
        grid-template-columns: 1fr !important;
        gap: 30px !important;
    }
}

@media (max-width: 767px) {
    ul.products.mofay-catalog-products-loop-grid {
        grid-template-columns: repeat(2, 1fr) !important;
        gap: 12px 10px !important;
    }
    
    .mofay-shop-layout-grid {
        grid-template-columns: 1fr !important;
        gap: 30px !important;
    }
}

/* ==========================================================================
   MOFAY ADDITIONAL CARD LAYOUT & WISHLIST OVERRIDES
   ========================================================================= */

/* Remove any background from product category badges */
.product-card-category,
span.product-card-category,
.badge-category-career-costumes,
.badge-category-fantasy-superhero-costumes,
[class*="badge-category-"] {
    background-color: transparent !important;
    background: transparent !important;
    padding: 0 !important;
    border-radius: 0 !important;
    border: none !important;
    box-shadow: none !important;
    display: block !important;
    margin-bottom: 8px !important;
}

/* Force action buttons to be displayed below the image and not absolute-hovered */
.product-card-actions {
    position: relative !important;
    top: auto !important;
    bottom: auto !important;
    left: auto !important;
    right: auto !important;
    transform: none !important;
    width: 100% !important;
    display: flex !important;
    flex-direction: row !important;
    justify-content: center !important;
    align-items: center !important;
    gap: 12px !important;
    padding: 12px 16px 8px 16px !important;
    background: transparent !important;
    opacity: 1 !important;
    visibility: visible !important;
    z-index: 10 !important;
    box-sizing: border-box !important;
}

.mofay-product-card:hover .product-card-actions {
    bottom: auto !important;
    transform: none !important;
}

/* Bulletproof style to hide YITH wishlist text and force icon-only display inside the circle */
.action-btn.wishlist-btn-wrap {
    padding: 0 !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 40px !important;
    height: 40px !important;
    border-radius: 50% !important;
    overflow: hidden !important;
}

.action-btn.wishlist-btn-wrap .yith-wcwl-add-to-wishlist,
.action-btn.wishlist-btn-wrap .yith-wcwl-add-button,
.action-btn.wishlist-btn-wrap .yith-wcwl-wishlistaddedback,
.action-btn.wishlist-btn-wrap .yith-wcwl-wishlistexistsback {
    margin: 0 !important;
    padding: 0 !important;
    width: 100% !important;
    height: 100% !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    background: transparent !important;
}

.action-btn.wishlist-btn-wrap a {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 100% !important;
    height: 100% !important;
    font-size: 0 !important; /* Hides raw text node */
    color: transparent !important; /* Secondary text hiding */
    text-decoration: none !important;
    background: transparent !important;
    margin: 0 !important;
    padding: 0 !important;
}

.action-btn.wishlist-btn-wrap a span,
.action-btn.wishlist-btn-wrap a label,
.action-btn.wishlist-btn-wrap .feedback,
.action-btn.wishlist-btn-wrap .ajax-loading,
.action-btn.wishlist-btn-wrap .yith-wcwl-tooltip {
    display: none !important;
    width: 0 !important;
    height: 0 !important;
    opacity: 0 !important;
    visibility: hidden !important;
    font-size: 0 !important;
}

/* Ensure the wishlist icon is perfectly sized and visible */
.action-btn.wishlist-btn-wrap i,
.action-btn.wishlist-btn-wrap .yith-wcwl-icon,
.action-btn.wishlist-btn-wrap .fa,
.action-btn.wishlist-btn-wrap .fas,
.action-btn.wishlist-btn-wrap .far {
    font-size: 16px !important;
    width: auto !important;
    height: auto !important;
    line-height: 1 !important;
    display: inline-block !important;
    margin: 0 !important;
    padding: 0 !important;
    opacity: 1 !important;
    visibility: visible !important;
    color: var(--mofay-secondary) !important;
}

/* Hover effects for action buttons including wishlist */
.action-btn:hover {
    background-color: var(--mofay-secondary) !important;
    color: var(--mofay-white) !important;
    border-color: var(--mofay-secondary) !important;
}

.action-btn.wishlist-btn-wrap:hover a i,
.action-btn.wishlist-btn-wrap:hover .yith-wcwl-icon,
.action-btn.wishlist-btn-wrap:hover .fa,
.action-btn.wishlist-btn-wrap:hover .fas,
.action-btn.wishlist-btn-wrap:hover .far {
    color: var(--mofay-white) !important;
}

/* Clean main product image hover zoom (no overlays, dimming) */
.mofay-product-image-container::before {
    display: none !important;
    content: none !important;
}

.mofay-product-image-container {
    background: #f8fafc !important; /* light grey/white background */
    border-radius: 12px !important;
}

/* ============================================================
   MOFAY – SINGLE PRODUCT PAGE STYLES V3.0
   ============================================================ */

.mofay-single-product-wrapper {
    max-width: 1280px !important;
    margin: 0 auto !important;
    padding: 10px 20px 40px !important;
    background: var(--mofay-bg) !important;
    box-sizing: border-box !important;
}

.single-product .mofay-breadcrumbs {
    margin-bottom: 5px !important;
}

.mofay-product-layout {
    display: grid !important;
    grid-template-columns: 454px 1fr !important;
    gap: 40px !important;
    background: var(--mofay-white) !important;
    padding: 24px 30px !important;
    border-radius: var(--mofay-border-radius-lg) !important;
    box-shadow: var(--mofay-shadow-sm) !important;
    margin-bottom: 30px !important;
    box-sizing: border-box !important;
}

.mofay-gallery-column {
    display: flex !important;
    flex-direction: column !important;
    gap: 12px !important;
    width: 100% !important;
}

/* Tags above image - never overlap image */
.mofay-tags-row {
    display: flex !important;
    gap: 6px !important;
    flex-wrap: wrap !important;
    margin-bottom: 4px !important;
}

.mofay-tags-row .tag-badge {
    font-size: 11px !important;
    font-weight: 700 !important;
    padding: 4px 12px !important;
    border-radius: 4px !important;
    color: #ffffff !important;
    text-transform: uppercase !important;
    letter-spacing: 0.5px !important;
    display: inline-block !important;
}

.mofay-tags-row .tag-sale {
    background: #e74c3c !important;
}

.mofay-tags-row .tag-new {
    background: #2d6a9f !important;
}

.mofay-tags-row .tag-discount {
    background: #f39c12 !important;
}

/* Main image wrap - 3:4 aspect ratio */
.mofay-main-image-wrap {
    position: relative !important;
    border-radius: var(--mofay-border-radius) !important;
    overflow: hidden !important;
    background: #f8fafc !important;
    border: 1px solid var(--mofay-border) !important;
    width: 100% !important;
}

.mofay-main-image-wrap .image-container {
    aspect-ratio: 3 / 4 !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    overflow: hidden !important;
    width: 100% !important;
}

.mofay-product-image {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
    transition: transform 0.3s ease !important;
}

.mofay-product-image:hover {
    transform: scale(1.02) !important;
}

.mofay-gallery-nav {
    position: absolute !important;
    top: 50% !important;
    left: 0 !important;
    width: 100% !important;
    display: flex !important;
    justify-content: space-between !important;
    padding: 0 12px !important;
    transform: translateY(-50%) !important;
    pointer-events: none !important;
}

.mofay-gallery-nav .gallery-arrow {
    width: 38px !important;
    height: 38px !important;
    border-radius: 50% !important;
    background: rgba(255,255,255,0.9) !important;
    backdrop-filter: blur(4px) !important;
    border: 1px solid var(--mofay-border) !important;
    color: var(--mofay-secondary) !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    cursor: pointer !important;
    pointer-events: auto !important;
    transition: all 0.3s ease !important;
}

.mofay-gallery-nav .gallery-arrow:hover {
    background: var(--mofay-primary) !important;
    color: #fff !important;
    border-color: var(--mofay-primary) !important;
}

/* Thumbnails */
.mofay-thumbnail-strip {
    display: flex !important;
    gap: 10px !important;
    overflow-x: auto !important;
    padding: 4px 0 !important;
}

.mofay-thumbnail-strip .thumb-item {
    width: 65px !important;
    height: 87px !important; /* 3:4 aspect ratio */
    border-radius: 8px !important;
    overflow: hidden !important;
    border: 2px solid var(--mofay-border) !important;
    cursor: pointer !important;
    flex-shrink: 0 !important;
    transition: all 0.3s ease !important;
}

.mofay-thumbnail-strip .thumb-item img {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
}

.mofay-thumbnail-strip .thumb-item:hover,
.mofay-thumbnail-strip .thumb-item.active {
    border-color: var(--mofay-secondary) !important;
    transform: scale(1.05) !important;
}

/* Info column */
.mofay-info-column {
    display: flex !important;
    flex-direction: column !important;
    gap: 6px !important;
    align-items: stretch !important;
    width: 100% !important;
}

.mofay-category-badge {
    font-size: 11px !important;
    font-weight: 700 !important;
    letter-spacing: 0.5px !important;
    text-transform: uppercase !important;
    color: var(--mofay-secondary) !important;
    background: none !important;
    padding: 0 !important;
    border-radius: 0 !important;
    display: inline-block !important;
    width: fit-content !important;
    border: none !important;
}

/* Category badge link overrides */
.mofay-category-badge-link,
.product-card-category-link {
    text-decoration: none !important;
    display: inline-block !important;
    transition: all 0.2s ease !important;
}
.mofay-category-badge-link:hover .mofay-category-badge,
.product-card-category-link:hover .product-card-category {
    color: var(--mofay-accent, #3b82f6) !important;
}

.mofay-product-title {
    font-family: var(--mofay-font-headings) !important;
    font-size: 28px !important;
    font-weight: 700 !important;
    color: var(--mofay-secondary) !important;
    line-height: 1.3 !important;
    margin: 0 !important;
}

.mofay-rating {
    display: flex !important;
    align-items: center !important;
    gap: 8px !important;
    font-size: 14px !important;
}

.mofay-rating .stars {
    color: var(--mofay-accent) !important;
    letter-spacing: 1px !important;
}

.mofay-rating .rating-text {
    color: var(--mofay-text-muted) !important;
}

/* Price Box */
.mofay-price-box {
    margin: 2px 0 !important;
}

.mofay-price-box .price-row {
    display: flex !important;
    align-items: center !important;
    gap: 8px !important;
    flex-wrap: wrap !important;
    line-height: 1.1 !important;
}

.mofay-price-box .price-amount {
    font-size: 32px !important;
    font-weight: 800 !important;
    color: var(--mofay-price) !important;
    display: inline-block !important;
    line-height: 1.1 !important;
}

.mofay-price-box .price-regular {
    font-size: 16px !important;
    color: var(--mofay-text-muted) !important;
}

.mofay-price-box .price-regular del {
    text-decoration: line-through !important;
    color: #999 !important;
}

.mofay-price-box .price-discount-badge {
    background: var(--mofay-accent) !important;
    color: #fff !important;
    font-size: 12px !important;
    font-weight: 700 !important;
    padding: 2px 10px !important;
    border-radius: 4px !important;
}

.mofay-price-box .price-sub {
    font-size: 12px !important;
    color: var(--mofay-text-muted) !important;
    display: inline-block !important;
    margin-right: 12px !important;
}

.mofay-price-box .price-sub.italic {
    font-style: italic !important;
}

.mofay-product-short-description {
    font-size: 14.5px !important;
    line-height: 1.55 !important;
    color: #4b5563 !important;
    margin: 2px 0 6px 0 !important;
}

/* Promo Row */
.mofay-promo-row {
    display: flex !important;
    align-items: center !important;
    gap: 12px !important;
    flex-wrap: wrap !important;
    margin: 0 !important;
}

.mofay-promo-row .promo-badge {
    background: #e74c3c !important;
    color: #fff !important;
    padding: 4px 14px !important;
    border-radius: 50px !important;
    font-size: 12px !important;
    font-weight: 700 !important;
    display: inline-flex !important;
    align-items: center !important;
    gap: 6px !important;
    animation: pulse 2s infinite !important;
}

.mofay-promo-row .stock-badge {
    font-size: 13px !important;
    font-weight: 700 !important;
    color: #27ae60 !important;
}

.mofay-promo-row .ship-text {
    font-size: 13px !important;
    color: var(--mofay-text-muted) !important;
}

.mofay-divider {
    border: 0 !important;
    border-top: 1px solid var(--mofay-border) !important;
    margin: 4px 0 !important;
    width: 100% !important;
}

/* Size section */
.mofay-size-section {
    margin: 0 !important;
}

.mofay-size-section .size-header {
    display: flex !important;
    justify-content: space-between !important;
    align-items: center !important;
    margin-bottom: 12px !important;
    font-size: 14px !important;
    font-weight: 700 !important;
}

.mofay-size-section .size-guide-link {
    color: var(--mofay-secondary) !important;
    text-decoration: underline !important;
    font-weight: 600 !important;
    cursor: pointer !important;
    font-size: 13px !important;
}

.mofay-size-section .size-guide-link:hover {
    color: var(--mofay-accent) !important;
}

.mofay-size-section .size-buttons {
    display: flex !important;
    gap: 12px !important;
    flex-wrap: wrap !important;
    align-items: center !important;
}

.mofay-size-section .size-btn {
    width: 48px !important;
    height: 48px !important;
    min-width: 48px !important;
    max-width: 48px !important;
    border-radius: 50% !important;
    padding: 0 !important;
    background: var(--mofay-white) !important;
    border: 2px solid var(--mofay-border) !important;
    font-weight: 700 !important;
    color: var(--mofay-primary) !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    cursor: pointer !important;
    transition: all 0.3s ease !important;
    font-family: var(--mofay-font-headings) !important;
}

.mofay-size-section .size-btn:hover:not(.active) {
    border-color: var(--mofay-primary) !important;
    background: rgba(26, 58, 92, 0.05) !important;
}

.mofay-size-section .size-btn.active {
    border-color: var(--mofay-primary) !important;
    background: var(--mofay-primary) !important;
    color: var(--mofay-white) !important;
    box-shadow: 0 4px 12px rgba(26, 58, 92, 0.2) !important;
}

.mofay-size-section .size-name {
    font-size: 16px !important;
    line-height: 1 !important;
}

/* Quantity & CTA */
.mofay-cta-section {
    display: flex !important;
    align-items: center !important;
    gap: 12px !important;
    flex-wrap: wrap !important;
    margin-top: 0 !important;
}

.mofay-cta-section .quantity-picker {
    display: flex !important;
    align-items: center !important;
    border: 2px solid var(--mofay-border) !important;
    border-radius: 50px !important;
    padding: 3px !important;
    background: var(--mofay-white) !important;
}

.mofay-cta-section .qty-btn {
    width: 36px !important;
    height: 36px !important;
    border-radius: 50% !important;
    background: none !important;
    font-size: 16px !important;
    font-weight: 700 !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    cursor: pointer !important;
    border: none !important;
    transition: all 0.2s ease !important;
    color: var(--mofay-secondary) !important;
}

.mofay-cta-section .qty-btn:hover {
    background: rgba(0,0,0,0.05) !important;
}

.mofay-cta-section .qty-input {
    width: 40px !important;
    text-align: center !important;
    font-weight: 700 !important;
    font-size: 16px !important;
    border: none !important;
    outline: none !important;
    background: none !important;
    color: var(--mofay-secondary) !important;
}

/* Buy Now Button */
.btn-buy-now {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 8px !important;
    background: var(--mofay-primary) !important;
    color: #ffffff !important;
    padding: 12px 24px !important;
    border-radius: 8px !important;
    font-weight: 700 !important;
    font-size: 15px !important;
    transition: all 0.3s ease !important;
    text-decoration: none !important;
    flex: 1 !important;
    min-width: 120px !important;
    border: none !important;
    cursor: pointer !important;
}

.btn-buy-now:hover {
    background: #0f2a44 !important;
    transform: translateY(-2px) !important;
    box-shadow: 0 4px 15px rgba(26, 58, 92, 0.3) !important;
    color: #fff !important;
}

/* Add to Cart Button */
.btn-add-to-cart {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 8px !important;
    background: var(--mofay-accent) !important;
    color: #ffffff !important;
    padding: 12px 24px !important;
    border-radius: 8px !important;
    font-weight: 700 !important;
    font-size: 15px !important;
    transition: all 0.3s ease !important;
    text-decoration: none !important;
    flex: 1 !important;
    min-width: 120px !important;
    border: none !important;
    cursor: pointer !important;
}

.btn-add-to-cart:hover {
    background: #d68910 !important;
    transform: translateY(-2px) !important;
    box-shadow: 0 4px 15px rgba(243, 156, 18, 0.3) !important;
    color: #fff !important;
}

/* Order on WhatsApp Button */
.btn-whatsapp-small {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 8px !important;
    background: var(--mofay-whatsapp) !important;
    color: #ffffff !important;
    border-radius: 8px !important;
    font-weight: 700 !important;
    font-size: 15px !important;
    box-shadow: 0 4px 15px rgba(37, 211, 102, 0.15) !important;
    transition: all 0.3s ease !important;
    text-decoration: none !important;
    box-sizing: border-box !important;
    cursor: pointer !important;
}

.btn-whatsapp-small:hover {
    background: #20ba5a !important;
    transform: translateY(-2px) !important;
    box-shadow: 0 6px 20px rgba(37, 211, 102, 0.25) !important;
    color: #fff !important;
}

/* PC/Desktop Layout adjustments for CTA row */
@media (min-width: 769px) {
    .mofay-cta-section .btn-whatsapp-small {
        flex: 0 0 48px !important;
        width: 48px !important;
        height: 48px !important;
        min-width: 48px !important;
        padding: 0 !important;
        border-radius: 8px !important;
        display: inline-flex !important;
        align-items: center !important;
        justify-content: center !important;
    }
    .mofay-cta-section .btn-whatsapp-small .wa-text {
        display: none !important;
    }
    .mofay-cta-section .btn-whatsapp-small i {
        font-size: 22px !important;
        margin: 0 !important;
    }
}

/* Description Section */
.mofay-description-section {
    background: var(--mofay-white) !important;
    border: 1px solid var(--mofay-border) !important;
    border-radius: var(--mofay-border-radius) !important;
    padding: 30px !important;
    margin-bottom: 40px !important;
    box-shadow: var(--mofay-shadow-sm) !important;
}

/* Benefits Section */
.mofay-benefits-section {
    margin-top: 8px !important;
    margin-bottom: 20px !important;
}

.mofay-benefits-section .section-title {
    font-size: 20px !important;
    font-weight: 700 !important;
    color: var(--mofay-secondary) !important;
    margin-bottom: 12px !important;
}

.benefits-grid {
    display: grid !important;
    grid-template-columns: repeat(2, 1fr) !important;
    gap: 16px !important;
}

.benefit-card {
    background: var(--mofay-white) !important;
    border: 1px solid var(--mofay-border) !important;
    border-radius: var(--mofay-border-radius-sm) !important;
    padding: 16px !important;
    display: flex !important;
    align-items: flex-start !important;
    gap: 12px !important;
    text-align: left !important;
    box-shadow: var(--mofay-shadow-sm) !important;
    transition: all 0.3s ease !important;
}

.benefit-card:hover {
    transform: translateY(-3px) !important;
    box-shadow: var(--mofay-shadow) !important;
}

.benefit-card .icon {
    font-size: 24px !important;
    margin-bottom: 0 !important;
    display: inline-block !important;
    line-height: 1 !important;
    flex-shrink: 0 !important;
}

.benefit-card .card-txt-wrap {
    display: flex !important;
    flex-direction: column !important;
    gap: 4px !important;
}

.benefit-card h4 {
    font-size: 14px !important;
    font-weight: 700 !important;
    color: var(--mofay-secondary) !important;
    margin: 0 !important;
    line-height: 1.2 !important;
}

.benefit-card p {
    font-size: 11px !important;
    color: var(--mofay-text-muted) !important;
    margin: 0 !important;
    line-height: 1.3 !important;
}

/* ============================================================
   TABS SECTION
   ============================================================ */
.mofay-tabs-section {
    background: var(--mofay-white) !important;
    border: 1px solid var(--mofay-border) !important;
    border-radius: var(--mofay-border-radius-lg) !important;
    overflow: hidden !important;
    margin-bottom: 25px !important;
    box-shadow: var(--mofay-shadow-sm) !important;
}

.tabs-nav {
    display: flex !important;
    list-style: none !important;
    border-bottom: 1px solid var(--mofay-border) !important;
    background: #fafbfc !important;
    overflow-x: auto !important;
    margin: 0 !important;
    padding: 0 !important;
}

.tab-nav-item {
    margin: 0 !important;
}

.tab-nav-item a {
    display: block !important;
    padding: 14px 24px !important;
    font-size: 14px !important;
    font-weight: 600 !important;
    color: var(--mofay-text-muted) !important;
    text-decoration: none !important;
    transition: all 0.3s ease !important;
    border-bottom: 3px solid transparent !important;
    white-space: nowrap !important;
}

.tab-nav-item a:hover {
    color: var(--mofay-primary) !important;
    background: rgba(26, 58, 92, 0.04) !important;
}

.tab-nav-item.active a {
    color: var(--mofay-primary) !important;
    border-bottom-color: var(--mofay-secondary) !important;
    background: transparent !important;
}

.tabs-content {
    padding: 24px 30px !important;
}

.tab-panel {
    display: none !important;
}

.tab-panel.active {
    display: block !important;
}

.tab-inner {
    font-size: 15px !important;
    line-height: 1.8 !important;
    color: #444 !important;
}

.tab-inner ul {
    list-style: none !important;
    padding: 0 !important;
}

.tab-inner ul li {
    padding: 6px 0 !important;
    display: flex !important;
    align-items: flex-start !important;
    gap: 10px !important;
}

.tab-inner ul li i {
    color: var(--mofay-secondary) !important;
    margin-top: 4px !important;
    flex-shrink: 0 !important;
}

.features-list li i {
    color: #27ae60 !important;
}

.delivery-list li i {
    color: var(--mofay-secondary) !important;
}

/* Trust Section */
.mofay-trust-section {
    background: var(--mofay-white) !important;
    border: 1px solid var(--mofay-border) !important;
    border-radius: var(--mofay-border-radius) !important;
    padding: 20px 24px !important;
    margin-bottom: 25px !important;
    box-shadow: var(--mofay-shadow-sm) !important;
}

.trust-badges-row {
    display: grid !important;
    grid-template-columns: repeat(6, 1fr) !important;
    gap: 12px !important;
}

.trust-item {
    text-align: center !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    gap: 4px !important;
}

.trust-item i {
    font-size: 22px !important;
    color: #27ae60 !important;
    margin-bottom: 5px !important;
}

.trust-item span {
    font-size: 11px !important;
    font-weight: 600 !important;
    color: var(--mofay-secondary) !important;
}

/* Links section */
.mofay-links-section {
    background: var(--mofay-white) !important;
    border: 1px solid var(--mofay-border) !important;
    border-radius: var(--mofay-border-radius) !important;
    padding: 20px 24px !important;
    margin-bottom: 25px !important;
    box-shadow: var(--mofay-shadow-sm) !important;
}

.link-line {
    font-size: 14px !important;
    padding: 4px 0 !important;
    display: flex !important;
    align-items: center !important;
    gap: 10px !important;
}

.styled-link {
    font-weight: 600 !important;
    color: var(--mofay-secondary) !important;
    border-bottom: 1px dashed rgba(45,106,159,0.3) !important;
}

.styled-link:hover {
    color: var(--mofay-primary) !important;
    text-decoration: underline !important;
    border-bottom-color: var(--mofay-primary) !important;
}

/* Related section */
.mofay-related-section {
    margin-bottom: 50px !important;
}

.mofay-related-section .section-title {
    font-size: 22px !important;
    font-weight: 700 !important;
    color: var(--mofay-secondary) !important;
    margin-bottom: 25px !important;
}

.related-grid {
    display: grid !important;
    grid-template-columns: repeat(4, 1fr) !important;
    gap: 24px !important;
}

.related-grid .product-card {
    background: var(--mofay-white) !important;
    border: 1px solid var(--mofay-border) !important;
    border-radius: var(--mofay-border-radius) !important;
    overflow: hidden !important;
    padding-bottom: 16px !important;
    transition: all 0.3s ease !important;
    box-shadow: var(--mofay-shadow-sm) !important;
    display: flex !important;
    flex-direction: column !important;
}

.related-grid .product-card:hover {
    transform: translateY(-4px) !important;
    box-shadow: var(--mofay-shadow) !important;
}

.card-tags-row {
    display: flex !important;
    gap: 4px !important;
    padding: 8px 12px 4px 12px !important;
    flex-wrap: wrap !important;
}

.card-tag {
    font-size: 10px !important;
    font-weight: 700 !important;
    padding: 2px 10px !important;
    border-radius: 4px !important;
    color: #fff !important;
    text-transform: uppercase !important;
}

.card-tag.tag-sale { background: #e74c3c !important; }
.card-tag.tag-new { background: #2d6a9f !important; }

.card-image {
    aspect-ratio: 1 / 1 !important;
    overflow: hidden !important;
    background: #f8fafc !important;
    padding: 0 12px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
}

.card-image img {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
    transition: transform 0.3s ease !important;
}

.card-image:hover img {
    transform: scale(1.03) !important;
}

.card-content {
    padding: 8px 12px 0 !important;
    display: flex !important;
    flex-direction: column !important;
    flex-grow: 1 !important;
}

.card-category {
    font-size: 10px !important;
    font-weight: 700 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.5px !important;
    color: var(--mofay-secondary) !important;
    display: block !important;
    background: none !important;
    padding: 0 !important;
    border: none !important;
    margin-bottom: 5px !important;
}

.card-title {
    font-size: 14px !important;
    font-weight: 700 !important;
    margin: 4px 0 !important;
    height: 38px !important;
    overflow: hidden !important;
}

.card-title a {
    color: var(--mofay-secondary) !important;
}

.card-title a:hover {
    color: var(--mofay-accent) !important;
}

.card-rating {
    font-size: 12px !important;
    display: flex !important;
    align-items: center !important;
    gap: 4px !important;
    color: var(--mofay-text-muted) !important;
    margin-bottom: 8px !important;
}

.card-rating .star {
    color: var(--mofay-accent) !important;
}

.card-price {
    font-size: 15px !important;
    font-weight: 700 !important;
    color: var(--mofay-price) !important;
    margin: 4px 0 8px !important;
    margin-top: auto !important;
}

.btn-whatsapp-small {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 8px !important;
    background: var(--mofay-whatsapp) !important;
    color: #ffffff !important;
    padding: 8px 12px !important;
    border-radius: 8px !important;
    font-size: 12px !important;
    font-weight: 700 !important;
    transition: all 0.3s ease !important;
    text-decoration: none !important;
    width: 100% !important;
}

.btn-whatsapp-small:hover {
    background: #20ba5a !important;
    color: #fff !important;
}

/* Mobile Sticky bottom bar */
.mofay-sticky-cta {
    position: fixed !important;
    bottom: 0 !important;
    left: 0 !important;
    width: 100% !important;
    background: var(--mofay-white) !important;
    border-top: 2px solid var(--mofay-border) !important;
    padding: 10px 16px !important;
    box-shadow: 0 -4px 20px rgba(0,0,0,0.08) !important;
    z-index: 999 !important;
    display: none; /* Controlled by scroll JS */
    box-sizing: border-box !important;
}

.sticky-inner {
    display: flex !important;
    justify-content: space-between !important;
    align-items: center !important;
    max-width: 1280px !important;
    margin: 0 auto !important;
    gap: 16px !important;
}

.sticky-info {
    display: flex !important;
    flex-direction: column !important;
    flex: 1 !important;
    min-width: 0 !important;
    overflow: hidden !important;
}

.sticky-title {
    font-size: 13px !important;
    font-weight: 700 !important;
    color: var(--mofay-secondary) !important;
    white-space: nowrap !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    width: 100% !important;
}

.sticky-price {
    font-size: 15px !important;
    font-weight: 800 !important;
    color: var(--mofay-price) !important;
}

.sticky-whatsapp {
    display: flex !important;
    align-items: center !important;
    gap: 8px !important;
    background: var(--mofay-whatsapp) !important;
    color: #fff !important;
    padding: 10px 20px !important;
    border-radius: 8px !important;
    font-weight: 700 !important;
    font-size: 14px !important;
    text-decoration: none !important;
    transition: all 0.3s ease !important;
}

.sticky-whatsapp:hover {
    background: #20ba5a !important;
    color: #fff !important;
}

/* Size Modal */
.mofay-modal {
    display: none;
    position: fixed !important;
    top: 0 !important;
    left: 0 !important;
    width: 100% !important;
    height: 100% !important;
    background: rgba(0,0,0,0.5) !important;
    backdrop-filter: blur(4px) !important;
    z-index: 1000 !important;
    align-items: center !important;
    justify-content: center !important;
}

.mofay-modal.active {
    display: flex !important;
}

.mofay-modal .modal-content {
    background: var(--mofay-white) !important;
    border-radius: var(--mofay-border-radius-lg) !important;
    padding: 30px !important;
    max-width: 600px !important;
    width: 90% !important;
    max-height: 90vh !important;
    overflow-y: auto !important;
    position: relative !important;
    box-sizing: border-box !important;
}

.mofay-modal .modal-close {
    position: absolute !important;
    top: 12px !important;
    right: 16px !important;
    font-size: 28px !important;
    background: none !important;
    border: none !important;
    cursor: pointer !important;
    color: var(--mofay-text-muted) !important;
    transition: all 0.3s ease !important;
}

.mofay-modal .modal-close:hover {
    color: var(--mofay-secondary) !important;
}

.mofay-modal .modal-content h3 {
    font-family: var(--mofay-font-headings) !important;
    font-size: 20px !important;
    font-weight: 800 !important;
    color: var(--mofay-secondary) !important;
    margin-bottom: 15px !important;
}

.size-chart-wrapper {
    overflow-x: auto !important;
    -webkit-overflow-scrolling: touch !important;
    width: 100% !important;
}

.mofay-modal .size-chart {
    width: 100% !important;
    border-collapse: collapse !important;
    margin-top: 10px !important;
}

.mofay-modal .size-chart th,
.mofay-modal .size-chart td {
    padding: 10px 12px !important;
    text-align: center !important;
    border-bottom: 1px solid var(--mofay-border) !important;
}

.mofay-modal .size-chart th {
    background: #f8fafc !important;
    color: var(--mofay-secondary) !important;
    font-weight: 700 !important;
    font-size: 13px !important;
}

.mofay-modal .size-chart td {
    font-size: 13px !important;
}

/* ============================================================
   RESPONSIVE BREAKPOINTS
   ============================================================ */

/* Tablet (1024px and below) */
@media (max-width: 1024px) {
    .mofay-single-product-wrapper {
        padding: 10px 15px 30px !important;
        box-sizing: border-box !important;
    }

    .mofay-product-layout {
        grid-template-columns: 1fr 1fr !important; /* Keep 2-column on tablet */
        gap: 24px !important;
        padding: 20px !important;
        box-sizing: border-box !important;
    }
    
    .related-grid {
        grid-template-columns: repeat(2, 1fr) !important;
    }
    
    .trust-badges-row {
        grid-template-columns: repeat(3, 1fr) !important;
    }
    
    .benefits-grid {
        grid-template-columns: repeat(2, 1fr) !important;
    }
}

/* Mobile (768px and below) */
@media (max-width: 768px) {
    .mofay-single-product-wrapper {
        padding: 10px 10px 30px !important;
        box-sizing: border-box !important;
    }

    .mofay-product-layout {
        grid-template-columns: 1fr !important; /* Collapse to 1 column on mobile */
        padding: 16px !important;
        gap: 20px !important;
        box-sizing: border-box !important;
    }
    
    .mofay-product-title {
        font-size: 20px !important;
    }
    
    .mofay-price-box .price-amount {
        font-size: 26px !important;
    }
    
    .mofay-size-section .size-buttons {
        gap: 8px !important;
        flex-wrap: wrap !important;
    }
    
    .mofay-size-section .size-btn {
        min-width: 48px !important;
        width: 48px !important;
        height: 48px !important;
        padding: 0 !important;
    }
    
    .benefits-grid {
        grid-template-columns: 1fr !important;
    }
    
    .trust-badges-row {
        display: flex !important;
        overflow-x: auto !important;
        gap: 16px !important;
        padding: 4px 0 !important;
        scroll-snap-type: x mandatory !important;
        -webkit-overflow-scrolling: touch !important;
        box-sizing: border-box !important;
    }
    
    .trust-item {
        flex: 0 0 110px !important;
        scroll-snap-align: start !important;
    }
    
    .related-grid {
        grid-template-columns: 1fr 1fr !important;
        gap: 16px !important;
    }
    
    .mofay-cta-section {
        flex-direction: row !important;
        align-items: center !important;
        justify-content: space-between !important;
        flex-wrap: wrap !important;
        gap: 12px !important;
        box-sizing: border-box !important;
        width: 100% !important;
    }
    
    .mofay-cta-section .quantity-picker {
        flex: 0 0 100% !important;
        margin: 0 auto 4px auto !important;
        align-self: center !important;
        width: fit-content !important;
        display: flex !important;
        justify-content: center !important;
    }
    
    .btn-buy-now,
    .btn-add-to-cart {
        flex: 1 1 calc(50% - 6px) !important;
        width: auto !important;
        min-width: 0 !important;
    }
    
    .mofay-whatsapp-section {
        justify-content: center !important;
        box-sizing: border-box !important;
    }
    
    /* Show sticky CTA on mobile only */
    .mofay-sticky-cta {
        display: block !important;
        box-sizing: border-box !important;
    }

    /* Mobile Loop Card Styles overrides */
    .mofay-product-card {
        padding: 8px !important;
    }
    .product-card-category {
        font-size: 11px !important;
        margin-bottom: 3px !important;
    }
    .mofay-card-badges-inline {
        margin: 4px 0 6px 0 !important;
        gap: 6px !important;
    }
    .badge-inline {
        font-size: 10px !important;
        padding: 3px 8px !important;
    }
    .product-card-title {
        font-size: 15px !important;
        line-height: 1.35 !important;
        margin: 0 0 5px 0 !important;
        min-height: 40px !important;
    }
    .product-rating {
        margin-bottom: 5px !important;
    }
    .mofay-stars-display {
        font-size: 13px !important;
        gap: 5px !important;
    }
    .product-price {
        font-size: 19px !important;
        margin-bottom: 8px !important;
        gap: 3px !important;
    }
    .card-btn-buy, .card-btn-add {
        padding: 9px 10px !important;
        font-size: 12px !important;
        border-radius: 8px !important;
    }
    .btn-whatsapp-order-card {
        padding: 9px 10px !important;
        font-size: 13px !important;
        border-radius: 8px !important;
    }
}

/* Small Mobile (480px and below) */
@media (max-width: 480px) {
    .mofay-single-product-wrapper {
        padding: 10px 8px 30px !important;
    }
    
    .mofay-product-layout {
        padding: 12px !important;
        gap: 16px !important;
    }
    
    .mofay-product-title {
        font-size: 18px !important;
    }
    
    .mofay-price-box .price-amount {
        font-size: 24px !important;
    }
    
    .related-grid {
        grid-template-columns: 1fr !important;
    }
    
    .mofay-thumbnail-strip .thumb-item {
        width: 50px !important;
        height: 67px !important; /* 3:4 aspect ratio */
    }
    
    .mofay-gallery-nav .gallery-arrow {
        width: 32px !important;
        height: 32px !important;
    }
    
    .sticky-title {
        font-size: 12px !important;
    }
    
    .sticky-price {
        font-size: 14px !important;
    }
    
    .sticky-whatsapp {
        padding: 8px 14px !important;
        font-size: 13px !important;
    }
}

/* ============================================================
   MOFAY – PREMIUM PRODUCT CARD STYLES V4.0
   ============================================================ */
.mofay-product-card {
    background: var(--mofay-white) !important;
    border: none !important;
    border-radius: 16px !important;
    padding: 8px !important;
    box-shadow: 0 4px 15px rgba(15, 30, 54, 0.04) !important;
    transition: all 0.3s ease !important;
    display: flex !important;
    flex-direction: column !important;
    height: 100% !important;
    box-sizing: border-box !important;
    position: relative !important;
}
.mofay-product-card:hover {
    transform: translateY(-8px) !important;
    box-shadow: 0 12px 30px rgba(255, 107, 107, 0.15) !important;
    border: none !important;
}
.mofay-product-image-container {
    position: relative !important;
    overflow: hidden !important;
    border-radius: 12px !important;
    aspect-ratio: 3 / 4 !important;
    background: linear-gradient(135deg, #e0f2fe 0%, #ffffff 100%) !important; /* Soft blue-to-white gradient */
    width: 100% !important;
    margin-bottom: 5px !important;
}

.mofay-product-image-container img {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
    transition: transform 0.4s ease !important;
}

.mofay-product-card:hover .mofay-product-image-container img {
    transform: scale(1.03) !important;
}

/* Wishlist Badge absolute overlay - Reset backgrounds, borders and force outline heart */
.card-wishlist-badge,
.card-wishlist-badge *,
.card-wishlist-badge div,
.card-wishlist-badge span,
.card-wishlist-badge a {
    background: transparent !important;
    background-color: transparent !important;
    border: none !important;
    box-shadow: none !important;
    outline: none !important;
}

.card-wishlist-badge {
    position: absolute !important;
    top: 15px !important;
    right: 15px !important;
    z-index: 10 !important;
    width: 32px !important;
    height: 32px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
}

.card-wishlist-badge .yith-wcwl-add-to-wishlist,
.card-wishlist-badge .yith-wcwl-add-button,
.card-wishlist-badge .yith-wcwl-wishlistaddedback,
.card-wishlist-badge .yith-wcwl-wishlistexistsback {
    width: 100% !important;
    height: 100% !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    margin: 0 !important;
    padding: 0 !important;
}

.card-wishlist-badge .yith-wcwl-add-button a, 
.card-wishlist-badge .yith-wcwl-wishlistaddedback a, 
.card-wishlist-badge .yith-wcwl-wishlistexistsback a {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 100% !important;
    height: 100% !important;
    font-size: 0 !important; /* Hide YITH texts */
    color: transparent !important;
    text-decoration: none !important;
    margin: 0 !important;
    padding: 0 !important;
}

/* Outline Heart state (Default when not in wishlist) - Injecting glyph via pseudo element for bulletproof rendering */
.card-wishlist-badge .yith-wcwl-add-button a i, 
.card-wishlist-badge .yith-wcwl-add-button a .yith-wcwl-icon {
    font-size: 22px !important;
    color: transparent !important; 
    display: inline-block !important;
    transition: all 0.2s ease !important;
    text-shadow: none !important;
}
.card-wishlist-badge .yith-wcwl-add-button a i::before, 
.card-wishlist-badge .yith-wcwl-add-button a .yith-wcwl-icon::before {
    content: "\f08a" !important; /* Outline Heart */
    font-family: "Font Awesome 5 Free", "FontAwesome" !important;
    font-weight: 400 !important; /* Outline weight */
    color: #ff3b30 !important;
    display: inline-block !important;
}

/* Solid Red Heart state (Hovered, Added, or Exists in wishlist) */
.card-wishlist-badge .yith-wcwl-wishlistaddedback a i, 
.card-wishlist-badge .yith-wcwl-wishlistexistsback a i,
.card-wishlist-badge .yith-wcwl-wishlistaddedback a .yith-wcwl-icon, 
.card-wishlist-badge .yith-wcwl-wishlistexistsback a .yith-wcwl-icon,
.card-wishlist-badge .yith-wcwl-add-button a:hover i,
.card-wishlist-badge .yith-wcwl-add-button a:hover .yith-wcwl-icon {
    font-size: 22px !important;
    color: transparent !important; 
    display: inline-block !important;
    text-shadow: none !important;
}
.card-wishlist-badge .yith-wcwl-wishlistaddedback a i::before, 
.card-wishlist-badge .yith-wcwl-wishlistexistsback a i::before,
.card-wishlist-badge .yith-wcwl-wishlistaddedback a .yith-wcwl-icon::before, 
.card-wishlist-badge .yith-wcwl-wishlistexistsback a .yith-wcwl-icon::before,
.card-wishlist-badge .yith-wcwl-add-button a:hover i::before,
.card-wishlist-badge .yith-wcwl-add-button a:hover .yith-wcwl-icon::before {
    content: "\f004" !important; /* Solid Heart */
    font-family: "Font Awesome 5 Free", "FontAwesome" !important;
    font-weight: 900 !important; /* Solid weight */
    color: #ff3b30 !important;
    display: inline-block !important;
}

/* Hide all text descriptions and labels inside the wishlist badge */
.card-wishlist-badge a span:not(.yith-wcwl-icon),
.card-wishlist-badge span.feedback,
.card-wishlist-badge .feedback,
.card-wishlist-badge .yith-wcwl-tooltip,
.card-wishlist-badge .ajax-loading {
    display: none !important;
    width: 0 !important;
    height: 0 !important;
    opacity: 0 !important;
    visibility: hidden !important;
}
}
/* Quick View eye hover overlay */
.card-image-overlay {
    display: none !important;
}
.mofay-product-image-container:hover .card-image-overlay {
    display: none !important;
}
.overlay-eye-btn {
    width: 40px !important;
    height: 40px !important;
    background: var(--mofay-white) !important;
    color: var(--mofay-secondary) !important;
    border-radius: 50% !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15) !important;
    transition: all 0.2s ease !important;
    font-size: 16px !important;
}
.overlay-eye-btn:hover {
    transform: scale(1.1) !important;
    background: var(--mofay-primary) !important;
    color: var(--mofay-white) !important;
}

/* Card Content details */
.mofay-product-card-content {
    padding: 0px 2px !important;
    display: flex !important;
    flex-direction: column !important;
    flex-grow: 1 !important;
}
.product-card-category {
    font-size: 10px !important;
    text-transform: uppercase !important;
    letter-spacing: 0.8px !important;
    font-weight: 700 !important;
    color: var(--mofay-text-muted) !important;
    margin-bottom: 2px !important;
    display: inline-block !important;
}

/* Inline badges below category name styling */
.mofay-card-badges-inline {
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 6px !important;
    margin: 2px 0 2px 0 !important;
}
.badge-inline {
    font-size: 9px !important;
    font-weight: 700 !important;
    padding: 2px 6px !important;
    border-radius: 4px !important;
    text-transform: uppercase !important;
    display: inline-block !important;
    color: var(--mofay-white) !important;
    line-height: 1.2 !important;
}
.badge-inline.badge-sale {
    background-color: #E63946 !important;
}
.badge-inline.badge-new {
    background-color: #3b82f6 !important;
}
.badge-inline.badge-discount {
    background-color: #f59e0b !important;
}
.product-card-title {
    font-size: 14px !important;
    font-weight: 700 !important;
    line-height: 1.3 !important;
    margin: 0 0 3px 0 !important;
    min-height: 37px !important;
    display: -webkit-box !important;
    -webkit-line-clamp: 2 !important;
    -webkit-box-orient: vertical !important;
    overflow: hidden !important;
}
.product-card-title a {
    color: var(--mofay-secondary) !important;
    transition: color 0.2s ease !important;
}
.product-card-title a:hover {
    color: var(--mofay-primary) !important;
}
.product-rating {
    margin-bottom: 4px !important;
}
.mofay-stars-display {
    font-size: 16px !important;
    color: var(--mofay-text-muted) !important;
    display: flex !important;
    align-items: center !important;
    gap: 4px !important;
}
.stars-gold {
    color: #f1c40f !important;
    letter-spacing: 1px !important;
}
.product-price {
    font-size: 20px !important; /* Slightly smaller for premium clean alignment */
    font-weight: 800 !important;
    color: var(--mofay-price, #e67e22) !important;
    margin-bottom: 6px !important;
    display: flex !important;
    flex-direction: row !important;
    align-items: center !important;
    justify-content: flex-start !important;
    flex-wrap: nowrap !important;
    gap: 4px !important;
}
.product-price del,
.product-price ins {
    white-space: nowrap !important;
    display: inline-block !important;
}
.product-price del {
    font-size: 0.85em !important;
    font-weight: 600 !important;
    color: var(--mofay-text-muted) !important;
    text-decoration: line-through !important;
}

/* Small decimals everywhere styling */
.price-decimals {
    font-size: 0.6em !important;
    vertical-align: super !important;
    font-weight: 700 !important;
    opacity: 0.9 !important;
    position: relative !important;
    top: -0.15em !important;
}
.price-decimal-dot {
    font-size: 0.60em !important;
    vertical-align: super !important;
    opacity: 0.9 !important;
    position: relative !important;
    top: -0.15em !important;
    margin: 0 0.5px !important;
}
.price-currency {
    font-size: 0.72em !important;
    font-weight: 600 !important;
    margin-right: 3px !important;
    margin-left: 0 !important;
    text-transform: uppercase !important;
    color: var(--mofay-secondary) !important;
}

/* Call To Action buttons grid */
.mofay-card-cta-grid {
    margin-top: auto !important;
    display: flex !important;
    flex-direction: column !important;
    gap: 8px !important;
    width: 100% !important;
}
@media (min-width: 769px) {
    .mofay-card-cta-grid {
        opacity: 0 !important;
        visibility: hidden !important;
        transform: translateY(15px) !important;
        max-height: 0 !important;
        margin-top: 0 !important;
        overflow: hidden !important;
        transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1) !important;
    }
    .mofay-product-card:hover .mofay-card-cta-grid {
        opacity: 1 !important;
        visibility: visible !important;
        transform: translateY(0) !important;
        max-height: 200px !important;
        margin-top: 8px !important;
    }
}
.card-checkout-buttons {
    display: grid !important;
    grid-template-columns: 1.2fr 1fr !important;
    gap: 6px !important;
    width: 100% !important;
}
.card-btn-buy, .card-btn-add {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 5px !important;
    padding: 8px 10px !important;
    font-size: 11px !important;
    font-weight: 700 !important;
    border-radius: 8px !important;
    text-align: center !important;
    box-sizing: border-box !important;
    transition: all 0.2s ease !important;
    cursor: pointer !important;
}
.card-btn-buy {
    background: var(--mofay-btn-gradient, linear-gradient(135deg, #0f1e36, #1A2B4C)) !important;
    color: var(--mofay-white) !important;
    border: none !important;
}
.card-btn-buy:hover {
    transform: translateY(-1.5px) !important;
    box-shadow: 0 4px 10px rgba(15, 30, 54, 0.15) !important;
}
.card-btn-add {
    background: var(--mofay-white) !important;
    color: var(--mofay-primary) !important;
    border: 1.5px solid var(--mofay-primary) !important;
}
.card-btn-add:hover {
    background: var(--mofay-primary) !important;
    color: var(--mofay-white) !important;
    transform: translateY(-1.5px) !important;
    box-shadow: 0 4px 10px rgba(26, 58, 92, 0.1) !important;
}
.btn-whatsapp-order-card {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 6px !important;
    background: var(--mofay-whatsapp, #25D366) !important;
    color: var(--mofay-white) !important;
    padding: 8px 10px !important;
    border-radius: 8px !important;
    font-weight: 700 !important;
    font-size: 12px !important;
    text-align: center !important;
    transition: all 0.2s ease !important;
    width: 100% !important;
    box-sizing: border-box !important;
    border: none !important;
}
.btn-whatsapp-order-card:hover {
    background: #20ba5a !important;
    transform: translateY(-1.5px) !important;
    box-shadow: 0 4px 10px rgba(37, 211, 102, 0.15) !important;
    color: var(--mofay-white) !important;
}

/* Custom Price Slider styling */
#mofay-sidebar-price-slider {
    height: 6px !important;
    background: #e2e8f0 !important;
    border-radius: 4px !important;
    border: none !important;
    position: relative !important;
    margin: 15px 10px 25px 10px !important;
}
#mofay-sidebar-price-slider .ui-slider-range {
    position: absolute !important;
    height: 100% !important;
    background: var(--mofay-primary, #0f1e36) !important;
    border-radius: 4px !important;
}
#mofay-sidebar-price-slider .ui-slider-handle {
    position: absolute !important;
    width: 18px !important;
    height: 18px !important;
    background: var(--mofay-white, #ffffff) !important;
    border: 2px solid var(--mofay-primary, #0f1e36) !important;
    border-radius: 50% !important;
    top: -6px !important;
    margin-left: -9px !important;
    cursor: pointer !important;
    box-shadow: 0 2px 4px rgba(0, 0, 0, 0.15) !important;
    outline: none !important;
    transition: transform 0.1s ease !important;
}
#mofay-sidebar-price-slider .ui-slider-handle:hover {
    transform: scale(1.1) !important;
    background: var(--mofay-accent, #3b82f6) !important;
    border-color: var(--mofay-accent, #3b82f6) !important;
}

/* Solid Apply Filter button style */
.btn-mofay-apply-price {
    width: 100% !important;
    background: var(--mofay-primary, #0f1e36) !important;
    border: none !important;
    color: var(--mofay-white, #ffffff) !important;
    border-radius: 30px !important;
    padding: 10px 15px !important;
    font-size: 0.85rem !important;
    font-weight: 700 !important;
    cursor: pointer !important;
    transition: all 0.2s ease !important;
    box-shadow: 0 4px 10px rgba(15, 30, 54, 0.15) !important;
}
.btn-mofay-apply-price:hover {
    background: var(--mofay-accent, #3b82f6) !important;
    transform: translateY(-1px) !important;
    box-shadow: 0 6px 15px rgba(59, 130, 246, 0.25) !important;
}

/* Slick slider custom styles */
.mofay-products-carousel-init {
    margin: 0 -10px !important;
    position: relative !important;
}
.mofay-products-carousel-init .slick-slide {
    padding: 0 10px !important;
    height: auto !important;
}
.mofay-products-carousel-init .slick-prev,
.mofay-products-carousel-init .slick-next {
    position: absolute !important;
    top: 50% !important;
    transform: translateY(-50%) !important;
    z-index: 10 !important;
    width: 40px !important;
    height: 40px !important;
    background: var(--mofay-white, #ffffff) !important;
    border: 1px solid var(--mofay-border, #e2e8f0) !important;
    border-radius: 50% !important;
    color: var(--mofay-secondary, #1a2b4c) !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    cursor: pointer !important;
    box-shadow: 0 4px 10px rgba(0, 0, 0, 0.08) !important;
    transition: all 0.2s ease !important;
}
.mofay-products-carousel-init .slick-prev:hover,
.mofay-products-carousel-init .slick-next:hover {
    background: var(--mofay-primary, #0f1e36) !important;
    color: var(--mofay-white, #ffffff) !important;
    border-color: var(--mofay-primary, #0f1e36) !important;
}
.mofay-products-carousel-init .slick-prev {
    left: -20px !important;
}
.mofay-products-carousel-init .slick-next {
    right: -20px !important;
}
/* Dots styling for mobile */
.mofay-products-carousel-init .slick-dots {
    display: flex !important;
    justify-content: center !important;
    list-style: none !important;
    padding: 0 !important;
    margin: 15px 0 0 0 !important;
    gap: 8px !important;
}
.mofay-products-carousel-init .slick-dots li button {
    font-size: 0 !important;
    line-height: 0 !important;
    display: block !important;
    width: 8px !important;
    height: 8px !important;
    padding: 0 !important;
    cursor: pointer !important;
    color: transparent !important;
    border: 0 !important;
    outline: none !important;
    background: #cbd5e1 !important;
    border-radius: 50% !important;
    transition: all 0.2s ease !important;
}
.mofay-products-carousel-init .slick-dots li.slick-active button {
    background: var(--mofay-primary, #0f1e36) !important;
    transform: scale(1.2) !important;
}

/* ============================================================
   MOFAY – RESPONSIVE MEDIA QUERIES (FINAL OVERRIDES)
   ============================================================ */

/* Tablet (1024px and below) */
@media (max-width: 1024px) {
    .mofay-product-layout {
        grid-template-columns: 1fr 1fr !important; /* Keep fluid 50/50 on tablet */
        gap: 24px !important;
    }
    
    .mofay-price-box .price-amount {
        font-size: 28px !important;
    }
    
    /* CTA button layout for tablet */
    .mofay-cta-section {
        display: flex !important;
        flex-direction: row !important;
        flex-wrap: wrap !important;
        gap: 12px !important;
        box-sizing: border-box !important;
        width: 100% !important;
    }
    
    .mofay-cta-section .quantity-picker {
        flex: 0 0 100% !important;
        margin: 0 auto 4px auto !important;
        align-self: center !important;
        width: fit-content !important;
        display: flex !important;
        justify-content: center !important;
    }
    
    .mofay-cta-section .btn-buy-now,
    .mofay-cta-section .btn-add-to-cart {
        flex: 1 1 calc(50% - 6px) !important;
        width: auto !important;
        min-width: 0 !important;
    }
}

/* Mobile (768px and below) */
@media (max-width: 768px) {
    
    /* === CONTAINER OVERFLOW & SCROLL FIXES === */
    .single-product,
    .single-product .site-content,
    .mofay-single-product-wrapper,
    .mofay-container,
    .woocommerce {
        overflow-x: hidden !important;
        max-width: 100vw !important;
        box-sizing: border-box !important;
    }

    .single-product .site-main,
    .single-product .woocommerce-notices-wrapper,
    .single-product .product,
    .single-product .mofay-info-column {
        overflow: visible !important;
        max-width: 100% !important;
        width: 100% !important;
        float: none !important;
        clear: both !important;
    }

    .single-product .mofay-gallery-column {
        overflow: hidden !important;
        max-width: 100% !important;
        width: 100% !important;
        float: none !important;
        clear: both !important;
        box-sizing: border-box !important;
    }

    .single-product .mofay-main-image-wrap,
    .single-product .mofay-main-image-wrap .image-container {
        overflow: hidden !important;
        position: relative !important;
        width: 100% !important;
        max-width: 100% !important;
        aspect-ratio: 3 / 4 !important;
    }

    .mofay-product-layout {
        grid-template-columns: 1fr !important; /* Collapse to 1 column on mobile */
        gap: 20px !important;
        padding: 16px !important;
        box-sizing: border-box !important;
    }

    /* === IMAGE ASPECT RATIO (3:4) === */
    .single-product .woocommerce-product-gallery img,
    .single-product .product-image img,
    .single-product figure.woocommerce-product-gallery__wrapper img,
    .single-product .flex-viewport img,
    .single-product .woocommerce-product-gallery__image img,
    .single-product .image-container img,
    .single-product .mofay-product-image {
        aspect-ratio: 3 / 4 !important;
        object-fit: cover !important;
        width: 100% !important;
        height: auto !important;
        max-width: 100% !important;
        display: block !important;
    }

    /* === PRODUCT TITLE - BIGGER & BOLDER (1.8-2rem) === */
    .single-product .mofay-product-title,
    .single-product .product_title,
    .single-product h1.product_title {
        font-size: 1.85rem !important;
        font-weight: 800 !important;
        line-height: 1.25 !important;
        margin-top: 8px !important;
        margin-bottom: 8px !important;
        word-wrap: break-word !important;
        display: block !important;
    }

    /* === PRICE - BIGGER & BOLD (1.8-2rem) === */
    .single-product .mofay-price-box .price-amount,
    .single-product .price,
    .single-product .woocommerce-Price-amount {
        font-size: 1.85rem !important;
        font-weight: 800 !important;
        display: inline-block !important;
    }

    /* === TIGHTEN SPACING === */
    .single-product .mofay-info-column {
        gap: 8px !important;
        padding: 0 !important;
    }

    .single-product .mofay-divider {
        margin-top: 6px !important;
        margin-bottom: 6px !important;
    }

    .single-product .mofay-product-short-description {
        margin: 6px 0 !important;
        padding: 0 !important;
        font-size: 1rem !important;
        line-height: 1.5 !important;
    }

    /* === SCROLL LIST OVERFLOW PREVENTIONS === */
    .mofay-thumbnail-strip {
        width: 100% !important;
        max-width: 100% !important;
        overflow-x: auto !important;
        box-sizing: border-box !important;
    }
    
    .mofay-trust-section {
        width: 100% !important;
        max-width: 100% !important;
        overflow: hidden !important;
        box-sizing: border-box !important;
    }
    
    .trust-badges-row {
        width: 100% !important;
        max-width: 100% !important;
        overflow-x: auto !important;
        box-sizing: border-box !important;
    }

    /* === CTA BUTTONS SIDE-BY-SIDE === */
    .mofay-cta-section {
        display: flex !important;
        flex-direction: row !important;
        flex-wrap: wrap !important;
        gap: 12px !important;
        box-sizing: border-box !important;
        width: 100% !important;
    }
    
    .mofay-cta-section .quantity-picker {
        flex: 0 0 100% !important;
        margin: 0 auto 4px auto !important;
        align-self: center !important;
        width: fit-content !important;
        display: flex !important;
        justify-content: center !important;
    }
    
    .mofay-cta-section .btn-buy-now,
    .mofay-cta-section .btn-add-to-cart {
        flex: 1 1 calc(50% - 6px) !important;
        width: auto !important;
        min-width: 0 !important;
        padding: 12px 14px !important;
        font-size: 0.95rem !important;
        font-weight: 700 !important;
    }

    .mofay-cta-section .btn-whatsapp-small {
        width: 100% !important;
        height: auto !important;
        padding: 12px 20px !important;
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
        gap: 8px !important;
        margin-top: 4px !important;
    }
    
    .mofay-cta-section .btn-whatsapp-small .wa-text {
        display: inline !important;
    }
    
    .mofay-cta-section .btn-whatsapp-small i {
        font-size: 16px !important;
    }

    /* === DESCRIPTION TABS === */
    .single-product .mofay-tabs-section {
        margin-top: 15px !important;
        overflow: hidden !important;
        max-width: 100% !important;
    }

    .single-product .tabs-nav {
        display: flex !important;
        flex-wrap: wrap !important;
        gap: 6px !important;
        padding: 0 !important;
        margin-bottom: 12px !important;
    }

    .single-product .tabs-nav .tab-nav-item {
        margin: 0 !important;
        padding: 6px 12px !important;
        font-size: 0.85rem !important;
    }

    /* === RELATED PRODUCTS (1-COLUMN GRID) === */
    .mofay-related-section .related-grid {
        grid-template-columns: 1fr !important;
        gap: 16px !important;
    }

    /* Mobile Card overrides to prevent overlap and increase readability */
    .mofay-product-card {
        padding: 8px !important;
    }
    
    .mofay-product-image-container {
        display: block !important;
        width: 100% !important;
        aspect-ratio: 3 / 4 !important;
        overflow: hidden !important;
        position: relative !important;
        background: #f8fafc !important;
        border-radius: 12px !important;
        margin-bottom: 3px !important;
    }
    
    .mofay-product-image-container img {
        width: 100% !important;
        height: 100% !important;
        object-fit: cover !important;
        display: block !important;
    }
    
    .product-card-category-link {
        display: inline-block !important;
        margin-bottom: 1px !important;
    }
    
    .product-card-category {
        font-size: 11px !important;
        margin-bottom: 0 !important;
        font-weight: 700 !important;
    }
    
    .mofay-card-badges-inline {
        margin: 1px 0 2px 0 !important;
        gap: 6px !important;
    }
    
    .badge-inline {
        font-size: 10px !important;
        padding: 3px 8px !important;
        font-weight: 700 !important;
    }
    
    .product-card-title {
        font-size: 19px !important; /* Bigger title, semi-bold */
        font-weight: 600 !important;
        line-height: 1.3 !important;
        margin: 0 0 2px 0 !important;
        min-height: 50px !important; /* Fits 2 lines perfectly */
    }
    
    .product-card-title a {
        font-weight: 600 !important; /* Semi-bold */
    }
    
    .product-rating {
        margin-bottom: 2px !important;
    }
    
    .mofay-stars-display {
        font-size: 19px !important; /* Bigger stars */
        gap: 4px !important;
    }
    
    .product-price {
        font-size: 20px !important; /* Scale price font size down to 20px on mobile to guarantee alignment fits */
        font-weight: 800 !important;
        margin-bottom: 4px !important;
        display: flex !important;
        flex-direction: row !important;
        align-items: center !important;
        flex-wrap: nowrap !important;
        gap: 4px !important;
    }
    
    .mofay-card-cta-grid {
        gap: 6px !important;
    }
    
    .card-btn-buy, .card-btn-add {
        padding: 10px 12px !important;
        font-size: 12px !important;
        border-radius: 8px !important;
        font-weight: 700 !important;
    }
    
    .btn-whatsapp-order-card {
        padding: 10px 12px !important;
        font-size: 13px !important;
        border-radius: 8px !important;
        font-weight: 700 !important;
    }
}

/* ===== EXTRA SMALL DEVICES (≤ 480px) ===== */
@media (max-width: 480px) {
    .mofay-product-layout {
        padding: 12px !important;
        gap: 16px !important;
    }
    
    .single-product .mofay-product-title,
    .single-product .product_title,
    .single-product h1.product_title {
        font-size: 1.6rem !important; /* Single product title on small mobile */
    }

    .single-product .mofay-price-box .price-amount,
    .single-product .price,
    .single-product .woocommerce-Price-amount {
        font-size: 1.6rem !important;
    }
    
    .mofay-related-section .related-grid {
        grid-template-columns: 1fr !important; /* Single column on extra small mobile */
        gap: 16px !important;
    }
}

/* ===== SMALL TABLETS (≤ 600px) ===== */
@media (max-width: 600px) {
    .single-product .mofay-product-title {
        font-size: 1.8rem !important;
    }

    .single-product .mofay-price-box .price-amount {
        font-size: 1.8rem !important;
    }
}

/* ==========================================================================
   PREMIUM CHECKOUT FIELDS & FORMS STYLING (COHESIVE THEME UX)
   ========================================================================== */

/* Wrapper and layout spacing */
.mofay-checkout-page-wrapper {
    padding: 40px 20px !important;
}

.mofay-checkout-grid {
    display: grid !important;
    grid-template-columns: 1.2fr 0.8fr !important;
    gap: 40px !important;
    margin-top: 30px !important;
}

@media screen and (max-width: 991px) {
    .mofay-checkout-grid {
        grid-template-columns: 1fr !important;
        gap: 30px !important;
    }
    .mofay-checkout-page-wrapper {
        padding: 30px 15px !important;
    }
}

/* Form Sections */
.woocommerce-billing-fields h3, 
.woocommerce-shipping-fields h3, 
#order_review_heading {
    font-family: var(--mofay-font-headings) !important;
    color: var(--mofay-secondary) !important;
    font-weight: 700 !important;
    font-size: 1.4rem !important;
    margin-bottom: 25px !important;
    border-bottom: 2px solid var(--mofay-border) !important;
    padding-bottom: 10px !important;
    text-transform: uppercase !important;
    letter-spacing: 0.5px !important;
}

/* WooCommerce checkout form row defaults override */
.woocommerce-checkout .form-row {
    display: block !important;
    width: 100% !important;
    float: none !important;
    margin-bottom: 20px !important;
    padding: 0 !important;
}

/* Side by side fields on desktop */
@media screen and (min-width: 769px) {
    .woocommerce-checkout .form-row-first {
        width: 48% !important;
        float: left !important;
        margin-right: 4% !important;
    }
    .woocommerce-checkout .form-row-last {
        width: 48% !important;
        float: right !important;
    }
    .woocommerce-checkout .form-row-wide {
        clear: both !important;
        width: 100% !important;
    }
}

/* Clear floats on form wrapper */
.woocommerce-billing-fields__field-wrapper::after,
.woocommerce-shipping-fields__field-wrapper::after,
.woocommerce-additional-fields__field-wrapper::after {
    content: "" !important;
    display: table !important;
    clear: both !important;
}

/* Form fields input, select, textarea styling */
.woocommerce-checkout input[type="text"],
.woocommerce-checkout input[type="email"],
.woocommerce-checkout input[type="tel"],
.woocommerce-checkout input[type="password"],
.woocommerce-checkout select,
.woocommerce-checkout textarea,
.select2-container--default .select2-selection--single {
    width: 100% !important;
    height: 48px !important;
    border: 2px solid var(--mofay-border) !important;
    background-color: var(--mofay-white) !important;
    border-radius: 8px !important;
    padding: 10px 15px !important;
    color: var(--mofay-text) !important;
    font-family: var(--mofay-font-body) !important;
    font-size: 0.95rem !important;
    transition: all 0.25s ease !important;
    box-shadow: none !important;
    outline: none !important;
    box-sizing: border-box !important;
}

.woocommerce-checkout textarea {
    height: 120px !important;
}

.woocommerce-checkout input:focus,
.woocommerce-checkout select:focus,
.woocommerce-checkout textarea:focus,
.select2-container--default.select2-container--focus .select2-selection--single {
    border-color: var(--mofay-primary) !important;
    box-shadow: 0 0 0 3px rgba(255, 107, 107, 0.15) !important;
}

/* Select2 dropdown overrides (WooCommerce selects) */
.select2-container--default .select2-selection--single {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
}
.select2-container--default .select2-selection--single .select2-selection__rendered {
    padding-left: 0 !important;
    color: var(--mofay-text) !important;
    line-height: 1 !important;
}
.select2-container--default .select2-selection--single .select2-selection__arrow {
    height: 46px !important;
    right: 15px !important;
}

/* Order Summary Table styling */
.woocommerce-checkout-review-order-table {
    width: 100% !important;
    border-collapse: collapse !important;
    margin-bottom: 0 !important;
}

.woocommerce-checkout-review-order-table thead tr {
    background-color: var(--mofay-bg) !important;
    border-bottom: 2px solid var(--mofay-border) !important;
}

.woocommerce-checkout-review-order-table thead th {
    padding: 15px 24px !important;
    color: var(--mofay-secondary) !important;
    font-weight: 700 !important;
    text-transform: uppercase !important;
    font-size: 0.85rem !important;
    letter-spacing: 1px !important;
    border: none !important;
}

.woocommerce-checkout-review-order-table tbody tr {
    border-bottom: 1px solid var(--mofay-border) !important;
}

.woocommerce-checkout-review-order-table tbody tr:last-child {
    border-bottom: none !important;
}

.woocommerce-checkout-review-order-table td {
    padding: 18px 24px !important;
    font-size: 0.95rem !important;
    border: none !important;
    vertical-align: middle !important;
}

.woocommerce-checkout-review-order-table .cart_item td.product-name {
    color: var(--mofay-text) !important;
    font-weight: 600 !important;
    line-height: 1.5 !important;
}

.woocommerce-checkout-review-order-table .cart_item td.product-name .product-quantity {
    display: inline-block !important;
    font-size: 0.85rem !important;
    font-weight: 700 !important;
    background-color: var(--mofay-bg) !important;
    color: var(--mofay-secondary) !important;
    padding: 2px 8px !important;
    border-radius: 4px !important;
    margin-left: 8px !important;
    white-space: nowrap !important;
}

.woocommerce-checkout-review-order-table .cart_item td.product-total {
    text-align: right !important;
    font-weight: 700 !important;
    color: var(--mofay-secondary) !important;
    font-size: 1rem !important;
}

.woocommerce-checkout-review-order-table tr.cart-subtotal th,
.woocommerce-checkout-review-order-table tr.shipping th,
.woocommerce-checkout-review-order-table tr.fee th {
    padding: 16px 24px !important;
    font-weight: 600 !important;
    color: var(--mofay-text-muted) !important;
    border: none !important;
}

.woocommerce-checkout-review-order-table tr.cart-subtotal td,
.woocommerce-checkout-review-order-table tr.shipping td,
.woocommerce-checkout-review-order-table tr.fee td {
    padding: 16px 24px !important;
    text-align: right !important;
    font-weight: 700 !important;
    color: var(--mofay-secondary) !important;
    border: none !important;
}

.woocommerce-checkout-review-order-table tr.order-total {
    background-color: var(--mofay-bg) !important;
    border-top: 2px solid var(--mofay-secondary) !important;
}

.woocommerce-checkout-review-order-table tr.order-total th {
    padding: 20px 24px !important;
    font-size: 1.1rem !important;
    font-weight: 700 !important;
    color: var(--mofay-secondary) !important;
    border: none !important;
}

.woocommerce-checkout-review-order-table tr.order-total td {
    padding: 20px 24px !important;
    text-align: right !important;
    font-size: 1.35rem !important;
    font-weight: 800 !important;
    color: var(--mofay-primary) !important;
    border: none !important;
}

/* Payment Methods Area Box styling */
#payment {
    background-color: var(--mofay-bg) !important;
    border-radius: var(--mofay-border-radius) !important;
    padding: 20px !important;
    border: 1px solid var(--mofay-border) !important;
}

#payment ul.payment_methods {
    list-style: none !important;
    padding: 0 !important;
    margin: 0 0 20px 0 !important;
    border-bottom: 1px solid var(--mofay-border) !important;
}

#payment ul.payment_methods li {
    margin-bottom: 15px !important;
    line-height: 1.5 !important;
}

#payment ul.payment_methods li input {
    margin-right: 10px !important;
}

#payment ul.payment_methods li label {
    font-weight: 700 !important;
    color: var(--mofay-text) !important;
    cursor: pointer !important;
}

#payment div.payment_box {
    background-color: transparent !important;
    border: none !important;
    border-radius: 0 !important;
    padding: 14px 0 0 0 !important;
    margin: 12px 0 0 0 !important;
    border-top: 1px solid #f1f5f9 !important;
    font-size: 0.85rem !important;
    color: var(--mofay-text-muted) !important;
    box-shadow: none !important;
}

#payment div.payment_box::before,
#payment div.payment_box::after {
    display: none !important;
    content: none !important;
}

#payment fieldset,
#payment .payment_box fieldset {
    border: none !important;
    padding: 0 !important;
    margin: 0 !important;
    background: transparent !important;
}

/* Checkout Place Order Button */
.woocommerce-checkout #place_order {
    display: block !important;
    width: 100% !important;
    background: linear-gradient(135deg, var(--mofay-secondary), #0076a3) !important;
    color: var(--mofay-white) !important;
    border: none !important;
    padding: 15px 30px !important;
    font-size: 1.1rem !important;
    font-weight: 700 !important;
    text-transform: uppercase !important;
    border-radius: 50px !important;
    cursor: pointer !important;
    transition: all 0.3s ease !important;
    box-shadow: 0 4px 15px rgba(10, 60, 107, 0.3) !important;
}

.woocommerce-checkout #place_order:hover {
    transform: translateY(-2px) !important;
    box-shadow: 0 6px 20px rgba(10, 60, 107, 0.4) !important;
    opacity: 0.95 !important;
}

/* Form labels styling */
.woocommerce-checkout label {
    font-weight: 600 !important;
    font-size: 0.9rem !important;
    margin-bottom: 6px !important;
    display: block !important;
    color: var(--mofay-text) !important;
}

.woocommerce-checkout label .required {
    color: var(--mofay-primary) !important;
    text-decoration: none !important;
}

/* Stack Customer Details to put Additional Information under Billing Details */
#customer_details .col-1,
#customer_details .col-2 {
    width: 100% !important;
    float: none !important;
    clear: both !important;
}
#customer_details .col-2 {
    margin-top: 30px !important;
}

/* Premium Styling for WooCommerce Notice/Info/Coupon Banner */
.woocommerce-info, 
.woocommerce-message, 
.woocommerce-error {
    background-color: var(--mofay-bg) !important;
    border: 1px solid var(--mofay-border) !important;
    border-left: 4px solid var(--mofay-secondary) !important;
    border-radius: 8px !important;
    padding: 18px 24px !important;
    margin-bottom: 30px !important;
    color: var(--mofay-secondary) !important;
    font-family: var(--mofay-font-body) !important;
    font-weight: 500 !important;
    display: flex !important;
    align-items: center !important;
    gap: 15px !important;
    box-shadow: var(--mofay-shadow-sm) !important;
    position: relative !important;
}

.woocommerce-info::before {
    content: "\f05a" !important; /* FontAwesome Info Icon */
    font-family: "Font Awesome 5 Free" !important;
    font-weight: 900 !important;
    font-size: 1.25rem !important;
    color: var(--mofay-secondary) !important;
}

.woocommerce-info a, 
.woocommerce-message a, 
.woocommerce-error a {
    color: var(--mofay-primary) !important;
    font-weight: 700 !important;
    text-decoration: none !important;
    transition: var(--mofay-transition) !important;
}

/* Interactive Checkout Quantity Controls & Item Removal */
.checkout-qty-wrapper {
    display: inline-flex !important;
    align-items: center !important;
    border: 1px solid var(--mofay-border) !important;
    border-radius: 6px !important;
    overflow: hidden !important;
    margin-left: 12px !important;
    vertical-align: middle !important;
    background-color: var(--mofay-bg) !important;
    box-sizing: border-box !important;
}

.checkout-qty-btn {
    border: none !important;
    background: none !important;
    width: 26px !important;
    height: 26px !important;
    font-weight: 700 !important;
    color: var(--mofay-secondary) !important;
    cursor: pointer !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    outline: none !important;
    transition: all 0.2s ease !important;
    font-size: 0.95rem !important;
    padding: 0 !important;
    margin: 0 !important;
}

.checkout-qty-btn:hover {
    background-color: var(--mofay-border) !important;
}

.checkout-qty-val {
    font-size: 0.85rem !important;
    font-weight: 700 !important;
    color: var(--mofay-secondary) !important;
    padding: 0 8px !important;
    min-width: 18px !important;
    text-align: center !important;
}

.mofay-checkout-remove-item {
    color: #ef4444 !important;
    font-size: 0.95rem !important;
    margin-left: 12px !important;
    vertical-align: middle !important;
    transition: all 0.2s ease !important;
    cursor: pointer !important;
    display: inline-block !important;
}

.mofay-checkout-remove-item:hover {
    color: #b91c1c !important;
    transform: scale(1.15) !important;
}

/* visual feedback during AJAX update */
.woocommerce-checkout-review-order-table tr {
    transition: opacity 0.25s ease !important;
}

/* Flex layout for checkout product info row with photo */
.checkout-product-info-wrap {
    display: flex !important;
    align-items: center !important;
    gap: 15px !important;
}

.checkout-product-thumbnail {
    width: 50px !important;
    height: 50px !important;
    flex-shrink: 0 !important;
    border-radius: 6px !important;
    border: 1px solid var(--mofay-border) !important;
    overflow: hidden !important;
    display: block !important;
}

.checkout-product-thumbnail img {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
    display: block !important;
}

.checkout-product-details {
    display: flex !important;
    flex-direction: column !important;
    gap: 6px !important;
}

.checkout-product-title-text {
    font-weight: 600 !important;
    font-size: 0.95rem !important;
    color: var(--mofay-text) !important;
    line-height: 1.4 !important;
}

.checkout-product-controls-row {
    display: flex !important;
    align-items: center !important;
    gap: 5px !important;
}

/* ==========================================================================
   HOMEPAGE CATEGORY SHOWCASE GRIDS
   ========================================================================== */
.mofay-home-category-showcase {
    padding: 60px 0 !important;
    background-color: var(--mofay-white) !important;
    border-bottom: 1px solid rgba(15, 30, 54, 0.05) !important;
}

.mofay-home-category-showcase:nth-of-type(even) {
    background-color: var(--mofay-bg) !important;
}

.mofay-home-category-showcase:last-of-type {
    border-bottom: none !important;
}

.showcase-header {
    display: flex !important;
    justify-content: space-between !important;
    align-items: center !important;
    margin-bottom: 35px !important;
    flex-wrap: wrap !important;
    gap: 15px !important;
}

.showcase-header .mofay-section-title {
    margin: 0 !important;
    border-bottom: none !important;
    padding-bottom: 0 !important;
    text-align: left !important;
}

.showcase-view-all {
    font-weight: 700 !important;
    color: var(--mofay-primary) !important;
    font-size: 0.95rem !important;
    display: inline-flex !important;
    align-items: center !important;
    gap: 8px !important;
    text-decoration: none !important;
    transition: var(--mofay-transition) !important;
}

.showcase-view-all:hover {
    color: var(--mofay-secondary) !important;
    transform: translateX(5px) !important;
}

/* Grid layout for showcases */
.mofay-home-category-showcase .mofay-catalog-products-loop-grid {
    display: grid !important;
    grid-template-columns: repeat(4, 1fr) !important;
    gap: 30px !important;
    list-style: none !important;
    padding: 0 !important;
    margin: 0 !important;
}

@media screen and (max-width: 991px) {
    .mofay-home-category-showcase .mofay-catalog-products-loop-grid {
        grid-template-columns: repeat(2, 1fr) !important;
        gap: 20px !important;
    }
}

@media screen and (max-width: 576px) {
    .mofay-home-category-showcase .mofay-catalog-products-loop-grid {
        grid-template-columns: repeat(2, 1fr) !important;
        gap: 12px 10px !important;
    }
    .showcase-header {
        flex-direction: column !important;
        align-items: flex-start !important;
    }
}


/* ============================================================
   MOFAY – WISHLIST PANEL & NOTICES PREMIUM UI/UX POLISHING
   ============================================================ */

/* WooCommerce notices/alerts formatting updates */
.woocommerce-error, 
.woocommerce-message, 
.woocommerce-info {
    background-color: var(--mofay-white) !important;
    border: 1px solid rgba(15, 30, 54, 0.08) !important;
    border-radius: 14px !important;
    padding: 16px 20px !important;
    margin-bottom: 24px !important;
    color: var(--mofay-secondary) !important;
    font-family: var(--mofay-font-body) !important;
    font-weight: 500 !important;
    box-shadow: 0 4px 15px rgba(15, 30, 54, 0.03) !important;
    position: relative !important;
    list-style: none !important;
    display: flex !important;
    flex-direction: column !important;
    gap: 8px !important;
}

.woocommerce-error {
    border-left: 5px solid var(--mofay-primary) !important;
    background-color: #fef2f2 !important; /* Soft premium red/light coral background */
    border-color: #fee2e2 !important;
}

.woocommerce-message {
    border-left: 5px solid #10b981 !important;
    background-color: #f0fdf4 !important; /* Soft premium green background */
    border-color: #dcfce7 !important;
}

.woocommerce-info {
    border-left: 5px solid var(--mofay-secondary) !important;
    background-color: #f8fafc !important; /* Soft premium blue-grey background */
    border-color: #f1f5f9 !important;
}

/* Fix notice lists list-style bullet rendering and overlap */
.woocommerce-error li,
.woocommerce-message li,
.woocommerce-info li {
    list-style: none !important;
    padding: 0 !important;
    margin: 0 !important;
    display: flex !important;
    align-items: center !important;
    gap: 12px !important;
    line-height: 1.5 !important;
    position: relative !important;
}

/* Icon positioning and fonts for alerts */
.woocommerce-error li::before {
    content: "\f06a" !important; /* FontAwesome Exclamation Circle */
    font-family: "Font Awesome 5 Free" !important;
    font-weight: 900 !important;
    font-size: 1.25rem !important;
    color: var(--mofay-primary) !important;
    flex-shrink: 0 !important;
}

.woocommerce-message li::before {
    content: "\f058" !important; /* FontAwesome Check Circle */
    font-family: "Font Awesome 5 Free" !important;
    font-weight: 900 !important;
    font-size: 1.25rem !important;
    color: #10b981 !important;
    flex-shrink: 0 !important;
}

.woocommerce-info li::before {
    content: "\f05a" !important; /* FontAwesome Info Circle */
    font-family: "Font Awesome 5 Free" !important;
    font-weight: 900 !important;
    font-size: 1.25rem !important;
    color: var(--mofay-secondary) !important;
    flex-shrink: 0 !important;
}

/* Hide legacy WooCommerce default ::before indicators that overlap the layout */
.woocommerce-error::before,
.woocommerce-message::before,
.woocommerce-info::before {
    display: none !important;
    content: "" !important;
}

/* YITH Wishlist sidebar drawer containers */
.yith-wishlist-sidebar, 
.yith-wishlist-sidebar-wrapper, 
.yith-wcwl-sidebar, 
.yith-wcwl-popup {
    background-color: var(--mofay-white) !important;
    font-family: var(--mofay-font-body) !important;
    box-sizing: border-box !important;
}

.yith-wishlist-sidebar-header h2,
.yith-wcwl-sidebar h2,
.yith-wcwl-sidebar h3,
.yith-wishlist-sidebar h2 {
    font-family: var(--mofay-font-heading) !important;
    font-weight: 700 !important;
    color: var(--mofay-secondary) !important;
    border-bottom: 2px solid var(--mofay-border) !important;
    padding-bottom: 15px !important;
    margin-bottom: 20px !important;
}

/* Wishlist table formatting reset */
.yith-wishlist-sidebar table,
.yith-wishlist-sidebar-wrapper table,
.yith-wcwl-sidebar table,
.yith-wcwl-wishlist-new table,
.wishlist_table {
    border: none !important;
    border-collapse: separate !important;
    border-spacing: 0 15px !important;
    width: 100% !important;
    background: transparent !important;
}

/* Hide unused table columns headers in panel drawers */
.yith-wishlist-sidebar thead,
.wishlist_table thead {
    display: none !important;
}

/* Render table rows as beautiful list cards */
.yith-wishlist-sidebar tr,
.yith-wishlist-sidebar-wrapper tr,
.yith-wcwl-sidebar tr,
.wishlist_table tr,
.wishlist-items li {
    display: flex !important;
    align-items: center !important;
    background-color: var(--mofay-white) !important;
    border-radius: 14px !important;
    padding: 14px !important;
    margin-bottom: 14px !important;
    border: 1px solid rgba(15, 30, 54, 0.07) !important;
    box-shadow: 0 4px 15px rgba(15, 30, 54, 0.02) !important;
    position: relative !important;
    transition: all 0.3s ease !important;
    width: 100% !important;
    box-sizing: border-box !important;
}

.yith-wishlist-sidebar tr:hover,
.wishlist_table tr:hover {
    transform: translateY(-2px) !important;
    box-shadow: 0 8px 25px rgba(15, 30, 54, 0.06) !important;
    border-color: rgba(255, 107, 107, 0.15) !important;
}

/* Clean up cells borders */
.yith-wishlist-sidebar td,
.wishlist_table td {
    border: none !important;
    padding: 0 !important;
    background: transparent !important;
}

/* Wishlist Thumbnail images */
.yith-wishlist-sidebar td.product-thumbnail,
.wishlist_table td.product-thumbnail {
    width: 65px !important;
    height: 65px !important;
    margin-right: 15px !important;
    flex-shrink: 0 !important;
    display: block !important;
}

.yith-wishlist-sidebar td.product-thumbnail img,
.wishlist_table td.product-thumbnail img {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
    border-radius: 10px !important;
    box-shadow: 0 2px 8px rgba(15, 30, 54, 0.05) !important;
}

/* Product names formatting */
.yith-wishlist-sidebar td.product-name,
.wishlist_table td.product-name {
    flex-grow: 1 !important;
    padding-right: 30px !important;
    text-align: left !important;
}

.yith-wishlist-sidebar td.product-name a,
.wishlist_table td.product-name a {
    font-size: 0.95rem !important;
    font-weight: 600 !important;
    color: var(--mofay-secondary) !important;
    text-decoration: none !important;
    line-height: 1.4 !important;
    transition: var(--mofay-transition) !important;
    display: block !important;
}

.yith-wishlist-sidebar td.product-name a:hover,
.wishlist_table td.product-name a:hover {
    color: var(--mofay-primary) !important;
}

/* Close/Remove Badges positioned absolutely */
.yith-wishlist-sidebar td.product-remove,
.wishlist_table td.product-remove {
    position: absolute !important;
    top: 12px !important;
    right: 12px !important;
    z-index: 10 !important;
    display: block !important;
}

.yith-wishlist-sidebar td.product-remove a.remove,
.wishlist_table td.product-remove a.remove {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 22px !important;
    height: 22px !important;
    border-radius: 50% !important;
    background-color: #fef2f2 !important;
    color: var(--mofay-primary) !important;
    font-size: 14px !important;
    text-decoration: none !important;
    transition: all 0.2s ease !important;
    font-weight: bold !important;
}

.yith-wishlist-sidebar td.product-remove a.remove:hover,
.wishlist_table td.product-remove a.remove:hover {
    background-color: var(--mofay-primary) !important;
    color: var(--mofay-white) !important;
}

/* Add select options buttons or buy actions */
.yith-wishlist-sidebar td.product-add-to-cart,
.wishlist_table td.product-add-to-cart {
    margin-top: 10px !important;
    display: block !important;
    width: 100% !important;
}

.yith-wishlist-sidebar td.product-add-to-cart a,
.wishlist_table td.product-add-to-cart a {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    padding: 8px 16px !important;
    background-color: var(--mofay-secondary) !important;
    color: var(--mofay-white) !important;
    font-size: 0.85rem !important;
    font-weight: 600 !important;
    border-radius: 8px !important;
    text-decoration: none !important;
    transition: var(--mofay-transition) !important;
}

.yith-wishlist-sidebar td.product-add-to-cart a:hover,
.wishlist_table td.product-add-to-cart a:hover {
    background-color: var(--mofay-primary) !important;
}


/* Premium Global Price Formatting - Small Decimals & Currency Symbol Badges */
.price-decimals-small {
    font-size: 0.62em !important;
    vertical-align: super !important;
    font-weight: 700 !important;
    opacity: 0.85 !important;
    position: relative !important;
    top: -0.1em !important;
    margin-left: 0.5px !important;
}

.price-decimal-sep {
    font-size: 0.62em !important;
    vertical-align: super !important;
    opacity: 0.85 !important;
    position: relative !important;
    top: -0.1em !important;
}

/* Professional currency logo badge override */
.woocommerce-Price-currencySymbol {
    font-size: 0.65em !important;
    font-weight: 700 !important;
    text-transform: uppercase !important;
    color: var(--mofay-secondary) !important;
    margin-left: 3px !important;
    margin-right: 3px !important;
    vertical-align: baseline !important;
    opacity: 0.8 !important;
    position: relative !important;
    display: inline-block !important;
    letter-spacing: 0.5px !important;
}

/* Specific styling for when currency symbol is positioned next to small decimals */
.woocommerce-Price-amount {
    white-space: nowrap !important;
    font-variant-numeric: tabular-nums !important;
}

/* ============================================================
   PROFESSIONAL PRODUCT CARD - NO BORDER, SMALL CURVE
   ============================================================ */

/* ===== CARD WRAPPER ===== */
.mofay-product-card-wrap {
    display: flex !important;
    flex-direction: column !important;
    height: 100% !important;
    overflow: hidden !important;
}

.mofay-product-card {
    background: #ffffff !important;
    border: none !important; /* NO BORDER */
    border-radius: 0 !important; /* NO CARD BORDER */
    padding: 0 !important;
    box-shadow: none !important;
    transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1) !important;
    display: flex !important;
    flex-direction: column !important;
    height: 100% !important;
    box-sizing: border-box !important;
    position: relative !important;
}

.mofay-product-card:hover {
    transform: translateY(-4px) !important;
}

/* ===== IMAGE CONTAINER - SMALL CURVE ONLY ===== */
.mofay-product-image-container {
    position: relative !important;
    overflow: hidden !important;
    border-radius: 8px !important; /* SMALL CURVE ONLY */
    aspect-ratio: 3 / 4 !important;
    background: #f5f5f5 !important;
    width: 100% !important;
    margin-bottom: 12px !important;
    /* NO WHITE BORDER */
    border: none !important;
    box-shadow: none !important;
}

.mofay-product-image-container img {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
    object-position: center center !important; /* CENTER CROP */
    transition: transform 0.5s ease !important;
    display: block !important;
    border: none !important;
}

.mofay-product-card:hover .mofay-product-image-container img {
    transform: scale(1.03) !important;
}

/* ===== DISCOUNT BADGE ===== */
.product-discount-badge {
    position: absolute !important;
    top: 10px !important;
    right: 10px !important;
    background: #e74c3c !important;
    color: #ffffff !important;
    font-size: 12px !important;
    font-weight: 700 !important;
    padding: 4px 10px !important;
    border-radius: 4px !important;
    letter-spacing: 0.5px !important;
    box-shadow: 0 2px 8px rgba(231, 76, 60, 0.25) !important;
    z-index: 5 !important;
}

/* ===== CARD CONTENT ===== */
.mofay-product-card-content {
    padding: 0 4px !important;
    display: flex !important;
    flex-direction: column !important;
    flex-grow: 1 !important;
    gap: 2px !important;
}

/* ===== BRAND/CATEGORY ===== */
.product-card-brand {
    font-size: 11px !important;
    font-weight: 700 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.8px !important;
    color: #1a1a2e !important;
    display: block !important;
    background: none !important;
    padding: 0 !important;
    border: none !important;
}

/* ===== PRODUCT TITLE ===== */
.product-card-title {
    font-size: 15px !important;
    font-weight: 600 !important;
    line-height: 1.3 !important;
    margin: 0 !important;
    min-height: 38px !important;
    display: -webkit-box !important;
    -webkit-line-clamp: 2 !important;
    -webkit-box-orient: vertical !important;
    overflow: hidden !important;
    color: #1a1a2e !important;
}

.product-card-title a {
    color: #1a1a2e !important;
    text-decoration: none !important;
    transition: color 0.2s ease !important;
}

.product-card-title a:hover {
    color: #e74c3c !important;
}

/* ===== RATING ROW ===== */
.product-rating-row {
    display: flex !important;
    align-items: center !important;
    gap: 6px !important;
    margin: 2px 0 !important;
    font-size: 13px !important;
}

.product-rating-row .rating-stars {
    color: #f1c40f !important;
    letter-spacing: 0.5px !important;
}

.product-rating-row .rating-number {
    font-weight: 600 !important;
    color: #1a1a2e !important;
}

.product-rating-row .rating-count {
    color: #999999 !important;
    font-size: 12px !important;
}

/* ===== PRICE ROW ===== */
.product-price-row {
    display: flex !important;
    align-items: center !important;
    flex-wrap: wrap !important;
    gap: 6px !important;
    font-size: 15px !important;
    margin: 2px 0 8px 0 !important;
}

.product-price-row .price-current {
    font-weight: 700 !important;
    color: #1a1a2e !important;
}

.product-price-row .price-original {
    font-weight: 400 !important;
    color: #999999 !important;
    text-decoration: line-through !important;
    font-size: 13px !important;
}

.product-price-row .price-discount {
    font-weight: 700 !important;
    color: #e74c3c !important;
    font-size: 12px !important;
}

/* ===== ACTION ROW - ADD BUTTON ===== */
.product-action-row {
    margin-top: auto !important;
    padding-top: 8px !important;
    border-top: 1px solid #f5f5f5 !important;
}

.btn-add-to-cart-loop {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 8px !important;
    width: 100% !important;
    padding: 10px 16px !important;
    background: #1a1a2e !important;
    color: #ffffff !important;
    border: none !important;
    border-radius: 8px !important;
    font-size: 13px !important;
    font-weight: 600 !important;
    cursor: pointer !important;
    transition: all 0.3s ease !important;
    text-decoration: none !important;
    box-sizing: border-box !important;
}

.btn-add-to-cart-loop:hover {
    background: #e74c3c !important;
    transform: translateY(-1px) !important;
    box-shadow: 0 4px 15px rgba(231, 76, 60, 0.3) !important;
    color: #ffffff !important;
}

.btn-add-to-cart-loop.added {
    background: #27ae60 !important;
}

.btn-add-to-cart-loop svg {
    flex-shrink: 0 !important;
}

/* ===== HIDE ALL OLD ELEMENTS ===== */
.mofay-card-badges-inline,
.badge-inline,
.mofay-product-badges,
.card-checkout-buttons,
.btn-whatsapp-order-card,
.card-btn-buy,
.card-btn-add,
.product-card-actions,
.card-image-overlay,
.overlay-eye-btn {
    display: none !important;
}

/* ===== RESPONSIVE - DESKTOP ===== */
@media screen and (min-width: 1200px) {
    .mofay-catalog-products-loop-grid,
    ul.products {
        grid-template-columns: repeat(4, 1fr) !important;
        gap: 25px !important;
    }
}

@media screen and (min-width: 992px) and (max-width: 1199px) {
    .mofay-catalog-products-loop-grid,
    ul.products {
        grid-template-columns: repeat(3, 1fr) !important;
        gap: 25px !important;
    }
}

/* ===== RESPONSIVE - LAPTOP/TABLET ===== */
@media screen and (min-width: 768px) and (max-width: 991px) {
    .mofay-catalog-products-loop-grid,
    ul.products,
    .woocommerce .related.products ul.products,
    .woocommerce-page .related.products ul.products {
        grid-template-columns: repeat(3, 1fr) !important;
        gap: 20px !important;
    }
    
    .product-card-title {
        font-size: 14px !important;
        min-height: 36px !important;
    }
}

/* ===== RESPONSIVE - MOBILE (2 CARDS, FULL IMAGE) ===== */
@media screen and (max-width: 767px) {
    .mofay-catalog-products-loop-grid,
    ul.products {
        grid-template-columns: repeat(2, 1fr) !important;
        gap: 12px !important;
        padding: 0 !important;
        margin: 0 !important;
        width: 100% !important;
    }
    
    .mofay-product-card-wrap {
        width: 100% !important;
        max-width: 100% !important;
        padding: 0 !important;
        margin: 0 !important;
        overflow: hidden !important;
    }
    
    .mofay-product-card {
        padding: 0 !important;
        border-radius: 0 !important;
        width: 100% !important;
        min-width: 0 !important;
        box-sizing: border-box !important;
    }
    
    .mofay-product-image-container {
        border-radius: 6px !important; /* SMALL CURVE ON MOBILE */
        aspect-ratio: 3 / 4 !important;
        width: 100% !important;
        margin-bottom: 8px !important;
        overflow: hidden !important;
        /* ENSURE NO CROP */
        max-height: none !important;
        min-height: auto !important;
    }
    
    .mofay-product-image-container img {
        width: 100% !important;
        height: 100% !important;
        object-fit: cover !important;
        object-position: center center !important; /* CENTER - NO CROP */
        display: block !important;
        border: none !important;
        /* ENSURE FULL VISIBILITY */
        max-width: 100% !important;
        max-height: 100% !important;
    }
    
    .product-discount-badge {
        font-size: 10px !important;
        padding: 3px 8px !important;
        top: 6px !important;
        right: 6px !important;
    }
    
    .product-card-brand {
        font-size: 9px !important;
        letter-spacing: 0.5px !important;
    }
    
    .product-card-title {
        font-size: 13px !important;
        min-height: 32px !important;
        line-height: 1.25 !important;
    }
    
    .product-rating-row {
        font-size: 11px !important;
        gap: 4px !important;
    }
    
    .product-rating-row .rating-count {
        font-size: 10px !important;
    }
    
    .product-price-row {
        font-size: 13px !important;
        gap: 4px !important;
        margin: 0 0 6px 0 !important;
    }
    
    .product-price-row .price-original {
        font-size: 11px !important;
    }
    
    .product-price-row .price-discount {
        font-size: 10px !important;
    }
    
    .btn-add-to-cart-loop {
        padding: 8px 12px !important;
        font-size: 11px !important;
        border-radius: 6px !important;
        gap: 6px !important;
    }
    
    .btn-add-to-cart-loop svg {
        width: 14px !important;
        height: 14px !important;
    }
    
    .product-action-row {
        padding-top: 6px !important;
    }
    
    .mofay-product-card-content {
        padding: 0 2px !important;
    }
}

/* ===== EXTRA SMALL MOBILE - PERFECT 2 CARDS ===== */
@media screen and (max-width: 380px) {
    .mofay-catalog-products-loop-grid,
    ul.products {
        grid-template-columns: repeat(2, 1fr) !important;
        gap: 8px !important;
        padding: 0 !important;
    }
    
    .mofay-product-card {
        padding: 0 !important;
    }
    
    .mofay-product-image-container {
        border-radius: 4px !important;
        aspect-ratio: 3 / 4 !important;
    }
    
    .mofay-product-image-container img {
        object-fit: cover !important;
        object-position: center center !important;
    }
    
    .product-card-brand {
        font-size: 8px !important;
    }
    
    .product-card-title {
        font-size: 11px !important;
        min-height: 26px !important;
        line-height: 1.2 !important;
    }
    
    .product-rating-row {
        font-size: 9px !important;
    }
    
    .product-price-row {
        font-size: 11px !important;
        gap: 3px !important;
    }
    
    .product-price-row .price-original {
        font-size: 9px !important;
    }
    
    .product-price-row .price-discount {
        font-size: 8px !important;
    }
    
    .btn-add-to-cart-loop {
        padding: 6px 8px !important;
        font-size: 9px !important;
        border-radius: 4px !important;
        gap: 4px !important;
    }
    
    .btn-add-to-cart-loop svg {
        width: 12px !important;
        height: 12px !important;
    }
    
    .product-discount-badge {
        font-size: 8px !important;
        padding: 2px 6px !important;
        top: 4px !important;
        right: 4px !important;
    }
}

/* ===== LANDSCAPE MOBILE FIX ===== */
@media screen and (max-width: 767px) and (orientation: landscape) {
    .mofay-catalog-products-loop-grid,
    ul.products,
    .woocommerce .related.products ul.products,
    .woocommerce-page .related.products ul.products {
        grid-template-columns: repeat(3, 1fr) !important;
        gap: 10px !important;
    }
    
    .mofay-product-image-container {
        aspect-ratio: 3 / 4 !important;
        max-height: 180px !important;
    }
}

/* ===== ENSURE NO WHITE BORDER ANYWHERE ===== */
.mofay-product-image-container::before,
.mofay-product-image-container::after,
.mofay-product-card::before,
.mofay-product-card::after {
    display: none !important;
    content: none !important;
}

/* Remove any box-shadow that might look like border */
.mofay-product-image-container {
    box-shadow: none !important;
}

/* Remove any outline */
.mofay-product-card-wrap:focus,
.mofay-product-card-wrap:focus-within {
    outline: none !important;
}

/* ===== VISUAL COLOR SWATCHES & OPTION PILLS ===== */
.color-swatches-wrap,
.option-pills-wrap {
    display: flex !important;
    flex-wrap: wrap !important;
    align-items: center !important;
    gap: 8px !important;
}

.color-swatch-btn {
    width: 32px !important;
    height: 32px !important;
    min-width: 32px !important;
    min-height: 32px !important;
    border-radius: 50% !important;
    padding: 0 !important;
    margin: 0 !important;
    border: 2px solid transparent !important;
    box-shadow: 0 2px 5px rgba(0, 0, 0, 0.15) !important;
    transition: transform 0.2s ease, border-color 0.2s ease, box-shadow 0.2s ease !important;
    cursor: pointer !important;
    position: relative !important;
    outline: none !important;
}

.color-swatch-btn:hover {
    transform: scale(1.15) !important;
}

.color-swatch-btn.active {
    border-color: #1b365d !important;
    box-shadow: 0 0 0 3px rgba(27, 54, 93, 0.3) !important;
    transform: scale(1.1) !important;
}

.option-pill-btn {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    padding: 6px 14px !important;
    height: auto !important;
    min-height: 34px !important;
    width: auto !important;
    border-radius: 20px !important;
    border: 1.5px solid #cbd5e0 !important;
    background: #ffffff !important;
    color: #2d3748 !important;
    font-size: 12px !important;
    font-weight: 600 !important;
    cursor: pointer !important;
    transition: all 0.2s ease !important;
    margin: 0 !important;
}

.option-pill-btn:hover {
    border-color: #1b365d !important;
    color: #1b365d !important;
}

.option-pill-btn.active {
    border-color: #1b365d !important;
    background: #1b365d !important;
    color: #ffffff !important;
    box-shadow: 0 2px 6px rgba(27, 54, 93, 0.2) !important;
}

/* ===== COSTUME SIZE BUTTONS WITH AGE & HEIGHT SUBLABEL ===== */
.costume-size-buttons-wrap {
    display: flex !important;
    flex-wrap: wrap !important;
    align-items: center !important;
    gap: 10px !important;
}

.costume-size-btn {
    display: inline-flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: center !important;
    min-width: 96px !important;
    width: auto !important;
    height: auto !important;
    padding: 8px 14px !important;
    border-radius: 12px !important;
    border: 1.5px solid #cbd5e0 !important;
    background: #ffffff !important;
    color: #2d3748 !important;
    cursor: pointer !important;
    transition: all 0.2s ease !important;
    margin: 0 !important;
    outline: none !important;
}

.costume-size-btn .size-letter {
    font-size: 16px !important;
    font-weight: 700 !important;
    line-height: 1.2 !important;
    color: #1b365d !important;
}

.costume-size-btn .size-sublabel {
    font-size: 10px !important;
    font-weight: 600 !important;
    line-height: 1.2 !important;
    margin-top: 3px !important;
    color: #718096 !important;
    white-space: nowrap !important;
}

.costume-size-btn:hover {
    border-color: #1b365d !important;
    background: #f7fafc !important;
}

.costume-size-btn.active {
    border-color: #1b365d !important;
    background: #1b365d !important;
    box-shadow: 0 4px 12px rgba(27, 54, 93, 0.25) !important;
}

.costume-size-btn.active .size-letter {
    color: #ffffff !important;
}

.costume-size-btn.active .size-sublabel {
    color: #e2e8f0 !important;
}

/* ===== STRICT 1x4 DESKTOP & 1x2 MOBILE GRID FOR RELATED & RECENTLY VIEWED ===== */
.mofay-related-section ul.products,
.mofay-recently-viewed-section ul.products,
.woocommerce .related.products ul.products,
.woocommerce-page .related.products ul.products {
    display: grid !important;
    grid-template-columns: repeat(4, 1fr) !important;
    gap: 20px !important;
    padding: 0 !important;
    margin: 0 0 30px 0 !important;
    width: 100% !important;
}

@media screen and (max-width: 767px) {
    .mofay-related-section ul.products,
    .mofay-recently-viewed-section ul.products,
    .woocommerce .related.products ul.products,
    .woocommerce-page .related.products ul.products {
        grid-template-columns: repeat(2, 1fr) !important;
        gap: 12px !important;
        padding: 0 2px !important;
        margin: 0 0 20px 0 !important;
        width: 100% !important;
    }
}

/* ===== SIZE GUIDE POP UP MODAL ===== */
.mofay-modal {
    display: none;
    position: fixed !important;
    top: 0 !important;
    left: 0 !important;
    width: 100vw !important;
    height: 100vh !important;
    z-index: 999999 !important;
    align-items: center !important;
    justify-content: center !important;
}

.mofay-modal.active {
    display: flex !important;
}

.mofay-modal .modal-overlay {
    position: absolute !important;
    top: 0 !important;
    left: 0 !important;
    width: 100% !important;
    height: 100% !important;
    background: rgba(15, 23, 42, 0.65) !important;
    backdrop-filter: blur(5px) !important;
}

.mofay-modal .modal-content {
    position: relative !important;
    z-index: 10 !important;
    background: #ffffff !important;
    padding: 32px 28px !important;
    border-radius: 20px !important;
    max-width: 580px !important;
    width: 90% !important;
    box-shadow: 0 20px 50px rgba(0, 0, 0, 0.3) !important;
    animation: mofayModalPopIn 0.3s cubic-bezier(0.175, 0.885, 0.32, 1.275) !important;
}

@keyframes mofayModalPopIn {
    from { opacity: 0; transform: scale(0.85); }
    to { opacity: 1; transform: scale(1); }
}

.mofay-modal .modal-close {
    position: absolute !important;
    top: 16px !important;
    right: 20px !important;
    font-size: 28px !important;
    background: #f1f5f9 !important;
    border: none !important;
    width: 36px !important;
    height: 36px !important;
    border-radius: 50% !important;
    cursor: pointer !important;
    color: #64748b !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    transition: all 0.2s ease !important;
}

.mofay-modal .modal-close:hover {
    background: #e2e8f0 !important;
    color: #0f172a !important;
}

.mofay-modal h3 {
    font-size: 20px !important;
    font-weight: 700 !important;
    color: #1b365d !important;
    margin-bottom: 20px !important;
    display: flex !important;
    align-items: center !important;
    gap: 10px !important;
}

.mofay-modal .size-chart {
    width: 100% !important;
    border-collapse: collapse !important;
    margin-bottom: 16px !important;
    border-radius: 10px !important;
    overflow: hidden !important;
}

.mofay-modal .size-chart th,
.mofay-modal .size-chart td {
    padding: 12px 14px !important;
    border: 1px solid #e2e8f0 !important;
    text-align: left !important;
    font-size: 13px !important;
}

.mofay-modal .size-chart th {
    background: #f8fafc !important;
    color: #1b365d !important;
    font-weight: 700 !important;
}

.mofay-modal .modal-note {
    font-size: 12px !important;
    color: #64748b !important;
    line-height: 1.5 !important;
    margin-top: 12px !important;
    background: #f8fafc !important;
    padding: 10px 14px !important;
    border-radius: 8px !important;
    border-left: 3px solid #1b365d !important;
}

/* ===== HOMEPAGE CATEGORY CARD IMAGES (PROMINENT BIG SIZE - NO OUTER OVERLAY BOX) ===== */
.mofay-category-card {
    background: transparent !important;
    border: none !important;
    box-shadow: none !important;
    padding: 0 !important;
}

.mofay-category-card .category-card-inner {
    padding: 0 !important;
}

.mofay-category-card .category-image-wrap {
    width: 125px !important;
    height: 125px !important;
    border-radius: 50% !important;
    overflow: hidden !important;
    margin: 0 auto 12px auto !important;
    background: #ffffff !important;
    border: 3.5px solid #ffffff !important;
    box-shadow: 0 8px 20px rgba(0, 0, 0, 0.08) !important;
    transition: transform 0.3s ease, border-color 0.3s ease, box-shadow 0.3s ease !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
}

.mofay-category-card:hover .category-image-wrap {
    transform: scale(1.08) translateY(-4px) !important;
    border-color: #ffffff !important;
    box-shadow: 0 12px 28px rgba(0, 0, 0, 0.12) !important;
}

.category-card-img {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
    object-position: top center !important;
    display: block !important;
}

.mofay-category-card .category-card-title {
    font-size: 15px !important;
    font-weight: 700 !important;
    line-height: 1.35 !important;
    color: #1b365d !important;
    text-align: center !important;
    margin: 6px 0 0 0 !important;
    transition: color 0.3s ease !important;
}

.mofay-category-card:hover .category-card-title {
    color: #ff7900 !important;
}

/* Responsive category circle scaling */
@media screen and (max-width: 767px) {
    .mofay-category-card .category-image-wrap {
        width: 95px !important;
        height: 95px !important;
        margin-bottom: 8px !important;
    }
    .mofay-category-card .category-card-title {
        font-size: 13px !important;
    }
}

/* ===== 6 CATEGORIES PER ROW DESKTOP & CENTERED LINE 2 ===== */
@media screen and (min-width: 992px) {
    .mofay-category-grid-container {
        display: flex !important;
        flex-wrap: wrap !important;
        justify-content: center !important;
        gap: 20px !important;
    }
    .mofay-category-card {
        flex: 0 0 calc(16.666% - 17px) !important;
        max-width: calc(16.666% - 17px) !important;
        min-width: 140px !important;
    }
}

@media screen and (min-width: 768px) and (max-width: 991px) {
    .mofay-category-grid-container {
        display: flex !important;
        flex-wrap: wrap !important;
        justify-content: center !important;
        gap: 16px !important;
    }
    .mofay-category-card {
        flex: 0 0 calc(33.333% - 11px) !important;
        max-width: calc(33.333% - 11px) !important;
    }
}

/* ===== HOMEPAGE CATEGORY SHOWCASE GRIDS (1x4 DESKTOP, 1x3 TABLET, 1x2 MOBILE) ===== */
.mofay-home-category-showcase ul.products {
    display: grid !important;
    grid-template-columns: repeat(4, 1fr) !important;
    gap: 20px !important;
    padding: 0 !important;
    margin: 0 0 40px 0 !important;
    width: 100% !important;
}

@media screen and (min-width: 768px) and (max-width: 991px) {
    .mofay-home-category-showcase ul.products {
        grid-template-columns: repeat(3, 1fr) !important;
        gap: 16px !important;
    }
}

@media screen and (max-width: 767px) {
    .mofay-home-category-showcase ul.products {
        grid-template-columns: repeat(2, 1fr) !important;
        gap: 12px !important;
    }
}

/* ===== HERO SLIDER SECTION (WHITE BACKGROUND & LIGHT IMAGE SHADOW) ===== */
.mofay-hero-slider-section {
    position: relative !important;
    background: #ffffff !important;
    border-bottom: 1px solid #e2e8f0 !important;
    overflow: hidden !important;
    padding: 50px 0 60px 0 !important;
    margin-bottom: 35px !important;
}

.mofay-hero-slider-container {
    position: relative !important;
    width: 100% !important;
    overflow: hidden !important;
}

.hero-slider-track {
    display: flex !important;
    transition: transform 0.5s cubic-bezier(0.25, 1, 0.5, 1) !important;
    width: 100% !important;
}

.hero-slide {
    min-width: 100% !important;
    width: 100% !important;
    box-sizing: border-box !important;
    opacity: 0.3;
    transition: opacity 0.5s ease !important;
}

.hero-slide.active {
    opacity: 1 !important;
}

.slide-inner {
    display: grid !important;
    grid-template-columns: 1.1fr 0.9fr !important;
    align-items: center !important;
    gap: 40px !important;
    min-height: 440px !important;
}

.slide-content {
    color: #1b365d !important;
    z-index: 2 !important;
}

.slide-badge-wrap {
    display: flex !important;
    align-items: center !important;
    gap: 12px !important;
    margin-bottom: 18px !important;
}

.slide-badge {
    display: inline-flex !important;
    align-items: center !important;
    gap: 6px !important;
    padding: 6px 16px !important;
    background: #f1f5f9 !important;
    border: 1px solid #cbd5e1 !important;
    border-radius: 30px !important;
    font-size: 12px !important;
    font-weight: 700 !important;
    letter-spacing: 0.8px !important;
    color: #1b365d !important;
    text-transform: uppercase !important;
}

.slide-badge.fantasy-badge { color: #0284c7 !important; background: #e0f2fe !important; border-color: #bae6fd !important; }
.slide-badge.fancy-badge { color: #d97706 !important; background: #fef3c7 !important; border-color: #fde68a !important; }

.slide-deal-tag {
    background: #ff7900 !important;
    color: #ffffff !important;
    font-size: 11px !important;
    font-weight: 800 !important;
    padding: 4px 12px !important;
    border-radius: 20px !important;
    letter-spacing: 0.5px !important;
}

.slide-title {
    font-size: 40px !important;
    font-weight: 800 !important;
    line-height: 1.25 !important;
    color: #1b365d !important;
    margin: 0 0 16px 0 !important;
    background: none !important;
    -webkit-text-fill-color: initial !important;
}

.slide-subtitle {
    font-size: 16px !important;
    line-height: 1.6 !important;
    color: #475569 !important;
    margin: 0 0 28px 0 !important;
    max-width: 540px !important;
}

.slide-ctas {
    display: flex !important;
    align-items: center !important;
    gap: 16px !important;
    flex-wrap: wrap !important;
}

.slide-image-container {
    position: relative !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    z-index: 1 !important;
}

.slide-image-glow {
    position: absolute !important;
    width: 340px !important;
    height: 340px !important;
    background: radial-gradient(circle, rgba(27, 54, 93, 0.04) 0%, rgba(255, 255, 255, 0) 70%) !important;
    border-radius: 50% !important;
    z-index: 0 !important;
}

.slide-img {
    position: relative !important;
    z-index: 1 !important;
    max-width: 100% !important;
    max-height: 440px !important;
    height: auto !important;
    object-fit: contain !important;
    filter: drop-shadow(0 6px 14px rgba(0, 0, 0, 0.06)) !important;
    transition: transform 0.5s ease !important;
}

.hero-slide.active .slide-img {
    animation: mofaySlideFloat 4s ease-in-out infinite !important;
}

@keyframes mofaySlideFloat {
    0%, 100% { transform: translateY(0); }
    50% { transform: translateY(-8px); }
}

/* Slider Nav Arrows */
.hero-slider-nav {
    position: absolute !important;
    top: 50% !important;
    transform: translateY(-50%) !important;
    width: 48px !important;
    height: 48px !important;
    border-radius: 50% !important;
    background: #ffffff !important;
    border: 1px solid #cbd5e1 !important;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.08) !important;
    color: #1b365d !important;
    font-size: 18px !important;
    cursor: pointer !important;
    z-index: 10 !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    transition: all 0.25s ease !important;
}

.hero-slider-nav:hover {
    background: #ff7900 !important;
    color: #ffffff !important;
    border-color: #ff7900 !important;
    transform: translateY(-50%) scale(1.1) !important;
    box-shadow: 0 6px 16px rgba(255, 121, 0, 0.25) !important;
}

.hero-slider-prev { left: 24px !important; }
.hero-slider-next { right: 24px !important; }

/* Slider Dots */
.hero-slider-dots {
    position: absolute !important;
    bottom: 20px !important;
    left: 50% !important;
    transform: translateX(-50%) !important;
    display: flex !important;
    align-items: center !important;
    gap: 8px !important;
    z-index: 10 !important;
}

.slider-dot {
    width: 10px !important;
    height: 10px !important;
    border-radius: 50% !important;
    background: #cbd5e1 !important;
    cursor: pointer !important;
    transition: all 0.3s ease !important;
}

.slider-dot.active {
    width: 28px !important;
    border-radius: 10px !important;
    background: #ff7900 !important;
}

/* Responsive Mobile & Tablet Slider */
@media screen and (max-width: 991px) {
    .mofay-hero-slider-section {
        padding: 30px 0 45px 0 !important;
    }
    .slide-inner {
        grid-template-columns: 1fr !important;
        gap: 24px !important;
        min-height: auto !important;
        text-align: center !important;
    }
    .slide-badge-wrap {
        justify-content: center !important;
    }
    .slide-title {
        font-size: 26px !important;
        margin-bottom: 12px !important;
    }
    .slide-subtitle {
        font-size: 13px !important;
        margin: 0 auto 20px auto !important;
    }
    .slide-ctas {
        justify-content: center !important;
    }
    .slide-img {
        max-height: 280px !important;
    }
    .hero-slider-nav {
        width: 36px !important;
        height: 36px !important;
        font-size: 13px !important;
    }
    .hero-slider-prev { left: 8px !important; }
    .hero-slider-next { right: 8px !important; }
}

/* Hide Hero Slider CTA buttons on mobile screens (<767px) */
@media screen and (max-width: 767px) {
    .mofay-hero-slider-section .slide-ctas {
        display: none !important;
    }
}













/* ==========================================================================
   MOFAY ULTRA-MODERN RESPONSIVE CART & CHECKOUT UI/UX (TARGETING CUSTOM DOM)
   ========================================================================== */

/* 1. Cart Page Layout */
.mofay-cart-grid {
    display: flex !important;
    flex-wrap: wrap !important;
    justify-content: space-between !important;
    gap: 3% !important;
    max-width: 1200px !important;
    margin: 0 auto !important;
    padding: 20px 0 !important;
    align-items: flex-start !important;
}

.mofay-cart-form-column {
    width: 63% !important;
    background: #ffffff !important;
    border-radius: 16px !important;
    box-shadow: 0 4px 20px rgba(0,0,0,0.05) !important;
    padding: 20px !important;
    border: 1px solid #f1f5f9 !important;
    overflow: hidden !important;
}

.mofay-cart-totals-column {
    width: 33% !important;
}

/* Cart Table Overrides */
table.mofay-cart-table {
    width: 100% !important;
    border: none !important;
    border-collapse: collapse !important;
    table-layout: auto !important;
}

table.mofay-cart-table th {
    background: transparent !important;
    font-size: 13px !important;
    text-transform: uppercase !important;
    letter-spacing: 0.5px !important;
    color: #64748b !important;
    border-bottom: 2px solid #f1f5f9 !important;
    padding: 15px 10px !important;
}

table.mofay-cart-table td {
    padding: 20px 10px !important;
    border-bottom: 1px solid #f8fafc !important;
    vertical-align: middle !important;
}

/* Make product thumbnail look great */
table.mofay-cart-table .product-thumbnail {
    width: 90px !important;
}
table.mofay-cart-table .product-thumbnail img {
    width: 100% !important;
    height: auto !important;
    border-radius: 8px !important;
    box-shadow: 0 2px 8px rgba(0,0,0,0.06) !important;
}

/* Remove button */
table.mofay-cart-table a.remove {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 32px !important;
    height: 32px !important;
    border-radius: 50% !important;
    background: #fef2f2 !important;
    color: #ef4444 !important;
    font-size: 18px !important;
    text-decoration: none !important;
    font-weight: bold !important;
}
table.mofay-cart-table a.remove:hover {
    background: #ef4444 !important;
    color: #fff !important;
}

/* Cart Totals Box */
.cart_totals {
    background: #ffffff !important;
    border: 1px solid #e2e8f0 !important;
    border-radius: 16px !important;
    padding: 25px !important;
    box-shadow: 0 10px 30px rgba(0,0,0,0.04) !important;
    width: 100% !important;
}

/* Checkout Button */
.wc-proceed-to-checkout a.checkout-button {
    display: block !important;
    width: 100% !important;
    text-align: center !important;
    background: linear-gradient(135deg, #ef4444 0%, #dc2626 100%) !important;
    color: #fff !important;
    font-size: 16px !important;
    font-weight: 800 !important;
    padding: 18px 20px !important;
    border-radius: 12px !important;
    text-transform: uppercase !important;
    box-shadow: 0 10px 20px rgba(239,68,68,0.2) !important;
    transition: all 0.3s ease !important;
}

/* Trust Badges */
.cart-trust-badges {
    margin-top: 20px !important;
    display: flex !important;
    flex-direction: column !important;
    gap: 12px !important;
}
.cart-trust-badges .trust-badge-item {
    display: flex !important;
    align-items: center !important;
    gap: 10px !important;
    font-size: 13.5px !important;
    color: #475569 !important;
    font-weight: 500 !important;
    margin: 0 !important;
}
.cart-trust-badges .trust-badge-item i {
    font-size: 16px !important;
}

/* 2. Checkout Page Layout (Custom Classes) */
form.mofay-checkout-grid {
    display: flex !important;
    flex-wrap: wrap !important;
    justify-content: space-between !important;
    gap: 4% !important;
    max-width: 1200px !important;
    margin: 0 auto !important;
}

.checkout-billing-details-col {
    width: 55% !important;
    background: #ffffff !important;
    border-radius: 16px !important;
    box-shadow: 0 4px 20px rgba(0,0,0,0.04) !important;
    padding: 30px !important;
    border: 1px solid #f1f5f9 !important;
}

.checkout-order-review-col {
    width: 40% !important;
    background: #ffffff !important;
    border: 1px solid #e2e8f0 !important;
    border-radius: 16px !important;
    padding: 30px !important;
    box-shadow: 0 10px 40px rgba(0,0,0,0.05) !important;
    position: sticky !important;
    top: 30px !important;
    align-self: flex-start !important;
}

/* Overriding any col-1/col-2 inside billing */
.checkout-billing-details-col .col2-set .col-1,
.checkout-billing-details-col .col2-set .col-2 {
    width: 100% !important;
    float: none !important;
}

/* Mobile & Tablet Responsiveness */
@media screen and (max-width: 992px) {
    .mofay-cart-grid,
    form.mofay-checkout-grid {
        flex-direction: column !important;
        gap: 30px !important;
    }
    .mofay-cart-form-column,
    .mofay-cart-totals-column,
    .checkout-billing-details-col,
    .checkout-order-review-col {
        width: 100% !important;
        float: none !important;
    }
    
    .checkout-order-review-col {
        position: relative !important;
        top: 0 !important;
    }
}

/* Force Table Responsive Stack on Mobile */
@media screen and (max-width: 768px) {
    table.mofay-cart-table thead {
        display: none !important;
    }
    table.mofay-cart-table tbody tr {
        display: block !important;
        position: relative !important;
        padding: 15px !important;
        border: 1px solid #e2e8f0 !important;
        border-radius: 12px !important;
        margin-bottom: 20px !important;
    }
    table.mofay-cart-table tbody td {
        display: flex !important;
        justify-content: space-between !important;
        align-items: center !important;
        padding: 10px 0 !important;
        border-bottom: 1px solid #f1f5f9 !important;
        text-align: right !important;
    }
    table.mofay-cart-table tbody td:last-child {
        border-bottom: none !important;
    }
    table.mofay-cart-table tbody td::before {
        content: attr(data-title) !important;
        font-weight: 700 !important;
        text-transform: uppercase !important;
        color: #64748b !important;
        font-size: 12px !important;
    }
    table.mofay-cart-table td.product-thumbnail {
        justify-content: flex-end !important;
    }
    table.mofay-cart-table td.product-thumbnail::before {
        display: none !important;
    }
    table.mofay-cart-table td.product-remove {
        position: absolute !important;
        top: -12px !important;
        left: -12px !important;
        padding: 0 !important;
        border: none !important;
    }
    table.mofay-cart-table a.remove {
        box-shadow: 0 4px 10px rgba(239,68,68,0.3) !important;
    }
}


/* ==========================================================================
   CART TABLE STRICT WIDTH FIXES
   ========================================================================== */
table.mofay-cart-table {
    table-layout: fixed !important; 
    width: 100% !important;
}

table.mofay-cart-table th.product-remove { width: 50px !important; }
table.mofay-cart-table th.product-thumbnail { width: 100px !important; }
table.mofay-cart-table th.product-name { width: auto !important; }
table.mofay-cart-table th.product-price { width: 15% !important; }
table.mofay-cart-table th.product-quantity { width: 15% !important; }
table.mofay-cart-table th.product-subtotal { width: 15% !important; }

table.mofay-cart-table td.product-remove,
table.mofay-cart-table td.product-thumbnail,
table.mofay-cart-table td.product-name,
table.mofay-cart-table td.product-price,
table.mofay-cart-table td.product-quantity,
table.mofay-cart-table td.product-subtotal {
    text-align: left !important;
}

/* Coupon & Update Actions Area */
td.mofay-cart-actions {
    padding: 25px 10px !important;
    border-top: 1px solid #f1f5f9 !important;
}

.mofay-cart-actions {
    display: flex !important;
    justify-content: space-between !important;
    align-items: center !important;
    width: 100% !important;
}

.mofay-coupon-box {
    display: flex !important;
    gap: 10px !important;
    align-items: center !important;
    max-width: 400px !important;
}

.mofay-coupon-box input.input-text {
    width: 200px !important;
    height: 48px !important;
    border-radius: 8px !important;
    border: 1px solid #cbd5e1 !important;
    padding: 0 15px !important;
    font-size: 14px !important;
    background: #fff !important;
    color: #0f172a !important;
    box-shadow: none !important;
}

.mofay-coupon-box button.btn-apply-coupon {
    height: 48px !important;
    padding: 0 25px !important;
    background: #0f172a !important;
    color: #ffffff !important;
    border-radius: 8px !important;
    font-weight: 700 !important;
    border: none !important;
    cursor: pointer !important;
    transition: background 0.3s ease !important;
    white-space: nowrap !important;
}
.mofay-coupon-box button.btn-apply-coupon:hover {
    background: #334155 !important;
}

button.btn-update-cart {
    height: 48px !important;
    padding: 0 25px !important;
    background: #f1f5f9 !important;
    color: #475569 !important;
    border-radius: 8px !important;
    font-weight: 700 !important;
    border: 1px solid #e2e8f0 !important;
    cursor: pointer !important;
    transition: all 0.3s ease !important;
    white-space: nowrap !important;
}
button.btn-update-cart:hover {
    background: #e2e8f0 !important;
    color: #0f172a !important;
}

/* Make sure mobile reverts table-layout */
@media screen and (max-width: 768px) {
    table.mofay-cart-table {
        table-layout: auto !important;
    }
    .mofay-cart-actions {
        flex-direction: column !important;
        gap: 15px !important;
        align-items: flex-start !important;
    }
    .mofay-coupon-box {
        width: 100% !important;
        max-width: 100% !important;
    }
    .mofay-coupon-box input.input-text {
        width: 100% !important;
        flex: 1 !important;
    }
    button.btn-update-cart {
        width: 100% !important;
    }
}


/* ==========================================================================
   MOBILE-FIRST SPACE OPTIMIZATION (Zero Gaps, Max Screen Usage)
   ========================================================================== */
@media screen and (max-width: 768px) {
    /* 1. Eliminate excessive padding on the main wrapper boxes */
    .checkout-billing-details-col,
    .checkout-order-review-col,
    .mofay-cart-form-column,
    .mofay-cart-totals-column,
    .cart_totals {
        padding: 12px 10px !important;
        border-radius: 8px !important;
    }
    
    /* 2. Push the containers closer to the screen edges */
    .mofay-checkout-page-wrapper,
    .mofay-cart-page-wrapper {
        padding-left: 6px !important;
        padding-right: 6px !important;
    }
    
    .mofay-cart-grid,
    form.mofay-checkout-grid {
        gap: 15px !important;
    }

    /* 3. Fix the squished checkout review table */
    .woocommerce-checkout-review-order-table {
        table-layout: fixed !important;
        width: 100% !important;
    }
    
    .woocommerce-checkout-review-order-table th,
    .woocommerce-checkout-review-order-table td {
        padding: 10px 5px !important;
    }
    
    /* Force proportions: 75% for product info, 25% for price */
    .woocommerce-checkout-review-order-table th.product-name,
    .woocommerce-checkout-review-order-table td.product-name {
        width: 75% !important;
    }
    
    .woocommerce-checkout-review-order-table th.product-total,
    .woocommerce-checkout-review-order-table td.product-total {
        width: 25% !important;
        text-align: right !important;
        padding-right: 5px !important;
        word-break: break-word !important;
    }
    
    /* 4. Give the product name more room by shrinking the thumbnail */
    .checkout-product-info-wrap {
        display: flex !important;
        gap: 8px !important;
        align-items: center !important;
    }
    .checkout-product-thumbnail {
        flex: 0 0 50px !important; /* Fixed 50px width */
    }
    .checkout-product-thumbnail img {
        width: 100% !important;
        height: auto !important;
        border-radius: 6px !important;
    }
    
    .checkout-product-title-text {
        font-size: 13px !important;
        line-height: 1.3 !important;
        word-break: break-word !important;
    }
    
    /* 5. Remove massive white gaps below Place Order & Trust Badges */
    #payment {
        background: transparent !important;
        padding: 0 !important;
        margin-bottom: 0 !important;
    }
    .woocommerce-checkout #payment div.payment_box {
        margin-bottom: 15px !important;
    }
    .cart-trust-badges {
        margin-top: 5px !important;
        margin-bottom: 5px !important;
    }
    
    /* Fix fee and subtotal sizing */
    .mofay-fee-info-tag {
        font-size: 10px !important;
        padding: 4px 6px !important;
        white-space: normal !important;
    }
    
    /* Fix tiny labels in Billing Details */
    .woocommerce-checkout label {
        font-size: 14px !important;
        margin-bottom: 6px !important;
    }
}


/* ==========================================================================
   REMOVE 3-LAYER NESTED SUMMARY BOXES & FIX EDGE-TO-EDGE MOBILE
   ========================================================================== */
/* Strip the middle layer completely to achieve a clean single-layer look */
.mofay-order-review-box {
    background: transparent !important;
    border: none !important;
    box-shadow: none !important;
    border-radius: 0 !important;
    padding: 0 !important;
}

/* Ensure the table itself doesn't add a 3rd border box */
.woocommerce-checkout-review-order-table {
    border-left: none !important;
    border-right: none !important;
    border-top: none !important;
}

/* Perfect mobile edge-to-edge layout */
@media screen and (max-width: 768px) {
    .mofay-container.mofay-checkout-page-wrapper,
    .mofay-container.mofay-cart-page-wrapper {
        padding-left: 0 !important;
        padding-right: 0 !important;
        width: 100% !important;
        max-width: 100% !important;
        overflow-x: hidden !important;
    }
    
    .checkout-billing-details-col,
    .checkout-order-review-col,
    .mofay-cart-form-column,
    .cart_totals {
        border-radius: 0 !important;
        border-left: none !important;
        border-right: none !important;
        box-shadow: none !important;
        padding-left: 15px !important;
        padding-right: 15px !important;
        width: 100% !important;
        margin: 0 !important;
    }
    
    /* Allow the table to wrap cleanly without sliding off screen */
    .woocommerce-checkout-review-order-table {
        table-layout: fixed !important;
        margin: 0 !important;
        width: 100% !important;
        max-width: 100% !important;
    }
    
    .checkout-product-title-text {
        font-size: 12px !important;
        white-space: normal !important;
    }
}


/* ==========================================================================
   MOFAY PRO CLEANUP: CHECKOUT BORDERS & MOBILE CART CARDS
   ========================================================================== */

/* 1. Strip the outer table border on Checkout for a true 1-layer box */
.woocommerce-checkout-review-order-table {
    border: none !important;
}
.woocommerce-checkout-review-order-table th,
.woocommerce-checkout-review-order-table td {
    border-top: none !important;
    border-left: none !important;
    border-right: none !important;
    border-bottom: 1px solid #f1f5f9 !important;
}
.woocommerce-checkout-review-order-table tr:last-child th,
.woocommerce-checkout-review-order-table tr:last-child td,
.woocommerce-checkout-review-order-table .order-total th,
.woocommerce-checkout-review-order-table .order-total td {
    border-bottom: none !important;
}

/* 2. Professional Mobile Cart (Card Layout) */
@media screen and (max-width: 768px) {
    table.mofay-cart-table tbody tr {
        position: relative !important;
        padding: 20px 15px 15px !important;
        background: #fff !important;
        border: 1px solid #e2e8f0 !important;
        border-radius: 12px !important;
        margin-bottom: 20px !important;
        box-shadow: 0 4px 15px rgba(0,0,0,0.03) !important;
    }
    
    /* Place the 'X' strictly in the top right corner */
    table.mofay-cart-table td.product-remove {
        position: absolute !important;
        top: 10px !important;
        right: 10px !important;
        left: auto !important;
        border: none !important;
        padding: 0 !important;
        display: block !important;
    }
    table.mofay-cart-table a.remove {
        width: 28px !important;
        height: 28px !important;
        line-height: 25px !important;
        font-size: 16px !important;
    }
    
    /* Center the thumbnail beautifully at the top */
    table.mofay-cart-table td.product-thumbnail {
        justify-content: center !important;
        border: none !important;
        padding-top: 10px !important;
        padding-bottom: 10px !important;
    }
    table.mofay-cart-table td.product-thumbnail img {
        width: 90px !important;
        border-radius: 8px !important;
        box-shadow: 0 2px 10px rgba(0,0,0,0.08) !important;
    }
    
    /* Clean up the title, remove the squished "COSTUME / TOY" label */
    table.mofay-cart-table td.product-name {
        justify-content: center !important;
        text-align: center !important;
        flex-direction: column !important;
        border-bottom: 1px dashed #e2e8f0 !important;
        padding-bottom: 15px !important;
        margin-bottom: 10px !important;
    }
    table.mofay-cart-table td.product-name::before {
        display: none !important;
    }
    table.mofay-cart-table td.product-name a {
        font-size: 15px !important;
        line-height: 1.4 !important;
    }
    
    /* Action Area (Coupons and Update Button) */
    td.mofay-cart-actions {
        padding: 15px 0 0 !important;
        border: none !important;
    }
    .mofay-coupon-box {
        flex-direction: column !important;
        gap: 10px !important;
    }
    .mofay-coupon-box input.input-text {
        border: 2px solid #e2e8f0 !important;
        background: #f8fafc !important;
    }
    .mofay-coupon-box button.btn-apply-coupon {
        width: 100% !important;
    }
    button.btn-update-cart {
        background: #e2e8f0 !important;
        color: #0f172a !important;
        border: 1px solid #cbd5e1 !important;
        width: 100% !important;
        margin-top: 15px !important;
    }
}


/* ==========================================================================
   FLAWLESS MOBILE EDGE-TO-EDGE & NO CUTOFFS
   ========================================================================== */
@media screen and (max-width: 768px) {
    /* 1. Nullify all double-containers on Cart and Checkout */
    body.woocommerce-checkout .mofay-container,
    body.woocommerce-cart .mofay-container {
        padding-left: 0 !important;
        padding-right: 0 !important;
        margin-left: 0 !important;
        margin-right: 0 !important;
        max-width: 100% !important;
        width: 100% !important;
        overflow-x: hidden !important;
    }
    
    /* 2. The boxes themselves get the standard padding so text doesn't touch the glass */
    .checkout-billing-details-col,
    .checkout-order-review-col,
    .mofay-cart-form-column,
    .cart_totals {
        padding-left: 15px !important;
        padding-right: 15px !important;
        margin-left: 0 !important;
        margin-right: 0 !important;
        width: 100% !important;
        max-width: 100% !important;
        box-sizing: border-box !important;
    }
    
    /* 3. The Table must fit EXACTLY inside the box. No negative margins, no calc() */
    .woocommerce-checkout-review-order-table {
        table-layout: auto !important;
        margin: 0 !important;
        width: 100% !important;
        max-width: 100% !important;
    }
    
    .woocommerce-checkout-review-order-table th,
    .woocommerce-checkout-review-order-table td {
        padding-left: 0 !important;
        padding-right: 0 !important;
    }
    
    /* Force proportions: 75% for product info, 25% for price */
    .woocommerce-checkout-review-order-table th.product-name,
    .woocommerce-checkout-review-order-table td.product-name {
        width: 70% !important;
    }
    
    .woocommerce-checkout-review-order-table th.product-total,
    .woocommerce-checkout-review-order-table td.product-total {
        width: 30% !important;
        text-align: right !important;
        word-break: break-word !important;
    }
}

/* NEW 1122x1402 ASPECT RATIO FIX FOR ALL CARDS */
.product-card-thumb-wrap, 
.mofay-product-image-container {
    position: relative !important;
    width: 100% !important;
    aspect-ratio: 1122 / 1402 !important;
    background: #f8fafc !important;
    overflow: hidden !important;
}

.product-card-thumb-wrap a, 
.mofay-product-image-container a {
    display: block !important;
    width: 100% !important;
    height: 100% !important;
}

.product-card-thumb-wrap img, 
.mofay-product-image-container img {
    position: absolute !important;
    top: 0 !important;
    left: 0 !important;
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
}

/* -----------------------------------------
   MOFAY: BULLETPROOF FULL-LENGTH SHIPPING UI (EDGE-TO-EDGE)
----------------------------------------- */
.woocommerce-checkout #order_review table.shop_table,
.woocommerce-checkout table.woocommerce-checkout-review-order-table,
table.woocommerce-checkout-review-order-table {
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
    min-width: 100% !important;
    table-layout: auto !important;
    border-collapse: separate !important;
    border-spacing: 0 !important;
    border: none !important;
    margin: 0 0 16px 0 !important;
    padding: 0 !important;
    box-sizing: border-box !important;
}

.woocommerce-checkout #order_review table.shop_table thead,
.woocommerce-checkout #order_review table.shop_table tbody,
.woocommerce-checkout #order_review table.shop_table tfoot,
table.woocommerce-checkout-review-order-table thead,
table.woocommerce-checkout-review-order-table tbody,
table.woocommerce-checkout-review-order-table tfoot {
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
    box-sizing: border-box !important;
    padding: 0 !important;
    margin: 0 !important;
    border: none !important;
}

.woocommerce-checkout #order_review table.shop_table thead tr,
table.woocommerce-checkout-review-order-table thead tr {
    display: flex !important;
    justify-content: space-between !important;
    align-items: center !important;
    width: 100% !important;
    box-sizing: border-box !important;
    border-bottom: 1.5px solid #e2e8f0 !important;
    padding-bottom: 10px !important;
    margin-bottom: 10px !important;
}

.woocommerce-checkout #order_review table.shop_table thead th,
table.woocommerce-checkout-review-order-table thead th {
    display: block !important;
    border: none !important;
    padding: 0 !important;
    font-size: 12px !important;
    font-weight: 800 !important;
    color: #64748b !important;
    text-transform: uppercase !important;
    letter-spacing: 0.6px !important;
}

.woocommerce-checkout #order_review table.shop_table thead th.product-name,
table.woocommerce-checkout-review-order-table thead th.product-name {
    flex: 1 1 auto !important;
    text-align: left !important;
}

.woocommerce-checkout #order_review table.shop_table thead th.product-total,
table.woocommerce-checkout-review-order-table thead th.product-total {
    flex: 0 0 auto !important;
    text-align: right !important;
}

.woocommerce-checkout #order_review table.shop_table tbody tr.cart_item,
table.woocommerce-checkout-review-order-table tbody tr.cart_item {
    display: flex !important;
    justify-content: space-between !important;
    align-items: center !important;
    width: 100% !important;
    max-width: 100% !important;
    box-sizing: border-box !important;
    padding: 10px 0 !important;
    border-bottom: 1px solid #f1f5f9 !important;
}

.woocommerce-checkout #order_review table.shop_table tbody tr.cart_item td.product-name,
table.woocommerce-checkout-review-order-table tbody tr.cart_item td.product-name {
    display: block !important;
    flex: 1 1 auto !important;
    min-width: 0 !important;
    width: auto !important;
    max-width: none !important;
    padding: 0 !important;
    border: none !important;
    text-align: left !important;
    box-sizing: border-box !important;
}

.woocommerce-checkout #order_review table.shop_table tbody tr.cart_item td.product-total,
table.woocommerce-checkout-review-order-table tbody tr.cart_item td.product-total {
    display: block !important;
    flex: 0 0 auto !important;
    width: auto !important;
    max-width: none !important;
    padding: 0 0 0 12px !important;
    border: none !important;
    text-align: right !important;
    font-size: 14px !important;
    font-weight: 800 !important;
    color: #0f172a !important;
    white-space: nowrap !important;
    box-sizing: border-box !important;
}

.woocommerce-checkout #order_review table.shop_table tfoot tr.cart-subtotal,
.woocommerce-checkout #order_review table.shop_table tfoot tr.order-total,
.woocommerce-checkout #order_review table.shop_table tfoot tr.cart-discount,
.woocommerce-checkout #order_review table.shop_table tfoot tr.fee,
.woocommerce-checkout #order_review table.shop_table tfoot tr.tax-rate,
.woocommerce-checkout #order_review table.shop_table tfoot tr.tax-total,
table.woocommerce-checkout-review-order-table tfoot tr.cart-subtotal,
table.woocommerce-checkout-review-order-table tfoot tr.order-total,
table.woocommerce-checkout-review-order-table tfoot tr.cart-discount,
table.woocommerce-checkout-review-order-table tfoot tr.fee,
table.woocommerce-checkout-review-order-table tfoot tr.tax-rate,
table.woocommerce-checkout-review-order-table tfoot tr.tax-total {
    display: flex !important;
    justify-content: space-between !important;
    align-items: center !important;
    width: 100% !important;
    max-width: 100% !important;
    box-sizing: border-box !important;
    padding: 10px 0 !important;
    border-bottom: 1px solid #f1f5f9 !important;
}

.woocommerce-checkout #order_review table.shop_table tfoot tr.cart-subtotal th,
.woocommerce-checkout #order_review table.shop_table tfoot tr.order-total th,
.woocommerce-checkout #order_review table.shop_table tfoot tr.cart-discount th,
.woocommerce-checkout #order_review table.shop_table tfoot tr.fee th,
.woocommerce-checkout #order_review table.shop_table tfoot tr.tax-rate th,
.woocommerce-checkout #order_review table.shop_table tfoot tr.tax-total th,
table.woocommerce-checkout-review-order-table tfoot tr.cart-subtotal th,
table.woocommerce-checkout-review-order-table tfoot tr.order-total th,
table.woocommerce-checkout-review-order-table tfoot tr.cart-discount th,
table.woocommerce-checkout-review-order-table tfoot tr.fee th,
table.woocommerce-checkout-review-order-table tfoot tr.tax-rate th,
table.woocommerce-checkout-review-order-table tfoot tr.tax-total th {
    display: block !important;
    flex: 1 1 auto !important;
    text-align: left !important;
    padding: 0 !important;
    border: none !important;
    font-size: 13.5px !important;
    font-weight: 700 !important;
    color: #334155 !important;
    box-sizing: border-box !important;
}

.woocommerce-checkout #order_review table.shop_table tfoot tr.cart-subtotal td,
.woocommerce-checkout #order_review table.shop_table tfoot tr.order-total td,
.woocommerce-checkout #order_review table.shop_table tfoot tr.cart-discount td,
.woocommerce-checkout #order_review table.shop_table tfoot tr.fee td,
.woocommerce-checkout #order_review table.shop_table tfoot tr.tax-rate td,
.woocommerce-checkout #order_review table.shop_table tfoot tr.tax-total td,
table.woocommerce-checkout-review-order-table tfoot tr.cart-subtotal td,
table.woocommerce-checkout-review-order-table tfoot tr.order-total td,
table.woocommerce-checkout-review-order-table tfoot tr.cart-discount td,
table.woocommerce-checkout-review-order-table tfoot tr.fee td,
table.woocommerce-checkout-review-order-table tfoot tr.tax-rate td,
table.woocommerce-checkout-review-order-table tfoot tr.tax-total td {
    display: block !important;
    flex: 0 0 auto !important;
    text-align: right !important;
    padding: 0 !important;
    border: none !important;
    font-size: 14px !important;
    font-weight: 800 !important;
    color: #0f172a !important;
    white-space: nowrap !important;
    box-sizing: border-box !important;
}

.woocommerce-checkout #order_review table.shop_table tfoot tr.order-total,
table.woocommerce-checkout-review-order-table tfoot tr.order-total {
    border-top: 2px solid #e2e8f0 !important;
    border-bottom: none !important;
    padding: 16px 0 4px 0 !important;
    margin-top: 6px !important;
}

.woocommerce-checkout #order_review table.shop_table tfoot tr.order-total th,
table.woocommerce-checkout-review-order-table tfoot tr.order-total th {
    font-size: 16px !important;
    font-weight: 900 !important;
    color: #0f172a !important;
}

.woocommerce-checkout #order_review table.shop_table tfoot tr.order-total td,
table.woocommerce-checkout-review-order-table tfoot tr.order-total td {
    font-size: 20px !important;
    font-weight: 900 !important;
    color: #ff4757 !important;
}

/* SHIPPING METHOD TOTALS: 100% FULL EDGE-TO-EDGE */
.woocommerce-checkout #order_review table.shop_table tr.woocommerce-shipping-totals,
.woocommerce-checkout #order_review table.shop_table tfoot tr.woocommerce-shipping-totals,
table.woocommerce-checkout-review-order-table tr.woocommerce-shipping-totals,
table.woocommerce-checkout-review-order-table tfoot tr.woocommerce-shipping-totals {
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
    min-width: 100% !important;
    box-sizing: border-box !important;
    padding: 14px 0 !important;
    margin: 0 !important;
    border-bottom: 1.5px solid #f1f5f9 !important;
    border-top: none !important;
    float: none !important;
    clear: both !important;
}

.woocommerce-checkout #order_review table.shop_table tr.woocommerce-shipping-totals th,
table.woocommerce-checkout-review-order-table tr.woocommerce-shipping-totals th {
    display: none !important;
}

.woocommerce-checkout #order_review table.shop_table tr.woocommerce-shipping-totals td,
.woocommerce-checkout #order_review table.shop_table tr.woocommerce-shipping-totals td.mofay-shipping-totals-cell,
table.woocommerce-checkout-review-order-table tr.woocommerce-shipping-totals td,
table.woocommerce-checkout-review-order-table tr.woocommerce-shipping-totals td.mofay-shipping-totals-cell {
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
    min-width: 100% !important;
    box-sizing: border-box !important;
    padding: 0 !important;
    margin: 0 !important;
    border: none !important;
    float: none !important;
    clear: both !important;
}

.mofay-shipping-section-heading {
    margin: 0 0 12px 0 !important;
    padding: 0 !important;
    text-align: left !important;
}

.mofay-shipping-section-title {
    font-size: 13.5px !important;
    font-weight: 800 !important;
    color: #334155 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.5px !important;
    display: block !important;
    text-align: left !important;
}

ul#shipping_method {
    display: flex !important;
    flex-direction: column !important;
    gap: 12px !important;
    width: 100% !important;
    max-width: 100% !important;
    min-width: 100% !important;
    box-sizing: border-box !important;
    padding: 0 !important;
    margin: 0 !important;
    list-style: none !important;
}

ul#shipping_method li {
    display: flex !important;
    align-items: flex-start !important;
    width: 100% !important;
    max-width: 100% !important;
    min-width: 100% !important;
    box-sizing: border-box !important;
    background: #ffffff !important;
    border: 1.5px solid #e2e8f0 !important;
    border-radius: 14px !important;
    padding: 14px 16px !important;
    margin: 0 !important;
    cursor: pointer !important;
    transition: all 0.2s cubic-bezier(0.16, 1, 0.3, 1) !important;
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.02) !important;
    float: none !important;
}

ul#shipping_method li:hover {
    border-color: #cbd5e1 !important;
    background: #fafafa !important;
}

ul#shipping_method li:has(input:checked),
ul#shipping_method li.selected {
    border-color: #ff4757 !important;
    background: #ffffff !important;
    box-shadow: 0 4px 16px rgba(255, 71, 87, 0.1) !important;
}

ul#shipping_method li input[type="radio"] {
    margin: 4px 12px 0 0 !important;
    flex-shrink: 0 !important;
    width: 18px !important;
    height: 18px !important;
    accent-color: #ff4757 !important;
    cursor: pointer !important;
}

ul#shipping_method li label {
    display: block !important;
    flex: 1 1 auto !important;
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    box-sizing: border-box !important;
    margin: 0 !important;
    padding: 0 !important;
    cursor: pointer !important;
}

.mofay-shipping-card-content {
    display: flex !important;
    flex-direction: column !important;
    gap: 4px !important;
    width: 100% !important;
    max-width: 100% !important;
    box-sizing: border-box !important;
}

.mofay-shipping-header-row {
    display: flex !important;
    justify-content: space-between !important;
    align-items: center !important;
    width: 100% !important;
    max-width: 100% !important;
    box-sizing: border-box !important;
}

.mofay-shipping-title-group {
    display: flex !important;
    align-items: center !important;
    gap: 8px !important;
    flex-wrap: wrap !important;
}

.mofay-shipping-title {
    font-size: 14.5px !important;
    font-weight: 700 !important;
    color: #0f172a !important;
    line-height: 1.3 !important;
}

.mofay-shipping-badge {
    display: inline-block !important;
    font-size: 10px !important;
    font-weight: 800 !important;
    padding: 2px 7px !important;
    border-radius: 6px !important;
    text-transform: uppercase !important;
    letter-spacing: 0.4px !important;
}

.mofay-shipping-badge.badge-next-day,
.mofay-shipping-badge.badge-same-day {
    background: #fee2e2 !important;
    color: #e11d48 !important;
    border: 1px solid #fecdd3 !important;
}

.mofay-shipping-badge.badge-standard {
    background: #f1f5f9 !important;
    color: #334155 !important;
    border: 1px solid #e2e8f0 !important;
}

.mofay-shipping-badge.badge-2-3-days {
    background: #fef3c7 !important;
    color: #b45309 !important;
    border: 1px solid #fde68a !important;
}

.mofay-shipping-price,
ul#shipping_method li label .mofay-shipping-price,
ul#shipping_method li label .amount {
    font-size: 15.5px !important;
    font-weight: 800 !important;
    color: #0f172a !important;
    white-space: nowrap !important;
    margin-left: auto !important;
    flex-shrink: 0 !important;
    text-align: right !important;
}

ul#shipping_method li:has(input:checked) .mofay-shipping-price,
ul#shipping_method li:has(input:checked) label .amount {
    color: #ff4757 !important;
}

.mofay-shipping-details-row {
    display: flex !important;
    flex-direction: column !important;
    gap: 3px !important;
    padding-top: 3px !important;
    width: 100% !important;
    box-sizing: border-box !important;
    text-align: left !important;
    align-items: flex-start !important;
}

.mofay-shipping-eta {
    font-size: 12px !important;
    font-weight: 700 !important;
    color: #059669 !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: flex-start !important;
    gap: 4px !important;
    text-align: left !important;
}

.mofay-shipping-note {
    font-size: 11.5px !important;
    font-weight: 500 !important;
    color: #64748b !important;
    line-height: 1.4 !important;
    display: block !important;
    text-align: left !important;
    width: 100% !important;
}

/* -----------------------------------------
   MOFAY: PAYMENT METHODS & CREDIT CARD FORM (SPACIOUS & BULLETPROOF LAYOUT)
----------------------------------------- */
.woocommerce-checkout #payment ul.payment_methods li,
#payment ul.payment_methods li {
    display: block !important;
    width: 100% !important;
    height: auto !important;
    min-height: auto !important;
    box-sizing: border-box !important;
    clear: both !important;
    position: relative !important;
    overflow: visible !important;
    background: #ffffff !important;
    border: 1.5px solid #e2e8f0 !important;
    border-radius: 16px !important;
    padding: 18px 20px 24px 20px !important;
    margin: 0 0 14px 0 !important;
    line-height: 1.4 !important;
    list-style: none !important;
    transition: all 0.2s cubic-bezier(0.16, 1, 0.3, 1) !important;
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.02) !important;
}

.woocommerce-checkout #payment ul.payment_methods li:hover {
    border-color: #cbd5e1 !important;
}

/* Micro-clearfix: forces container to fully enclose floated rows and retain bottom padding */
.woocommerce-checkout #payment ul.payment_methods li::after,
.woocommerce-checkout #payment div.payment_box::after,
.woocommerce-checkout #payment fieldset::after,
.woocommerce-checkout #payment .wc-credit-card-form::after,
#payment ul.payment_methods li::after,
#payment div.payment_box::after,
#payment fieldset::after,
#payment .wc-credit-card-form::after,
#payment .payment_box::after {
    content: "" !important;
    display: table !important;
    clear: both !important;
}

.woocommerce-checkout #payment ul.payment_methods li:has(input:checked),
#payment ul.payment_methods li:has(input:checked) {
    border-color: #ff4757 !important;
    background: #ffffff !important;
    box-shadow: 0 4px 16px rgba(255, 71, 87, 0.08) !important;
}

.woocommerce-checkout #payment div.payment_box,
#payment div.payment_box {
    display: block !important;
    width: 100% !important;
    height: auto !important;
    box-sizing: border-box !important;
    clear: both !important;
    background: transparent !important;
    border: none !important;
    border-radius: 0 !important;
    padding: 16px 0 6px 0 !important;
    margin: 14px 0 0 0 !important;
    border-top: 1px solid #f1f5f9 !important;
    font-size: 13.5px !important;
    color: #475569 !important;
    line-height: 1.5 !important;
    box-shadow: none !important;
    overflow: visible !important;
}

/* Fieldset & wrappers: pure transparent containers, never constrained */
.woocommerce-checkout #payment fieldset,
.woocommerce-checkout #payment .payment_box fieldset,
.woocommerce-checkout #payment fieldset.wc-credit-card-form,
.woocommerce-checkout #payment #wc-stripe-cc-form,
.woocommerce-checkout #payment .wc-credit-card-form,
.woocommerce-checkout #payment .payment_box .wc-stripe-elements-field,
#payment fieldset,
#payment .payment_box fieldset,
#payment fieldset.wc-credit-card-form,
#payment #wc-stripe-cc-form,
#payment .wc-credit-card-form,
#payment .payment_box .wc-stripe-elements-field {
    display: block !important;
    width: 100% !important;
    height: auto !important;
    border: none !important;
    border-width: 0 !important;
    padding: 0 !important;
    margin: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
    outline: none !important;
    clear: both !important;
    overflow: visible !important;
}

/* Card Form Rows with generous breathing space */
.woocommerce-checkout #payment .payment_box .form-row,
#payment .payment_box .form-row,
.woocommerce-checkout #payment .payment_box .form-row-wide,
#payment .payment_box .form-row-wide,
.woocommerce-checkout #payment .payment_box .form-row-first,
#payment .payment_box .form-row-first,
.woocommerce-checkout #payment .payment_box .form-row-last,
#payment .payment_box .form-row-last {
    display: block !important;
    background: transparent !important;
    background-color: transparent !important;
    border: none !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    height: auto !important;
    min-height: auto !important;
    padding: 0 !important;
    box-sizing: border-box !important;
    position: relative !important;
    overflow: visible !important;
}

/* Card Number Row: 100% full width */
.woocommerce-checkout #payment .payment_box .form-row-wide,
#payment .payment_box .form-row-wide {
    width: 100% !important;
    float: none !important;
    clear: both !important;
    display: block !important;
    margin: 0 0 16px 0 !important;
}

/* Expiration Date: 48% width on the left */
.woocommerce-checkout #payment .payment_box .form-row-first,
#payment .payment_box .form-row-first {
    width: 48% !important;
    float: left !important;
    clear: left !important;
    display: block !important;
    margin: 0 4% 12px 0 !important;
}

/* Security Code / CVC: 48% width on the right */
.woocommerce-checkout #payment .payment_box .form-row-last,
#payment .payment_box .form-row-last {
    width: 48% !important;
    float: right !important;
    clear: right !important;
    display: block !important;
    margin: 0 0 12px 0 !important;
}

/* Field Labels: Clean, bold, nicely spaced above the inputs */
.woocommerce-checkout #payment .payment_box label,
#payment .payment_box label {
    font-size: 13.5px !important;
    font-weight: 700 !important;
    color: #1e293b !important;
    margin: 0 0 8px 0 !important;
    padding: 0 !important;
    display: block !important;
    line-height: 1.3 !important;
    background: transparent !important;
    border: none !important;
}

/* The 3 Actual Stripe Input Boxes (Targeted STRICTLY by ID) */
.woocommerce-checkout #payment .payment_box #stripe-card-element,
.woocommerce-checkout #payment .payment_box #stripe-exp-element,
.woocommerce-checkout #payment .payment_box #stripe-cvc-element,
#payment .payment_box #stripe-card-element,
#payment .payment_box #stripe-exp-element,
#payment .payment_box #stripe-cvc-element,
.woocommerce-checkout #payment .payment_box input[type="text"],
.woocommerce-checkout #payment .payment_box input[type="tel"],
.woocommerce-checkout #payment .payment_box input[type="password"],
#payment .payment_box input[type="text"],
#payment .payment_box input[type="tel"],
#payment .payment_box input[type="password"] {
    display: block !important;
    width: 100% !important;
    height: auto !important;
    min-height: 44px !important;
    background: #ffffff !important;
    border: 1.5px solid #cbd5e1 !important;
    border-radius: 10px !important;
    padding: 10px 14px !important;
    box-sizing: border-box !important;
    box-shadow: none !important;
    transition: all 0.2s ease !important;
}

.woocommerce-checkout #payment .payment_box #stripe-card-element.StripeElement--focus,
.woocommerce-checkout #payment .payment_box #stripe-exp-element.StripeElement--focus,
.woocommerce-checkout #payment .payment_box #stripe-cvc-element.StripeElement--focus,
.woocommerce-checkout #payment .payment_box #stripe-card-element:focus-within,
.woocommerce-checkout #payment .payment_box #stripe-exp-element:focus-within,
.woocommerce-checkout #payment .payment_box #stripe-cvc-element:focus-within,
#payment .payment_box #stripe-card-element.StripeElement--focus,
#payment .payment_box #stripe-exp-element.StripeElement--focus,
#payment .payment_box #stripe-cvc-element.StripeElement--focus,
#payment .payment_box #stripe-card-element:focus-within,
#payment .payment_box #stripe-exp-element:focus-within,
#payment .payment_box #stripe-cvc-element:focus-within,
.woocommerce-checkout #payment .payment_box input:focus,
#payment .payment_box input:focus {
    background: #ffffff !important;
    border-color: #ff4757 !important;
    box-shadow: 0 0 0 3px rgba(255, 71, 87, 0.15) !important;
    outline: none !important;
}

/* Inner Stripe iframe container */
.woocommerce-checkout #payment .payment_box #stripe-card-element iframe,
.woocommerce-checkout #payment .payment_box #stripe-exp-element iframe,
.woocommerce-checkout #payment .payment_box #stripe-cvc-element iframe,
#payment .payment_box #stripe-card-element iframe,
#payment .payment_box #stripe-exp-element iframe,
#payment .payment_box #stripe-cvc-element iframe {
    width: 100% !important;
    height: 100% !important;
    min-height: 22px !important;
}

