/*-----------------------------------------------------------------------------------

    WooCommerce Custom Styles for Eloz Theme
    Integrates WooCommerce with Eloz design system (variables, typography, grid)

-----------------------------------------------------------------------------------*/

/* ============================================================
   VARIABLES & GLOBALS
   ============================================================ */
/* ============================================================
   VARIABLES & GLOBALS
   ============================================================ */
:root {
    --wc-primary: #F06000;
    /* Bright Orange accent color */
    --wc-heading: #1a202c;
    --wc-body: #4a5568;
    --wc-border: #e2e8f0;
    --wc-bg-light: #f7fafc;
    --wc-success: #1C52D7;
    --wc-error: #e53e3e;
    --wc-warning: #ecc94b;
    --wc-radius: 8px;
    --wc-radius-sm: 6px;
    --wc-shadow: 0 1px 3px rgba(0, 0, 0, 0.05);
    --wc-shadow-hover: 0 4px 12px rgba(0, 0, 0, 0.08);
    --wc-transition: all 0.25s ease-in-out;
}

/* ============================================================
   ZERO-FLICKER STAGGERED PRODUCT ENTRANCE ANIMATION
   ============================================================ */
.products li.product,
.products .product,
.woocommerce ul.products li,
.eloz-product-card,
.shop-products-grid>div {
    opacity: 1;
    -webkit-transform: none;
    transform: none;
    -webkit-transition: opacity 0.35s cubic-bezier(0.215, 0.61, 0.355, 1), -webkit-transform 0.35s cubic-bezier(0.215, 0.61, 0.355, 1);
    transition: opacity 0.35s cubic-bezier(0.215, 0.61, 0.355, 1), transform 0.35s cubic-bezier(0.215, 0.61, 0.355, 1);
}

.products li.product.animated-reveal,
.products .product.animated-reveal,
.woocommerce ul.products li.animated-reveal,
.eloz-product-card.animated-reveal,
.shop-products-grid>div.animated-reveal {
    opacity: 1 !important;
    -webkit-transform: translateY(0) !important;
    transform: translateY(0) !important;
}


/* Skeleton Loaders — Keep in normal grid alignment with full visibility */
.eloz-skeleton,
.eloz-product-card.eloz-skeleton,
.is-loading .eloz-product-card,
.skeleton-loader,
.loading-placeholder {
    opacity: 1 !important;
    -webkit-transform: none !important;
    transform: none !important;
    transition: none !important;
}




/* ============================================================
   SINGLE PRODUCT BREADCRUMB STRIP
   ============================================================ */
.eloz-product-breadcrumb {
    font-size: 13px;
    color: var(--wc-body);
    padding: 12px 0;
}

.eloz-product-breadcrumb span,
.eloz-product-breadcrumb a {
    color: var(--wc-body);
    text-decoration: none;
}

.eloz-product-breadcrumb a:hover {
    color: var(--wc-primary);
}

.eloz-product-breadcrumb .bcn-separator {
    margin: 0 6px;
    opacity: 0.5;
}

.eloz-product-breadcrumb .bcn-item-current {
    color: var(--wc-heading);
    font-weight: 600;
}

/* ============================================================
   TOP BAR FILTER STYLING
   ============================================================ */
.eloz-shop-top-bar {
    padding-bottom: 20px;
    background: white;
    padding: 13px;
    border: 1px solid transparent;
}

.eloz-shop-title {
    font-size: clamp(20px, 2.5vw, 26px);
    font-weight: 500;
    color: var(--wc-heading);
}

.eloz-shop-show-per-page {
    font-size: 14px;
    color: var(--wc-body);
}

.eloz-shop-show-per-page a {
    color: var(--wc-body);
    text-decoration: none;
    font-weight: 600;
    padding: 0 4px;
}

.eloz-shop-show-per-page a.active,
.eloz-shop-show-per-page a:hover {
    color: var(--wc-primary);
}

.eloz-shop-layout-switchers {
    border-left: 1px solid var(--wc-border);
    border-right: 1px solid var(--wc-border);
    padding: 0 15px;
}

.eloz-shop-layout-switchers .switcher-icon {
    font-size: 16px;
    color: #cbd5e0;
    cursor: pointer;
    transition: var(--wc-transition);
}

.eloz-shop-layout-switchers .switcher-icon.active,
.eloz-shop-layout-switchers .switcher-icon:hover {
    color: var(--wc-primary);
}

.eloz-shop-ordering select {
    appearance: none;
    -webkit-appearance: none;
    -moz-appearance: none;
    background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%234a5568' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-position: right 14px center;
    background-size: 16px;
    padding: 10px 38px 10px 16px;
    border: 1px solid var(--wc-border);
    border-radius: var(--wc-radius-sm);
    font-size: 14px;
    background-color: #fff;
    color: var(--wc-body);
    font-family: inherit;
    font-weight: 500;
    cursor: pointer;
    box-shadow: 0 1px 2px rgba(0, 0, 0, 0.02);
    transition: var(--wc-transition);
}

.woocommerce .woocommerce-ordering select {
    line-height: 18px;
}

.eloz-shop-ordering select:hover {
    border-color: #cbd5e0;
}

.eloz-shop-ordering select:focus {
    outline: none;
    border-color: var(--wc-primary);
}

/* ============================================================
   PRODUCT CARD
   ============================================================ */
.eloz-product-card {
    background: #fff;
    border: 1px solid transparent;
    padding: 20px;
    transition: var(--wc-transition);
    height: 100%;
    display: flex;
    flex-direction: column;
}


/* Thumbnail */
.eloz-product-card__thumb {
    position: relative;
    overflow: hidden;
    border-radius: var(--wc-radius-sm);
    aspect-ratio: 1 / 1;
    background: var(--wc-bg-light);
    margin-bottom: 20px;
    display: flex;
    align-items: center;
    justify-content: center;
}

.eloz-product-card__thumb img {
    max-width: 100%;
    max-height: 100%;
    width: auto;
    height: auto;
    object-fit: contain;
    transition: .3s;
}

.eloz-product-card:hover .eloz-product-card__thumb img {
    transform: scale(1.1);
}

.eloz-product-card:hover {
    border-color: transparent;
}

/* Sale Badge */
.eloz-product-card .onsale {
    position: absolute;
    top: 10px;
    left: 10px;
    background: var(--wc-primary);
    color: #fff;
    font-size: 11px;
    font-weight: 700;
    padding: 3px 8px;
    border-radius: 12px;
    z-index: 2;
    line-height: 1.2;
}

/* Card Body */
.eloz-product-card__body {
    display: flex;
    flex-direction: column;
    flex-grow: 1;
}

.eloz-product-card__title {
    font-size: 16px;
    font-weight: 600;
    margin: 0 0 10px 0;
    line-height: 1.4;
    font-family: var(--font-body);
    letter-spacing: 0;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
    text-overflow: ellipsis;
    min-height: calc(1.4em * 2);
}

.eloz-product-card__title a {
    color: var(--wc-heading);
    text-decoration: none;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
    text-overflow: ellipsis;
}

.eloz-product-card__title a:hover {
    color: var(--wc-primary);
}

/* Price */
.eloz-product-card__price {
    font-size: 20px;
    font-weight: 700;
    color: var(--wc-primary);
    margin-bottom: 20px;
    margin-top: auto;
    display: flex;
    align-items: baseline;
    gap: 8px;
}

.eloz-product-card__price del {
    color: #a0aec0;
    font-size: 14px;
    font-weight: 400;
    order: 2;
}

.eloz-product-card__price ins {
    text-decoration: none;
    color: var(--wc-primary);
    order: 1;
}

/* Action button at bottom - Orange Outline Style with Cart Icon */
.eloz-product-card__action-btn {
    margin-top: auto;
    display: flex !important;
    align-items: center !important;
    gap: 8px !important;
    width: 100% !important;
}

.eloz-product-card__action-btn .button {
    flex: 1 1 auto !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: auto !important;
    height: 44px !important;
    min-height: 44px !important;
    background: transparent !important;
    color: var(--wc-primary) !important;
    border: 1px solid var(--wc-primary) !important;
    padding: 0 15px !important;
    border-radius: var(--wc-radius-sm) !important;
    font-size: 14px !important;
    font-weight: 600 !important;
    text-decoration: none !important;
    transition: var(--wc-transition) !important;
    box-sizing: border-box !important;
}


.eloz-product-card__action-btn .button:hover {
    background: var(--wc-primary) !important;
    color: #fff !important;
}

.eloz-product-card__action-btn .button::before {
    content: "\f07a";
    font-family: "Font Awesome 5 Pro";
    font-weight: 400;
    margin-right: 8px;
    font-size: 14px;
}

.eloz-product-card__action-btn .added_to_cart {
    display: block;
    text-align: center;
    font-size: 12px;
    color: var(--wc-primary);
    margin-top: 8px;
    text-decoration: none;
    font-weight: 600;
}

/* ============================================================
   SINGLE PRODUCT — 3-Section Layout
   ============================================================ */

/* Page background */
.eloz-single-product-wrap {
    background: #f5f5f5;
}

/* Outer container — transparent, just holds the 3 sections together */
.eloz-product-single {
    background: transparent;
}

/* Clearfix helper */
.eloz-clearfix {
    clear: both;
    display: block;
    height: 0;
    overflow: hidden;
}

/* ═══ SECTION 1: Product Top Card (Gallery + Summary) ═══ */
.eloz-product-top-card {
    background: #fff;
    border-radius: 5px;
    padding: 40px;
    margin-bottom: 50px;
    display: flex;
    gap: 40px;
    align-items: flex-start;
}

/* Gallery column takes its natural width (600px = 80px thumbs + 20px gap + 500px main) */
.eloz-product-top-card .woocommerce-product-gallery {
    flex: 0 0 auto;
    width: auto;
    align-self: flex-start;
}

/* Summary column fills remaining space */
.eloz-product-top-card .woocommerce-product-gallery~.entry-summary,
.eloz-product-top-card .summary {
    flex: 1;
    min-width: 0;
}

.eloz-product-top-card .eloz-clearfix {
    display: none;
}

/* ──────────────────────────────────────────────
   Custom Eloz Gallery (No Flexslider)
────────────────────────────────────────────── */
.eloz-gallery-wrap {
    display: flex;
    flex-direction: row;
    gap: 20px;
    align-items: flex-start;
    position: -webkit-sticky;
    align-self: flex-start;
}

.woocommerce div.product div.summary {
    margin-bottom: 0;
}

/* Thumbnail strip on the left */
.eloz-gallery-thumbs {
    display: flex;
    flex-direction: column;
    gap: 10px;
    flex: 0 0 80px;
    width: 80px;
}

.eloz-thumb-item {
    width: 80px;
    height: 80px;
    border-radius: 8px;
    overflow: hidden;
    cursor: pointer;
    border: 2px solid #e0e0e0;
    transition: border-color 0.2s ease;
    flex-shrink: 0;
}

.eloz-thumb-item.active,
.eloz-thumb-item:hover {
    border-color: var(--wc-primary, #e0762b);
}

.eloz-thumb-item img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

/* Main image area — 530×530px square */
.eloz-gallery-main {
    flex: 0 0 530px;
    width: 530px;
    height: 530px;
    position: relative;
    border-radius: 10px;
    overflow: hidden;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 0;
    line-height: 0;
}

.eloz-main-img-link {
    display: block;
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
}

.eloz-main-img {
    width: 530px;
    height: 530px;
    object-fit: cover;
    display: block;
    vertical-align: top;
    transition: opacity 0.2s ease;
    cursor: pointer;
}


/* ── GLightbox Custom Overrides ──────────────────────── */
.glightbox-clean .gclose {
    background: rgba(255, 255, 255, 0.15) !important;
    border-radius: 50% !important;
    width: 40px !important;
    height: 40px !important;
    top: 15px !important;
    right: 15px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    border: none !important;
}

.glightbox-clean .gclose:hover {
    background: rgba(255, 255, 255, 0.35) !important;
}

.glightbox-clean .gclose svg path {
    fill: #ffffff !important;
}

.glightbox-clean .gprev,
.glightbox-clean .gnext {
    background: rgba(255, 255, 255, 0.15) !important;
    border-radius: 50% !important;
    width: 48px !important;
    height: 48px !important;
    transition: background 0.2s ease !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
}

.glightbox-clean .gprev svg path,
.glightbox-clean .gnext svg path {
    fill: #ffffff !important;
}

.glightbox-clean .gprev:hover,
.glightbox-clean .gnext:hover {
    background: rgba(255, 255, 255, 0.35) !important;
}

.glightbox-clean .goverlay {
    background: rgba(0, 0, 0, 0.92) !important;
}

/* GLightbox Tablet & Mobile popup sizing: breathing space all around & perfectly centered */
@media (max-width: 1024px) {
    .glightbox-clean .gslide-inner-content {
        padding: 40px 24px !important;
        box-sizing: border-box !important;
    }

    .glightbox-clean .ginner-container {
        align-items: center !important;
        justify-content: center !important;
        margin: 0 auto !important;
        width: 100% !important;
    }

    .glightbox-clean .gslide-media.gslide-image {
        margin: 0 auto !important;
        align-self: center !important;
        max-width: 80vw !important;
        max-height: 72vh !important;
    }

    .glightbox-clean .gslide-media.gslide-image img {
        margin: 0 auto !important;
        max-width: 80vw !important;
        max-height: 72vh !important;
        width: auto !important;
        height: auto !important;
        object-fit: contain !important;
        border-radius: 10px !important;
        box-shadow: 0 12px 35px rgba(0, 0, 0, 0.45) !important;
    }
}


/* Sale badge */

/* Sale badge */
.eloz-product-top-card .woocommerce-badge.onsale {
    position: absolute;
    top: 14px;
    left: 14px;
    background: var(--wc-primary);
    color: #fff;
    font-size: 11px;
    font-weight: 700;
    padding: 4px 10px;
    border-radius: 4px;
    letter-spacing: 0.5px;
    text-transform: uppercase;
    z-index: 2;
}

/* ── Summary Column ── */
.eloz-product-top-card .summary.entry-summary {
    flex: 1;
    min-width: 0;
    padding: 0;
}

/* Breadcrumb inline on product */
.eloz-product-single .woocommerce-breadcrumb {
    font-size: 13px;
    color: var(--wc-body);
    margin-bottom: 16px;
    opacity: 0.75;
}

/* Category above title */
.eloz-product-single .posted_in {
    font-size: 12px;
    font-weight: 700;
    letter-spacing: 1px;
    text-transform: uppercase;
    color: var(--wc-primary);
    margin-bottom: 10px;
    display: block;
}

/* Product Title */
.eloz-product-single .product_title {
    font-family: var(--font-heading);
    font-size: clamp(22px, 2.4vw, 30px);
    font-weight: 600;
    line-height: 1.3;
    color: var(--wc-heading);
    margin-bottom: 20px;
    letter-spacing: 0px;
}

/* Rating row */
.eloz-product-single .woocommerce-product-rating {
    display: flex;
    align-items: center;
    gap: 10px;
    margin-bottom: 20px;
    padding-bottom: 20px;
    border-bottom: 1px solid var(--wc-border);
}

.eloz-product-single .star-rating {
    font-size: 14px;
    color: #f59e0b;
}

.eloz-product-single .woocommerce-review-link {
    font-size: 13px;
    color: var(--wc-body);
    text-decoration: none;
}

.eloz-product-single .woocommerce-review-link:hover {
    color: var(--wc-primary);
}

/* Viewers badge */
.eloz-product-single .eloz-live-viewers {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    font-size: 13px;
    color: var(--wc-body);
    margin-bottom: 18px;
}

.eloz-product-single .eloz-live-viewers svg {
    color: var(--wc-primary);
    flex-shrink: 0;
}

/* Price block */
.woocommerce div.product p.price,
.woocommerce div.product span.price,
.eloz-product-single .price {
    font-family: var(--font-heading);
    font-size: 32px;
    font-weight: 800;
    color: var(--wc-primary);
    margin-bottom: 20px;
    display: flex;
    align-items: baseline;
    gap: 12px;
    line-height: 1;
}

.woocommerce div.product .price del,
.eloz-product-single .price del {
    color: #b0b0b0;
    font-size: 18px;
    font-weight: 500;
    text-decoration: line-through;
    order: 2;
}

.woocommerce div.product .price ins,
.eloz-product-single .price ins {
    text-decoration: none;
    color: var(--wc-primary) !important;
    order: 1;
    font-weight: 600 !important;
}

/* Short description */
.eloz-product-single .woocommerce-product-details__short-description {
    color: var(--wc-body);
    font-size: 15px;
    line-height: 1.75;
    margin-bottom: 28px;
    border-bottom: 1px solid var(--wc-border);
    padding-bottom: 24px;
}

.eloz-product-single .woocommerce-product-details__short-description p {
    margin: 0 0 10px;
}

/* ── Quantity Stepper ── */
.eloz-product-single .quantity {
    display: flex;
    align-items: center;
    border: 1.5px solid var(--wc-border);
    border-radius: var(--wc-radius-sm);
    overflow: hidden;
    height: 52px;
    background: #fff;
    transition: border-color 0.2s;
}

.eloz-product-single .quantity:focus-within {
    border-color: var(--wc-primary);
}

.eloz-product-single .quantity .qty-btn {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 42px;
    height: 52px;
    background: #f5f5f5;
    border: none;
    cursor: pointer;
    font-size: 18px;
    font-weight: 600;
    color: var(--wc-heading);
    line-height: 1;
    transition: background 0.2s, color 0.2s;
    user-select: none;
    -webkit-user-select: none;
    flex-shrink: 0;
}

.eloz-product-single .quantity .qty-btn:hover {
    background: var(--wc-primary);
    color: #fff;
}

.eloz-product-single .quantity input[type=number] {
    width: 62px;
    height: 52px;
    border: none;
    border-left: 1.5px solid var(--wc-border);
    border-right: 1.5px solid var(--wc-border);
    text-align: center;
    font-size: 16px;
    font-weight: 700;
    color: var(--wc-heading);
    font-family: var(--font-body);
    outline: none;
    -moz-appearance: textfield;
    appearance: textfield;
    background: #fff;
}

.eloz-product-single .quantity input[type=number]::-webkit-inner-spin-button,
.eloz-product-single .quantity input[type=number]::-webkit-outer-spin-button {
    -webkit-appearance: none;
    margin: 0;
}

/* ── Add-to-cart form ── */
.eloz-product-top-card form.cart {
    display: flex;
    align-items: center;
    gap: 14px;
    margin-bottom: 24px;
    width: 100%;
}

.eloz-product-top-card .single_add_to_cart_button {
    flex: 1;
    background: #fff !important;
    color: var(--wc-primary) !important;
    border: 2px solid var(--wc-primary) !important;
    padding: 0 32px !important;
    height: 52px !important;
    border-radius: var(--wc-radius-sm) !important;
    font-family: var(--font-heading) !important;
    font-size: 13px !important;
    font-weight: 700 !important;
    cursor: pointer !important;
    letter-spacing: 0.3px !important;
    transition: var(--wc-transition) !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 8px !important;
    white-space: nowrap !important;
}

.eloz-product-top-card .single_add_to_cart_button:hover {
    background: var(--wc-primary) !important;
    color: #fff !important;
}

/* ── Trust / Delivery Info Badges ── */
.eloz-product-single .eloz-trust-badges {
    display: flex;
    flex-direction: column;
    gap: 12px;
    margin-top: 24px;
    margin-bottom: 24px;
    padding: 0;
    background: transparent;
    border: none;
}

.eloz-trust-badge {
    display: flex;
    align-items: center;
    gap: 10px;
    font-size: 14px;
    color: var(--wc-body);
}

.eloz-trust-badge svg {
    flex-shrink: 0;
    width: 18px;
    height: 18px;
    color: var(--wc-primary);
}

.eloz-trust-badge strong {
    color: var(--wc-heading);
    font-weight: 700;
}

/* ═══ SECTION 3: Related / Upsell Products (NO card, plain display) ═══ */
.related.products,
.upsells.products {
    margin-top: 40px;
    padding-top: 0;
    border-top: none;
    background: transparent;
    clear: both;
}

/* Remove the duplicate inner clear rule */
.eloz-product-single .related.products,
.eloz-product-single .upsells.products {
    clear: both;
    background: transparent;
}

.related.products h2,
.upsells.products h2 {
    font-family: var(--font-heading);
    font-size: 22px;
    font-weight: 800;
    color: var(--wc-heading);
    margin-bottom: 24px;
    position: relative;
    padding-left: 16px;
}

.related.products h2::before,
.upsells.products h2::before {
    content: '';
    position: absolute;
    left: 0;
    top: 50%;
    transform: translateY(-50%);
    width: 4px;
    height: 70%;
    background: var(--wc-primary);
    border-radius: 3px;
}

.eloz-product-single .product_meta span {
    display: flex;
    align-items: center;
    gap: 6px;
}

.eloz-product-single .product_meta .sku_wrapper {
    font-weight: 500;
}

.eloz-product-single .product_meta .sku {
    font-weight: 700;
    color: var(--wc-heading);
}

.eloz-product-single .product_meta a {
    color: var(--wc-primary);
    text-decoration: none;
    transition: opacity 0.2s;
}

.eloz-product-single .product_meta a:hover {
    opacity: 0.75;
}

/* Extra Action Buttons Container */
.eloz-extra-action-buttons {
    display: flex;
    gap: 16px;
    margin-bottom: 24px;
    width: 100%;
}

/* Buy Now button — full width, orange */
.eloz-buy-now-btn {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    flex: 1;
    background: var(--wc-primary);
    color: #fff !important;
    border: 2px solid var(--wc-primary) !important;
    padding: 0 32px;
    height: 52px;
    border-radius: var(--wc-radius-sm);
    font-family: var(--font-heading);
    font-size: 13px;
    font-weight: 700;
    cursor: pointer;
    text-decoration: none;
    letter-spacing: 0.2px;
    transition: var(--wc-transition);
    margin-bottom: 0;
    box-sizing: border-box;
    white-space: nowrap;
}

.eloz-buy-now-btn:hover {
    background-color: #c8631b;
}


/* ── Description, Specifications and Reviews ── */

.eloz-detail-heading {
    font-family: var(--font-heading);
    font-size: 18px;
    font-weight: 500;
    color: var(--wc-heading);
    margin-bottom: 20px;
}

.eloz-detail-content {
    font-size: 15px;
    line-height: 1.8;
    color: var(--wc-body);
}

.eloz-detail-content h1,
.eloz-detail-content h2,
.eloz-detail-content h3,
.eloz-detail-content h4,
.eloz-detail-content h5,
.eloz-detail-content h6 {
    margin-top: 1.1em;
    margin-bottom: 0.6em;
    color: var(--wc-heading);
    font-family: var(--font-heading);
    line-height: 1.3;
}

.eloz-single-desc-section {
    margin-bottom: 20px;
}

.eloz-detail-content p {
    margin-bottom: 1.2em;
}

.eloz-detail-content>*:first-child {
    margin-top: 0;
}

/* Specifications Table */
.eloz-single-spec-section table {
    width: 100%;
    border-collapse: collapse;
    margin-bottom: 10px;
}

.eloz-single-spec-section table th,
.eloz-single-spec-section table td {
    padding: 12px 16px;
    border: 1px solid var(--wc-border);
    font-size: 14px;
}

.eloz-single-spec-section table th {
    background: #fafafa;
    font-weight: 700;
    color: var(--wc-heading);
    width: 30%;
}

/* ── Stacked Review Summary ── */
.eloz-stacked-summary {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 16px 20px;
    background: #fff;
    border: 1px solid #ebebeb;
    border-radius: 8px;
    margin-bottom: 20px;
}

.eloz-stacked-star {
    color: #ffb800;
    font-size: 24px;
    line-height: 1;
}

.eloz-stacked-score {
    font-size: 24px;
    font-weight: 800;
    color: var(--wc-heading);
    line-height: 1;
}

.eloz-stacked-meta {
    font-size: 14px;
    color: #777;
    margin-top: 3px;
}

/* Reviews list */
.eloz-single-reviews-section #comments ol.commentlist {
    padding: 0;
    margin: 0;
    list-style: none;
}

.eloz-single-reviews-section #comments ol.commentlist li {
    padding: 0 !important;
    margin-bottom: 16px !important;
    border: none !important;
}

.woocommerce #reviews #comments ol.commentlist li .comment-text {
    margin: 0;
    border: transparent;
    border-radius: 0;
    padding: 0;
}

.eloz-single-reviews-section #comments ol.commentlist li .comment_container {
    background: #fff;
    border: 1px solid #ebebeb;
    border-radius: 8px;
    padding: 16px 20px;
    position: relative;
}

/* Avatar circle */
.eloz-single-reviews-section #comments ol.commentlist li img.avatar {
    display: none;
}

.eloz-single-reviews-section .comment_container::before {
    content: attr(data-initial);
    width: 44px;
    height: 44px;
    border-radius: 50%;
    background: #f1f3f5;
    color: #333;
    font-weight: 700;
    font-size: 16px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-family: var(--font-heading);
    vertical-align: top;
    margin-right: 14px;
    margin-top: 2px;
    float: left;
}

.eloz-single-reviews-section .comment-text {
    overflow: hidden;
    /* clears float */
}

/* Reviewer name & date */
.eloz-single-reviews-section .comment-text .woocommerce-review__author {
    font-weight: 700;
    font-size: 15px;
    color: var(--wc-heading);
    display: block;
    margin-top: 2px;
}

.eloz-single-reviews-section .comment-text .woocommerce-review__dash {
    display: none;
}

.eloz-single-reviews-section .comment-text .woocommerce-review__published-date {
    font-size: 13px;
    color: #888;
    display: block;
    margin-bottom: 16px;
}

/* Stars — top right */
.eloz-single-reviews-section .comment-text .star-rating {
    position: absolute;
    top: 20px;
    right: 20px;
    font-size: 14px;
}

/* Review body text */
.eloz-single-reviews-section .comment-text .description {
    clear: both;
    margin-top: 10px;
}

.eloz-single-reviews-section .comment-text .description p {
    font-size: 15px;
    line-height: 1.6;
    color: var(--wc-body);
    margin: 0;
}

/* ── Custom Pagination ── */
.eloz-review-pagination {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 6px;
    margin-top: 28px;
    flex-wrap: wrap;
}

.eloz-review-pagination a,
.eloz-review-pagination span {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 38px;
    height: 38px;
    padding: 0 10px;
    border-radius: 8px;
    font-size: 14px;
    font-family: var(--font-heading);
    font-weight: 600;
    text-decoration: none;
    border: 1px solid #e0e0e0;
    background: #fff;
    color: var(--wc-body);
    transition: var(--wc-transition);
    cursor: pointer;
    line-height: 1;
}

.eloz-review-pagination a:hover {
    background: var(--wc-primary);
    border-color: var(--wc-primary);
    color: #fff;
}

.eloz-review-pagination .current-page,
.eloz-review-pagination span.current {
    background: var(--wc-primary);
    border-color: var(--wc-primary);
    color: #fff;
    font-weight: 700;
}

.eloz-review-pagination .eloz-dots {
    border: none;
    background: transparent;
    color: #aaa;
    cursor: default;
    padding: 0 4px;
}

.eloz-review-pagination .eloz-pag-disabled {
    opacity: 0.4;
    cursor: default;
    pointer-events: none;
}

/* ── Review Form Card ── */
.eloz-stacked-form-card {
    background: #fff;
    border: 1px solid #ebebeb;
    border-radius: 12px;
    padding: 30px;
    margin-top: 10px;
    padding-top: 0;
}

.eloz-review-form-header {
    margin-bottom: 22px;
}

.eloz-review-form-title {
    font-family: var(--font-heading);
    font-size: 18px;
    font-weight: 700;
    color: var(--wc-heading);
    margin: 0 0 4px;
}

.eloz-review-form-subtitle {
    font-size: 13px;
    color: #888;
    margin: 0;
}

/* Form groups */
.eloz-stacked-form-card .eloz-form-group,
.eloz-stacked-form-card .comment-form-author,
.eloz-stacked-form-card .comment-form-email,
.eloz-stacked-form-card .comment-form-comment,
.eloz-stacked-form-card .comment-form-rating {
    margin-bottom: 18px;
}

.eloz-form-label,
.eloz-stacked-form-card label {
    display: block;
    font-family: var(--font-heading);
    font-size: 14px;
    font-weight: 700;
    color: var(--wc-heading);
    margin-bottom: 8px;
    letter-spacing: 0;
}

.eloz-form-optional {
    font-weight: 400;
    color: #aaa;
}

.eloz-form-input,
.eloz-form-textarea,
.eloz-stacked-form-card input[type="text"],
.eloz-stacked-form-card input[type="email"],
.eloz-stacked-form-card textarea {
    width: 100%;
    border: 1px solid #e0e0e0;
    border-radius: 8px;
    padding: 12px 16px;
    font-family: var(--font-body, inherit);
    font-size: 15px;
    color: var(--wc-heading);
    background: #fff;
    transition: border-color 0.2s, box-shadow 0.2s;
    outline: none;
    box-sizing: border-box;
    resize: vertical;
}

.eloz-form-input:focus,
.eloz-form-textarea:focus,
.eloz-stacked-form-card input[type="text"]:focus,
.eloz-stacked-form-card input[type="email"]:focus,
.eloz-stacked-form-card textarea:focus {
    border-color: #ccc;
    background: #fff;
}

/* Interactive star picker */
.eloz-star-picker {
    display: flex;
    flex-direction: row-reverse;
    gap: 4px;
    justify-content: flex-end;
}

.eloz-star-picker input[type="radio"] {
    display: none;
}

.eloz-star-picker label {
    font-size: 30px;
    color: #ddd;
    cursor: pointer;
    transition: color 0.15s;
    line-height: 1;
    margin-bottom: 0;
    padding: 0;
}

/* Hover: colour current + all to the right */
.eloz-star-picker label:hover,
.eloz-star-picker label:hover~label {
    color: #f5a623;
}

/* Checked state: colour checked + all to the right */
.eloz-star-picker input[type="radio"]:checked~label {
    color: #f5a623;
}

/* Photo upload zone */
.eloz-photo-upload-area {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 6px;
    width: 100%;
    border: 2px dashed #ddd;
    border-radius: 10px;
    padding: 24px 20px;
    text-align: center;
    cursor: pointer;
    transition: border-color 0.2s, background 0.2s;
    color: #aaa;
    margin-bottom: 12px;
}

.eloz-photo-upload-area:hover,
.eloz-photo-upload-area.eloz-drag-over {
    border-color: var(--wc-primary);
    background: rgba(240, 96, 0, 0.03);
    color: var(--wc-primary);
}

.eloz-photo-upload-area svg {
    flex-shrink: 0;
    stroke: currentColor;
}

.eloz-photo-label {
    font-size: 14px;
    font-weight: 600;
    font-family: var(--font-heading);
    color: inherit;
}

.eloz-photo-hint {
    font-size: 12px;
    color: #bbb;
}

.eloz-photo-preview {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}

.eloz-preview-thumb {
    width: 72px;
    height: 72px;
    object-fit: cover;
    border-radius: 8px;
    border: 1.5px solid #ebebeb;
}

/* Submit button */
.eloz-review-form-wrap #submit,
.eloz-review-submit-btn,
.eloz-review-form-wrap .form-submit input[type="submit"] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: var(--wc-primary) !important;
    color: #fff !important;
    border: none !important;
    border-radius: 10px !important;
    padding: 0 32px !important;
    height: 52px !important;
    font-family: var(--font-heading) !important;
    font-size: 15px !important;
    font-weight: 700 !important;
    letter-spacing: 0.5px !important;
    cursor: pointer !important;
    transition: all 0.3s ease !important;
    text-transform: uppercase !important;
    margin-top: 8px !important;
    box-shadow: 0 4px 12px rgba(240, 96, 0, 0.2);
    width: 100%;
}

.eloz-review-form-wrap #submit:hover,
.eloz-review-submit-btn:hover,
.eloz-review-form-wrap .form-submit input[type="submit"]:hover {
    background: #d45400 !important;
    box-shadow: 0 6px 16px rgba(240, 96, 0, 0.3);
    transform: translateY(-2px);
}

/* Hide WooCommerce's default heading inside the form (we use our own) */
.eloz-review-form-wrap .comment-reply-title {
    display: none !important;
}

.eloz-review-form-wrap .comment-notes {
    display: none;
}

/* ── Related / Upsell Products ── */
.related.products,
.upsells.products {
    margin-top: 60px;
    padding-top: 40px;
    border-top: 1px solid var(--wc-border);
    clear: both;
}


.related.products h2,
.upsells.products h2 {
    font-family: var(--font-heading);
    font-size: 26px;
    font-weight: 800;
    color: var(--wc-heading);
    margin-bottom: 32px;
    position: relative;
    padding-left: 18px;
}

.related.products h2::before,
.upsells.products h2::before {
    content: '';
    position: absolute;
    left: 0;
    top: 50%;
    transform: translateY(-50%);
    width: 5px;
    height: 70%;
    background: var(--wc-primary);
    border-radius: 3px;
}

/* ── Related / Upsell — also clear floats ── */
.eloz-product-single .related.products,
.eloz-product-single .upsells.products {
    clear: both;
}

/* ════════════════════════════════════════════════════════════════════
   PRODUCT DATA TABS — Matches Top Product Card Style (.eloz-product-top-card)
   ════════════════════════════════════════════════════════════════════ */

/* Outer Card Container — exact match to .eloz-product-top-card */
.eloz-tabs-card {
    background: #fff !important;
    border-radius: 5px !important;
    padding: 40px !important;
    margin-bottom: 50px !important;
    border: none !important;
    box-shadow: none !important;
    display: block !important;
}

/* Inner WooCommerce Tabs — transparent, no double box */
body.woocommerce div.product .woocommerce-tabs,
.woocommerce div.product .woocommerce-tabs,
.eloz-tabs-card .woocommerce-tabs {
    background: transparent !important;
    border: none !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    padding: 0 !important;
    margin: 0 !important;
    position: relative !important;
    overflow: visible !important;
}

/* ── Tab List Navigation ── */
body.woocommerce div.product .woocommerce-tabs ul.tabs,
.woocommerce div.product .woocommerce-tabs ul.tabs,
.eloz-tabs-card .woocommerce-tabs ul.tabs {
    display: flex !important;
    flex-direction: row !important;
    align-items: center !important;
    justify-content: flex-start !important;
    flex-wrap: wrap !important;
    list-style: none !important;
    margin: 0 0 10px 0 !important;
    padding: 0 0 0 0 !important;
    border: none !important;
    border-bottom: 1px solid #eef0f2 !important;
    background: transparent !important;
    gap: 32px !important;
    overflow: visible !important;
}

/* Strip ALL WooCommerce default tab borders, backgrounds & pseudoelements */
body.woocommerce div.product .woocommerce-tabs ul.tabs li,
.woocommerce div.product .woocommerce-tabs ul.tabs li,
.eloz-tabs-card .woocommerce-tabs ul.tabs li {
    display: inline-flex !important;
    align-items: center !important;
    margin: 0 !important;
    padding: 0 !important;
    border: none !important;
    background: transparent !important;
    background-color: transparent !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    position: relative !important;
    z-index: 1 !important;
}

/* Remove WooCommerce pseudo-element curved corners */
body.woocommerce div.product .woocommerce-tabs ul.tabs li::before,
body.woocommerce div.product .woocommerce-tabs ul.tabs li::after,
.woocommerce div.product .woocommerce-tabs ul.tabs li::before,
.woocommerce div.product .woocommerce-tabs ul.tabs li::after {
    display: none !important;
    content: none !important;
    border: none !important;
}

/* Tab Links — Pure Clean Typography */
body.woocommerce div.product .woocommerce-tabs ul.tabs li a,
.woocommerce div.product .woocommerce-tabs ul.tabs li a,
.eloz-tabs-card .woocommerce-tabs ul.tabs li a {
    display: block !important;
    padding: 0 0 16px 0 !important;
    font-family: var(--font-heading, "Instrument Sans", sans-serif) !important;
    font-size: 18px !important;
    font-weight: 500 !important;
    color: #1e293b !important;
    text-decoration: none !important;
    border: none !important;
    border-bottom: 3px solid transparent !important;
    margin-bottom: -1px !important;
    background: transparent !important;
    background-color: transparent !important;
    transition: color 0.2s ease, border-color 0.2s ease !important;
    letter-spacing: -0.2px !important;
    line-height: 1.3 !important;
}

/* Hover State */
body.woocommerce div.product .woocommerce-tabs ul.tabs li a:hover,
.woocommerce div.product .woocommerce-tabs ul.tabs li a:hover {
    color: var(--wc-primary, #2563eb) !important;
}

/* Active Tab State */
body.woocommerce div.product .woocommerce-tabs ul.tabs li.active,
.woocommerce div.product .woocommerce-tabs ul.tabs li.active {
    background: transparent !important;
    background-color: transparent !important;
    border: none !important;
}

body.woocommerce div.product .woocommerce-tabs ul.tabs li.active a,
.woocommerce div.product .woocommerce-tabs ul.tabs li.active a,
.woocommerce div.product .woocommerce-tabs ul.tabs li.active a:focus {
    color: var(--wc-primary, #2563eb) !important;
    border-bottom: 3px solid var(--wc-primary, #2563eb) !important;
    background: transparent !important;
    background-color: transparent !important;
    font-weight: 500 !important;
}

/* ── Tab Panels (Content Area) ── */
body.woocommerce div.product .woocommerce-tabs .woocommerce-Tabs-panel,
body.woocommerce div.product .woocommerce-tabs .panel,
.woocommerce div.product .woocommerce-tabs .panel,
.eloz-tabs-card .woocommerce-tabs .woocommerce-Tabs-panel {
    margin: 0 !important;
    padding: 0 !important;
    border: none !important;
    background: transparent !important;
    box-shadow: none !important;
    display: none;
}

body.woocommerce div.product .woocommerce-tabs .woocommerce-Tabs-panel.active,
body.woocommerce div.product .woocommerce-tabs .panel[style*="block"],
.woocommerce div.product .woocommerce-tabs .panel[style*="block"],
.eloz-tabs-card .woocommerce-tabs .woocommerce-Tabs-panel.active {
    display: block !important;
}

/* Hide redundant panel internal h2 if same as tab title */
body.woocommerce div.product .woocommerce-tabs #tab-description>h2:first-child,
.eloz-tabs-card .woocommerce-tabs #tab-description>h2:first-child {
    display: none !important;
}

/* Panel Typography */
body.woocommerce div.product .woocommerce-tabs .woocommerce-Tabs-panel p,
body.woocommerce div.product .woocommerce-tabs .panel p {
    font-size: 15px !important;
    line-height: 1.8 !important;
    color: #475569 !important;
    margin-bottom: 16px !important;
}

body.woocommerce div.product .woocommerce-tabs .woocommerce-Tabs-panel h2,
body.woocommerce div.product .woocommerce-tabs .woocommerce-Tabs-panel h3,
body.woocommerce div.product .woocommerce-tabs .woocommerce-Tabs-panel h4 {
    font-family: var(--font-heading, "Instrument Sans", sans-serif) !important;
    font-weight: 600 !important;
    color: #0f172a !important;
    margin: 24px 0 14px 0 !important;
}

body.woocommerce div.product .woocommerce-tabs .woocommerce-Tabs-panel ul,
body.woocommerce div.product .woocommerce-tabs .woocommerce-Tabs-panel ol {
    margin: 16px 0 20px 20px !important;
    padding: 0 !important;
    color: #475569 !important;
    font-size: 15px !important;
    line-height: 1.8 !important;
}

body.woocommerce div.product .woocommerce-tabs .woocommerce-Tabs-panel li {
    margin-bottom: 8px !important;
}

/* ── Additional Information Tab: Table ── */
body.woocommerce div.product .woocommerce-tabs .woocommerce-product-attributes {
    width: 100% !important;
    border-collapse: collapse !important;
    margin-top: 10px !important;
    border: 1px solid #f1f5f9 !important;
    border-radius: 10px !important;
    overflow: hidden !important;
}

body.woocommerce div.product .woocommerce-tabs .woocommerce-product-attributes th,
body.woocommerce div.product .woocommerce-tabs .woocommerce-product-attributes td {
    padding: 14px 20px !important;
    font-size: 14px !important;
    border-bottom: 1px solid #f1f5f9 !important;
    vertical-align: middle !important;
}

body.woocommerce div.product .woocommerce-tabs .woocommerce-product-attributes th {
    font-weight: 600 !important;
    color: #0f172a !important;
    background: #f8fafc !important;
    width: 220px !important;
}

body.woocommerce div.product .woocommerce-tabs .woocommerce-product-attributes td {
    color: #475569 !important;
}

body.woocommerce div.product .woocommerce-tabs .woocommerce-product-attributes tr:last-child th,
body.woocommerce div.product .woocommerce-tabs .woocommerce-product-attributes tr:last-child td {
    border-bottom: none !important;
}

/* ── Reviews Tab Styling ── */
body.woocommerce div.product .woocommerce-tabs #tab-reviews #reviews {
    padding: 0 !important;
    margin: 0 !important;
}

body.woocommerce div.product .woocommerce-tabs #tab-reviews .woocommerce-Reviews-title {
    font-size: 20px !important;
    font-weight: 700 !important;
    margin-bottom: 24px !important;
    color: #0f172a !important;
}

body.woocommerce div.product .woocommerce-tabs #tab-reviews #comments ol.commentlist {
    list-style: none !important;
    padding: 0 !important;
    margin: 0 0 32px 0 !important;
}

body.woocommerce div.product .woocommerce-tabs #tab-reviews #comments ol.commentlist li {
    padding: 0 0 24px 0 !important;
    margin-bottom: 24px !important;
    border-bottom: 1px solid #f1f5f9 !important;
    list-style: none !important;
    background: transparent !important;
}

body.woocommerce div.product .woocommerce-tabs #tab-reviews #comments ol.commentlist li:last-child {
    border-bottom: none !important;
    margin-bottom: 0 !important;
    padding-bottom: 0 !important;
}

body.woocommerce div.product .woocommerce-tabs #tab-reviews ol.commentlist li .comment_container {
    display: flex !important;
    gap: 16px !important;
    align-items: flex-start !important;
}

body.woocommerce div.product .woocommerce-tabs #tab-reviews ol.commentlist li img.avatar {
    width: 48px !important;
    height: 48px !important;
    border-radius: 50% !important;
    object-fit: cover !important;
    flex-shrink: 0 !important;
    border: 2px solid #e2e8f0 !important;
}

body.woocommerce div.product .woocommerce-tabs #tab-reviews ol.commentlist li .comment-text {
    flex: 1 !important;
    min-width: 0 !important;
}

body.woocommerce div.product .woocommerce-tabs #tab-reviews ol.commentlist li .comment-text .meta {
    display: flex !important;
    align-items: center !important;
    flex-wrap: wrap !important;
    gap: 8px !important;
    margin-bottom: 8px !important;
}

body.woocommerce div.product .woocommerce-tabs #tab-reviews .woocommerce-review__author {
    font-weight: 700 !important;
    font-size: 15px !important;
    color: #0f172a !important;
}

body.woocommerce div.product .woocommerce-tabs #tab-reviews .woocommerce-review__dash {
    color: #cbd5e1 !important;
}

body.woocommerce div.product .woocommerce-tabs #tab-reviews .woocommerce-review__published-date {
    font-size: 13px !important;
    color: #94a3b8 !important;
}

body.woocommerce div.product .woocommerce-tabs #tab-reviews .star-rating {
    font-size: 14px !important;
    margin-left: auto !important;
}

body.woocommerce div.product .woocommerce-tabs #tab-reviews .description p {
    font-size: 15px !important;
    line-height: 1.7 !important;
    color: #475569 !important;
    margin: 0 !important;
}

/* ── Review Form ── */
.eloz-stacked-form-card,
#review_form_wrapper,
.eloz-tabs-card #review_form_wrapper {
    margin-top: 28px !important;
    padding-top: 24px !important;
    border-top: 1px solid #f1f5f9 !important;
}

.eloz-review-form-header {
    margin-bottom: 18px !important;
}

.eloz-review-form-title {
    font-size: 18px !important;
    font-weight: 700 !important;
    color: #0f172a !important;
    margin: 0 0 4px 0 !important;
}

.eloz-review-form-subtitle {
    font-size: 14px !important;
    color: #64748b !important;
    margin: 0 !important;
}

.eloz-form-group {
    margin-bottom: 14px !important;
}

.eloz-form-label,
.eloz-tabs-card #review_form p>label,
#review_form .eloz-form-group>label:not(.eloz-star-picker label) {
    font-size: 14px !important;
    font-weight: 600 !important;
    color: #1e293b !important;
    margin-bottom: 6px !important;
    display: block !important;
}

/* ── Star Rating Picker (Golden Amber & Light Gray) ── */
#review_form .eloz-star-picker,
.eloz-tabs-card #review_form .eloz-star-picker,
body.woocommerce div.product #review_form .eloz-star-picker,
.eloz-star-picker {
    display: inline-flex !important;
    flex-direction: row-reverse !important;
    justify-content: flex-end !important;
    align-items: center !important;
    gap: 4px !important;
    margin: 4px 0 8px 0 !important;
    line-height: 1 !important;
}

#review_form .eloz-star-picker input,
.eloz-star-picker input {
    display: none !important;
    position: absolute !important;
    opacity: 0 !important;
    pointer-events: none !important;
}

/* Individual Star Labels — Light Gray by default */
#review_form .eloz-star-picker label,
.eloz-tabs-card #review_form .eloz-star-picker label,
body.woocommerce div.product #review_form .eloz-star-picker label,
.eloz-star-picker label {
    display: inline-block !important;
    font-size: 26px !important;
    line-height: 1 !important;
    color: #cbd5e1 !important;
    /* Soft light gray for unselected stars */
    cursor: pointer !important;
    transition: color 0.15s ease, transform 0.15s ease !important;
    margin: 0 !important;
    padding: 0 2px !important;
    font-weight: normal !important;
    user-select: none !important;
    letter-spacing: 0 !important;
}

/* Hover: light up the hovered star and all stars before it */
#review_form .eloz-star-picker label:hover,
#review_form .eloz-star-picker label:hover~label,
.eloz-tabs-card #review_form .eloz-star-picker label:hover,
.eloz-tabs-card #review_form .eloz-star-picker label:hover~label,
body.woocommerce div.product #review_form .eloz-star-picker label:hover,
body.woocommerce div.product #review_form .eloz-star-picker label:hover~label,
.eloz-star-picker label:hover,
.eloz-star-picker label:hover~label {
    color: #f59e0b !important;
    /* Golden Amber on hover */
    transform: scale(1.15) !important;
}

/* Selected: keep golden amber when radio input is checked */
#review_form .eloz-star-picker input:checked~label,
.eloz-tabs-card #review_form .eloz-star-picker input:checked~label,
body.woocommerce div.product #review_form .eloz-star-picker input:checked~label,
.eloz-star-picker input:checked~label {
    color: #f59e0b !important;
    /* Golden Amber when clicked/selected */
}

/* Review Form Inputs — exactly like checkout page fields */
.eloz-form-input,
.eloz-tabs-card #review_form input[type="text"],
.eloz-tabs-card #review_form input[type="email"],
#review_form input[type="text"],
#review_form input[type="email"] {
    width: 100% !important;
    height: 45px !important;
    min-height: 45px !important;
    padding: 0 16px !important;
    border: 2px solid #e2e8f0 !important;
    border-radius: 8px !important;
    font-size: 14px !important;
    font-weight: 500 !important;
    font-family: var(--font-primary, inherit) !important;
    color: #0f172a !important;
    background: #ffffff !important;
    transition: all 0.2s ease-in-out !important;
    outline: none !important;
    box-shadow: none !important;
    box-sizing: border-box !important;
}

.eloz-form-textarea,
.eloz-tabs-card #review_form textarea,
#review_form textarea {
    width: 100% !important;
    min-height: 90px !important;
    padding: 12px 16px !important;
    border: 2px solid #e2e8f0 !important;
    border-radius: 8px !important;
    font-size: 14px !important;
    font-weight: 500 !important;
    font-family: var(--font-primary, inherit) !important;
    color: #0f172a !important;
    background: #ffffff !important;
    transition: all 0.2s ease-in-out !important;
    outline: none !important;
    box-shadow: none !important;
    box-sizing: border-box !important;
    resize: vertical !important;
    line-height: 1.5 !important;
}

/* On Focus — exactly like checkout page with theme color border */
.eloz-form-input:focus,
.eloz-form-textarea:focus,
.eloz-tabs-card #review_form input[type="text"]:focus,
.eloz-tabs-card #review_form input[type="email"]:focus,
.eloz-tabs-card #review_form textarea:focus,
#review_form input[type="text"]:focus,
#review_form input[type="email"]:focus,
#review_form textarea:focus {
    border: 2px solid var(--wc-primary, #e06b00) !important;
    box-shadow: none !important;
    outline: none !important;
    background: #ffffff !important;
}

/* Submit Button & Form Submit Wrapper — reduced space, no extra margin-top */
#review_form .form-submit,
.eloz-tabs-card #review_form .form-submit,
body.woocommerce div.product #review_form .form-submit {
    margin-top: 14px !important;
    margin-bottom: 0 !important;
    padding: 0 !important;
}

.eloz-tabs-card #review_form #submit,
.eloz-review-submit-btn,
body.woocommerce div.product #review_form #submit,
body.woocommerce div.product .form-submit input#submit,
body.woocommerce div.product .form-submit button#submit {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    background: var(--wc-primary, #e06b00) !important;
    color: #ffffff !important;
    padding: 0 32px !important;
    height: 44px !important;
    min-height: 44px !important;
    border: none !important;
    border-radius: 6px !important;
    font-family: var(--font-heading, "Instrument Sans", sans-serif) !important;
    font-size: 14px !important;
    font-weight: 700 !important;
    letter-spacing: 0.2px !important;
    cursor: pointer !important;
    transition: all 0.25s ease !important;
    text-transform: capitalize !important;
    box-shadow: 0 2px 8px rgba(224, 107, 0, 0.2) !important;
    margin-top: 0 !important;
    width: auto !important;
}

.eloz-tabs-card #review_form #submit:hover,
.eloz-review-submit-btn:hover,
body.woocommerce div.product #review_form #submit:hover,
body.woocommerce div.product .form-submit input#submit:hover,
body.woocommerce div.product .form-submit button#submit:hover {
    background: #c55f00 !important;
    box-shadow: 0 4px 14px rgba(224, 107, 0, 0.3) !important;
    transform: translateY(-1px) !important;
    color: #ffffff !important;
}

/* ════════════════════════════════════════════════════════════════════
   RELATED PRODUCTS — Full-width section, 100% Matching Shop Page
   ════════════════════════════════════════════════════════════════════ */
.eloz-related-section {
    margin-top: 50px;
    margin-bottom: 20px;
    clear: both;
    width: 100%;
}

.eloz-related-section .related.products {
    margin: 0;
    padding: 0;
    border: none;
    background: transparent;
}

.eloz-related-section .related.products>h2 {
    font-family: var(--font-heading, "Instrument Sans", sans-serif);
    font-size: 24px;
    font-weight: 600;
    color: var(--wc-heading);
    margin: 0 0 28px 0;
    display: flex;
    align-items: center;
    gap: 12px;
}

.eloz-related-section .related.products>h2::after {
    content: '';
    flex: 1;
    height: 1px;
    background: #e2e8f0;
    display: block;
}

/* Products Row (Flex container matching Bootstrap grid) */
.eloz-related-section .related.products ul.products,
.eloz-product-single .related.products ul.products {
    display: flex !important;
    flex-wrap: wrap !important;
    margin-right: -15px !important;
    margin-left: -15px !important;
    padding: 0 !important;
    list-style: none !important;
}

/* Each column item — 4 columns (25%) on desktop */
.eloz-related-section .related.products ul.products>div[class*="col-"],
.eloz-related-section .related.products ul.products>li,
.eloz-product-single .related.products ul.products>div[class*="col-"] {
    flex: 0 0 25% !important;
    max-width: 25% !important;
    width: 25% !important;
    padding-right: 15px !important;
    padding-left: 15px !important;
    margin-bottom: 30px !important;
    box-sizing: border-box !important;
    display: flex !important;
}

/* Ensure related cards are visible and full height */
.eloz-related-section .related.products .eloz-product-card,
.eloz-product-single .related.products .eloz-product-card {
    opacity: 1 !important;
    transform: none !important;
    visibility: visible !important;
    width: 100% !important;
    height: 100% !important;
}

/* ── Responsive: Tabs & Related Products ── */
@media (max-width: 991px) {

    .eloz-related-section .related.products ul.products>div[class*="col-"],
    .eloz-related-section .related.products ul.products>li,
    .eloz-product-single .related.products ul.products>div[class*="col-"],
    .eloz-product-single .related.products ul.products>li,
    .related.products ul.products>li.product,
    .related.products ul.products>div[class*="col-"] {
        flex: 0 0 33.333333% !important;
        max-width: 33.333333% !important;
        width: 33.333333% !important;
    }
    .eloz-single-product-wrap {
        padding-bottom: 30px;
    }
    .eloz-product-top-card {
        flex-direction: column;
        padding: 28px 24px;
        gap: 10px;
        margin-bottom: 20px; 
    }

    /* Gallery: Big image on top (order: 1), thumbnails row below (order: 2) like mobile */
    .eloz-product-top-card .woocommerce-product-gallery,
    .eloz-product-top-card .eloz-gallery-wrap {
        position: static;
        width: 100%;
        margin-bottom: 24px;
        display: flex !important;
        flex-direction: column !important;
        gap: 14px !important;
        align-items: flex-start;
    }

    .eloz-product-top-card .eloz-gallery-main {
        order: 1 !important;
        flex: 0 0 auto !important;
        max-width: 100% !important;
    }

    .eloz-product-top-card .eloz-gallery-thumbs {
        order: 2 !important;
        display: flex !important;
        flex-direction: row !important;
        flex-wrap: wrap !important;
        width: 100% !important;
        height: auto !important;
        gap: 6px !important;
    }

    .eloz-product-top-card .eloz-thumb-item {
        width: 55px !important;
        height: 55px !important;
        flex: 0 0 55px !important;
        border-radius: 6px !important;
    }

    .eloz-product-top-card .flex-control-nav.flex-control-thumbs {
        flex-direction: row !important;
        flex-wrap: wrap !important;
        width: 100% !important;
        order: 2 !important;
        margin-top: 15px !important;
    }

    .eloz-product-top-card .flex-control-thumbs li {
        width: 75px !important;
        height: 75px !important;
        margin: 0 10px 10px 0 !important;
    }

    .eloz-product-top-card .summary.entry-summary {
        width: 100%;
    }
}

@media (max-width: 767px) {
    /* 1. Page Wrap & Cards Spacing */
    .eloz-single-product-wrap {
        padding-top: 15px !important;
        padding-bottom: 80px !important;
    }

    .eloz-shop-wrap.mb-30 {
        margin-bottom: 14px !important;
    }

    .eloz-product-top-card {
        padding: 16px !important;
        margin-bottom: 18px !important;
        border-radius: 10px !important;
    }

    /* 2. Gallery: Big Image on Top, Small Gallery Thumbs Below */
    .eloz-product-top-card .woocommerce-product-gallery,
    .eloz-gallery-wrap {
        display: flex !important;
        flex-direction: column !important;
        width: 100% !important;
        gap: 12px !important;
        margin-bottom: 0px !important;
        align-self: stretch !important;
    }

    .eloz-gallery-main {
        flex: 0 0 100% !important;
        width: 100% !important;
        max-width: 100% !important;
        order: 1 !important; /* Big image on top */
        height: auto !important;
        aspect-ratio: 1 / 1 !important;
        border-radius: 8px !important;
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
    }

    .eloz-gallery-main img {
        width: 100% !important;
        height: 100% !important;
        max-height: 100% !important;
        object-fit: contain !important;
    }

    .eloz-gallery-thumbs {
        display: flex !important;
        flex-direction: row !important;
        flex-wrap: wrap !important;
        width: 100% !important;
        gap: 8px !important;
        order: 2 !important; /* Small thumbs under big image */
    }

    .eloz-thumb-item {
        width: 60px !important;
        height: 60px !important;
        flex: 0 0 60px !important;
        border-radius: 6px !important;
    }

    /* 3. Title Sizing: Single Product Top Title */
    .eloz-product-single .product_title {
        font-size: 22px !important;
        line-height: 1.35 !important;
    }

    .eloz-product-single .woocommerce-product-rating {
        margin-bottom: 12px !important;
        padding-bottom: 12px !important;
    }

    .eloz-product-single p.price,
    .eloz-product-single .price {
        font-size: 20px !important;
        margin-bottom: 14px !important;
    }

    /* 4. Quantity + Add to Cart + Wishlist: All in 1 Line */
    .eloz-product-top-card form.cart {
        display: flex !important;
        flex-direction: row !important;
        align-items: center !important;
        gap: 8px !important;
        width: 100% !important;
        margin-bottom: 14px !important;
    }

    .eloz-product-single .quantity {
        display: inline-flex !important;
        align-items: center !important;
        height: 42px !important;
        flex: 0 0 auto !important;
        border-radius: 6px !important;
        margin: 0 !important;
    }

    .eloz-product-single .quantity .qty-btn {
        width: 30px !important;
        height: 42px !important;
        font-size: 15px !important;
    }

    .eloz-product-single .quantity input[type=number] {
        width: 36px !important;
        height: 42px !important;
        font-size: 14px !important;
        padding: 0 !important;
    }

    .eloz-product-top-card .single_add_to_cart_button {
        flex: 1 1 auto !important;
        width: auto !important;
        height: 42px !important;
        min-height: 42px !important;
        padding: 0 8px !important;
        font-size: 13px !important;
        border-radius: 6px !important;
        white-space: nowrap !important;
        margin: 0 !important;
    }

    .eloz-wishlist-btn-single {
        width: 42px !important;
        height: 42px !important;
        flex: 0 0 42px !important;
        border-radius: 6px !important;
        margin: 0 !important;
    }

    .eloz-wishlist-btn-single .eloz-heart-icon {
        width: 18px !important;
        height: 18px !important;
    }

    /* 5. Buy Now & WhatsApp Buttons: Extra Padding & Prominence */
    .eloz-extra-action-buttons {
        display: flex !important;
        flex-direction: column !important;
        gap: 10px !important;
        width: 100% !important;
        margin-bottom: 14px !important;
    }

    .eloz-extra-action-buttons .eloz-buy-now-btn,
    .eloz-extra-action-buttons .eloz-whatsapp-btn {
        width: 100% !important;
        height: 48px !important;
        min-height: 48px !important;
        padding: 0 20px !important;
        font-size: 12px !important;
        font-weight: 700 !important;
        border-radius: 8px !important;
    }

    .eloz-product-single .eloz-trust-badges {
        margin-top: 14px !important;
        margin-bottom: 10px !important;
        gap: 8px !important;
    }

    /* 6. Description Card: Reduced Padding & Matching Tab Title Size */
    .eloz-tabs-card {
        padding: 16px !important;
        margin-bottom: 20px !important;
        border-radius: 10px !important;
    }

    .eloz-tabs-card .woocommerce-tabs ul.tabs {
        margin-bottom: 16px !important;
        gap: 12px !important;
    }

    .eloz-tabs-card .woocommerce-tabs ul.tabs li a,
    .eloz-tabs-card .woocommerce-tabs .woocommerce-Tabs-panel h2,
    .eloz-tabs-card .woocommerce-tabs .woocommerce-Tabs-panel h3 {
        font-size: 22px !important; /* Exact match with product_title */
        line-height: 1.4 !important;
        padding-bottom: 10px !important;
    }

    .eloz-tabs-card .woocommerce-tabs .woocommerce-Tabs-panel {
        padding: 0 !important;
    }

    .eloz-tabs-card .woocommerce-tabs .woocommerce-Tabs-panel p {
        font-size: 14px !important;
        line-height: 1.65 !important;
        margin-bottom: 12px !important;
    }

    /* 7. Review Split Layout on Mobile */
    .eloz-review-split-layout {
        flex-direction: column;
        gap: 20px;
    }

    .eloz-review-left {
        flex: 0 0 100%;
        max-width: 100%;
        position: static;
    }

    .eloz-review-right {
        width: 100%;
    }

    /* 8. Related Products: 2 Per Row & Compact Bottom Gap */
    .related.products,
    .upsells.products,
    .eloz-related-section {
        margin-top: 15px !important;
        margin-bottom: 0 !important;
    }

    .eloz-related-section .related.products>h2,
    .eloz-product-single .related.products>h2,
    .related.products>h2,
    .upsells.products>h2 {
        font-size: 18px !important;
        margin-bottom: 14px !important;
    }

    .eloz-related-section .related.products ul.products,
    .eloz-product-single .related.products ul.products,
    .woocommerce ul.products.related,
    .related.products ul.products {
        display: flex !important;
        flex-wrap: wrap !important;
        margin-right: -5px !important;
        margin-left: -5px !important;
        padding: 0 !important;
        margin-bottom: 0 !important;
    }

    .eloz-related-section .related.products ul.products>div[class*="col-"],
    .eloz-related-section .related.products ul.products>li,
    .eloz-product-single .related.products ul.products>div[class*="col-"],
    .eloz-product-single .related.products ul.products>li,
    .related.products ul.products>li.product,
    .related.products ul.products>div[class*="col-"] {
        flex: 0 0 50% !important;
        max-width: 50% !important;
        width: 50% !important;
        padding-right: 5px !important;
        padding-left: 5px !important;
        margin-bottom: 12px !important;
        display: flex !important;
    }
    .eloz-product-top-card {
        gap: 0;
    }
    body.woocommerce div.product .woocommerce-tabs ul.tabs, .woocommerce div.product .woocommerce-tabs ul.tabs, .eloz-tabs-card .woocommerce-tabs ul.tabs {
        margin: 0 0 0px 0 !important;
    }
}

/* ── WhatsApp Order Button ── */
.eloz-whatsapp-btn {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    flex: 1;
    background: #25D366;
    color: #fff;
    border: 2px solid #25D366;
    padding: 0 32px;
    height: 52px;
    border-radius: var(--wc-radius-sm);
    font-family: var(--font-heading);
    font-size: 15px;
    font-weight: 700;
    cursor: pointer;
    text-decoration: none;
    letter-spacing: 0.2px;
    transition: var(--wc-transition);
    margin-bottom: 0;
    white-space: nowrap;
    box-sizing: border-box;
}

.eloz-whatsapp-btn:hover {
    background: #128C7E;
    border-color: #128C7E;
    color: #fff;
}

.eloz-whatsapp-btn svg {
    width: 20px;
    height: 20px;
    flex-shrink: 0;
    fill: #fff;
}


/* ============================================================
   CART PAGE
   ============================================================ */
.eloz-cart-table-wrap {
    background: #fff;
    border-radius: var(--wc-radius);
    border: 1px solid var(--wc-border);
    overflow: hidden;
}

.shop_table {
    width: 100%;
    border-collapse: collapse;
    font-family: var(--font-body);
}

.shop_table thead {
    background: var(--wc-bg-light);
}

.shop_table thead th {
    font-family: var(--font-heading);
    font-size: 12px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 1px;
    color: var(--wc-body);
    padding: 18px 20px;
    border-bottom: 1px solid var(--wc-border);
}

.shop_table tbody tr {
    border-bottom: 1px solid var(--wc-border);
    transition: background 0.2s;
}

.shop_table tbody tr:last-child {
    border-bottom: none;
}

.shop_table tbody tr:hover {
    background: #fafaff;
}

.shop_table tbody td {
    padding: 20px;
    font-size: 15px;
    color: var(--wc-heading);
    vertical-align: middle;
}

.shop_table .product-thumbnail img {
    width: 72px;
    height: 72px;
    object-fit: cover;
    border-radius: var(--wc-radius-sm);
}

.shop_table .product-name a {
    color: var(--wc-heading);
    font-weight: 600;
    text-decoration: none;
}

.shop_table .product-name a:hover {
    color: var(--wc-primary);
}

.shop_table .product-price,
.shop_table .product-subtotal {
    font-weight: 700;
}

/* Remove button */
.eloz-cart-remove {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 32px;
    height: 32px;
    border-radius: 50%;
    background: #fef2f2;
    color: var(--wc-error);
    font-size: 13px;
    text-decoration: none;
    transition: var(--wc-transition);
}

.eloz-cart-remove:hover {
    background: var(--wc-error);
    color: #fff;
}

/* Cart Actions row */
.shop_table .actions td {
    padding: 24px 20px;
}

.eloz-coupon {
    display: flex;
    gap: 12px;
    flex-wrap: wrap;
}

.eloz-input {
    flex: 1;
    min-width: 180px;
    height: 50px;
    border: 1px solid var(--wc-border);
    border-radius: var(--wc-radius-sm);
    padding: 0 18px;
    font-size: 15px;
    font-family: var(--font-body);
    color: var(--wc-heading);
    outline: none;
    transition: border-color 0.25s;
}

.eloz-input:focus {
    border-color: var(--wc-primary);
    box-shadow: none !important;
}

.eloz-btn {
    height: 50px;
    padding: 0 28px;
    border-radius: var(--wc-radius-sm);
    font-family: var(--font-heading);
    font-size: 14px;
    font-weight: 700;
    cursor: pointer;
    transition: var(--wc-transition);
    border: none;
    letter-spacing: 0.3px;
}

.eloz-btn--outline {
    background: transparent;
    color: var(--wc-primary);
    border: 2px solid var(--wc-primary);
}

.eloz-btn--outline:hover {
    background: var(--wc-primary);
    color: #fff;
}

.update-cart-btn {
    margin-left: auto;
}

/* Cart Totals */
.cart_totals {
    background: #fff;
    border: 1px solid var(--wc-border);
    border-radius: var(--wc-radius);
    padding: 30px;
}

.cart_totals h2 {
    font-family: var(--font-heading);
    font-size: 20px;
    font-weight: 800;
    color: var(--wc-heading);
    margin-bottom: 24px;
    padding-bottom: 16px;
    border-bottom: 1px solid var(--wc-border);
}

.cart_totals table {
    width: 100%;
    border-collapse: collapse;
}

.cart_totals table th,
.cart_totals table td {
    padding: 14px 0;
    border-bottom: 1px solid var(--wc-border);
    font-size: 15px;
    color: var(--wc-heading);
}

.cart_totals table th {
    font-weight: 600;
    width: 45%;
}

.cart_totals table .order-total th,
.cart_totals table .order-total td {
    font-weight: 800;
    font-size: 18px;
    color: var(--wc-heading);
    border-bottom: none;
    padding-top: 20px;
}

.cart_totals table .order-total .amount {
    color: var(--wc-primary);
}

.cart_totals .wc-proceed-to-checkout {
    margin-top: 24px;
}

.cart_totals .checkout-button,
.wc-proceed-to-checkout .checkout-button {
    display: block;
    width: 100%;
    padding: 16px;
    background: var(--wc-primary);
    color: #fff;
    border: none;
    border-radius: var(--wc-radius-sm);
    font-family: var(--font-heading);
    font-size: 16px;
    font-weight: 700;
    text-align: center;
    text-decoration: none;
    cursor: pointer;
    transition: var(--wc-transition);
    letter-spacing: 0.3px;
}

.cart_totals .checkout-button:hover,
.wc-proceed-to-checkout .checkout-button:hover {
    background: var(--wc-heading);
    color: #fff;
    transform: translateY(-2px);
}

/* Quantity input */
.eloz-product-single .quantity,
.woocommerce-cart-form .quantity {
    display: flex;
    align-items: center;
    gap: 0;
}

.woocommerce-cart-form .quantity input[type=number] {
    width: 60px;
    height: 44px;
    border: 1px solid var(--wc-border);
    border-radius: var(--wc-radius-sm);
    text-align: center;
    font-size: 15px;
    font-weight: 600;
    color: var(--wc-heading);
    font-family: var(--font-body);
    outline: none;
}

/* ============================================================
   CHECKOUT PAGE
   ============================================================ */
.eloz-checkout-section-title {
    font-family: var(--font-heading);
    font-size: 22px;
    font-weight: 800;
    color: var(--wc-heading);
    margin-bottom: 28px;
    padding-bottom: 16px;
    border-bottom: 2px solid var(--wc-primary);
    display: inline-block;
}

.woocommerce-checkout .form-row {
    margin-bottom: 20px;
}

.woocommerce-checkout .form-row label {
    font-size: 14px;
    font-weight: 600;
    color: var(--wc-heading);
    margin-bottom: 8px;
    display: block;
}

.woocommerce-checkout .form-row .input-text,
.woocommerce-checkout .form-row select,
.woocommerce-checkout .form-row textarea {
    width: 100%;
    height: 52px;
    border: 1px solid var(--wc-border);
    border-radius: var(--wc-radius-sm);
    padding: 0 18px;
    font-size: 15px;
    font-family: var(--font-body);
    color: var(--wc-heading);
    outline: none;
    transition: border-color 0.25s;
    background: #fff;
    box-sizing: border-box;
}

.woocommerce-checkout .form-row textarea {
    height: 120px;
    padding: 14px 18px;
    resize: vertical;
}

.woocommerce-checkout .form-row .input-text:focus,
.woocommerce-checkout .form-row select:focus,
.woocommerce-checkout .form-row textarea:focus {
    border-color: var(--wc-primary);
    box-shadow: 0 0 0 3px rgba(83, 58, 253, 0.1);
}

.woocommerce-checkout .form-row.woocommerce-validated .input-text {
    border-color: var(--wc-success);
}

.woocommerce-checkout .form-row.woocommerce-invalid .input-text {
    border-color: var(--wc-error);
}

/* Order Review */
.eloz-order-review-wrap {
    background: var(--wc-bg-light);
    border-radius: var(--wc-radius);
    padding: 36px;
    border: 1px solid var(--wc-border);
    position: sticky;
    top: 100px;
}

#order_review table {
    width: 100%;
    border-collapse: collapse;
    margin-bottom: 20px;
}

#order_review table th,
#order_review table td {
    padding: 14px 0;
    border-bottom: 1px solid var(--wc-border);
    font-size: 14px;
    color: var(--wc-heading);
}

#order_review table th {
    font-weight: 700;
}

#order_review .order-total th,
#order_review .order-total td {
    font-weight: 800;
    font-size: 18px;
    border-bottom: none;
    padding-top: 20px;
}

#order_review .order-total .amount {
    color: var(--wc-primary);
}

/* Payment Methods */
#payment {
    margin-top: 0;
}

#payment ul.payment_methods {
    list-style: none;
    padding: 0;
    margin-bottom: 20px;
}

#payment ul.payment_methods li {
    padding: 16px 20px;
    border: 1px solid var(--wc-border);
    border-radius: var(--wc-radius-sm);
    margin-bottom: 10px;
    cursor: pointer;
    transition: var(--wc-transition);
    background: #fff;
}

#payment ul.payment_methods li:hover {
    border-color: var(--wc-primary);
}

#payment ul.payment_methods li label {
    font-weight: 600;
    font-size: 15px;
    cursor: pointer;
    display: flex;
    align-items: center;
    gap: 10px;
}

#place_order {
    display: block;
    width: 100%;
    padding: 17px;
    background: var(--wc-primary);
    color: #fff;
    border: none;
    border-radius: var(--wc-radius-sm);
    font-family: var(--font-heading);
    font-size: 17px;
    font-weight: 700;
    cursor: pointer;
    transition: var(--wc-transition);
    letter-spacing: 0.3px;
    margin-top: 10px;
}

#place_order:hover {
    background: var(--wc-heading);
    transform: translateY(-2px);
}

/* Old My Account styles superseded by section 2 */

/* Account Table */
.woocommerce-orders-table,
.woocommerce-MyAccount-content table {
    width: 100%;
    border-collapse: collapse;
    font-family: var(--font-body);
}

.woocommerce-orders-table th,
.woocommerce-MyAccount-content table th {
    background: var(--wc-bg-light);
    font-weight: 700;
    font-size: 13px;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    padding: 14px 18px;
    border-bottom: 1px solid var(--wc-border);
    color: var(--wc-body);
}

.woocommerce-orders-table td,
.woocommerce-MyAccount-content table td {
    padding: 16px 18px;
    border-bottom: 1px solid var(--wc-border);
    font-size: 15px;
    color: var(--wc-heading);
}

.woocommerce-orders-table .woocommerce-button,
.woocommerce-MyAccount-content .woocommerce-button {
    display: inline-block;
    padding: 8px 18px;
    background: var(--wc-primary);
    color: #fff;
    border-radius: 6px;
    font-size: 13px;
    font-weight: 600;
    text-decoration: none;
    transition: var(--wc-transition);
}

.woocommerce-orders-table .woocommerce-button:hover {
    background: var(--wc-heading);
}

/* Login/Register forms */
.eloz-login-form-wrap,
.eloz-register-form-wrap {
    background: #fff;
    border-radius: var(--wc-radius);
    border: 1px solid var(--wc-border);
    padding: 40px;
}

.eloz-form-title {
    font-family: var(--font-heading);
    font-size: 22px;
    font-weight: 800;
    color: var(--wc-heading);
    margin-bottom: 28px;
}

.woocommerce-form .form-row {
    margin-bottom: 20px;
}

.woocommerce-form .form-row label {
    font-weight: 600;
    font-size: 14px;
    color: var(--wc-heading);
    display: block;
    margin-bottom: 8px;
}

.woocommerce-form .form-row input {
    width: 100%;
    height: 52px;
    border: 1px solid var(--wc-border);
    border-radius: var(--wc-radius-sm);
    padding: 0 18px;
    font-family: var(--font-body);
    font-size: 15px;
    color: var(--wc-heading);
    outline: none;
    box-sizing: border-box;
    transition: border-color 0.25s;
}

.woocommerce-form .form-row input:focus {
    border-color: var(--wc-primary);
    box-shadow: none !important;
}

.woocommerce-form .button,
.woocommerce-form button[type=submit] {
    height: 52px;
    padding: 0 36px;
    background: var(--wc-primary);
    color: #fff;
    border: none;
    border-radius: var(--wc-radius-sm);
    font-family: var(--font-heading);
    font-size: 15px;
    font-weight: 700;
    cursor: pointer;
    transition: var(--wc-transition);
}

.woocommerce-form .button:hover {
    background: var(--wc-heading);
}

/* ============================================================
   HEADER CART ICON
   ============================================================ */
.eloz-cart-icon {
    position: relative;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 44px;
    height: 44px;
    border-radius: 50%;
    background: rgba(83, 58, 253, 0.08);
    color: var(--wc-primary);
    font-size: 18px;
    text-decoration: none;
    transition: var(--wc-transition);
}

.eloz-cart-icon:hover {
    background: var(--wc-primary);
    color: #fff;
}

.eloz-cart-count {
    position: absolute;
    top: -4px;
    right: -4px;
    background: var(--wc-primary);
    color: #fff;
    font-family: var(--font-body);
    font-size: 10px;
    font-weight: 700;
    min-width: 18px;
    height: 18px;
    border-radius: 9px;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 0 4px;
    line-height: 1;
    border: 2px solid #fff;
}

/* ============================================================
   SHOP SIDEBAR WIDGETS
   ============================================================ */
.eloz-sidebar-area {
    position: -webkit-sticky;
    position: sticky;
    top: 30px;
    align-self: start;
    z-index: 10;
}

.eloz-sidebar-area .widget,
.wp-block-group.widget,
.widget_price_filter,
.widget_product_categories,
.widget_layered_nav,
.widget_rating_filter,
.eloz-shop-widget,
.eloz-product-widget {
    background: #fff;
    border-radius: 5px;
    padding: 24px;
    margin-bottom: 24px;
}

/* Widget Titles */
.eloz-sidebar-area .widget-title,
.eloz-sidebar-area h2,
.eloz-sidebar-area h3,
.eloz-sidebar-area h4,
.eloz-widget-title {
    font-family: var(--font-heading);
    font-size: 14px;
    font-weight: 700;
    color: var(--wc-heading);
    margin: 0 0 20px 0;
    padding-bottom: 12px;
    border-bottom: 1px solid var(--wc-border);
    text-transform: uppercase;
    letter-spacing: 0.5px;
    position: relative;
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.widget_product_categories .eloz-sidebar-area h4 {
    margin-bottom: 0;
}

.widget_product_categories .eloz-sidebar-area h3,
.widget_product_categories .eloz-sidebar-area h4,
.widget_product_categories .eloz-widget-title {
    margin: 0 0 15px 0;
}

.eloz-sidebar-area .widget-title::after,
.eloz-sidebar-area h2::after,
.eloz-sidebar-area h3::after,
.eloz-sidebar-area h4::after,
.eloz-widget-title::after {
    content: '';
    position: absolute;
    bottom: -1px;
    left: 0;
    width: 60px;
    height: 2px;
    background: var(--wc-primary);
}

.eloz-sidebar-area .widget-title::before,
.eloz-sidebar-area h2::before,
.eloz-sidebar-area h3::before,
.eloz-sidebar-area h4::before,
.eloz-widget-title::before {
    content: '\2014';
    /* Unicode Em Dash for Collapse sign */
    font-weight: 300;
    font-size: 16px;
    color: var(--wc-heading);
    order: 2;
}

/* Price Filter widget specific styling */
.widget_price_filter .price_slider {
    margin-top: 28px;
    margin-bottom: 28px;
    background: #e2e8f0;
    height: 5px;
    border-radius: 100px;
    position: relative;
}

.widget_price_filter .price_slider .ui-slider-range {
    position: absolute;
    height: 100%;
    background: var(--wc-primary);
    border-radius: 100px;
}

.woocommerce .widget_price_filter .ui-slider .ui-slider-handle {
    background-color: var(--wc-primary);
}

.woocommerce .widget_price_filter .price_slider_wrapper .ui-widget-content {
    background-color: #F0600036;
}

/* Modern handle: white circle + primary border + inner dot via pseudo */
.widget_price_filter .price_slider .ui-slider-handle {
    position: absolute;
    width: 22px;
    height: 22px;
    background: #fff;
    border-radius: 50%;
    cursor: grab;
    outline: none;
    top: -9px;
    margin-left: -11px;
    border: 2.5px solid var(--wc-primary);
    box-shadow: 0 0 0 0px rgba(var(--wc-primary-rgb, 28, 82, 215), 0.18),
        0 2px 6px rgba(0, 0, 0, 0.12);
    transition: box-shadow 0.18s ease, transform 0.15s ease;
    z-index: 2;
}

/* Inner dot */
.widget_price_filter .price_slider .ui-slider-handle::after {
    content: '';
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 8px;
    height: 8px;
    border-radius: 50%;
    background: var(--wc-primary);
    transition: transform 0.15s ease;
}

.widget_price_filter .price_slider .ui-slider-handle:hover,
.widget_price_filter .price_slider .ui-slider-handle:active {
    cursor: grabbing;
    transform: scale(1.12);
    box-shadow: 0 0 0 5px rgba(240, 96, 0, 0.15),
        0 3px 8px rgba(0, 0, 0, 0.14);
}

.widget_price_filter .price_slider .ui-slider-handle:hover::after,
.widget_price_filter .price_slider .ui-slider-handle:active::after {
    transform: translate(-50%, -50%) scale(1.15);
}

/* Hide screen-reader inputs that cause layout gap */
.widget_price_filter .price_slider_amount input[type="text"],
.widget_price_filter .price_slider_amount label.screen-reader-text {
    position: absolute !important;
    width: 1px !important;
    height: 1px !important;
    overflow: hidden !important;
    clip: rect(0, 0, 0, 0) !important;
    white-space: nowrap !important;
    border: 0 !important;
    padding: 0 !important;
    margin: 0 !important;
}

.widget_price_filter .price_slider_amount {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    padding-top: 4px;
    flex-wrap: nowrap;
}

.widget_price_filter .price_slider_amount .price_label {
    font-size: 13px;
    font-weight: 600;
    color: var(--wc-heading);
    white-space: nowrap;
    min-width: 0;
    order: -1;
    margin: 0;
    padding: 0;
}

.widget_price_filter .price_slider_amount .button {
    background: var(--wc-primary) !important;
    color: #fff !important;
    border: none !important;
    padding: 7px 18px !important;
    border-radius: var(--wc-radius-sm) !important;
    font-size: 13px !important;
    font-weight: 700 !important;
    cursor: pointer !important;
    flex-shrink: 0;
    float: none;
    order: 1;
    transition: var(--wc-transition) !important;
    line-height: 1.5 !important;
}

.widget_price_filter .price_slider_amount .button:hover {
    background: var(--wc-heading) !important;
}


.xb-breadcrumb {
    display: block;
    font-size: 13px;
    line-height: 1.6;
    color: var(--wc-body, #64748b);
    word-break: break-word;
}
.xb-breadcrumb > span {
    margin-right: 12px;
}
.xb-breadcrumb > i {
	transform: translate(-7px, 0px);
	font-size: 12px;
}
.xb-breadcrumb span,
.xb-breadcrumb a {
    display: inline;
}

.xb-breadcrumb a {
    color: var(--wc-body, #64748b);
    text-decoration: none;
    transition: color 0.2s ease;
}

.xb-breadcrumb a:hover {
    color: var(--wc-primary, #e0762b);
}

.xb-breadcrumb .sep {
    margin: 0 5px;
    color: #cbd5e1;
    display: inline;
}

.xb-breadcrumb .current,
.xb-breadcrumb .current-item {
    color: var(--wc-heading, #0f172a);
    font-weight: 600;
    display: inline;
}

/* Categories & Filters specific styling */
.widget_product_categories ul,
.widget_layered_nav ul,
.eloz-woo-categories ul {
    list-style: none;
    padding: 0;
    margin: 0;
}

.widget_product_categories li,
.widget_layered_nav li,
.eloz-woo-categories li {
    border: none;
    margin-bottom: 12px;
}

.widget_product_categories li:last-child,
.widget_layered_nav li:last-child,
.eloz-woo-categories li:last-child {
    margin-bottom: 0;
}

.widget_product_categories li a,
.widget_layered_nav li a,
.eloz-woo-categories li a {
    display: flex;
    align-items: center;
    font-size: 15px;
    color: var(--wc-body);
    text-decoration: none;
    transition: var(--wc-transition);
    font-weight: 500;
}

.widget_product_categories li a:hover,
.widget_layered_nav li a:hover,
.eloz-woo-categories li a:hover {
    color: var(--wc-primary);
}

/* Style Brands as checkboxes dynamically */
.widget_layered_nav ul li a::before,
.eloz-woo-categories ul li a::before {
    content: '';
    display: inline-block;
    width: 18px;
    height: 18px;
    border: 1px solid #cbd5e0;
    border-radius: 4px;
    margin-right: 12px;
    background: #fff;
    box-sizing: border-box;
    transition: var(--wc-transition);
    flex-shrink: 0;
}

.widget_layered_nav ul li.chosen a::before,
.eloz-woo-categories ul li.chosen a::before {
    background: var(--wc-primary);
    border-color: var(--wc-primary);
    content: '\f00c';
    font-family: "Font Awesome 5 Free";
    font-weight: 900;
    font-size: 10px;
    color: #fff;
    text-align: center;
    line-height: 16px;
}

/* Support native input checkboxes if they exist */
.eloz-sidebar-area input[type="checkbox"] {
    appearance: none;
    -webkit-appearance: none;
    width: 18px;
    height: 18px;
    border: 1px solid #cbd5e0;
    border-radius: 4px;
    outline: none;
    cursor: pointer;
    position: relative;
    background: #fff;
    margin-right: 12px;
    vertical-align: middle;
    transition: var(--wc-transition);
    display: inline-block;
    box-sizing: border-box;
}

.eloz-sidebar-area input[type="checkbox"]:checked {
    background: var(--wc-primary);
    border-color: var(--wc-primary);
}

.eloz-sidebar-area input[type="checkbox"]:checked::after {
    content: '\f00c';
    font-family: "Font Awesome 5 Free";
    font-weight: 900;
    font-size: 10px;
    color: #fff;
    position: absolute;
    left: 50%;
    top: 50%;
    transform: translate(-50%, -50%);
}

.eloz-sidebar-area label {
    font-size: 15px;
    color: var(--wc-body);
    cursor: pointer;
    vertical-align: middle;
}

.eloz-sidebar-area li {
    display: flex;
    align-items: center;
}

/* WC widget product list */
.widget-product {
    list-style: none;
    padding: 0;
    margin: 0;
}

.widget-product__item {
    display: flex;
    gap: 14px;
    padding: 12px 0;
    border-bottom: 1px solid var(--wc-border);
}

.widget-product__item:last-child {
    border-bottom: none;
}

.widget-product__item .thumb {
    width: 64px;
    height: 64px;
    border-radius: var(--wc-radius-sm);
    overflow: hidden;
    flex-shrink: 0;
}

.widget-product__item .thumb img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.widget-product__item .content h3 {
    font-size: 14px;
    font-weight: 600;
    margin: 0 0 4px;
    color: var(--wc-heading);
}

.widget-product__item .content h3 a {
    color: inherit;
    text-decoration: none;
}

.widget-product__item .content h3 a:hover {
    color: var(--wc-primary);
}

.widget-product__item .content .price {
    font-size: 14px;
    font-weight: 700;
    color: var(--wc-primary);
}

/* ============================================================
   NO PRODUCTS
   ============================================================ */
.eloz-no-products {
    padding: 80px 20px;
}

.eloz-no-products__title {
    font-family: var(--font-heading);
    font-size: 22px;
    font-weight: 700;
    color: var(--wc-heading);
    margin-bottom: 12px;
}

.eloz-no-products__text {
    color: var(--wc-body);
    font-size: 16px;
    margin-bottom: 28px;
}

/* ============================================================
   PAGINATION
   ============================================================ */
.woocommerce-pagination ul {
    list-style: none;
    padding: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-wrap: wrap;
    gap: 8px;
    margin-top: 50px;
}

.woocommerce-pagination ul li {
    margin: 0;
}

.woocommerce-pagination ul li a,
.woocommerce-pagination ul li span {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 44px;
    height: 44px;
    border-radius: 50%;
    font-size: 15px;
    font-weight: 600;
    color: var(--wc-heading);
    text-decoration: none;
    border: 1px solid var(--wc-border);
    background: #fff;
    transition: var(--wc-transition);
}

.woocommerce-pagination ul li a:hover {
    background: var(--wc-primary);
    border-color: var(--wc-primary);
    color: #fff;
}

.woocommerce-pagination ul li span.current {
    background: var(--wc-primary);
    border-color: var(--wc-primary);
    color: #fff;
}

/* ============================================================
   RESPONSIVE
   ============================================================ */
@media (max-width: 991px) {
    .eloz-cart-table-wrap {
        overflow-x: auto;
    }

    .eloz-order-review-wrap {
        position: static;
    }

    .eloz-myaccount-wrap .eloz-account-content {
        padding: 24px;
    }


}

@media (max-width: 767px) {
    .shop_table thead {
        display: none;
    }

    .shop_table tbody td {
        display: flex;
        justify-content: space-between;
        padding: 10px 16px;
        border-bottom: 1px solid var(--wc-border);
    }

    .shop_table tbody td::before {
        content: attr(data-title);
        font-weight: 700;
        font-size: 13px;
        color: var(--wc-body);
    }

    .eloz-login-form-wrap,
    .eloz-register-form-wrap {
        padding: 24px;
    }

    .eloz-checkout-wrap .eloz-order-review-wrap {
        padding: 24px;
    }
    #chaty-widget-0 .chaty-widget,
    .chaty-widget-0 .chaty-widget,
    .chaty-widget {
        bottom: 74px !important;
        right: 12px !important;
        z-index: 9999 !important;
        transform: translate3d(0, 0, 0) !important;
        -webkit-transform: translate3d(0, 0, 0) !important;
    }
}
.eloz-cart-icon,
.eloz-cart-icon:hover {
    background: none !important;
}
.woocommerce .woocommerce-ordering {
    margin: 0;
}

/* ============================================================
   AJAX FILTER LOADING STATES
   ============================================================ */
#eloz-shop-content-wrap {
    position: relative;
}

#eloz-shop-content-wrap.is-loading {
    pointer-events: none;
}

/* ============================================================
   SKELETON LOADING — Left-to-right shimmer
   ============================================================ */
@keyframes eloz-shimmer {
    0% {
        background-position: -600px 0;
    }

    100% {
        background-position: 600px 0;
    }
}

/* Shimmer base — applied to every skeleton element */
.eloz-skeleton .eloz-sk-img,
.eloz-skeleton .eloz-sk-line {
    background: linear-gradient(90deg,
            #ececec 25%,
            #f5f5f5 50%,
            #ececec 75%);
    background-size: 1200px 100%;
    animation: eloz-shimmer 1.3s infinite linear;
    border-radius: 6px;
}

.woocommerce .widget_price_filter .ui-slider .ui-slider-range {
    background-color: var(--wc-primary);
}

/* Skeleton card wrapper — override real card hover effects */
.eloz-product-card.eloz-skeleton {
    border-color: transparent !important;
    box-shadow: none !important;
    pointer-events: none;
    cursor: default;
    padding: 16px;
}

.eloz-product-card.eloz-skeleton:hover {
    transform: none !important;
    border-color: transparent !important;
}

/* Image block — matches the 1:1 aspect-ratio thumb */
.eloz-skeleton .eloz-sk-img {
    width: 100%;
    aspect-ratio: 1 / 1;
    border-radius: var(--wc-radius-sm);
    margin-bottom: 20px;
}

/* Body lines */
.eloz-skeleton .eloz-sk-body {
    display: flex;
    flex-direction: column;
    gap: 10px;
}

.eloz-skeleton .eloz-sk-line {
    display: block;
    border-radius: 4px;
}

/* Title line 1 */
.eloz-skeleton .eloz-sk-title {
    height: 14px;
    width: 80%;
}

/* Title line 2 (shorter second line) */
.eloz-skeleton .eloz-sk-title-sm {
    height: 14px;
    width: 55%;
    animation-delay: 0.08s;
}

/* Price */
.eloz-skeleton .eloz-sk-price {
    height: 22px;
    width: 38%;
    margin-top: 6px;
    animation-delay: 0.16s;
}

/* Button */
.eloz-skeleton .eloz-sk-btn {
    height: 42px;
    width: 100%;
    border-radius: 30px;
    margin-top: 4px;
    animation-delay: 0.24s;
}

.woocommerce .products ul,
.woocommerce ul.products {
    margin-bottom: 0;
    padding: 0 3px;
}

/* ── Product Entrance Animation ───────────────────────────────── */
/* .eloz-product-ready is added by JS before animation starts (hides card) */
/* .eloz-product-in is added after delay (reveals card with transition)    */
/* If JS fails, neither class is added — products are always visible       */
.eloz-product-ready {
    opacity: 0;
    transform: translateY(12px);
}

.eloz-product-in {
    opacity: 1;
    transform: translateY(0);
    transition: opacity 0.28s ease, transform 0.28s cubic-bezier(0.22, 1, 0.36, 1);
    padding-right: 10px;
    padding-left: 10px;
}

/* ── Active Category Highlight in Sidebar ─────────────────────── */
.widget_product_categories .cat-item.current-cat>a,
.widget_product_categories .cat-item.current-cat-ancestor>a {
    color: var(--wc-primary) !important;
}




/* ============================================================
   INFINITE SCROLL & LOAD MORE STYLING
   ============================================================ */
.eloz-infinite-loader {
    display: inline-block;
    margin: 20px auto;
}

.eloz-loading-pulse {
    width: 12px;
    height: 12px;
    border-radius: 50%;
    background-color: var(--wc-primary);
    box-shadow: 20px 0 0 0 rgba(28, 82, 215, 0.2), -20px 0 0 0 rgba(28, 82, 215, 0.2);
    position: relative;
    animation: eloz-pulse 1.2s infinite ease-in-out;
    margin: 0 auto;
}

@keyframes eloz-pulse {
    0% {
        background-color: var(--wc-primary);
        box-shadow: 20px 0 0 0 rgba(28, 82, 215, 0.2), -20px 0 0 0 rgba(28, 82, 215, 1);
    }

    50% {
        background-color: rgba(28, 82, 215, 0.2);
        box-shadow: 20px 0 0 0 rgba(28, 82, 215, 1), -20px 0 0 0 rgba(28, 82, 215, 0.2);
    }

    100% {
        background-color: var(--wc-primary);
        box-shadow: 20px 0 0 0 rgba(28, 82, 215, 0.2), -20px 0 0 0 rgba(28, 82, 215, 1);
    }
}



.woocommerce span.onsale {
    display: none;
}

.woocommerce div.product form.cart .button,
.eloz-buy-now-btn {
    text-transform: uppercase;
    letter-spacing: 0;
    font-size: 13px !important;
}

.woocommerce div.product form.cart {
    margin-bottom: 1rem;
}

/* ============================================================
   CUSTOM DYNAMIC WISHLIST STYLES (REFINED & PROFESSIONAL)
   ============================================================ */

/* ── 1. Header Wishlist & Cart Action Buttons (Squircle Style) ── */
.eloz-header-wishlist-btn,
.mini-cart__button.has-badge.header-icon {
    position: relative !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 44px !important;
    height: 44px !important;
    border-radius: 10px !important;
    background: #2e2e2e !important;
    margin-left: 4px !important;
    margin-right: 4px !important;
    transition: all 0.2s cubic-bezier(0.4, 0, 0.2, 1) !important;
    text-decoration: none !important;
    outline: none !important;
    overflow: visible !important;
}

.eloz-header-wishlist-btn .icon,
.mini-cart__button.has-badge.header-icon .icon {
    position: static !important;
    display: flex;
    align-items: center;
    justify-content: center;
    color: #ffffff !important;
    transition: color 0.2s ease, transform 0.2s ease;
}

.eloz-header-wishlist-btn .icon svg,
.mini-cart__button.has-badge.header-icon .icon svg {
    color: #fff !important;
    stroke: currentColor;
    width: 20px !important;
    height: 20px !important;
}

.eloz-header-wishlist-btn:hover .icon,
.mini-cart__button.has-badge.header-icon:hover .icon {
    color: var(--wc-primary, #e0762b) !important;
}

.eloz-wishlist-badge,
.mini-cart-badge {
    position: absolute !important;
    top: -6px !important;
    right: -6px !important;
    background: var(--wc-primary, #e0762b) !important;
    color: #ffffff !important;
    font-size: 11px !important;
    font-weight: 800 !important;
    min-width: 20px !important;
    height: 20px !important;
    padding: 0 5px !important;
    border-radius: 10px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    line-height: 1 !important;
    transition: transform 0.3s cubic-bezier(0.175, 0.885, 0.32, 1.275) !important;
    z-index: 10 !important;
    letter-spacing: -0.3px !important;
}


.badge-bounce {
    animation: eloz-badge-bounce 0.4s ease;
}

@keyframes eloz-badge-bounce {

    0%,
    100% {
        transform: scale(1);
    }

    50% {
        transform: scale(1.4);
    }
}

/* ── 2. Product Card Wishlist Button ── */
.eloz-product-card__thumb {
    position: relative;
}

.eloz-wishlist-btn-card {
    position: static !important;
    top: auto !important;
    right: auto !important;
    width: 44px !important;
    height: 44px !important;
    flex: 0 0 44px !important;
    border-radius: var(--wc-radius-sm) !important;
    background: #ffffff !important;
    border: 1px solid #cbd5e1 !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    cursor: pointer !important;
    box-shadow: none !important;
    z-index: 1 !important;
    transition: all 0.2s ease !important;
    padding: 0 !important;
    margin: 0 !important;
    outline: none !important;
}

.eloz-wishlist-btn-card .eloz-heart-icon {
    width: 20px !important;
    height: 20px !important;
    stroke: #475569 !important;
    fill: transparent !important;
    transition: all 0.2s ease !important;
}

.eloz-wishlist-btn-card:hover {
    border-color: #ef4444 !important;
    background: #fef2f2 !important;
}

.eloz-wishlist-btn-card:hover .eloz-heart-icon {
    stroke: #ef4444 !important;
    fill: rgba(239, 68, 68, 0.15) !important;
}

.eloz-wishlist-btn-card.in-wishlist {
    border-color: #ef4444 !important;
    background: #fef2f2 !important;
}

.eloz-wishlist-btn-card.in-wishlist .eloz-heart-icon {
    stroke: #ef4444 !important;
    fill: #ef4444 !important;
}

/* ── 3. Single Product Page Wishlist Button (Icon Only Next to Add to Cart) ── */
.woocommerce div.product form.cart {
    display: flex !important;
    align-items: center !important;
    flex-wrap: wrap !important;
    gap: 12px !important;
    margin-bottom: 20px !important;
}

.woocommerce div.product form.cart .single_add_to_cart_button,
.woocommerce div.product form.cart .button {
    margin-bottom: 0 !important;
    height: 48px !important;
    line-height: 48px !important;
    padding-top: 0 !important;
    padding-bottom: 0 !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
}

.eloz-wishlist-btn-single {
    width: 48px !important;
    height: 48px !important;
    flex: 0 0 48px !important;
    border-radius: 6px !important;
    background: #ffffff !important;
    border: 1.5px solid #e2e8f0 !important;
    color: #334155 !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    cursor: pointer !important;
    transition: all 0.25s ease !important;
    outline: none !important;
    padding: 0 !important;
    margin: 0 !important;
    box-sizing: border-box !important;
}

.eloz-wishlist-btn-single .eloz-heart-icon {
    width: 20px !important;
    height: 20px !important;
    stroke: #334155 !important;
    fill: transparent !important;
    transition: all 0.25s ease !important;
}

.eloz-wishlist-btn-single:hover {
    border-color: #e53e3e !important;
    background: #fff5f5 !important;
    transform: translateY(-1px);
}

.eloz-wishlist-btn-single:hover .eloz-heart-icon {
    stroke: #e53e3e !important;
    fill: rgba(229, 62, 62, 0.15) !important;
}

.eloz-wishlist-btn-single.in-wishlist {
    border-color: #e53e3e !important;
    background: #fff5f5 !important;
}

.eloz-wishlist-btn-single.in-wishlist .eloz-heart-icon {
    stroke: #e53e3e !important;
    fill: #e53e3e !important;
}

.eloz-product-card__thumb {
    position: relative !important;
}

.eloz-product-card__thumb img {
    display: block;
    width: 100%;
    height: auto;
    object-fit: cover;
}

.eloz-wishlist-btn.is-loading {
    opacity: 0.85;
    pointer-events: none;
}

.eloz-wishlist-btn.is-loading .eloz-heart-icon {
    animation: eloz-heartbeat 0.6s infinite ease-in-out !important;
}

@keyframes eloz-heartbeat {

    0%,
    100% {
        transform: scale(1);
        opacity: 1;
    }

    50% {
        transform: scale(1.35);
        opacity: 0.6;
    }
}

/* ── 4. Login Required Modal ── */
body.eloz-modal-active {
    overflow: hidden !important;
}

.eloz-modal-overlay {
    position: fixed;
    inset: 0;
    z-index: 999999;
    background: rgba(15, 23, 42, 0);
    backdrop-filter: none !important;
    -webkit-backdrop-filter: none !important;
    display: none;
    align-items: center;
    justify-content: center;
    padding: 20px;
    transition: background 0.28s ease;
}

.eloz-modal-overlay.is-open {
    background: rgba(15, 23, 42, 0.65);
}

.eloz-modal-box {
    position: relative;
    background: #ffffff;
    border-radius: 16px;
    max-width: 440px;
    width: 100%;
    padding: 36px 30px;
    text-align: center;
    box-shadow: 0 25px 50px -12px rgba(0, 0, 0, 0.25);
    transform: scale(0.95);
    opacity: 0;
    transition: transform 0.28s cubic-bezier(0.34, 1.56, 0.64, 1), opacity 0.25s ease;
}

.eloz-modal-overlay.is-open .eloz-modal-box {
    transform: scale(1);
    opacity: 1;
}

.eloz-modal-close {
    position: absolute;
    top: 14px;
    right: 16px;
    background: #f1f5f9;
    border: none;
    width: 32px;
    height: 32px;
    border-radius: 50%;
    font-size: 20px;
    color: #64748b;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: all 0.2s ease;
    line-height: 1;
}

.eloz-modal-close:hover {
    background: #e2e8f0;
    color: #0f172a;
}

.eloz-modal-icon {
    width: 72px;
    height: 72px;
    border-radius: 50%;
    background: #fef2f2;
    color: #ef4444;
    display: flex;
    align-items: center;
    justify-content: center;
    margin: 0 auto 20px;
    box-shadow: 0 0 0 8px rgba(239, 68, 68, 0.08);
}

.eloz-modal-title {
    font-size: 20px;
    font-weight: 700;
    color: #0f172a;
    margin-bottom: 10px;
}

.eloz-modal-desc {
    font-size: 14px;
    color: #64748b;
    line-height: 1.6;
    margin-bottom: 26px;
}

.eloz-modal-actions {
    display: flex;
    flex-direction: column;
    gap: 10px;
}

.eloz-btn-primary {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    padding: 13px 24px;
    background: var(--wc-primary, #e0762b);
    color: #ffffff !important;
    font-size: 15px;
    font-weight: 600;
    border-radius: 8px;
    text-decoration: none !important;
    transition: all 0.25s ease;
}

.eloz-btn-primary:hover {
    background: #c8631b;
}

.eloz-btn-secondary {
    padding: 11px 24px;
    background: #f1f5f9;
    color: #475569;
    font-size: 14px;
    font-weight: 600;
    border-radius: 8px;
    border: none;
    cursor: pointer;
    transition: background 0.2s ease;
}

.eloz-btn-secondary:hover {
    background: #e2e8f0;
    color: #1e293b;
}

/* ── 5. Wishlist Drawer Sidebar (NO BLUR OVERLAY, HIGHLY REALISTIC) ── */
.eloz-drawer-overlay {
    justify-content: flex-end;
    padding: 0;
    background: rgba(0, 0, 0, 0) !important;
    backdrop-filter: none !important;
    -webkit-backdrop-filter: none !important;
    transition: background 0.28s ease !important;
}

.eloz-drawer-overlay.is-open {
    background: rgba(0, 0, 0, 0.55) !important;
}

.eloz-drawer-box {
    width: 100%;
    max-width: 420px;
    height: 100%;
    background: #ffffff;
    display: flex;
    flex-direction: column;
    box-shadow: -15px 0 40px rgba(0, 0, 0, 0.22);
    transform: translateX(100%);
    transition: transform 0.32s cubic-bezier(0.16, 1, 0.3, 1);
}

.eloz-drawer-overlay.is-open .eloz-drawer-box {
    transform: translateX(0);
}

.eloz-drawer-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 22px 24px;
    border-bottom: 1px solid #edf2f7;
    background: #ffffff;
}

.drawer-title-wrap {
    display: flex;
    align-items: center;
    gap: 10px;
    color: #0f172a;
}

.drawer-title-wrap h3 {
    font-size: 18px;
    font-weight: 700;
    margin: 0;
    color: #0f172a;
    letter-spacing: -0.3px;
}

.drawer-title-wrap svg {
    color: #e53e3e;
}

.drawer-count-badge {
    background: #e53e3e;
    color: #ffffff;
    font-size: 12px;
    font-weight: 700;
    padding: 2px 8px;
    border-radius: 12px;
}

.eloz-drawer-body {
    flex: 1;
    overflow-y: auto;
    padding: 20px 24px;
    background: #fafafa;
}

/* Wishlist Item List */
.eloz-wishlist-items-list {
    display: flex;
    flex-direction: column;
    gap: 14px;
}

.eloz-wishlist-item {
    display: flex;
    align-items: center;
    gap: 14px;
    padding: 14px;
    background: #ffffff;
    border: 1px solid #edf2f7;
    border-radius: 12px;
    transition: all 0.2s ease;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.03);
}

.eloz-wishlist-item:hover {
    border-color: #cbd5e1;
    box-shadow: 0 6px 16px rgba(0, 0, 0, 0.07);
}

.eloz-wishlist-item .item-thumb {
    width: 68px;
    height: 68px;
    border-radius: 8px;
    overflow: hidden;
    flex-shrink: 0;
    background: #f8fafc;
}

.eloz-wishlist-item .item-thumb img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.eloz-wishlist-item .item-details {
    flex: 1;
    min-width: 0;
}

.eloz-wishlist-item .item-title {
    font-size: 14px;
    font-weight: 600;
    margin: 0 0 6px;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    line-height: 1.3;
}

.eloz-wishlist-item .item-title a {
    color: #0f172a;
    text-decoration: none;
    transition: color 0.2s ease;
}

.eloz-wishlist-item .item-title a:hover {
    color: var(--wc-primary, #e0762b);
}

.eloz-wishlist-item .item-price {
    font-size: 14px;
    font-weight: 700;
    color: var(--wc-primary, #e0762b);
    margin-bottom: 3px;
}

.eloz-wishlist-item .item-stock {
    font-size: 11px;
    font-weight: 600;
}

.eloz-wishlist-item .item-stock.in-stock {
    color: #16a34a;
}

.eloz-wishlist-item .item-stock.out-of-stock {
    color: #dc2626;
}

.eloz-wishlist-item .item-actions {
    display: flex;
    flex-direction: column;
    align-items: flex-end;
    gap: 8px;
}

.eloz-wl-add-cart-btn {
    padding: 7px 14px !important;
    font-size: 12px !important;
    font-weight: 600 !important;
    background: var(--wc-primary, #e0762b) !important;
    color: #ffffff !important;
    border-radius: 6px !important;
    text-decoration: none !important;
    white-space: nowrap;
    border: none !important;
    box-shadow: 0 2px 8px rgba(224, 118, 43, 0.25) !important;
    transition: all 0.2s ease !important;
}

.eloz-wl-add-cart-btn:hover {
    background: #c8631b !important;
    box-shadow: 0 4px 12px rgba(224, 118, 43, 0.4) !important;
}

.eloz-wl-remove-btn {
    background: #f1f5f9;
    border: none;
    width: 26px;
    height: 26px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    color: #94a3b8;
    cursor: pointer;
    transition: all 0.2s ease;
    padding: 0;
}

.eloz-wl-remove-btn:hover {
    background: #fef2f2;
    color: #ef4444;
}

/* Empty Wishlist State */
.eloz-wishlist-empty {
    text-align: center;
    padding: 50px 20px;
}

.eloz-wishlist-empty .empty-icon {
    width: 84px;
    height: 84px;
    border-radius: 50%;
    background: #fff5f5;
    color: #e53e3e;
    display: flex;
    align-items: center;
    justify-content: center;
    margin: 0 auto 20px;
}

.eloz-wishlist-empty h4 {
    font-size: 17px;
    font-weight: 700;
    color: #0f172a;
    margin-bottom: 8px;
}

.eloz-wishlist-empty p {
    font-size: 13px;
    color: #64748b;
    margin-bottom: 24px;
    line-height: 1.5;
}

.eloz-btn-shop {
    display: inline-block;
    padding: 11px 26px;
    background: var(--wc-primary, #e0762b);
    color: #ffffff !important;
    font-size: 14px;
    font-weight: 600;
    border-radius: 8px;
    text-decoration: none !important;
}

/* ── 6. Toast Notification Alert (Top-Right Floating with Progress Bar) ── */
.eloz-wishlist-toast-container {
    position: fixed !important;
    top: 24px !important;
    right: 24px !important;
    z-index: 9999999 !important;
    pointer-events: none !important;
    max-width: calc(100vw - 32px) !important;
}

.eloz-wishlist-toast {
    pointer-events: auto !important;
    width: 360px !important;
    max-width: 100% !important;
    background: #ffffff !important;
    border-radius: 12px !important;
    box-shadow: 0 14px 38px rgba(15, 23, 42, 0.16), 0 3px 10px rgba(15, 23, 42, 0.08) !important;
    border: 1px solid #e2e8f0 !important;
    overflow: hidden !important;
    position: relative !important;
    transform: translateX(120%) !important;
    opacity: 0 !important;
    transition: transform 0.35s cubic-bezier(0.16, 1, 0.3, 1), opacity 0.3s ease !important;
}

.eloz-wishlist-toast.is-visible {
    transform: translateX(0) !important;
    opacity: 1 !important;
}

.eloz-wishlist-toast .toast-main {
    display: flex !important;
    align-items: flex-start !important;
    gap: 14px !important;
    padding: 16px 18px 14px 18px !important;
    position: relative !important;
}

.eloz-wishlist-toast .toast-icon-wrap {
    width: 40px !important;
    height: 40px !important;
    border-radius: 50% !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    flex-shrink: 0 !important;
    background: #fff7ed !important;
    color: var(--wc-primary, #e0762b) !important;
    border: 1px solid #ffedd5 !important;
}

.eloz-wishlist-toast.toast--success .toast-icon-wrap {
    background: #f0fdf4 !important;
    color: #16a34a !important;
    border-color: #dcfce7 !important;
}

.eloz-wishlist-toast.toast--warning .toast-icon-wrap {
    background: #fff7ed !important;
    color: #ea580c !important;
    border-color: #ffedd5 !important;
}

.eloz-wishlist-toast.toast--info .toast-icon-wrap {
    background: #f1f5f9 !important;
    color: #475569 !important;
    border-color: #e2e8f0 !important;
}

.eloz-wishlist-toast .toast-body {
    flex: 1 !important;
    min-width: 0 !important;
    padding-right: 12px !important;
}

.eloz-wishlist-toast .toast-title {
    font-size: 15px !important;
    font-weight: 700 !important;
    color: #0f172a !important;
    margin: 0 0 4px 0 !important;
    line-height: 1.3 !important;
}

.eloz-wishlist-toast .toast-desc {
    font-size: 13px !important;
    color: #64748b !important;
    margin: 0 0 6px 0 !important;
    line-height: 1.45 !important;
}

.eloz-wishlist-toast .toast-link {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    font-size: 13px;
    font-weight: 700;
    color: var(--wc-primary, #e0762b);
    text-decoration: none;
    transition: color 0.15s ease;
}

.eloz-wishlist-toast .toast-link.is-hidden,
.eloz-wishlist-toast .toast-link[style*="display: none"],
.eloz-wishlist-toast .toast-link[style*="display:none"] {
    display: none !important;
}

.eloz-wishlist-toast .toast-link:hover {
    color: #c85e00;
    text-decoration: underline;
}

.eloz-wishlist-toast .toast-close-btn {
    position: absolute;
    top: 10px;
    right: 10px;
    width: 26px;
    height: 26px;
    border-radius: 50%;
    border: none;
    background: transparent;
    color: #94a3b8;
    font-size: 20px;
    line-height: 1;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: all 0.15s ease;
}

.eloz-wishlist-toast .toast-close-btn:hover {
    background: #f1f5f9;
    color: #0f172a;
}

/* Bottom Progress Track & Bar (100% -> 0% right to left) */
.eloz-wishlist-toast .toast-progress-track {
    width: 100%;
    height: 3.5px;
    background: #f1f5f9;
    position: relative;
    overflow: hidden;
}

.eloz-wishlist-toast .toast-progress-bar {
    position: absolute;
    top: 0;
    left: 0;
    height: 100%;
    width: 100%;
    background: linear-gradient(90deg, var(--wc-primary, #e0762b), #ff9848);
    transform-origin: left center;
    will-change: width;
}

.eloz-wishlist-toast.toast--success .toast-progress-bar {
    background: linear-gradient(90deg, #10b981, #16a34a);
}

.eloz-wishlist-toast.toast--warning .toast-progress-bar {
    background: linear-gradient(90deg, #f59e0b, #d97706);
}

.eloz-wishlist-toast.toast--info .toast-progress-bar {
    background: linear-gradient(90deg, #64748b, #94a3b8);
}

@media (max-width: 767px) {
    .eloz-wishlist-toast-container {
        top: 14px !important;
        right: 12px !important;
        left: 12px !important;
        max-width: none !important;
        display: flex !important;
        justify-content: center !important;
    }

    .eloz-wishlist-toast {
        width: 100% !important;
        max-width: 310px !important;
        border-radius: 10px !important;
        box-shadow: 0 6px 22px rgba(15, 23, 42, 0.14) !important;
    }

    .eloz-wishlist-toast .toast-main {
        padding: 9px 12px 7px 11px !important;
        gap: 9px !important;
        align-items: center !important;
    }

    .eloz-wishlist-toast .toast-icon-wrap {
        width: 28px !important;
        height: 28px !important;
        min-width: 28px !important;
    }

    .eloz-wishlist-toast .toast-icon-wrap svg {
        width: 14px !important;
        height: 14px !important;
    }

    .eloz-wishlist-toast .toast-body {
        padding-right: 16px !important;
    }

    .eloz-wishlist-toast .toast-title {
        font-size: 13px !important;
        margin: 0 0 1px 0 !important;
        line-height: 1.25 !important;
    }

    .eloz-wishlist-toast .toast-desc {
        font-size: 11.5px !important;
        line-height: 1.35 !important;
        margin: 0 0 2px 0 !important;
    }

    .eloz-wishlist-toast .toast-link {
        font-size: 11.5px !important;
    }

    .eloz-wishlist-toast .toast-close-btn {
        top: 6px !important;
        right: 6px !important;
        width: 18px !important;
        height: 18px !important;
        font-size: 15px !important;
    }

    .eloz-wishlist-toast .toast-progress-track {
        height: 2.5px !important;
    }

    /* Wishlist Page Empty / Login Message Card on Mobile */
    .eloz-wishlist-empty-card,
    .eloz-wishlist-empty {
        padding: 26px 16px !important;
        margin: 16px auto !important;
        border-radius: 12px !important;
    }

    .eloz-wishlist-empty-card .empty-icon-wrap,
    .eloz-wishlist-empty .empty-icon-wrap,
    .eloz-wishlist-empty-card .empty-icon,
    .eloz-wishlist-empty .empty-icon {
        width: 50px !important;
        height: 50px !important;
        margin-bottom: 12px !important;
    }

    .eloz-wishlist-empty-card .empty-icon-wrap svg,
    .eloz-wishlist-empty .empty-icon-wrap svg {
        width: 24px !important;
        height: 24px !important;
    }

    .eloz-wishlist-empty-card h3,
    .eloz-wishlist-empty h3 {
        font-size: 16px !important;
        margin-bottom: 6px !important;
    }

    .eloz-wishlist-empty-card p,
    .eloz-wishlist-empty p {
        font-size: 12px !important;
        line-height: 1.5 !important;
        margin-bottom: 14px !important;
    }

    .eloz-wishlist-empty-card .eloz-btn-primary {
        font-size: 13px !important;
        padding: 9px 18px !important;
    }
}

/* ── 7. Dedicated Wishlist Page Styles ── */
.eloz-wishlist-top-header {
    padding: 20px 0 10px;
    background: transparent !important;
}

.eloz-wishlist-top-header .page-title {
    font-family: var(--font-heading);
    font-size: 32px;
    font-weight: 700;
    color: var(--wc-heading, #0f172a);
    margin-bottom: 6px;
    letter-spacing: -0.5px;
}

.eloz-breadcrumbs {
    font-size: 13px;
    color: #64748b;
}

.eloz-breadcrumbs a {
    color: #64748b;
    text-decoration: none;
    transition: color 0.2s ease;
}

.eloz-breadcrumbs a:hover {
    color: var(--wc-primary, #e0762b);
}

.eloz-breadcrumbs .sep {
    margin: 0 6px;
    color: #cbd5e1;
}

.eloz-breadcrumbs .current {
    color: var(--wc-primary, #e0762b);
    font-weight: 600;
}

.eloz-wishlist-empty-card,
.eloz-wishlist-empty {
    background: #ffffff;
    border: 1px solid #e2e8f0;
    border-radius: 16px;
    padding: 50px 30px;
    max-width: 520px;
    margin: 30px auto;
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.04);
}

.eloz-wishlist-empty-card .empty-icon-wrap,
.eloz-wishlist-empty .empty-icon-wrap,
.eloz-wishlist-empty-card .empty-icon,
.eloz-wishlist-empty .empty-icon {
    width: 84px;
    height: 84px;
    border-radius: 50%;
    background: #fef2f2;
    color: #ef4444;
    display: flex;
    align-items: center;
    justify-content: center;
    margin: 0 auto 20px;
}

.eloz-wishlist-header-bar {
    border-bottom: 1px solid #e2e8f0;
}

.eloz-wishlist-count-pill {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    background: var(--wc-primary, #e0762b) !important;
    color: #ffffff !important;
    font-size: 13px !important;
    font-weight: 700 !important;
    min-width: 26px !important;
    height: 26px !important;
    padding: 0 10px !important;
    border-radius: 20px !important;
    line-height: 1 !important;
    box-shadow: 0 2px 8px rgba(224, 118, 43, 0.35) !important;
}

.eloz-wishlist-grid .eloz-product-card {
    height: 100%;
}

/* ============================================================
   CART DRAWER — Premium Slide-in Sidebar
   ============================================================ */

/* ── Overlay ── */
.eloz-cart-drawer-overlay {
    position: fixed;
    inset: 0;
    background: rgba(0, 0, 0, 0.45);
    backdrop-filter: none !important;
    -webkit-backdrop-filter: none !important;
    z-index: 99998;
    opacity: 0;
    pointer-events: none;
    transition: opacity 0.35s ease;
}

.eloz-cart-drawer-overlay.is-visible {
    opacity: 1;
    pointer-events: auto;
}

/* ── Drawer Panel ── */
.eloz-cart-drawer {
    position: fixed;
    top: 0;
    right: 0;
    width: 420px;
    max-width: 100vw;
    height: 100%;
    background: #fff;
    z-index: 99999;
    display: flex;
    flex-direction: column;
    transform: translateX(100%);
    transition: transform 0.38s cubic-bezier(0.4, 0, 0.2, 1);
    box-shadow: -8px 0 40px rgba(0, 0, 0, 0.12);
}

.eloz-cart-drawer.is-open {
    transform: translateX(0);
}

.eloz-cart-drawer.is-loading .eloz-cart-drawer__body {
    opacity: 1 !important;
}

/* ── Drawer Header ── */
.eloz-cart-drawer__header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 20px 24px;
    border-bottom: 1px solid #f0f0f0;
    background: #fff;
    flex-shrink: 0;
}

.cart-drawer__title-wrap {
    display: flex;
    align-items: center;
    gap: 10px;
}

.cart-drawer__title-wrap svg {
    color: var(--wc-heading);
    flex-shrink: 0;
}

.cart-drawer__title {
    font-size: 16px;
    font-weight: 700;
    color: var(--wc-heading);
    margin: 0;
    letter-spacing: -0.01em;
}

.cart-drawer__count {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 22px;
    height: 22px;
    padding: 0 7px;
    background: var(--wc-primary);
    color: #fff;
    font-size: 11px;
    font-weight: 700;
    border-radius: 20px;
    line-height: 1;
}

/* ── Close Button ── */
.cart-drawer__close {
    display: flex;
    align-items: center;
    gap: 5px;
    background: none;
    border: 1px solid #e8e8e8;
    border-radius: 8px;
    padding: 6px 12px;
    cursor: pointer;
    color: #555;
    font-size: 13px;
    font-weight: 500;
    transition: all 0.2s ease;
    outline: none;
}

.cart-drawer__close:hover {
    border-color: #ccc;
    background: #f8f8f8;
    color: var(--wc-heading);
}

/* ── Drawer Body ── */
.eloz-cart-drawer__body {
    flex: 1;
    overflow: hidden;
    display: flex;
    flex-direction: column;
    height: calc(100% - 65px);
    max-height: calc(100vh - 65px);
    min-height: 0;
}

/* ── Free Shipping Bar ── */
.eloz-cart-drawer__shipping-bar {
    padding: 16px 24px 14px;
    background: #fffaf7;
    border-bottom: 1px solid #f5e8de;
    flex-shrink: 0;
}

.shipping-bar__msg {
    font-size: 13.5px;
    color: #555;
    margin: 0 0 10px;
    line-height: 1.45;
}

.shipping-bar__msg strong,
.shipping-bar__amount {
    color: var(--wc-primary);
    font-weight: 700;
}

.shipping-bar__msg--done {
    color: #16a34a;
    font-weight: 600;
    font-size: 14px;
}

.shipping-bar__track {
    height: 6px;
    background: #e8e8e8;
    border-radius: 6px;
    overflow: hidden;
}

.shipping-bar__fill {
    height: 100%;
    background: linear-gradient(90deg, var(--wc-primary), #ff9848);
    border-radius: 6px;
    transition: width 0.25s cubic-bezier(0.4, 0, 0.2, 1), background 0.2s ease;
    min-width: 8px;
}

.shipping-bar__fill.is-done,
.shipping-bar__msg--done~.shipping-bar__track .shipping-bar__fill,
.eloz-cart-drawer__shipping-bar.is-done .shipping-bar__fill {
    background: linear-gradient(90deg, #10b981, #16a34a) !important;
}

/* ── Cart Items ── */
.eloz-cart-drawer__items {
    flex: 1;
    overflow-y: auto;
    overflow-x: hidden;
    padding: 12px 0;
    min-height: 0;
    scrollbar-width: thin;
    scrollbar-color: #cbd5e1 transparent;
}

.eloz-cart-drawer__items::-webkit-scrollbar {
    width: 5px;
}

.eloz-cart-drawer__items::-webkit-scrollbar-track {
    background: transparent;
}

.eloz-cart-drawer__items::-webkit-scrollbar-thumb {
    background: #cbd5e1;
    border-radius: 4px;
}

.eloz-cart-item {
    display: flex;
    align-items: flex-start;
    gap: 14px;
    padding: 16px 24px;
    border-bottom: 1px solid #f5f5f5;
    position: relative;
    transition: opacity 0.28s ease, transform 0.28s ease;
}

.eloz-cart-item:last-child {
    border-bottom: none;
}

.eloz-cart-item.removing {
    opacity: 0;
    transform: translateX(30px);
    pointer-events: none;
}

/* Thumbnail */
.cart-item__thumb {
    display: block;
    flex-shrink: 0;
    width: 76px;
    height: 76px;
    border-radius: 10px;
    overflow: hidden;
    background: #f7f7f7;
    border: 1px solid #eee;
}

.cart-item__thumb img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    transition: transform 0.3s ease;
}

.cart-item__thumb:hover img {
    transform: scale(1.05);
}

/* Details */
.cart-item__details {
    flex: 1;
    min-width: 0;
    display: flex;
    flex-direction: column;
    gap: 6px;
    padding-right: 30px;
}

.cart-item__name {
    font-size: 14px;
    font-weight: 600;
    color: var(--wc-heading);
    text-decoration: none;
    line-height: 1.35;
    display: block;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.cart-item__name:hover {
    color: var(--wc-primary);
}

.cart-item__variation {
    font-size: 12px;
    color: #9ca3af;
}

/* Bottom row */
.cart-item__bottom {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-top: 4px;
}

.cart-item__price {
    font-size: 14px;
    font-weight: 700;
    color: var(--wc-primary);
    text-align: right;
    white-space: nowrap;
    margin-left: auto;
    display: inline-block;
}

/* ── Qty Stepper ── */
.cart-item__qty-wrap {
    display: flex;
    align-items: center;
    border: 1px solid #e8e8e8;
    border-radius: 8px;
    overflow: hidden;
    background: #f9f9f9;
}

.qty-btn {
    width: 30px;
    height: 30px;
    background: none;
    border: none;
    cursor: pointer;
    font-size: 16px;
    font-weight: 500;
    color: #555;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: all 0.15s ease;
    outline: none;
    flex-shrink: 0;
}

.qty-btn:hover {
    background: #f0f0f0;
    color: var(--wc-heading);
}

.qty-input {
    width: 34px;
    text-align: center;
    border: none;
    background: transparent;
    font-size: 13px;
    font-weight: 600;
    color: var(--wc-heading);
    outline: none;
    -moz-appearance: textfield;
    pointer-events: none;
}

.qty-input::-webkit-outer-spin-button,
.qty-input::-webkit-inner-spin-button {
    -webkit-appearance: none;
}

/* ── Remove Button ── */
.cart-item__remove {
    position: absolute;
    top: 14px;
    right: 20px;
    width: 24px;
    height: 24px;
    background: #f5f5f5;
    border: none;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    color: #9ca3af;
    transition: all 0.2s ease;
    outline: none;
}

.cart-item__remove:hover {
    background: #fee2e2;
    color: #ef4444;
}

/* ── Empty Cart State ── */
.eloz-cart-drawer__empty {
    flex: 1;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: 60px 32px;
    text-align: center;
}

.empty-cart-icon {
    display: flex;
    align-items: center;
    justify-content: center;
    margin: 0 auto 20px;
    opacity: 0.55;
}

.empty-cart-text {
    font-size: 15px;
    color: #6b7280;
    margin: 0 0 24px;
    font-weight: 400;
}

.eloz-cart-btn-shop {
    display: inline-block;
    background: var(--wc-primary);
    color: #fff !important;
    font-size: 14px;
    font-weight: 600;
    padding: 11px 28px;
    border-radius: 6px;
    text-decoration: none !important;
    transition: background 0.2s ease;
}

.eloz-cart-btn-shop:hover {
    background: #c85e00;
    color: #fff !important;
}

/* ── Drawer Footer ── */
.eloz-cart-drawer__footer {
    border-top: 1px solid #f0f0f0;
    padding: 18px 24px 24px;
    background: #fff;
    flex-shrink: 0;
    margin-top: auto;
    z-index: 10;
    position: relative;
}

.cart-drawer__subtotal {
    display: flex;
    align-items: baseline;
    justify-content: space-between;
    margin-bottom: 16px;
}

.subtotal-label {
    font-size: 15px;
    font-weight: 600;
    color: var(--wc-heading);
}

.subtotal-amount {
    font-size: 18px;
    font-weight: 700;
    color: var(--wc-primary);
}

/* Action Buttons */
.cart-drawer__actions {
    display: flex;
    flex-direction: column;
    gap: 10px;
}

.eloz-cart-btn-viewcart {
    display: block;
    text-align: center;
    padding: 12px;
    border: 1.5px solid var(--wc-primary);
    border-radius: 8px;
    color: var(--wc-primary) !important;
    font-size: 14px;
    font-weight: 600;
    text-decoration: none !important;
    background: transparent;
    transition: all 0.2s ease;
}

.eloz-cart-btn-viewcart:hover {
    background: #fef3ea;
}

.eloz-cart-btn-checkout {
    display: block;
    text-align: center;
    padding: 13px;
    background: var(--wc-primary);
    border-radius: 8px;
    color: #fff !important;
    font-size: 14.5px;
    font-weight: 700;
    text-decoration: none !important;
    transition: background 0.2s ease;
    letter-spacing: 0.01em;
}

.eloz-cart-btn-checkout:hover {
    background: #c85e00;
    color: #fff !important;
}

/* ── Body Scroll Lock ── */
body.eloz-cart-drawer-open {
    overflow: hidden;
}

/* ── Responsive ── */
@media (max-width: 576px) {
    .eloz-cart-drawer {
        width: 86vw;
        max-width: 350px;
    }
    .eloz-cart-drawer__header {
        padding: 16px 18px;
    }
    .eloz-cart-drawer__shipping-bar {
        padding: 12px 18px;
    }
    .eloz-cart-item {
        padding: 14px 18px;
        gap: 12px;
    }
    .cart-item__thumb {
        width: 66px;
        height: 66px;
    }
    .eloz-cart-drawer__footer {
        padding: 16px 18px 20px;
    }
}

@media (max-width: 380px) {
    .eloz-cart-drawer {
        width: 88vw;
        max-width: 310px;
    }
    .eloz-cart-drawer__header,
    .eloz-cart-drawer__shipping-bar,
    .eloz-cart-item,
    .eloz-cart-drawer__footer {
        padding-left: 14px;
        padding-right: 14px;
    }
    .cart-item__thumb {
        width: 60px;
        height: 60px;
    }
}


/* ============================================================
   CUSTOM HIGH-CONVERTING CHECKOUT STYLES
   ============================================================ */

/* ============================================================
   Checkout Page Layout — inside theme container (no extra wrapping)
   ============================================================ */

/* Hide "added to cart" success notice on checkout page */
.woocommerce-checkout .woocommerce-message {
    display: none !important;
}

.woocommerce-checkout .page-content-area,
body.woocommerce-checkout #primary.content-area,
.woocommerce-account .page-content-area,
body.woocommerce-account #primary.content-area,
.woocommerce-cart .page-content-area,
body.woocommerce-cart #primary.content-area {
    padding-top: 20px !important;
    padding-bottom: 20px !important;
}

.woocommerce-account .page-banner,
.woocommerce-checkout .page-banner,
.woocommerce-cart .page-banner {
    display: none !important;
}


.eloz-checkout-wrap {
    width: 100%;
}

/* 2-column grid: left (form) | right (cart) */
.eloz-checkout-grid {
    display: grid;
    grid-template-columns: 1fr 550px;
    gap: 28px;
    align-items: start;
    width: 100%;
}

@media (max-width: 1024px) {
    .eloz-checkout-grid {
        grid-template-columns: 1fr;
    }
}

.eloz-checkout-col {
    min-width: 0;
}

/* Sticky right column */
.eloz-checkout-sticky {
    position: sticky;
    top: 90px;
}



/* Card Containers */
.eloz-checkout-card {
    background: #ffffff;
    border-radius: 12px;
    box-shadow: 0 4px 24px rgba(0, 0, 0, 0.05);
    border: 1px solid #e2e8f0;
    overflow: hidden;
    margin-bottom: 24px;
}

.eloz-card-header {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 18px 24px;
    background: #f8fafc;
    border-bottom: 1px solid #e2e8f0;
}

.eloz-card-header .header-icon {
    width: 40px;
    height: 40px;
    border-radius: 10px;
    background: #ffffff;
    color: var(--wc-primary);
    display: flex;
    align-items: center;
    justify-content: center;
    box-shadow: 0 2px 6px rgba(0, 0, 0, 0.05);
    flex-shrink: 0;
}

.eloz-card-title {
    font-size: 16px;
    font-weight: 700;
    color: #0f172a;
    margin: 0;
    line-height: 1.3;
}

.eloz-card-subtitle {
    font-size: 12px;
    color: #64748b;
    margin: 2px 0 0;
}

.eloz-card-body {
    padding: 24px;
}

/* Field Inputs Styling */
.eloz-checkout-form .form-row {
    margin-bottom: 20px;
}

.eloz-checkout-form .form-row label:not(.eloz-location-radio-card),
.eloz-checkout-form .eloz-field-label {
    font-size: 14px !important;
    font-weight: 700 !important;
    color: #1e293b !important;
    margin-bottom: 8px !important;
    display: block !important;
}

.eloz-checkout-form .form-row label .required {
    color: #ef4444 !important;
    text-decoration: none !important;
    margin-left: 2px;
}

.eloz-checkout-form input.input-text,
.eloz-checkout-form select {
    width: 100% !important;
    height: 60px !important;
    line-height: 56px !important;
    padding: 0 18px !important;
    border-radius: 10px !important;
    border: 2px solid #e2e8f0 !important;
    font-size: 15px !important;
    font-weight: 500 !important;
    color: #0f172a !important;
    background: #ffffff !important;
    transition: all 0.2s ease-in-out !important;
    box-shadow: none !important;
}

.eloz-checkout-form textarea.input-text {
    width: 100% !important;
    height: auto !important;
    min-height: 100px !important;
    padding: 14px 18px !important;
    border-radius: 10px !important;
    border: 2px solid #e2e8f0 !important;
    font-size: 15px !important;
    font-weight: 500 !important;
    color: #0f172a !important;
    background: #ffffff !important;
    transition: all 0.2s ease-in-out !important;
    box-shadow: none !important;
    resize: vertical !important;
    line-height: 1.5 !important;
}

.eloz-checkout-form input.input-text::placeholder {
    line-height: 56px !important;
}

/* Field Focus Styling — ALWAYS 2px primary orange border on focus, default border when unfocused, NO shadow */
.eloz-checkout-form input.input-text:focus,
.eloz-checkout-form textarea.input-text:focus,
.eloz-checkout-form select:focus,
.eloz-checkout-form input.input-text.field-error:focus,
.eloz-checkout-form textarea.input-text.field-error:focus {
    border: 2px solid var(--wc-primary) !important;
    box-shadow: none !important;
    outline: none !important;
    background: #ffffff !important;
}


.eloz-checkout-form input.input-text:not(:focus),
.eloz-checkout-form textarea.input-text:not(:focus),
.eloz-checkout-form input.input-text.field-error:not(:focus),
.eloz-checkout-form textarea.input-text.field-error:not(:focus),
.eloz-checkout-form .form-row.woocommerce-invalid input.input-text:not(:focus),
.eloz-checkout-form .form-row.woocommerce-invalid textarea.input-text:not(:focus) {
    border: 2px solid #e2e8f0 !important;
    background-color: #ffffff !important;
    box-shadow: none !important;
}

.eloz-checkout-field-error-msg {
    display: none !important;
}







/* Top Announcement Banner */
.eloz-checkout-header-banner {
    background: #fff8f3;
    border: 1px solid #fed7aa;
    border-radius: 10px;
    padding: 12px 18px;
}

.eloz-checkout-header-banner .banner-inner {
    display: flex;
    align-items: center;
    gap: 16px;
}

@media (max-width: 575px) {
    .eloz-checkout-header-banner .banner-inner {
        flex-direction: column;
        align-items: flex-start;
        gap: 6px;
    }
}

.eloz-checkout-header-banner .banner-badge {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    background: #f97316;
    color: #ffffff;
    padding: 4px 10px;
    border-radius: 6px;
    font-size: 12px;
    font-weight: 700;
    flex-shrink: 0;
}

.eloz-checkout-header-banner .banner-text {
    font-size: 13.5px;
    color: #334155;
}

.eloz-checkout-header-banner .free-ship-notice {
    color: #16a34a;
    font-weight: 600;
}

/* Location Selection Grid */
.eloz-location-select-wrap {
    margin-bottom: 22px;
}

.eloz-location-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 12px;
    margin-top: 6px;
}

@media (max-width: 575px) {
    .eloz-location-grid {
        grid-template-columns: 1fr;
    }
}

/* Location Radio Cards — Flex Row with text left and bullet circle right */
.eloz-checkout-form .form-row label.eloz-location-radio-card,
.woocommerce-checkout .eloz-checkout-form .eloz-location-grid label.eloz-location-radio-card,
.woocommerce-checkout .eloz-location-radio-card,
label.eloz-location-radio-card {
    display: flex !important;
    flex-direction: row !important;
    flex-wrap: nowrap !important;
    align-items: center !important;
    justify-content: space-between !important;
    padding: 16px 20px !important;
    border-radius: 10px !important;
    border: 2px solid #e2e8f0 !important;
    background: #ffffff !important;
    cursor: pointer !important;
    margin: 0 !important;
    width: 100% !important;
    box-sizing: border-box !important;
    transition: all 0.2s ease !important;
}

.eloz-checkout-form .form-row label.eloz-location-radio-card:hover,
.woocommerce-checkout .eloz-location-radio-card:hover,
label.eloz-location-radio-card:hover {
    border-color: #cbd5e1 !important;
}

.eloz-checkout-form .form-row label.eloz-location-radio-card.active,
.woocommerce-checkout .eloz-location-radio-card.active,
label.eloz-location-radio-card.active {
    border-color: var(--wc-primary) !important;
    background: #fffdfa !important;
}

.woocommerce-checkout .eloz-location-radio-card input[type="radio"],
label.eloz-location-radio-card input[type="radio"] {
    position: absolute !important;
    opacity: 0 !important;
    pointer-events: none !important;
}

.eloz-checkout-form .form-row label.eloz-location-radio-card .radio-content,
.woocommerce-checkout .eloz-location-radio-card .radio-content,
label.eloz-location-radio-card .radio-content {
    flex: 1 1 auto !important;
    display: inline-block !important;
    text-align: left !important;
    margin: 0 12px 0 0 !important;
    padding: 0 !important;
}

.eloz-checkout-form .form-row label.eloz-location-radio-card .radio-title,
.woocommerce-checkout .eloz-location-radio-card .radio-title,
label.eloz-location-radio-card .radio-title {
    display: block !important;
    font-size: 14px !important;
    font-weight: 700 !important;
    color: #0f172a !important;
    margin: 0 !important;
}

.eloz-checkout-form .form-row label.eloz-location-radio-card .radio-checkmark,
.woocommerce-checkout .eloz-location-radio-card .radio-checkmark,
label.eloz-location-radio-card .radio-checkmark {
    width: 22px !important;
    height: 22px !important;
    border-radius: 50% !important;
    border: 2px solid #cbd5e1 !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    flex-shrink: 0 !important;
    margin-left: auto !important;
    margin-top: 0 !important;
    margin-bottom: 0 !important;
    order: 2 !important;
    transition: all 0.2s ease !important;
}



.eloz-checkout-form .form-row label.eloz-location-radio-card.active .radio-checkmark,
.woocommerce-checkout .eloz-location-radio-card.active .radio-checkmark,
label.eloz-location-radio-card.active .radio-checkmark {
    border-color: var(--wc-primary) !important;
    background: var(--wc-primary) !important;
    box-shadow: inset 0 0 0 3px #ffffff !important;
}

.eloz-checkout-form .form-row label.eloz-location-radio-card.active .radio-checkmark::after,
.woocommerce-checkout .eloz-location-radio-card.active .radio-checkmark::after,
label.eloz-location-radio-card.active .radio-checkmark::after {
    display: none !important;
}




/* Review Order Table */
.eloz-review-order-table {
    width: 100%;
    margin-bottom: 0 !important;
    border: none !important;
    background-color: #ffffff !important;
}

.eloz-review-order-table thead tr th {
    background-color: #f8fafc !important;
    padding: 12px 24px !important;
    font-size: 13.5px;
    font-weight: 700;
    color: #0f172a !important;
    border-bottom: 1px solid #e2e8f0 !important;
    border-top: none !important;
}

.eloz-review-order-table tbody tr td {
    padding: 12px 24px !important;
    border-bottom: 1px dashed #e2e8f0 !important;
    border-top: none !important;
    vertical-align: middle;
    background-color: #ffffff !important;
}

.eloz-review-order-table tbody tr:last-child td {
    border-bottom: none !important;
}

.eloz-checkout-item-flex {
    display: flex;
    align-items: center;
    gap: 12px;
}

.eloz-checkout-item-flex .item-thumb-wrap {
    position: relative;
    width: 52px;
    height: 52px;
    border-radius: 8px;
    flex-shrink: 0;
    background: #f8fafc;
    border: 1px solid #e2e8f0;
}

.eloz-checkout-item-flex .item-thumb-wrap img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    border-radius: 7px;
    display: block;
}

.eloz-checkout-item-flex .item-qty-badge {
    position: absolute;
    top: -6px;
    right: -6px;
    background: #64748b;
    color: #ffffff;
    font-size: 11px;
    font-weight: 700;
    width: 20px;
    height: 20px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    box-shadow: 0 2px 4px rgba(0, 0, 0, 0.15);
}

.eloz-checkout-item-flex .item-info {
    flex: 1;
    min-width: 0;
}

.eloz-checkout-item-flex .item-title {
    font-size: 13.5px;
    font-weight: 600;
    color: #0f172a;
    line-height: 1.35;
    display: block;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}


/* Totals Table inside review-order.php */
.eloz-review-order-table {
    width: 100%;
    margin-bottom: 0 !important;
    border: none !important;
    background-color: #ffffff !important;
}

.eloz-review-order-table,
.eloz-review-order-table tbody,
.eloz-review-order-table tfoot,
.eloz-review-order-table tfoot tr,
.eloz-review-order-table tfoot th,
.eloz-review-order-table tfoot td {
    background-color: #ffffff !important;
    color: #334155 !important;
}

.eloz-review-order-table tr th,
.eloz-review-order-table tr td {
    padding: 12px 24px !important;
    border-top: 1px solid #f1f5f9 !important;
    border-bottom: none !important;
    border-left: none !important;
    border-right: none !important;
    font-size: 14px;
}

.eloz-review-order-table tr.cart-subtotal th,
.eloz-review-order-table tr.cart-subtotal td {
    border-top: none !important;
}

.eloz-review-order-table tr td {
    text-align: right !important;
}

.eloz-review-order-table tr.woocommerce-shipping-totals,
.eloz-review-order-table tr.woocommerce-shipping-totals th,
.eloz-review-order-table tr.woocommerce-shipping-totals td {
    background-color: #f8fafc !important;
}

.eloz-review-order-table tr.woocommerce-shipping-totals th {
    vertical-align: top;
    padding-top: 14px !important;
    color: #0f172a !important;
    font-weight: 700 !important;
}

.eloz-review-order-table ul#shipping_method {
    list-style: none !important;
    padding: 0 !important;
    margin: 0 !important;
    display: inline-block;
    text-align: right;
}

.eloz-review-order-table ul#shipping_method li {
    margin: 4px 0 !important;
    font-size: 13.5px;
    font-weight: 600;
    color: #0f172a !important;
}

.eloz-review-order-table ul#shipping_method li label {
    color: #0f172a !important;
    font-weight: 600 !important;
}

.eloz-review-order-table ul#shipping_method input[type="radio"] {
    accent-color: var(--wc-primary);
    margin-right: 4px;
}

.eloz-review-order-table tr.order-total th {
    font-size: 16px !important;
    font-weight: 700 !important;
    color: #0f172a !important;
    border-top: 2px solid #e2e8f0 !important;
    background-color: #ffffff !important;
}

.eloz-review-order-table tr.order-total td {
    border-top: 2px solid #e2e8f0 !important;
    background-color: #ffffff !important;
}

.eloz-review-order-table tr.order-total td strong .woocommerce-Price-amount,
.eloz-review-order-table tr.order-total td .woocommerce-Price-amount {
    font-size: 20px !important;
    font-weight: 700 !important;
    color: var(--wc-primary) !important;
}



/* ============================================================
   Payment Methods — Card Style (matches location selector cards)
   Uses CSS Grid so it survives WooCommerce AJAX updates
   Grid: [label + description | dot]
   ============================================================ */

#payment {
    position: relative !important;
    background: transparent !important;
    border: none !important;
    padding: 0 !important;
    overflow: hidden !important;
}

/* Remove WooCommerce default ul padding / border */
#payment ul.payment_methods {
    list-style: none !important;
    padding: 0 !important;
    margin: 0 0 12px !important;
    border: none !important;
    background: transparent !important;
}

/* Each payment method li → CSS Grid card matching location cards */
#payment ul.payment_methods li.wc_payment_method {
    display: grid !important;
    grid-template-columns: 1fr 22px !important;
    grid-template-rows: auto auto !important;
    column-gap: 12px !important;
    align-items: center !important;
    padding: 14px 18px !important;
    border-radius: 10px !important;
    border: 2px solid #e2e8f0 !important;
    background: #ffffff !important;
    margin-bottom: 10px !important;
    cursor: pointer !important;
    transition: border-color 0.2s ease, box-shadow 0.2s ease !important;
}

#payment ul.payment_methods li.wc_payment_method:has(input:checked) {
    border-color: var(--wc-primary) !important;
    background: #fffdfa !important;
}

/* Hide the native radio input completely */
#payment ul.payment_methods li.wc_payment_method input[type="radio"] {
    display: none !important;
}

/* Label → grid row 1, col 1 */
#payment ul.payment_methods li.wc_payment_method label {
    grid-column: 1 !important;
    grid-row: 1 !important;
    display: block !important;
    font-size: 14px !important;
    font-weight: 700 !important;
    color: #0f172a !important;
    cursor: pointer !important;
    margin: 0 !important;
    padding: 0 !important;
    line-height: 1.4 !important;
    white-space: nowrap !important;
}

/* Payment description box → grid row 2, col 1 */
#payment ul.payment_methods li.wc_payment_method .payment_box {
    grid-column: 1 !important;
    grid-row: 2 !important;
    margin: 0 !important;
    padding: 2px 0 0 !important;
    background: transparent !important;
    border: none !important;
    box-shadow: none !important;
}

#payment ul.payment_methods li.wc_payment_method .payment_box::before {
    display: none !important;
}

#payment ul.payment_methods li.wc_payment_method .payment_box p {
    font-size: 12px !important;
    color: #64748b !important;
    margin: 0 !important;
    font-weight: 400 !important;
    line-height: 1.4 !important;
}

/* Checkmark dot circle → grid col 2, spanning both rows on the right */
#payment ul.payment_methods li.wc_payment_method::after {
    content: "" !important;
    grid-column: 2 !important;
    grid-row: 1 / span 2 !important;
    width: 22px !important;
    height: 22px !important;
    border-radius: 50% !important;
    border: 2px solid #cbd5e1 !important;
    align-self: center !important;
    justify-self: center !important;
    transition: all 0.2s ease !important;
    box-sizing: border-box !important;
}

#payment ul.payment_methods li.wc_payment_method:has(input:checked)::after {
    border-color: var(--wc-primary) !important;
    background: var(--wc-primary) !important;
    box-shadow: inset 0 0 0 3px #fff !important;
}

/* Visually hide the real Place Order button — kept in DOM so WC's JS can
   attach events and submit. The proxy button in the right card triggers it. */
#payment div.form-row.place-order {
    position: absolute !important;
    width: 1px !important;
    height: 1px !important;
    overflow: hidden !important;
    clip: rect(0 0 0 0) !important;
    white-space: nowrap !important;
    border: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    pointer-events: none !important;
}

/* Proxy Place Order Button — in the right card */
.eloz-proxy-place-order {
    padding: 16px 20px;
    border-top: 1px solid #f1f5f9;
}

.eloz-btn-place-order {
    position: relative !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 100% !important;
    min-height: 54px !important;
    padding: 16px 24px !important;
    background: var(--wc-primary, #e0762b) !important;
    color: #ffffff !important;
    font-size: 16px !important;
    font-weight: 700 !important;
    border: none !important;
    border-radius: 10px !important;
    cursor: pointer !important;
    transition: background 0.2s ease, transform 0.1s ease, box-shadow 0.2s ease !important;
    letter-spacing: 0.3px !important;
    text-align: center !important;
    overflow: hidden !important;
    box-shadow: 0 4px 14px rgba(224, 118, 43, 0.35) !important;
}

.eloz-btn-place-order:hover {
    background: #c85e00 !important;
    transform: translateY(-1px) !important;
    box-shadow: 0 6px 18px rgba(224, 118, 43, 0.45) !important;
}

.eloz-btn-place-order:active {
    transform: translateY(0) !important;
}

.eloz-btn-place-order .btn-text {
    transition: opacity 0.2s ease;
    display: inline-block;
    color: #ffffff !important;
}

.eloz-btn-place-order .btn-spinner {
    position: absolute;
    width: 22px;
    height: 22px;
    border: 3px solid rgba(255, 255, 255, 0.3);
    border-top-color: #ffffff;
    border-radius: 50%;
    animation: elozPlaceOrderSpin 0.75s infinite linear;
    display: none;
}

@keyframes elozPlaceOrderSpin {
    0% {
        transform: rotate(0deg);
    }

    100% {
        transform: rotate(360deg);
    }
}

/* Loading state on place order button */
.eloz-btn-place-order.loading {
    opacity: 0.92 !important;
    pointer-events: none !important;
    cursor: not-allowed !important;
}

.eloz-btn-place-order.loading .btn-text {
    opacity: 0 !important;
    visibility: hidden !important;
}

.eloz-btn-place-order.loading .btn-spinner {
    display: block !important;
}

/* ============================================================
   NEW CHECKOUT SUMMARY & ITEM CARDS CSS
   ============================================================ */

.eloz-checkout-cart-summary {
    background: #ffffff;
}

.cart-summary-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 16px 20px;
    background: #f8fafc;
    border-bottom: 1px solid #e2e8f0;
}

.cart-summary-header .summary-title {
    font-size: 15px;
    font-weight: 700;
    color: #0f172a;
    margin: 0;
    display: flex;
    align-items: center;
    gap: 8px;
}

.cart-summary-header .summary-subtotal-price {
    font-size: 16px;
    font-weight: 700;
    color: #0f172a;
}

/* Shipping Progress Bar */
.checkout-shipping-progress-box {
    padding: 14px 20px;
    background: #fffdfa;
    border-bottom: 1px solid #f1f5f9;
}

.checkout-shipping-progress-box .progress-message {
    font-size: 13px;
    color: #334155;
    margin-bottom: 8px;
    display: flex;
    align-items: center;
    gap: 6px;
}

.checkout-shipping-progress-box .progress-message.unlocked {
    color: #16a34a;
    font-weight: 600;
}

.checkout-shipping-progress-box .progress-bar-track {
    width: 100%;
    height: 8px;
    background: #e2e8f0;
    border-radius: 999px;
    overflow: hidden;
}

.checkout-shipping-progress-box .progress-bar-fill {
    height: 100%;
    background: linear-gradient(90deg, #10b981, #16a34a);
    border-radius: 999px;
    transition: width 0.3s ease;
}

/* Items List Card */
.checkout-items-wrapper {
    padding: 16px 20px;
}

.checkout-item-card {
    display: flex;
    align-items: center;
    gap: 14px;
    padding: 14px 0;
    border-bottom: 1px dashed #e2e8f0;
}

.checkout-item-card:last-child {
    border-bottom: none;
}

.checkout-item-card .item-thumb-col {
    width: 58px;
    height: 58px;
    border-radius: 8px;
    overflow: hidden;
    flex-shrink: 0;
    border: 1px solid #e2e8f0;
    background: #f8fafc;
}

.checkout-item-card .item-thumb-col img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

.checkout-item-card .item-details-col {
    flex: 1;
    min-width: 0;
}

.checkout-item-card .item-title {
    font-size: 13.5px;
    font-weight: 600;
    color: #0f172a;
    margin: 0 0 6px;
    line-height: 1.35;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

/* Interactive QTY Stepper */
.checkout-qty-stepper {
    display: inline-flex;
    align-items: center;
    border: 1px solid #cbd5e1;
    border-radius: 6px;
    background: #ffffff;
    overflow: hidden;
    height: 28px;
}

.checkout-qty-stepper .qty-btn {
    width: 28px;
    height: 28px;
    border: none;
    background: #f8fafc;
    color: #334155;
    font-size: 14px;
    font-weight: 700;
    line-height: 1;
    cursor: pointer;
    transition: background 0.15s ease;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 0;
}

.checkout-qty-stepper .qty-btn:hover {
    background: #e2e8f0;
}

.checkout-qty-stepper .qty-val {
    padding: 0 10px;
    font-size: 12.5px;
    font-weight: 700;
    color: #0f172a;
}

.checkout-item-card .item-price-remove-col {
    display: flex;
    flex-direction: column;
    align-items: flex-end;
    gap: 6px;
    flex-shrink: 0;
}

.checkout-item-card .item-remove-btn {
    border: none !important;
    background: transparent !important;
    color: #94a3b8 !important;
    font-size: 20px !important;
    font-weight: 600 !important;
    line-height: 1 !important;
    cursor: pointer !important;
    padding: 4px 6px !important;
    margin: -4px -6px 0 0 !important;
    transition: color 0.15s ease, transform 0.15s ease !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
}

.checkout-item-card .item-remove-btn:hover {
    color: #ef4444 !important;
    transform: scale(1.15) !important;
}


.checkout-item-card .item-total-price {
    font-size: 14px;
    font-weight: 700;
    color: #0f172a;
}

/* Summary Breakdown */
.checkout-totals-summary {
    padding: 16px 20px 20px;
    border-top: 1px solid #f1f5f9;
}

.checkout-totals-summary .summary-row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 8px 0;
    font-size: 14px;
    color: #475569;
}

.checkout-totals-summary .summary-row strong,
.checkout-totals-summary .summary-row strong *,
.cart-summary-header .summary-subtotal-price,
.cart-summary-header .summary-subtotal-price * {
    color: #0f172a !important;
    font-size: 15px !important;
    font-weight: 700 !important;
}

.checkout-totals-summary .summary-row.grand-total-row {
    border-top: 2px solid #e2e8f0;
    margin-top: 10px;
    padding-top: 14px;
}

.checkout-totals-summary .summary-row.grand-total-row .total-label {
    font-size: 16px;
    font-weight: 700;
    color: #0f172a;
}

.checkout-totals-summary .summary-row.grand-total-row .total-amount,
.checkout-totals-summary .summary-row.grand-total-row .total-amount *,
.checkout-totals-summary .summary-row.grand-total-row .total-amount .woocommerce-Price-amount,
.checkout-totals-summary .summary-row.grand-total-row .total-amount bdi,
.checkout-totals-summary .summary-row.grand-total-row .total-amount strong {
    font-size: 20px !important;
    font-weight: 700 !important;
    color: #0f172a !important;
}

/* Disable blockUI overlays & opacity reductions on custom checkout */
.woocommerce-checkout .blockUI,
.woocommerce-checkout .blockOverlay,
.woocommerce-checkout .processing,
.woocommerce-checkout-review-order-table.processing,
.eloz-checkout-wrap .processing,
.blockUI.blockOverlay {
    display: none !important;
    opacity: 0 !important;
    visibility: hidden !important;
    pointer-events: none !important;
    background: transparent !important;
}

.eloz-checkout-wrap,
.eloz-checkout-card,
.checkout-item-card,
.eloz-location-radio-card,
.woocommerce-checkout-review-order-table {
    opacity: 1 !important;
}

/* Hide hero banner section on checkout and account pages to match shop page inline breadcrumb */
body.woocommerce-checkout section.breadcrumb.page-banner,
body.woocommerce-account section.breadcrumb.page-banner {
    display: none !important;
}

body.woocommerce-checkout #primary.content-area,
.woocommerce-checkout .page-content-area,
body.woocommerce-account #primary.content-area,
.woocommerce-account .page-content-area {
    padding-top: 30px !important;
    padding-bottom: 20px !important;
}

body.woocommerce-checkout #primary.content-area,
.woocommerce-checkout .page-content-area {
    padding-bottom: 50px !important;
}

.woocommerce div.product form.cart::after,
.woocommerce div.product form.cart::before {
    display: none;
}

/* ============================================================
   Checkout Coupon Form Box Styling
   ============================================================ */
.eloz-coupon-box-wrap {
    margin-bottom: 24px !important;
    width: 100% !important;
}

.woocommerce-form-coupon-toggle {
    margin-bottom: 0 !important;
}

.woocommerce-form-coupon-toggle .woocommerce-info,
.eloz-coupon-toggle-notice {
    background: #fff8f3 !important;
    border: 1px solid #fed7aa !important;
    border-radius: 12px !important;
    padding: 14px 20px !important;
    font-size: 14px !important;
    font-weight: 600 !important;
    color: #1e293b !important;
    display: flex !important;
    align-items: center !important;
    gap: 10px !important;
    margin-bottom: 12px !important;
}

.woocommerce-form-coupon-toggle .woocommerce-info::before,
.eloz-coupon-toggle-notice::before {
    display: none !important;
    content: none !important;
}

.woocommerce-form-coupon-toggle a.showcoupon,
.eloz-coupon-toggle-notice a.showcoupon {
    color: var(--wc-primary) !important;
    font-weight: 700 !important;
    text-decoration: underline !important;
    cursor: pointer !important;
    margin-left: 4px !important;
}

form.checkout_coupon,
form.woocommerce-form-coupon,
.eloz-checkout-coupon-form {
    background: #ffffff !important;
    border: 1px solid #e2e8f0 !important;
    border-radius: 12px !important;
    padding: 20px 24px !important;
    box-shadow: 0 4px 20px rgba(0, 0, 0, 0.04) !important;
    margin-top: 10px !important;
    margin-bottom: 24px !important;
}

form.checkout_coupon .coupon-intro-text,
.eloz-checkout-coupon-form .coupon-intro-text {
    font-size: 13.5px !important;
    color: #64748b !important;
    margin-bottom: 14px !important;
}

.eloz-coupon-input-group {
    display: flex !important;
    gap: 12px !important;
    align-items: center !important;
}

@media (max-width: 575px) {
    .eloz-coupon-input-group {
        flex-direction: column !important;
        align-items: stretch !important;
    }
}

.eloz-coupon-input-group input.eloz-coupon-input,
form.checkout_coupon input#coupon_code {
    flex: 1 !important;
    height: 48px !important;
    line-height: 48px !important;
    padding: 0 16px !important;
    border-radius: 10px !important;
    border: 2px solid #e2e8f0 !important;
    font-size: 14px !important;
    font-weight: 500 !important;
    color: #0f172a !important;
    background: #ffffff !important;
    box-shadow: none !important;
    width: 100% !important;
}

.eloz-coupon-input-group input.eloz-coupon-input:focus,
form.checkout_coupon input#coupon_code:focus {
    border-color: var(--wc-primary) !important;
    outline: none !important;
}

.eloz-btn-apply-coupon,
form.checkout_coupon button[name="apply_coupon"] {
    height: 48px !important;
    padding: 0 24px !important;
    background: var(--wc-primary) !important;
    color: #ffffff !important;
    border-radius: 10px !important;
    border: none !important;
    font-size: 14px !important;
    font-weight: 700 !important;
    cursor: pointer !important;
    transition: all 0.2s ease !important;
    white-space: nowrap !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
}

.eloz-btn-apply-coupon:hover,
form.checkout_coupon button[name="apply_coupon"]:hover {
    opacity: 0.9 !important;
    transform: translateY(-1px) !important;
}

/* ============================================================
   WooCommerce Checkout Notices (Errors, Warnings, Success)
   ============================================================ */
.woocommerce-NoticeGroup,
.woocommerce-NoticeGroup-checkout,
.woocommerce-notices-wrapper {
    width: 100% !important;
    clear: both !important;
}

.woocommerce-NoticeGroup:empty,
.woocommerce-NoticeGroup-checkout:empty,
.woocommerce-notices-wrapper:empty {
    display: none !important;
    margin: 0 !important;
    padding: 0 !important;
    height: 0 !important;
    min-height: 0 !important;
}

.woocommerce-NoticeGroup:not(:empty),
.woocommerce-NoticeGroup-checkout:not(:empty),
.woocommerce-notices-wrapper:not(:empty) {
    margin-bottom: 20px !important;
}

.woocommerce-error,
.woocommerce-message,
.woocommerce-info {
    list-style: none !important;
    margin: 0 0 16px !important;
    padding: 14px 20px !important;
    border-radius: 10px !important;
    font-size: 14px !important;
    font-weight: 600 !important;
    line-height: 1.5 !important;
    display: flex !important;
    align-items: center !important;
    gap: 12px !important;
    box-sizing: border-box !important;
}

.woocommerce-error li,
.woocommerce-message li,
.woocommerce-info li {
    list-style: none !important;
    margin: 0 !important;
    padding: 0 !important;
}

/* Notice Styling (Clean Alert Banner - No Icon Overlap) */
.woocommerce-error,
.woocommerce-message,
.woocommerce-info {
    list-style: none !important;
    margin: 0 0 24px !important;
    padding: 16px 22px !important;
    border-radius: 10px !important;
    font-size: 14px !important;
    font-weight: 600 !important;
    line-height: 1.5 !important;
    display: block !important;
    box-sizing: border-box !important;
    position: relative !important;
}

.woocommerce-error::before,
.woocommerce-message::before,
.woocommerce-info::before {
    content: none !important;
    display: none !important;
}

.woocommerce-error {
    background: #fef2f2 !important;
    border: 1px solid #fca5a5 !important;
    color: #991b1b !important;
}

.woocommerce-message {
    background: #f0fdf4 !important;
    border: 1px solid #86efac !important;
    color: #166534 !important;
}

.woocommerce-info {
    background: #eff6ff !important;
    border: 1px solid #93c5fd !important;
    color: #1e40af !important;
}

/* ============================================================
   Applied Coupon Row in Order Summary (.summary-row.coupon-row)
   ============================================================ */
.checkout-totals-summary .summary-row.coupon-row {
    color: #16a34a !important;
    font-weight: 600 !important;
    background: #f0fdf4 !important;
    padding: 10px 14px !important;
    border-radius: 8px !important;
    margin: 8px 0 !important;
    border: 1px dashed #86efac !important;
}

.checkout-totals-summary .summary-row.coupon-row .coupon-code-badge {
    background: #dcfce7 !important;
    color: #15803d !important;
    padding: 2px 8px !important;
    border-radius: 6px !important;
    font-size: 13px !important;
    font-weight: 700 !important;
    margin: 0 4px !important;
}

.checkout-totals-summary .summary-row.coupon-row .woocommerce-Price-amount,
.checkout-totals-summary .summary-row.coupon-row bdi {
    color: #16a34a !important;
    font-weight: 700 !important;
    font-size: 15px !important;
}

.checkout-totals-summary .summary-row.coupon-row a.woocommerce-remove-coupon {
    color: #ef4444 !important;
    font-size: 12px !important;
    font-weight: 600 !important;
    text-decoration: underline !important;
    margin-left: 8px !important;
    transition: color 0.2s ease !important;
}

.checkout-totals-summary .summary-row.coupon-row a.woocommerce-remove-coupon:hover {
    color: #b91c1c !important;
}

/* ============================================================
   Add to Cart & Drawer Clean Integration
   ============================================================ */
/* Disable WooCommerce default external View Cart link */
a.added_to_cart.wc-forward,
.products .added_to_cart,
.product-card .added_to_cart,
.woocommerce .products .added_to_cart {
    display: none !important;
}

/* Fixed 44px Height Lock for Add to Cart Buttons across ALL states */
.add_to_cart_button,
.single_add_to_cart_button,
.ajax_add_to_cart,
.eloz-add-to-cart-btn,
.eloz-product-card__action-btn .button {
    height: 44px !important;
    min-height: 44px !important;
    box-sizing: border-box !important;
}

/* Filled Button State on Click, Loading, and Added */
.add_to_cart_button.eloz-filled,
.single_add_to_cart_button.eloz-filled,
.add_to_cart_button.loading,
.single_add_to_cart_button.loading,
.add_to_cart_button.added,
.single_add_to_cart_button.added,
.add_to_cart_button.is-added,
.single_add_to_cart_button.is-added {
    background: var(--wc-primary, #e0762b) !important;
    border-color: var(--wc-primary, #e0762b) !important;
    color: #ffffff !important;
    opacity: 1 !important;
    filter: none !important;
    height: 44px !important;
    min-height: 44px !important;
}


/* ── Strictly Suppress WooCommerce default loading spin (Eliminates duplicate spinner) ── */
a.button.loading::after,
button.button.loading::after,
.button.loading::after,
.single_add_to_cart_button.loading::after,
.add_to_cart_button.loading::after,
.single_add_to_cart_button.is-loading::after,
.add_to_cart_button.is-loading::after,
.ajax_add_to_cart.loading::after,
.eloz-add-to-cart-btn.loading::after {
    display: none !important;
    content: none !important;
    opacity: 0 !important;
    visibility: hidden !important;
}

/* ── Button Loading State Container (Instantly hides text with zero delay) ── */
.add_to_cart_button.loading,
.add_to_cart_button.loading:hover,
.add_to_cart_button.loading:focus,
.single_add_to_cart_button.loading,
.single_add_to_cart_button.loading:hover,
.single_add_to_cart_button.loading:focus,
.ajax_add_to_cart.loading,
.ajax_add_to_cart.loading:hover,
.eloz-add-to-cart-btn.loading,
.eloz-add-to-cart-btn.loading:hover,
.add_to_cart_button.is-loading,
.add_to_cart_button.is-loading:hover,
.single_add_to_cart_button.is-loading,
.single_add_to_cart_button.is-loading:hover,
.eloz-product-top-card .single_add_to_cart_button.loading,
.eloz-product-top-card .single_add_to_cart_button.loading:hover,
.eloz-product-top-card .single_add_to_cart_button.is-loading,
.eloz-product-top-card .single_add_to_cart_button.is-loading:hover {
    position: relative !important;
    background: var(--wc-primary, #e06b00) !important;
    border-color: var(--wc-primary, #e06b00) !important;
    color: transparent !important;
    font-size: 0 !important;
    line-height: 0 !important;
    text-shadow: none !important;
    transition: none !important;
    pointer-events: none !important;
}

.add_to_cart_button.loading *,
.single_add_to_cart_button.loading *,
.add_to_cart_button.is-loading *,
.single_add_to_cart_button.is-loading *,
.eloz-product-top-card .single_add_to_cart_button.loading *,
.eloz-product-top-card .single_add_to_cart_button.is-loading * {
    display: none !important;
    opacity: 0 !important;
    visibility: hidden !important;
}

/* Single Elegant White Spinning Circle (Only ONE spinner across all buttons) */
.add_to_cart_button.loading:not(.is-added):not(.added)::before,
.single_add_to_cart_button.loading:not(.is-added):not(.added)::before,
.ajax_add_to_cart.loading:not(.is-added):not(.added)::before,
.eloz-add-to-cart-btn.loading:not(.is-added):not(.added)::before,
.add_to_cart_button.is-loading:not(.is-added):not(.added)::before,
.single_add_to_cart_button.is-loading:not(.is-added):not(.added)::before,
.eloz-product-top-card .single_add_to_cart_button.loading:not(.is-added):not(.added)::before,
.eloz-product-top-card .single_add_to_cart_button.is-loading:not(.is-added):not(.added)::before {
    content: '' !important;
    position: absolute !important;
    top: 50% !important;
    left: 50% !important;
    width: 20px !important;
    height: 20px !important;
    margin-top: -10px !important;
    margin-left: -10px !important;
    border: 2.5px solid rgba(255, 255, 255, 0.35) !important;
    border-top-color: #ffffff !important;
    border-radius: 50% !important;
    animation: elozSpin 0.6s linear infinite !important;
    z-index: 99 !important;
    display: block !important;
}

@keyframes elozSpin {
    0% {
        transform: rotate(0deg);
    }

    100% {
        transform: rotate(360deg);
    }
}

/* Remove original button icons when loading/filled/added */
.add_to_cart_button.eloz-filled i,
.single_add_to_cart_button.eloz-filled i,
.ajax_add_to_cart.eloz-filled i,
.add_to_cart_button.is-added i,
.single_add_to_cart_button.is-added i,
.add_to_cart_button.added i,
.single_add_to_cart_button.added i,
.add_to_cart_button.loading i,
.single_add_to_cart_button.loading i,
.add_to_cart_button.eloz-filled svg,
.single_add_to_cart_button.eloz-filled svg,
.add_to_cart_button.is-added svg,
.single_add_to_cart_button.is-added svg {
    display: none !important;
    visibility: hidden !important;
    width: 0 !important;
    height: 0 !important;
}

.add_to_cart_button.is-added::before,
.add_to_cart_button.is-added::after,
.single_add_to_cart_button.is-added::before,
.single_add_to_cart_button.is-added::after,
.add_to_cart_button.added::before,
.add_to_cart_button.added::after,
.single_add_to_cart_button.added::before,
.single_add_to_cart_button.added::after {
    display: none !important;
    content: none !important;
}

/* View Cart Content inside Filled Button (Strictly height-preserved) */
.eloz-btn-viewcart {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 6px !important;
    color: #ffffff !important;
    font-size: 13px !important;
    font-weight: 700 !important;
    line-height: 1 !important;
    padding: 0 !important;
    margin: 0 !important;
    vertical-align: middle !important;
    transition: none !important;
    animation: none !important;
}

.button.is-added,
.button.added,
.single_add_to_cart_button.is-added,
.eloz-add-to-cart-btn.is-added,
#eloz-mobile-sticky-add-to-cart.is-added {
    transition: none !important;
    animation: none !important;
}

/* Prevent WooCommerce default added_to_cart link from causing card blinking / layout shifts */
a.added_to_cart.wc-forward,
.added_to_cart {
    display: none !important;
    visibility: hidden !important;
    height: 0 !important;
    width: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    opacity: 0 !important;
    pointer-events: none !important;
    position: absolute !important;
    left: -9999px !important;
}

html {
    scrollbar-gutter: stable;
}

body.eloz-cart-drawer-open {
    overflow: hidden !important;
    touch-action: none;
}

/* Stable card button styling to prevent button/card blinking on add to cart */
.eloz-product-card__action-btn .add_to_cart_button,
.eloz-product-card__action-btn .ajax_add_to_cart,
.eloz-product-card__action-btn .eloz-add-to-cart-btn {
    box-sizing: border-box !important;
    transition: background 0.2s ease, border-color 0.2s ease, color 0.2s ease !important;
}

.add_to_cart_button.loading,
.ajax_add_to_cart.loading,
.single_add_to_cart_button.loading {
    opacity: 0.85 !important;
}


/* ============================================================
   1. THANK YOU / ORDER RECEIVED PAGE
   ============================================================ */
.eloz-thankyou-wrap {
    background: transparent;
}

.eloz-thankyou-card {
    background: #ffffff;
    border-radius: 12px;
    border: 1px solid #e2e8f0;
    box-shadow: 0 4px 20px rgba(0, 0, 0, 0.04);
    padding: 28px 32px;
}

.eloz-thankyou-hero {
    background: #ffffff;
    border-radius: 16px;
    border: 1px solid #e2e8f0;
    box-shadow: 0 8px 30px rgba(0, 0, 0, 0.05);
    padding: 40px 30px;
}

.thankyou-check-circle {
    width: 76px;
    height: 76px;
    border-radius: 50%;
    background: linear-gradient(135deg, #10b981, #059669);
    display: inline-flex;
    align-items: center;
    justify-content: center;
    box-shadow: 0 10px 25px rgba(16, 185, 129, 0.35);
    animation: thankyouPulse 2s infinite ease-in-out;
}

@keyframes thankyouPulse {

    0%,
    100% {
        transform: scale(1);
        box-shadow: 0 10px 25px rgba(16, 185, 129, 0.35);
    }

    50% {
        transform: scale(1.06);
        box-shadow: 0 15px 35px rgba(16, 185, 129, 0.5);
    }
}

.thankyou-tagline {
    display: inline-block;
    background: #ecfdf5;
    color: #059669;
    font-size: 13px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    padding: 5px 14px;
    border-radius: 999px;
    margin-bottom: 12px;
}

.thankyou-headline {
    font-size: 26px;
    font-weight: 800;
    color: #0f172a;
    margin: 0 0 10px;
    line-height: 1.35;
}

.thankyou-subtext {
    font-size: 15px;
    color: #64748b;
    max-width: 580px;
    margin: 0 auto;
    line-height: 1.55;
}

/* Order Quick Stats Ribbon */
.eloz-order-stats-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 16px;
}

@media (max-width: 991px) {
    .eloz-order-stats-grid {
        grid-template-columns: repeat(2, 1fr);
    }
}

@media (max-width: 575px) {
    .eloz-order-stats-grid {
        grid-template-columns: 1fr;
    }
}

.stat-card {
    background: #ffffff;
    border: 1px solid #e2e8f0;
    border-radius: 10px;
    padding: 18px 20px;
    display: flex;
    align-items: center;
    gap: 16px;
    box-shadow: 0 2px 10px rgba(0, 0, 0, 0.03);
    transition: transform 0.2s ease;
}

.stat-card:hover {
    transform: translateY(-2px);
}

.stat-card--highlight {
    background: #fffaf7;
    border-color: #fbd5b5;
}

.stat-card .stat-icon {
    width: 44px;
    height: 44px;
    border-radius: 10px;
    background: #f1f5f9;
    color: #475569;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
}

.stat-card--highlight .stat-icon {
    background: var(--wc-primary, #e0762b);
    color: #ffffff;
}

.stat-card .stat-info {
    display: flex;
    flex-direction: column;
}

.stat-card .stat-label {
    font-size: 12px;
    color: #64748b;
    font-weight: 500;
    margin-bottom: 3px;
}

.stat-card .stat-value {
    font-size: 15px;
    color: #0f172a;
    font-weight: 700;
    line-height: 1.25;
}

.stat-card .stat-price {
    color: var(--wc-primary, #e0762b);
    font-size: 16px;
}

/* Visual Order Timeline Tracker */
.order-timeline-card {
    padding: 26px 30px;
}

.timeline-title {
    font-size: 17px;
    font-weight: 700;
    color: #0f172a;
    display: flex;
    align-items: center;
    gap: 10px;
}

.order-timeline-steps {
    display: flex;
    align-items: center;
    justify-content: space-between;
    position: relative;
    padding: 10px 15px;
}

.timeline-step {
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
    position: relative;
    z-index: 2;
}

.timeline-step .step-circle {
    width: 36px;
    height: 36px;
    border-radius: 50%;
    background: #f1f5f9;
    color: #94a3b8;
    display: flex;
    align-items: center;
    justify-content: center;
    border: 2px solid #cbd5e1;
    margin-bottom: 8px;
    transition: all 0.3s ease;
}

.timeline-step.step-completed .step-circle {
    background: #10b981;
    border-color: #10b981;
    color: #ffffff;
}

.timeline-step.step-active .step-circle {
    background: #fff;
    border-color: var(--wc-primary, #e0762b);
    box-shadow: 0 0 0 4px rgba(224, 118, 43, 0.2);
}

.timeline-step.step-active .step-dot {
    width: 12px;
    height: 12px;
    border-radius: 50%;
    background: var(--wc-primary, #e0762b);
    animation: stepPulse 1.5s infinite;
}

@keyframes stepPulse {

    0%,
    100% {
        transform: scale(1);
        opacity: 1;
    }

    50% {
        transform: scale(1.3);
        opacity: 0.7;
    }
}

.timeline-step .step-text {
    font-size: 13px;
    font-weight: 600;
    color: #334155;
    margin-bottom: 2px;
}

.timeline-step .step-sub {
    font-size: 11px;
    color: #94a3b8;
}

.timeline-step.step-completed .step-sub {
    color: #10b981;
    font-weight: 600;
}

.timeline-step.step-active .step-sub {
    color: var(--wc-primary, #e0762b);
    font-weight: 700;
}

.timeline-line {
    flex: 1;
    height: 3px;
    background: #e2e8f0;
    margin: 0 10px 24px;
    border-radius: 2px;
}

.timeline-line.active {
    background: linear-gradient(90deg, #10b981, var(--wc-primary, #e0762b));
}

@media (max-width: 640px) {
    .order-timeline-steps {
        flex-direction: column;
        align-items: flex-start;
        gap: 16px;
        padding-left: 20px;
    }

    .timeline-step {
        flex-direction: row;
        gap: 14px;
        text-align: left;
    }

    .timeline-line {
        display: none;
    }
}

/* Thank You Details: Item rows */
.items-summary-card,
.customer-details-card {
    height: 100%;
}

.card-heading {
    font-size: 17px;
    font-weight: 700;
    color: #0f172a;
    display: flex;
    align-items: center;
    gap: 8px;
    padding-bottom: 14px;
    border-bottom: 1px solid #f1f5f9;
}

.thankyou-item-row {
    display: flex;
    align-items: center;
    gap: 16px;
    padding: 14px 0;
    border-bottom: 1px dashed #f1f5f9;
}

.thankyou-item-row:last-child {
    border-bottom: none;
}

.thankyou-item-row .item-thumb {
    width: 60px;
    height: 60px;
    border-radius: 8px;
    overflow: hidden;
    background: #f8fafc;
    flex-shrink: 0;
    border: 1px solid #e2e8f0;
}

.thankyou-item-row .item-thumb img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.thankyou-item-row .item-meta {
    flex: 1;
}

.thankyou-item-row .item-title {
    font-size: 14.5px;
    font-weight: 600;
    color: #1e293b;
    margin: 0 0 4px;
    line-height: 1.35;
}

.thankyou-item-row .item-qty {
    font-size: 12.5px;
    color: #64748b;
}

.thankyou-item-row .item-total-col {
    text-align: right;
}

.thankyou-item-row .item-price {
    font-size: 15px;
    font-weight: 700;
    color: #0f172a;
}

/* Totals table inside Thank you page */
.thankyou-totals-table {
    border-top: 2px solid #f1f5f9;
    padding-top: 14px;
}

.totals-row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 7px 0;
    font-size: 14px;
    color: #475569;
}

.totals-row.totals-row--order_total {
    border-top: 1px solid #e2e8f0;
    margin-top: 8px;
    padding-top: 12px;
    font-size: 17px;
    font-weight: 800;
    color: #0f172a;
}

.totals-row.totals-row--order_total .totals-value {
    color: var(--wc-primary, #e0762b);
    font-size: 18px;
}

/* Customer details right card */
.customer-info-box .info-group {
    padding: 10px 0;
    border-bottom: 1px solid #f8fafc;
    display: flex;
    flex-direction: column;
    gap: 3px;
}

.customer-info-box .info-label {
    font-size: 12px;
    color: #64748b;
    font-weight: 500;
}

.customer-info-box .info-value {
    font-size: 14.5px;
    color: #1e293b;
}

.support-contact-box {
    background: #f8fafc;
    border-radius: 10px;
    padding: 16px;
    display: flex;
    align-items: center;
    gap: 14px;
    border: 1px solid #e2e8f0;
}

.support-contact-box .support-icon {
    width: 40px;
    height: 40px;
    border-radius: 50%;
    background: #ecfdf5;
    color: #10b981;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
}

.support-contact-box .support-text strong {
    font-size: 13.5px;
    color: #0f172a;
    display: block;
}

.support-contact-box .support-text p {
    font-size: 12.5px;
    color: #64748b;
    margin: 0;
}

.eloz-btn-thankyou {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    padding: 14px 28px;
    border-radius: 8px;
    font-size: 15px;
    font-weight: 700;
    text-decoration: none;
    transition: all 0.25s ease;
    margin: 6px;
}

.eloz-btn-thankyou.eloz-btn-shop {
    background: var(--wc-primary, #e0762b);
    color: #ffffff !important;
    box-shadow: 0 4px 14px rgba(224, 118, 43, 0.35);
}

.eloz-btn-thankyou.eloz-btn-shop:hover {
    background: #c85e00;
    transform: translateY(-1px);
}

.eloz-btn-thankyou.eloz-btn-account {
    background: #ffffff;
    color: #334155 !important;
    border: 1.5px solid #cbd5e1;
}

.eloz-btn-thankyou.eloz-btn-account:hover {
    border-color: #94a3b8;
    background: #f8fafc;
}


/* ═══════════════════════════════════════════════════════════════
   2. PREMIUM LOGIN / REGISTER — Clean Centered Card Design
═══════════════════════════════════════════════════════════════ */

.woocommerce-account:not(.logged-in) .woocommerce-notices-wrapper {
    max-width: 520px !important;
    margin: 0 auto 24px !important;
}

/* ── Centered Auth Card ── */
.eloz-auth-wrapper.eloz-auth-centered,
.eloz-auth-wrapper {
    max-width: 520px;
    margin: 0 auto 60px;
    background: #ffffff;
    border-radius: 20px;
    border: 1px solid #e2e8f0;
    box-shadow: 0 16px 48px rgba(0, 0, 0, 0.06), 0 2px 8px rgba(0, 0, 0, 0.02);
    overflow: hidden;
    position: relative;
    display: block;
}

/* ── Individual Pane ── */
.eloz-auth-pane {
    display: none;
    padding: 44px 40px 40px;
    width: 100%;
    box-sizing: border-box;
}

.eloz-auth-pane.eloz-pane-active {
    display: block;
    animation: eaFadeSlide 0.28s cubic-bezier(0.16, 1, 0.3, 1);
}

.eloz-auth-pane.eloz-pane-enter {
    animation: eaFadeSlide 0.28s cubic-bezier(0.16, 1, 0.3, 1);
}

@keyframes eaFadeSlide {
    from {
        opacity: 0;
        transform: translateY(8px);
    }

    to {
        opacity: 1;
        transform: translateY(0);
    }
}

/* ── Pane Header ── */
.eloz-auth-pane-head {
    margin-bottom: 28px;
    text-align: center;
}

.auth-icon-badge {
    width: 54px;
    height: 54px;
    border-radius: 16px;
    background: #fff4ec;
    border: 1px solid #fdd5b1;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    color: var(--wc-primary, #F06000);
    margin-bottom: 16px;
}

.auth-icon-badge--green {
    background: #f0fdf4;
    border-color: #bbf7d0;
    color: #16a34a;
}

.auth-pane-title {
    font-size: 24px;
    font-weight: 800;
    color: #0f172a;
    margin: 0 0 8px;
    line-height: 1.2;
}

.auth-pane-sub {
    font-size: 14px;
    color: #64748b;
    margin: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 6px;
    flex-wrap: wrap;
}

/* Toggle link (inline text link to switch panes) */
.eloz-auth-toggle-link {
    background: none;
    border: none;
    padding: 0;
    color: var(--wc-primary, #F06000);
    font-size: 14px;
    font-family: inherit;
    font-weight: 700;
    cursor: pointer;
    text-decoration: none;
    transition: color 0.2s ease, text-decoration 0.2s ease;
    white-space: nowrap;
    line-height: inherit;
}

.eloz-auth-toggle-link:hover {
    color: #d45300;
    text-decoration: underline;
    text-underline-offset: 3px;
}

/* ── Form Groups ── */
.eloz-form-group {
    margin-bottom: 20px;
}

.eloz-input-label {
    display: block;
    font-size: 13px;
    font-weight: 600;
    color: #334155;
    margin-bottom: 7px;
}

.req-star {
    color: #ef4444;
    margin-left: 2px;
}

.label-row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-bottom: 7px;
}

.label-row .eloz-input-label {
    margin-bottom: 0;
}

.forgot-pass-link {
    font-size: 12.5px;
    color: #F06000;
    text-decoration: none;
    font-weight: 600;
    transition: color 0.2s;
}

.forgot-pass-link:hover {
    color: #c84a00;
    text-decoration: underline;
}

/* Input wrap */
.eloz-input-wrap {
    position: relative;
    display: flex;
    align-items: center;
    width: 100%;
}

/* Icon — positioned at left:14px, 16px wide */
.eloz-input-wrap .input-icon {
    position: absolute;
    left: 14px;
    top: 50%;
    transform: translateY(-50%);
    color: #94a3b8;
    display: flex;
    align-items: center;
    justify-content: center;
    pointer-events: none;
    z-index: 5;
    transition: color 0.2s ease;
    line-height: 1;
    width: 18px;
    height: 18px;
}

.eloz-input-wrap .input-icon svg {
    width: 17px;
    height: 17px;
    display: block;
}

/* Inputs — Professional Checkout-Style: 2px border, 56px height, 42px left padding */
.woocommerce-account .eloz-auth-wrapper .eloz-input,
.woocommerce-account .eloz-auth-form input.input-text,
.woocommerce-account .eloz-auth-form input[type="text"],
.woocommerce-account .eloz-auth-form input[type="email"],
.woocommerce-account .eloz-auth-form input[type="password"],
.eloz-auth-wrapper .eloz-input,
.eloz-auth-form input[type="text"],
.eloz-auth-form input[type="email"],
.eloz-auth-form input[type="password"] {
    width: 100% !important;
    height: 56px !important;
    line-height: 52px !important;
    border-radius: 10px !important;
    border: 2px solid #e2e8f0 !important;
    background: #ffffff !important;
    padding-left: 42px !important;
    padding-right: 48px !important;
    padding-top: 0 !important;
    padding-bottom: 0 !important;
    font-size: 15px !important;
    font-weight: 500 !important;
    color: #0f172a !important;
    box-sizing: border-box !important;
    outline: none !important;
    box-shadow: none !important;
    transition: border-color 0.2s ease-in-out !important;
}

.woocommerce-account .eloz-auth-wrapper .eloz-input::placeholder,
.woocommerce-account .eloz-auth-form input::placeholder,
.eloz-auth-wrapper .eloz-input::placeholder,
.eloz-auth-form input::placeholder {
    color: #94a3b8 !important;
    font-size: 14.5px !important;
    font-weight: 400 !important;
    line-height: normal !important;
    opacity: 1 !important;
}

/* Focus — Crisp 2px primary orange border, clean white background, NO shadow */
.woocommerce-account .eloz-auth-wrapper .eloz-input:focus,
.woocommerce-account .eloz-auth-form input.input-text:focus,
.woocommerce-account .eloz-auth-form input[type="text"]:focus,
.woocommerce-account .eloz-auth-form input[type="email"]:focus,
.woocommerce-account .eloz-auth-form input[type="password"]:focus,
.eloz-auth-wrapper .eloz-input:focus,
.eloz-auth-form input:focus {
    border: 2px solid var(--wc-primary, #F06000) !important;
    background: #ffffff !important;
    box-shadow: none !important;
    outline: none !important;
}

/* Icon lights up orange on field focus */
.eloz-input-wrap:focus-within .input-icon {
    color: var(--wc-primary, #F06000) !important;
}

/* Unfocused */
.woocommerce-account .eloz-auth-wrapper .eloz-input:not(:focus),
.woocommerce-account .eloz-auth-form input:not(:focus),
.eloz-auth-wrapper .eloz-input:not(:focus),
.eloz-auth-form input:not(:focus) {
    border: 2px solid #e2e8f0 !important;
    background: #ffffff !important;
    box-shadow: none !important;
}

/* Password toggle button */
.password-toggle-btn {
    position: absolute;
    right: 14px;
    top: 50%;
    transform: translateY(-50%);
    background: none;
    border: none;
    color: #94a3b8;
    cursor: pointer;
    padding: 8px;
    display: flex;
    align-items: center;
    justify-content: center;
    z-index: 5;
    transition: color 0.2s ease;
    line-height: 1;
}

.password-toggle-btn:hover,
.password-toggle-btn.is-visible {
    color: var(--wc-primary, #F06000);
}

/* Remember me row */
.eloz-remember-row {
    margin-bottom: 22px;
}

.eloz-checkbox-label {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    font-size: 13px;
    color: #475569;
    cursor: pointer;
    user-select: none;
}

.eloz-checkbox-label input[type="checkbox"] {
    accent-color: #F06000;
    width: 16px;
    height: 16px;
    cursor: pointer;
}

/* Submit button */
.eloz-form-submit-wrap {
    margin-top: 10px;
}

.eloz-btn-auth {
    position: relative;
    width: 100%;
    height: 50px;
    color: #ffffff !important;
    border: none;
    border-radius: 12px;
    font-size: 15px;
    font-weight: 700;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    cursor: pointer;
    overflow: hidden;
    letter-spacing: 0.3px;
    transition: transform 0.2s ease, box-shadow 0.2s ease;
}

/* Shimmer effect */
.eloz-btn-auth::before {
    content: '';
    position: absolute;
    top: 0;
    left: -100%;
    width: 60%;
    height: 100%;
    background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.22), transparent);
    transform: skewX(-20deg);
    transition: left 0.55s ease;
    pointer-events: none;
}

.eloz-btn-auth:hover::before {
    left: 140%;
}

.eloz-btn-auth svg {
    transition: transform 0.22s ease;
}

.eloz-btn-auth:hover svg {
    transform: translateX(4px);
}

/* Login button */
.eloz-btn-login {
    background: linear-gradient(135deg, #F06000 0%, #f97316 100%);
    box-shadow: 0 6px 20px rgba(240, 96, 0, 0.32);
}

.eloz-btn-login:hover {
    transform: translateY(-2px);
    box-shadow: 0 10px 28px rgba(240, 96, 0, 0.45);
}

/* Register button */
.eloz-btn-register {
    background: linear-gradient(135deg, #0f172a 0%, #1e293b 100%);
    box-shadow: 0 6px 20px rgba(15, 23, 42, 0.22);
}

.eloz-btn-register:hover {
    transform: translateY(-2px);
    box-shadow: 0 10px 28px rgba(15, 23, 42, 0.38);
}

/* ════════════════════════
   Responsive
════════════════════════ */
@media (max-width: 576px) {

    .eloz-auth-wrapper.eloz-auth-centered,
    .eloz-auth-wrapper {
        margin: 0 15px 40px;
        border-radius: 16px;
    }

    .eloz-auth-pane {
        padding: 32px 20px 28px;
    }

    .auth-pane-title {
        font-size: 21px;
    }
}


/* ============================================================
   MY ACCOUNT DASHBOARD & INNER SECTIONS (WHITE CARD THEME)
   ============================================================ */
.eloz-dashboard-grid {
    align-items: flex-start;
    margin-top: -28px !important;
}

.eloz-detail-content ul {
    list-style: none;
}

.eloz-detail-content ol {
    padding-left: 1rem;
}

/* Force override WooCommerce core floats and widths on account page */
.woocommerce-account .woocommerce-MyAccount-navigation,
.woocommerce-MyAccount-navigation,
nav.woocommerce-MyAccount-navigation {
    float: none !important;
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
    display: block !important;
}

.woocommerce-account .woocommerce-MyAccount-content,
.woocommerce-MyAccount-content {
    float: none !important;
    width: 100% !important;
    margin: 0 !important;
}

/* 1. Left Sidebar Navigation Card */
.eloz-account-sidebar {
    background: #ffffff !important;
    border: 1px solid #e2e8f0 !important;
    border-radius: 14px !important;
    padding: 26px 20px !important;
    box-shadow: 0 2px 12px rgba(0, 0, 0, 0.03) !important;
    width: 100% !important;
    box-sizing: border-box !important;
}

.account-user-card {
    padding-bottom: 20px !important;
    border-bottom: 1px solid #f1f5f9 !important;
    text-align: center !important;
}

.user-avatar-wrap {
    width: 72px !important;
    height: 72px !important;
    margin: 0 auto 12px !important;
    border-radius: 50% !important;
    overflow: hidden !important;
    border: 2.5px solid var(--wc-primary, #e0762b) !important;
    padding: 2px !important;
    background: #ffffff !important;
}

.user-avatar-img {
    width: 100% !important;
    height: 100% !important;
    border-radius: 50% !important;
    object-fit: cover !important;
    display: block !important;
}

.user-display-name {
    font-size: 16.5px !important;
    font-weight: 800 !important;
    color: #0f172a !important;
    margin: 0 0 4px !important;
}

.user-email {
    font-size: 12.5px !important;
    color: #64748b !important;
    word-break: break-all !important;
    display: block !important;
}

/* Navigation List */
.woocommerce-MyAccount-navigation ul,
.myaccount-nav-list {
    list-style: none !important;
    padding: 0 !important;
    margin: 16px 0 0 !important;
    display: flex !important;
    flex-direction: column !important;
    gap: 6px !important;
    width: 100% !important;
}

.woocommerce-MyAccount-navigation ul li,
.myaccount-nav-list li {
    list-style: none !important;
    margin: 0 !important;
    padding: 0 !important;
    width: 100% !important;
}

.woocommerce-MyAccount-navigation ul li a,
.myaccount-nav-list li a {
    display: flex !important;
    align-items: center !important;
    gap: 12px !important;
    padding: 12px 16px !important;
    border-radius: 10px !important;
    font-size: 14px !important;
    font-weight: 600 !important;
    color: #475569 !important;
    text-decoration: none !important;
    transition: all 0.2s ease !important;
    background: #f8fafc !important;
    border: 1px solid transparent !important;
    box-sizing: border-box !important;
    width: 100% !important;
}

.woocommerce-MyAccount-navigation ul li a .nav-icon,
.myaccount-nav-list li a .nav-icon {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    color: #64748b !important;
    flex-shrink: 0 !important;
    width: 20px !important;
}

.woocommerce-MyAccount-navigation ul li a .nav-label,
.myaccount-nav-list li a .nav-label {
    flex: 1 !important;
}

.woocommerce-MyAccount-navigation ul li a .nav-arrow,
.myaccount-nav-list li a .nav-arrow {
    opacity: 0.4 !important;
    transform: translateX(0) !important;
    transition: all 0.2s ease !important;
    display: inline-flex !important;
}

.woocommerce-MyAccount-navigation ul li a:hover,
.myaccount-nav-list li a:hover {
    background: #ffffff !important;
    color: var(--wc-primary, #e0762b) !important;
    border-color: #fbd5b5 !important;
    box-shadow: 0 4px 12px rgba(224, 118, 43, 0.08) !important;
}

.woocommerce-MyAccount-navigation ul li a:hover .nav-icon,
.myaccount-nav-list li a:hover .nav-icon {
    color: var(--wc-primary, #e0762b) !important;
}

.woocommerce-MyAccount-navigation ul li a:hover .nav-arrow,
.myaccount-nav-list li a:hover .nav-arrow {
    opacity: 1 !important;
    transform: translateX(3px) !important;
    color: var(--wc-primary, #e0762b) !important;
}

/* Active Menu Item */
.woocommerce-MyAccount-navigation ul li.is-active a,
.myaccount-nav-list li.is-active a {
    background: var(--wc-primary, #e0762b) !important;
    color: #ffffff !important;
    border-color: var(--wc-primary, #e0762b) !important;
    box-shadow: 0 4px 14px rgba(224, 118, 43, 0.35) !important;
}

.woocommerce-MyAccount-navigation ul li.is-active a .nav-icon,
.myaccount-nav-list li.is-active a .nav-icon {
    color: #ffffff !important;
}

.woocommerce-MyAccount-navigation ul li.is-active a .nav-arrow,
.myaccount-nav-list li.is-active a .nav-arrow {
    opacity: 1 !important;
    color: #ffffff !important;
    transform: translateX(3px) !important;
}

/* Customer Logout Item */
.woocommerce-MyAccount-navigation ul li.woocommerce-MyAccount-navigation-link--customer-logout a,
.myaccount-nav-list li.woocommerce-MyAccount-navigation-link--customer-logout a {
    color: #ef4444 !important;
}

.woocommerce-MyAccount-navigation ul li.woocommerce-MyAccount-navigation-link--customer-logout a .nav-icon,
.myaccount-nav-list li.woocommerce-MyAccount-navigation-link--customer-logout a .nav-icon {
    color: #ef4444 !important;
}

.woocommerce-MyAccount-navigation ul li.woocommerce-MyAccount-navigation-link--customer-logout a:hover,
.myaccount-nav-list li.woocommerce-MyAccount-navigation-link--customer-logout a:hover {
    background: #fef2f2 !important;
    border-color: #fca5a5 !important;
    color: #dc2626 !important;
}

/* 2. Right Main Content Area Card */
.eloz-account-content {
    background: #ffffff !important;
    border: 1px solid #e2e8f0 !important;
    border-radius: 14px !important;
    padding: 32px 30px !important;
    box-shadow: 0 2px 12px rgba(0, 0, 0, 0.03) !important;
    width: 100% !important;
    box-sizing: border-box !important;
}

@media (max-width: 575px) {
    .eloz-account-content {
        padding: 22px 16px;
    }
}

.eloz-dashboard-welcome-box {
    background: #f8fafc;
    border: 1px solid #e2e8f0;
    border-radius: 12px;
    padding: 24px 26px;
}

.welcome-badge span {
    display: inline-block;
    background: #fffaf7;
    border: 1px solid #fbd5b5;
    color: var(--wc-primary, #e0762b);
    font-size: 12px;
    font-weight: 700;
    padding: 3px 12px;
    border-radius: 999px;
}

.welcome-heading {
    font-size: 22px;
    font-weight: 800;
    color: #0f172a;
    margin: 8px 0 10px;
}

.welcome-desc {
    font-size: 14px;
    color: #64748b;
    line-height: 1.6;
    margin: 0;
}

.welcome-desc a {
    color: var(--wc-primary, #e0762b);
    font-weight: 700;
    text-decoration: underline;
}

/* 3. Stat Metric Summary Cards */
.eloz-stat-summary-card {
    display: flex;
    align-items: center;
    gap: 16px;
    background: #ffffff;
    border: 1px solid #e2e8f0;
    border-radius: 10px;
    padding: 18px 20px;
    text-decoration: none;
    transition: all 0.25s ease;
    box-shadow: 0 2px 6px rgba(0, 0, 0, 0.02);
}

.eloz-stat-summary-card:hover {
    border-color: var(--wc-primary, #e0762b);
    transform: translateY(-2px);
    box-shadow: 0 6px 16px rgba(224, 118, 43, 0.12);
}

.stat-icon-wrap {
    width: 46px;
    height: 46px;
    border-radius: 10px;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
}

.stat-icon--orders {
    background: #eff6ff;
    color: #2563eb;
}

.stat-icon--address {
    background: #ecfdf5;
    color: #059669;
}

.stat-icon--account {
    background: #fff7ed;
    color: #ea580c;
}

.eloz-stat-summary-card .stat-num {
    display: block;
    font-size: 20px;
    font-weight: 800;
    color: #0f172a;
    line-height: 1.2;
}

.eloz-stat-summary-card .stat-title {
    font-size: 12.5px;
    color: #64748b;
    font-weight: 600;
}

/* 4. Orders List Table & Badges (Clean White Theme) */
.eloz-orders-card {
    width: 100% !important;
}

.orders-card-header .orders-title {
    font-size: 20px !important;
    font-weight: 800 !important;
    color: #0f172a !important;
    margin: 0 0 4px !important;
}

.orders-card-header .orders-subtitle {
    font-size: 13.5px !important;
    color: #64748b !important;
}

/* Force Table Container & Elements to Pure Crisp Light Theme */
.woocommerce-account table.account-orders-table,
.woocommerce-account table.woocommerce-orders-table,
.woocommerce-account table.shop_table,
.account-orders-table {
    width: 100% !important;
    border-collapse: separate !important;
    border-spacing: 0 !important;
    border: 1px solid #e2e8f0 !important;
    border-radius: 10px !important;
    overflow: hidden !important;
    background: #ffffff !important;
    margin: 16px 0 0 !important;
}

.woocommerce-account table.account-orders-table thead,
.woocommerce-account table.woocommerce-orders-table thead,
.account-orders-table thead {
    background: #f8fafc !important;
}

.woocommerce-account table.account-orders-table thead th,
.woocommerce-account table.woocommerce-orders-table thead th,
.account-orders-table thead th {
    background: #f8fafc !important;
    padding: 14px 18px !important;
    font-size: 12px !important;
    font-weight: 700 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.6px !important;
    color: #475569 !important;
    border: none !important;
    border-bottom: 1px solid #e2e8f0 !important;
    text-align: left !important;
}

.woocommerce-account table.account-orders-table tbody,
.woocommerce-account table.woocommerce-orders-table tbody,
.account-orders-table tbody {
    background: #ffffff !important;
}

.woocommerce-account table.account-orders-table tbody tr,
.woocommerce-account table.woocommerce-orders-table tbody tr,
.account-orders-table tbody tr {
    background: #ffffff !important;
    transition: background 0.2s ease !important;
}

.woocommerce-account table.account-orders-table tbody tr:hover,
.woocommerce-account table.woocommerce-orders-table tbody tr:hover,
.account-orders-table tbody tr:hover {
    background: #f8fafc !important;
}

.woocommerce-account table.account-orders-table tbody td,
.woocommerce-account table.woocommerce-orders-table tbody td,
.account-orders-table tbody td {
    background: transparent !important;
    padding: 16px 18px !important;
    font-size: 14px !important;
    color: #334155 !important;
    border: none !important;
    border-bottom: 1px solid #f1f5f9 !important;
    vertical-align: middle !important;
}

.woocommerce-account table.account-orders-table tbody tr:last-child td,
.woocommerce-account table.woocommerce-orders-table tbody tr:last-child td,
.account-orders-table tbody tr:last-child td {
    border-bottom: none !important;
}

/* Order Number Link */
.woocommerce-account table.account-orders-table a.order-number-link,
.woocommerce-account table.woocommerce-orders-table a.order-number-link,
.account-orders-table a.order-number-link,
.account-orders-table td a:not(.button) {
    color: var(--wc-primary, #e0762b) !important;
    font-weight: 700 !important;
    text-decoration: none !important;
    transition: color 0.15s ease !important;
}

.account-orders-table a.order-number-link:hover,
.account-orders-table td a:not(.button):hover {
    color: #c85e00 !important;
    text-decoration: underline !important;
}

/* Order Total */
.order-total-amount {
    font-weight: 700 !important;
    color: #0f172a !important;
    font-size: 14.5px !important;
}

.order-items-count {
    font-size: 12.5px !important;
    color: #64748b !important;
    margin-left: 4px !important;
    font-weight: 500 !important;
}

/* Status Badges */
.eloz-order-status-badge {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    padding: 4px 12px !important;
    border-radius: 999px !important;
    font-size: 12px !important;
    font-weight: 700 !important;
    line-height: 1.3 !important;
}

.eloz-order-status-badge.status--completed {
    background: #ecfdf5 !important;
    color: #059669 !important;
    border: 1px solid #a7f3d0 !important;
}

.eloz-order-status-badge.status--processing {
    background: #fff7ed !important;
    color: #ea580c !important;
    border: 1px solid #fed7aa !important;
}

.eloz-order-status-badge.status--on-hold {
    background: #fefce8 !important;
    color: #ca8a04 !important;
    border: 1px solid #fef08a !important;
}

.eloz-order-status-badge.status--cancelled,
.eloz-order-status-badge.status--failed {
    background: #fef2f2 !important;
    color: #dc2626 !important;
    border: 1px solid #fecaca !important;
}

/* Action Button */
.eloz-btn-view-order,
.account-orders-table .button.view {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    background: var(--wc-primary, #e0762b) !important;
    color: #ffffff !important;
    padding: 8px 18px !important;
    border-radius: 6px !important;
    font-size: 13px !important;
    font-weight: 700 !important;
    text-decoration: none !important;
    border: none !important;
    box-shadow: 0 2px 8px rgba(224, 118, 43, 0.25) !important;
    transition: all 0.2s ease !important;
}

.eloz-btn-view-order:hover,
.account-orders-table .button.view:hover {
    background: #c85e00 !important;
    color: #ffffff !important;
    transform: translateY(-1px) !important;
    box-shadow: 0 4px 12px rgba(224, 118, 43, 0.35) !important;
    text-decoration: none !important;
}

/* Empty Orders State */
.eloz-orders-empty-card {
    padding: 40px 20px;
}

.empty-orders-icon {
    width: 72px;
    height: 72px;
    border-radius: 50%;
    background: #f1f5f9;
    display: inline-flex;
    align-items: center;
    justify-content: center;
}

.empty-title {
    font-size: 18px;
    font-weight: 800;
    color: #0f172a;
    margin: 0 0 6px;
}

.empty-desc {
    font-size: 14px;
    color: #64748b;
    margin: 0;
}

/* ============================================================
   5. VIEW ORDER & ORDER DETAILS STYLING
   ============================================================ */
.eloz-view-order-wrap {
    width: 100%;
}

.view-order-topbar {
    margin-bottom: 28px !important;
}

.btn-back-to-orders {
    display: inline-flex !important;
    align-items: center !important;
    gap: 8px !important;
    font-size: 14.5px !important;
    font-weight: 700 !important;
    color: #475569 !important;
    text-decoration: none !important;
    background: transparent !important;
    border: none !important;
    padding: 0 !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    transition: all 0.2s ease !important;
}

.btn-back-to-orders:hover {
    background: transparent !important;
    color: var(--wc-primary, #e0762b) !important;
    border: none !important;
    transform: translateX(-3px) !important;
    box-shadow: none !important;
}

.eloz-order-status-card {
    background: #f8fafc;
    border: 1px solid #e2e8f0;
    border-radius: 12px;
    padding: 22px 26px;
}

.order-status-card-inner {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
}

.order-tag {
    display: block;
    font-size: 12px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    color: #64748b;
    margin-bottom: 2px;
}

.order-heading {
    font-size: 24px;
    font-weight: 800;
    color: #0f172a;
    margin: 0 0 4px;
}

.order-date-text {
    font-size: 13.5px;
    color: #64748b;
}

/* Order Updates Timeline */
.eloz-order-updates-card {
    background: #ffffff;
    border: 1px solid #e2e8f0;
    border-radius: 12px;
    padding: 20px 24px;
}

.updates-heading {
    font-size: 16px;
    font-weight: 800;
    color: #0f172a;
}

.timeline-note-item {
    border-left: 2px solid var(--wc-primary, #e0762b);
    padding-left: 14px;
    margin-bottom: 12px;
}

.timeline-note-item:last-child {
    margin-bottom: 0;
}

.timeline-note-item .note-time {
    font-size: 12px;
    font-weight: 700;
    color: #64748b;
}

.timeline-note-item .note-content p {
    font-size: 13.5px;
    color: #334155;
    margin: 2px 0 0;
}

/* Order Items Table */
.eloz-order-details-card .order-details-title {
    font-size: 18px;
    font-weight: 800;
    color: #0f172a;
}

.eloz-order-items-table {
    width: 100% !important;
    border-collapse: separate !important;
    border-spacing: 0 !important;
    border: 1px solid #e2e8f0 !important;
    border-radius: 10px !important;
    overflow: hidden !important;
    background: #ffffff !important;
    margin: 0 !important;
}

.eloz-order-items-table thead th {
    background: #f8fafc !important;
    padding: 14px 18px !important;
    font-size: 12.5px !important;
    font-weight: 700 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.5px !important;
    color: #475569 !important;
    border: none !important;
    border-bottom: 1px solid #e2e8f0 !important;
}

.eloz-order-items-table tbody td {
    padding: 16px 18px !important;
    font-size: 14px !important;
    color: #334155 !important;
    background: #ffffff !important;
    border: none !important;
    border-bottom: 1px solid #f1f5f9 !important;
    vertical-align: middle !important;
}

/* Item details flex wrap (Thumb + Title + Qty) */
.order-item-flex-wrap {
    display: flex !important;
    align-items: center !important;
    gap: 14px !important;
}

.order-item-thumb {
    width: 50px !important;
    height: 50px !important;
    border-radius: 8px !important;
    overflow: hidden !important;
    border: 1px solid #e2e8f0 !important;
    background: #ffffff !important;
    flex-shrink: 0 !important;
}

.order-item-thumb img {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
    display: block !important;
}

.order-item-info {
    flex: 1 !important;
}

.order-item-title-wrap {
    display: flex !important;
    align-items: center !important;
    gap: 8px !important;
    flex-wrap: wrap !important;
}

.order-item-title {
    font-size: 14.5px !important;
    font-weight: 700 !important;
    color: #0f172a !important;
    text-decoration: none !important;
    transition: color 0.15s ease !important;
}

.order-item-title:hover {
    color: var(--wc-primary, #e0762b) !important;
}

.order-item-qty-badge {
    display: inline-block !important;
    background: #f1f5f9 !important;
    color: #475569 !important;
    font-size: 12px !important;
    font-weight: 700 !important;
    padding: 2px 8px !important;
    border-radius: 6px !important;
}

.order-item-total-price {
    font-size: 14.5px !important;
    font-weight: 700 !important;
    color: #0f172a !important;
}

.eloz-order-items-table tfoot th,
.eloz-order-items-table tfoot td {
    padding: 12px 18px !important;
    font-size: 14px !important;
    border: none !important;
    border-bottom: 1px solid #f1f5f9 !important;
}

.eloz-order-items-table tfoot th {
    background: #f8fafc !important;
    font-weight: 700 !important;
    color: #334155 !important;
    text-align: left !important;
}

.eloz-order-items-table tfoot td {
    background: #ffffff !important;
    font-weight: 600 !important;
    color: #0f172a !important;
    text-align: right !important;
}

.eloz-order-items-table tfoot tr.order-total th,
.eloz-order-items-table tfoot tr.order-total td {
    font-size: 16.5px !important;
    font-weight: 800 !important;
    color: var(--wc-primary, #e0762b) !important;
    border-top: 1.5px solid #e2e8f0 !important;
    background: #fffaf7 !important;
}

/* Order Again Button Action Area */
p.order-again,
.woocommerce-order-details+p.order-again,
.eloz-order-details-card+p.order-again {
    margin: 18px 0 28px 0 !important;
    display: flex !important;
    justify-content: flex-end !important;
}

p.order-again .button,
p.order-again a {
    display: inline-flex !important;
    align-items: center !important;
    gap: 8px !important;
    background: var(--wc-primary, #e0762b) !important;
    color: #ffffff !important;
    height: 46px !important;
    padding: 0 26px !important;
    border-radius: 8px !important;
    font-size: 14.5px !important;
    font-weight: 700 !important;
    text-decoration: none !important;
    border: none !important;
    cursor: pointer !important;
    box-shadow: 0 4px 14px rgba(224, 118, 43, 0.35) !important;
    transition: all 0.2s ease !important;
}

p.order-again .button:hover,
p.order-again a:hover {
    background: #c85e00 !important;
    color: #ffffff !important;
    transform: translateY(-1px) !important;
    box-shadow: 0 6px 18px rgba(224, 118, 43, 0.45) !important;
}

/* Customer Address Cards */
.eloz-customer-details-card {
    margin-top: 24px;
}

.woocommerce-customer-details address,
.eloz-address-box address,
address.address-content {
    border: none !important;
    background: transparent !important;
    padding: 0 !important;
    margin: 0 !important;
    font-style: normal !important;
}

.eloz-address-box {
    background: #ffffff !important;
    border: 1px solid #e2e8f0 !important;
    border-radius: 14px !important;
    padding: 24px 22px !important;
    height: 100% !important;
    box-shadow: 0 2px 10px rgba(0, 0, 0, 0.03) !important;
    box-sizing: border-box !important;
}

.address-box-header {
    display: flex !important;
    align-items: center !important;
    gap: 10px !important;
    padding-bottom: 14px !important;
    margin-bottom: 16px !important;
    border-bottom: 1px solid #f1f5f9 !important;
}

.address-box-header .address-icon {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    color: var(--wc-primary, #e0762b) !important;
}

.address-box-header .address-title {
    font-size: 16px !important;
    font-weight: 800 !important;
    color: #0f172a !important;
    margin: 0 !important;
}

.address-text {
    font-size: 14px !important;
    line-height: 1.65 !important;
    color: #475569 !important;
    font-style: normal !important;
}

.address-meta-list {
    display: flex !important;
    flex-direction: column !important;
    gap: 8px !important;
}

.address-meta-item {
    display: inline-flex !important;
    align-items: center !important;
    gap: 8px !important;
    background: #f8fafc !important;
    border: 1px solid #f1f5f9 !important;
    border-radius: 8px !important;
    padding: 8px 12px !important;
    font-size: 13px !important;
    color: #334155 !important;
    width: fit-content !important;
    max-width: 100% !important;
}

.address-meta-item svg {
    color: var(--wc-primary, #e0762b) !important;
    flex-shrink: 0 !important;
}

.address-meta-item .meta-label {
    font-weight: 700 !important;
    color: #0f172a !important;
}

.address-meta-item .meta-val {
    color: #475569 !important;
    word-break: break-all !important;
}

/* ============================================================
   MY ADDRESSES DASHBOARD TAB (SAVED ADDRESS CARDS)
   ============================================================ */
.eloz-addresses-page-wrap {
    width: 100%;
}

.addresses-page-header {
    margin-bottom: 28px !important;
    padding-bottom: 4px !important;
}

.addresses-main-title {
    font-size: 22px !important;
    font-weight: 800 !important;
    color: #0f172a !important;
    margin: 0 0 8px !important;
}

.addresses-desc {
    font-size: 14px !important;
    color: #64748b !important;
    margin: 0 !important;
    line-height: 1.5 !important;
}

.eloz-saved-address-card {
    background: #ffffff !important;
    border: 1px solid #e2e8f0 !important;
    border-radius: 14px !important;
    padding: 24px 22px !important;
    box-shadow: 0 2px 10px rgba(0, 0, 0, 0.03) !important;
    height: 100% !important;
    display: flex !important;
    flex-direction: column !important;
    justify-content: space-between !important;
    box-sizing: border-box !important;
}

.saved-address-header {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 12px !important;
    padding-bottom: 14px !important;
    margin-bottom: 16px !important;
    border-bottom: 1px solid #f1f5f9 !important;
}

.saved-address-header .header-left {
    display: flex !important;
    align-items: center !important;
    gap: 10px !important;
}

.saved-address-header .address-type-icon {
    color: var(--wc-primary, #e0762b) !important;
    display: inline-flex !important;
    align-items: center !important;
}

.saved-address-header .address-title {
    font-size: 16.5px !important;
    font-weight: 800 !important;
    color: #0f172a !important;
    margin: 0 !important;
}

.btn-edit-address {
    display: inline-flex !important;
    align-items: center !important;
    gap: 6px !important;
    padding: 6px 14px !important;
    border-radius: 6px !important;
    background: #fffaf7 !important;
    border: 1px solid #fbd5b5 !important;
    color: var(--wc-primary, #e0762b) !important;
    font-size: 13px !important;
    font-weight: 700 !important;
    text-decoration: none !important;
    transition: all 0.2s ease !important;
}

.btn-edit-address:hover {
    background: var(--wc-primary, #e0762b) !important;
    color: #ffffff !important;
    border-color: var(--wc-primary, #e0762b) !important;
    transform: translateY(-1px) !important;
    box-shadow: 0 4px 12px rgba(224, 118, 43, 0.2) !important;
}

.formatted-address-text {
    font-size: 14px !important;
    line-height: 1.65 !important;
    color: #475569 !important;
}

.no-address-text {
    font-size: 13.5px !important;
    color: #94a3b8 !important;
    margin-bottom: 10px !important;
}

.btn-add-address-link {
    color: var(--wc-primary, #e0762b) !important;
    font-weight: 700 !important;
    font-size: 13.5px !important;
    text-decoration: none !important;
}

.btn-add-address-link:hover {
    text-decoration: underline !important;
}

/* Edit Address Form Header & Navigation */
.eloz-edit-address-wrap {
    width: 100%;
}

.edit-address-topbar {
    margin-bottom: 24px !important;
}

.btn-back-to-addresses {
    display: inline-flex !important;
    align-items: center !important;
    gap: 8px !important;
    font-size: 14.5px !important;
    font-weight: 700 !important;
    color: #475569 !important;
    text-decoration: none !important;
    background: transparent !important;
    border: none !important;
    padding: 0 !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    transition: all 0.2s ease !important;
}

.btn-back-to-addresses:hover {
    background: transparent !important;
    color: var(--wc-primary, #e0762b) !important;
    border: none !important;
    transform: translateX(-3px) !important;
    box-shadow: none !important;
}

.edit-address-header {
    margin-bottom: 28px !important;
    padding-bottom: 4px !important;
}

.edit-address-header .edit-address-title {
    font-size: 22px !important;
    font-weight: 800 !important;
    color: #0f172a !important;
    margin: 0 0 6px !important;
}

.edit-address-header .edit-address-subtitle {
    font-size: 14px !important;
    color: #64748b !important;
    display: block !important;
}

.eloz-btn-save-address {
    height: 48px !important;
    padding: 0 32px !important;
    background: var(--wc-primary, #e0762b) !important;
    color: #ffffff !important;
    font-size: 15px !important;
    font-weight: 700 !important;
    border-radius: 8px !important;
    border: none !important;
    cursor: pointer !important;
    box-shadow: 0 4px 14px rgba(224, 118, 43, 0.35) !important;
    transition: all 0.2s ease !important;
}

.eloz-btn-save-address:hover {
    background: #c85e00 !important;
    transform: translateY(-1px) !important;
    box-shadow: 0 6px 18px rgba(224, 118, 43, 0.45) !important;
}

/* Forms inside Account Content (Edit Details, Addresses - Checkout Style) */
.woocommerce-EditAccountForm,
.woocommerce-address-fields__field-wrapper,
.woocommerce-address-fields {
    width: 100% !important;
}

.woocommerce-EditAccountForm fieldset,
.woocommerce-address-fields fieldset {
    border: none !important;
    padding: 0 !important;
    margin: 24px 0 0 !important;
}

.woocommerce-EditAccountForm legend {
    font-size: 18px !important;
    font-weight: 800 !important;
    color: #0f172a !important;
    margin: 0 0 18px !important;
    padding-bottom: 10px !important;
    border-bottom: 1px solid #f1f5f9 !important;
    display: block !important;
    width: 100% !important;
}

.woocommerce-account .form-row,
.woocommerce-EditAccountForm .woocommerce-form-row,
.woocommerce-address-fields .form-row {
    margin-bottom: 20px !important;
    padding: 0 !important;
}

.woocommerce-account .form-row label,
.woocommerce-EditAccountForm label,
.woocommerce-address-fields label {
    font-size: 13.5px !important;
    font-weight: 700 !important;
    color: #1e293b !important;
    margin-bottom: 6px !important;
    display: block !important;
}

.woocommerce-account .form-row label .required,
.woocommerce-EditAccountForm label .required {
    color: #ef4444 !important;
}

.woocommerce-account .woocommerce-MyAccount-content input.input-text,
.woocommerce-account .woocommerce-MyAccount-content input[type="text"],
.woocommerce-account .woocommerce-MyAccount-content input[type="email"],
.woocommerce-account .woocommerce-MyAccount-content input[type="password"],
.woocommerce-account .woocommerce-MyAccount-content input[type="tel"],
.woocommerce-account .woocommerce-MyAccount-content select,
.woocommerce-account .woocommerce-MyAccount-content .select2-container--default .select2-selection--single,
.woocommerce-EditAccountForm input.input-text,
.woocommerce-address-fields input.input-text {
    width: 100% !important;
    height: 48px !important;
    border: 1.5px solid #cbd5e1 !important;
    border-radius: 8px !important;
    padding: 10px 16px !important;
    font-size: 14.5px !important;
    color: #0f172a !important;
    background: #ffffff !important;
    box-sizing: border-box !important;
    outline: none !important;
    box-shadow: none !important;
    transition: border-color 0.2s ease !important;
}

.woocommerce-account .woocommerce-MyAccount-content textarea {
    width: 100% !important;
    min-height: 100px !important;
    border: 1.5px solid #cbd5e1 !important;
    border-radius: 8px !important;
    padding: 12px 16px !important;
    font-size: 14.5px !important;
    color: #0f172a !important;
    background: #ffffff !important;
    box-sizing: border-box !important;
    outline: none !important;
    box-shadow: none !important;
    transition: border-color 0.2s ease !important;
}

.woocommerce-account .woocommerce-MyAccount-content input:focus,
.woocommerce-account .woocommerce-MyAccount-content select:focus,
.woocommerce-account .woocommerce-MyAccount-content textarea:focus,
.woocommerce-account .woocommerce-MyAccount-content .select2-container--default.select2-container--open .select2-selection--single,
.woocommerce-EditAccountForm input:focus,
.woocommerce-address-fields input:focus {
    border-color: var(--wc-primary, #e0762b) !important;
    outline: none !important;
    box-shadow: none !important;
}

.woocommerce-EditAccountForm span em,
.woocommerce-account .form-row span em {
    font-size: 12.5px !important;
    color: #64748b !important;
    font-style: normal !important;
    margin-top: 4px !important;
    display: block !important;
}

/* Save / Submit Buttons */
.woocommerce-EditAccountForm .button,
.woocommerce-address-fields .button,
.woocommerce-account .woocommerce-MyAccount-content button[type="submit"],
.woocommerce-account .woocommerce-form-login button[type="submit"],
.woocommerce-account .woocommerce-form-register button[type="submit"],
.woocommerce-account .woocommerce-ResetPassword button[type="submit"] {
    background: var(--wc-primary, #e0762b) !important;
    color: #ffffff !important;
    height: 48px !important;
    padding: 0 32px !important;
    border-radius: 8px !important;
    font-weight: 700 !important;
    font-size: 15px !important;
    border: none !important;
    cursor: pointer !important;
    box-shadow: 0 4px 14px rgba(224, 118, 43, 0.35) !important;
    transition: background 0.2s ease, transform 0.1s ease !important;
    margin-top: 8px !important;
}

.woocommerce-EditAccountForm .button:hover,
.woocommerce-address-fields .button:hover,
.woocommerce-account .woocommerce-MyAccount-content button[type="submit"]:hover,
.woocommerce-account .woocommerce-form-login button[type="submit"]:hover,
.woocommerce-account .woocommerce-form-register button[type="submit"]:hover,
.woocommerce-account .woocommerce-ResetPassword button[type="submit"]:hover {
    background: #c85e00 !important;
    transform: translateY(-1px) !important;
}

/* ============================================================
   3. MODERN CART PAGE
   ============================================================ */
.eloz-cart-wrap {
    padding-top: 10px;
    padding-bottom: 50px;
}

.eloz-cart-shipping-banner {
    background: #ffffff;
    border: 1px solid #e2e8f0;
    border-radius: 12px;
    padding: 18px 24px;
    box-shadow: 0 2px 10px rgba(0, 0, 0, 0.03);
}

.eloz-cart-shipping-banner.is-unlocked {
    background: #f0fdf4;
    border-color: #bbf7d0;
}

.eloz-cart-shipping-banner .banner-header {
    display: flex;
    align-items: center;
    gap: 12px;
    margin-bottom: 10px;
}

.eloz-cart-shipping-banner .banner-icon {
    width: 36px;
    height: 36px;
    border-radius: 8px;
    background: #fffaf7;
    color: var(--wc-primary, #e0762b);
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
}

.eloz-cart-shipping-banner.is-unlocked .banner-icon {
    background: #dcfce7;
    color: #16a34a;
}

.eloz-cart-shipping-banner .banner-text {
    font-size: 14px;
    color: #334155;
}

.shipping-progress-track {
    width: 100%;
    height: 7px;
    background: #e2e8f0;
    border-radius: 999px;
    overflow: hidden;
}

.shipping-progress-fill {
    height: 100%;
    background: linear-gradient(90deg, var(--wc-primary, #e0762b), #ff9848);
    border-radius: 999px;
    transition: width 0.25s cubic-bezier(0.4, 0, 0.2, 1), background 0.2s ease;
}

.eloz-cart-shipping-banner.is-unlocked .shipping-progress-fill {
    background: linear-gradient(90deg, #10b981, #16a34a);
}

/* Cart Table Card */
.eloz-cart-table-card {
    background: #ffffff;
    border-radius: 12px;
    border: 1px solid #e2e8f0;
    box-shadow: 0 4px 20px rgba(0, 0, 0, 0.04);
    overflow: hidden;
    transition: opacity 0.15s ease;
}

.eloz-cart-table-card.is-syncing {
    opacity: 0.65;
    pointer-events: none;
}

.cart-table-header {
    padding: 20px 24px;
    border-bottom: 1px solid #f1f5f9;
}

.cart-section-title {
    font-size: 18px;
    font-weight: 700;
    color: #0f172a;
    margin: 0;
    display: flex;
    align-items: center;
    gap: 8px;
}

.eloz-cart-table {
    width: 100% !important;
    border-collapse: collapse !important;
    margin: 0 !important;
    background: #ffffff !important;
}

.eloz-cart-table thead th {
    background: #f8fafc !important;
    padding: 14px 18px !important;
    font-size: 13px !important;
    font-weight: 700 !important;
    color: #475569 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.4px !important;
    border-bottom: 1px solid #e2e8f0 !important;
}

.eloz-cart-table tbody tr.eloz-cart-row {
    background: #ffffff !important;
    border-bottom: 1px solid #f1f5f9 !important;
    transition: background 0.2s ease !important;
}

.eloz-cart-table tbody tr.eloz-cart-row:hover {
    background: #fafafa !important;
}

.eloz-cart-table td {
    padding: 18px !important;
    vertical-align: middle !important;
    background: transparent !important;
    color: #1e293b !important;
}

.eloz-cart-table td.product-thumbnail {
    width: 85px !important;
    padding-right: 8px !important;
}

.cart-thumb-img {
    width: 70px !important;
    height: 70px !important;
    min-width: 70px !important;
    min-height: 70px !important;
    max-width: 70px !important;
    max-height: 70px !important;
    object-fit: cover !important;
    border-radius: 8px !important;
    border: 1px solid #e2e8f0 !important;
    display: block !important;
}

.cart-product-title {
    font-size: 15px;
    font-weight: 700;
    color: #0f172a;
    text-decoration: none;
    display: block;
    margin-bottom: 4px;
    line-height: 1.35;
}

.cart-product-title:hover {
    color: var(--wc-primary, #e0762b);
}

.free-shipping-tag {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    background: #ecfdf5;
    color: #059669;
    font-size: 11.5px;
    font-weight: 700;
    padding: 3px 8px;
    border-radius: 4px;
    margin-top: 4px;
}

.unit-price-val {
    font-size: 14.5px;
    color: #475569;
    font-weight: 600;
}

.line-subtotal-val {
    font-size: 16px;
    color: #0f172a;
    font-weight: 700;
}

/* Modern Compact Quantity Stepper in Cart Table */
.eloz-cart-page-qty-wrap {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    border: 1.5px solid #cbd5e1 !important;
    border-radius: 8px !important;
    overflow: hidden !important;
    background: #f8fafc !important;
    height: 38px !important;
    width: auto !important;
    box-shadow: 0 1px 2px rgba(0, 0, 0, 0.04) !important;
}

.eloz-cart-page-qty-wrap .cart-page-qty-btn {
    width: 32px !important;
    height: 38px !important;
    min-width: 32px !important;
    background: #f1f5f9 !important;
    border: none !important;
    cursor: pointer !important;
    font-size: 16px !important;
    font-weight: 700 !important;
    color: #334155 !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    transition: all 0.15s ease !important;
    outline: none !important;
    flex-shrink: 0 !important;
    padding: 0 !important;
    user-select: none !important;
}

.eloz-cart-page-qty-wrap .cart-page-qty-btn:hover {
    background: #e2e8f0 !important;
    color: var(--wc-primary, #e0762b) !important;
}

.eloz-cart-page-qty-wrap .cart-page-qty-btn:active {
    background: #cbd5e1 !important;
    transform: scale(0.95) !important;
}

.eloz-cart-page-qty-wrap input.cart-page-qty-input {
    width: 44px !important;
    min-width: 44px !important;
    max-width: 50px !important;
    height: 38px !important;
    text-align: center !important;
    border: none !important;
    border-left: 1px solid #e2e8f0 !important;
    border-right: 1px solid #e2e8f0 !important;
    background: #ffffff !important;
    font-size: 14px !important;
    font-weight: 700 !important;
    color: #0f172a !important;
    outline: none !important;
    padding: 0 !important;
    margin: 0 !important;
    box-shadow: none !important;
    -moz-appearance: textfield !important;
}

.eloz-cart-page-qty-wrap input.cart-page-qty-input::-webkit-outer-spin-button,
.eloz-cart-page-qty-wrap input.cart-page-qty-input::-webkit-inner-spin-button {
    -webkit-appearance: none !important;
    margin: 0 !important;
}

.eloz-cart-remove-btn {
    width: 32px;
    height: 32px;
    border-radius: 50%;
    background: #f1f5f9;
    color: #94a3b8;
    display: flex;
    align-items: center;
    justify-content: center;
    text-decoration: none;
    transition: all 0.2s ease;
}

.eloz-cart-remove-btn:hover {
    background: #fee2e2;
    color: #ef4444;
}

/* Coupon & Actions Row */
.cart-actions-row td {
    background: #f8fafc;
    padding: 18px 24px;
}

.cart-actions-flex {
    display: flex;
    align-items: center;
    justify-content: space-between;
    flex-wrap: wrap;
    gap: 16px;
}

/* Coupon Box Styling */
.eloz-coupon-box {
    display: inline-flex !important;
    align-items: center !important;
    gap: 10px !important;
    flex-wrap: wrap !important;
}

.eloz-coupon-input-wrap {
    position: relative !important;
    display: inline-flex !important;
    align-items: center !important;
}

.eloz-coupon-input-wrap .coupon-field-icon {
    position: absolute !important;
    left: 14px !important;
    top: 50% !important;
    transform: translateY(-50%) !important;
    pointer-events: none !important;
    color: #94a3b8 !important;
    transition: color 0.2s ease !important;
    z-index: 2 !important;
}

.eloz-coupon-input-wrap:focus-within .coupon-field-icon {
    color: var(--wc-primary, #e0762b) !important;
}

.woocommerce table.cart td.actions .coupon .eloz-coupon-input,
.eloz-cart-table-card .eloz-coupon-input,
input.eloz-coupon-input {
    height: 46px !important;
    min-height: 46px !important;
    border: 1.5px solid #cbd5e1 !important;
    border-radius: 8px !important;
    padding: 0 16px 0 42px !important;
    font-size: 14px !important;
    font-weight: 500 !important;
    width: 250px !important;
    max-width: 100% !important;
    background: #ffffff !important;
    color: #0f172a !important;
    box-shadow: 0 1px 2px rgba(0, 0, 0, 0.04) !important;
    outline: none !important;
    transition: all 0.2s ease !important;
    box-sizing: border-box !important;
}

.woocommerce table.cart td.actions .coupon .eloz-coupon-input:focus,
.eloz-cart-table-card .eloz-coupon-input:focus,
input.eloz-coupon-input:focus {
    border-color: var(--wc-primary, #e0762b) !important;
    background: #ffffff !important;
    box-shadow: 0 0 0 3.5px rgba(224, 118, 43, 0.15) !important;
}

.woocommerce table.cart td.actions .coupon .eloz-btn-apply-coupon,
.eloz-cart-table-card .eloz-btn-apply-coupon,
button.eloz-btn-apply-coupon {
    height: 46px !important;
    min-height: 46px !important;
    background: var(--wc-primary, #e0762b) !important;
    color: #ffffff !important;
    border: none !important;
    border-radius: 8px !important;
    padding: 0 24px !important;
    font-size: 14px !important;
    font-weight: 700 !important;
    cursor: pointer !important;
    box-shadow: 0 2px 8px rgba(224, 118, 43, 0.25) !important;
    transition: all 0.2s ease !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    letter-spacing: 0.2px !important;
}

.woocommerce table.cart td.actions .coupon .eloz-btn-apply-coupon:hover,
.eloz-cart-table-card .eloz-btn-apply-coupon:hover,
button.eloz-btn-apply-coupon:hover {
    background: #c85e00 !important;
    box-shadow: 0 4px 14px rgba(224, 118, 43, 0.35) !important;
    transform: translateY(-1px) !important;
}

.woocommerce table.cart td.actions .coupon .eloz-btn-apply-coupon:active,
.eloz-cart-table-card .eloz-btn-apply-coupon:active,
button.eloz-btn-apply-coupon:active {
    transform: translateY(0) !important;
}

.cart-btn-group {
    display: flex;
    align-items: center;
    gap: 10px;
}

.eloz-btn-cart-secondary {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    height: 42px;
    background: #ffffff;
    border: 1.5px solid #cbd5e1;
    border-radius: 6px;
    padding: 0 16px;
    font-size: 13.5px;
    font-weight: 600;
    color: #334155;
    text-decoration: none;
    cursor: pointer;
    transition: all 0.2s ease;
}

.eloz-btn-cart-secondary:hover {
    border-color: #94a3b8;
    background: #f1f5f9;
}

/* Sticky Cart Totals Card */
.eloz-cart-totals-sticky {
    position: -webkit-sticky;
    position: sticky;
    top: 24px;
}

/* Location Selector (Matching Checkout Style) */
.eloz-cart-location-selector {
    background: #ffffff;
    border-radius: 12px;
    border: 1px solid #e2e8f0;
    box-shadow: 0 4px 20px rgba(0, 0, 0, 0.04);
    padding: 18px 20px;
}

.location-selector-title {
    font-size: 15px;
    font-weight: 700;
    color: #0f172a;
    margin: 0 0 12px;
    display: flex;
    align-items: center;
    gap: 8px;
}

.eloz-cart-location-grid {
    display: flex;
    flex-direction: column;
    gap: 10px;
}

.eloz-cart-location-grid .eloz-location-radio-card {
    display: flex !important;
    flex-direction: row !important;
    align-items: center !important;
    justify-content: space-between !important;
    padding: 12px 16px !important;
    border-radius: 10px !important;
    border: 2px solid #e2e8f0 !important;
    background: #ffffff !important;
    cursor: pointer !important;
    margin: 0 !important;
    width: 100% !important;
    box-sizing: border-box !important;
    transition: all 0.2s ease !important;
}

.eloz-cart-location-grid .eloz-location-radio-card:hover {
    border-color: #cbd5e1 !important;
    background: #f8fafc !important;
}

.eloz-cart-location-grid .eloz-location-radio-card.active {
    border-color: var(--wc-primary, #e0762b) !important;
    background: #fffdfa !important;
    box-shadow: 0 2px 10px rgba(224, 118, 43, 0.1) !important;
}

.eloz-cart-location-grid .eloz-location-radio-card input[type="radio"] {
    position: absolute !important;
    opacity: 0 !important;
    pointer-events: none !important;
}

.eloz-cart-location-grid .eloz-location-radio-card .radio-content {
    flex: 1 1 auto !important;
    display: flex !important;
    flex-direction: column !important;
    text-align: left !important;
    gap: 2px !important;
}

.eloz-cart-location-grid .eloz-location-radio-card .radio-title {
    font-size: 14px !important;
    font-weight: 700 !important;
    color: #0f172a !important;
}

.eloz-cart-location-grid .eloz-location-radio-card .loc-charge-text {
    font-size: 12.5px !important;
    font-weight: 600 !important;
    color: #64748b !important;
}

.eloz-cart-location-grid .eloz-location-radio-card.active .loc-charge-text {
    color: var(--wc-primary, #e0762b) !important;
    font-weight: 700 !important;
}

.eloz-cart-location-grid .eloz-location-radio-card .free-badge {
    background: #dcfce7 !important;
    color: #16a34a !important;
    padding: 2px 6px !important;
    border-radius: 4px !important;
    font-size: 11px !important;
    font-weight: 700 !important;
}

.eloz-cart-location-grid .eloz-location-radio-card .radio-checkmark {
    width: 20px !important;
    height: 20px !important;
    border-radius: 50% !important;
    border: 2px solid #cbd5e1 !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    flex-shrink: 0 !important;
    margin-left: 12px !important;
    transition: all 0.2s ease !important;
}

.eloz-cart-location-grid .eloz-location-radio-card.active .radio-checkmark {
    border-color: var(--wc-primary, #e0762b) !important;
    background: var(--wc-primary, #e0762b) !important;
    box-shadow: inset 0 0 0 3px #ffffff !important;
}

/* Cart Totals Box */
.eloz-cart-totals-box {
    background: #ffffff;
    border-radius: 12px;
    border: 1px solid #e2e8f0;
    box-shadow: 0 4px 20px rgba(0, 0, 0, 0.04);
    padding: 22px 24px;
}

.totals-box-title {
    font-size: 17px;
    font-weight: 800;
    color: #0f172a;
    margin: 0 0 16px;
    padding-bottom: 12px;
    border-bottom: 1px solid #f1f5f9;
}

.totals-rows {
    display: flex;
    flex-direction: column;
    gap: 12px;
    margin-bottom: 20px;
}

.totals-row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    font-size: 14.5px;
    color: #475569;
}

.totals-row strong {
    color: #0f172a;
    font-weight: 700;
}

.totals-row .shipping-free-text {
    color: #16a34a;
    font-weight: 800;
}

.totals-row.grand-total-row {
    border-top: 2px solid #f1f5f9;
    padding-top: 14px;
    margin-top: 4px;
    font-size: 17px;
    font-weight: 800;
    color: #0f172a;
}

.totals-row.grand-total-row strong {
    font-size: 20px;
    color: var(--wc-primary, #e0762b);
    font-weight: 900;
}

.eloz-btn-checkout-cta {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 8px !important;
    width: 100% !important;
    height: 50px !important;
    background: linear-gradient(135deg, #ff5500, var(--wc-primary, #e0762b)) !important;
    color: #ffffff !important;
    border-radius: 8px !important;
    font-size: 16px !important;
    font-weight: 700 !important;
    text-decoration: none !important;
    box-shadow: 0 4px 16px rgba(224, 118, 43, 0.35) !important;
    transition: all 0.25s ease !important;
}

.eloz-btn-checkout-cta:hover {
    background: linear-gradient(135deg, #e04b00, #c85e00) !important;
    transform: translateY(-1px) !important;
    box-shadow: 0 6px 20px rgba(224, 118, 43, 0.45) !important;
    color: #ffffff !important;
}

/* Trust Badges */
.cart-trust-badges {
    background: #ffffff;
    border-radius: 10px;
    border: 1px solid #e2e8f0;
    padding: 16px 18px;
}

.trust-badge-item {
    display: flex;
    align-items: center;
    gap: 10px;
    font-size: 13px;
    color: #334155;
    font-weight: 600;
    padding: 6px 0;
}

.trust-badge-item:not(:last-child) {
    border-bottom: 1px dashed #f1f5f9;
}

/* Empty Cart View & Notice Suppression */
.woocommerce-cart .woocommerce-info,
.woocommerce-message:has(.restore-item),
.woocommerce-notices-wrapper .woocommerce-message:has(a[href*="undo_item"]) {
    display: none !important;
}

.eloz-empty-cart-view {
    background: #ffffff;
    border-radius: 16px;
    border: 1px solid #e2e8f0;
    box-shadow: 0 4px 20px rgba(0, 0, 0, 0.04);
    padding: 60px 30px;
    max-width: 600px;
    margin: 0 auto;
}

.empty-cart-icon-wrap {
    width: 120px;
    height: 120px;
    border-radius: 50%;
    background: #fffaf7;
    border: 1px solid #fbd5b5;
    display: inline-flex;
    align-items: center;
    justify-content: center;
}

.empty-cart-title {
    font-size: 24px;
    font-weight: 800;
    color: #0f172a;
}

.empty-cart-subtitle {
    font-size: 15px;
    color: #64748b;
}

.eloz-btn-return-shop {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    background: var(--wc-primary, #e0762b);
    color: #ffffff !important;
    padding: 14px 28px;
    border-radius: 8px;
    font-size: 15px;
    font-weight: 700;
    text-decoration: none;
    box-shadow: 0 4px 14px rgba(224, 118, 43, 0.35);
    transition: all 0.25s ease;
}

/* ═════════════════════════════════════════════════════════════════════════
   RESPONSIVE CART LAYOUT (MODERN CARDS FOR MOBILE, TABLETS & UP TO 1200px)
   ═════════════════════════════════════════════════════════════════════════ */
@media (max-width: 1400px) {
    /* ── Outer Card & Container ── */
    .eloz-cart-table-card {
        background: transparent !important;
        border: none !important;
        box-shadow: none !important;
        overflow: visible !important;
    }

    .cart-table-header {
        background: #ffffff !important;
        border-radius: 12px !important;
        border: 1px solid #e2e8f0 !important;
        margin-bottom: 12px !important;
        padding: 16px 20px !important;
        box-shadow: 0 2px 8px rgba(0, 0, 0, 0.03) !important;
    }

    .cart-section-title {
        font-size: 16.5px !important;
    }

    /* ── Table Reset for Card Layout ── */
    .woocommerce table.shop_table_responsive.eloz-cart-table,
    .eloz-cart-table,
    .eloz-cart-table tbody {
        display: block !important;
        width: 100% !important;
        background: transparent !important;
        border: none !important;
    }

    .eloz-cart-table thead {
        display: none !important;
    }

    /* Kill default WooCommerce data-title ": " labels & lone colons */
    .woocommerce table.shop_table_responsive.eloz-cart-table tr td::before,
    .eloz-cart-table tr td::before {
        display: none !important;
        content: "" !important;
    }

    /* ── Individual Product Cart Item Card ── */
    .eloz-cart-table tbody tr.eloz-cart-row {
        display: grid !important;
        grid-template-columns: 80px 1fr !important;
        grid-template-rows: auto auto !important;
        grid-column-gap: 16px !important;
        grid-row-gap: 12px !important;
        background: #ffffff !important;
        border: 1px solid #e2e8f0 !important;
        border-radius: 12px !important;
        padding: 16px 18px !important;
        margin-bottom: 12px !important;
        box-shadow: 0 2px 8px rgba(0, 0, 0, 0.03) !important;
        position: relative !important;
        box-sizing: border-box !important;
    }

    /* 1. Thumbnail */
    .eloz-cart-table td.product-thumbnail {
        display: block !important;
        grid-column: 1 / 2 !important;
        grid-row: 1 / 3 !important;
        width: 80px !important;
        height: 80px !important;
        padding: 0 !important;
        border: none !important;
        background: transparent !important;
    }

    .eloz-cart-table td.product-thumbnail .cart-thumb-link {
        display: block !important;
        width: 80px !important;
        height: 80px !important;
        border-radius: 8px !important;
        overflow: hidden !important;
        border: 1px solid #e2e8f0 !important;
        background: #f8fafc !important;
    }

    .eloz-cart-table td.product-thumbnail .cart-thumb-img {
        width: 80px !important;
        height: 80px !important;
        min-width: 80px !important;
        min-height: 80px !important;
        max-width: 80px !important;
        max-height: 80px !important;
        object-fit: cover !important;
        border: none !important;
        border-radius: 0 !important;
    }

    /* 2. Product Name & Meta */
    .eloz-cart-table td.product-name {
        display: block !important;
        grid-column: 2 / 3 !important;
        grid-row: 1 / 2 !important;
        padding: 0 36px 0 0 !important;
        border: none !important;
        text-align: left !important;
        background: transparent !important;
    }

    .eloz-cart-table .cart-product-title {
        font-size: 14.5px !important;
        font-weight: 700 !important;
        line-height: 1.4 !important;
        color: #0f172a !important;
        margin-bottom: 3px !important;
        display: -webkit-box !important;
        -webkit-line-clamp: 2 !important;
        -webkit-box-orient: vertical !important;
        overflow: hidden !important;
    }

    .eloz-cart-table .free-shipping-tag {
        font-size: 11px !important;
        padding: 2px 7px !important;
        margin-top: 3px !important;
    }

    /* 3. Remove Button (Top Right Absolute) */
    .eloz-cart-table td.product-remove {
        display: block !important;
        position: absolute !important;
        top: 14px !important;
        right: 14px !important;
        padding: 0 !important;
        border: none !important;
        width: auto !important;
        background: transparent !important;
    }

    .eloz-cart-table .eloz-cart-remove-btn {
        width: 30px !important;
        height: 30px !important;
        border-radius: 50% !important;
        background: #f1f5f9 !important;
        color: #94a3b8 !important;
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
        transition: all 0.2s ease !important;
        border: none !important;
    }

    .eloz-cart-table .eloz-cart-remove-btn:hover,
    .eloz-cart-table .eloz-cart-remove-btn:active {
        background: #fee2e2 !important;
        color: #ef4444 !important;
    }

    /* 4. Unit Price (Hidden on card) */
    .eloz-cart-table td.product-price {
        display: none !important;
    }

    /* 5. Quantity Stepper in Bottom Row */
    .eloz-cart-table td.product-quantity {
        display: flex !important;
        align-items: center !important;
        grid-column: 2 / 3 !important;
        grid-row: 2 / 3 !important;
        padding: 2px 0 0 0 !important;
        border: none !important;
        text-align: left !important;
        background: transparent !important;
    }

    .eloz-cart-table .eloz-cart-page-qty-wrap {
        height: 34px !important;
        border-radius: 6px !important;
        background: #f8fafc !important;
        border: 1.5px solid #cbd5e1 !important;
    }

    .eloz-cart-table .eloz-cart-page-qty-wrap .cart-page-qty-btn {
        width: 30px !important;
        height: 34px !important;
        min-width: 30px !important;
        font-size: 14px !important;
        background: #f1f5f9 !important;
    }

    .eloz-cart-table .eloz-cart-page-qty-wrap input.cart-page-qty-input {
        width: 38px !important;
        min-width: 38px !important;
        max-width: 44px !important;
        height: 34px !important;
        font-size: 13.5px !important;
    }

    /* 6. Subtotal */
    .eloz-cart-table td.product-subtotal {
        display: flex !important;
        align-items: center !important;
        justify-content: flex-end !important;
        position: absolute !important;
        bottom: 16px !important;
        right: 18px !important;
        padding: 0 !important;
        border: none !important;
        text-align: right !important;
        background: transparent !important;
    }

    .eloz-cart-table .line-subtotal-val {
        font-size: 16px !important;
        font-weight: 700 !important;
        color: var(--wc-primary, #e0762b) !important;
    }

    /* ── Coupon & Actions Card ── */
    .eloz-cart-table tbody tr.cart-actions-row {
        display: block !important;
        background: #ffffff !important;
        border: 1px solid #e2e8f0 !important;
        border-radius: 12px !important;
        padding: 16px 18px !important;
        margin-top: 12px !important;
        box-shadow: 0 2px 8px rgba(0, 0, 0, 0.03) !important;
        position: relative !important;
    }

    .eloz-cart-table td.actions-cell {
        display: block !important;
        padding: 0 !important;
        border: none !important;
        background: transparent !important;
    }

    .cart-actions-flex {
        display: flex !important;
        align-items: center !important;
        justify-content: space-between !important;
        flex-wrap: wrap !important;
        gap: 12px !important;
        width: 100% !important;
    }

    .eloz-coupon-box {
        display: flex !important;
        flex-direction: row !important;
        align-items: center !important;
        gap: 8px !important;
    }

    .eloz-coupon-input-wrap {
        position: relative !important;
    }

    .woocommerce table.cart td.actions .coupon .eloz-coupon-input,
    .eloz-cart-table-card .eloz-coupon-input,
    input.eloz-coupon-input {
        width: 220px !important;
        max-width: 100% !important;
        height: 42px !important;
        min-height: 42px !important;
        font-size: 13px !important;
        padding: 0 12px 0 36px !important;
        border-radius: 8px !important;
    }

    .coupon-field-icon {
        left: 11px !important;
        width: 16px !important;
        height: 16px !important;
    }

    .woocommerce table.cart td.actions .coupon .eloz-btn-apply-coupon,
    .eloz-cart-table-card .eloz-btn-apply-coupon,
    button.eloz-btn-apply-coupon {
        height: 42px !important;
        min-height: 42px !important;
        padding: 0 18px !important;
        font-size: 13px !important;
        white-space: nowrap !important;
        border-radius: 8px !important;
    }

    .eloz-btn-cart-secondary {
        height: 42px !important;
        font-size: 13px !important;
        border-radius: 8px !important;
        padding: 0 18px !important;
    }
}

/* Extra Compact Layout for Small Phones (Under 576px) */
@media (max-width: 575px) {
    .eloz-cart-table tbody tr.eloz-cart-row {
        grid-template-columns: 74px 1fr !important;
        padding: 14px !important;
    }

    .eloz-cart-table td.product-thumbnail,
    .eloz-cart-table td.product-thumbnail .cart-thumb-link,
    .eloz-cart-table td.product-thumbnail .cart-thumb-img {
        width: 74px !important;
        height: 74px !important;
        min-width: 74px !important;
        min-height: 74px !important;
    }

    .eloz-cart-table .cart-product-title {
        font-size: 13.5px !important;
    }

    .eloz-cart-table .eloz-cart-page-qty-wrap {
        height: 32px !important;
    }

    .eloz-cart-table .eloz-cart-page-qty-wrap .cart-page-qty-btn {
        width: 28px !important;
        height: 32px !important;
        min-width: 28px !important;
    }

    .eloz-cart-table .eloz-cart-page-qty-wrap input.cart-page-qty-input {
        width: 36px !important;
        height: 32px !important;
        font-size: 13px !important;
    }

    .cart-actions-flex {
        flex-direction: column !important;
        gap: 10px !important;
    }

    .eloz-coupon-box {
        width: 100% !important;
    }

    .eloz-coupon-input-wrap {
        flex: 1 1 auto !important;
        width: auto !important;
        min-width: 0 !important;
    }

    .woocommerce table.cart td.actions .coupon .eloz-coupon-input,
    .eloz-cart-table-card .eloz-coupon-input,
    input.eloz-coupon-input {
        width: 100% !important;
        min-width: 0 !important;
    }

    .cart-btn-group {
        width: 100% !important;
    }

    .eloz-btn-cart-secondary {
        width: 100% !important;
        justify-content: center !important;
    }
}

/* ============================================================
   HIDE UNWANTED ADMIN BAR SEARCH & FLOATING SEARCH WRAPPERS
   ============================================================ */
#wpadminbar #wp-admin-bar-search,
#wpadminbar #adminbarsearch,
#wpadminbar .adminbar-input {
    display: none !important;
}

#wpadminbar input,
#wpadminbar input[type="text"] {
    height: auto !important;
    background: inherit !important;
    border: none !important;
    box-shadow: none !important;
    width: auto !important;
    padding: 0 !important;
}

.header-search-form-wrapper:not(.open) {
    display: none !important;
    visibility: hidden !important;
    opacity: 0 !important;
    pointer-events: none !important;
}

/* ═══════════════════════════════════════════════
   404 Page — Premium Two-Column Design
═══════════════════════════════════════════════ */

/* ── Page Wrapper ── */
.eloz-404-page-wrap {
    padding: 44px 0 90px;
    background: #f4f5f7;
    min-height: 72vh;
}

/* ── Hero Card ── */
.eloz-404-hero-card {
    display: grid;
    grid-template-columns: 1fr 1.3fr;
    gap: 0;
    background: #ffffff;
    border-radius: 28px;
    overflow: hidden;
    box-shadow: 0 20px 60px rgba(0, 0, 0, 0.09);
    border: 1px solid #e8eaed;
    min-height: 460px;
}

/* ══════════════════════
   LEFT — Illustration
══════════════════════ */
.eloz-404-left {
    background: linear-gradient(145deg, #fff4ec 0%, #fff8f1 50%, #fef3e2 100%);
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 60px 40px;
    position: relative;
    overflow: hidden;
    border-right: 1px solid #ffe4cc;
}

/* Decorative floating rings */
.eloz-404-deco-ring {
    position: absolute;
    border-radius: 50%;
    border: 1.5px solid rgba(240, 96, 0, 0.12);
    pointer-events: none;
}

.ring-1 {
    width: 280px;
    height: 280px;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
}

.ring-2 {
    width: 360px;
    height: 360px;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    opacity: 0.7;
}

.ring-3 {
    width: 440px;
    height: 440px;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    opacity: 0.4;
}

/* 404 Number */
.eloz-404-gfx-wrap {
    position: relative;
    z-index: 2;
    text-align: center;
}

.eloz-404-number {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    margin-bottom: 18px;
}

.n404-four {
    font-size: 110px;
    font-weight: 900;
    line-height: 1;
    background: linear-gradient(150deg, #F06000 0%, #ff8c3a 100%);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
    letter-spacing: -4px;
    display: block;
    filter: drop-shadow(0 4px 8px rgba(240, 96, 0, 0.25));
}

.n404-zero {
    width: 108px;
    height: 108px;
    border-radius: 50%;
    background: #ffffff;
    border: 3px solid #F06000;
    display: flex;
    align-items: center;
    justify-content: center;
    box-shadow: 0 8px 28px rgba(240, 96, 0, 0.2), inset 0 0 0 6px rgba(240, 96, 0, 0.05);
    animation: eloz404float 3.5s ease-in-out infinite;
    flex-shrink: 0;
}

.n404-zero-inner {
    color: #F06000;
    display: flex;
    align-items: center;
    justify-content: center;
}

@keyframes eloz404float {

    0%,
    100% {
        transform: translateY(0px);
    }

    50% {
        transform: translateY(-12px);
    }
}

.eloz-404-tagline {
    font-size: 14px;
    font-weight: 700;
    color: #F06000;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    margin: 0;
    opacity: 0.85;
}

/* ══════════════════════
   RIGHT — Content
══════════════════════ */
.eloz-404-right {
    padding: 52px 50px 48px;
    display: flex;
    flex-direction: column;
    justify-content: center;
    gap: 0;
}

/* Error badge */
.eloz-404-badge {
    display: inline-flex;
    align-items: center;
    padding: 5px 14px;
    border-radius: 50px;
    font-size: 11px;
    font-weight: 800;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    background: #fff4ec;
    color: #F06000;
    border: 1.5px solid #ffd4b5;
    width: fit-content;
    margin-bottom: 16px;
}

/* Title */
.eloz-404-title {
    font-size: 28px;
    font-weight: 800;
    color: #0f172a;
    line-height: 1.35;
    margin: 0 0 12px 0;
}

/* Description */
.eloz-404-desc {
    font-size: 14.5px;
    color: #64748b;
    line-height: 1.75;
    margin: 0 0 28px 0;
}

/* Search */
.eloz-404-search-form {
    margin-bottom: 24px;
}

.eloz-404-search-group {
    display: flex;
    align-items: center;
    gap: 10px;
    background: #f8fafc;
    border: 2px solid #e2e8f0;
    border-radius: 14px;
    padding: 8px 8px 8px 16px;
    transition: border-color 0.2s, box-shadow 0.2s, background 0.2s;
}

.eloz-404-search-group:focus-within {
    border-color: #F06000;
    box-shadow: 0 0 0 4px rgba(240, 96, 0, 0.1);
    background: #ffffff;
}

.eloz-404-search-group svg {
    flex-shrink: 0;
    color: #94a3b8;
    transition: color 0.2s;
}

.eloz-404-search-group:focus-within svg {
    color: #F06000;
}

.eloz-404-input {
    flex: 1;
    border: none;
    background: transparent;
    outline: none;
    font-size: 14.5px;
    color: #1e293b;
    padding: 4px 0;
    min-width: 0;
}

.eloz-404-input::placeholder {
    color: #b0bec5;
}

.eloz-404-search-btn {
    background: #F06000;
    color: #ffffff;
    border: none;
    border-radius: 10px;
    padding: 10px 22px;
    font-size: 14px;
    font-weight: 700;
    cursor: pointer;
    transition: background 0.2s, transform 0.15s, box-shadow 0.2s;
    white-space: nowrap;
    flex-shrink: 0;
}

.eloz-404-search-btn:hover {
    background: #d45300;
    transform: scale(1.03);
    box-shadow: 0 4px 14px rgba(240, 96, 0, 0.3);
}

/* Action Buttons */
.eloz-404-actions {
    display: flex;
    align-items: center;
    gap: 12px;
    flex-wrap: wrap;
    margin-bottom: 28px;
}

.eloz-404-btn-primary {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    background: #F06000;
    color: #ffffff !important;
    text-decoration: none !important;
    padding: 13px 26px;
    border-radius: 12px;
    font-size: 14px;
    font-weight: 700;
    transition: background 0.2s, transform 0.15s, box-shadow 0.2s;
    box-shadow: 0 4px 14px rgba(240, 96, 0, 0.28);
}

.eloz-404-btn-primary:hover {
    background: #d45300;
    transform: translateY(-2px);
    box-shadow: 0 8px 22px rgba(240, 96, 0, 0.35);
}

.eloz-404-btn-secondary {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    background: #ffffff;
    color: #334155 !important;
    text-decoration: none !important;
    padding: 12px 24px;
    border-radius: 12px;
    font-size: 14px;
    font-weight: 700;
    border: 2px solid #e2e8f0;
    transition: all 0.2s ease;
}

.eloz-404-btn-secondary:hover {
    background: #f8fafc;
    border-color: #cbd5e1;
    transform: translateY(-2px);
    box-shadow: 0 4px 14px rgba(0, 0, 0, 0.07);
}

/* Category Pills */
.eloz-404-cats-wrap {
    border-top: 1px solid #f1f5f9;
    padding-top: 22px;
}

.eloz-404-cats-label {
    display: block;
    font-size: 11.5px;
    font-weight: 700;
    color: #94a3b8;
    text-transform: uppercase;
    letter-spacing: 0.07em;
    margin-bottom: 12px;
}

.eloz-404-cats-list {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}

.eloz-404-cat-pill {
    display: inline-flex;
    align-items: center;
    padding: 6px 15px;
    border-radius: 50px;
    font-size: 12.5px;
    font-weight: 600;
    background: #fff4ec;
    color: #F06000 !important;
    border: 1.5px solid #ffd4b5;
    text-decoration: none !important;
    transition: all 0.2s ease;
    line-height: 1;
}

.eloz-404-cat-pill:hover {
    background: #F06000;
    color: #ffffff !important;
    border-color: #F06000;
    transform: translateY(-2px);
    box-shadow: 0 4px 12px rgba(240, 96, 0, 0.28);
}

/* ══════════════════════
   Products Section
══════════════════════ */
.eloz-404-products-section {
    margin-top: 64px;
}

.eloz-404-section-header {
    display: flex;
    align-items: center;
    gap: 18px;
    margin-bottom: 10px;
}

.eloz-404-section-line {
    flex: 1;
    height: 1px;
    background: linear-gradient(90deg, transparent, #e2e8f0, transparent);
}

.eloz-404-section-title {
    font-size: 20px;
    font-weight: 800;
    color: #0f172a;
    white-space: nowrap;
    margin: 0;
}

.eloz-404-section-sub {
    text-align: center;
    font-size: 14px;
    color: #94a3b8;
    margin-bottom: 30px;
}

/* ══════════════════════
   Responsive
══════════════════════ */
@media (max-width: 900px) {
    .eloz-404-hero-card {
        grid-template-columns: 1fr;
    }

    .eloz-404-left {
        border-right: none;
        border-bottom: 1px solid #ffe4cc;
        padding: 44px 20px 36px;
    }

    .n404-four {
        font-size: 80px;
    }

    .n404-zero {
        width: 80px;
        height: 80px;
    }

    .n404-zero-inner svg {
        width: 38px;
        height: 38px;
    }
}

@media (max-width: 600px) {
    .eloz-404-right {
        padding: 36px 24px 32px;
    }

    .eloz-404-title {
        font-size: 22px;
    }

    .eloz-404-actions {
        flex-direction: column;
    }

    .eloz-404-btn-primary,
    .eloz-404-btn-secondary {
        width: 100%;
        justify-content: center;
    }
}

/* ── Mobile 2-Column Product Grid Optimization ── */
@media (max-width: 767px) {

    .eloz-products-grid.row,
    .woocommerce ul.products.row,
    .woocommerce .products.row,
    .row.eloz-products-grid {
        --bs-gutter-x: 10px !important;
        --bs-gutter-y: 12px !important;
    }

    .woocommerce .products .col-6,
    .eloz-products-grid .col-6,
    .woocommerce ul.products .col-6 {
        margin-bottom: 12px !important;
    }

    .eloz-product-card {
        position: relative !important;
        padding: 10px !important;
        border-radius: 10px !important;
    }

    .eloz-product-card__thumb {
        margin-bottom: 8px !important;
        border-radius: 8px !important;
    }

    /* Wishlist Heart Icon: Floating Top-Right on Image for Mobile Only */
    .eloz-wishlist-btn-card {
        position: absolute !important;
        top: 16px !important;
        right: 16px !important;
        width: 32px !important;
        height: 32px !important;
        flex: 0 0 32px !important;
        border-radius: 50% !important;
        background: rgba(255, 255, 255, 0.94) !important;
        backdrop-filter: blur(4px) !important;
        border: 1px solid rgba(226, 232, 240, 0.9) !important;
        box-shadow: 0 2px 6px rgba(0, 0, 0, 0.08) !important;
        z-index: 5 !important;
        display: inline-flex !important;
        align-items: center !important;
        justify-content: center !important;
        padding: 0 !important;
        margin: 0 !important;
    }

    .eloz-wishlist-btn-card .eloz-heart-icon {
        width: 16px !important;
        height: 16px !important;
    }

    /* Add to Cart Button: Full Width on Mobile Only */
    .eloz-product-card__action-btn {
        width: 100% !important;
        display: block !important;
    }

    .eloz-product-card__action-btn .button {
        width: 100% !important;
        flex: 1 1 100% !important;
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
        height: 36px !important;
        min-height: 36px !important;
        font-size: 13px !important;
        padding: 0 8px !important;
        border-radius: 6px !important;
    }

    .eloz-product-card__action-btn .button::before {
        margin-right: 4px !important;
        font-size: 12px !important;
    }

    .eloz-product-card .onsale {
        top: 16px !important;
        left: 16px !important;
        font-size: 10px !important;
        padding: 2px 6px !important;
        z-index: 4 !important;
    }

    .eloz-product-card__title {
        font-size: 13px !important;
        line-height: 1.35 !important;
        min-height: 35px !important;
        margin-bottom: 6px !important;
    }

    .eloz-product-card__price {
        font-size: 15px !important;
        margin-bottom: 10px !important;
        gap: 4px !important;
    }

    .eloz-product-card__price del {
        font-size: 11px !important;
    }

    /* ── Single Product Mobile: Quantity + Add to Cart + Wishlist on 1 line ── */
    body.woocommerce div.product form.cart,
    .woocommerce div.product form.cart,
    .eloz-product-top-card form.cart,
    .eloz-product-single form.cart {
        display: flex !important;
        flex-direction: row !important;
        flex-wrap: nowrap !important;
        align-items: center !important;
        gap: 6px !important;
        width: 100% !important;
        margin-bottom: 14px !important;
    }

    .eloz-product-single .quantity,
    .woocommerce div.product form.cart .quantity,
    body.woocommerce div.product form.cart .quantity {
        display: inline-flex !important;
        align-items: center !important;
        height: 42px !important;
        flex: 0 0 auto !important;
        border-radius: 6px !important;
        margin: 0 !important;
    }

    .eloz-product-single .quantity .qty-btn,
    body.woocommerce div.product form.cart .quantity .qty-btn {
        width: 28px !important;
        height: 42px !important;
        font-size: 15px !important;
        padding: 0 !important;
    }

    .eloz-product-single .quantity input[type=number],
    body.woocommerce div.product form.cart .quantity input[type=number] {
        width: 32px !important;
        height: 42px !important;
        font-size: 14px !important;
        padding: 0 !important;
    }

    body.woocommerce div.product form.cart .single_add_to_cart_button,
    .woocommerce div.product form.cart .single_add_to_cart_button,
    .eloz-product-top-card .single_add_to_cart_button {
        flex: 1 1 0% !important;
        min-width: 0 !important;
        width: auto !important;
        height: 42px !important;
        min-height: 42px !important;
        padding: 0 6px !important;
        font-size: 12px !important;
        border-radius: 6px !important;
        white-space: nowrap !important;
        margin: 0 !important;
        display: inline-flex !important;
        align-items: center !important;
        justify-content: center !important;
    }

    .eloz-wishlist-btn-single,
    body.woocommerce div.product form.cart .eloz-wishlist-btn-single {
        width: 42px !important;
        height: 42px !important;
        flex: 0 0 42px !important;
        border-radius: 6px !important;
        margin: 0 !important;
        display: inline-flex !important;
        align-items: center !important;
        justify-content: center !important;
        flex-shrink: 0 !important;
    }

    .eloz-wishlist-btn-single .eloz-heart-icon {
        width: 18px !important;
        height: 18px !important;
    }
}

/* ============================================================
   MOBILE SHOP PAGE: CENTERED TITLE, CONTROLS & FILTER DRAWER
   ============================================================ */

/* Desktop defaults: Hide mobile filter toggle & drawer headers */
@media (min-width: 992px) {
    .eloz-filter-drawer-backdrop,
    .eloz-filter-drawer-header,
    .eloz-shop-filter-toggle {
        display: none !important;
    }
    .eloz-filter-drawer-body {
        display: block;
    }
}

/* Mobile & Tablet view (max-width: 991px) */
@media (max-width: 991px) {
    /* 1. Add comfortable top space on mobile & tablet */

    .eloz-shop-wrap .xb-breadcrumb {
        text-align: left !important;
        margin-top: 0 !important;
        margin-bottom: 16px !important;
        display: block !important;
    }

    /* 2. Shop Top Bar: Title hidden on mobile */
    .eloz-shop-top-bar {
        margin-bottom: 30px !important;
        flex-direction: column !important;
        align-items: stretch !important;
        gap: 0 !important;
    }

    .eloz-shop-title,
    h1.eloz-shop-title {
        display: none !important;
    }

    .eloz-shop-controls {
        width: 100% !important;
        display: flex !important;
        justify-content: space-between !important;
        align-items: center !important;
        gap: 12px !important;
    }

    /* 3. Sorting Dropdown on the Left — Compact, only its natural area */
    .eloz-shop-ordering {
        flex: 0 0 auto !important;
        margin: 0 !important;
        width: auto !important;
        max-width: 220px !important;
    }

    .eloz-shop-ordering form.woocommerce-ordering {
        margin: 0 !important;
        width: auto !important;
    }

    .eloz-shop-ordering select.orderby {
        width: auto !important;
        min-width: 160px !important;
        max-width: 220px !important;
        height: 42px !important;
        line-height: 40px !important;
        padding: 0 32px 0 14px !important;
        border-radius: 8px !important;
        border: 1px solid #e2e8f0 !important;
        background: #ffffff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%2364748b' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E") no-repeat right 12px center !important;
        -webkit-appearance: none !important;
        appearance: none !important;
        font-size: 13px !important;
        font-weight: 500 !important;
        color: #1e293b !important;
        cursor: pointer !important;
        outline: none !important;
        box-shadow: 0 1px 2px rgba(0, 0, 0, 0.04) !important;
        transition: border-color 0.2s, box-shadow 0.2s !important;
    }

    .eloz-shop-ordering select.orderby:focus {
        border-color: var(--wc-primary, #e0762b) !important;
        box-shadow: 0 0 0 3px rgba(224, 118, 43, 0.1) !important;
    }

    /* 4. Filter Button on the Right */
    .eloz-shop-filter-toggle {
        display: inline-flex !important;
        align-items: center !important;
        justify-content: center !important;
        gap: 7px !important;
        height: 42px !important;
        padding: 0 16px !important;
        border-radius: 8px !important;
        border: 1px solid #e2e8f0 !important;
        background: #ffffff !important;
        color: #1e293b !important;
        font-family: var(--font-heading) !important;
        font-size: 13.5px !important;
        font-weight: 600 !important;
        cursor: pointer !important;
        white-space: nowrap !important;
        flex-shrink: 0 !important;
        box-shadow: 0 1px 2px rgba(0, 0, 0, 0.04) !important;
        transition: all 0.2s ease !important;
        -webkit-tap-highlight-color: transparent !important;
    }

    .eloz-shop-filter-toggle:hover,
    .eloz-shop-filter-toggle:active {
        border-color: var(--wc-primary, #e0762b) !important;
        color: var(--wc-primary, #e0762b) !important;
        background: rgba(224, 118, 43, 0.05) !important;
        transform: none !important;
    }

    .eloz-shop-filter-toggle svg {
        stroke: currentColor !important;
        transition: stroke 0.2s ease !important;
        flex-shrink: 0 !important;
    }

    /* 5. Mobile Off-Canvas Filter Drawer (Slides from Left) */
    .eloz-shop-sidebar-col {
        position: static !important;
        width: 0 !important;
        height: 0 !important;
        padding: 0 !important;
        margin: 0 !important;
        overflow: visible !important;
    }

    .eloz-shop-filter-drawer {
        position: fixed !important;
        top: 0 !important;
        left: 0 !important;
        width: 320px !important;
        max-width: 85vw !important;
        height: 100% !important;
        height: 100vh !important;
        height: 100dvh !important;
        background: #ffffff !important;
        z-index: 999999 !important;
        transform: translate3d(-100%, 0, 0) !important;
        -webkit-transform: translate3d(-100%, 0, 0) !important;
        transition: transform 0.35s cubic-bezier(0.32, 0.72, 0, 1), visibility 0.35s !important;
        display: flex !important;
        flex-direction: column !important;
        box-shadow: none !important;
        margin: 0 !important;
        padding: 0 !important;
        border-radius: 0 !important;
        overflow: hidden !important;
        visibility: hidden !important;
    }

    .eloz-shop-filter-drawer.is-open {
        transform: translate3d(0, 0, 0) !important;
        -webkit-transform: translate3d(0, 0, 0) !important;
        visibility: visible !important;
        box-shadow: 6px 0 35px rgba(0, 0, 0, 0.25) !important;
    }

    /* Backdrop - matching mobile sidebar: pure dark overlay, NO blur */
    .eloz-filter-drawer-backdrop {
        position: fixed !important;
        inset: 0 !important;
        width: 100vw !important;
        height: 100vh !important;
        height: 100dvh !important;
        background: rgba(0, 0, 0, 0.45) !important;
        backdrop-filter: none !important;
        -webkit-backdrop-filter: none !important;
        z-index: 999998 !important;
        opacity: 0 !important;
        visibility: hidden !important;
        transition: opacity 0.35s ease, visibility 0.35s ease !important;
        pointer-events: none !important;
    }

    .eloz-filter-drawer-backdrop.is-open {
        opacity: 1 !important;
        visibility: visible !important;
        pointer-events: auto !important;
    }

    /* Drawer Header */
    .eloz-filter-drawer-header {
        display: flex !important;
        align-items: center !important;
        justify-content: space-between !important;
        padding: 20px 22px !important;
        background: #ffffff !important;
        border-bottom: 1px solid #f1f5f9 !important;
        flex-shrink: 0 !important;
        border-radius: 0 !important;
    }

    .eloz-filter-drawer-title {
        display: flex !important;
        align-items: center !important;
        gap: 9px !important;
        font-family: var(--font-heading) !important;
        font-size: 16px !important;
        font-weight: 700 !important;
        color: #1e293b !important;
        margin: 0 !important;
    }

    .eloz-filter-drawer-title svg {
        stroke: var(--color-primary, #F06000) !important;
    }

    .eloz-filter-drawer-close {
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
        width: 34px !important;
        height: 34px !important;
        border-radius: 0 !important;
        border: none !important;
        background: transparent !important;
        background-color: transparent !important;
        color: #1e293b !important;
        cursor: pointer !important;
        padding: 0 !important;
        margin: 0 !important;
        line-height: 1 !important;
        transition: transform 0.2s ease, color 0.2s ease, background-color 0.2s ease !important;
        transform: none !important;
    }

    .eloz-filter-drawer-close:hover {
        background: #f8fafc !important;
        background-color: #f8fafc !important;
        color: var(--color-primary, #F06000) !important;
        transform: rotate(90deg) !important;
        border-radius: 0 !important;
    }

    /* Drawer Scrollable Body */
    .eloz-filter-drawer-body {
        flex: 1 1 auto !important;
        overflow-y: auto !important;
        -webkit-overflow-scrolling: touch !important;
        padding: 24px 22px 60px !important;
        background: #ffffff !important;
    }

    /* Mobile Sidebar Style: Clean Flat Sections (No Gray Cards, No Border Radius) */
    .eloz-shop-filter-drawer .widget,
    .eloz-shop-filter-drawer .wp-block-group.widget,
    .eloz-shop-filter-drawer .widget_price_filter,
    .eloz-shop-filter-drawer .widget_product_categories {
        background: transparent !important;
        border: none !important;
        border-bottom: 1px solid #f1f5f9 !important;
        border-radius: 0 !important;
        padding: 0 0 24px 0 !important;
        margin: 0 0 24px 0 !important;
        box-shadow: none !important;
    }

    .eloz-shop-filter-drawer .widget:last-child,
    .eloz-shop-filter-drawer .widget_price_filter:last-child,
    .eloz-shop-filter-drawer .widget_product_categories:last-child {
        border-bottom: none !important;
        margin-bottom: 0 !important;
        padding-bottom: 0 !important;
    }

    .eloz-shop-filter-drawer .widget-title,
    .eloz-shop-filter-drawer h2,
    .eloz-shop-filter-drawer h3,
    .eloz-shop-filter-drawer h4 {
        font-family: var(--font-heading) !important;
        font-size: 14px !important;
        font-weight: 700 !important;
        color: #1e293b !important;
        text-transform: uppercase !important;
        letter-spacing: 0.04em !important;
        margin: 0 0 16px 0 !important;
        padding: 0 0 12px 0 !important;
        border-bottom: 1px solid #f1f5f9 !important;
        display: flex !important;
        justify-content: space-between !important;
        align-items: center !important;
        position: relative !important;
        width: 100% !important;
        border-radius: 0 !important;
    }

    .eloz-shop-filter-drawer .widget-title::before,
    .eloz-shop-filter-drawer h2::before,
    .eloz-shop-filter-drawer h3::before,
    .eloz-shop-filter-drawer h4::before {
        order: 2 !important;
        font-size: 18px !important;
        color: #94a3b8 !important;
    }

    .eloz-shop-filter-drawer .widget-title::after,
    .eloz-shop-filter-drawer h2::after,
    .eloz-shop-filter-drawer h3::after,
    .eloz-shop-filter-drawer h4::after {
        content: '' !important;
        position: absolute !important;
        bottom: -1px !important;
        left: 0 !important;
        width: 45px !important;
        height: 2px !important;
        background: var(--wc-primary, #e0762b) !important;
    }

    /* Categories List - Matching Mobile Sidebar Menu */
    .eloz-shop-filter-drawer .widget_product_categories ul,
    .eloz-shop-filter-drawer .eloz-woo-categories ul {
        list-style: none !important;
        padding: 0 !important;
        margin: 0 !important;
    }

    .eloz-shop-filter-drawer .widget_product_categories li,
    .eloz-shop-filter-drawer .eloz-woo-categories li {
        border-bottom: 1px solid #f8fafc !important;
        margin: 0 !important;
        padding: 0 !important;
        border-radius: 0 !important;
    }

    .eloz-shop-filter-drawer .widget_product_categories li:last-child,
    .eloz-shop-filter-drawer .eloz-woo-categories li:last-child {
        border-bottom: none !important;
    }

    .eloz-shop-filter-drawer .widget_product_categories li a,
    .eloz-shop-filter-drawer .eloz-woo-categories li a {
        display: flex !important;
        align-items: center !important;
        justify-content: space-between !important;
        padding: 4px 0 !important;
        color: #1e293b !important;
        font-size: 14.5px !important;
        font-weight: 500 !important;
        text-decoration: none !important;
        border-radius: 0 !important;
        transition: color 0.2s ease !important;
    }

    .eloz-shop-filter-drawer .widget_product_categories li a:hover,
    .eloz-shop-filter-drawer .eloz-woo-categories li a:hover,
    .eloz-shop-filter-drawer .widget_product_categories li.current-cat > a {
        color: var(--wc-primary, #e0762b) !important;
    }

    .eloz-shop-filter-drawer .widget_product_categories li a .count {
        font-size: 12px !important;
        color: #94a3b8 !important;
        font-weight: 400 !important;
    }


    /* Body lock */
    body.eloz-filter-drawer-open {
        overflow: hidden !important;
        touch-action: none !important;
    }
}

/* ============================================================
   SHOP PAGE: 3 PRODUCTS PER ROW BETWEEN 700PX AND 991PX
   ============================================================ */
@media (min-width: 700px) and (max-width: 991px) {
    .eloz-shop-wrap .products > div[class*="col-"],
    .eloz-shop-wrap .products > li.product,
    .eloz-shop-wrap .eloz-product-grid > div[class*="col-"],
    .eloz-shop-wrap .eloz-product-grid ul.products > div[class*="col-"],
    .woocommerce ul.products.row > div[class*="col-"],
    .woocommerce ul.products.row > li.product,
    .woocommerce .products.row > div[class*="col-"],
    #eloz-shop-content-wrap .products > div[class*="col-"],
    #eloz-shop-content-wrap .products > li.product,
    #eloz-shop-content-wrap .eloz-product-grid > div[class*="col-"],
    #eloz-shop-content-wrap .eloz-product-grid ul.products > div[class*="col-"] {
        flex: 0 0 33.333333% !important;
        max-width: 33.333333% !important;
        width: 33.333333% !important;
    }
}
@media (max-width: 767px) {
    .eloz-shop-top-bar {
      margin-bottom: 27px !important;
  }
    .woocommerce .products ul, .woocommerce ul.products {
	margin-bottom: 0;
	padding: 0 5px;
}
  .eloz-product-in {
	padding-right: 7px;
	padding-left: 7px;
}
.woocommerce .products .col-6, .eloz-products-grid .col-6, .woocommerce ul.products .col-6 {
	margin-bottom: 5px !important;
}
}

/* ============================================================
   SINGLE PRODUCT RESPONSIVE LAYOUT (DESKTOP & TABLET SCREENS)
   ============================================================ */

/* 1. XL Device : 1200px to 1500px (1366px Laptops & HD Desktops) */
@media (min-width: 1200px) and (max-width: 1500px) {
    .eloz-product-top-card {
        padding: 32px 28px;
        gap: 32px;
        margin-bottom: 35px;
    }

    .eloz-product-top-card .woocommerce-product-gallery,
    .eloz-product-top-card .eloz-gallery-wrap {
        gap: 16px;
    }

    .eloz-product-top-card .eloz-gallery-thumbs {
        flex: 0 0 72px;
        width: 72px;
        gap: 10px;
    }

    .eloz-product-top-card .eloz-thumb-item {
        width: 72px;
        height: 72px;
    }

    .eloz-product-top-card .eloz-gallery-main {
        flex: 0 0 470px;
        width: 470px;
        height: 470px;
        max-width: 470px;
    }

    .eloz-product-top-card .eloz-main-img {
        width: 470px;
        height: 470px;
        object-fit: contain;
    }

    .eloz-product-top-card .summary.entry-summary .product_title,
    .eloz-product-top-card .summary.entry-summary .eloz-product-title {
        font-size: 23px;
        line-height: 1.35;
        margin-bottom: 12px;
    }

    .eloz-product-top-card .summary.entry-summary .price {
        font-size: 22px;
        margin-bottom: 14px;
    }

    .eloz-product-top-card .summary.entry-summary .woocommerce-product-details__short-description {
        font-size: 14px;
        line-height: 1.65;
        margin-bottom: 18px;
    }

    .eloz-product-top-card form.cart {
        gap: 12px;
        margin-bottom: 18px;
    }

    .eloz-product-top-card form.cart .quantity,
    .eloz-product-top-card form.cart .quantity .qty-btn,
    .eloz-product-top-card form.cart .quantity input.qty {
        height: 48px;
    }

    .eloz-product-top-card .single_add_to_cart_button {
        height: 48px !important;
        padding: 0 22px !important;
        font-size: 13px;
    }

    .eloz-extra-action-buttons {
        gap: 12px;
        margin-bottom: 20px;
    }

    .eloz-extra-action-buttons .eloz-buy-now-btn,
    .eloz-extra-action-buttons .eloz-whatsapp-btn {
        height: 48px;
        font-size: 13.5px;
        padding: 0 20px;
    }

    .eloz-product-single .eloz-trust-badges {
        gap: 10px;
        margin-top: 18px;
        margin-bottom: 18px;
    }

    .eloz-tabs-card {
        padding: 32px 28px;
        margin-bottom: 35px;
    }
}

/* 2. XL Extra : 1200px to 1300px */
@media (min-width: 1200px) and (max-width: 1300px) {
    .eloz-single-product-wrap .eloz-product-top-card {
        padding: 28px 24px;
        gap: 28px;
    }

    .eloz-product-top-card .woocommerce-product-gallery,
    .eloz-product-top-card .eloz-gallery-wrap {
        gap: 14px;
    }

    .eloz-product-top-card .eloz-gallery-thumbs {
        flex: 0 0 68px;
        width: 68px;
    }

    .eloz-product-top-card .eloz-thumb-item {
        width: 68px;
        height: 68px;
    }

    .eloz-product-top-card .eloz-gallery-main {
        flex: 0 0 440px;
        width: 440px;
        height: 440px;
        max-width: 440px;
    }

    .eloz-product-top-card .eloz-main-img {
        width: 440px;
        height: 440px;
        object-fit: contain;
    }

    .eloz-product-top-card .summary.entry-summary .product_title,
    .eloz-product-top-card .summary.entry-summary .eloz-product-title {
        font-size: 22px;
    }

    .eloz-product-top-card .single_add_to_cart_button {
        padding: 0 16px !important;
    }

    .eloz-extra-action-buttons .eloz-buy-now-btn,
    .eloz-extra-action-buttons .eloz-whatsapp-btn {
        padding: 0 14px;
        font-size: 13px;
    }
}

/* 3. LG Device : 992px to 1199px (1024px Tablets & Small Laptops) */
@media (min-width: 992px) and (max-width: 1199.98px) {
    .eloz-single-product-wrap {
        padding-top: 20px;
        padding-bottom: 40px;
    }

    .eloz-single-product-wrap .eloz-product-top-card {
        padding: 24px 20px;
        gap: 22px;
        margin-bottom: 25px;
        border-radius: 8px;
    }

    .eloz-product-top-card .woocommerce-product-gallery,
    .eloz-product-top-card .eloz-gallery-wrap {
        flex: 0 0 auto;
        gap: 12px;
    }

    .eloz-product-top-card .eloz-gallery-thumbs {
        flex: 0 0 62px;
        width: 62px;
        gap: 8px;
    }

    .eloz-product-top-card .eloz-thumb-item {
        width: 62px;
        height: 62px;
        border-radius: 6px;
    }

    .eloz-product-top-card .eloz-gallery-main {
        flex: 0 0 370px;
        width: 370px;
        height: 370px;
        max-width: 370px;
        border-radius: 8px;
    }

    .eloz-product-top-card .eloz-main-img {
        width: 370px;
        height: 370px;
        object-fit: contain;
    }

    .eloz-product-top-card .summary.entry-summary {
        flex: 1 1 auto;
        min-width: 0;
    }

    .eloz-product-top-card .summary.entry-summary .product_title,
    .eloz-product-top-card .summary.entry-summary .eloz-product-title {
        font-size: 26px;
        line-height: 1.35;
        margin-bottom: 19px;
    }

    .eloz-product-top-card .summary.entry-summary .price {
        font-size: 20px;
        margin-bottom: 12px;
    }

    .eloz-product-top-card .summary.entry-summary .woocommerce-product-details__short-description {
        font-size: 13.5px;
        line-height: 1.6;
        margin-bottom: 16px;
    }

    .eloz-product-top-card form.cart {
        display: flex;
        flex-wrap: nowrap;
        align-items: center;
        gap: 8px;
        margin-bottom: 14px;
        width: 100%;
    }

    .eloz-product-top-card form.cart .quantity {
        flex: 0 0 96px;
        width: 96px;
        height: 44px;
    }

    .eloz-product-top-card form.cart .quantity .qty-btn {
        width: 28px;
        height: 44px;
    }

    .eloz-product-top-card form.cart .quantity input.qty {
        width: 40px;
        height: 44px;
        font-size: 13.5px;
    }

    .eloz-product-top-card .single_add_to_cart_button {
        flex: 1 1 auto;
        height: 44px !important;
        padding: 0 14px !important;
        font-size: 12.5px;
        gap: 6px;
        white-space: nowrap;
    }

    .eloz-wishlist-btn-single {
        flex: 0 0 44px !important;
        width: 44px !important;
        height: 44px !important;
    }

    .eloz-extra-action-buttons {
        display: flex;
        gap: 10px;
        margin-bottom: 16px;
        width: 100%;
    }

    .eloz-extra-action-buttons .eloz-buy-now-btn,
    .eloz-extra-action-buttons .eloz-whatsapp-btn {
        flex: 1 1 50%;
        height: 44px;
        font-size: 12.5px;
        padding: 0 10px;
        gap: 6px;
        letter-spacing: 0;
    }

    .eloz-extra-action-buttons .eloz-whatsapp-btn svg {
        width: 16px;
        height: 16px;
    }

    .eloz-product-single .eloz-trust-badges {
        gap: 8px;
        margin-top: 14px;
        margin-bottom: 14px;
    }

    .eloz-trust-badge {
        font-size: 12.5px;
        gap: 8px;
        line-height: 1.4;
    }

    .eloz-trust-badge svg {
        width: 15px;
        height: 15px;
    }

    .eloz-tabs-card {
        padding: 24px 20px;
        margin-bottom: 30px;
        border-radius: 8px;
    }

    .eloz-related-section .related.products,
    .eloz-product-single .related.products {
        margin-top: 25px;
    }
}

