@import url('https://fonts.googleapis.com/css2?family=Cormorant+Garamond:wght@300;400;500;600;700&display=swap');

/* KP Diamonds Styles - Surgical Pricing Removal */

/* Hide all price elements while keeping layout containers */
.price,
.price-wrap,
.price-old,
.price-new,
.product-info-price,
.product-price,
.compare-at-price,
.price-on-sale,
.tf-currencies,
.currency-dropdown,
.payment-wrap,
#Payment,
li[role="presentation"]:has(a[href="#Payment"]),
.btn-yellow,
.group-btn:has(a[href*="checkout"]),
.group-btn:has(a:contains("payment")) {
    display: none !important;
}

li.nav-tab-item:has(a[href="#policy"]),
.tab-pane#policy {
    display: none !important;
}

/* Ensure buttons are centered if pricing was next to them */
.product-info-price {
    margin-bottom: 0 !important;
}

/* Fix header logo sizing if needed */
.logo-site img {
    max-height: 50px;
    width: auto;
}

/* --- PREMIUM UI REFINEMENTS --- */

/* 1. Header Navigation Spacing */
.new-mega-menu .main-menu {
    display: flex !important;
    gap: 25px !important;
    /* Increased from cramped layout */
}

/* 2. Topbar Marquee Refinement */
.topbar-marquee {
    background: transparent;
    padding: 8px 0;
}

.marquee-track {
    animation: marquee-scroll 30s linear infinite !important;
    /* Slower, more elegant speed */
}

.marquee-track span {
    font-size: 14px !important;
    letter-spacing: 2px;
    text-transform: uppercase;
    opacity: 0.9;
    font-weight: 300 !important;
}

/* 3. Complimentary Gift Banner Color Correction */
.primary-6 {
    --primary: #8a0b1f !important;
    /* Sophisticated Deep Burgundy instead of lime green */
}

.wg-copy {
    background-color: var(--primary) !important;
    border-radius: 8px;
    padding: 40px !important;
}

/* 4. Product Card Enhancements */
.card-product {
    transition: transform 0.3s ease, box-shadow 0.3s ease !important;
    border: 1px solid transparent;
}

.card-product:hover {
    transform: translateY(-5px);
    box-shadow: 0 10px 20px rgba(0, 0, 0, 0.05);
    border-color: #eee;
}

/* 5. Breadcrumb & Title Spacing */
.s-page-title {
    padding: 60px 0 !important;
    background: #fdfdfd;
}

.title-page {
    font-weight: 300 !important;
    letter-spacing: 4px;
    text-transform: uppercase;
    margin-bottom: 15px !important;
}

/* 6. Premium Product Action Buttons */
.kp-product-actions-wrap {
    margin: 30px 0;
    display: flex;
    flex-direction: column;
    gap: 15px;
}

/* 6. Premium Product Action Buttons (Luxury v3) */
.kp-product-actions-wrap {
    margin: 40px 0 20px;
    display: flex;
    flex-direction: column;
    align-items: center;
    /* Center the button for better balance */
    gap: 15px;
}

.kp-premium-enquiry-btn {
    display: flex !important;
    align-items: center;
    justify-content: center;
    gap: 15px;
    background: #000 !important;
    /* Elegant Black */
    color: #fff !important;
    padding: 20px 40px !important;
    border-radius: 2px !important;
    /* Sharp, luxury edges */
    font-weight: 500 !important;
    text-transform: uppercase;
    letter-spacing: 3px;
    /* High-fashion spacing */
    font-size: 14px !important;
    /* Slightly smaller for elegance */
    transition: all 0.4s ease !important;
    border: 1px solid #000 !important;
    width: 100%;
    max-width: 450px;
    /* Prevent over-bulky look */
    box-shadow: none !important;
    /* Remove heavy shadows */
}

.kp-premium-enquiry-btn:hover {
    background: #fff !important;
    color: #000 !important;
    border-color: #000 !important;
    transform: none !important;
}

.kp-premium-enquiry-btn i {
    font-size: 20px;
    color: #c0851e;
    /* Gold accent on icon */
}

/* 7. Product Variant Cleanup */
.tf-product-variant-wrap {
    padding: 20px 0;
    border-top: 1px solid #eee;
    border-bottom: 1px solid #eee;
    margin-bottom: 20px;
}

.variant-picker-item.variant-color {
    display: block !important;
    margin-bottom: 0 !important;
}

.variant-picker-label {
    margin-bottom: 15px !important;
    font-size: 14px;
    text-transform: uppercase;
    letter-spacing: 1px;
    color: #888;
}

/* 8. Delivery & Return Polish (Luxury v3 - Minimalist) */
.tf-product-delivery-return {
    background: transparent !important;
    padding: 30px 0 !important;
    border-radius: 0 !important;
    border: none !important;
    border-top: 1px solid #eee !important;
    border-bottom: 1px solid #eee !important;
    margin: 40px 0;
}

.delivery-item {
    display: flex;
    gap: 20px;
    margin-bottom: 20px;
    align-items: center;
}

.delivery-item:last-child {
    margin-bottom: 0;
}

.delivery-item .icon {
    font-size: 18px;
    color: #c0851e;
    /* Subtle gold for icons */
    opacity: 0.8;
}

.delivery-item p {
    margin: 0;
    line-height: 1.4;
    color: #666;
    font-size: 14px !important;
    letter-spacing: 0.5px;
}

.delivery-item span.text-black {
    font-weight: 500 !important;
}

/* Fix broken extra link alignment */
.tf-product-extra-link {
    display: flex;
    justify-content: center;
    margin-bottom: 10px;
}

.product-extra-icon.link {
    display: flex !important;
    align-items: center;
    gap: 8px;
    font-size: 13px;
    text-transform: uppercase;
    letter-spacing: 1px;
    color: #999 !important;
}

.product-extra-icon.link i {
    margin: 0 !important;
    font-size: 16px;
}

/* 9. Premium Color Swatch Interaction */
.color-btn {
    width: 40px !important;
    height: 40px !important;
    border-radius: 50%;
    border: 2px solid #eee;
    padding: 3px;
    transition: all 0.3s ease;
    cursor: pointer;
}

.color-btn:hover,
.color-btn.active {
    border-color: #c0851e;
    transform: scale(1.1);
}

.color-btn .check-color {
    width: 100% !important;
    height: 100% !important;
    border-radius: 50% !important;
    display: block;
}

.variant-picker-values {
    display: flex;
    gap: 12px;
    margin-top: 10px;
}

.tf-product-info-inner p {
    line-height: 1.6;
    color: #444;
}

/* 10. Listing Page & Quick View Refinements (Luxury v3) */
.product-action_list {
    display: none !important;
    /* Hide cart/wishlist icons on grids */
}

/* Show only Quick View icon if desired, or keep it clean */
.card-product:hover .product-action_list {
    display: flex !important;
    justify-content: center;
}

.product-action_list li:not(:last-child) {
    display: none !important;
    /* Hide everything except Quick View */
}

.card-product .name-product {
    font-size: 13px !important;
    text-transform: uppercase;
    letter-spacing: 2px;
    font-weight: 500 !important;
    color: #333 !important;
    transition: color 0.3s ease;
    text-align: center;
    margin-top: 15px;
    display: block;
}

.card-product:hover .name-product {
    color: #c0851e !important;
}

/* Quick View Modal Premium Updates */
.modal-quick-view .tf-product-info-inner {
    padding: 30px !important;
}

.modal-quick-view .tf-product-total-quantity,
.modal-quick-view .people-add,
.modal-quick-view .rating {
    display: none !important;
    /* Cleanup clutter */
}

.modal-quick-view .kp-premium-enquiry-btn {
    margin-top: 20px;
    padding: 15px 30px !important;
    /* Slightly smaller for modal */
}

.modal-quick-view .tf-btn-line {
    display: flex;
    justify-content: center;
    margin-top: 20px;
    font-size: 12px;
    text-transform: uppercase;
    letter-spacing: 1px;
    color: #999 !important;
}

/* Hide legacy messy buttons */
.whatsapp-btn,
#whatsappEnquiry,
.btn-add-to-cart {
    display: none !important;
}

/* --- LUXURY RINGS COLLECTION (REFINED v3) --- */

.luxury-ring-grid {
    display: grid !important;
    grid-template-columns: repeat(4, 1fr) !important;
    gap: 30px !important;
    margin-top: 50px !important;
}

@media (max-width: 1200px) {
    .luxury-ring-grid {
        grid-template-columns: repeat(3, 1fr) !important;
    }
}

@media (max-width: 768px) {
    .luxury-ring-grid {
        grid-template-columns: repeat(2, 1fr) !important;
        gap: 15px !important;
    }
}

.luxury-ring-card {
    background: #fff !important;
    padding: 30px 20px !important;
    text-align: center;
    border: 1px solid #f2f2f2 !important;
    transition: all 0.5s cubic-bezier(0.165, 0.84, 0.44, 1) !important;
    position: relative;
    overflow: hidden;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    height: 100%;
    border-radius: 4px !important;
    /* Subtle rounding for premium feel, not overly round */
}

.luxury-ring-card:hover {
    box-shadow: 0 30px 60px rgba(0, 0, 0, 0.06) !important;
    transform: translateY(-10px) !important;
    border-color: #e0e0e0 !important;
}

.luxury-ring-card .product-img {
    display: block !important;
    padding: 10px !important;
    margin-bottom: 25px !important;
    background: #fff !important;
    transition: transform 0.8s ease !important;
}

.luxury-ring-card:hover .product-img {
    transform: scale(1.08) !important;
}

.luxury-ring-card img {
    max-width: 100% !important;
    height: 220px !important;
    /* Fixed height for consistency */
    object-fit: contain !important;
}

.luxury-ring-card .product-name {
    font-size: 14px !important;
    text-transform: uppercase !important;
    letter-spacing: 3px !important;
    font-weight: 300 !important;
    color: #1a1a1a !important;
    margin: 15px 0 25px !important;
    line-height: 1.6 !important;
    flex-grow: 1;
    transition: color 0.3s ease !important;
}

.luxury-ring-card:hover .product-name {
    color: #c0851e !important;
}

.luxury-ring-card .view-piece-btn {
    opacity: 0;
    transform: translateY(15px);
    transition: all 0.4s ease !important;
    background: #1a1a1a !important;
    color: #fff !important;
    padding: 14px 0 !important;
    font-size: 11px !important;
    letter-spacing: 2px !important;
    text-transform: uppercase !important;
    text-decoration: none !important;
    font-weight: 500 !important;
    width: 100% !important;
    display: block !important;
}

.luxury-ring-card:hover .view-piece-btn {
    opacity: 1;
    transform: translateY(0);
}

.luxury-ring-card .view-piece-btn:hover {
    background: #c0851e !important;
}

/* Luxury Badge Replacement */
.luxury-badge {
    position: absolute !important;
    top: 20px !important;
    left: 20px !important;
    background: #c0851e !important;
    color: #fff !important;
    font-size: 10px !important;
    padding: 5px 12px !important;
    text-transform: uppercase !important;
    letter-spacing: 1px !important;
    font-weight: 600 !important;
    z-index: 10 !important;
    box-shadow: 0 4px 10px rgba(192, 133, 30, 0.2) !important;
}

/* Section Header Polish */
#product-grid .sect-title .title {
    font-size: 42px !important;
    font-weight: 200 !important;
    letter-spacing: 8px !important;
    text-transform: uppercase;
    margin-bottom: 20px !important;
}

#product-grid .sect-title .s-subtitle {
    font-size: 16px !important;
    color: #888 !important;
    letter-spacing: 1px;
    max-width: 600px;
    margin: 0 auto;
}

/* --- KP Luxury Product Card Redesign (Compact Style) --- */
section.flat-spacing-3:not(.flat-single-product) .card-product {
    background: #ffffff;
    border: 1px solid #e5e5e5 !important;
    /* Clean, visible border like the reference image */
    padding: 0 !important;
    border-radius: 0;
    transition: all 0.4s ease;
    display: flex;
    flex-direction: column;
    height: 100%;
    overflow: hidden;
    position: relative;
}

section.flat-spacing-3:not(.flat-single-product) .card-product:hover {
    border-color: #d4af37 !important;
    box-shadow: 0 5px 15px rgba(0, 0, 0, 0.05);
}

section.flat-spacing-3:not(.flat-single-product) .card-product_wrapper {
    margin-bottom: 0 !important;
    background: #fff;
    padding: 20px 20px 0 20px !important;
    /* Padding for the image */
    position: relative;
    aspect-ratio: 1 / 1;
    /* Square image container */
    display: flex;
    align-items: center;
    justify-content: center;
}

section.flat-spacing-3:not(.flat-single-product) .card-product_wrapper .product-img {
    width: 100%;
    height: 100%;
}

section.flat-spacing-3:not(.flat-single-product) .card-product_wrapper .product-img img {
    max-height: 100%;
    width: 100%;
    object-fit: contain;
}

section.flat-spacing-3:not(.flat-single-product) .card-product_info {
    padding: 15px 15px 10px 15px !important;
    text-align: center;
    flex-grow: 1;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    background: #fff;
    border-top: none !important;
}

section.flat-spacing-3:not(.flat-single-product) .card-product .name-product {
    font-family: 'Cormorant Garamond', serif !important;
    font-size: 0.95rem !important;
    /* Smaller, more compact font */
    font-weight: 500 !important;
    text-transform: uppercase;
    letter-spacing: 0.15em !important;
    color: #1a1a1a !important;
    margin-bottom: 10px !important;
    line-height: 1.5 !important;
    min-height: 3em;
    /* Ensure alignment with multi-line titles */
    display: flex;
    align-items: center;
    justify-content: center;
}

/* Color swatches at the bottom */
section.flat-spacing-3:not(.flat-single-product) .card-product .product-color_list {
    justify-content: center;
    gap: 8px;
    margin-top: 10px !important;
    margin-bottom: 5px !important;
    padding: 0 !important;
}

section.flat-spacing-3:not(.flat-single-product) .card-product .product-color-item {
    width: 10px !important;
    height: 10px !important;
    border: 1px solid #ccc !important;
    border-radius: 50% !important;
    margin: 0 !important;
}

section.flat-spacing-3:not(.flat-single-product) .card-product .product-color-item.active {
    border-color: #333 !important;
    /* Dark active state like the dots in the image */
    background: #333 !important;
    /* Solid dot for active if it matches the image dots */
}

/* Hide clutter */
section.flat-spacing-3:not(.flat-single-product) .card-product .product-action_list,
section.flat-spacing-3:not(.flat-single-product) .card-product .product-badge_list,
section.flat-spacing-3:not(.flat-single-product) .card-product .variant-box,
section.flat-spacing-3:not(.flat-single-product) .card-product .product-marquee_sale {
    display: none !important;
}

/* Subtle hover interaction */
section.flat-spacing-3:not(.flat-single-product) .card-product::after {
    display: none !important;
    /* Removing the big button for the compact look */
}

/* Redesign the 'You May Also Like' Section Title */
section.flat-spacing-3:not(.flat-single-product) .sect-title,
section.flat-spacing-3 h1.sect-title {
    font-family: 'Cormorant Garamond', serif !important;
    text-transform: uppercase !important;
    letter-spacing: 0.2em !important;
    font-weight: 400 !important;
    font-size: 2.8rem !important;
    margin-bottom: 60px !important;
    color: #111 !important;
    text-align: center !important;
    display: block !important;
}

/* Hide default icons and clutter for a cleaner luxury look */
section.flat-spacing-3:not(.flat-single-product) .card-product .product-action_list,
section.flat-spacing-3:not(.flat-single-product) .card-product .product-badge_list,
section.flat-spacing-3:not(.flat-single-product) .card-product .variant-box,
section.flat-spacing-3:not(.flat-single-product) .card-product .product-marquee_sale {
    display: none !important;
}

/* Force Discover Button visibility on hover */
section.flat-spacing-3:not(.flat-single-product) .card-product::after {
    content: 'DISCOVER PIECE' !important;
    position: absolute !important;
    top: 50% !important;
    left: 50% !important;
    transform: translate(-50%, -40%) scale(0.9) !important;
    background: #111 !important;
    color: #fff !important;
    padding: 12px 30px !important;
    font-size: 0.75rem !important;
    letter-spacing: 0.3em !important;
    font-weight: 500 !important;
    opacity: 0 !important;
    visibility: hidden !important;
    transition: all 0.4s cubic-bezier(0.165, 0.84, 0.44, 1) !important;
    z-index: 100 !important;
    pointer-events: none !important;
}

section.flat-spacing-3:not(.flat-single-product) .card-product:hover::after {
    opacity: 1 !important;
    visibility: visible !important;
    transform: translate(-50%, -50%) scale(1) !important;
}

/* --- HERO BANNER BRANDING (JC JEWEL STYLE) --- */
.banner-V05 {
    position: relative !important;
}

.kp-background-branding {
    position: absolute !important;
    right: 2%;
    top: 50%;
    transform: translateY(-50%);
    font-family: 'Cormorant Garamond', serif !important;
    font-size: clamp(24px, 5.5vw, 90px);
    /* Reduced size to ensure it fits */
    color: rgba(212, 175, 55, 0.75) !important;
    letter-spacing: 0.15em !important;
    /* Reduced spacing to prevent overflow */
    text-transform: uppercase !important;
    pointer-events: none !important;
    z-index: 1 !important;
    font-weight: 400 !important;
    white-space: nowrap !important;
    text-shadow: 0 0 15px rgba(0, 0, 0, 0.15);
}

/* Ensure content stays above the branding */
.banner-V05 .container {
    position: relative !important;
    z-index: 2 !important;
}

/* Adjust for mobile */
@media (max-width: 768px) {
    .kp-background-branding {
        right: 0;
        left: 0;
        text-align: center;
        margin-bottom: 20px !important;
    }

    #product-grid .sect-title .s-subtitle {
        font-size: 16px !important;
        color: #888 !important;
        letter-spacing: 1px;
        max-width: 600px;
        margin: 0 auto;
    }

    /* --- KP Luxury Product Card Redesign (Compact Style) --- */
    section.flat-spacing-3:not(.flat-single-product) .card-product {
        background: #ffffff;
        border: 1px solid #e5e5e5 !important;
        /* Clean, visible border like the reference image */
        padding: 0 !important;
        border-radius: 0;
        transition: all 0.4s ease;
        display: flex;
        flex-direction: column;
        height: 100%;
        overflow: hidden;
        position: relative;
    }

    section.flat-spacing-3:not(.flat-single-product) .card-product:hover {
        border-color: #d4af37 !important;
        box-shadow: 0 5px 15px rgba(0, 0, 0, 0.05);
    }

    section.flat-spacing-3:not(.flat-single-product) .card-product_wrapper {
        margin-bottom: 0 !important;
        background: #fff;
        padding: 20px 20px 0 20px !important;
        /* Padding for the image */
        position: relative;
        aspect-ratio: 1 / 1;
        /* Square image container */
        display: flex;
        align-items: center;
        justify-content: center;
    }

    section.flat-spacing-3:not(.flat-single-product) .card-product_wrapper .product-img {
        width: 100%;
        height: 100%;
    }

    section.flat-spacing-3:not(.flat-single-product) .card-product_wrapper .product-img img {
        max-height: 100%;
        width: 100%;
        object-fit: contain;
    }

    section.flat-spacing-3:not(.flat-single-product) .card-product_info {
        padding: 15px 15px 10px 15px !important;
        text-align: center;
        flex-grow: 1;
        display: flex;
        flex-direction: column;
        justify-content: space-between;
        background: #fff;
        border-top: none !important;
    }

    section.flat-spacing-3:not(.flat-single-product) .card-product .name-product {
        font-family: 'Cormorant Garamond', serif !important;
        font-size: 0.95rem !important;
        /* Smaller, more compact font */
        font-weight: 500 !important;
        text-transform: uppercase;
        letter-spacing: 0.15em !important;
        color: #1a1a1a !important;
        margin-bottom: 10px !important;
        line-height: 1.5 !important;
        min-height: 3em;
        /* Ensure alignment with multi-line titles */
        display: flex;
        align-items: center;
        justify-content: center;
    }

    /* Color swatches at the bottom */
    section.flat-spacing-3:not(.flat-single-product) .card-product .product-color_list {
        justify-content: center;
        gap: 8px;
        margin-top: 10px !important;
        margin-bottom: 5px !important;
        padding: 0 !important;
    }

    section.flat-spacing-3:not(.flat-single-product) .card-product .product-color-item {
        width: 10px !important;
        height: 10px !important;
        border: 1px solid #ccc !important;
        border-radius: 50% !important;
        margin: 0 !important;
    }

    section.flat-spacing-3:not(.flat-single-product) .card-product .product-color-item.active {
        border-color: #333 !important;
        /* Dark active state like the dots in the image */
        background: #333 !important;
        /* Solid dot for active if it matches the image dots */
    }

    /* Hide clutter */
    section.flat-spacing-3:not(.flat-single-product) .card-product .product-action_list,
    section.flat-spacing-3:not(.flat-single-product) .card-product .product-badge_list,
    section.flat-spacing-3:not(.flat-single-product) .card-product .variant-box,
    section.flat-spacing-3:not(.flat-single-product) .card-product .product-marquee_sale {
        display: none !important;
    }

    /* Subtle hover interaction */
    section.flat-spacing-3:not(.flat-single-product) .card-product::after {
        display: none !important;
        /* Removing the big button for the compact look */
    }

    /* Redesign the 'You May Also Like' Section Title */
    section.flat-spacing-3:not(.flat-single-product) .sect-title,
    section.flat-spacing-3 h1.sect-title {
        font-family: 'Cormorant Garamond', serif !important;
        text-transform: uppercase !important;
        letter-spacing: 0.2em !important;
        font-weight: 400 !important;
        font-size: 2.8rem !important;
        margin-bottom: 60px !important;
        color: #111 !important;
        text-align: center !important;
        display: block !important;
    }

    /* Hide default icons and clutter for a cleaner luxury look */
    section.flat-spacing-3:not(.flat-single-product) .card-product .product-action_list,
    section.flat-spacing-3:not(.flat-single-product) .card-product .product-badge_list,
    section.flat-spacing-3:not(.flat-single-product) .card-product .variant-box,
    section.flat-spacing-3:not(.flat-single-product) .card-product .product-marquee_sale {
        display: none !important;
    }

    /* Force Discover Button visibility on hover */
    section.flat-spacing-3:not(.flat-single-product) .card-product::after {
        content: 'DISCOVER PIECE' !important;
        position: absolute !important;
        top: 50% !important;
        left: 50% !important;
        transform: translate(-50%, -40%) scale(0.9) !important;
        background: #111 !important;
        color: #fff !important;
        padding: 12px 30px !important;
        font-size: 0.75rem !important;
        letter-spacing: 0.3em !important;
        font-weight: 500 !important;
        opacity: 0 !important;
        visibility: hidden !important;
        transition: all 0.4s cubic-bezier(0.165, 0.84, 0.44, 1) !important;
        z-index: 100 !important;
        pointer-events: none !important;
    }

    section.flat-spacing-3:not(.flat-single-product) .card-product:hover::after {
        opacity: 1 !important;
        visibility: visible !important;
        transform: translate(-50%, -50%) scale(1) !important;
    }

    /* --- HERO BANNER BRANDING (JC JEWEL STYLE) --- */
    .banner-V05 {
        position: relative !important;
    }

    .kp-background-branding {
        position: absolute !important;
        right: 2%;
        top: 50%;
        transform: translateY(-50%);
        font-family: 'Cormorant Garamond', serif !important;
        font-size: clamp(24px, 5.5vw, 90px);
        /* Reduced size to ensure it fits */
        color: rgba(212, 175, 55, 0.75) !important;
        letter-spacing: 0.15em !important;
        /* Reduced spacing to prevent overflow */
        text-transform: uppercase !important;
        pointer-events: none !important;
        z-index: 1 !important;
        font-weight: 400 !important;
        white-space: nowrap !important;
        text-shadow: 0 0 15px rgba(0, 0, 0, 0.15);
    }

    /* Ensure content stays above the branding */
    .banner-V05 .container {
        position: relative !important;
        z-index: 2 !important;
    }

    /* Adjust for mobile */
    @media (max-width: 768px) {
        .kp-background-branding {
            right: 0;
            left: 0;
            text-align: center;
            top: 30%;
            opacity: 0.15 !important;
        }
    }

    /* Remove black line below topbar globally */
    .tf-topbar.line-bt {
        border-bottom: none !important;
    }

    /* --- BRANDING LOGO TEXT --- */
    .logo-site {
        display: flex !important;
        align-items: center;
        gap: 15px;
        text-decoration: none !important;
    }

    .logo-site img {
        max-height: 55px;
        width: auto;
    }

    .logo-text-wrapper {
        display: flex;
        flex-direction: column;
        justify-content: center;
        text-align: left;
    }

    .logo-text-main {
        font-family: 'Cormorant Garamond', serif !important;
        font-size: 32px !important;
        font-weight: 600 !important;
        color: #1a1a1a !important;
        line-height: 1 !important;
        letter-spacing: 1px !important;
        margin: 0 !important;
        text-transform: none !important;
    }

    .logo-text-sub {
        font-family: 'Inter', sans-serif !important;
        font-size: 12px !important;
        font-weight: 500 !important;
        color: #c0851e !important;
        letter-spacing: 6px !important;
        line-height: 1 !important;
        margin: 4px 0 0 0 !important;
        text-transform: uppercase !important;
    }

/* Remove black line below topbar globally */
.tf-topbar.line-bt {
    border-bottom: none !important;
}
}

/* Keep the final desktop mega menu visible without changing the other menus */
.new-mega-menu .main-menu > .menu-item:last-child .mega-dropdown {
    left: auto !important;
    right: 0 !important;
}

/* Logo surfaces: keep the header clean and make the footer logo read on black */
.tf-header,
.tf-header .header-inner,
.tf-header.header-fixed {
    background-color: #ffffff !important;
}

.tf-header .logo-site,
.mmenu-wrapper .logo-site {
    background-color: transparent !important;
    display: inline-flex !important;
    align-items: center;
    padding: 0 !important;
    overflow: hidden;
    width: 210px !important;
    max-width: 210px !important;
    border: 0 !important;
    outline: 0 !important;
    box-shadow: none !important;
}

.tf-header .logo-site img,
.mmenu-wrapper .logo-site img {
    display: block;
    height: auto !important;
    max-height: none !important;
    width: 210px !important;
    max-width: 210px !important;
    margin: 0 !important;
    object-fit: contain;
}

.tf-footer .logo-site {
    display: inline-flex !important;
    align-items: center;
    background-color: #ffffff !important;
    padding: 6px 10px !important;
    border-radius: 0;
    overflow: hidden;
    width: 190px !important;
    max-width: 190px !important;
}

.tf-footer .logo-site img {
    display: block;
    height: auto !important;
    max-height: none !important;
    width: 170px !important;
    max-width: 170px !important;
    margin: 0 !important;
    object-fit: contain;
}

@media (max-width: 575px) {
    .tf-footer .footer-body {
        padding-top: 44px !important;
        padding-bottom: 42px !important;
    }

    .tf-footer .footer-body .row {
        gap: 28px !important;
    }

    .tf-footer .footer-body .row > .col-auto:last-child {
        width: 100% !important;
        flex: 0 0 100% !important;
    }

    .tf-footer .footer-body .row > .col-auto:last-child .footer-col-block,
    .tf-footer .footer-body .row > .col-auto:last-child .tf-collapse-content {
        display: block !important;
        width: 100% !important;
        margin: 0 !important;
    }

    .tf-footer .footer-body .row > .col-auto:last-child .footer-heading {
        display: block !important;
        margin: 0 0 14px !important;
        color: rgb(192, 133, 30) !important;
        font-size: 24px !important;
        line-height: 1.25 !important;
    }

    .tf-footer .footer-contact {
        display: grid !important;
        gap: 11px !important;
        margin: 0 !important;
        padding: 0 !important;
    }

    .tf-footer .footer-contact li {
        display: grid !important;
        grid-template-columns: 22px minmax(0, 1fr) !important;
        align-items: start !important;
        gap: 9px !important;
        margin: 0 !important;
    }

    .tf-footer .footer-contact i {
        width: 22px !important;
        margin-top: 3px !important;
        font-size: 16px !important;
        text-align: center !important;
    }

    .tf-footer .footer-contact span {
        min-width: 0 !important;
        font-size: 16px !important;
        line-height: 1.45 !important;
        overflow-wrap: anywhere !important;
        word-break: normal !important;
    }
}

.instagram-gallery-link {
    display: block;
    color: inherit;
    text-decoration: none;
}

/* Stop the desktop navigation from overlapping the logo */
.tf-header.style-4 .new-mega-menu .main-menu,
.tf-header.header-fixed .new-mega-menu .main-menu {
    margin-left: 0 !important;
}

.tf-header.style-4 .col-xl-6,
.tf-header.header-fixed .col-xl-6 {
    padding-left: 18px !important;
}

/* Product detail media: show the full jewellery image without cropping */
.flat-single-product {
    padding-top: 48px !important;
    padding-bottom: 64px !important;
}

.flat-single-product .tf-product-media-wrap {
    position: sticky;
    top: 92px;
    width: 100% !important;
    max-width: 680px !important;
    margin: 0 auto !important;
}

.flat-single-product .product-thumbs-slider {
    align-items: flex-start;
    gap: 12px;
    width: 100% !important;
    max-width: 680px !important;
}

.flat-single-product .flat-wrap-media-product {
    width: calc(100% - 108px - 12px) !important;
    max-width: 560px !important;
    flex: 1 1 auto !important;
    overflow: hidden !important;
}

.flat-single-product .tf-product-media-main .item {
    aspect-ratio: auto !important;
    height: clamp(360px, 42vw, 620px) !important;
    max-height: 620px !important;
    background: #f8f6f2;
    align-items: center;
    justify-content: center;
}

.flat-single-product .tf-product-media-main .item img {
    width: 100% !important;
    height: 100% !important;
    object-fit: contain !important;
}

.flat-single-product .tf-product-media-thumbs {
    width: 108px;
    max-height: 620px;
}

.flat-single-product .tf-product-media-thumbs .swiper-slide {
    max-height: 108px;
}

.flat-single-product .tf-product-media-thumbs .swiper-slide .item {
    aspect-ratio: 1 / 1;
    background: #f8f6f2;
}

.flat-single-product .tf-product-media-thumbs .swiper-slide .item img {
    aspect-ratio: 1 / 1 !important;
    object-fit: contain !important;
}

.flat-single-product .tf-product-info-wrap {
    max-width: 560px;
    margin-left: 0;
}

.flat-single-product .container {
    max-width: 1320px !important;
}

.flat-single-product .row {
    display: grid !important;
    grid-template-columns: minmax(0, 680px) minmax(360px, 560px) !important;
    align-items: flex-start !important;
    gap: 36px !important;
    justify-content: center !important;
}

.flat-single-product .row > [class*="col-"] {
    width: 100% !important;
    max-width: none !important;
    flex: none !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
}

.flat-single-product .tf-product-media-wrap,
.flat-single-product .product-thumbs-slider,
.flat-single-product .flat-wrap-media-product,
.flat-single-product .tf-product-media-main,
.flat-single-product .tf-product-media-main .swiper-wrapper,
.flat-single-product .tf-product-media-main .swiper-slide {
    max-width: 100% !important;
    min-width: 0 !important;
}

.flat-single-product .tf-product-media-main {
    overflow: hidden !important;
    width: 100% !important;
    max-width: 560px !important;
}

.flat-single-product .tf-product-media-main .swiper-slide {
    width: 100% !important;
    flex: 0 0 100% !important;
}

.flat-single-product .tf-product-media-main .item {
    width: 100% !important;
    max-width: 560px !important;
}

.flat-single-product .tf-product-media-main .swiper-wrapper {
    max-width: 560px !important;
}

.kp-small-inquiry-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    width: fit-content;
    margin: 0 0 22px;
    padding: 10px 16px;
    border: 1px solid #111;
    background: #111;
    color: #fff !important;
    font-size: 13px;
    font-weight: 600;
    line-height: 1;
    letter-spacing: 0.5px;
    text-transform: uppercase;
    text-decoration: none !important;
}

.kp-small-inquiry-btn:hover {
    background: #fff;
    color: #111 !important;
}

.kp-small-inquiry-btn i {
    color: #c0851e;
    font-size: 15px;
}

@media (max-width: 1199px) {
    .flat-single-product .row {
        grid-template-columns: 1fr !important;
        gap: 28px !important;
    }

    .flat-single-product .tf-product-media-wrap {
        position: static;
    }

    .flat-single-product .flat-wrap-media-product {
        width: 100% !important;
    }

    .flat-single-product .tf-product-media-main .item {
        max-height: 520px !important;
    }

    .flat-single-product .tf-product-info-wrap {
        max-width: none;
        margin-left: 0;
        margin-top: 28px;
    }
}

@media (max-width: 575px) {
    .flat-single-product .product-thumbs-slider {
        flex-direction: column;
    }

    .flat-single-product .tf-product-media-main .item {
        max-height: 380px !important;
    }

    .flat-single-product .tf-product-media-thumbs {
        width: 100%;
        max-height: none;
        order: 1;
    }
}

/* Category product listings: consistent cards and proper image fit */
section.flat-spacing-3:not(.flat-single-product) .luxury-ring-grid {
    display: grid !important;
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
    gap: 28px !important;
}

section.flat-spacing-3:not(.flat-single-product) .luxury-ring-card,
section.flat-spacing-3:not(.flat-single-product) .card-product {
    height: 100% !important;
    min-height: 0 !important;
    border: 1px solid #ece7df !important;
    background: #fff !important;
    box-shadow: none !important;
    transform: none !important;
    cursor: pointer;
}

section.flat-spacing-3:not(.flat-single-product) .luxury-ring-card:hover,
section.flat-spacing-3:not(.flat-single-product) .card-product:hover {
    border-color: #c0851e !important;
    box-shadow: 0 14px 34px rgba(0, 0, 0, 0.06) !important;
    transform: translateY(-4px) !important;
}

section.flat-spacing-3:not(.flat-single-product) .luxury-ring-card .card-product_wrapper,
section.flat-spacing-3:not(.flat-single-product) .card-product_wrapper {
    aspect-ratio: 1 / 1 !important;
    width: 100% !important;
    height: auto !important;
    padding: 18px !important;
    margin: 0 !important;
    background: #f8f6f2 !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    overflow: hidden !important;
}

section.flat-spacing-3:not(.flat-single-product) .luxury-ring-card .product-img,
section.flat-spacing-3:not(.flat-single-product) .card-product_wrapper .product-img {
    width: 100% !important;
    height: 100% !important;
    padding: 0 !important;
    margin: 0 !important;
    background: transparent !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    transform: none !important;
}

section.flat-spacing-3:not(.flat-single-product) .luxury-ring-card img,
section.flat-spacing-3:not(.flat-single-product) .card-product_wrapper img {
    width: 100% !important;
    height: 100% !important;
    max-width: 100% !important;
    max-height: 100% !important;
    object-fit: contain !important;
    object-position: center !important;
}

section.flat-spacing-3:not(.flat-single-product) .card-product_wrapper .img-hover {
    inset: 18px !important;
    width: calc(100% - 36px) !important;
    height: calc(100% - 36px) !important;
}

section.flat-spacing-3:not(.flat-single-product) .luxury-ring-card:hover .product-img,
section.flat-spacing-3:not(.flat-single-product) .card-product_wrapper:hover .img-hover {
    transform: none !important;
}

section.flat-spacing-3:not(.flat-single-product) .luxury-ring-card .product-name,
section.flat-spacing-3:not(.flat-single-product) .card-product .name-product {
    min-height: 46px !important;
    margin: 16px 14px 12px !important;
    color: #111 !important;
    line-height: 1.35 !important;
    text-align: center !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
}

section.flat-spacing-3:not(.flat-single-product) .luxury-ring-card .view-piece-btn {
    opacity: 1 !important;
    transform: none !important;
    width: auto !important;
    min-width: 132px;
    align-self: center;
    margin: 0 0 18px !important;
    padding: 11px 18px !important;
    background: #111 !important;
}

.kp-listing-inquiry-btn {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: fit-content !important;
    min-width: 112px !important;
    margin: 0 auto 18px !important;
    padding: 10px 18px !important;
    border: 1px solid #c0851e !important;
    background: #c0851e !important;
    color: #fff !important;
    font-size: 12px !important;
    font-weight: 700 !important;
    line-height: 1 !important;
    letter-spacing: 0.8px !important;
    text-align: center !important;
    text-transform: uppercase !important;
    text-decoration: none !important;
    cursor: pointer !important;
    transition: all 0.2s ease !important;
}

.kp-listing-inquiry-btn:hover {
    background: #111 !important;
    border-color: #111 !important;
    color: #fff !important;
}

section.flat-spacing-3:not(.flat-single-product) .luxury-ring-card .kp-listing-inquiry-btn {
    margin-top: -6px !important;
}

section.flat-spacing-3:not(.flat-single-product) .card-product_info .kp-listing-inquiry-btn,
section.kp-related-products .card-product_info .kp-listing-inquiry-btn {
    margin-top: 0 !important;
}

section.flat-spacing-3:not(.flat-single-product) .card-product .name-product,
section.kp-related-products .kp-related-grid .name-product {
    margin-bottom: 12px !important;
}

@media (max-width: 1199px) {
    section.flat-spacing-3:not(.flat-single-product) .luxury-ring-grid {
        grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    }
}

@media (max-width: 767px) {
    section.flat-spacing-3:not(.flat-single-product) .luxury-ring-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
        gap: 16px !important;
    }

    section.flat-spacing-3:not(.flat-single-product) .luxury-ring-card .card-product_wrapper,
    section.flat-spacing-3:not(.flat-single-product) .card-product_wrapper {
        padding: 12px !important;
    }

    .kp-listing-inquiry-btn {
        min-width: 100px !important;
        padding: 9px 14px !important;
        font-size: 11px !important;
    }
}

/* Product detail related products: repair broken generated carousel markup */
section.kp-related-products {
    padding: 70px 0 !important;
    background: #fff !important;
    overflow: hidden !important;
}

section.kp-related-products .sect-title {
    margin: 0 0 34px !important;
    color: #111 !important;
    line-height: 1.15 !important;
}

section.kp-related-products .tf-swiper,
section.kp-related-products .sw-dot-default,
section.kp-related-products > .swiper-slide,
section.kp-related-products > .container > .swiper-slide {
    display: none !important;
}

section.kp-related-products .kp-related-grid {
    display: grid !important;
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
    gap: 28px !important;
    width: 100% !important;
}

section.kp-related-products .kp-related-grid-item,
section.kp-related-products .kp-related-grid .card-product {
    min-width: 0 !important;
    height: 100% !important;
}

section.kp-related-products .kp-related-grid .card-product {
    border: 1px solid #ece7df !important;
    background: #fff !important;
    box-shadow: none !important;
    transform: none !important;
    cursor: pointer;
}

section.kp-related-products .kp-related-grid .card-product:hover {
    border-color: #c0851e !important;
    box-shadow: 0 14px 34px rgba(0, 0, 0, 0.06) !important;
    transform: translateY(-4px) !important;
}

section.kp-related-products .kp-related-grid .card-product_wrapper {
    aspect-ratio: 1 / 1 !important;
    width: 100% !important;
    height: auto !important;
    padding: 18px !important;
    margin: 0 !important;
    background: #f8f6f2 !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    overflow: hidden !important;
}

section.kp-related-products .kp-related-grid .product-img {
    width: 100% !important;
    height: 100% !important;
    padding: 0 !important;
    margin: 0 !important;
    background: transparent !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    transform: none !important;
}

section.kp-related-products .kp-related-grid .card-product_wrapper img {
    display: block !important;
    width: 100% !important;
    height: 100% !important;
    max-width: 100% !important;
    max-height: 100% !important;
    object-fit: contain !important;
    object-position: center !important;
}

section.kp-related-products .kp-related-grid .card-product_wrapper .img-hover {
    inset: 18px !important;
    width: calc(100% - 36px) !important;
    height: calc(100% - 36px) !important;
}

section.kp-related-products .kp-related-grid .card-product_wrapper:hover .img-hover {
    transform: none !important;
}

section.kp-related-products .kp-related-grid .product-action_list,
section.kp-related-products .kp-related-grid .product-badge_list,
section.kp-related-products .kp-related-grid .variant-box,
section.kp-related-products .kp-related-grid .product-marquee_sale,
section.kp-related-products .kp-related-grid .product-color_list {
    display: none !important;
}

section.kp-related-products .kp-related-grid .card-product_info {
    padding: 0 !important;
}

section.kp-related-products .kp-related-grid .name-product {
    min-height: 46px !important;
    margin: 16px 14px 18px !important;
    color: #111 !important;
    line-height: 1.35 !important;
    text-align: center !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
}

@media (max-width: 1199px) {
    section.kp-related-products .kp-related-grid {
        grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    }
}

@media (max-width: 767px) {
    section.kp-related-products {
        padding: 46px 0 !important;
    }

    section.kp-related-products .kp-related-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
        gap: 16px !important;
    }

    section.kp-related-products .kp-related-grid .card-product_wrapper {
        padding: 12px !important;
    }

    section.kp-related-products .kp-related-grid .card-product_wrapper .img-hover {
        inset: 12px !important;
        width: calc(100% - 24px) !important;
        height: calc(100% - 24px) !important;
    }
}

/* Final product-page layout guard for every generated product HTML file */
section.kp-product-detail {
    padding: 48px 0 72px !important;
    background: #fff !important;
}

section.kp-product-detail > .tf-main-product,
section.kp-product-detail > .tf-main-product > .container {
    width: 100% !important;
    max-width: 1320px !important;
    margin: 0 auto !important;
}

section.kp-product-detail > .tf-main-product > .container > .row {
    display: grid !important;
    grid-template-columns: minmax(0, 620px) minmax(360px, 540px) !important;
    justify-content: center !important;
    align-items: flex-start !important;
    gap: 44px !important;
    margin: 0 !important;
}

section.kp-product-detail > .tf-main-product > .container > .row > .col-md-6 {
    width: 100% !important;
    max-width: none !important;
    flex: none !important;
    padding: 0 !important;
}

section.kp-product-detail .tf-product-media-wrap {
    position: sticky !important;
    top: 96px !important;
    width: 100% !important;
    max-width: 620px !important;
    margin: 0 !important;
    overflow: hidden !important;
}

section.kp-product-detail .product-thumbs-slider {
    display: grid !important;
    grid-template-columns: 96px minmax(0, 1fr) !important;
    gap: 14px !important;
    width: 100% !important;
    max-width: 620px !important;
    align-items: flex-start !important;
}

section.kp-product-detail .tf-product-media-thumbs {
    width: 96px !important;
    max-width: 96px !important;
    max-height: 560px !important;
    overflow: hidden !important;
}

section.kp-product-detail .tf-product-media-thumbs .swiper-slide {
    width: 96px !important;
    height: 96px !important;
    max-height: 96px !important;
}

section.kp-product-detail .tf-product-media-thumbs .item {
    width: 96px !important;
    height: 96px !important;
    background: #f8f6f2 !important;
}

section.kp-product-detail .flat-wrap-media-product {
    width: 100% !important;
    max-width: 510px !important;
    min-width: 0 !important;
    overflow: hidden !important;
}

section.kp-product-detail .tf-product-media-main,
section.kp-product-detail .tf-product-media-main .swiper-wrapper,
section.kp-product-detail .tf-product-media-main .swiper-slide,
section.kp-product-detail .tf-product-media-main .item {
    width: 100% !important;
    max-width: 510px !important;
    min-width: 0 !important;
}

section.kp-product-detail .tf-product-media-main {
    overflow: hidden !important;
}

section.kp-product-detail .tf-product-media-main .swiper-wrapper {
    transform: translate3d(0, 0, 0);
}

section.kp-product-detail .tf-product-media-main .swiper-slide {
    flex: 0 0 100% !important;
}

section.kp-product-detail .tf-product-media-main .item {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    height: 560px !important;
    max-height: 560px !important;
    background: #f8f6f2 !important;
    overflow: hidden !important;
}

section.kp-product-detail .tf-product-media-main .item img,
section.kp-product-detail .tf-product-media-thumbs img {
    display: block !important;
    width: 100% !important;
    height: 100% !important;
    object-fit: contain !important;
    object-position: center !important;
}

section.kp-product-detail .tf-product-info-wrap {
    width: 100% !important;
    max-width: 540px !important;
    margin: 0 !important;
}

section.kp-product-detail .product-info-table {
    width: 100% !important;
}

@media (max-width: 1199px) {
    section.kp-product-detail > .tf-main-product > .container > .row {
        grid-template-columns: 1fr !important;
        gap: 30px !important;
    }

    section.kp-product-detail .tf-product-media-wrap {
        position: static !important;
        margin: 0 auto !important;
    }

    section.kp-product-detail .tf-product-info-wrap {
        max-width: 680px !important;
        margin: 0 auto !important;
    }
}

@media (max-width: 575px) {
    section.kp-product-detail .product-thumbs-slider {
        grid-template-columns: 1fr !important;
    }

    section.kp-product-detail .flat-wrap-media-product,
    section.kp-product-detail .tf-product-media-main,
    section.kp-product-detail .tf-product-media-main .swiper-wrapper,
    section.kp-product-detail .tf-product-media-main .swiper-slide,
    section.kp-product-detail .tf-product-media-main .item {
        max-width: 100% !important;
    }

    section.kp-product-detail .tf-product-media-main .item {
        height: 380px !important;
        max-height: 380px !important;
    }

    section.kp-product-detail .tf-product-media-thumbs {
        width: 100% !important;
        max-width: 100% !important;
        max-height: none !important;
        order: 2;
    }
}
