/*
Theme Name: Style In Bling
Theme URI: https://stylebling.in
Author: iTrobes Technologies Pvt. Ltd.
Author URI: https://itrobes.com
Description: Custom WooCommerce theme for Style In Bling — a home and kitchen products store.
Version: 3.1
Requires at least: 6.0
Tested up to: 6.7
Requires PHP: 7.4
License: Proprietary
License URI: https://itrobes.com
Text Domain: stylebling
Tags: woocommerce, e-commerce, custom-theme
*/

#wps-exchange-alert, #wps_rma_return_alert, #wps_rma_cancel_alert {
    z-index: 9999;
}

.button.download-invoice {
    display: none;
}

/* Show GST/tax breakdown in checkout order summary */
.wc-block-components-totals-footer-item .wc-block-components-totals-footer-item-tax {
    display: inline;
    font-size: 13px;
    color: #555;
}
/* =============================================================================
   SIB Custom Styles (merged from child theme v1.0.0 → parent v3.0)
   ============================================================================= */

/* Main menu hover - links don't have .item-link class */
.box-nav-ul > .menu-item > a:hover {
    color: #de3f3a !important;
}

/* Fix Categories dropdown - sub-menu items inheriting large padding from .menu-item */
.box-nav-ul .sub-menu .menu-item {
    padding: 5px 0;
}

.box-nav-ul .sub-menu .menu-item a {
    display: block;
    padding: 5px 0;
    font-size: 15px;
    line-height: 1.4;
    color: #222 !important;
}

/* Sub-menu hover - red */
.box-nav-ul .sub-menu .menu-item a:hover,
.box-nav-ul .sub-menu .menu-item:hover > a {
    color: #de3f3a !important;
    font-weight: 600;
}

/* ===== Reviews & Ratings Page (Google Reviews Style) ===== */
.sib-reviews-header {
    display: flex;
    align-items: baseline;
    gap: 12px;
    margin-bottom: 8px;
}

.sib-reviews-header h3 {
    margin: 0;
    font-size: 20px;
    font-weight: 700;
    color: #181818;
}

.sib-review-count {
    font-size: 14px;
    color: #70757a;
    font-weight: 400;
}

.sib-reviews-list {
    display: flex;
    flex-direction: column;
}

/* Single review card - Google style row */
.sib-review-card {
    display: flex;
    gap: 16px;
    padding: 20px 0;
    border-bottom: 1px solid #e9e9e9;
    text-decoration: none !important;
    color: inherit !important;
    transition: background-color 0.15s ease;
    border-radius: 8px;
    margin: 0 -8px;
    padding-left: 8px;
    padding-right: 8px;
}

.sib-review-card:first-child {
    border-top: 1px solid #e9e9e9;
}

.sib-review-card:hover {
    background-color: #f8f9fa;
}

/* Product image thumbnail */
.sib-review-card-image {
    flex-shrink: 0;
    width: 72px;
    height: 72px;
    border-radius: 8px;
    overflow: hidden;
    background: #f7f7f7;
}

.sib-review-card-image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.sib-review-no-image {
    width: 100%;
    height: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    background: #f7f7f7;
}

/* Card content */
.sib-review-card-content {
    flex: 1;
    min-width: 0;
}

.sib-review-card-top {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    margin-bottom: 4px;
}

.sib-review-product-name {
    font-size: 15px;
    font-weight: 600;
    color: #181818;
    margin: 0;
    line-height: 1.3;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.sib-review-date {
    font-size: 12px;
    color: #70757a;
    white-space: nowrap;
    flex-shrink: 0;
}

/* Google-style stars */
.sib-review-stars {
    display: flex;
    align-items: center;
    gap: 1px;
    margin-bottom: 6px;
}

.sib-star {
    font-size: 16px;
    color: #dadce0;
    line-height: 1;
}

.sib-star.active {
    color: #fbbc04;
}

.sib-rating-text {
    font-size: 12px;
    color: #70757a;
    margin-left: 6px;
    font-weight: 500;
}

/* Review text */
.sib-review-text {
    font-size: 14px;
    color: #3c4043;
    line-height: 1.5;
    margin: 0;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

/* Override old styles */
.review-boxes-acc,
.user-reviews.review-boxes-acc {
    display: none !important;
}

/* Mobile responsive */
@media (max-width: 767px) {
    .sib-review-card-image {
        width: 56px;
        height: 56px;
    }

    .sib-review-card-top {
        flex-direction: column;
        align-items: flex-start;
        gap: 2px;
    }

    .sib-review-product-name {
        font-size: 14px;
    }

    .sib-review-text {
        font-size: 13px;
    }
}

/* ===== Reviews Controls (Search, Filter, Sort, Pagination) ===== */
.sib-reviews-controls {
    margin-bottom: 20px;
}

.sib-reviews-filter-row {
    display: flex;
    align-items: center;
    gap: 10px;
    margin-bottom: 12px;
    flex-wrap: wrap;
}

.sib-reviews-filter-label {
    font-size: 13px;
    font-weight: 600;
    color: #70757a;
    min-width: 48px;
}

.sib-reviews-filters {
    display: flex;
    gap: 6px;
    flex-wrap: wrap;
}

.sib-reviews-filter {
    padding: 6px 14px;
    border: 1px solid #e9e9e9;
    border-radius: 99px;
    background: #fff;
    color: #3c4043;
    font-size: 13px;
    font-weight: 500;
    cursor: pointer;
    transition: all 0.2s ease;
    white-space: nowrap;
}

.sib-reviews-filter:hover {
    border-color: #ccc;
    background: #f8f9fa;
}

.sib-reviews-filter.active {
    background: var(--main, #181818);
    color: #000;
    border-color: var(--main, #181818);
    font-weight: 600;
}

.sib-reviews-toolbar {
    display: flex;
    gap: 12px;
    margin-top: 4px;
}

.sib-reviews-search-wrap {
    position: relative;
    flex: 1;
    max-width: 320px;
}

.sib-reviews-search-icon {
    position: absolute;
    left: 12px;
    top: 50%;
    transform: translateY(-50%);
    color: #9aa0a6;
    pointer-events: none;
}

.sib-reviews-search-wrap input[type="text"] {
    width: 100%;
    padding: 8px 12px 8px 36px;
    border: 1px solid #e9e9e9;
    border-radius: 8px;
    font-size: 13px;
    color: #3c4043;
    background: #fff;
    outline: none;
    transition: border-color 0.2s;
}

.sib-reviews-search-wrap input[type="text"]:focus {
    border-color: #bbb;
}

.sib-reviews-sort {
    padding: 8px 12px;
    border: 1px solid #e9e9e9;
    border-radius: 8px;
    font-size: 13px;
    color: #3c4043;
    background: #fff;
    cursor: pointer;
    outline: none;
    min-width: 150px;
}

/* Review card meta (date + badge) */
.sib-review-meta {
    display: flex;
    align-items: center;
    gap: 8px;
    flex-shrink: 0;
}

/* Status badges */
.sib-review-badge {
    display: inline-flex;
    align-items: center;
    padding: 2px 10px;
    border-radius: 99px;
    font-size: 11px;
    font-weight: 600;
    letter-spacing: 0.3px;
}

.sib-review-badge.pending {
    background: #fef3cd;
    color: #856404;
}

.sib-review-badge.rejected {
    background: #f8d7da;
    color: #842029;
}

/* Pagination */
.sib-reviews-pagination {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 4px;
    margin-top: 24px;
    padding-top: 16px;
}

.sib-reviews-page-btn {
    min-width: 36px;
    height: 36px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border: 1px solid #e9e9e9;
    border-radius: 8px;
    background: #fff;
    color: #3c4043;
    font-size: 14px;
    cursor: pointer;
    transition: all 0.2s;
}

.sib-reviews-page-btn:hover:not(:disabled) {
    background: #f8f9fa;
    border-color: #ccc;
}

.sib-reviews-page-btn.active {
    background: var(--main, #181818);
    color: #000;
    border-color: var(--main, #181818);
    font-weight: 600;
}

.sib-reviews-page-btn:disabled {
    opacity: 0.4;
    cursor: not-allowed;
}

.sib-reviews-page-dots {
    padding: 0 4px;
    color: #70757a;
    font-size: 14px;
}

/* Empty filter state */
.sib-reviews-empty-filter {
    text-align: center;
    padding: 48px 20px;
    color: #70757a;
}

.sib-reviews-empty-filter p {
    font-size: 15px;
    margin: 0 0 16px;
}

.sib-reviews-clear-filters {
    padding: 8px 20px;
    border: 1px solid #e9e9e9;
    border-radius: 8px;
    background: #fff;
    color: #3c4043;
    font-size: 13px;
    font-weight: 500;
    cursor: pointer;
    transition: all 0.2s;
}

.sib-reviews-clear-filters:hover {
    background: #f8f9fa;
    border-color: #ccc;
}

/* Loading transition */
#sib-reviews-container {
    transition: opacity 0.2s ease;
}

/* Mobile responsive for controls */
@media (max-width: 767px) {
    .sib-reviews-toolbar {
        flex-direction: column;
    }

    .sib-reviews-search-wrap {
        max-width: 100%;
    }

    .sib-reviews-filter-row {
        flex-direction: column;
        align-items: flex-start;
        gap: 6px;
    }

    .sib-reviews-filter {
        padding: 5px 12px;
        font-size: 12px;
    }
}

/* ===== Empty Cart Drawer State ===== */
.empty-cart-state {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: 60px 30px;
    text-align: center;
    flex-grow: 1;
}

.empty-cart-icon {
    width: 120px;
    height: 120px;
    margin-bottom: 24px;
    animation: emptyCartFloat 3s ease-in-out infinite;
}

.empty-cart-icon svg {
    width: 100%;
    height: 100%;
    color: var(--main, #181818);
}

.empty-cart-icon .bag-handle {
    animation: handlePulse 3s ease-in-out infinite;
    stroke: var(--main, #181818);
}

.empty-cart-icon .bag-circle {
    animation: circleSpin 8s linear infinite;
    transform-origin: 50px 58px;
}

.empty-cart-title {
    font-size: 18px;
    font-weight: 700;
    color: #181818;
    margin: 0 0 8px;
    letter-spacing: -0.3px;
}

.empty-cart-subtitle {
    font-size: 14px;
    color: #6b6b6b;
    margin: 0 0 28px;
    line-height: 1.5;
}

.empty-cart-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background-color: var(--main, #181818);
    color: #000 !important;
    padding: 12px 32px;
    border-radius: 99px;
    font-size: 14px;
    font-weight: 600;
    text-decoration: none;
    transition: all 0.3s ease;
    border: 1px solid var(--main, #181818);
}

.empty-cart-btn:hover {
    background-color: #c5d24e;
    border-color: #c5d24e;
    color: #000 !important;
    transform: translateY(-1px);
}

@keyframes emptyCartFloat {
    0%, 100% { transform: translateY(0px); }
    50% { transform: translateY(-10px); }
}

@keyframes handlePulse {
    0%, 100% { opacity: 1; }
    50% { opacity: 0.5; }
}

@keyframes circleSpin {
    0% { transform: rotate(0deg); transform-origin: 50px 58px; }
    100% { transform: rotate(360deg); transform-origin: 50px 58px; }
}

/* Shop page - 3 column product grid (match category pages) */
.post-type-archive-product.woocommerce ul.products li.product {
    width: 30.8%;
}

.post-type-archive-product.woocommerce ul.products li.product:nth-child(3n) {
    margin-right: 0;
}

/* Product Grid — Tighter Row Spacing */
.woocommerce ul.products li.product,
.woocommerce-page ul.products li.product {
    margin-bottom: 0.25rem !important;
}

ul.products.columns-3 {
    margin-top: 20px !important;
}

/* Reduce top white space on shop/category pages */
#primary.custom-category {
    padding-top: 120px;
}

/* Category circles - consistent size and reduced spacing */
#primary.custom-category .collection-circle .img-style {
    width: 140px;
    height: 140px;
    margin: 0 auto;
}

#primary.custom-category #childCategorySlider {
    margin-bottom: 15px;
}

/* =============================================
   New Arrivals .product-card — position heart over image
   (Matches .card-product .list-product-btn positioning)
   ============================================= */
.product-card .product-image {
    position: relative;
}

.product-card .list-product-btn {
    position: absolute;
    top: 5px;
    right: 5px;
    z-index: 6;
}

/* =============================================
   Wishlist Heart Icon — Custom SIB Wishlist
   SVG heart with white circle bg, pop animation
   ============================================= */

/* Button wrapper - soft white circle for visibility on any bg */
.card-product .list-product-btn .sib-wishlist-wrap,
.product-card .list-product-btn .sib-wishlist-wrap {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 32px;
    height: 32px;
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.75);
    box-shadow: 0 1px 4px rgba(0, 0, 0, 0.1);
    transition: transform 0.2s ease, background 0.2s ease;
}

.card-product .list-product-btn .sib-wishlist-wrap:hover,
.product-card .list-product-btn .sib-wishlist-wrap:hover {
    background: rgba(255, 255, 255, 0.95);
    transform: scale(1.15);
}

/* Button element — fills entire wrap so the whole circle is clickable */
.sib-wishlist-btn {
    display: flex;
    align-items: center;
    justify-content: center;
    border: none;
    outline: none;
    padding: 0;
    background: transparent;
    cursor: pointer;
    position: relative;
    width: 100%;
    height: 100%;
}

/* Heart SVG (outline — default state) */
.sib-wishlist-btn::before {
    content: '';
    display: block;
    width: 22px;
    height: 22px;
    background-color: #e05a5a;
    -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20.84 4.61a5.5 5.5 0 0 0-7.78 0L12 5.67l-1.06-1.06a5.5 5.5 0 0 0-7.78 7.78l1.06 1.06L12 21.23l7.78-7.78 1.06-1.06a5.5 5.5 0 0 0 0-7.78z'/%3E%3C/svg%3E");
    -webkit-mask-size: contain;
    -webkit-mask-repeat: no-repeat;
    -webkit-mask-position: center;
    mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20.84 4.61a5.5 5.5 0 0 0-7.78 0L12 5.67l-1.06-1.06a5.5 5.5 0 0 0-7.78 7.78l1.06 1.06L12 21.23l7.78-7.78 1.06-1.06a5.5 5.5 0 0 0 0-7.78z'/%3E%3C/svg%3E");
    mask-size: contain;
    mask-repeat: no-repeat;
    mask-position: center;
    transition: background-color 0.2s ease;
}

/* Hover - darken the heart */
.sib-wishlist-wrap:hover .sib-wishlist-btn::before {
    background-color: #d03030;
}

/* Filled heart (wishlisted state) */
.sib-wishlist-btn[data-in-wishlist="1"]::before {
    -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='currentColor' stroke='currentColor' stroke-width='1'%3E%3Cpath d='M20.84 4.61a5.5 5.5 0 0 0-7.78 0L12 5.67l-1.06-1.06a5.5 5.5 0 0 0-7.78 7.78l1.06 1.06L12 21.23l7.78-7.78 1.06-1.06a5.5 5.5 0 0 0 0-7.78z'/%3E%3C/svg%3E");
    mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='currentColor' stroke='currentColor' stroke-width='1'%3E%3Cpath d='M20.84 4.61a5.5 5.5 0 0 0-7.78 0L12 5.67l-1.06-1.06a5.5 5.5 0 0 0-7.78 7.78l1.06 1.06L12 21.23l7.78-7.78 1.06-1.06a5.5 5.5 0 0 0 0-7.78z'/%3E%3C/svg%3E");
    background-color: #e05a5a;
}

/* Disabled state during AJAX */
.sib-wishlist-btn:disabled {
    opacity: 0.6;
    cursor: default;
    pointer-events: none;
}

/* Heart pop animation */
@keyframes sib-heart-pop {
    0% { transform: scale(1); }
    50% { transform: scale(1.3); }
    100% { transform: scale(1); }
}
.sib-wishlist-btn.sib-animating::before {
    animation: sib-heart-pop 0.3s ease;
}

/* Mobile adjustments */
@media (max-width: 767px) {
    .sib-wishlist-btn::before {
        width: 20px;
        height: 20px;
    }
}

/* =============================================
   Global Toast Notification (site-wide)
   Uses theme palette: --main, --primary, --critical
   ============================================= */
.sib-toast {
    position: fixed;
    bottom: 28px;
    right: 28px;
    max-width: 380px;
    padding: 14px 24px 14px 44px;
    border-radius: 12px;
    font-size: 14px;
    font-weight: 600;
    line-height: 1.4;
    z-index: 99999;
    opacity: 0;
    transform: translateY(12px);
    animation: sib-toast-in 0.35s ease forwards, sib-toast-out 0.3s ease 2.7s forwards;
    box-shadow: 0 8px 24px rgba(43, 52, 74, 0.14);
    pointer-events: none;
}
/* Checkmark / icon via ::before */
.sib-toast::before {
    position: absolute;
    left: 16px;
    top: 50%;
    transform: translateY(-50%);
    font-size: 16px;
    line-height: 1;
}
.sib-toast--success {
    background: var(--main, #d3e061);
    color: var(--primary, #000);
}
.sib-toast--success::before {
    content: "";
    display: block;
    width: 16px;
    height: 16px;
    background-color: currentColor;
    -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='20 6 9 17 4 12'/%3E%3C/svg%3E") no-repeat center/contain;
    mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='20 6 9 17 4 12'/%3E%3C/svg%3E") no-repeat center/contain;
}
.sib-toast--error {
    background: var(--critical, #f03e3e);
    color: #fff;
}
.sib-toast--error::before {
    content: "\2717";
}
.sib-toast--info {
    background: var(--primary, #000);
    color: var(--white, #fff);
}
.sib-toast--info::before {
    content: "\2139";
}

@keyframes sib-toast-in {
    to { opacity: 1; transform: translateY(0); }
}
@keyframes sib-toast-out {
    to { opacity: 0; transform: translateY(12px); }
}

/* =============================================
   Wishlist Page Grid (My Account > Wishlist)
   ============================================= */
.sib-wishlist-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 20px;
    margin-top: 20px;
}

.sib-wishlist-item {
    border: 1px solid #eee;
    border-radius: 8px;
    overflow: hidden;
    background: #fff;
    transition: box-shadow 0.2s ease;
}

.sib-wishlist-item:hover {
    box-shadow: 0 2px 8px rgba(0,0,0,0.08);
}

.sib-wl-item-img {
    position: relative;
    aspect-ratio: 1;
    overflow: hidden;
}

.sib-wl-item-img img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.sib-wl-remove {
    position: absolute;
    top: 10px;
    right: 10px;
    width: 32px;
    height: 32px;
    border-radius: 50%;
    background: #fff;
    border: none;
    cursor: pointer;
    color: #555;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 0;
    box-shadow: 0 2px 8px rgba(0,0,0,0.12);
    transition: background 0.2s, color 0.2s, transform 0.2s;
    z-index: 2;
}
.sib-wl-remove svg {
    width: 14px;
    height: 14px;
    display: block;
}
.sib-wl-remove:hover {
    background: var(--critical, #f03e3e);
    color: #fff;
    transform: scale(1.1);
}

.sib-wl-item-info {
    padding: 12px;
}

.sib-wl-item-name {
    font-size: 14px;
    font-weight: 500;
    color: #333;
    text-decoration: none;
    display: block;
    margin-bottom: 6px;
    line-height: 1.3;
}

.sib-wl-item-name:hover {
    color: #de3f3a;
}

.sib-wl-item-info .price {
    font-size: 14px;
    font-weight: 500;
    margin-bottom: 6px;
    display: block;
}

.sib-wl-stock {
    font-size: 12px;
    display: block;
    margin-bottom: 8px;
}

.sib-wl-stock.in-stock {
    color: #28a745;
}

.sib-wl-stock.out-of-stock {
    color: #dc3545;
}

.sib-wl-add-to-cart {
    display: block;
    width: calc(100% - 24px);
    margin: 0 12px 12px;
    text-align: center;
    padding: 8px;
    font-size: 13px;
    border: 1px solid #333;
    background: transparent;
    color: #333;
    border-radius: 4px;
    text-decoration: none;
    transition: background 0.2s, color 0.2s;
}

.sib-wl-add-to-cart:hover {
    background: #333;
    color: #fff;
}

.sib-wishlist-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 5px;
}

.sib-wishlist-header h3 {
    margin: 0;
    font-size: 20px;
}

.sib-wl-add-all-cart {
    background: #d3e061;
    color: #333;
    border: none;
    padding: 10px 20px;
    border-radius: 4px;
    cursor: pointer;
    font-weight: 600;
    font-size: 14px;
    transition: background 0.2s;
}

.sib-wl-add-all-cart:hover {
    background: #c5d24e;
}

/* Wishlist page responsive */
@media (max-width: 991px) {
    .sib-wishlist-grid {
        grid-template-columns: repeat(2, 1fr);
    }
}

@media (max-width: 575px) {
    .sib-wishlist-grid {
        grid-template-columns: 1fr;
    }
    .sib-wishlist-header {
        flex-direction: column;
        gap: 10px;
        align-items: flex-start;
    }
}

/* Ratings filter - yellow/gold filled stars (unicode, no font dependency) */
.filter-review .star-rating {
    font-size: 0 !important;
    width: 98px !important;
    height: 20px !important;
}

.filter-review .star-rating::before {
    content: "\2606\2606\2606\2606\2606" !important;
    font-family: Arial, sans-serif !important;
    font-size: 16px !important;
    color: #f0c14b !important;
    letter-spacing: 2px;
}

.filter-review .star-rating span::before {
    content: "\2605\2605\2605\2605\2605" !important;
    font-family: Arial, sans-serif !important;
    font-size: 16px !important;
    color: #f0c14b !important;
    display: inline !important;
    letter-spacing: 2px;
}

/* =============================================
   Category Slider - CSS Marquee
   Seamless infinite scroll, no gaps
   ============================================= */

/* Marquee container */
.sib-marquee {
    overflow: hidden;
    width: 100%;
    padding: 10px 0;
}

/* Track holds two copies side by side */
.sib-marquee-track {
    display: flex;
    width: max-content;
}

/* Each group is one full set of categories */
.sib-marquee-group {
    display: flex;
    gap: 30px;
    padding-right: 30px;  /* matches gap so loop is seamless */
    animation: sib-marquee-scroll 30s linear infinite;
}

/* Pause on hover */
.sib-marquee:hover .sib-marquee-group {
    animation-play-state: paused;
}

/* Individual item */
.sib-marquee-item {
    flex-shrink: 0;
    width: 150px;
    text-align: center;
}

.sib-marquee-item .img-style {
    width: 140px;
    height: 140px;
    margin: 0 auto;
}

/* Keyframes - scroll exactly one group width */
@keyframes sib-marquee-scroll {
    0% {
        transform: translateX(0);
    }
    100% {
        transform: translateX(-100%);
    }
}

/* ---- Few categories: centered grid ---- */
.sib-categories-centered {
    display: flex;
    justify-content: center;
    gap: 30px;
    flex-wrap: wrap;
    padding: 10px 0;
}

.sib-category-item {
    flex-shrink: 0;
    width: 150px;
    text-align: center;
}

.sib-category-item .img-style {
    width: 140px;
    height: 140px;
    margin: 0 auto;
}

/* Mobile adjustments */
@media (max-width: 767px) {
    .sib-marquee-group {
        gap: 20px;
        padding-right: 20px;
        animation-duration: 20s;
    }

    .sib-marquee-item,
    .sib-category-item {
        width: 110px;
    }

    .sib-marquee-item .img-style,
    .sib-category-item .img-style {
        width: 100px;
        height: 100px;
    }

    .sib-categories-centered {
        gap: 15px;
    }
}

/* Homepage category slider - keep Swiper but with linear timing */
.tf-sw-categories .swiper-wrapper {
    transition-timing-function: linear !important;
}

.sib-centered-slider .swiper-wrapper {
    justify-content: center;
    transition-timing-function: ease !important;
}

.sib-centered-slider .swiper-slide {
    flex-shrink: 0;
}

/* =============================================
   Account Dropdown - Header
   ============================================= */

/* Override parent theme dropdown padding/sizing */
.nav-account .dropdown-account {
    min-width: 260px !important;
    padding: 0 !important;
    border-radius: 8px;
    overflow: hidden;
}

/* --- Logged-in: User header --- */
.sib-dd-user-header {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 16px 18px;
    background: #f9f9f9;
    border-bottom: 1px solid #eee;
}

.sib-dd-avatar {
    width: 40px;
    height: 40px;
    border-radius: 50%;
    background: #d3e061;
    color: #333;
    font-weight: 700;
    font-size: 16px;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
}

.sib-dd-user-info {
    display: flex;
    flex-direction: column;
    overflow: hidden;
}

.sib-dd-user-name {
    font-weight: 600;
    font-size: 14px;
    color: #222;
    line-height: 1.3;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.sib-dd-user-email {
    font-size: 12px;
    color: #888;
    line-height: 1.3;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

/* --- Menu items --- */
.sib-dd-menu {
    padding: 8px 0;
}

.sib-dd-menu-item {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 10px 18px;
    color: #333;
    font-size: 14px;
    text-decoration: none;
    transition: background 0.15s ease;
}

.sib-dd-menu-item:hover {
    background: #f5f5f5;
    color: #222;
}

/* Dropdown menu icons — PNG images matching sidebar navigation */
.sib-dd-menu-item::before {
    content: "";
    display: inline-block;
    flex-shrink: 0;
    width: 20px;
    height: 20px;
    background-repeat: no-repeat;
    background-position: center center;
    background-size: contain;
}
.sib-dd-orders::before   { background-image: url("images/bill.png"); }
.sib-dd-addresses::before { background-image: url("images/world.png"); }
.sib-dd-wishlist::before  { background-image: url("images/heart.png"); }
.sib-dd-wallet::before    { background-image: url("images/wallet.png"); }
.sib-dd-reviews::before   { background-image: url("images/Review.png"); }
.sib-dd-account::before   { background-image: url("images/user.png"); }

/* --- Footer / Logout --- */
.sib-dd-footer {
    border-top: 1px solid #eee;
    padding: 8px 0;
}

.sib-dd-logout {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 10px 18px;
    color: #dc3545;
    font-size: 13px;
    text-decoration: none;
    transition: background 0.15s ease;
}
.sib-dd-logout-icon::before {
    content: "";
    display: inline-block;
    flex-shrink: 0;
    width: 18px;
    height: 18px;
    background: url("images/logout.png") no-repeat center center;
    background-size: contain;
}

.sib-dd-logout:hover {
    background: #fff5f5;
    color: #c82333;
}

/* =============================================
   Price Suffix (Inc. Tax) - Global consistent style
   Subtle gray label, always positioned after prices
   ============================================= */
.woocommerce-price-suffix {
    color: #888 !important;
    font-size: 12px !important;
    font-weight: 400 !important;
    margin-left: 4px;
}

/* On single product page, slightly larger */
.summary .woocommerce-price-suffix {
    font-size: 13px !important;
}

/* In card-product contexts, the parent .price uses
   flex-direction: row-reverse which pushes suffix to
   the visual start — order: -1 moves it back to the end */
.card-product-info .price .woocommerce-price-suffix {
    order: -1;
}

/* Orders pagination */
.woocommerce-Pagination {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 16px;
    margin-top: 24px;
    padding-top: 20px;
    border-top: 1px solid var(--line);
}
.woocommerce-Pagination .button {
    background: var(--main);
    color: #000;
    border: none;
    padding: 8px 20px;
    border-radius: 4px;
    font-weight: 600;
    font-size: 14px;
    text-decoration: none;
    transition: background 0.3s ease;
}
.woocommerce-Pagination .button:hover {
    background: #c5d24e;
}
.woocommerce-pagination-info {
    font-size: 14px;
    color: var(--secondary);
}

/* =============================================
   Avatar with initials fallback
   ============================================= */
.sib-avatar {
    position: relative;
    width: 40px;
    height: 40px;
    border-radius: 50%;
    overflow: hidden;
    flex-shrink: 0;
}
.sib-avatar-initials {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    height: 100%;
    background: #444;
    color: #fff;
    font-weight: 600;
    font-size: 16px;
    font-family: 'Halyard Display', sans-serif;
    letter-spacing: 1px;
    line-height: 1;
}
.sib-avatar img {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
}

/* =============================================
   My Account sidebar alignment fixes
   ============================================= */
.custom-account-navigation-user-details {
    align-items: center;
}
.woocommerce-MyAccount-navigation li a::before {
    flex-shrink: 0;
    min-width: 20px;
}

/* Edit Account form improvements */
.woocommerce-EditAccountForm input,
.woocommerce-EditAccountForm select {
    border-radius: 8px !important;
    border: 2px solid var(--line) !important;
    padding: 9px 16px !important;
    background: var(--white) !important;
    transition: border-color 0.3s ease;
}
.woocommerce-EditAccountForm input:focus,
.woocommerce-EditAccountForm select:focus {
    border-color: var(--main) !important;
    outline: none;
}

/* =============================================
   Custom Wallet Page (My Account > My Wallet)
   ============================================= */
.sib-wallet {
    max-width: 700px;
}

/* Balance Card */
.sib-wallet-balance-card {
    background: #222;
    color: #fff;
    border-radius: 12px;
    padding: 28px 32px;
    margin-bottom: 32px;
}
.sib-wallet-balance-label {
    font-size: 13px;
    text-transform: uppercase;
    letter-spacing: 1px;
    opacity: 0.7;
    margin-bottom: 6px;
}
.sib-wallet-balance-amount {
    font-size: 32px;
    font-weight: 700;
}
.sib-wallet-balance-amount .woocommerce-Price-amount {
    color: var(--main, #d3e061);
}

/* Section Titles */
.sib-wallet-section-title {
    font-size: 16px;
    font-weight: 600;
    margin: 0 0 16px;
    color: #222;
}

/* Quick Amount Buttons */
.sib-wallet-quick-amounts {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    margin-bottom: 16px;
}
.sib-wallet-quick-btn {
    padding: 10px 20px;
    border: 2px solid var(--line, #e8e8e8);
    border-radius: 8px;
    background: #fff;
    cursor: pointer;
    font-size: 14px;
    font-weight: 600;
    color: #333;
    transition: border-color 0.2s, background 0.2s, color 0.2s;
}
.sib-wallet-quick-btn:hover {
    border-color: #222;
}
.sib-wallet-quick-btn.active {
    border-color: var(--main, #d3e061);
    background: var(--main, #d3e061);
    color: #000;
}

/* Recharge Form */
.sib-wallet-recharge-form {
    margin-bottom: 32px;
}
.sib-wallet-amount-row {
    display: flex;
    gap: 12px;
    align-items: stretch;
}
.sib-wallet-amount-input-wrap {
    flex: 1;
    display: flex;
    align-items: center;
    border: 2px solid var(--line, #e8e8e8);
    border-radius: 8px;
    overflow: hidden;
    background: #fff;
    transition: border-color 0.2s;
}
.sib-wallet-amount-input-wrap:focus-within {
    border-color: var(--main, #d3e061);
}
.sib-wallet-currency {
    padding: 0 12px;
    font-size: 16px;
    font-weight: 600;
    color: #555;
    background: #f9f9f9;
    display: flex;
    align-items: center;
    height: 100%;
}
.sib-wallet-amount-input-wrap input {
    border: none !important;
    outline: none !important;
    padding: 12px !important;
    font-size: 16px;
    width: 100%;
    background: transparent;
    -moz-appearance: textfield;
    box-shadow: none !important;
}
.sib-wallet-amount-input-wrap input::-webkit-outer-spin-button,
.sib-wallet-amount-input-wrap input::-webkit-inner-spin-button {
    -webkit-appearance: none;
    margin: 0;
}
.sib-wallet-proceed-btn {
    padding: 12px 28px;
    background: var(--main, #d3e061);
    color: #000;
    border: none;
    border-radius: 8px;
    font-size: 14px;
    font-weight: 700;
    cursor: pointer;
    white-space: nowrap;
    transition: background 0.2s;
}
.sib-wallet-proceed-btn:hover {
    background: #c5d24e;
}

/* Transactions */
.sib-wallet-txn-list {
    border: 1px solid var(--line, #e8e8e8);
    border-radius: 10px;
    overflow: hidden;
}
.sib-wallet-txn-item {
    display: flex;
    align-items: center;
    gap: 14px;
    padding: 14px 18px;
    border-bottom: 1px solid var(--line, #e8e8e8);
}
.sib-wallet-txn-item:last-child {
    border-bottom: none;
}
.sib-wallet-txn-icon {
    width: 36px;
    height: 36px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 18px;
    font-weight: 700;
    flex-shrink: 0;
}
.sib-wallet-txn-icon.credit {
    background: #e8f5e9;
    color: #2e7d32;
}
.sib-wallet-txn-icon.debit {
    background: #fce4ec;
    color: #c62828;
}
.sib-wallet-txn-details {
    flex: 1;
    min-width: 0;
}
.sib-wallet-txn-desc {
    display: block;
    font-size: 13px;
    color: #333;
    line-height: 1.4;
    overflow: hidden;
    text-overflow: ellipsis;
}
.sib-wallet-txn-desc a {
    color: #333;
    text-decoration: underline;
}
.sib-wallet-txn-date {
    display: block;
    font-size: 12px;
    color: #999;
    margin-top: 2px;
}
.sib-wallet-txn-amount {
    font-weight: 700;
    font-size: 14px;
    white-space: nowrap;
    flex-shrink: 0;
}
.sib-wallet-txn-amount.credit {
    color: #2e7d32;
}
.sib-wallet-txn-amount.debit {
    color: #c62828;
}
.sib-wallet-no-txn {
    color: #999;
    font-size: 14px;
    text-align: center;
    padding: 40px 0;
}

/* Transaction Controls */
.sib-txn-controls {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    align-items: center;
    margin-bottom: 16px;
}
.sib-txn-search-wrap {
    position: relative;
    flex: 1;
    min-width: 180px;
}
.sib-txn-search-icon {
    position: absolute;
    left: 12px;
    top: 50%;
    transform: translateY(-50%);
    color: #999;
    pointer-events: none;
}
.sib-txn-search-wrap input[type="text"] {
    width: 100%;
    border: 1px solid #e0e0e0 !important;
    border-radius: 8px !important;
    padding: 9px 12px 9px 38px !important;
    font-size: 13px !important;
    font-family: inherit;
    background: #fff !important;
    transition: border-color 0.2s;
    height: auto !important;
}
.sib-txn-search-wrap input[type="text"]:focus {
    outline: none;
    border-color: #222 !important;
}
.sib-txn-filters {
    display: flex;
    gap: 0;
    background: #f5f5f5;
    border-radius: 8px;
    padding: 3px;
}
.sib-txn-filter {
    padding: 7px 16px;
    font-size: 13px;
    font-weight: 600;
    border: none;
    border-radius: 6px;
    background: none;
    color: #888;
    cursor: pointer;
    transition: background 0.2s, color 0.2s;
}
.sib-txn-filter:hover {
    color: #333;
}
.sib-txn-filter.active {
    background: #222;
    color: #fff;
}
.sib-txn-sort {
    border: 1px solid #e0e0e0 !important;
    border-radius: 8px !important;
    padding: 9px 12px !important;
    font-size: 13px !important;
    font-family: inherit;
    background: #fff !important;
    cursor: pointer;
    color: #333;
    height: auto !important;
}
.sib-txn-sort:focus {
    outline: none;
    border-color: #222;
}

/* Pagination */
.sib-txn-pagination {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 4px;
    margin-top: 16px;
    flex-wrap: wrap;
}
.sib-txn-pagination button {
    min-width: 36px;
    height: 36px;
    padding: 0 10px;
    border: 1px solid #e0e0e0;
    border-radius: 8px;
    background: #fff;
    font-size: 13px;
    font-weight: 600;
    color: #333;
    cursor: pointer;
    transition: background 0.2s, border-color 0.2s;
}
.sib-txn-pagination button:hover {
    border-color: #222;
}
.sib-txn-pagination button.active {
    background: #222;
    color: #fff;
    border-color: #222;
}
.sib-txn-pagination button:disabled {
    opacity: 0.4;
    cursor: default;
}
.sib-txn-pagination .sib-txn-page-info {
    font-size: 13px;
    color: #888;
    padding: 0 8px;
}

/* Top-Up section spacing */
.sib-wallet-topup {
    margin-bottom: 32px;
}

/* Wallet Tabs */
.sib-wallet-tabs {
    display: flex;
    gap: 8px;
    margin-bottom: 20px;
    background: #f5f5f5;
    border-radius: 10px;
    padding: 4px;
}

.sib-wallet-tab {
    flex: 1;
    padding: 11px 24px;
    font-size: 14px;
    font-weight: 600;
    background: none;
    border: none;
    border-radius: 8px;
    cursor: pointer;
    color: #888;
    transition: background 0.2s, color 0.2s, box-shadow 0.2s;
}

.sib-wallet-tab:hover {
    color: #333;
}

.sib-wallet-tab.active {
    background: #222;
    color: #fff;
    box-shadow: 0 2px 8px rgba(0,0,0,0.12);
}

/* Panels */
.sib-wallet-panel {
    display: none;
}

.sib-wallet-panel.active {
    display: block;
}

/* Withdraw section */

.sib-wallet-withdraw-upi-row input {
    width: 100%;
    border: 1px solid #ddd;
    border-radius: 8px;
    padding: 12px 14px;
    font-size: 14px;
    font-family: inherit;
    margin-top: 10px;
}

.sib-wallet-withdraw-upi-row input:focus {
    outline: none;
    border-color: #222;
}

.sib-wallet-txn-upi {
    font-size: 12px;
    color: #555;
    font-family: monospace;
}

.sib-wallet-withdraw-form textarea {
    width: 100%;
    border: 1px solid #ddd;
    border-radius: 8px;
    padding: 10px 14px;
    font-size: 14px;
    resize: vertical;
    font-family: inherit;
    margin-top: 10px;
}

.sib-wallet-withdraw-form textarea:focus {
    outline: none;
    border-color: #222;
}

.sib-wallet-withdraw-btn {
    background: #222;
    color: #fff;
    border: none;
    border-radius: 8px;
    padding: 0 28px;
    font-size: 15px;
    font-weight: 600;
    cursor: pointer;
    white-space: nowrap;
    height: 48px;
    transition: background 0.2s;
}

.sib-wallet-withdraw-btn:hover {
    background: #444;
}

.sib-wallet-withdraw-submit-row {
    margin-top: 12px;
}

.sib-wallet-withdraw-submit-row .sib-wallet-withdraw-btn {
    width: 100% !important;
    height: 50px !important;
    font-size: 16px !important;
}

.sib-wallet-withdraw-pending,
.sib-wallet-withdraw-empty {
    color: #666;
    font-size: 14px;
    padding: 16px 0;
    margin: 0;
}

.sib-wallet-withdraw-pending {
    color: #b45309;
    background: #fef3c7;
    border-radius: 8px;
    padding: 12px 16px;
}

.sib-wallet-subsection-title {
    font-size: 14px;
    font-weight: 600;
    color: #555;
    margin: 20px 0 10px;
}

/* Withdrawal status badges */
.sib-wallet-wr-status {
    display: inline-block;
    font-size: 11px;
    font-weight: 600;
    padding: 2px 8px;
    border-radius: 10px;
    margin-left: 6px;
    text-transform: uppercase;
    letter-spacing: 0.3px;
}

.sib-wallet-wr-status--pending {
    background: #fef3c7;
    color: #92400e;
}

.sib-wallet-wr-status--approved {
    background: #d1fae5;
    color: #065f46;
}

.sib-wallet-wr-status--rejected {
    background: #fee2e2;
    color: #991b1b;
}

/* Mobile */
@media (max-width: 575px) {
    .sib-wallet-balance-card {
        padding: 20px;
    }
    .sib-wallet-balance-amount {
        font-size: 26px;
    }
    .sib-wallet-amount-row {
        flex-direction: column;
    }
    .sib-wallet-quick-btn {
        padding: 8px 14px;
        font-size: 13px;
    }
    .sib-wallet-txn-item {
        padding: 12px 14px;
    }
    .sib-txn-controls {
        flex-direction: column;
        align-items: stretch;
    }
    .sib-txn-search-wrap {
        min-width: 100%;
    }
    .sib-txn-filters {
        justify-content: center;
    }
    .sib-txn-sort {
        width: 100%;
    }
}

/* =============================================
   Block Cart — Compact rows & fields
   ============================================= */

/* Smaller product images */
.is-large.wc-block-cart table.wc-block-cart-items .wc-block-cart-items__row .wc-block-cart-item__image img {
    max-width: 85px;
    min-width: 85px !important;
}

/* Reduce cell padding — beat parent theme's .is-large rule with higher specificity */
.is-large.wc-block-cart .wc-block-cart-items td.wc-block-cart-item__image {
    padding: 10px 0 10px 12px !important;
}

.is-large.wc-block-cart .wc-block-cart-items td.wc-block-cart-item__product {
    padding: 10px 8px !important;
}

.is-large.wc-block-cart .wc-block-cart-items td.wc-block-cart-item__total {
    padding: 10px 12px 10px 0 !important;
}

/* Tighter product info area */
.is-large.wc-block-cart .wc-block-cart-item__wrap {
    padding: 0 !important;
    gap: 4px;
}

/* Product name */
.is-large.wc-block-cart .wc-block-components-product-name {
    font-size: 13px;
    line-height: 1.3;
}

/* Price */
.is-large.wc-block-cart .wc-block-components-product-price {
    font-size: 13px;
}

/* Quantity selector — smooth & rounded (global) */
.wc-block-components-quantity-selector {
    border-radius: 8px !important;
    border-color: #ddd !important;
    overflow: hidden;
}

.wc-block-components-quantity-selector__button {
    transition: background-color 0.2s ease, color 0.2s ease;
    outline: none !important;
    box-shadow: none !important;
}

.wc-block-components-quantity-selector__button:focus,
.wc-block-components-quantity-selector__button:focus-visible,
.wc-block-components-quantity-selector__button:active {
    outline: none !important;
    box-shadow: none !important;
    background-color: #f0f0f0;
}

.wc-block-components-quantity-selector__button:hover {
    background-color: #f5f5f5;
}

.wc-block-components-quantity-selector__button--minus {
    border-radius: 8px 0 0 8px !important;
}

.wc-block-components-quantity-selector__button--plus {
    border-radius: 0 8px 8px 0 !important;
}

.wc-block-components-quantity-selector__input {
    outline: none !important;
    box-shadow: none !important;
}

.wc-block-components-quantity-selector__input:focus,
.wc-block-components-quantity-selector__input:focus-visible {
    outline: none !important;
    box-shadow: none !important;
}

/* Cart page — compact size */
.is-large.wc-block-cart .wc-block-components-quantity-selector {
    height: 28px;
    min-height: 28px;
}

.is-large.wc-block-cart .wc-block-components-quantity-selector__input {
    height: 26px;
    min-height: 26px;
    width: 36px;
    font-size: 12px;
    padding: 0;
}

.is-large.wc-block-cart .wc-block-components-quantity-selector__button {
    height: 26px;
    min-height: 26px;
    width: 26px;
    padding: 0;
}

/* Classic quantity selector (product page) */
.wg-quantity {
    border-radius: 8px !important;
    overflow: hidden;
}

.wg-quantity .btn-quantity {
    transition: background-color 0.2s ease, color 0.2s ease;
}

.wg-quantity .btn-quantity:hover {
    background-color: #f5f5f5;
}

/* Remove item link */
.is-large.wc-block-cart .wc-block-cart-item__remove-link {
    font-size: 12px !important;
    margin-top: 2px;
}

/* Table header row */
.is-large.wc-block-cart table.wc-block-cart-items .wc-block-cart-items__header {
    padding: 8px 12px;
}

/* =============================================
   View Order — Desktop Header & Back Link
   ============================================= */
.sib-order-view-header {
    margin-bottom: 24px;
}

.sib-back-to-orders {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    font-size: 14px;
    font-weight: 600;
    color: #555;
    text-decoration: none;
    margin-bottom: 16px;
    transition: color 0.2s;
}

.sib-back-to-orders:hover {
    color: #222;
}

.sib-order-summary-bar {
    display: flex;
    gap: 24px;
    background: #f8f9fa;
    border: 1px solid var(--line, #e8e8e8);
    border-radius: 10px;
    padding: 16px 24px;
    flex-wrap: wrap;
}

.sib-order-summary-item {
    display: flex;
    flex-direction: column;
    gap: 4px;
}

.sib-order-summary-label {
    font-size: 12px;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    color: #888;
    font-weight: 600;
}

.sib-order-summary-value {
    font-size: 14px;
    font-weight: 600;
    color: #222;
}

.sib-order-total {
    color: #222;
}

/* =============================================
   Order View — Address Cards (above items table)
   ============================================= */
.sib-order-addresses {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 16px;
    margin-bottom: 24px;
}

.sib-order-address-card {
    border: 1px solid var(--line, #e8e8e8);
    border-radius: 10px;
    padding: 20px 24px;
    background: #fff;
}

.sib-order-address-header {
    display: flex;
    align-items: center;
    gap: 8px;
    margin-bottom: 12px;
    padding-bottom: 12px;
    border-bottom: 1px solid var(--line, #e8e8e8);
}

.sib-order-address-header h3 {
    font-size: 16px;
    font-weight: 600;
    color: #222;
    margin: 0 !important;
    line-height: 1.2 !important;
}

.sib-order-address-header svg {
    color: #555;
    flex-shrink: 0;
    width: 20px;
    height: 20px;
}

.sib-order-address-body {
    font-style: normal;
    font-size: 14px;
    line-height: 1.6;
    color: #444;
}

.sib-order-address-phone,
.sib-order-address-email {
    display: flex;
    align-items: center;
    gap: 6px;
    margin-top: 8px;
    font-size: 13px;
    color: #555;
}

.sib-order-address-phone svg,
.sib-order-address-email svg {
    flex-shrink: 0;
    color: #888;
}

@media (max-width: 767px) {
    .sib-order-addresses {
        grid-template-columns: 1fr;
    }
}

/* Fix: Parent theme hides first tfoot in order details table,
   which hides totals when there are no order actions */
.woocommerce-order-details .shop_table.order_details tfoot {
    display: table-footer-group !important;
}

/* =============================================
   Order Details — Scrollable Items & Compact Rows
   ============================================= */
.sib-order-items-scroll {
    max-height: 520px;
    overflow-y: auto;
    border: 1px solid #e5e5e5;
    border-radius: 8px 8px 0 0;
    margin-bottom: 0;
}

.sib-order-items-scroll .woocommerce-table--order-details {
    margin-bottom: 0;
    border: none;
}

.sib-order-items-scroll thead th {
    position: sticky;
    top: 0;
    background: #f8f8f8;
    z-index: 2;
    border-bottom: 1px solid #e5e5e5;
}

/* Compact row height for order detail items */
.woocommerce-table--order-details tbody td {
    padding: 8px 12px !important;
    vertical-align: middle;
}

.woocommerce-table--order-details thead th {
    padding: 10px 12px !important;
    font-size: 13px;
}

.woocommerce-table--order-details tfoot th,
.woocommerce-table--order-details tfoot td {
    padding: 8px 12px !important;
    font-size: 13px;
}

/* Hide per-item Request Cancel button (moved to order level) */
.woocommerce-table--order-details .canel-btn-sec {
    display: none !important;
}

/* =============================================
   Order Summary Section (below items table)
   ============================================= */
.sib-order-summary {
    border: 1px solid #e5e5e5;
    border-top: none;
    border-radius: 0 0 8px 8px;
    padding: 16px 20px;
    background: #fafafa;
    text-transform: none !important;
}

.sib-order-summary-row {
    display: flex;
    justify-content: space-between;
    align-items: baseline;
    padding: 6px 0;
    font-size: 13px;
    color: #444;
    border-bottom: 1px solid #f0f0f0;
}

.sib-order-summary-row:last-child {
    border-bottom: none;
}

.sib-order-summary-label {
    font-weight: 500;
    color: #666;
    flex-shrink: 0;
    margin-right: 16px;
    text-transform: none !important;
}

.sib-order-summary-value {
    text-align: right;
    color: #222;
}

.sib-order-summary-total {
    border-top: 2px solid #e0e0e0;
    border-bottom: none !important;
    margin-top: 4px;
    padding-top: 10px;
    font-size: 15px;
    font-weight: 700;
}

.sib-order-summary-total .sib-order-summary-label {
    color: #222;
    font-weight: 700;
}

.sib-order-tax-detail {
    display: block;
    font-size: 11px;
    font-weight: 400;
    color: #888;
    margin-top: 2px;
}

.sib-order-shipping-method {
    display: block;
    font-size: 12px;
    font-weight: 400;
    color: #888;
    margin-top: 2px;
}

/* Order-level cancel button */
.sib-order-actions {
    margin-top: 14px;
    padding-top: 14px;
    border-top: 1px solid #e5e5e5;
    text-align: right;
}

.sib-btn-cancel-order {
    display: inline-block;
    padding: 8px 20px;
    font-size: 13px;
    font-weight: 600;
    color: #dc3545;
    border: 1px solid #dc3545;
    border-radius: 6px;
    text-decoration: none;
    transition: background 0.2s, color 0.2s;
}

.sib-btn-cancel-order:hover {
    background: #dc3545;
    color: #fff;
}

/* Order action buttons (Exchange / Return / Invoice) */
.sib-order-action-buttons {
    display: flex;
    align-items: center;
    gap: 10px;
    margin-top: 16px;
    flex-wrap: wrap;
}

.sib-order-action-form {
    display: inline;
    margin: 0;
}

.sib-btn-action {
    display: inline-block;
    padding: 8px 20px;
    font-size: 13px;
    font-weight: 600;
    border-radius: 6px;
    text-decoration: none;
    border: 1px solid #222;
    background: #222;
    color: #fff;
    cursor: pointer;
    transition: background 0.2s, color 0.2s;
    font-family: inherit;
    line-height: 1.4;
}

.sib-btn-action:hover {
    background: #444;
    color: #fff;
}

.sib-btn-invoice {
    background: none;
    color: #222;
    border: 1px solid #ccc;
}

.sib-btn-invoice:hover {
    background: #f5f5f5;
    color: #222;
}

/* Shipment Tracking section */
.sib-order-tracking {
    margin-top: 20px;
    padding: 16px 20px;
    background: #f8fafb;
    border: 1px solid #e2e8f0;
    border-radius: 8px;
}

.sib-order-tracking-header {
    display: flex;
    align-items: center;
    gap: 8px;
    font-size: 14px;
    font-weight: 600;
    color: #222;
    margin-bottom: 12px;
}

.sib-order-tracking-header svg {
    color: #555;
}

.sib-order-tracking-details {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 8px 24px;
}

.sib-order-tracking-row {
    display: flex;
    align-items: center;
    gap: 6px;
}

.sib-order-tracking-label {
    font-size: 13px;
    color: #777;
}

.sib-order-tracking-value {
    font-size: 13px;
    font-weight: 600;
    color: #222;
    font-family: monospace;
}

.sib-btn-track {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 6px 16px;
    font-size: 13px;
    font-weight: 600;
    background: #222;
    color: #fff;
    border-radius: 6px;
    text-decoration: none;
    transition: background 0.2s;
    margin-left: auto;
}

.sib-btn-track:hover {
    background: #444;
    color: #fff;
}

/* =============================================
   Order Status Badges (used in orders list & view-order)
   ============================================= */
.sib-order-status-badge {
    display: inline-block;
    font-size: 12px;
    font-weight: 600;
    padding: 4px 12px;
    border-radius: 20px;
    text-transform: capitalize;
    letter-spacing: 0.2px;
    white-space: nowrap;
}

.sib-order-status-badge--pending {
    background: #fff3cd;
    color: #856404;
}

.sib-order-status-badge--processing {
    background: #cce5ff;
    color: #004085;
}

.sib-order-status-badge--on-hold {
    background: #ffeeba;
    color: #856404;
}

.sib-order-status-badge--completed {
    background: #d4edda;
    color: #155724;
}

.sib-order-status-badge--cancelled {
    background: #f8d7da;
    color: #721c24;
}

.sib-order-status-badge--refunded {
    background: #e2e3e5;
    color: #383d41;
}

.sib-order-status-badge--failed {
    background: #f8d7da;
    color: #721c24;
}

.sib-order-status-badge--checkout-draft {
    background: #e2e3e5;
    color: #383d41;
}

/* =============================================
   Orders Page — Filters, Sort & Pagination
   ============================================= */
.sib-orders-controls {
    margin-bottom: 12px;
}

.sib-orders-filters {
    display: flex;
    gap: 0;
    background: #f5f5f5;
    border-radius: 8px;
    padding: 3px;
    flex-wrap: wrap;
}

.sib-orders-filter {
    padding: 7px 14px;
    font-size: 13px;
    font-weight: 600;
    border-radius: 6px;
    background: none;
    color: #888;
    text-decoration: none;
    transition: background 0.2s, color 0.2s;
    white-space: nowrap;
}

.sib-orders-filter:hover {
    color: #333;
}

.sib-orders-filter.active {
    background: #222;
    color: #fff;
}

.sib-orders-search-form {
    margin: 0;
}

.sib-orders-search-wrap {
    position: relative;
    display: flex;
    align-items: center;
}

.sib-orders-search-icon {
    position: absolute;
    left: 10px;
    color: #999;
    pointer-events: none;
}

.sib-orders-search-wrap input[type="text"] {
    border: 1px solid #e0e0e0 !important;
    border-radius: 8px !important;
    padding: 8px 12px 8px 34px !important;
    font-size: 13px !important;
    font-family: inherit;
    background: #fff !important;
    width: 180px;
    height: auto !important;
    transition: border-color 0.2s, width 0.2s;
}

.sib-orders-search-wrap input[type="text"]:focus {
    outline: none;
    border-color: #222 !important;
    width: 220px;
}

.sib-orders-search-info {
    font-size: 13px;
    color: #666;
    margin-bottom: 14px;
    padding: 8px 14px;
    background: #f8f9fa;
    border-radius: 6px;
    display: flex;
    align-items: center;
    gap: 10px;
}

.sib-orders-clear-search {
    font-size: 12px;
    font-weight: 600;
    color: #dc3545;
    text-decoration: none;
}

.sib-orders-clear-search:hover {
    text-decoration: underline;
}

.sib-orders-toolbar {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 12px;
    margin-bottom: 20px;
}

.sib-orders-toolbar .sib-orders-search-form {
    flex: 1;
    max-width: 300px;
}

.sib-orders-toolbar .sib-orders-search-wrap input[type="text"] {
    width: 100% !important;
}

.sib-orders-sort-wrap {
    flex-shrink: 0;
}

.sib-orders-sort {
    border: 1px solid #e0e0e0 !important;
    border-radius: 8px !important;
    padding: 8px 12px !important;
    font-size: 13px !important;
    font-family: inherit;
    background: #fff !important;
    cursor: pointer;
    color: #333;
    height: auto !important;
}

.sib-orders-sort:focus {
    outline: none;
    border-color: #222 !important;
}

/* Orders pagination */
.sib-orders-pagination {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 6px;
    margin-top: 24px;
    padding-top: 20px;
    border-top: 1px solid var(--line, #e8e8e8);
    flex-wrap: wrap;
}

.sib-orders-page-btn {
    min-width: 36px;
    height: 36px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 0 10px;
    border: 1px solid #e0e0e0;
    border-radius: 8px;
    background: #fff;
    font-size: 13px;
    font-weight: 600;
    color: #333;
    text-decoration: none;
    transition: background 0.2s, border-color 0.2s;
}

.sib-orders-page-btn:hover {
    border-color: #222;
    color: #222;
}

.sib-orders-page-btn.active {
    background: #222;
    color: #fff;
    border-color: #222;
}

.sib-orders-page-dots {
    padding: 0 4px;
    color: #999;
    font-size: 14px;
}

/* Empty filter state */
.sib-orders-empty-filter {
    text-align: center;
    padding: 40px 20px;
    color: #888;
}

.sib-orders-empty-filter p {
    font-size: 15px;
    margin-bottom: 12px;
}

.sib-orders-clear-filter {
    font-size: 14px;
    font-weight: 600;
    color: #222;
    text-decoration: underline;
}

.sib-orders-clear-filter:hover {
    color: #de3f3a;
}

/* =============================================
   Request Cancel Button (on view-order items)
   ============================================= */
a.canel-btn-sec {
    display: inline-block;
    margin-top: 8px !important;
    padding: 5px 14px;
    font-size: 12px;
    font-weight: 600;
    color: #dc3545;
    border: 1px solid #dc3545;
    border-radius: 4px;
    text-decoration: none;
    transition: background 0.2s, color 0.2s;
}

a.canel-btn-sec:hover {
    background: #dc3545;
    color: #fff;
}

/* =============================================
   Orders Table — Better styling
   ============================================= */
.sib-orders-table-wrap .woocommerce-orders-table {
    border-collapse: separate;
    border-spacing: 0;
    border: 1px solid var(--line, #e8e8e8);
    border-radius: 10px;
    overflow: hidden;
    table-layout: auto;
}

.sib-orders-table-wrap .woocommerce-orders-table thead th {
    background: #f8f9fa;
    font-size: 13px;
    font-weight: 600;
    color: #555;
    text-transform: none;
    padding: 10px 12px;
    border-bottom: 1px solid var(--line, #e8e8e8);
    white-space: nowrap;
}

.sib-orders-table-wrap .woocommerce-orders-table tbody td {
    padding: 10px 12px;
    font-size: 13px;
    border-bottom: 1px solid var(--line, #e8e8e8);
    vertical-align: middle;
}

.sib-orders-table-wrap .woocommerce-orders-table tbody tr:last-child td {
    border-bottom: none;
}

.sib-orders-table-wrap .woocommerce-orders-table tbody tr:hover {
    background: #fafafa;
}

/* Column width hints */
.sib-orders-table-wrap .woocommerce-orders-table__header-order-number,
.sib-orders-table-wrap .woocommerce-orders-table__cell-order-number {
    width: 90px;
}

.sib-orders-table-wrap .woocommerce-orders-table__header-order-date,
.sib-orders-table-wrap .woocommerce-orders-table__cell-order-date {
    width: 100px;
    white-space: nowrap;
}

.sib-orders-table-wrap .woocommerce-orders-table__header-order-status,
.sib-orders-table-wrap .woocommerce-orders-table__cell-order-status {
    width: 110px;
}

.sib-orders-table-wrap .woocommerce-orders-table__header-order-total,
.sib-orders-table-wrap .woocommerce-orders-table__cell-order-total {
    width: 130px;
    text-align: right;
    white-space: nowrap;
}

.sib-orders-table-wrap .woocommerce-orders-table__cell-order-number a {
    font-weight: 600;
    color: #222;
    text-decoration: none;
}

.sib-orders-table-wrap .woocommerce-orders-table__cell-order-number a:hover {
    color: #de3f3a;
}

.sib-orders-table-wrap .woocommerce-orders-table__cell-order-actions {
    white-space: nowrap;
}

.sib-orders-table-wrap .woocommerce-orders-table__cell-order-actions .button {
    font-size: 12px;
    padding: 4px 12px;
    border-radius: 4px;
    margin: 2px 4px 2px 0;
}

/* Tablet responsive for orders toolbar */
@media (max-width: 991px) {
    .sib-orders-toolbar {
        flex-wrap: wrap;
    }
}

/* Mobile responsive for orders controls */
@media (max-width: 767px) {
    .sib-orders-filters {
        overflow-x: auto;
        -webkit-overflow-scrolling: touch;
        flex-wrap: nowrap;
    }
    .sib-orders-toolbar {
        flex-direction: column;
        align-items: stretch;
    }
    .sib-orders-toolbar .sib-orders-search-form {
        max-width: 100%;
    }
    .sib-orders-search-wrap input[type="text"] {
        width: 100% !important;
    }
    .sib-orders-sort {
        width: 100%;
    }
    .sib-order-summary-bar {
        gap: 16px;
        padding: 14px 18px;
    }
}

/* =============================================
   My Account Dashboard — Summary Widgets
   ============================================= */
.sib-dash-welcome h2 {
    font-size: 22px;
    font-weight: 700;
    color: #222;
    margin-bottom: 24px;
}

.sib-dash-cards {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 16px;
    margin-bottom: 32px;
}

.sib-dash-card {
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
    padding: 24px 16px;
    border: 1px solid var(--line, #e8e8e8);
    border-radius: 10px;
    background: #fff;
    text-decoration: none;
    color: inherit;
    transition: border-color 0.25s ease, box-shadow 0.25s ease, transform 0.25s ease;
}

.sib-dash-card:hover {
    border-color: var(--main, #d3e061);
    box-shadow: 0 6px 16px rgba(0,0,0,0.08);
    transform: translateY(-3px);
}

.sib-dash-card-icon {
    width: 48px;
    height: 48px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: #f8f9fa;
    border-radius: 50%;
    margin-bottom: 12px;
}

.sib-dash-card-icon svg {
    color: #555;
}

.sib-dash-card:hover .sib-dash-card-icon {
    background: var(--main, #d3e061);
}

.sib-dash-card:hover .sib-dash-card-icon svg {
    color: #000;
}

.sib-dash-card-value {
    font-size: 24px;
    font-weight: 700;
    color: #222;
    margin-bottom: 4px;
}

.sib-dash-card-value .woocommerce-Price-amount {
    font-size: 24px;
}

.sib-dash-card-label {
    font-size: 13px;
    color: #888;
    font-weight: 500;
}

/* Recent Orders */
.sib-dash-recent {
    border: 1px solid var(--line, #e8e8e8);
    border-radius: 10px;
    overflow: hidden;
}

.sib-dash-recent-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 16px 20px;
    background: #f8f9fa;
    border-bottom: 1px solid var(--line, #e8e8e8);
}

.sib-dash-recent-header h3 {
    font-size: 16px;
    font-weight: 600;
    margin: 0;
    color: #222;
}

.sib-dash-recent-header a {
    font-size: 13px;
    font-weight: 600;
    color: #555;
    text-decoration: none;
}

.sib-dash-recent-header a:hover {
    color: #de3f3a;
}

.sib-dash-recent-item {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 14px 20px;
    border-bottom: 1px solid var(--line, #e8e8e8);
    text-decoration: none;
    color: inherit;
    transition: background 0.15s;
}

.sib-dash-recent-item:last-child {
    border-bottom: none;
}

.sib-dash-recent-item:hover {
    background: #fafafa;
}

.sib-dash-recent-number {
    font-weight: 600;
    color: #222;
    margin-right: 12px;
}

.sib-dash-recent-date {
    font-size: 13px;
    color: #888;
}

.sib-dash-recent-meta {
    display: flex;
    align-items: center;
    gap: 16px;
}

.sib-dash-recent-total {
    font-weight: 600;
    color: #222;
    font-size: 14px;
}

/* Dashboard responsive */
@media (max-width: 991px) {
    .sib-dash-cards {
        grid-template-columns: repeat(2, 1fr);
    }
}

@media (max-width: 575px) {
    .sib-dash-cards {
        grid-template-columns: 1fr 1fr;
        gap: 10px;
    }
    .sib-dash-card {
        padding: 16px 12px;
    }
    .sib-dash-card-value {
        font-size: 20px;
    }
    .sib-dash-recent-item {
        flex-direction: column;
        align-items: flex-start;
        gap: 8px;
    }
}

/* =============================================
   CHECKOUT PAGE — Order Summary Fixes
   ============================================= */

/* #2: Collapse empty fee/discount/taxes blocks that create gap between Subtotal & Delivery */
.wp-block-woocommerce-checkout-order-summary-fee-block:empty,
.wp-block-woocommerce-checkout-order-summary-discount-block:empty,
.wp-block-woocommerce-checkout-order-summary-taxes-block:empty {
    display: none;
}

/* #4: Add "Incl. Tax" suffix to per-item prices in the order summary */
.wc-block-components-order-summary-item .wc-block-components-order-summary-item__total-price .wc-block-components-product-price__value::after {
    content: " Incl. Tax";
    font-size: 11px;
    font-weight: 400;
    color: #888;
}

/* #5: Hide qty badge on image — qty will be shown inline via JS */
.wc-block-components-order-summary-item__quantity {
    display: none !important;
}

/* #6: Hide product description metadata (clutters checkout) */
.wc-block-components-order-summary-item .wc-block-components-product-metadata {
    display: none !important;
}

/* #7: Product images */
.wc-block-components-order-summary .wc-block-components-order-summary-item__image > img {
    width: 48px !important;
    height: 48px !important;
    max-width: 48px !important;
    object-fit: cover;
    border-radius: 4px;
}

/* #8: Order summary item — compact rows */
.wc-block-components-order-summary-item {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 8px 0 !important;
}
.wc-block-components-order-summary-item__description {
    flex: 1;
    min-width: 0;
}
.wc-block-components-order-summary-item__description .wc-block-components-product-name {
    font-size: 13px !important;
    font-weight: 600 !important;
    line-height: 1.3 !important;
    display: block;
    white-space: nowrap !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    max-width: 160px;
    margin-bottom: 2px !important;
}
.wc-block-components-order-summary-item__individual-prices {
    display: inline !important;
}
.wc-block-components-order-summary-item__individual-prices .wc-block-components-product-price__value {
    font-size: 12px !important;
    color: #666 !important;
    font-weight: 400 !important;
}
/* Inline qty text added by JS */
.sib-inline-qty {
    font-size: 12px;
    color: #999;
    font-weight: 400;
}
.wc-block-components-order-summary-item__total-price {
    text-align: right;
    white-space: nowrap;
}
.wc-block-components-order-summary-item__total-price .wc-block-components-product-price__value {
    font-size: 13px !important;
    font-weight: 600 !important;
}
.wc-block-components-order-summary-item__total-price .wc-block-formatted-money-amount {
    font-size: 13px !important;
}

/* ============================================
   ORDER CONFIRMATION / THANK YOU PAGE
   ============================================ */

.woocommerce-order .full-outer {
    display: flex;
    gap: 32px;
    padding: 40px 0;
    max-width: 1100px;
    margin: 0 auto;
}

/* --- First Box: Success Message --- */
.woocommerce-order .first-box {
    flex: 0 0 38%;
    text-align: center;
    padding: 40px 24px;
    background: #f8f9fa;
    border-radius: 10px;
    border: 1px solid #e9e9e9;
    align-self: flex-start;
}

.woocommerce-order .first-box .orders {
    margin-bottom: 20px;
}

.woocommerce-order .first-box .orders img {
    width: 64px;
    height: 64px;
    margin-bottom: 16px;
}

.woocommerce-order .first-box .orders h1 {
    font-size: 24px;
    font-weight: 700;
    color: #222;
    margin: 0;
    line-height: 1.3;
}

.woocommerce-order .first-box .para1 {
    font-size: 14px;
    color: #555;
    line-height: 1.7;
    margin-bottom: 24px;
}

.woocommerce-order .first-box .para1 a {
    display: inline-block;
    margin-top: 20px;
    padding: 12px 28px;
    background: #222;
    color: #fff !important;
    border-radius: 6px;
    font-size: 14px;
    font-weight: 600;
    text-decoration: none;
    transition: background 0.2s;
}

.woocommerce-order .first-box .para1 a:hover {
    background: #444;
}

/* --- Second Box: Order Details --- */
.woocommerce-order .second-box {
    flex: 1;
    display: flex;
    flex-direction: column;
    gap: 24px;
}

/* Order Info Cards Row */
.woocommerce-order .box1-order {
    display: flex;
    gap: 16px;
}

.woocommerce-order .box1-tab,
.woocommerce-order .box2-tab,
.woocommerce-order .box3-tab {
    flex: 1;
    background: #f8f9fa;
    border: 1px solid #e9e9e9;
    border-radius: 10px;
    padding: 16px 20px;
}

.woocommerce-order .box1-tab h2,
.woocommerce-order .box2-tab h2,
.woocommerce-order .box3-tab h2 {
    font-size: 15px;
    font-weight: 700;
    color: #222;
    margin: 0 0 12px 0;
    padding-bottom: 10px;
    border-bottom: 1px solid #e9e9e9;
}

/* Order Details Table */
.woocommerce-order .box1-tab table {
    width: 100%;
    border-collapse: collapse;
}

.woocommerce-order .box1-tab table td {
    padding: 5px 0;
    font-size: 13px;
    color: #888;
    border: none;
}

.woocommerce-order .box1-tab table td.weight {
    font-weight: 600;
    color: #222;
    text-align: right;
}

/* Address Cards */
.woocommerce-order .box2-tab ul,
.woocommerce-order .box3-tab ul {
    list-style: none;
    padding: 0;
    margin: 0;
}

.woocommerce-order .box2-tab,
.woocommerce-order .box3-tab {
    font-size: 13px;
    color: #555;
    line-height: 1.7;
}

.woocommerce-order .box2-tab p,
.woocommerce-order .box3-tab p {
    margin: 0;
    font-size: 13px;
    color: #555;
    line-height: 1.7;
}

/* --- Product Details Table --- */
.woocommerce-order .box2-order .third {
    background: #fff;
    border: 1px solid #e9e9e9;
    border-radius: 10px;
    overflow: hidden;
}

.woocommerce-order .box2-order .third table {
    width: 100%;
    border-collapse: collapse;
}

.woocommerce-order .box2-order .third table th {
    background: #f8f9fa;
    font-size: 13px;
    font-weight: 600;
    color: #555;
    padding: 12px 16px;
    text-align: left;
    border-bottom: 1px solid #e9e9e9;
}

.woocommerce-order .box2-order .third table td {
    padding: 12px 16px;
    font-size: 13px;
    color: #333;
    border-bottom: 1px solid #f0f0f0;
    vertical-align: middle;
}

.woocommerce-order .box2-order .third table tr:last-child td {
    border-bottom: none;
}

.woocommerce-order .box2-order .third .img-tab {
    width: 56px;
    padding-right: 0;
}

.woocommerce-order .box2-order .third .img-tab img {
    width: 48px;
    height: 48px;
    object-fit: cover;
    border-radius: 6px;
    border: 1px solid #e9e9e9;
}

.woocommerce-order .box2-order .third .title-tab {
    font-weight: 500;
    color: #222;
}

.woocommerce-order .box2-order .third .title-tab a {
    color: #222;
    text-decoration: none;
}

.woocommerce-order .box2-order .third .title-tab a:hover {
    color: #de3f3a;
}

.woocommerce-order .box2-order .third .qua-tab {
    text-align: center;
    width: 80px;
}

.woocommerce-order .box2-order .third .amount-tab {
    text-align: right;
    font-weight: 600;
    color: #222;
    width: 100px;
}

/* --- Order Summary --- */
.woocommerce-order .order-summary {
    background: #f8f9fa;
    border: 1px solid #e9e9e9;
    border-radius: 10px;
    padding: 16px 20px;
}

.woocommerce-order .order-summary h2 {
    font-size: 15px;
    font-weight: 700;
    color: #222;
    margin: 0 0 12px 0;
    padding-bottom: 10px;
    border-bottom: 1px solid #e9e9e9;
}

.woocommerce-order .order-total-row {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 8px 0;
    font-size: 13px;
    color: #555;
    border-bottom: 1px solid #f0f0f0;
}

.woocommerce-order .order-total-row:last-child {
    border-bottom: none;
    padding-top: 10px;
    margin-top: 4px;
    border-top: 1px solid #e9e9e9;
    font-size: 15px;
    font-weight: 700;
    color: #222;
}

.woocommerce-order .order-total-label {
    font-weight: 500;
}

.woocommerce-order .order-total-value {
    font-weight: 600;
    color: #222;
}

/* --- Responsive: Tablet --- */
@media (max-width: 991px) {
    .woocommerce-order .full-outer {
        flex-direction: column;
        padding: 24px 0;
        gap: 24px;
    }

    .woocommerce-order .first-box {
        flex: none;
        width: 100%;
    }

    .woocommerce-order .box1-order {
        flex-wrap: wrap;
    }

    .woocommerce-order .box1-tab,
    .woocommerce-order .box2-tab,
    .woocommerce-order .box3-tab {
        flex: 1 1 calc(50% - 8px);
        min-width: 200px;
    }
}

/* --- Responsive: Mobile --- */
@media (max-width: 767px) {
    .woocommerce-order .full-outer {
        padding: 16px 0;
        gap: 16px;
    }

    .woocommerce-order .first-box {
        padding: 24px 16px;
    }

    .woocommerce-order .first-box .orders h1 {
        font-size: 20px;
    }

    .woocommerce-order .box1-order {
        flex-direction: column;
        gap: 12px;
    }

    .woocommerce-order .box1-tab,
    .woocommerce-order .box2-tab,
    .woocommerce-order .box3-tab {
        flex: none;
        width: 100%;
    }

    .woocommerce-order .box2-order .third .img-tab {
        display: none;
    }

    .woocommerce-order .box2-order .third table th,
    .woocommerce-order .box2-order .third table td {
        padding: 10px 12px;
        font-size: 12px;
    }

    .woocommerce-order .box2-order .third .qua-tab {
        width: 50px;
    }

    .woocommerce-order .box2-order .third .amount-tab {
        width: 80px;
    }
}

/* --- GST / Tax Row in Order Summary --- */
.woocommerce-order .order-total-row.tax-gst {
    font-size: 13px;
    color: #555;
    padding: 6px 0;
    border-bottom: 1px solid #f0f0f0;
}

.woocommerce-order .order-total-row.tax-gst .order-total-label {
    font-weight: 500;
    color: #555;
}

.woocommerce-order .order-total-row.tax-gst .order-total-value {
    font-weight: 600;
    color: #333;
}

/* =============================================================================
   ORDER PAY PAGE (form-pay.php)
   ============================================================================= */
.woocommerce-order-pay .sib-pay-container {
    max-width: 720px;
    margin: 40px auto;
    padding: 0 16px;
}

.woocommerce-order-pay .sib-pay-header {
    text-align: center;
    margin-bottom: 32px;
}

.woocommerce-order-pay .sib-pay-header h2 {
    font-size: 22px;
    font-weight: 700;
    color: #222;
    margin: 0 0 8px;
}

.woocommerce-order-pay .sib-pay-header p {
    font-size: 14px;
    color: #666;
    margin: 0;
}

.woocommerce-order-pay .sib-pay-items {
    background: #fff;
    border: 1px solid #e9e9e9;
    border-radius: 10px;
    overflow: hidden;
    margin-bottom: 24px;
}

.woocommerce-order-pay .sib-pay-items table {
    width: 100%;
    border-collapse: collapse;
}

.woocommerce-order-pay .sib-pay-items table th {
    background: #f8f9fa;
    font-size: 13px;
    font-weight: 600;
    color: #444;
    padding: 12px 16px;
    text-align: left;
    border-bottom: 1px solid #e9e9e9;
}

.woocommerce-order-pay .sib-pay-items table td {
    padding: 14px 16px;
    font-size: 14px;
    color: #333;
    border-bottom: 1px solid #f0f0f0;
    vertical-align: middle;
}

.woocommerce-order-pay .sib-pay-items table tr:last-child td {
    border-bottom: none;
}

.woocommerce-order-pay .sib-pay-items table td.product-name {
    font-weight: 500;
    color: #222;
}

.woocommerce-order-pay .sib-pay-items table td.product-quantity {
    text-align: center;
}

.woocommerce-order-pay .sib-pay-items table td.product-subtotal {
    text-align: right;
    font-weight: 600;
    color: #222;
}

.woocommerce-order-pay .sib-pay-items table th.product-quantity {
    text-align: center;
}

.woocommerce-order-pay .sib-pay-items table th.product-total {
    text-align: right;
}

.woocommerce-order-pay .sib-pay-totals {
    background: #f8f9fa;
    border: 1px solid #e9e9e9;
    border-radius: 10px;
    padding: 16px 20px;
    margin-bottom: 24px;
}

.woocommerce-order-pay .sib-pay-totals .sib-pay-total-row {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 8px 0;
    font-size: 14px;
    color: #555;
    border-bottom: 1px solid #eee;
}

.woocommerce-order-pay .sib-pay-totals .sib-pay-total-row:last-child {
    border-bottom: none;
    padding-top: 12px;
    margin-top: 4px;
    border-top: 2px solid #ddd;
    font-size: 16px;
    font-weight: 700;
    color: #222;
}

.woocommerce-order-pay .sib-pay-totals .sib-pay-total-row span:last-child {
    font-weight: 600;
    color: #222;
}

/* Payment methods on order-pay page */
.woocommerce-order-pay #payment {
    background: #fff;
    border: 1px solid #e9e9e9;
    border-radius: 10px;
    padding: 24px;
    margin-bottom: 24px;
}

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

.woocommerce-order-pay #payment ul.payment_methods li {
    border: 1px solid #d5d5d5;
    border-radius: 8px;
    margin-bottom: 10px;
    padding: 14px 16px;
    background: #fff;
    transition: border-color 0.2s;
}

.woocommerce-order-pay #payment ul.payment_methods li:has(input:checked) {
    border-color: #d3e061;
    border-width: 2px;
}

.woocommerce-order-pay #payment ul.payment_methods li label {
    font-size: 15px;
    font-weight: 600;
    color: #222;
    cursor: pointer;
    padding-left: 8px;
}

.woocommerce-order-pay #payment .form-row {
    text-align: center;
    padding: 0;
}

.woocommerce-order-pay #payment #place_order {
    background: #222;
    color: #fff;
    border: none;
    border-radius: 8px;
    padding: 14px 40px;
    font-size: 16px;
    font-weight: 600;
    cursor: pointer;
    width: 100%;
    transition: background 0.2s;
}

.woocommerce-order-pay #payment #place_order:hover {
    background: #444;
}

/* Responsive: order-pay */
@media (max-width: 767px) {
    .woocommerce-order-pay .sib-pay-container {
        margin: 20px auto;
        padding: 0 12px;
    }

    .woocommerce-order-pay .sib-pay-items table th,
    .woocommerce-order-pay .sib-pay-items table td {
        padding: 10px 12px;
        font-size: 13px;
    }

    .woocommerce-order-pay #payment {
        padding: 16px;
    }
}

/* =============================================================================
   RMA FORM STYLING FIXES
   ============================================================================= */
/* --- "Add More" button — match site theme --- */
.wps-rma-form__wrapper .wps_rma_exchange_request_morefiles,
.wps-rma-form__wrapper .wps_rma_return_request_morefiles,
.wps_rma_return_request_morefiles {
    background: #fff !important;
    color: #222 !important;
    border: 1.5px solid #222 !important;
    border-radius: 6px !important;
    padding: 8px 20px !important;
    font-size: 13px !important;
    font-weight: 600 !important;
    cursor: pointer !important;
    transition: background 0.2s, color 0.2s !important;
    margin-top: 8px !important;
}

.wps-rma-form__wrapper .wps_rma_exchange_request_morefiles:hover,
.wps-rma-form__wrapper .wps_rma_return_request_morefiles:hover,
.wps_rma_return_request_morefiles:hover {
    background: #222 !important;
    color: #fff !important;
}

/* File type hint text — consistent styling */
.wps-rma-form__wrapper i,
.wps_rma_refund_form_wrapper i {
    font-style: normal !important;
    font-size: 12px !important;
    color: #888 !important;
    margin-top: 6px !important;
    display: block !important;
}

/* RMA Submit buttons — match site theme */
.wps-rma-form__wrapper input[type="submit"],
.wps-rma-form__wrapper .button:not(.wps_rma_exchange_request_morefiles):not(.wps_rma_return_request_morefiles) {
    background: #222 !important;
    color: #fff !important;
    border: none !important;
    border-radius: 8px !important;
    padding: 12px 32px !important;
    font-size: 15px !important;
    font-weight: 600 !important;
    cursor: pointer !important;
    transition: background 0.2s !important;
}

.wps-rma-form__wrapper input[type="submit"]:hover,
.wps-rma-form__wrapper .button:not(.wps_rma_exchange_request_morefiles):not(.wps_rma_return_request_morefiles):hover {
    background: #444 !important;
}

/* RMA form general cleanup */
.wps-rma-form__wrapper select {
    border: 1px solid #d5d5d5 !important;
    border-radius: 6px !important;
    padding: 8px 12px !important;
    font-size: 14px !important;
}

.wps-rma-form__wrapper textarea {
    border: 1px solid #d5d5d5 !important;
    border-radius: 6px !important;
    padding: 10px 12px !important;
    font-size: 14px !important;
    min-height: 100px;
}

.wps-rma-form__wrapper input[type="file"] {
    border: 1px dashed #ccc !important;
    border-radius: 6px !important;
    padding: 10px !important;
    background: #fafafa !important;
    width: 100%;
}

/* RMA delete file button */
.wps-rma-form__wrapper .wps_rma_delete_field {
    color: #e74c3c !important;
    cursor: pointer !important;
    font-size: 12px !important;
    margin-left: 8px !important;
}

/* =============================================================================
   SITE-WIDE ANIMATIONS & TRANSITIONS
   Subtle, smooth, consistent across the entire site
   ============================================================================= */

/* --- 1. Product Card Hover — Lift & Shadow --- */
.card-product:hover {
    transform: translateY(-4px);
    box-shadow: 0 8px 24px rgba(0, 0, 0, 0.08);
}

.card-product .card-product-wrapper img {
    transition: opacity 0.4s ease, transform 0.4s ease !important;
}

.card-product .card-product-info .title.link {
    transition: color 0.25s ease;
}

.card-product .card-product-info .price {
    transition: color 0.25s ease;
}

/* --- 2. Button Hover/Active Consistency --- */
.sib-btn-action,
.sib-btn-cancel-order,
.sib-btn-track,
.sib-btn-invoice,
.sib-wl-add-to-cart,
.sib-wl-add-all-cart,
.sib-wallet-proceed-btn,
.sib-wallet-withdraw-btn,
.sib-wallet-quick-btn,
.sib-orders-filter,
.sib-txn-filter,
.sib-reviews-filter,
.woocommerce-Pagination .button,
.empty-cart-btn {
    transition: background-color 0.25s ease, color 0.25s ease,
                border-color 0.25s ease, box-shadow 0.25s ease,
                transform 0.15s ease;
}

.sib-btn-action:active,
.sib-btn-cancel-order:active,
.sib-btn-track:active,
.sib-wl-add-to-cart:active,
.sib-wallet-proceed-btn:active,
.sib-wallet-withdraw-btn:active,
.empty-cart-btn:active {
    transform: scale(0.97);
}

.card-product .btn-main-product {
    transition: background-color 0.25s ease, color 0.25s ease, border-color 0.25s ease;
}

/* --- 3. Navigation & Link Hover --- */
.box-nav-ul > .menu-item > a {
    transition: color 0.25s ease;
}

.box-nav-ul .sub-menu .menu-item a {
    transition: color 0.25s ease;
}

.sib-dd-menu-item {
    transition: background-color 0.25s ease, color 0.25s ease;
}

.sib-dd-logout {
    transition: background-color 0.25s ease, color 0.25s ease;
}

.sib-orders-table-wrap .woocommerce-orders-table__cell-order-number a {
    transition: color 0.25s ease;
}

.sib-dash-recent-header a {
    transition: color 0.25s ease;
}

.breadcrumbs a,
.woocommerce-breadcrumb a {
    transition: color 0.25s ease;
}

/* --- 4. Form Field Focus Glow --- */
.sib-orders-search-wrap input[type="text"],
.sib-txn-search-wrap input[type="text"],
.sib-reviews-search input {
    transition: border-color 0.25s ease, box-shadow 0.25s ease;
}

.sib-orders-search-wrap input[type="text"]:focus,
.sib-txn-search-wrap input[type="text"]:focus,
.sib-reviews-search input:focus {
    box-shadow: 0 0 0 3px rgba(211, 224, 97, 0.15);
}

.sib-wallet-amount-input-wrap {
    transition: border-color 0.25s ease, box-shadow 0.25s ease;
}

.sib-wallet-amount-input-wrap:focus-within {
    box-shadow: 0 0 0 3px rgba(211, 224, 97, 0.15);
}

.woocommerce-EditAccountForm input:focus,
.woocommerce-EditAccountForm select:focus {
    box-shadow: 0 0 0 3px rgba(211, 224, 97, 0.15);
    transition: border-color 0.25s ease, box-shadow 0.25s ease;
}

.sib-contact-field input:focus,
.sib-contact-field textarea:focus,
.sib-contact-field select:focus {
    border-color: var(--main, #d3e061) !important;
    box-shadow: 0 0 0 3px rgba(211, 224, 97, 0.15);
}

.sib-wallet-withdraw-upi-row input,
.sib-wallet-withdraw-form textarea {
    transition: border-color 0.25s ease, box-shadow 0.25s ease;
}

.sib-wallet-withdraw-upi-row input:focus,
.sib-wallet-withdraw-form textarea:focus {
    box-shadow: 0 0 0 3px rgba(34, 34, 34, 0.08);
}

/* --- 5. Dashboard Recent Orders Row Hover --- */
.sib-dash-recent-item {
    transition: background-color 0.25s ease;
}

.sib-dash-card-icon {
    transition: background-color 0.25s ease;
}

.sib-dash-card-icon svg {
    transition: color 0.25s ease;
}

/* --- 6. Tab & Panel Fade Transitions --- */
@keyframes sib-panel-fade-in {
    from { opacity: 0; transform: translateY(6px); }
    to { opacity: 1; transform: translateY(0); }
}

.sib-wallet-panel.active {
    animation: sib-panel-fade-in 0.3s ease forwards;
}

.sib-wallet-tab {
    transition: background-color 0.25s ease, color 0.25s ease, box-shadow 0.25s ease;
}

/* --- 7. Wishlist & Transaction Item Hover --- */
.sib-wishlist-item {
    transition: box-shadow 0.25s ease, transform 0.25s ease;
}

.sib-wishlist-item:hover {
    box-shadow: 0 4px 16px rgba(0, 0, 0, 0.08);
    transform: translateY(-2px);
}

.sib-wallet-txn-item {
    transition: background-color 0.2s ease;
}

.sib-wallet-txn-item:hover {
    background-color: #f9f9f9;
}

.sib-review-card {
    transition: background-color 0.25s ease;
}

/* --- 8. Scroll Reveal — Subtle Override for WOW.js --- */
@keyframes sibFadeInUp {
    from {
        opacity: 0;
        transform: translateY(20px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

.sib-dash-cards.wow,
.sib-dash-recent.wow {
    animation-name: sibFadeInUp !important;
    animation-duration: 0.5s !important;
}

/* --- 9. Lazy Image Fade-In --- */
img[loading="lazy"] {
    opacity: 0;
    transition: opacity 0.4s ease;
}

img[loading="lazy"].loaded,
img[loading="lazy"][complete] {
    opacity: 1;
}

/* Fallback: ensure images visible even without JS */
img[loading="lazy"] {
    animation: sib-img-reveal 0s 1s forwards;
}

@keyframes sib-img-reveal {
    to { opacity: 1; }
}

/* --- 10. Mobile — Disable Hover Lifts --- */
@media (max-width: 991px) {
    .card-product:hover {
        transform: none;
        box-shadow: none;
    }

    .sib-dash-card:hover {
        transform: none;
    }

    .sib-wishlist-item:hover {
        transform: none;
        box-shadow: none;
    }

    .wow {
        animation-duration: 0.3s !important;
    }
}

/* Respect reduced motion preference */
@media (prefers-reduced-motion: reduce) {
    *,
    *::before,
    *::after {
        animation-duration: 0.01ms !important;
        animation-iteration-count: 1 !important;
        transition-duration: 0.01ms !important;
    }
}

/* Empty Category — Animated Coming Soon */
.sib-empty-category {
    text-align: center;
    padding: 60px 20px 80px;
    max-width: 420px;
    margin: 0 auto;
}
.sib-empty-icon {
    width: 160px;
    height: 160px;
    margin: 0 auto 28px;
}
.sib-empty-icon svg {
    width: 100%;
    height: 100%;
}
.sib-empty-circle {
    animation: sib-spin 20s linear infinite;
    transform-origin: 60px 60px;
}
.sib-empty-box {
    animation: sib-float 3s ease-in-out infinite;
}
.sib-empty-sparkle {
    animation: sib-pulse 2s ease-in-out infinite;
}
.sib-sparkle-2 { animation-delay: 0.6s; }
.sib-sparkle-3 { animation-delay: 1.2s; }
.sib-empty-star {
    animation: sib-twinkle 2.5s ease-in-out infinite;
}
.sib-star-2 { animation-delay: 1s; }
.sib-empty-title {
    font-size: 1.4rem;
    font-weight: 600;
    color: #222;
    margin-bottom: 10px;
}
.sib-empty-subtitle {
    font-size: 0.95rem;
    color: #777;
    margin-bottom: 28px;
    line-height: 1.6;
}
.sib-empty-btn {
    display: inline-block;
    padding: 12px 32px;
    background: #222;
    color: #fff !important;
    text-decoration: none !important;
    border-radius: 50px;
    font-size: 0.9rem;
    font-weight: 500;
    letter-spacing: 0.5px;
    transition: background 0.3s, transform 0.2s;
}
.sib-empty-btn:hover {
    background: #DE3F3A;
    transform: translateY(-2px);
}
@keyframes sib-spin {
    to { transform: rotate(360deg); }
}
@keyframes sib-float {
    0%, 100% { transform: translateY(0); }
    50% { transform: translateY(-6px); }
}
@keyframes sib-pulse {
    0%, 100% { opacity: 0.3; r: 1.5; }
    50% { opacity: 1; r: 3; }
}
@keyframes sib-twinkle {
    0%, 100% { opacity: 0.2; transform: scale(0.8); }
    50% { opacity: 1; transform: scale(1.2); }
}

/* Shop Other Categories — Clean Grid */
.sib-cat-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 20px;
    padding: 20px;
}
.sib-cat-card {
    display: flex;
    flex-direction: column;
    text-decoration: none !important;
    border-radius: 10px;
    overflow: hidden;
    background: #fff;
    transition: transform 0.25s, box-shadow 0.25s;
}
.sib-cat-card:hover {
    transform: translateY(-4px);
    box-shadow: 0 8px 24px rgba(0,0,0,0.08);
}
.sib-cat-img {
    width: 100%;
    aspect-ratio: 4/3;
    overflow: hidden;
    background: #f7f7f7;
    display: flex;
    align-items: center;
    justify-content: center;
}
.sib-cat-img .sib-cat-thumb {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 0.4s;
}
.sib-cat-card:hover .sib-cat-thumb {
    transform: scale(1.06);
}
.sib-cat-placeholder {
    width: 56px;
    height: 56px;
    opacity: 0.5;
}
.sib-cat-placeholder svg {
    width: 100%;
    height: 100%;
}
.sib-cat-name {
    font-size: 0.85rem;
    font-weight: 600;
    color: #222;
    text-align: center;
    padding: 12px 8px;
    margin: 0;
    line-height: 1.3;
}
.sib-cat-card:hover .sib-cat-name {
    color: #DE3F3A;
}
@media (max-width: 767px) {
    .sib-cat-grid {
        grid-template-columns: repeat(2, 1fr);
        gap: 12px;
        padding: 12px;
    }
}

/* T&C Table of Contents — override global li a { color: white } */
.page-content ol li a {
    color: #000 !important;
    text-decoration: underline;
}
.page-content ol li a:hover {
    color: #df3f3a !important;
}

