/* ===== Olivera Home – UI Enhancement Layer ===== */

/* ── Google Font: Tajawal (300 400 500 700 800) ──────────────────────── */
@import url('https://fonts.googleapis.com/css2?family=Tajawal:wght@300;400;500;700;800&display=swap');

/* ── Root font scale ────────────────────────────────────────────────── */
/* Base was 14px – bumped to 16px so Arabic glyphs are properly readable */
html {
    scroll-behavior: smooth;
    font-size: 16px;
}

/* ── Apply Tajawal to text elements only (never ::before/::after – icon fonts live there) ── */
body,
p, span, a, li, td, th, label, input, select, textarea, button,
h1, h2, h3, h4, h5, h6,
.h1, .h2, .h3, .h4, .h5, .h6,
.product-card, .product-title, .product-price, .product-category,
.section-title, .right_link, .product_get, .category_get,
.site-header, .site-menu, .topbar, .toolbar-dropdown,
.footer-light, .footer-dark, .widget-title,
.announcement-banner, .breadcrumb-item,
.form-control, .btn, .alert, .badge,
.card, .card-body, .card-title,
.tab-content, .nav-link, .nav-tabs,
.dropdown-menu, .dropdown-item {
    font-family: 'Tajawal', 'Segoe UI', Tahoma, sans-serif !important;
}

/* ── Body text ───────────────────────────────────────────────────────── */
body {
    font-size: 16px !important;
    font-weight: 400;
    line-height: 1.7;        /* Arabic needs more breathing room */
    color: #1a1a1a;
}

/* ── Heading scale ───────────────────────────────────────────────────── */
h1, .h1 { font-size: 2.4rem   !important; font-weight: 800; line-height: 1.2;  letter-spacing: -0.02em; }
h2, .h2 { font-size: 1.9rem   !important; font-weight: 700; line-height: 1.25; letter-spacing: -0.015em; }
h3, .h3 { font-size: 1.45rem  !important; font-weight: 700; line-height: 1.3;  }
h4, .h4 { font-size: 1.2rem   !important; font-weight: 600; line-height: 1.4;  }
h5, .h5 { font-size: 1.05rem  !important; font-weight: 600; line-height: 1.45; }
h6, .h6 { font-size: 0.95rem  !important; font-weight: 500; }

/* ── Navigation ─────────────────────────────────────────────────────── */
.site-header .site-menu > ul > li > a,
.site-header .site-menu > ul > li > span {
    font-size: 15.5px !important;
    font-weight: 500;
}

.topbar,
.topbar * {
    font-size: 14px !important;
}

.toolbar-dropdown li a,
.toolbar-dropdown li span {
    font-size: 14.5px !important;
}

/* ── Search input ────────────────────────────────────────────────────── */
.site-header .search-box-wrap input {
    font-size: 15px !important;
}

/* ── Announcement bar ────────────────────────────────────────────────── */
.announcement-banner,
.announcement-banner * {
    font-size: 14.5px !important;
}

/* ── Section title text ──────────────────────────────────────────────── */
.section-title h2,
.section-title .h3 {
    font-size: 1.55rem !important;
    font-weight: 700;
    letter-spacing: -0.01em;
}

/* ── Category / product tab labels ──────────────────────────────────── */
.product_get,
.category_get {
    font-size: 15px !important;
    font-weight: 500;
}

/* ── Footer ──────────────────────────────────────────────────────────── */
.footer-light,
.footer-dark {
    font-size: 15px !important;
    line-height: 1.75;
}

.footer-light h4,
.footer-dark h4,
.footer-light .widget-title,
.footer-dark .widget-title {
    font-size: 1.1rem !important;
    font-weight: 700;
    letter-spacing: 0.01em;
}

.footer-light p,
.footer-dark p,
.footer-light li,
.footer-dark li,
.footer-light a,
.footer-dark a {
    font-size: 14.5px !important;
}

/* ── Breadcrumbs & misc labels ───────────────────────────────────────── */
.breadcrumb-item,
.breadcrumb-item a {
    font-size: 14px !important;
}

/* ── Buttons ─────────────────────────────────────────────────────────── */
.btn,
button {
    font-size: 15px !important;
    font-weight: 600;
    letter-spacing: 0.01em;
}

/* ── Form inputs ─────────────────────────────────────────────────────── */
input, select, textarea, .form-control {
    font-size: 15px !important;
    line-height: 1.6;
}

/* ════════════════════════════════════════════════════════════════════════
   PRODUCT CARD  – full redesign
   ════════════════════════════════════════════════════════════════════════ */

/* ── Card container ─────────────────────────────────────────────────── */
.product-card {
    border-radius: 14px !important;
    border: 1px solid #ede9e2 !important;
    background: #ffffff !important;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.055) !important;
    overflow: hidden;
    transition: transform 0.26s cubic-bezier(.25,.46,.45,.94),
                box-shadow 0.26s cubic-bezier(.25,.46,.45,.94),
                border-color 0.26s ease !important;
    will-change: transform;
}

.product-card:hover {
    transform: translateY(-7px);
    box-shadow: 0 18px 36px rgba(0, 0, 0, 0.13) !important;
    border-color: #BCA439 !important;
}

/* ── Product Thumbnail ──────────────────────────────────────────────── */
.product-card .product-thumb {
    cursor: pointer;
    width: 100% !important;
    overflow: hidden;
    background: #f7f4ef;
    aspect-ratio: 4 / 3;
    display: flex;
    align-items: center;
    justify-content: center;
    position: relative;
}

.product-card .product-thumb img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    transition: transform 0.38s cubic-bezier(.25,.46,.45,.94);
}

.product-card:hover .product-thumb img {
    transform: scale(1.07);
}

/* Lazy placeholder: warm beige prevents blank flash */
img.lazy:not([src]),
img.lazy[src=""] {
    background: #f0ede8;
    min-height: 180px;
}

/* ── Discount / Stock Badge ─────────────────────────────────────────── */
.product-badge {
    border-radius: 20px !important;
    font-weight: 700;
    font-size: 0.72rem;
    letter-spacing: 0.03em;
    padding: 3px 10px !important;
}

/* ── Action Buttons (Wishlist / Compare / Add to cart) ──────────────── */
.product-card .product-button-group {
    bottom: -18px;
    transition: bottom 0.28s cubic-bezier(.25,.46,.45,.94),
                opacity 0.28s ease !important;
    z-index: 3;
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 6px;
    padding: 0 8px;
}

.product-card:hover .product-button-group {
    bottom: 12px !important;
    opacity: 1 !important;
    visibility: visible !important;
}

/* Base button reset */
.product-card .product-button {
    height: 40px !important;
    width: 40px !important;
    line-height: 40px !important;
    border-radius: 50% !important;
    margin: 0 !important;
    border: 2px solid transparent !important;
    transition: transform 0.18s cubic-bezier(.34,1.56,.64,1),
                background-color 0.18s ease,
                border-color 0.18s ease,
                box-shadow 0.18s ease !important;
    backdrop-filter: blur(6px);
    box-shadow: 0 2px 8px rgba(0,0,0,0.18) !important;
    font-size: 15px !important;
}

/* ── Wishlist button – white → red on hover ─────────── */
.product-card .product-button.wishlist_store {
    background: rgba(255,255,255,0.92) !important;
    color: #e53935 !important;
}
.product-card .product-button.wishlist_store:hover {
    background: #e53935 !important;
    color: #fff !important;
    border-color: #e53935 !important;
    transform: scale(1.18) !important;
    box-shadow: 0 4px 14px rgba(229,57,53,0.45) !important;
}

/* ── Add to cart – white → brand gold on hover ──────── */
.product-card .product-button.add_to_single_cart {
    background: rgba(255,255,255,0.92) !important;
    color: #BCA439 !important;
}
.product-card .product-button.add_to_single_cart:hover {
    background: #BCA439 !important;
    color: #fff !important;
    border-color: #BCA439 !important;
    transform: scale(1.18) !important;
    box-shadow: 0 4px 14px rgba(188,164,57,0.45) !important;
}

/* ── Compare button – white → slate on hover ─────────── */
.product-card .product-button.product_compare {
    background: rgba(255,255,255,0.92) !important;
    color: #546e7a !important;
}
.product-card .product-button.product_compare:hover {
    background: #546e7a !important;
    color: #fff !important;
    border-color: #546e7a !important;
    transform: scale(1.18) !important;
    box-shadow: 0 4px 14px rgba(84,110,122,0.35) !important;
}

/* ── Heart beat keyframe ────────────────────────────────────────────── */
@keyframes heartbeat {
    0%   { transform: scale(1.18); }
    30%  { transform: scale(1.36); }
    60%  { transform: scale(1.18); }
    100% { transform: scale(1.18); }
}
.product-card .product-button.wishlist_store:active {
    animation: heartbeat 0.4s ease !important;
}

/* ── Card Body ──────────────────────────────────────────────────────── */
.product-card .product-card-body {
    padding: 14px 16px 14px !important;
}

/* ── Category Label ─────────────────────────────────────────────────── */
.product-card .product-category {
    font-size: 12px !important;
    font-weight: 500;
    text-transform: uppercase;
    letter-spacing: 0.06em;
    margin-bottom: 5px !important;
    opacity: 0.6;
}

/* ── Product Title ──────────────────────────────────────────────────── */
.product-card .product-title {
    font-size: 16px !important;
    font-weight: 600 !important;
    line-height: 1.5;
    margin-bottom: 7px !important;
}

.product-card .product-title a {
    color: #1a1a1a;
    transition: color 0.18s ease;
    text-decoration: none !important;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

.product-card .product-title a:hover {
    color: #BCA439;
}

/* ── Star Rating ────────────────────────────────────────────────────── */
.product-card .rating-stars {
    margin-bottom: 8px !important;
    font-size: 13px;
    letter-spacing: 1px;
}

.product-card .rating-stars .filled {
    color: #f5a623 !important;
}

/* ── Price ──────────────────────────────────────────────────────────── */
.product-card .product-price {
    font-size: 19px !important;
    font-weight: 700 !important;
    color: #BCA439 !important;
    display: flex;
    align-items: center;
    gap: 8px;
    flex-wrap: wrap;
    margin-bottom: 0 !important;
    line-height: 1.3;
}

.product-card .product-price del {
    font-size: 14px !important;
    font-weight: 400 !important;
    color: #9e9e9e !important;
    opacity: 1 !important;
    text-decoration: line-through;
}

/* ── Out of stock card – subtle dimming ─────────────────────────────── */
.product-card:has(.bg-secondary.product-badge) {
    opacity: 0.82;
}

.product-card:has(.bg-secondary.product-badge):hover {
    opacity: 1;
    transform: translateY(-3px);
}

/* ════════════════════════════════════════════════════════════════════════
   SECTION TITLES
   ════════════════════════════════════════════════════════════════════════ */

.section-title {
    margin-bottom: 24px;
}

.section-title h2,
.section-title .h3 {
    font-weight: 700;
    letter-spacing: -0.01em;
    position: relative;
}

/* Gold accent bar under standalone titles */
.section-title:not(:has(.links)) h2::after,
.section-title:not(:has(.links)) .h3::after {
    content: '';
    display: block;
    width: 44px;
    height: 3px;
    background: linear-gradient(90deg, #BCA439 0%, #e0c96a 100%);
    border-radius: 2px;
    margin-top: 7px;
}

/* ── Tab links (Featured / Best Seller / Popular Categories) ──────────── */
.product_get,
.category_get {
    position: relative;
    transition: color 0.18s ease;
    padding-bottom: 5px;
    font-weight: 500;
}

.product_get::after,
.category_get::after {
    content: '';
    position: absolute;
    bottom: 0;
    inset-inline-start: 0;
    width: 0;
    height: 2px;
    background: #BCA439;
    border-radius: 1px;
    transition: width 0.22s ease;
}

.product_get.active::after,
.category_get.active::after {
    width: 100%;
}

/* ── View All link ───────────────────────────────────────────────────── */
.right_link {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    font-weight: 500;
    transition: gap 0.18s ease, color 0.18s ease;
    text-decoration: none !important;
}

.right_link:hover { gap: 8px; }

/* ════════════════════════════════════════════════════════════════════════
   OWL CAROUSEL ARROWS
   ════════════════════════════════════════════════════════════════════════ */

.owl-nav .owl-prev,
.owl-nav .owl-next {
    border-radius: 50% !important;
    transition: background-color 0.18s ease, transform 0.16s ease,
                box-shadow 0.18s ease !important;
}

.owl-nav .owl-prev:not(.disabled):hover,
.owl-nav .owl-next:not(.disabled):hover {
    transform: scale(1.12) !important;
    box-shadow: 0 4px 12px rgba(0,0,0,0.15) !important;
}

/* ── Slider dots pill animation ──────────────────────────────────────── */
.owl-dots .owl-dot span {
    transition: width 0.22s ease, background-color 0.22s ease;
}

.owl-dots .owl-dot.active span {
    width: 22px;
    border-radius: 4px;
}

/* ════════════════════════════════════════════════════════════════════════
   LEFT CATEGORY SIDEBAR
   ════════════════════════════════════════════════════════════════════════ */

.left-category-area .category-list a {
    transition: color 0.15s ease, padding-inline-start 0.15s ease;
}

.left-category-area .category-list a:hover {
    padding-inline-start: 6px;
}

/* ════════════════════════════════════════════════════════════════════════
   MISC UI
   ════════════════════════════════════════════════════════════════════════ */

/* Subscriber form focus ring */
.subscriber-form .form-control:focus {
    box-shadow: 0 0 0 3px rgba(188, 164, 57, 0.2) !important;
    border-color: #BCA439 !important;
    outline: none;
}

/* Scroll-to-top */
.scroll-to-top-btn {
    transition: opacity 0.22s ease, transform 0.22s ease;
}
.scroll-to-top-btn:hover { transform: translateY(-3px); }

/* Blog card lift */
.home-blog-slider .product-card:hover {
    transform: translateY(-4px);
    box-shadow: 0 10px 24px rgba(0, 0, 0, 0.1) !important;
}

/* Section vertical rhythm */
.mt-50 { margin-top: 56px !important; }

/* ════════════════════════════════════════════════════════════════════════
   HEADER TOOLBAR – Cart / Wishlist / Compare icons
   ════════════════════════════════════════════════════════════════════════ */

/* ── Toolbar item base ───────────────────────────────────────────────── */
.site-header .toolbar-item > a {
    transition: color 0.18s ease, transform 0.18s ease;
    display: flex;
    align-items: center;
    gap: 5px;
}

.site-header .toolbar-item > a:hover {
    transform: translateY(-1px);
    text-decoration: none !important;
}

/* ── Count badges (cart count, compare count) ───────────────────────── */
.count-label,
.cart-icon .count-label,
.compare-icon .count-label {
    background: #BCA439 !important;   /* brand gold instead of blue */
    color: #fff !important;
    font-size: 10.5px !important;
    font-weight: 700 !important;
    width: 20px !important;
    height: 20px !important;
    line-height: 20px !important;
    border-radius: 50% !important;
    top: -8px !important;
    right: -10px !important;
    border: 2px solid #fff !important;
    box-shadow: 0 1px 4px rgba(0,0,0,0.2) !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
}

/* ── Cart icon wrapper ──────────────────────────────────────────────── */
.cart-icon,
.compare-icon {
    position: relative;
    display: inline-flex !important;
    align-items: center;
}

/* ── Cart icon pulse when count > 0 ────────────────────────────────── */
@keyframes badge-pop {
    0%   { transform: scale(1); }
    40%  { transform: scale(1.35); }
    70%  { transform: scale(0.9); }
    100% { transform: scale(1); }
}
.cart_count:not(:empty) {
    animation: badge-pop 0.4s cubic-bezier(.34,1.56,.64,1);
}

/* ── Cart icon color ─────────────────────────────────────────────────── */
.site-header .toolbar-item a .icon-shopping-cart {
    font-size: 20px;
    transition: color 0.18s ease;
}
.site-header .toolbar-item a:hover .icon-shopping-cart {
    color: #BCA439;
}

/* ── Wishlist icon ────────────────────────────────────────────────────── */
.site-header .toolbar-item a .icon-heart,
.track-order-link.wishlist-mobile .icon-heart {
    font-size: 20px;
    transition: color 0.18s ease, transform 0.18s ease;
}
.site-header .toolbar-item a:hover .icon-heart {
    color: #e53935;
    transform: scale(1.15);
}

/* ── Compare icon ─────────────────────────────────────────────────────── */
.site-header .toolbar-item a .icon-repeat {
    font-size: 20px;
    transition: color 0.18s ease;
}
.site-header .toolbar-item a:hover .icon-repeat {
    color: #546e7a;
}

/* ── Text label next to icon ──────────────────────────────────────────── */
.site-header .toolbar-item .text-label {
    font-size: 13px !important;
    font-weight: 500;
}

/* ════════════════════════════════════════════════════════════════════════
   PAGE TITLE STRIP & BREADCRUMBS  (shared by all inner pages)
   ════════════════════════════════════════════════════════════════════════ */

.page-title {
    background: linear-gradient(135deg, #1a1612 0%, #2d2820 60%, #BCA439 200%) !important;
    padding: 28px 0 !important;
    border-bottom: 2px solid rgba(188,164,57,0.3);
    position: relative;
    overflow: hidden;
}

.page-title::after {
    content: '';
    position: absolute;
    inset: 0;
    background: url("data:image/svg+xml,%3Csvg width='40' height='40' viewBox='0 0 40 40' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='%23BCA439' fill-opacity='0.04'%3E%3Cpath d='M0 40L40 0H20L0 20M40 40V20L20 40'/%3E%3C/g%3E%3C/svg%3E");
    pointer-events: none;
}

.breadcrumbs {
    list-style: none;
    padding: 0;
    margin: 0;
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 6px;
}

.breadcrumbs li {
    font-size: 14px !important;
    color: #b0a590 !important;
}

.breadcrumbs li a {
    color: #d4c07a !important;
    text-decoration: none !important;
    transition: color 0.15s ease;
}

.breadcrumbs li a:hover { color: #e0c96a !important; }

.breadcrumbs li.separator::before,
.breadcrumbs .separator {
    content: '/';
    color: #5a5040 !important;
    margin: 0 4px;
}

.breadcrumbs li:last-child,
.breadcrumbs li.active a {
    color: #f0ebe0 !important;
    font-weight: 600;
}

/* ════════════════════════════════════════════════════════════════════════
   CAMPAIGN / DEALS PAGE
   ════════════════════════════════════════════════════════════════════════ */

/* ── Hero banner strip ──────────────────────────────────────────────── */
.deal-of-day-section {
    background: #faf8f4;
    padding-top: 48px !important;
}

.deal-of-day-section .section-title {
    background: linear-gradient(135deg, #1a1612 0%, #2d2820 100%);
    border-radius: 16px;
    padding: 28px 32px !important;
    margin-bottom: 36px !important;
    border-bottom: none !important;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    border: 1px solid rgba(188,164,57,0.25);
}

.deal-of-day-section .section-title h2,
.deal-of-day-section .section-title .h3 {
    color: #f5f0e8 !important;
    font-size: 1.6rem !important;
    margin: 0 !important;
    display: flex;
    align-items: center;
    gap: 12px;
}

.deal-of-day-section .section-title h2::before,
.deal-of-day-section .section-title .h3::before {
    content: '🏷';
    font-size: 1.4rem;
}

/* Override the ::after accent bar — doesn't apply here */
.deal-of-day-section .section-title h2::after,
.deal-of-day-section .section-title .h3::after {
    display: none !important;
}

.deal-of-day-section .section-title .right-area {
    display: flex;
    align-items: center;
    gap: 20px;
    flex-wrap: wrap;
}

/* ── Countdown in deals section ─────────────────────────────────────── */
.deal-of-day-section .countdown span {
    background: rgba(188,164,57,0.15) !important;
    border: 1px solid rgba(188,164,57,0.4) !important;
    color: #e0c96a !important;
    border-radius: 8px !important;
    padding: 6px 12px !important;
    font-weight: 700 !important;
    font-size: 14px !important;
}

/* ── Product grid on campaign page ──────────────────────────────────── */
.deal-of-day-section .row.g-3 {
    row-gap: 24px !important;
}

.deal-of-day-section .col-gd {
    padding: 0 10px;
}

/* ════════════════════════════════════════════════════════════════════════
   CATALOG / PRODUCTS PAGE
   ════════════════════════════════════════════════════════════════════════ */

/* ── Top filter toolbar ─────────────────────────────────────────────── */
.shop-top-filter-wrapper {
    background: #fff;
    border-radius: 14px;
    border: 1px solid #ede9e2;
    padding: 16px 20px !important;
    margin-bottom: 24px !important;
    box-shadow: 0 2px 8px rgba(0,0,0,0.05);
}

/* ── Quick filter pills ─────────────────────────────────────────────── */
.quickFilter {
    display: flex;
    align-items: center;
    gap: 8px;
    flex-wrap: wrap;
}

.quickFilter-title {
    font-size: 13.5px !important;
    font-weight: 600;
    color: #555 !important;
    margin: 0 8px 0 0 !important;
    white-space: nowrap;
    display: flex;
    align-items: center;
    gap: 6px;
}

#quick_filter {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    list-style: none;
    margin: 0;
    padding: 0;
}

#quick_filter li a {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    padding: 5px 14px !important;
    border-radius: 20px;
    border: 1.5px solid #ddd;
    background: #faf8f4;
    color: #555 !important;
    font-size: 13.5px !important;
    font-weight: 500;
    text-decoration: none !important;
    transition: background 0.18s ease, border-color 0.18s ease, color 0.18s ease;
    white-space: nowrap;
}

#quick_filter li a i {
    display: none; /* hide the chevron icon — pill shape replaces it */
}

#quick_filter li a:hover,
#quick_filter li.active a {
    background: #BCA439;
    border-color: #BCA439;
    color: #fff !important;
}

/* ── Sort & view toolbar ────────────────────────────────────────────── */
.shop-sorting {
    display: flex;
    align-items: center;
    gap: 8px;
    flex-wrap: wrap;
}

.shop-sorting label {
    font-size: 13.5px !important;
    font-weight: 600;
    color: #555;
    white-space: nowrap;
    margin: 0;
}

.shop-sorting .form-control {
    border-radius: 8px !important;
    border-color: #ddd !important;
    font-size: 13.5px !important;
    padding: 5px 10px !important;
    height: auto !important;
    min-width: 160px;
}

.shop-sorting .text-muted,
.shop-sorting span {
    font-size: 13px !important;
    color: #888 !important;
}

.shop-view {
    display: flex;
    gap: 6px;
    justify-content: flex-end;
}

.shop-view a {
    width: 36px;
    height: 36px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 8px;
    border: 1.5px solid #ddd;
    color: #888 !important;
    transition: background 0.15s ease, border-color 0.15s ease, color 0.15s ease;
}

.shop-view a:hover,
.shop-view a.active {
    background: #BCA439;
    border-color: #BCA439;
    color: #fff !important;
}

/* ── Sidebar ─────────────────────────────────────────────────────────── */
.sidebar .widget-categories.card {
    border: 1px solid #ede9e2 !important;
    border-radius: 14px !important;
    box-shadow: 0 2px 8px rgba(0,0,0,0.05) !important;
    margin-bottom: 20px !important;
    background: #fff !important;
}

.sidebar .widget-title {
    font-size: 14px !important;
    font-weight: 700 !important;
    color: #1a1a1a !important;
    padding-bottom: 12px !important;
    margin-bottom: 14px !important;
    border-bottom: 2px solid #f0ede8 !important;
    position: relative;
}

.sidebar .widget-title::after {
    content: '' !important;
    position: absolute !important;
    bottom: -2px !important;
    inset-inline-start: 0 !important;
    width: 32px !important;
    height: 2px !important;
    background: #BCA439 !important;
    border-radius: 2px !important;
}

/* Category links in sidebar */
.sidebar .category_search {
    font-size: 14px !important;
    color: #333 !important;
    padding: 5px 0 !important;
    display: flex;
    justify-content: space-between;
    transition: color 0.15s ease, padding-inline-start 0.15s ease;
}

.sidebar .category_search:hover,
.sidebar .category_search.active {
    color: #BCA439 !important;
    padding-inline-start: 6px !important;
}

.sidebar .subcategory,
.sidebar .childcategory {
    font-size: 13px !important;
    color: #666 !important;
    padding: 3px 0 3px 12px !important;
    display: block;
    transition: color 0.15s ease;
}

.sidebar .subcategory:hover,
.sidebar .childcategory:hover {
    color: #BCA439 !important;
}

/* Brand checkboxes */
.sidebar .custom-control-label {
    font-size: 13.5px !important;
    color: #555;
    cursor: pointer;
}

/* ── Pagination ──────────────────────────────────────────────────────── */
.pagination {
    display: flex;
    gap: 4px;
    justify-content: center;
    flex-wrap: wrap;
    margin-top: 32px !important;
}

.page-item .page-link {
    width: 38px;
    height: 38px;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    border-radius: 8px !important;
    border: 1.5px solid #ede9e2 !important;
    color: #555 !important;
    font-size: 14px !important;
    font-weight: 500;
    background: #fff !important;
    transition: background 0.18s ease, border-color 0.18s ease, color 0.18s ease;
}

.page-item .page-link:hover {
    background: #faf5e4 !important;
    border-color: #BCA439 !important;
    color: #BCA439 !important;
}

.page-item.active .page-link {
    background: #BCA439 !important;
    border-color: #BCA439 !important;
    color: #fff !important;
    font-weight: 700;
    box-shadow: 0 4px 12px rgba(188,164,57,0.35);
}

.page-item.disabled .page-link {
    opacity: 0.4;
}

/* ════════════════════════════════════════════════════════════════════════
   FOOTER
   ════════════════════════════════════════════════════════════════════════ */

/* ── Footer shell ───────────────────────────────────────────────────── */
.site-footer {
    background: linear-gradient(160deg, #1a1612 0%, #24201a 100%) !important;
    color: #c8bfa8 !important;
    padding-top: 64px !important;
    padding-bottom: 0 !important;
    border-top: 3px solid #BCA439;
    position: relative;
}

/* Subtle gold shimmer line at the very top */
.site-footer::before {
    content: '';
    display: block;
    position: absolute;
    top: -3px;
    left: 50%;
    transform: translateX(-50%);
    width: 120px;
    height: 3px;
    background: linear-gradient(90deg, transparent, #e0c96a, transparent);
    border-radius: 2px;
}

/* ── Widget title ───────────────────────────────────────────────────── */
.site-footer .widget-title {
    color: #f5f0e8 !important;
    font-size: 1.05rem !important;
    font-weight: 700 !important;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    padding-bottom: 14px !important;
    margin-bottom: 20px !important;
    border-bottom: 1px solid rgba(188,164,57,0.25) !important;
    position: relative;
}

/* Gold accent dot under widget title */
.site-footer .widget-title::after {
    content: '' !important;
    position: absolute !important;
    bottom: -2px !important;
    inset-inline-start: 0 !important;
    width: 36px !important;
    height: 2px !important;
    background: #BCA439 !important;
    border-radius: 2px !important;
}

/* ── Body text & links ──────────────────────────────────────────────── */
.site-footer p,
.site-footer li,
.site-footer address {
    color: #b0a590 !important;
    font-size: 14.5px !important;
    line-height: 1.8;
}

.site-footer a {
    color: #b0a590 !important;
    transition: color 0.18s ease !important;
    text-decoration: none !important;
}

.site-footer a:hover {
    color: #e0c96a !important;
}

.site-footer strong {
    color: #d8cdb8 !important;
    font-weight: 600;
}

/* ── Quick Links list ───────────────────────────────────────────────── */
.footer-quick-links {
    margin: 0;
    padding: 0;
}

.footer-quick-links li {
    padding: 5px 0 !important;
    border-bottom: 1px solid rgba(255,255,255,0.05);
}

.footer-quick-links li:last-child {
    border-bottom: none;
}

.footer-quick-links li a {
    display: flex;
    align-items: center;
    gap: 10px;
    font-size: 14.5px !important;
    padding: 2px 0;
    transition: color 0.18s ease, padding-inline-start 0.18s ease !important;
}

.footer-quick-links li a:hover {
    padding-inline-start: 6px !important;
    color: #e0c96a !important;
}

.footer-quick-links li a i {
    font-size: 13px;
    width: 16px;
    text-align: center;
    color: #BCA439;
    opacity: 0.75;
    flex-shrink: 0;
}

/* ── Social links ───────────────────────────────────────────────────── */
.footer-social-links {
    display: flex;
    gap: 10px;
    flex-wrap: wrap;
    margin-top: 8px;
}

.footer-social-links a {
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    width: 40px;
    height: 40px;
    border-radius: 50%;
    background: rgba(188,164,57,0.12) !important;
    border: 1px solid rgba(188,164,57,0.3);
    color: #BCA439 !important;
    font-size: 16px;
    transition: background 0.2s ease, transform 0.2s ease, border-color 0.2s ease !important;
    text-decoration: none !important;
}

.footer-social-links a span {
    display: flex;
    align-items: center;
    justify-content: center;
    line-height: 1;
}

.footer-social-links a:hover {
    background: #BCA439 !important;
    border-color: #BCA439 !important;
    color: #fff !important;
    transform: translateY(-3px) scale(1.08);
}

/* WhatsApp */
.footer-social-links a:has(.fa-whatsapp):hover { background: #25d366 !important; border-color: #25d366 !important; }
/* Instagram */
.footer-social-links a:has(.fa-instagram):hover { background: linear-gradient(45deg,#f09433,#e6683c,#dc2743,#cc2366,#bc1888) !important; border-color: #e6683c !important; }
/* YouTube */
.footer-social-links a:has(.fa-youtube-square):hover,
.footer-social-links a:has(.fa-youtube):hover { background: #ff0000 !important; border-color: #ff0000 !important; }

/* ── Newsletter form ─────────────────────────────────────────────────── */
.site-footer .subscriber-form .form-control {
    background: rgba(255,255,255,0.07) !important;
    border: 1px solid rgba(188,164,57,0.3) !important;
    color: #f0ebe0 !important;
    border-radius: 8px 0 0 8px !important;
    padding: 10px 14px !important;
}

.site-footer .subscriber-form .form-control::placeholder {
    color: #7a6e5e !important;
}

.site-footer .subscriber-form .form-control:focus {
    background: rgba(255,255,255,0.1) !important;
    border-color: #BCA439 !important;
    box-shadow: 0 0 0 3px rgba(188,164,57,0.18) !important;
}

.site-footer .subscriber-form .input-group-addon {
    background: rgba(188,164,57,0.15) !important;
    border: 1px solid rgba(188,164,57,0.3) !important;
    border-radius: 0 8px 8px 0 !important;
    color: #BCA439 !important;
}

.site-footer .subscriber-form .btn-primary {
    background: #BCA439 !important;
    border-color: #BCA439 !important;
    color: #1a1612 !important;
    font-weight: 700 !important;
    border-radius: 8px !important;
    padding: 10px !important;
    transition: background 0.18s ease, transform 0.15s ease !important;
}

.site-footer .subscriber-form .btn-primary:hover {
    background: #d4b93e !important;
    transform: translateY(-1px);
}

.site-footer .text-sm {
    color: #6e6355 !important;
    font-size: 13px !important;
}

/* ── Payment gateway image ───────────────────────────────────────────── */
.site-footer .gateway_image {
    opacity: 0.55;
    filter: brightness(0) invert(1);
    max-height: 32px;
    transition: opacity 0.2s ease;
}

.site-footer .gateway_image:hover {
    opacity: 0.8;
}

/* ── Copyright bar ───────────────────────────────────────────────────── */
.site-footer .footer-copyright {
    color: #5a5040 !important;
    font-size: 13px !important;
    text-align: center;
    border-top: 1px solid rgba(255,255,255,0.06) !important;
    margin: 40px -15px 0 !important;
    padding: 18px 15px !important;
    letter-spacing: 0.03em;
}

/* ════════════════════════════════════════════════════════════════════════
   PRODUCT DETAIL PAGE
   ════════════════════════════════════════════════════════════════════════ */

/* ── Page wrapper spacing ───────────────────────────────────────────── */
.container.padding-bottom-1x.mb-1 {
    padding-top: 36px !important;
}

/* ── Product Gallery ────────────────────────────────────────────────── */
.product-gallery {
    position: relative;
    border-radius: 18px;
    overflow: hidden;
    background: #faf8f4;
    border: 1px solid #ede9e2;
    box-shadow: 0 4px 24px rgba(0,0,0,0.07);
}

.product-gallery .product-thumbnails {
    border-radius: 0;
    overflow: hidden;
}

.product-gallery .product-details-slider .item img {
    width: 100%;
    max-height: 480px;
    object-fit: contain;
    display: block;
    padding: 24px;
    background: #faf8f4;
    transition: transform 0.4s ease;
}

.product-gallery .product-details-slider .item img:hover {
    transform: scale(1.04);
}

/* Gallery badge positioning */
.product-gallery .product-badge {
    position: absolute;
    top: 16px;
    inset-inline-start: 16px;
    z-index: 4;
    border-radius: 20px !important;
    font-size: 0.72rem;
    font-weight: 700;
    padding: 4px 12px !important;
}

.product-gallery .ppp-t {
    top: 50px;
}

/* Owl nav arrows on gallery */
.product-details-slider.owl-carousel .owl-nav .owl-prev,
.product-details-slider.owl-carousel .owl-nav .owl-next {
    background: rgba(255,255,255,0.9) !important;
    border: 1.5px solid #ede9e2 !important;
    width: 40px !important;
    height: 40px !important;
    line-height: 40px !important;
    border-radius: 50% !important;
    box-shadow: 0 2px 8px rgba(0,0,0,0.1) !important;
    transition: background 0.18s ease, border-color 0.18s ease !important;
}

.product-details-slider.owl-carousel .owl-nav .owl-prev:hover,
.product-details-slider.owl-carousel .owl-nav .owl-next:hover {
    background: #BCA439 !important;
    border-color: #BCA439 !important;
    color: #fff !important;
}

/* ── Product Info Panel ─────────────────────────────────────────────── */
.details-page-top-right-content {
    padding-inline-start: 12px;
}

/* Product title */
.p-title-main {
    font-size: 1.65rem !important;
    font-weight: 800 !important;
    line-height: 1.3 !important;
    color: #1a1a1a !important;
    margin-bottom: 10px !important;
}

/* تفصيل / جاهز badge */
.details-page-top-right-content > .div > a.a-t-c-mr {
    display: inline-flex !important;
    align-items: center;
    gap: 6px;
    background: #1a1612 !important;
    border-color: #1a1612 !important;
    color: #e0c96a !important;
    font-size: 13px !important;
    font-weight: 600 !important;
    padding: 5px 14px !important;
    border-radius: 20px !important;
    margin-bottom: 12px !important;
    letter-spacing: 0.03em;
}

/* Rating + stock row */
.details-page-top-right-content .rating-stars {
    font-size: 14px;
    letter-spacing: 1px;
}

.details-page-top-right-content .rating-stars .filled {
    color: #f5a623 !important;
}

.details-page-top-right-content .text-success {
    color: #2e7d32 !important;
    font-size: 14px !important;
    font-weight: 500;
}

.details-page-top-right-content .text-danger {
    color: #c62828 !important;
    font-size: 14px !important;
    font-weight: 500;
}

/* ── Price Area ─────────────────────────────────────────────────────── */
.price-area {
    margin: 12px 0 14px !important;
    display: flex !important;
    align-items: baseline !important;
    gap: 10px;
    flex-wrap: wrap;
}

.price-area small del {
    font-size: 1rem !important;
    color: #9e9e9e !important;
    font-weight: 400 !important;
    text-decoration: line-through;
}

.price-area .main-price {
    font-size: 2rem !important;
    font-weight: 800 !important;
    color: #BCA439 !important;
    line-height: 1.1;
}

/* Short description */
.details-page-top-right-content > .div > p.text-muted {
    font-size: 15px !important;
    line-height: 1.7;
    color: #666 !important;
    margin-bottom: 16px !important;
    border-bottom: 1px solid #f0ede8;
    padding-bottom: 16px;
}

.details-page-top-right-content .scroll-to {
    color: #BCA439 !important;
    font-weight: 500;
    text-decoration: underline !important;
}

/* Attribute selects */
.details-page-top-right-content .form-group label {
    font-size: 13.5px !important;
    font-weight: 600 !important;
    color: #555 !important;
    margin-bottom: 5px;
}

.details-page-top-right-content .attribute_option.form-control {
    border-radius: 10px !important;
    border: 1.5px solid #ddd !important;
    font-size: 14px !important;
    transition: border-color 0.18s ease, box-shadow 0.18s ease;
}

.details-page-top-right-content .attribute_option.form-control:focus {
    border-color: #BCA439 !important;
    box-shadow: 0 0 0 3px rgba(188,164,57,0.18) !important;
    outline: none;
}

/* ── Quantity Selector ──────────────────────────────────────────────── */
.qtySelector.product-quantity {
    display: inline-flex !important;
    align-items: center;
    border: 2px solid #ede9e2 !important;
    border-radius: 12px !important;
    overflow: hidden;
    background: #fff;
    box-shadow: 0 2px 8px rgba(0,0,0,0.05);
    margin-bottom: 14px;
}

.qtySelector .decreaseQty,
.qtySelector .increaseQty {
    width: 42px !important;
    height: 42px !important;
    display: flex !important;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    background: #faf8f4 !important;
    color: #555 !important;
    font-size: 14px;
    transition: background 0.15s ease, color 0.15s ease;
    user-select: none;
}

.qtySelector .decreaseQty:hover,
.qtySelector .increaseQty:hover {
    background: #BCA439 !important;
    color: #fff !important;
}

.qtySelector .qtyValue {
    width: 56px !important;
    text-align: center;
    border: none !important;
    background: #fff;
    font-size: 16px !important;
    font-weight: 700 !important;
    color: #1a1a1a;
    box-shadow: none !important;
    outline: none;
    padding: 0 !important;
    height: 42px !important;
}

/* ── Add-to-Cart / Buy-Now Buttons ──────────────────────────────────── */
.p-action-button {
    display: flex;
    gap: 12px;
    flex-wrap: wrap;
    margin-top: 4px;
}

.p-action-button .btn-primary {
    display: inline-flex !important;
    align-items: center;
    gap: 8px;
    padding: 12px 26px !important;
    border-radius: 12px !important;
    font-size: 15px !important;
    font-weight: 700 !important;
    transition: background 0.18s ease, transform 0.15s ease,
                box-shadow 0.18s ease !important;
}

/* Add to Cart – gold */
#add_to_cart {
    background: #BCA439 !important;
    border-color: #BCA439 !important;
    color: #1a1612 !important;
}
#add_to_cart:hover {
    background: #d4b93e !important;
    border-color: #d4b93e !important;
    transform: translateY(-2px);
    box-shadow: 0 6px 18px rgba(188,164,57,0.4) !important;
}

/* Buy Now – dark */
#but_to_cart {
    background: #1a1612 !important;
    border-color: #1a1612 !important;
    color: #e0c96a !important;
}
#but_to_cart:hover {
    background: #2d2820 !important;
    border-color: #2d2820 !important;
    transform: translateY(-2px);
    box-shadow: 0 6px 18px rgba(0,0,0,0.25) !important;
}

/* ── Meta info (brand / category / tags / SKU) ──────────────────────── */
.t-c-b-area {
    background: #faf8f4;
    border-radius: 12px;
    padding: 14px 18px !important;
    border: 1px solid #ede9e2;
    font-size: 14px !important;
    line-height: 1.8;
}

.t-c-b-area .text-medium {
    font-weight: 600 !important;
    color: #555 !important;
    min-width: 80px;
    display: inline-block;
}

.t-c-b-area a {
    color: #BCA439 !important;
    transition: color 0.15s ease;
    text-decoration: none !important;
}

.t-c-b-area a:hover {
    color: #d4b93e !important;
    text-decoration: underline !important;
}

/* ── Wishlist / Compare / Share area ────────────────────────────────── */
.p-d-f-area {
    display: flex;
    align-items: center;
    justify-content: space-between;
    flex-wrap: wrap;
    gap: 12px;
    padding-top: 16px !important;
    border-top: 1px solid #f0ede8;
}

.p-d-f-area .left {
    display: flex;
    gap: 10px;
    flex-wrap: wrap;
}

.p-d-f-area .btn-primary.btn-sm {
    display: inline-flex !important;
    align-items: center;
    gap: 6px;
    border-radius: 10px !important;
    padding: 8px 16px !important;
    font-size: 13.5px !important;
    font-weight: 600 !important;
    background: #1a1612 !important;
    border-color: #1a1612 !important;
    color: #e0c96a !important;
    transition: background 0.18s ease, transform 0.15s ease !important;
}

.p-d-f-area .btn-primary.btn-sm:hover {
    background: #2d2820 !important;
    transform: translateY(-2px);
}

/* Social share icons */
.p-d-f-area .a2a_kit {
    display: flex;
    gap: 8px;
    align-items: center;
}

.p-d-f-area .a2a_kit a {
    width: 34px;
    height: 34px;
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    border: 1.5px solid #ddd;
    color: #666 !important;
    font-size: 14px;
    transition: background 0.18s ease, border-color 0.18s ease, color 0.18s ease;
    text-decoration: none !important;
}

.p-d-f-area .a2a_kit a.facebook:hover  { background: #1877f2; border-color: #1877f2; color: #fff !important; }
.p-d-f-area .a2a_kit a.twitter:hover   { background: #1da1f2; border-color: #1da1f2; color: #fff !important; }
.p-d-f-area .a2a_kit a.linkedin:hover  { background: #0a66c2; border-color: #0a66c2; color: #fff !important; }
.p-d-f-area .a2a_kit a.pinterest:hover { background: #e60023; border-color: #e60023; color: #fff !important; }

.p-d-f-area .text-muted {
    font-size: 13.5px !important;
    font-weight: 500;
}

/* ── Product tabs ────────────────────────────────────────────────────── */
.padding-top-3x .nav-tabs {
    border-bottom: 2px solid #ede9e2 !important;
    gap: 4px;
}

.padding-top-3x .nav-tabs .nav-item .nav-link {
    font-size: 15px !important;
    font-weight: 600 !important;
    color: #666 !important;
    border: none !important;
    border-bottom: 3px solid transparent !important;
    border-radius: 0 !important;
    padding: 10px 20px !important;
    background: transparent !important;
    transition: color 0.18s ease, border-color 0.18s ease;
}

.padding-top-3x .nav-tabs .nav-item .nav-link:hover {
    color: #BCA439 !important;
    border-bottom-color: rgba(188,164,57,0.4) !important;
}

.padding-top-3x .nav-tabs .nav-item .nav-link.active {
    color: #BCA439 !important;
    border-bottom-color: #BCA439 !important;
}

/* Tab content card */
.padding-top-3x .tab-content.card {
    border: 1px solid #ede9e2 !important;
    border-radius: 0 0 16px 16px !important;
    border-top: none !important;
    padding: 28px 28px !important;
    box-shadow: 0 4px 16px rgba(0,0,0,0.05) !important;
    font-size: 15px !important;
    line-height: 1.8;
    color: #333;
}

/* ── Specifications table ───────────────────────────────────────────── */
.comparison-table .table {
    margin-bottom: 0;
    border-radius: 10px;
    overflow: hidden;
}

.comparison-table .table thead.bg-secondary,
.comparison-table .table tr.bg-secondary {
    background: #f5f0e8 !important;
}

.comparison-table .table tr.bg-secondary th {
    color: #1a1a1a !important;
    font-weight: 700 !important;
    font-size: 14px !important;
    padding: 12px 16px !important;
    border-color: #ede9e2 !important;
}

.comparison-table .table tr.bg-secondary td {
    padding: 12px 16px !important;
    border-color: #ede9e2 !important;
}

.comparison-table .table tbody tr {
    transition: background 0.12s ease;
}

.comparison-table .table tbody tr:hover {
    background: #faf8f4;
}

.comparison-table .table th,
.comparison-table .table td {
    font-size: 14px !important;
    padding: 10px 16px !important;
    border-color: #ede9e2 !important;
    vertical-align: middle;
}

/* ── Reviews Section ────────────────────────────────────────────────── */
.review-area {
    padding-top: 48px !important;
    padding-bottom: 48px !important;
}

.review-area .section-title {
    border-bottom: 2px solid #f0ede8;
    padding-bottom: 16px;
    margin-bottom: 28px !important;
}

/* Individual review */
.single-review {
    margin-bottom: 20px;
}

.single-review .comment {
    display: flex;
    gap: 16px;
    background: #fff;
    border: 1px solid #ede9e2;
    border-radius: 14px;
    padding: 20px 22px !important;
    box-shadow: 0 2px 8px rgba(0,0,0,0.04);
    transition: box-shadow 0.2s ease, border-color 0.2s ease;
}

.single-review .comment:hover {
    box-shadow: 0 6px 20px rgba(0,0,0,0.08);
    border-color: rgba(188,164,57,0.35);
}

/* Reviewer avatar */
.comment-author-ava {
    flex-shrink: 0;
}

.comment-author-ava img {
    width: 52px !important;
    height: 52px !important;
    border-radius: 50% !important;
    object-fit: cover;
    border: 2px solid #ede9e2;
}

/* Review body */
.comment-body {
    flex: 1;
    min-width: 0;
}

.comment-header {
    margin-bottom: 8px;
}

.comment-title {
    font-size: 15px !important;
    font-weight: 700 !important;
    color: #1a1a1a !important;
    margin-bottom: 2px !important;
}

.comment-header span {
    font-size: 13.5px !important;
    color: #888 !important;
}

.comment-body .rating-stars .filled {
    color: #f5a623 !important;
}

.comment-text {
    font-size: 14.5px !important;
    line-height: 1.7;
    color: #444 !important;
    margin-bottom: 0 !important;
}

/* Empty reviews card */
.review-area .card.p-5 {
    border: 1.5px dashed #ede9e2 !important;
    border-radius: 14px !important;
    text-align: center;
    color: #888 !important;
    font-size: 15px !important;
    background: #faf8f4 !important;
    box-shadow: none !important;
}

/* ── Rating summary card ────────────────────────────────────────────── */
.review-area .col-md-4 .card {
    border: 1px solid #ede9e2 !important;
    border-radius: 16px !important;
    box-shadow: 0 4px 20px rgba(0,0,0,0.06) !important;
    overflow: hidden;
}

.review-area .col-md-4 .card-body {
    padding: 24px !important;
}

/* Big number score */
.review-area .col-md-4 .display-3 {
    font-size: 3.2rem !important;
    font-weight: 800 !important;
    color: #1a1a1a !important;
    line-height: 1;
}

.review-area .col-md-4 .rating-stars .filled {
    color: #f5a623 !important;
    font-size: 16px;
}

/* Star labels */
.review-area .col-md-4 label.text-medium {
    font-size: 13px !important;
    color: #555 !important;
    font-weight: 500 !important;
    margin-bottom: 4px !important;
    display: flex;
    align-items: center;
    justify-content: space-between;
}

/* Progress bars */
.review-area .progress {
    height: 6px !important;
    border-radius: 4px !important;
    background: #f0ede8 !important;
    margin-bottom: 10px !important;
}

.review-area .progress-bar.bg-warning {
    background: #f5a623 !important;
    border-radius: 4px !important;
}

/* Leave a review button */
.review-area .btn-primary.btn-block {
    background: #BCA439 !important;
    border-color: #BCA439 !important;
    color: #1a1612 !important;
    font-weight: 700 !important;
    padding: 11px !important;
    border-radius: 10px !important;
    transition: background 0.18s ease, transform 0.15s ease !important;
    display: flex !important;
    align-items: center;
    justify-content: center;
}

.review-area .btn-primary.btn-block:hover {
    background: #d4b93e !important;
    transform: translateY(-2px);
    box-shadow: 0 5px 14px rgba(188,164,57,0.38) !important;
}

/* ── Related Products Section ───────────────────────────────────────── */
.relatedproduct-section {
    background: #faf8f4;
    padding: 48px 0 56px !important;
    border-top: 1px solid #ede9e2;
}

.relatedproduct-section .section-title {
    margin-bottom: 28px !important;
}

/* ── Review modal ────────────────────────────────────────────────────── */
.ratingForm .modal-content {
    border-radius: 18px !important;
    border: none !important;
    box-shadow: 0 20px 60px rgba(0,0,0,0.18) !important;
    overflow: hidden;
}

.ratingForm .modal-header {
    background: #1a1612 !important;
    border-bottom: none !important;
    padding: 20px 28px !important;
}

.ratingForm .modal-header .modal-title {
    color: #e0c96a !important;
    font-size: 1.2rem !important;
    font-weight: 700 !important;
}

.ratingForm .modal-header .close,
.ratingForm .modal-header .modal_close {
    color: #b0a590 !important;
    opacity: 1 !important;
    background: rgba(255,255,255,0.08) !important;
    border-radius: 8px !important;
    padding: 4px 10px !important;
    transition: background 0.15s ease !important;
}

.ratingForm .modal-header .close:hover,
.ratingForm .modal-header .modal_close:hover {
    background: rgba(255,255,255,0.16) !important;
}

.ratingForm .modal-body {
    padding: 28px !important;
}

.ratingForm .modal-footer {
    border-top: 1px solid #f0ede8 !important;
    padding: 16px 28px !important;
}

.ratingForm .modal-footer .btn-primary {
    background: #BCA439 !important;
    border-color: #BCA439 !important;
    color: #1a1612 !important;
    font-weight: 700 !important;
    padding: 10px 28px !important;
    border-radius: 10px !important;
}

/* ════════════════════════════════════════════════════════════════════════
   CART PAGE
   ════════════════════════════════════════════════════════════════════════ */

/* ── Page wrapper ────────────────────────────────────────────────────── */
.container.padding-bottom-3x.mb-1 {
    padding-top: 36px !important;
}

/* ── Desktop cart table card ─────────────────────────────────────────── */
.desktop-cart-table.card {
    border: 1px solid #ede9e2 !important;
    border-radius: 18px !important;
    box-shadow: 0 4px 20px rgba(0,0,0,0.06) !important;
    overflow: hidden;
}

.desktop-cart-table .card-body {
    padding: 0 !important;
}

.shopping-cart.table-responsive {
    border-radius: 18px;
    overflow: hidden;
}

/* Table head */
.shopping-cart .table thead tr th {
    background: #1a1612 !important;
    color: #e0c96a !important;
    font-size: 13px !important;
    font-weight: 700 !important;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    padding: 14px 18px !important;
    border-color: #2d2820 !important;
    white-space: nowrap;
}

/* Table body rows */
.shopping-cart .table tbody tr {
    transition: background 0.14s ease;
    border-color: #f0ede8 !important;
}

.shopping-cart .table tbody tr:hover {
    background: #faf8f4 !important;
}

.shopping-cart .table tbody td {
    padding: 16px 18px !important;
    border-color: #f0ede8 !important;
    vertical-align: middle;
    font-size: 14.5px !important;
}

/* Product cell */
.shopping-cart .product-item {
    display: flex;
    align-items: center;
    gap: 14px;
}

.shopping-cart .product-item .product-thumb img {
    width: 76px !important;
    height: 76px !important;
    object-fit: cover;
    border-radius: 10px !important;
    border: 1px solid #ede9e2;
    display: block;
    transition: transform 0.22s ease;
}

.shopping-cart .product-item .product-thumb:hover img {
    transform: scale(1.06);
}

.shopping-cart .product-item .product-title {
    font-size: 14.5px !important;
    font-weight: 600 !important;
    margin-bottom: 4px !important;
}

.shopping-cart .product-item .product-title a {
    color: #1a1a1a !important;
    transition: color 0.15s ease;
    text-decoration: none !important;
}

.shopping-cart .product-item .product-title a:hover {
    color: #BCA439 !important;
}

.shopping-cart .product-item .product-info span {
    font-size: 12.5px !important;
    color: #888 !important;
}

/* Price cells */
.shopping-cart .text-lg {
    font-size: 16px !important;
    font-weight: 700 !important;
    color: #BCA439 !important;
}

/* Quantity in cart table – reuse detail page style */
.shopping-cart .qtySelector.product-quantity {
    margin: 0 auto;
    display: inline-flex !important;
}

/* Remove button */
.shopping-cart .remove-from-cart {
    width: 34px;
    height: 34px;
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    border-radius: 50% !important;
    background: #fee8e8 !important;
    color: #c62828 !important;
    font-size: 15px;
    transition: background 0.15s ease, transform 0.15s ease;
    text-decoration: none !important;
}

.shopping-cart .remove-from-cart:hover {
    background: #c62828 !important;
    color: #fff !important;
    transform: scale(1.12);
}

/* Clear cart button in header */
.shopping-cart thead .btn-primary {
    background: #c62828 !important;
    border-color: #c62828 !important;
    border-radius: 8px !important;
    font-size: 12px !important;
    padding: 5px 12px !important;
    font-weight: 600 !important;
}

/* ── Cart footer card ────────────────────────────────────────────────── */
.card.mt-4 {
    border: 1px solid #ede9e2 !important;
    border-radius: 18px !important;
    box-shadow: 0 4px 20px rgba(0,0,0,0.06) !important;
}

.card.mt-4 .card-body {
    padding: 24px 28px !important;
}

.shopping-cart-footer {
    display: flex;
    align-items: center;
    justify-content: space-between;
    flex-wrap: wrap;
    gap: 14px;
    padding: 10px 0;
    border-bottom: 1px solid #f0ede8;
}

.shopping-cart-footer:last-child {
    border-bottom: none;
    padding-top: 18px;
    padding-bottom: 0;
}

/* Coupon form */
.coupon-form {
    display: flex;
    gap: 8px;
    align-items: center;
    flex-wrap: wrap;
}

.coupon-form .form-control {
    border-radius: 10px !important;
    border: 1.5px solid #ddd !important;
    font-size: 14px !important;
    padding: 8px 14px !important;
    height: auto !important;
    min-width: 180px;
    transition: border-color 0.18s ease, box-shadow 0.18s ease;
}

.coupon-form .form-control:focus {
    border-color: #BCA439 !important;
    box-shadow: 0 0 0 3px rgba(188,164,57,0.18) !important;
    outline: none;
}

.coupon-form .btn-primary {
    background: #BCA439 !important;
    border-color: #BCA439 !important;
    color: #1a1612 !important;
    font-weight: 700 !important;
    padding: 8px 18px !important;
    border-radius: 10px !important;
    font-size: 14px !important;
    white-space: nowrap;
    transition: background 0.18s ease, transform 0.15s ease !important;
}

.coupon-form .btn-primary:hover {
    background: #d4b93e !important;
    transform: translateY(-1px);
}

/* Discount + Subtotal totals */
.shopping-cart-footer .text-right.text-lg {
    font-size: 15.5px !important;
    font-weight: 600 !important;
}

.shopping-cart-footer .text-muted {
    color: #888 !important;
}

.shopping-cart-footer .text-gray-dark {
    color: #1a1a1a !important;
    font-weight: 700 !important;
}

/* Remove coupon button inline */
.shopping-cart-footer .btn-danger.btn-sm {
    background: #fee8e8 !important;
    border-color: #fee8e8 !important;
    color: #c62828 !important;
    border-radius: 8px !important;
    padding: 4px 8px !important;
    font-size: 12px !important;
}

.shopping-cart-footer .btn-danger.btn-sm:hover {
    background: #c62828 !important;
    color: #fff !important;
}

/* Back to shopping + Checkout buttons */
.shopping-cart-footer .btn-primary {
    display: inline-flex !important;
    align-items: center;
    gap: 8px;
    padding: 12px 26px !important;
    border-radius: 12px !important;
    font-size: 15px !important;
    font-weight: 700 !important;
    transition: background 0.18s ease, transform 0.15s ease, box-shadow 0.18s ease !important;
}

/* Back to shopping – outlined dark */
.shopping-cart-footer .column:first-child .btn-primary {
    background: #1a1612 !important;
    border-color: #1a1612 !important;
    color: #e0c96a !important;
}

.shopping-cart-footer .column:first-child .btn-primary:hover {
    background: #2d2820 !important;
    transform: translateY(-2px);
    box-shadow: 0 6px 16px rgba(0,0,0,0.2) !important;
}

/* Checkout – gold */
.shopping-cart-footer .column:last-child .btn-primary {
    background: #BCA439 !important;
    border-color: #BCA439 !important;
    color: #1a1612 !important;
}

.shopping-cart-footer .column:last-child .btn-primary:hover {
    background: #d4b93e !important;
    transform: translateY(-2px);
    box-shadow: 0 6px 18px rgba(188,164,57,0.42) !important;
}

/* ── Empty cart card ──────────────────────────────────────────────────── */
.container.padding-bottom-3x.mb-1 > .card {
    border: 1.5px dashed #ede9e2 !important;
    border-radius: 18px !important;
    box-shadow: none !important;
    background: #faf8f4 !important;
}

.container.padding-bottom-3x.mb-1 > .card .card-title {
    font-size: 1.2rem !important;
    font-weight: 700 !important;
    color: #555 !important;
}

.container.padding-bottom-3x.mb-1 > .card .btn-outline-primary {
    border-color: #BCA439 !important;
    color: #BCA439 !important;
    border-radius: 12px !important;
    font-weight: 600 !important;
    font-size: 15px !important;
    padding: 11px 28px !important;
    transition: background 0.18s ease, color 0.18s ease, transform 0.15s ease;
}

.container.padding-bottom-3x.mb-1 > .card .btn-outline-primary:hover {
    background: #BCA439 !important;
    color: #1a1612 !important;
    transform: translateY(-2px);
    box-shadow: 0 6px 18px rgba(188,164,57,0.35) !important;
}

/* ── Mobile cart items – override inline red with brand gold ─────────── */
.cart-mobile-item .cart-item-price {
    color: #BCA439 !important;
}

.cart-mobile-item .cart-qty-btn:hover {
    background: #BCA439 !important;
    border-color: #BCA439 !important;
    color: #fff !important;
}

/* ════════════════════════════════════════════════════════════════════════
   USER SIDEBAR  (Orders / Wishlist / Profile pages)
   ════════════════════════════════════════════════════════════════════════ */

/* ── Sidebar wrapper card ────────────────────────────────────────────── */
.user-info-wrapper {
    background: #fff !important;
    border: 1px solid #ede9e2 !important;
    border-radius: 18px !important;
    box-shadow: 0 4px 20px rgba(0,0,0,0.06) !important;
    overflow: hidden;
    margin-bottom: 24px !important;
}

/* ── Avatar + name area ──────────────────────────────────────────────── */
.user-info {
    display: flex;
    align-items: center;
    gap: 14px;
    padding: 24px 22px 20px !important;
    background: linear-gradient(135deg, #1a1612 0%, #2d2820 100%);
    border-bottom: 2px solid rgba(188,164,57,0.3);
}

.user-avatar img {
    width: 64px !important;
    height: 64px !important;
    border-radius: 50% !important;
    object-fit: cover;
    border: 3px solid #BCA439 !important;
    box-shadow: 0 2px 10px rgba(0,0,0,0.3);
}

.user-data h4 {
    font-size: 1rem !important;
    font-weight: 700 !important;
    color: #f5f0e8 !important;
    margin-bottom: 2px !important;
}

.user-data span {
    font-size: 12.5px !important;
    color: #8a7d68 !important;
}

/* ── Sidebar nav links ───────────────────────────────────────────────── */
.user-info-wrapper nav.list-group {
    padding: 10px 0 !important;
}

.user-info-wrapper .list-group-item {
    display: flex !important;
    align-items: center;
    gap: 10px;
    padding: 11px 22px !important;
    font-size: 14.5px !important;
    font-weight: 500 !important;
    color: #444 !important;
    border: none !important;
    border-radius: 0 !important;
    background: transparent !important;
    text-decoration: none !important;
    transition: background 0.15s ease, color 0.15s ease, padding-inline-start 0.15s ease;
    position: relative;
}

.user-info-wrapper .list-group-item i {
    font-size: 16px;
    width: 20px;
    text-align: center;
    color: #999;
    transition: color 0.15s ease;
    flex-shrink: 0;
}

.user-info-wrapper .list-group-item:hover {
    background: #faf8f4 !important;
    color: #BCA439 !important;
    padding-inline-start: 28px !important;
}

.user-info-wrapper .list-group-item:hover i {
    color: #BCA439 !important;
}

.user-info-wrapper .list-group-item.active {
    background: #faf5e4 !important;
    color: #BCA439 !important;
    font-weight: 700 !important;
    border-inline-start: 3px solid #BCA439 !important;
    padding-inline-start: 19px !important;
}

.user-info-wrapper .list-group-item.active i {
    color: #BCA439 !important;
}

/* Delete account – danger color */
.user-info-wrapper .list-group-item.remove-account {
    color: #c62828 !important;
    margin-top: 4px;
    border-top: 1px solid #f0ede8 !important;
}

.user-info-wrapper .list-group-item.remove-account i {
    color: #c62828 !important;
}

.user-info-wrapper .list-group-item.remove-account:hover {
    background: #fee8e8 !important;
    color: #c62828 !important;
}

/* Count badges */
.user-info-wrapper .badge-pill {
    background: #BCA439 !important;
    color: #1a1612 !important;
    font-size: 11px !important;
    font-weight: 700 !important;
    padding: 3px 8px !important;
    border-radius: 20px !important;
    margin-inline-start: auto;
}

/* ════════════════════════════════════════════════════════════════════════
   ORDERS PAGE  (user/orders)
   ════════════════════════════════════════════════════════════════════════ */

/* ── Orders table card ───────────────────────────────────────────────── */
.col-lg-8 > .card {
    border: 1px solid #ede9e2 !important;
    border-radius: 18px !important;
    box-shadow: 0 4px 20px rgba(0,0,0,0.06) !important;
    overflow: hidden;
}

.col-lg-8 > .card .card-body {
    padding: 0 !important;
}

/* ── Orders table ────────────────────────────────────────────────────── */
.u-table-res {
    overflow-x: auto;
}

.u-table-res .table {
    margin-bottom: 0;
    min-width: 640px;
}

.u-table-res .table thead tr th {
    background: #1a1612 !important;
    color: #e0c96a !important;
    font-size: 13px !important;
    font-weight: 700 !important;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    padding: 14px 18px !important;
    border-color: #2d2820 !important;
    white-space: nowrap;
}

.u-table-res .table tbody tr {
    transition: background 0.12s ease;
}

.u-table-res .table tbody tr:hover {
    background: #faf8f4 !important;
}

.u-table-res .table tbody td {
    padding: 14px 18px !important;
    border-color: #f0ede8 !important;
    font-size: 14px !important;
    vertical-align: middle;
}

/* Transaction number link */
.u-table-res .navi-link {
    color: #BCA439 !important;
    font-weight: 700 !important;
    text-decoration: none !important;
    font-size: 14px !important;
    transition: color 0.15s ease;
}

.u-table-res .navi-link:hover {
    color: #d4b93e !important;
    text-decoration: underline !important;
}

/* Order status badges */
.u-table-res .text-info    { color: #0277bd !important; font-weight: 600 !important; }
.u-table-res .text-warning { color: #e65100 !important; font-weight: 600 !important; }
.u-table-res .text-success { color: #2e7d32 !important; font-weight: 600 !important; }
.u-table-res .text-danger  { color: #c62828 !important; font-weight: 600 !important; }

/* Wrap status text in a pill */
.u-table-res td .text-info,
.u-table-res td .text-warning,
.u-table-res td .text-success,
.u-table-res td .text-danger {
    display: inline-block;
    padding: 3px 12px;
    border-radius: 20px;
    font-size: 12.5px !important;
    font-weight: 700 !important;
}

.u-table-res td .text-info    { background: #e3f2fd; }
.u-table-res td .text-warning { background: #fff3e0; }
.u-table-res td .text-success { background: #e8f5e9; }
.u-table-res td .text-danger  { background: #ffebee; }

/* Details button */
.u-table-res .btn-info.btn-sm {
    background: #BCA439 !important;
    border-color: #BCA439 !important;
    color: #1a1612 !important;
    font-weight: 700 !important;
    font-size: 12.5px !important;
    padding: 5px 14px !important;
    border-radius: 8px !important;
    transition: background 0.15s ease, transform 0.12s ease !important;
}

.u-table-res .btn-info.btn-sm:hover {
    background: #d4b93e !important;
    transform: translateY(-1px);
    box-shadow: 0 4px 10px rgba(188,164,57,0.35) !important;
}

/* ════════════════════════════════════════════════════════════════════════
   CHECKOUT PAGES  (Billing / Shipping / Payment)
   ════════════════════════════════════════════════════════════════════════ */

/* ── Steps progress bar ─────────────────────────────────────────────── */
.steps {
    display: flex;
    gap: 0;
    margin-bottom: 36px !important;
    border-radius: 14px;
    overflow: hidden;
    box-shadow: 0 2px 10px rgba(0,0,0,0.08);
}

.step {
    flex: 1;
    display: flex !important;
    align-items: center;
    justify-content: center;
    padding: 16px 20px !important;
    background: #f5f0e8;
    color: #888 !important;
    text-decoration: none !important;
    position: relative;
    transition: background 0.2s ease, color 0.2s ease;
    border-inline-end: 1px solid #e0d8cc;
}

.step:last-child {
    border-inline-end: none;
}

.step::after {
    content: '';
    position: absolute;
    inset-inline-end: -14px;
    top: 50%;
    transform: translateY(-50%);
    width: 0;
    height: 0;
    border-top: 24px solid transparent;
    border-bottom: 24px solid transparent;
    border-inline-start: 14px solid #f5f0e8;
    z-index: 2;
    transition: border-color 0.2s ease;
}

.step:last-child::after { display: none; }

.step-title {
    font-size: 13.5px !important;
    font-weight: 600 !important;
    margin: 0 !important;
    color: inherit !important;
    display: flex;
    align-items: center;
    gap: 6px;
    white-space: nowrap;
}

.step-title i {
    color: #2e7d32;
    font-size: 15px;
}

/* Active step */
.step.active {
    background: #BCA439 !important;
    color: #1a1612 !important;
}

.step.active::after {
    border-inline-start-color: #BCA439 !important;
}

.step:hover:not(.active) {
    background: #ede9e2;
    color: #555 !important;
}

/* ── Checkout form card ──────────────────────────────────────────────── */
.checkut-page .card {
    border: 1px solid #ede9e2 !important;
    border-radius: 18px !important;
    box-shadow: 0 4px 20px rgba(0,0,0,0.06) !important;
    overflow: hidden;
}

.checkut-page .card .card-body {
    padding: 32px 36px !important;
}

/* Section headers inside form */
.checkut-page .card h2 {
    font-size: 1.3rem !important;
    font-weight: 800 !important;
    color: #1a1a1a !important;
    margin-bottom: 0 !important;
}

.checkut-page .card h6 {
    font-size: 1rem !important;
    font-weight: 700 !important;
    color: #1a1a1a !important;
}

/* ── Form labels & inputs ────────────────────────────────────────────── */
.checkut-page .form-group {
    margin-bottom: 18px !important;
}

.checkut-page .form-group label {
    font-size: 13.5px !important;
    font-weight: 600 !important;
    color: #555 !important;
    margin-bottom: 6px !important;
    display: block;
}

.checkut-page .form-control,
.checkut-page .form-control-rounded {
    border-radius: 10px !important;
    border: 1.5px solid #ddd !important;
    font-size: 14.5px !important;
    padding: 10px 14px !important;
    height: auto !important;
    background: #fff;
    color: #1a1a1a;
    transition: border-color 0.18s ease, box-shadow 0.18s ease;
}

.checkut-page .form-control:focus,
.checkut-page .form-control-rounded:focus {
    border-color: #BCA439 !important;
    box-shadow: 0 0 0 3px rgba(188,164,57,0.18) !important;
    outline: none;
}

.checkut-page select.form-control {
    cursor: pointer;
}

.checkut-page textarea.form-control {
    resize: vertical;
    min-height: 120px;
}

/* Checkbox */
.checkut-page .custom-control-label {
    font-size: 14px !important;
    color: #555 !important;
    cursor: pointer;
}

.checkut-page .custom-control-input:checked ~ .custom-control-label::before {
    background-color: #BCA439 !important;
    border-color: #BCA439 !important;
}

/* ── Detail dimensions section ───────────────────────────────────────── */
.checkut-page .row.mt-2 h2.h4 {
    font-size: 1.05rem !important;
    font-weight: 700 !important;
    color: #BCA439 !important;
}

/* ── Navigation buttons (Back / Continue) ───────────────────────────── */
.checkut-page .d-flex.justify-content-between .btn-primary {
    display: inline-flex !important;
    align-items: center;
    gap: 8px;
    padding: 11px 24px !important;
    border-radius: 12px !important;
    font-size: 15px !important;
    font-weight: 700 !important;
    transition: background 0.18s ease, transform 0.15s ease, box-shadow 0.18s ease !important;
}

/* Back button – dark */
.checkut-page .d-flex.justify-content-between a.btn-primary {
    background: #1a1612 !important;
    border-color: #1a1612 !important;
    color: #e0c96a !important;
}

.checkut-page .d-flex.justify-content-between a.btn-primary:hover {
    background: #2d2820 !important;
    transform: translateY(-2px);
    box-shadow: 0 6px 16px rgba(0,0,0,0.2) !important;
}

/* Continue button – gold */
.checkut-page .d-flex.justify-content-between button.btn-primary {
    background: #BCA439 !important;
    border-color: #BCA439 !important;
    color: #1a1612 !important;
}

.checkut-page .d-flex.justify-content-between button.btn-primary:hover:not(:disabled) {
    background: #d4b93e !important;
    transform: translateY(-2px);
    box-shadow: 0 6px 18px rgba(188,164,57,0.42) !important;
}

.checkut-page .d-flex.justify-content-between button.btn-primary:disabled {
    opacity: 0.45;
    cursor: not-allowed;
}

/* ── Payment page – address summary cards ───────────────────────────── */
.checkut-page .widget-title2 {
    font-size: 1rem !important;
    font-weight: 700 !important;
    color: #1a1a1a !important;
    padding-bottom: 10px !important;
    margin-bottom: 16px !important;
    border-bottom: 2px solid #f0ede8 !important;
    position: relative;
}

.checkut-page .widget-title2::after {
    content: '';
    position: absolute;
    bottom: -2px;
    inset-inline-start: 0;
    width: 32px;
    height: 2px;
    background: #BCA439;
    border-radius: 2px;
}

.checkut-page .fz-16-bold {
    font-size: 14.5px !important;
    font-weight: 700 !important;
    color: #333 !important;
    margin-bottom: 10px !important;
}

.checkut-page .list-unstyled li {
    font-size: 14px !important;
    color: #444 !important;
    padding: 3px 0;
    line-height: 1.6;
}

.checkut-page .pay-label {
    font-weight: 600 !important;
    color: #888 !important;
    min-width: 72px;
    display: inline-block;
}

/* Address info block styling */
.checkut-page .col-sm-6.mb-4 {
    background: #faf8f4;
    border-radius: 12px;
    padding: 16px 18px !important;
    border: 1px solid #ede9e2;
    margin-bottom: 16px !important;
}

/* Shipping / State selects */
.checkut-page #shipping_id_select,
.checkut-page #state_id_select {
    border-radius: 10px !important;
    border: 1.5px solid #BCA439 !important;
    font-size: 14.5px !important;
    padding: 10px 14px !important;
    height: auto !important;
    background: #fffef7;
    transition: box-shadow 0.18s ease;
}

.checkut-page #shipping_id_select:focus,
.checkut-page #state_id_select:focus {
    box-shadow: 0 0 0 3px rgba(188,164,57,0.22) !important;
    outline: none;
}

.checkut-page .text-primary.shipping_message,
.checkut-page .text-primary.state_message {
    font-size: 12.5px !important;
    color: #888 !important;
    margin-top: 4px;
}

/* ── Payment methods grid ────────────────────────────────────────────── */
.payment-methods {
    display: flex;
    flex-wrap: wrap;
    gap: 14px;
    padding-bottom: 8px;
}

.single-payment-method {
    flex: 0 0 auto;
}

.single-payment-method a {
    display: flex !important;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 8px;
    width: 120px;
    padding: 14px 12px !important;
    border: 2px solid #ede9e2;
    border-radius: 14px !important;
    background: #fff;
    text-decoration: none !important;
    transition: border-color 0.18s ease, box-shadow 0.18s ease, transform 0.18s ease;
    box-shadow: 0 2px 8px rgba(0,0,0,0.04);
}

.single-payment-method a:hover {
    border-color: #BCA439 !important;
    box-shadow: 0 6px 18px rgba(188,164,57,0.2) !important;
    transform: translateY(-3px);
}

.single-payment-method a img {
    max-height: 40px;
    max-width: 90px;
    object-fit: contain;
}

.single-payment-method a p {
    font-size: 12.5px !important;
    font-weight: 600 !important;
    color: #555 !important;
    text-align: center;
    margin: 0 !important;
    line-height: 1.3;
}

/* ════════════════════════════════════════════════════════════════════════
   CHECKOUT SIDEBAR  (Order Summary + Cart Items)
   ════════════════════════════════════════════════════════════════════════ */

/* ── Sidebar cards ───────────────────────────────────────────────────── */
.checkut-page .sidebar .card,
.checkut-page .sidebar section.card {
    border: 1px solid #ede9e2 !important;
    border-radius: 18px !important;
    box-shadow: 0 4px 18px rgba(0,0,0,0.06) !important;
    margin-bottom: 20px !important;
    overflow: hidden;
}

.checkut-page .sidebar .widget-title,
.checkut-page aside.sidebar .widget-title {
    font-size: 1rem !important;
    font-weight: 700 !important;
    color: #1a1a1a !important;
    padding-bottom: 12px !important;
    margin-bottom: 16px !important;
    border-bottom: 2px solid #f0ede8 !important;
    position: relative;
}

.checkut-page .sidebar .widget-title::after,
.checkut-page aside.sidebar .widget-title::after {
    content: '' !important;
    position: absolute !important;
    bottom: -2px !important;
    inset-inline-start: 0 !important;
    width: 32px !important;
    height: 2px !important;
    background: #BCA439 !important;
    border-radius: 2px !important;
}

/* Free shipping notice */
.free-shippin-aa {
    font-size: 13px !important;
    color: #2e7d32 !important;
    background: #e8f5e9;
    border-radius: 8px;
    padding: 8px 12px !important;
    margin-bottom: 14px !important;
    border: 1px solid #a5d6a7;
}

/* ── Order summary table ─────────────────────────────────────────────── */
.widget-order-summary .table {
    margin-bottom: 0;
    font-size: 14px !important;
}

.widget-order-summary .table tr td {
    padding: 8px 2px !important;
    border-color: #f0ede8 !important;
    vertical-align: middle;
}

.widget-order-summary .table tr td:last-child {
    text-align: end;
    font-weight: 600 !important;
    color: #1a1a1a !important;
}

.widget-order-summary .table .text-gray-dark {
    color: #1a1a1a !important;
    font-weight: 600 !important;
}

.widget-order-summary .table .text-danger {
    color: #c62828 !important;
    font-weight: 600 !important;
}

/* Grand total row */
.widget-order-summary .table .text-lg.text-primary {
    font-size: 15.5px !important;
    font-weight: 800 !important;
    color: #BCA439 !important;
}

.widget-order-summary .table .grand_total_set {
    font-size: 17px !important;
    font-weight: 800 !important;
    color: #BCA439 !important;
}

/* Last table row – grand total border */
.widget-order-summary .table tr:last-child td {
    border-top: 2px solid #f0ede8 !important;
    padding-top: 12px !important;
}

/* ── Cart items in sidebar ───────────────────────────────────────────── */
.widget-featured-products .entry {
    display: flex;
    align-items: flex-start;
    gap: 12px;
    padding: 10px 0;
    border-bottom: 1px solid #f0ede8;
}

.widget-featured-products .entry:last-child {
    border-bottom: none;
}

.widget-featured-products .entry-thumb a img {
    width: 60px !important;
    height: 60px !important;
    object-fit: cover;
    border-radius: 10px !important;
    border: 1px solid #ede9e2;
    display: block;
    transition: transform 0.2s ease;
}

.widget-featured-products .entry-thumb a:hover img {
    transform: scale(1.06);
}

.widget-featured-products .entry-content {
    flex: 1;
    min-width: 0;
}

.widget-featured-products .entry-title {
    font-size: 13.5px !important;
    font-weight: 600 !important;
    margin-bottom: 4px !important;
    line-height: 1.4;
}

.widget-featured-products .entry-title a {
    color: #1a1a1a !important;
    text-decoration: none !important;
    transition: color 0.15s ease;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

.widget-featured-products .entry-title a:hover {
    color: #BCA439 !important;
}

.widget-featured-products .entry-meta {
    display: block;
    font-size: 12.5px !important;
    color: #888 !important;
    line-height: 1.5;
}

/* ════════════════════════════════════════════════════════════════════════
   ORDER SUCCESS PAGE
   ════════════════════════════════════════════════════════════════════════ */

/* ── Page wrapper ────────────────────────────────────────────────────── */
.container.padding-bottom-3x.mb-1 > .card.text-center {
    border: none !important;
    border-radius: 24px !important;
    box-shadow: 0 8px 40px rgba(0,0,0,0.09) !important;
    background: #fff !important;
    margin-top: 40px;
    overflow: hidden;
    position: relative;
}

/* Gold top border accent */
.container.padding-bottom-3x.mb-1 > .card.text-center::before {
    content: '';
    display: block;
    height: 5px;
    background: linear-gradient(90deg, #BCA439, #e0c96a, #BCA439);
    border-radius: 24px 24px 0 0;
}

/* ── Success content ─────────────────────────────────────────────────── */
.container.padding-bottom-3x.mb-1 > .card.text-center .card-body {
    padding: 56px 48px !important;
    max-width: 680px;
    margin: 0 auto;
}

/* Checkmark icon via CSS before the title */
.container.padding-bottom-3x.mb-1 > .card.text-center .card-body::before {
    content: '✓';
    display: flex;
    align-items: center;
    justify-content: center;
    width: 80px;
    height: 80px;
    background: linear-gradient(135deg, #2e7d32, #43a047);
    color: #fff;
    font-size: 36px;
    font-weight: 900;
    border-radius: 50%;
    margin: 0 auto 28px;
    box-shadow: 0 6px 24px rgba(46,125,50,0.3);
    animation: pop-in 0.5s cubic-bezier(.34,1.56,.64,1) both;
}

@keyframes pop-in {
    0%   { transform: scale(0.3); opacity: 0; }
    100% { transform: scale(1);   opacity: 1; }
}

/* Title */
.container.padding-bottom-3x.mb-1 > .card.text-center .card-title.text-success {
    font-size: 1.65rem !important;
    font-weight: 800 !important;
    color: #2e7d32 !important;
    margin-bottom: 16px !important;
}

/* Body text */
.container.padding-bottom-3x.mb-1 > .card.text-center .card-text {
    font-size: 15px !important;
    color: #555 !important;
    line-height: 1.75;
    margin-bottom: 10px !important;
}

/* Order number highlight */
.container.padding-bottom-3x.mb-1 > .card.text-center .text-medium {
    font-weight: 700 !important;
    color: #BCA439 !important;
    font-size: 16px !important;
    background: #faf5e4;
    padding: 2px 10px;
    border-radius: 6px;
    border: 1px solid rgba(188,164,57,0.3);
}

/* CTA button */
.container.padding-bottom-3x.mb-1 > .card.text-center .btn-primary {
    display: inline-flex !important;
    align-items: center;
    gap: 8px;
    background: #BCA439 !important;
    border-color: #BCA439 !important;
    color: #1a1612 !important;
    font-weight: 700 !important;
    font-size: 15px !important;
    padding: 13px 32px !important;
    border-radius: 12px !important;
    margin-top: 8px !important;
    transition: background 0.18s ease, transform 0.15s ease, box-shadow 0.18s ease !important;
}

.container.padding-bottom-3x.mb-1 > .card.text-center .btn-primary:hover {
    background: #d4b93e !important;
    transform: translateY(-2px);
    box-shadow: 0 8px 22px rgba(188,164,57,0.42) !important;
}

/* ════════════════════════════════════════════════════════════════════════
   ORDER INVOICE PAGE
   ════════════════════════════════════════════════════════════════════════ */

/* ── Invoice wrapper card ────────────────────────────────────────────── */
.print_invoice .card.card-body {
    border: 1px solid #ede9e2 !important;
    border-radius: 20px !important;
    box-shadow: 0 6px 32px rgba(0,0,0,0.07) !important;
    padding: 40px !important;
}

/* ── Action buttons (Back / Print) ───────────────────────────────────── */
.print_invoice .btn-sm.btn-primary {
    display: inline-flex !important;
    align-items: center;
    gap: 6px;
    padding: 9px 20px !important;
    border-radius: 10px !important;
    font-size: 13.5px !important;
    font-weight: 700 !important;
    margin-inline-end: 8px;
    transition: background 0.15s ease, transform 0.12s ease !important;
}

/* Back – dark */
.print_invoice .btn-sm.btn-primary:first-child {
    background: #1a1612 !important;
    border-color: #1a1612 !important;
    color: #e0c96a !important;
}
.print_invoice .btn-sm.btn-primary:first-child:hover {
    background: #2d2820 !important;
    transform: translateY(-1px);
}

/* Print – gold */
.print_invoice .btn-sm.btn-primary.invoice_price {
    background: #BCA439 !important;
    border-color: #BCA439 !important;
    color: #1a1612 !important;
}
.print_invoice .btn-sm.btn-primary.invoice_price:hover {
    background: #d4b93e !important;
    transform: translateY(-1px);
    box-shadow: 0 4px 14px rgba(188,164,57,0.38) !important;
}

/* ── Logo ─────────────────────────────────────────────────────────────── */
.print_invoice .mh-70 {
    max-height: 70px !important;
}

/* ── Order details block ─────────────────────────────────────────────── */
.print_invoice .col-12 h5 {
    font-size: 1rem !important;
    font-weight: 800 !important;
    color: #1a1a1a !important;
    margin-bottom: 10px !important;
    padding-bottom: 8px;
    border-bottom: 2px solid #f0ede8;
    position: relative;
}

.print_invoice .col-12 h5::after {
    content: '';
    position: absolute;
    bottom: -2px;
    inset-inline-start: 0;
    width: 30px;
    height: 2px;
    background: #BCA439;
    border-radius: 2px;
}

/* Order meta lines */
.print_invoice .col-12 > span.text-muted,
.print_invoice .col-12.col-md-6 > span.text-muted {
    font-weight: 600 !important;
    color: #888 !important;
    font-size: 13.5px !important;
    min-width: 130px;
    display: inline-block;
}

/* Payment status badges */
.print_invoice .badge-success {
    background: #e8f5e9 !important;
    color: #2e7d32 !important;
    font-size: 12px !important;
    font-weight: 700 !important;
    padding: 4px 12px !important;
    border-radius: 20px !important;
    border: 1px solid #a5d6a7;
}

.print_invoice .badge-danger {
    background: #ffebee !important;
    color: #c62828 !important;
    font-size: 12px !important;
    font-weight: 700 !important;
    padding: 4px 12px !important;
    border-radius: 20px !important;
    border: 1px solid #ef9a9a;
}

/* ── Address columns ─────────────────────────────────────────────────── */
.print_invoice .col-12.col-md-6 {
    background: #faf8f4;
    border-radius: 14px;
    padding: 18px 22px !important;
    border: 1px solid #ede9e2;
    margin-bottom: 16px !important;
    font-size: 14px !important;
    line-height: 1.9;
}

/* ── Products table ──────────────────────────────────────────────────── */
.gd-responsive-table {
    overflow-x: auto;
    border-radius: 14px;
    border: 1px solid #ede9e2;
    margin-top: 8px;
}

.gd-responsive-table .table {
    margin-bottom: 0 !important;
    min-width: 540px;
}

/* Table head */
.gd-responsive-table .table thead tr th {
    background: #1a1612 !important;
    color: #e0c96a !important;
    font-size: 13px !important;
    font-weight: 700 !important;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    padding: 13px 16px !important;
    border-color: #2d2820 !important;
}

/* Override the template's transparent/borderless head */
.gd-responsive-table .table thead th.bg-transparent {
    background: #1a1612 !important;
    border-top: none !important;
}

/* Table rows */
.gd-responsive-table .table tbody tr {
    transition: background 0.12s ease;
}

.gd-responsive-table .table tbody tr:hover {
    background: #faf8f4 !important;
}

.gd-responsive-table .table tbody td {
    padding: 13px 16px !important;
    border-color: #f0ede8 !important;
    font-size: 14px !important;
    vertical-align: middle;
}

/* Download / license buttons inside table */
.gd-responsive-table .btn-success {
    background: #2e7d32 !important;
    border-color: #2e7d32 !important;
    border-radius: 8px !important;
    font-size: 12.5px !important;
    font-weight: 600 !important;
    padding: 5px 14px !important;
}

/* Spacer row */
.gd-responsive-table .table .padding-top-2x td {
    padding: 8px !important;
    border: none !important;
}

/* ── Summary rows (Tax / Discount / Shipping / Total) ────────────────── */
.gd-responsive-table .table .border-top-2 {
    border-top-width: 2px !important;
    border-top-color: #ede9e2 !important;
}

.gd-responsive-table .table .text-danger {
    color: #c62828 !important;
    font-weight: 600 !important;
}

/* Grand total row */
.gd-responsive-table .table .h3 {
    font-size: 1.5rem !important;
    font-weight: 800 !important;
    color: #BCA439 !important;
}

/* ════════════════════════════════════════════════════════════════════════
   TRACK ORDER PAGE
   ════════════════════════════════════════════════════════════════════════ */

/* ── Search row ──────────────────────────────────────────────────────── */
.container.py-5 .row.justify-content-center {
    padding-top: 16px !important;
    padding-bottom: 16px !important;
}

.container.py-5 .input-group {
    border-radius: 14px;
    overflow: hidden;
    box-shadow: 0 3px 14px rgba(0,0,0,0.08);
}

.container.py-5 .input-group .form-control {
    border: 1.5px solid #ede9e2 !important;
    border-inline-end: none !important;
    border-radius: 14px 0 0 14px !important;
    font-size: 15px !important;
    padding: 13px 18px !important;
    height: auto !important;
    background: #fff;
    transition: border-color 0.18s ease, box-shadow 0.18s ease;
}

.container.py-5 .input-group .form-control:focus {
    border-color: #BCA439 !important;
    box-shadow: none !important;
    outline: none;
}

.container.py-5 .input-group .input-group-addon {
    background: #f5f0e8 !important;
    border: 1.5px solid #ede9e2 !important;
    border-inline-start: none !important;
    border-radius: 0 14px 14px 0 !important;
    padding: 0 16px;
    display: flex;
    align-items: center;
    color: #BCA439;
    font-size: 18px;
}

.container.py-5 #submit_number {
    width: 100% !important;
    background: #BCA439 !important;
    border-color: #BCA439 !important;
    color: #1a1612 !important;
    font-weight: 700 !important;
    font-size: 15px !important;
    padding: 13px 20px !important;
    border-radius: 14px !important;
    transition: background 0.18s ease, transform 0.15s ease, box-shadow 0.18s ease !important;
}

.container.py-5 #submit_number:hover {
    background: #d4b93e !important;
    transform: translateY(-2px);
    box-shadow: 0 6px 18px rgba(188,164,57,0.38) !important;
}

/* ── Track result area ───────────────────────────────────────────────── */
#track-order {
    min-height: 40px;
}

/* ── Progress steps ──────────────────────────────────────────────────── */
.progress-area-step {
    background: #fff;
    border: 1px solid #ede9e2;
    border-radius: 20px;
    padding: 40px 32px !important;
    box-shadow: 0 4px 24px rgba(0,0,0,0.07);
}

.progress-steps {
    list-style: none;
    padding: 0;
    margin: 0;
    display: flex;
    align-items: flex-start;
    justify-content: center;
    gap: 0;
    position: relative;
}

/* Connecting line between steps */
.progress-steps::before {
    content: '';
    position: absolute;
    top: 28px;
    inset-inline-start: 12%;
    width: 76%;
    height: 3px;
    background: #ede9e2;
    border-radius: 2px;
    z-index: 0;
}

/* Individual step */
.progress-steps li {
    flex: 1;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 10px;
    text-align: center;
    position: relative;
    z-index: 1;
    padding: 0 8px;
}

/* Step circle */
.progress-steps li .icon {
    width: 56px;
    height: 56px;
    border-radius: 50%;
    background: #f0ede8;
    border: 3px solid #ddd;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 22px;
    color: #aaa;
    transition: background 0.25s ease, border-color 0.25s ease, color 0.25s ease,
                box-shadow 0.25s ease;
    position: relative;
    z-index: 2;
}

/* Step labels */
.progress-steps li .progress-title {
    font-size: 12.5px !important;
    color: #aaa !important;
    line-height: 1.5;
    max-width: 110px;
}

.progress-steps li .progress-title:first-of-type {
    font-size: 13.5px !important;
    font-weight: 700 !important;
    color: #999 !important;
}

/* ── Active / completed step ─────────────────────────────────────────── */
.progress-steps li.active .icon {
    background: #BCA439 !important;
    border-color: #BCA439 !important;
    color: #1a1612 !important;
    box-shadow: 0 4px 16px rgba(188,164,57,0.45) !important;
    animation: step-pop 0.4s cubic-bezier(.34,1.56,.64,1) both;
}

@keyframes step-pop {
    0%   { transform: scale(0.7); }
    100% { transform: scale(1); }
}

.progress-steps li.active .progress-title {
    color: #555 !important;
}

.progress-steps li.active .progress-title:first-of-type {
    color: #BCA439 !important;
    font-size: 14px !important;
}

/* Delivered step – green */
.progress-steps li.active .icon .fa-check-circle {
    color: #1a1612;
}

/* Canceled/Rejected step – red tint when active */
.progress-steps li.active:has(.fa-times-circle) .icon {
    background: #c62828 !important;
    border-color: #c62828 !important;
    box-shadow: 0 4px 16px rgba(198,40,40,0.35) !important;
}

/* Order not found text */
#track-order > p {
    font-size: 15px !important;
    color: #888 !important;
    text-align: center;
    padding: 24px 0;
}

/* ════════════════════════════════════════════════════════════════════════
   USER PROFILE / DASHBOARD PAGE
   ════════════════════════════════════════════════════════════════════════ */

/* ── Profile form card ───────────────────────────────────────────────── */
.col-lg-8 > .card {
    border: 1px solid #ede9e2 !important;
    border-radius: 18px !important;
    box-shadow: 0 4px 20px rgba(0,0,0,0.06) !important;
    overflow: hidden;
}

.col-lg-8 > .card .card-body {
    padding: 32px 36px !important;
}

/* ── Avatar upload field ─────────────────────────────────────────────── */
.col-lg-8 > .card .form-group label.form-label {
    font-size: 13.5px !important;
    font-weight: 600 !important;
    color: #555 !important;
    margin-bottom: 6px !important;
    display: block;
}

.col-lg-8 > .card input[type="file"].form-control {
    border-radius: 10px !important;
    border: 1.5px dashed #BCA439 !important;
    background: #faf5e4 !important;
    font-size: 14px !important;
    padding: 10px 14px !important;
    height: auto !important;
    cursor: pointer;
    color: #555;
    transition: border-color 0.18s ease, background 0.18s ease;
}

.col-lg-8 > .card input[type="file"].form-control:hover {
    background: #f5eed8 !important;
    border-color: #d4b93e !important;
}

/* ── Profile form fields ─────────────────────────────────────────────── */
.col-lg-8 > .card .form-group {
    margin-bottom: 18px !important;
}

.col-lg-8 > .card .form-group label:not(.form-label):not(.custom-control-label) {
    font-size: 13.5px !important;
    font-weight: 600 !important;
    color: #555 !important;
    margin-bottom: 6px !important;
    display: block;
}

.col-lg-8 > .card .form-control:not([type="file"]) {
    border-radius: 10px !important;
    border: 1.5px solid #ddd !important;
    font-size: 14.5px !important;
    padding: 10px 14px !important;
    height: auto !important;
    transition: border-color 0.18s ease, box-shadow 0.18s ease;
}

.col-lg-8 > .card .form-control:not([type="file"]):focus {
    border-color: #BCA439 !important;
    box-shadow: 0 0 0 3px rgba(188,164,57,0.18) !important;
    outline: none;
}

/* Validation errors */
.col-lg-8 > .card .text-danger {
    font-size: 12.5px !important;
    color: #c62828 !important;
    margin-top: 4px;
}

/* ── Divider ─────────────────────────────────────────────────────────── */
.col-lg-8 > .card hr {
    border-color: #f0ede8 !important;
    margin: 8px 0 16px !important;
}

/* ── Footer row (Subscribe + Update) ─────────────────────────────────── */
.col-lg-8 > .card .custom-control-label {
    font-size: 14px !important;
    color: #555 !important;
    cursor: pointer;
}

.col-lg-8 > .card .custom-control-input:checked ~ .custom-control-label::before {
    background-color: #BCA439 !important;
    border-color: #BCA439 !important;
}

/* Update Profile button */
.col-lg-8 > .card button.btn-primary {
    background: #BCA439 !important;
    border-color: #BCA439 !important;
    color: #1a1612 !important;
    font-weight: 700 !important;
    font-size: 15px !important;
    padding: 11px 28px !important;
    border-radius: 12px !important;
    transition: background 0.18s ease, transform 0.15s ease, box-shadow 0.18s ease !important;
}

.col-lg-8 > .card button.btn-primary:hover {
    background: #d4b93e !important;
    transform: translateY(-2px);
    box-shadow: 0 6px 18px rgba(188,164,57,0.38) !important;
}

/* ── Reduced motion ──────────────────────────────────────────────────── */
@media (prefers-reduced-motion: reduce) {
    *, *::before, *::after {
        transition-duration: 0.01ms !important;
        animation-duration: 0.01ms !important;
    }
}
