/*
Theme Name: Green Burials
Author:  Gagan
Version: 1.2
Description: Custom pixel-perfect theme for Green Burials site - Eco-friendly burial products with extreme speed optimization (Updated for exact Figma matching)
Text Domain: green-burials
*/

@font-face {
    font-family: 'Times New Roman Custom';
    src: url('assets/times.ttf') format('truetype');
    font-weight: normal;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'Times New Roman Custom';
    src: url('assets/Times New Roman - Bold.ttf') format('truetype');
    font-weight: bold;
    font-style: normal;
    font-display: swap;
}

/* CSS Reset & Base Styles */
*,
*::before,
*::after {
    box-sizing: border-box;
    margin: 0;
    padding: 0
}

html {
    font-size: 16px;
    -webkit-text-size-adjust: 100%
}

body {
    font-family: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', Arial, sans-serif;
    line-height: 1.6;
    color: #333;
    background: #fff;
    overflow-x: hidden
}

img {
    max-width: 100%;
    height: auto;
    display: block
}

a {
    text-decoration: none;
    color: inherit
}

ul,
ol {
    list-style: none
}

button {
    font-family: 'Times New Roman', Times, serif;
    cursor: pointer;
    border: none;
    background: none
}

/* Variables */
:root {
    --primary-green: #73884D;
    --dark-green: #5A7A1F;
    --accent-gold: #C4B768;
    --text-dark: #333333;
    --text-light: #666666;
    --bg-white: #FFFFFF;
    --bg-light: #F9F9F9;
    --border-color: #e0e0e0;
    --star-orange: #FFA500;
    --sale-orange: #FFA500;
    --max-width: 100%;
    --container-padding: 20px;
    --spacing-xs: .5rem;
    --spacing-sm: 1rem;
    --spacing-md: 1.25rem;
    --spacing-lg: 3.75rem;
    --spacing-xl: 5rem;
}

/* Typography */
h1,
h2,
h3,
h4,
h5,
h6 {
    font-family: 'Times New Roman', Times, serif;
    font-weight: 700;
    line-height: 1.2;
    margin-bottom: 1rem;
}

h1 {
    font-size: 4.5rem;
    letter-spacing: 0;
    text-transform: uppercase;
    line-height: 1.1;
}

h2 {
    font-size: 2.25rem;
}

h3 {
    font-size: 1.5rem;
}

h4 {
    font-size: 1.25rem;
}

p {
    margin-bottom: 1rem;
    font-family: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', Arial, sans-serif;
}

/* Container */
.container {
    max-width: 100%;
    margin: 0 auto;
    padding: 0 var(--container-padding);
}

.account-page-wrapper.container {
    width: min(100%, 1280px);
    margin-inline: auto;
    padding-inline: clamp(16px, 4vw, 32px);
}

@media (max-width: 768px) {
    :root {
        --container-padding: 20px;
    }
}

/* ========== DUAL HEADER SYSTEM ========== */

/* Main Headers Wrapper - Prevents layout shift */
.main-headers-wrapper {
    position: static;
    background: #fff;
}

.main-headers-wrapper.transitioning {
    /* Lock height during transition to prevent jump */
    min-height: 200px;
}

/* Top Info Bar */
.top-info-bar {
    background: #6B7A4D;
    color: #fff;
    font-size: 0.875rem;
    padding: 0;
    min-height: 50px;
    position: relative;
    z-index: 100;
    font-family: 'Times New Roman', Times, serif;
    /* Added font family */
}

.top-info-inner {
    display: flex !important;
    justify-content: space-between !important;
    align-items: center !important;
    gap: 2rem;
    flex-wrap: nowrap !important;
    height: 50px;
}

.header-contact-info {
    display: flex !important;
    flex-direction: row !important;
    gap: 2rem;
    flex-shrink: 0;
    align-items: center;
}

.header-contact-item {
    display: flex !important;
    flex-direction: row !important;
    align-items: center;
    gap: 0.5rem;
    color: #fff;
    text-decoration: none;
    transition: opacity 0.3s;
    font-weight: 500;
    white-space: nowrap;
    font-family: 'Times New Roman', Times, serif;
    /* Ensure inheritance */
}

.header-contact-item:hover {
    opacity: 0.8;
}

.header-contact-item svg {
    flex-shrink: 0;
    width: 16px;
    height: 16px;
}

.shipping-notice {
    flex: 1;
    text-align: center;
    font-weight: 500;
    font-family: 'Times New Roman', Times, serif;
    letter-spacing: 0.5px;
}

/* Header Social Icons */
.social-icons-header {
    display: flex !important;
    gap: 0;
    flex-shrink: 0;
    height: 100%;
    align-items: center;
}

.social-icons-header a {
    color: #fff;
    transition: opacity 0.3s;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 1.1rem;
    width: 40px;
    height: 100%;
    border-right: 1px solid rgba(255, 255, 255, 0.2);
}

.social-icons-header a:first-child {
    border-left: none;
}

.social-icons-header a:last-child {
    border-right: none;
}

.social-icons-header a:hover {
    background: rgba(255, 255, 255, 0.1);
    opacity: 1;
}

.social-icons-header svg {
    width: 20px;
    /* Increased from 16px */
    height: 20px;
    /* Increased from 16px */
    fill: currentColor;
}

/* Main Header (Full) */
.main-header-full {
    background: #fff;
    padding: 1.5rem 0;
    border-bottom: 1px solid #f0f0f0;
    position: relative;
    z-index: 100;
}

.main-header-inner {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between;
    gap: 4rem;
    flex-wrap: nowrap !important;
}

.site-branding-full {
    flex-shrink: 0;
    width: 300px;
    margin-right: 0;
}

.logo-link-full {
    display: flex;
    align-items: center;
    gap: 1rem;
    text-decoration: none;
}

.site-logo-full {
    width: 200px;
    height: auto;
    object-fit: contain;
}

.logo-text {
    display: flex;
    flex-direction: column;
    gap: 2px;
}

.site-title-full {
    font-family: 'Times New Roman', Times, serif;
    font-size: 1.5rem;
    font-weight: 700;
    color: var(--primary-green);
    margin: 0;
    line-height: 1;
    letter-spacing: 1px;
}

.site-tagline {
    font-size: 0.75rem;
    color: var(--text-light);
    margin: 0.25rem 0 0 0;
    line-height: 1.2;
    font-family: 'Times New Roman', Times, serif;
}

.logo-phone {
    font-size: 0.75rem;
    font-weight: 700;
    color: #333;
    margin: 0;
}

.logo-subtext {
    font-size: 0.65rem;
    color: #666;
    margin: 0;
    font-style: italic;
    font-family: 'Times New Roman', Times, serif;
}

.header-search {
    flex-shrink: 0;
    max-width: 600px !important;
    width: 420px;
    margin: 0 1rem 0 0;
}

.header-search form {
    position: relative;
    display: flex;
}

.search-input {
    width: 100%;
    padding: 0.8rem 3.5rem 0.8rem 1.5rem;
    border: 1px solid #eee;
    border-radius: 50px;
    font-size: 0.9rem;
    outline: none;
    transition: all 0.3s;
    background: #fff;
    color: #6B7A4D;
    font-family: 'Times New Roman', Times, serif;
}

.search-input::placeholder {
    color: #6B7A4D;
}

.search-input:focus {
    border-color: #6B7A4D;
    box-shadow: 0 0 0 2px rgba(107, 122, 77, 0.1);
}

.search-button {
    position: absolute;
    right: 0.4rem;
    top: 50%;
    transform: translateY(-50%);
    background: #6B7A4D;
    border: none;
    border-radius: 50%;
    width: 38px;
    height: 38px;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    transition: background 0.3s;
    color: #fff;
}

.search-button:hover {
    background: #5a6640;
}

.search-button svg {
    width: 18px;
    height: 18px;
    stroke: #fff;
}

.header-actions {
    display: flex !important;
    gap: 0.8rem;
    flex-shrink: 0;
}

.header-account,
.header-cart {
    display: flex;
    align-items: center;
    gap: 0.8rem;
    color: #333;
    text-decoration: none;
    position: relative;
}

.icon-circle {
    width: 40px;
    height: 40px;
    border: 1px solid #C4B768;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    color: #6B7A4D;
    font-size: 1.1rem;
    transition: all 0.3s;
}

.icon-circle svg {
    width: 20px;
    height: 20px;
    stroke: currentColor;
}

.header-account:hover .icon-circle,
.header-cart:hover .icon-circle {
    background: #6B7A4D;
    color: #fff;
    border-color: #6B7A4D;
}

.action-text {
    display: flex;
    flex-direction: column;
    line-height: 1.2;
}

.header-action-label {
    font-size: 0.85rem;
    font-weight: 600;
    color: #333;
}

.header-action-link {
    font-size: 0.75rem;
    color: #666;
}

.cart-badge {
    background: #C4B768;
    color: #fff;
    font-size: 0.7rem;
    padding: 0.1rem 0.4rem;
    border-radius: 10px;
    position: absolute;
    top: -5px;
    left: 25px;
}

/* Navigation Bar (Full) */
.nav-bar-full {
    background: #fff;
    border-top: 1px solid #f0f0f0;
    border-bottom: 1px solid #f0f0f0;
    padding: 0;
    position: static;
    z-index: 100;
    transition: all 0.3s ease;
}

/* Sticky state - when scrolled past header */
.nav-bar-full.is-stuck {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    width: 100%;
    z-index: 1000;
    box-shadow: 0 2px 10px rgba(0, 0, 0, 0.1);
    border-top: none;
    animation: slideDown 0.3s ease-out;
}

@keyframes slideDown {
    from {
        transform: translateY(-100%);
    }

    to {
        transform: translateY(0);
    }
}

.nav-bar-wrapper {
    width: 100%;
    position: relative;
}

.nav-bar-inner {
    display: flex;
    justify-content: space-between;
    align-items: center;
    height: 60px;
    gap: 4rem;
}

.all-categories {
    display: flex;
    align-items: center;
    gap: 0.8rem;
    font-weight: 600;
    color: #333;
    cursor: pointer;
    font-family: 'Times New Roman', Times, serif;
    padding: 0.5rem 1rem;
    background: none;
    border-radius: 4px;
    transition: background 0.3s;
    flex-shrink: 0;
}

.all-categories:hover {
    background: none;
    color: #6B7A4D;
}

.all-categories svg {
    width: 20px;
    height: 20px;
    fill: #C4B768;
}

.all-categories i {
    color: #C4B768;
    font-size: 1.1rem;
}

.main-nav-full {
    flex: 1;
    display: flex;
    justify-content: flex-end;
    align-items: center;
    gap: 2rem;
}

.nav-menu-full {
    display: flex;
    gap: 1.5rem;
    list-style: none;
    margin: 0;
    padding: 0;
    align-items: center;
}

.nav-menu-full li {
    margin: 0;
}

.nav-menu-full a {
    color: #333;
    text-decoration: none;
    font-weight: 600;
    font-size: 0.95rem;
    font-family: 'Times New Roman', Times, serif;
    transition: color 0.3s;
    position: relative;
}

.nav-menu-full a:hover {
    color: #6B7A4D;
}

/* ================================================
   DESKTOP NAV DROPDOWN (sub-menu) STYLES
   WordPress adds .menu-item-has-children and .sub-menu
   automatically when child items exist in Appearance > Menus.
   ================================================ */

/* Parent item needs relative positioning as anchor */
.nav-menu-full li.menu-item-has-children {
    position: relative;
}

/* Caret indicator on parent link */
.nav-menu-full li.menu-item-has-children>a::after {
    content: '';
    display: inline-block;
    width: 0;
    height: 0;
    border-left: 4px solid transparent;
    border-right: 4px solid transparent;
    border-top: 5px solid currentColor;
    margin-left: 6px;
    vertical-align: middle;
    transition: transform 0.25s ease;
}

.nav-menu-full li.menu-item-has-children:hover>a::after {
    transform: rotate(180deg);
}

/* The dropdown panel */
.nav-menu-full li.menu-item-has-children>.sub-menu {
    position: absolute;
    top: calc(100% + 8px);
    left: 50%;
    transform: translateX(-50%) translateY(-6px);
    min-width: 210px;
    background: #fff;
    border-radius: 10px;
    box-shadow: 0 8px 32px rgba(0, 0, 0, 0.13), 0 2px 8px rgba(107, 122, 77, 0.08);
    border: 1px solid #e8ede0;
    list-style: none;
    margin: 0;
    padding: 6px 0;
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    transition: opacity 0.22s ease, transform 0.22s ease, visibility 0.22s;
    z-index: 9999;
    flex-direction: column;
    gap: 0;
}

/* Small connecting bridge so hover doesn't break when moving cursor down */
.nav-menu-full li.menu-item-has-children>.sub-menu::before {
    content: '';
    position: absolute;
    top: -10px;
    left: 0;
    right: 0;
    height: 10px;
}

/* Show on hover */
.nav-menu-full li.menu-item-has-children:hover>.sub-menu {
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
    transform: translateX(-50%) translateY(0);
}

/* Dropdown item links */
.nav-menu-full .sub-menu li {
    margin: 0;
    position: relative;
}

.nav-menu-full .sub-menu a {
    display: block;
    padding: 10px 20px;
    color: #333;
    font-size: 0.88rem;
    font-weight: 600;
    white-space: nowrap;
    border-radius: 0;
    transition: background 0.18s, color 0.18s, padding-left 0.18s;
}

.nav-menu-full .sub-menu a:hover {
    background: #f4f7ee;
    color: #6B7A4D;
    padding-left: 26px;
}

.nav-menu-full .sub-menu li:not(:last-child) {
    border-bottom: 1px solid #f0f4e8;
}

/* Nested sub-sub-menus (third level) */
.nav-menu-full .sub-menu li.menu-item-has-children>a::after {
    content: '';
    width: 0;
    height: 0;
    border-top: 4px solid transparent;
    border-bottom: 4px solid transparent;
    border-left: 5px solid currentColor;
    float: right;
    margin-top: 5px;
}

.nav-menu-full .sub-menu li.menu-item-has-children>.sub-menu {
    top: 0;
    left: 100%;
    transform: translateX(6px) translateY(0);
}

.nav-menu-full .sub-menu li.menu-item-has-children:hover>.sub-menu {
    transform: translateX(0) translateY(0);
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
}

.btn-contact {
    background: #6B7A4D;
    color: #fff;
    padding: 0.6rem 1.8rem;
    border-radius: 50px;
    text-decoration: none;
    font-weight: 600;
    font-size: 0.9rem;
    transition: background 0.3s;
    font-family: 'Times New Roman', Times, serif;
    margin-left: 3rem;
}

.btn-contact:hover {
    background: #5a6640;
    color: #fff;
}



.header-inner {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 2rem
}

.site-branding .logo-link {
    display: flex;
    align-items: center;
    gap: .75rem;
    text-decoration: none
}

.site-logo-img {
    width: 50px;
    height: 50px;
    object-fit: contain
}

.site-title {
    font-size: 1.5rem;
    font-weight: 700;
    margin: 0;
    color: #fff;
    font-family: 'Times New Roman', Times, serif
}

.main-navigation {
    flex: 1;
    display: flex;
    justify-content: center
}

.nav-menu {
    display: flex;
    gap: 2rem;
    padding: 0;
    margin: 0;
    list-style: none
}

.nav-menu li {
    margin: 0
}

.nav-menu a {
    color: #fff;
    font-weight: 600;
    font-size: 1rem;
    text-decoration: none;
    transition: color .3s;
    position: relative;
    padding: .5rem 0
}

.nav-menu a:hover {
    color: var(--accent-gold)
}

.header-icons {
    display: flex;
    gap: 1.5rem;
    align-items: center
}

.header-icon {
    width: 24px;
    height: 24px;
    color: #fff;
    transition: color .3s
}

.header-icon:hover {
    color: var(--accent-gold)
}

.cart-icon,
.account-icon {
    position: relative;
    display: flex;
    align-items: center
}

.cart-count {
    position: absolute;
    top: -8px;
    right: -8px;
    background: #FFA500;
    color: #fff;
    font-size: .75rem;
    font-weight: 700;
    border-radius: 50%;
    width: 20px;
    height: 20px;
    display: flex;
    align-items: center;
    justify-content: center
}

.nav-menu a::after {
    content: '';
    position: absolute;
    bottom: -5px;
    left: 0;
    width: 0;
    height: 2px;
    background: #fff;
    transition: width .3s;
}

.nav-menu a:hover::after {
    width: 100%;
}

/* Hero Section */
.hero-section {
    padding: 5rem 0;
    background: #fff;
    overflow: hidden;
}

.hero-content {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 4rem;
    align-items: center;
}

.hero-text h1 {
    color: var(--primary-green);
    margin-bottom: 1.5rem;
}

.hero-text .subtitle {
    font-size: 1.5rem;
    color: var(--text-dark);
    margin-bottom: 2rem;
    line-height: 1.6;
    max-width: 90%;
    font-family: 'Times New Roman', Times, serif;
}

.btn-primary {
    background: var(--primary-green);
    color: #fff;
    padding: 1rem 2.5rem;
    font-size: 1rem;
    font-weight: 700;
    border-radius: 4px;
    display: inline-block;
    transition: background .3s;
    text-transform: uppercase;
    letter-spacing: 1px;
    font-family: 'Times New Roman', Times, serif;
}

.btn-primary:hover {
    background: var(--dark-green);
}

/* Hero Collage */
.hero-images {
    position: relative;
    height: 500px;
    width: 100%;
}

.hero-images img {
    position: absolute;
    border-radius: 0;
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.1);
    object-fit: cover;
}

.hero-img-1 {
    width: 220px;
    height: 280px;
    top: 0;
    left: 0;
    z-index: 1;
}

/* Urn */
.hero-img-2 {
    width: 240px;
    height: 180px;
    top: 40px;
    right: 0;
    z-index: 2;
}

/* Box */
.hero-img-3 {
    width: 200px;
    height: 240px;
    bottom: 0;
    left: 40px;
    z-index: 3;
}

/* Basket */
.hero-img-4 {
    width: 180px;
    height: 180px;
    bottom: 60px;
    right: 40px;
    z-index: 4;
}

/* Pot */

/* ========== NEW FIGMA HERO SECTION ========== */
.hero-section-figma {
    position: relative;
    height: 480px;
    max-height: 480px;
    background-image: url('assets/figma_exported_images/Mask-group-5.webp');
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
    overflow: hidden;
    width: 100%;
}

.hero-overlay {
    background: linear-gradient(to right, rgba(0, 0, 0, 0.5) 0%, rgba(0, 0, 0, 0.3) 40%, transparent 70%);
    height: 100%;
    padding: 0;
    display: flex;
    align-items: center;
}

.hero-content-figma {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 2rem;
    align-items: center;
    height: 100%;
    max-width: 100%;
    padding: 0;
    margin: 0;
}

.hero-text-left {
    color: #fff;
    max-width: 100%;
    /* Allow full width for centering */
    padding-left: 0;
    text-align: center;
    /* Center align text */
    margin: 0 auto;
}

.hero-text-left h1::before {
    content: '';
    display: block;
    width: 120px;
    height: 2px;
    background: #fff;
    margin: 0 auto 1rem auto;
    /* Centered */
}

.hero-text-left h1 {
    color: #fff !important;
    font-size: 3.2rem;
    margin-bottom: 0.6rem;
    font-style: normal;
    text-transform: uppercase;
    line-height: 1.1;
    font-weight: 700;
    letter-spacing: 1px;
    white-space: normal;
    /* Changed from nowrap to normal */
    text-align: center;
    /* Added center alignment globally as requested */
}



.hero-subtitle {
    font-size: 1rem;
    color: #fff;
    margin-bottom: 0.6rem;
    font-weight: 500;
    line-height: 1.3;
}

.hero-description {
    font-size: 0.8rem;
    color: rgba(255, 255, 255, 0.95);
    margin-bottom: 1.2rem;
    line-height: 1.5;
}

.btn-hero {
    background: #fff;
    color: #73884D;
    padding: 0.7rem 2rem;
    font-size: 0.9rem;
    font-weight: 600;
    font-family: 'Times New Roman', Times, serif;
    border-radius: 25px;
    display: inline-block;
    transition: all 0.3s ease;
    text-transform: capitalize;
    letter-spacing: 0.5px;
    text-decoration: none;
    box-shadow: 0 4px 10px rgba(0, 0, 0, 0.2);
}

.btn-hero:hover {
    background: #6B7A4D;
    color: #fff;
    transform: translateY(-2px);
    box-shadow: 0 4px 10px rgba(107, 122, 77, 0.3);
}

.hero-products-right {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    height: 100%;
    padding-right: 0;
}

.hero-product-single {
    width: 100%;
    max-width: 1050px;
    height: auto;
    max-height: 700px;
    object-fit: contain;
}


.info-boxes {
    background: transparent;
    /* Removed background */
    padding: 2rem 0;
    /* Consistent padding */
}

.info-boxes .container {
    padding: 35px !important;
}

.info-boxes-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 1.5rem;
    max-width: 1000px;
    margin: 0 auto;
}

.info-box-card {
    background: white;
    border: 1px solid #e0e0e0;
    border-radius: 8px;
    padding: 2.5rem 1.5rem 1.5rem 1.5rem;
    text-align: center;
    position: relative;
    margin-top: 30px;
    transition: box-shadow 0.3s ease, transform 0.3s ease, border 0.3s ease;
}

.info-box-card:hover {
    box-shadow: 0 8px 20px rgba(0, 0, 0, 0.1);
    transform: translateY(-5px);
    border: 1px solid #C4B768 !important;
}

.info-box-icon-circle {
    width: 90px;
    height: 90px;
    position: absolute;
    top: -40px;
    left: 50%;
    transform: translateX(-50%);
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 0;
    box-sizing: border-box;
    overflow: hidden;
}

.info-box-icon-circle.green {
    background: #6B7A4D;
}

.info-box-icon-circle.gold {
    background: #C4B768;
}

.info-box-icon-circle img {
    width: 45%;
    height: auto;
    object-fit: contain;
}

.info-box-title {
    font-size: 0.9rem;
    font-weight: 700;
    margin-top: 1.2rem;
    margin-bottom: 0.4rem;
    color: #333;
    text-transform: uppercase;
    letter-spacing: 0.3px;
    font-family: 'Times New Roman', Times, serif;
    line-height: 1.3;
}

.info-box-text {
    font-size: 0.8rem;
    font-weight: 600;
    color: #333;
    margin-bottom: 0.2rem;
    line-height: 1.4;
}

.info-box-subtext {
    font-size: 0.75rem;
    color: #666;
    line-height: 1.4;
    margin-bottom: 0;
    font-family: 'Times New Roman', Times, serif;
}



/* ========== GREEN BURIALS SECTION (Reference Design) ========== */
.green-burials-section {
    padding: 2rem 0;
    background: #fff;
}

.green-burials-grid {
    display: grid;
    grid-template-columns: 1fr 1fr 1fr;
    gap: 1.5rem;
    align-items: center;
}

.gb-image-left img,
.gb-image-right img {
    width: 100%;
    height: auto;
    border-radius: 8px;
    box-shadow: 0 4px 15px rgba(0, 0, 0, 0.1);
}

.gb-text-center {
    padding: 0 1rem;
}

.gb-title {
    font-family: 'Times New Roman', Times, serif;
    font-size: 50px;
    font-weight: 500;
    font-style: normal;
    line-height: 100%;
    letter-spacing: 0%;
    text-transform: capitalize;
    color: #333;
    margin-bottom: 0.25rem;
    text-align: center;
}

.gb-title::after {
    content: '';
    display: block;
    width: 100px;
    height: 2px;
    background: linear-gradient(90deg, #C4B768 0%, #D4C878 100%);
    margin: 0.5rem auto 0;
    border-radius: 2px;
}

.gb-subtitle {
    font-size: 0.95rem;
    font-weight: 550;
    color: #333;
    margin-bottom: 1rem;
    line-height: 1.3;
    text-align: center;
    font-family: 'Times New Roman', Times, serif;
}

.gb-description {
    font-size: 0.8rem;
    color: #555;
    line-height: 1.5;
    margin-bottom: 0.5rem;
    text-align: center;
}

.btn-learn-more {
    display: block;
    width: fit-content;
    margin: 2.5rem auto 0;
    /* Increased margin */
    background: #6B7A4D;
    color: #fff !important;
    padding: 0.75rem 2rem;
    border-radius: 25px;
    font-size: 0.95rem;
    font-weight: 600;
    text-decoration: none;
    transition: all 0.3s ease;
    box-shadow: 0 4px 10px rgba(107, 122, 77, 0.3);
    font-family: 'Times New Roman', Times, serif;
}

.btn-learn-more:hover {
    background: #5a6640;
    box-shadow: 0 6px 15px rgba(107, 122, 77, 0.4);
    transform: translateY(-2px);
}


/* ========== TOP CATEGORIES SECTION (Reference Design) ========== */
.top-categories-section {
    padding: 2rem 0;
    background: #fff;
}

.section-decoration {
    display: flex;
    justify-content: center;
    align-items: center;
    margin-bottom: 1rem;
    width: 100%;
}

.section-decoration img {
    width: auto;
    /* Allow natural width or set specific if needed */
    max-width: 100%;
    height: auto;
}

.section-title {
    font-family: 'Times New Roman', Times, serif;
    font-size: 2.5rem;
    font-weight: 700;
    font-style: normal;
    line-height: 1.2;
    letter-spacing: 0%;
    text-transform: none;
    color: #000;
    text-align: center;
    margin-bottom: 2rem;
    position: relative;
    display: inline-block;
    width: 100%;
}


.section-title::after {
    content: none;
    /* Remove underline */
}


/* Category Filter Buttons */
/* Category Filter Buttons */
.category-filters {
    display: flex;
    justify-content: center;
    flex-wrap: wrap;
    gap: 0.75rem;
    margin-bottom: 3rem;
    max-width: 100%;
    padding: 0 var(--container-padding);
    margin-left: auto;
    margin-right: auto;
}

.mobile-filter-toggle {
    display: none;
    /* Hidden on desktop */
    background: none;
    border: none;
    cursor: pointer;
    padding: 0;
    align-items: center;
    justify-content: center;
}

.filter-btn {
    padding: 0.6rem 1.5rem;
    border: 1px solid #6B7A4D;
    border-radius: 25px;
    font-size: 0.9rem;
    font-weight: 500;
    font-family: 'Times New Roman', Times, serif;
    color: #6B7A4D;
    background: #fff;
    text-decoration: none;
    transition: all 0.3s ease;
    white-space: nowrap;
    cursor: pointer;
}

.filter-btn.active {
    background: #6B7A4D;
    color: #fff;
}

.filter-btn:hover {
    background: #6B7A4D;
    color: #fff;
    transform: translateY(-2px);
    box-shadow: 0 4px 8px rgba(107, 122, 77, 0.2);
}

/* Products Grid */
.top-categories-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 2rem;
    transition: opacity 0.3s ease;
}


.category-product-card {
    position: relative;
    background: transparent;
    border-radius: 20px;
    overflow: hidden;
    transition: all 0.3s ease;
    text-align: center;
    border: 1px solid #e0e0e0;
    box-shadow: none;
    display: flex;
    flex-direction: column;
    height: 100%;
}

.card-link-overlay {
    position: absolute;
    inset: 0;
    z-index: 10;
    cursor: pointer;
}

.category-product-image {
    width: 100%;
    height: 250px;
    background: #fff;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 10px;
    position: relative;
    flex-shrink: 0;
}

.category-product-image img {
    width: 100%;
    height: 100%;
    object-fit: contain;
    transition: transform 0.3s ease;
}

.category-product-card:hover .category-product-image img {
    transform: scale(1.05);
}

.category-product-info {
    padding: 2rem 1rem 1.75rem;
    background: #fff;
    border: 1px solid transparent;
    border-top: none;
    transition: border-color 0.3s ease, box-shadow 0.3s ease;
    border-radius: 0 0 20px 20px;
    flex: 1;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: flex-start;
    box-sizing: border-box;
}

.category-product-card:hover {
    box-shadow: 0 10px 25px rgba(0, 0, 0, 0.08) !important;
}

.category-product-card:hover .category-product-info {
    border: 1px solid #C4B768;
    border-top: none;
    box-shadow: none;
}



.category-product-title {
    font-family: 'Times New Roman', Times, serif;
    font-size: 1.15rem;
    font-weight: 700;
    color: #333;
    margin-bottom: 8px;
    line-height: 1.4;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
    text-overflow: ellipsis;
    min-height: 2.8em;
    word-break: normal;
    overflow-wrap: break-word;
    hyphens: none;
    text-align: center;
}


.category-product-price-rating {
    margin-top: 0;
    margin-bottom: 15px;
    display: flex !important;
    flex-direction: row !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 12px;
    height: 2.5rem !important;
}

.category-product-price {
    font-family: 'Times New Roman', Times, serif;
    font-size: 1.25rem;
    font-weight: 700;
    color: #333;
    line-height: 1;
}

.category-product-rating {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    height: 100% !important;
}

/* Star Rating Styling */
.category-product-rating .star-rating {
    font-size: 14px;
    width: 80px;
    margin: 0 !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    height: 1em !important;
    line-height: 1 !important;
}

.category-product-rating .star-rating::before {
    color: #ddd;
}

.category-product-rating .star-rating span::before {
    color: #FF9900;
    /* Orange stars from ref image */
}

.category-product-actions {
    display: flex;
    gap: 8px;
    justify-content: center;
    position: relative;
    z-index: 20;
    margin-top: auto;
    width: 100%;
}

.btn-category-shop,
.btn-bestseller-shop,
.btn-latest-shop {
    display: inline-block;
    padding: 0.75rem 1rem;
    border-radius: 50px;
    font-size: 0.95rem;
    font-weight: 600;
    text-decoration: none;
    transition: all 0.3s ease;
    font-family: 'Times New Roman', Times, serif;
    flex: 1;
    text-align: center;
    white-space: nowrap;
    max-width: 130px;
}

.btn-category-add-to-cart {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 45px;
    height: 45px;
    border-radius: 50%;
    text-decoration: none;
    transition: all 0.3s ease;
    flex: 0 0 45px;
    padding: 0;
}

/* Top Category buttons - Gold border, white background */
.btn-category-shop {
    border: 1px solid #D4CCB0;
    color: #73884D;
    background: #fff;
}

.btn-category-shop:hover {
    background: #73884D;
    color: #fff;
    border-color: #73884D;
}

/* Best Sellers & Latest - Solid green background */
.btn-bestseller-shop,
.btn-latest-shop {
    background: #73884D;
    color: #fff;
    border: 1px solid #73884D;
}

.btn-bestseller-shop:hover,
.btn-latest-shop:hover {
    background: #5a6a3b;
    border-color: #5a6a3b;
    box-shadow: 0 4px 10px rgba(115, 136, 77, 0.3);
}

.btn-category-add-to-cart {
    border: 1px solid #73884D;
    color: #73884D;
    background: #fff;
}

.btn-category-add-to-cart:hover {
    background: #73884D;
    color: #fff;
    border-color: #73884D;
}

.btn-category-add-to-cart svg {
    display: block;
    pointer-events: none;
}

.category-product-title {
    white-space: normal !important;
    font-family: 'Times New Roman', Times, serif !important;
}

.sale-badge {
    position: absolute;
    top: 10px;
    right: 10px;
    /* Moved to right as in ref image */
    background: #fff;
    color: #333;
    padding: 4px 15px;
    border-radius: 4px;
    /* Rectangle with slight curve from ref image */
    font-size: 0.85rem;
    font-weight: 600;
    z-index: 5;
    box-shadow: 0 2px 5px rgba(0, 0, 0, 0.1);
}

/* Responsive Design */
@media (max-width: 1024px) {
    .top-categories-grid {
        grid-template-columns: repeat(3, 1fr);
    }
}

@media (max-width: 768px) {
    .top-categories-grid {
        grid-template-columns: repeat(2, 1fr);
        gap: 1.5rem;
    }

    .filter-btn {
        font-size: 0.85rem;
        padding: 0.5rem 1.2rem;
    }
}

@media (max-width: 480px) {
    .top-categories-grid {
        grid-template-columns: 1fr;
    }

    .category-product-actions {
        flex-direction: column;
        gap: 8px;
    }

    .btn-category-shop,
    .btn-bestseller-shop,
    .btn-latest-shop {
        max-width: 100%;
        width: 100%;
        flex: none;
    }

    .btn-category-add-to-cart {
        width: 45px !important;
        margin: 0 auto !important;
    }
}

/* OLD Product Sections (keeping for compatibility) */
.product-section {
    padding: 5rem 0;
}

.product-section h2 {
    text-align: center;
    color: var(--primary-green);
    margin-bottom: 2rem;
}

.category-list {
    display: flex;
    justify-content: center;
    gap: 2rem;
    margin-bottom: 3rem;
    flex-wrap: wrap;
}

.category-item {
    color: var(--text-light);
    font-weight: 600;
    padding-bottom: 5px;
    border-bottom: 2px solid transparent;
    transition: all .3s;
    font-size: 1.1rem;
}

.category-item:hover,
.category-item.active {
    color: var(--primary-green);
    border-bottom-color: var(--primary-green);
}

.products-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 20px;
}

.product-card {
    background: #fff;
    transition: transform .3s, border .3s;
    border: none !important;
    box-shadow: none !important;
    border-radius: 8px;
}

.product-card:hover {
    transform: translateY(-5px);
    border: 2px solid #6B7A4D;
}

.product-image {
    position: relative;
    height: 300px;
    overflow: hidden;
    background: #f5f5f5;
    margin-bottom: 1rem;
}

.product-image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform .5s;
}

.product-card:hover .product-image img {
    transform: scale(1.05);
}

.product-badge {
    position: absolute;
    top: 15px;
    left: 15px;
    background: var(--sale-orange);
    color: #fff;
    padding: 4px 12px;
    border-radius: 20px;
    font-size: 0.8rem;
    font-weight: 700;
    text-transform: uppercase;
}

.product-info {
    text-align: center;
    padding: 1.5rem 1rem;
    background: #fff;
    border-radius: 0 0 20px 20px;
}

.woocommerce ul.products li.product .product-info {
    border: 1px solid #F3F1E7;
    border-top: 0;
    border-radius: 0 0 20px 20px;
    transition: border-color 0.3s ease;
}

.woocommerce ul.products li.product:hover .product-info {
    border-color: #C4B768;
}

.product-title {
    font-size: 1.1rem;
    margin-bottom: 0.5rem;
    color: var(--text-dark);
    font-family: 'Times New Roman', Times, serif;
    font-weight: 400;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
    text-overflow: ellipsis;
    line-height: 1.4;
    max-height: 3.08rem;
    word-break: break-word;
}

.single-product .product-title {
    display: block;
    -webkit-line-clamp: initial;
    line-clamp: initial;
    -webkit-box-orient: initial;
    overflow: visible;
    text-overflow: initial;
    max-height: none;
    white-space: normal;
}

.product-price {
    font-size: 1.2rem;
    font-weight: 700;
    color: var(--text-dark);
    margin-bottom: 1rem;
}

.product-price del {
    color: var(--text-light);
    font-size: 0.9rem;
    margin-right: 0.5rem;
    font-weight: 400;
}

.product-price ins {
    text-decoration: none;
}

.btn-shop {
    color: var(--text-dark);
    font-weight: 700;
    text-transform: uppercase;
    font-size: 0.9rem;
    border-bottom: 2px solid var(--accent-gold);
    padding-bottom: 2px;
    display: inline-block;
    transition: color .3s;
}

.btn-shop:hover {
    color: var(--accent-gold);
}


/* ========== BEST SELLERS CAROUSEL SECTION ========== */
.best-sellers-section {
    padding: 2rem 0;
    background: #fff;
}

.best-sellers-header {
    display: flex;
    justify-content: center;
    align-items: flex-end;
    /* Align arrows with bottom of title block */
    margin-bottom: 3rem;
    position: relative;
}

.section-title-wrapper {
    display: flex;
    flex-direction: column;
    align-items: center;
    /* Center the decoration and text together */
    text-align: center;
}

.section-title-wrapper .section-decoration {
    margin-bottom: 0.5rem;
    width: 100%;
    display: flex;
    justify-content: center;
    align-items: center;
}

/* Wait, user said "positioned exactly at the center and directly above the heading — not shifted left or right".
   And "Best Sellers section perfectly matches the reference image".
   Reference shows "Best Sellers" on the left, with the line above it.
   So the line should be centered relative to the text "Best Sellers".
*/


.best-sellers-title {
    font-size: 2.5rem;
    font-weight: 700;
    /* Bold */
    font-family: 'Times New Roman', Times, serif;
    color: #000;
    margin: 0;
    line-height: 1.2;
}

.carousel-nav-buttons {
    display: flex;
    gap: 0.75rem;
    margin-bottom: 0.5rem;
    /* Absolute position to keep title centered while buttons are on the right */
    position: absolute;
    right: 0;
}

.carousel-nav-btn {
    width: 50px;
    height: 50px;
    background: #6B7A4D;
    border: none;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    transition: all 0.3s ease;
    box-shadow: 0 4px 10px rgba(107, 122, 77, 0.3);
}

.carousel-nav-btn:hover {
    background: #5a6640;
    transform: scale(1.05);
    box-shadow: 0 6px 15px rgba(107, 122, 77, 0.4);
}

.carousel-nav-btn:disabled {
    background: #ccc;
    cursor: not-allowed;
    opacity: 0.5;
}

.carousel-wrapper {
    overflow: hidden;
    position: relative;
    padding: 10px 0;
}

.best-sellers-carousel {
    display: flex;
    gap: 2rem;
    transition: transform 0.5s ease-in-out;
    flex-wrap: nowrap;
}

.bestseller-card {
    flex: 0 0 calc(25% - 1.5rem);
    min-width: calc(25% - 1.5rem);
}

.bestseller-card:hover {
    transform: translateY(-5px);
}

.bestseller-image {
    background: #f9f9f9;
    padding: 2rem;
    height: 300px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 8px;
    margin-bottom: 0;
}

.bestseller-image img {
    max-width: 100%;
    max-height: 100%;
    object-fit: contain;
    mix-blend-mode: multiply;
}

.bestseller-info {
    padding: 0 1rem 1.5rem;
    border: 1px solid rgba(196, 183, 104, 0.3);
    border-top: 0;
    transition: border-color 0.3s ease;
    border-radius: 0 0 8px 8px;
}

.bestseller-card:hover .bestseller-info {
    border-color: #C4B768;
    border-top: 0;
}

.bestseller-title {
    font-size: 1rem;
    font-weight: 700;
    font-family: 'Times New Roman', Times, serif;
    color: #333;
    margin-bottom: 0.5rem;
    line-height: 1.4;
    min-height: 2.8em;
    /* Ensure alignment for multi-line titles */
}

.bestseller-price-rating {
    display: flex !important;
    justify-content: center !important;
    align-items: center !important;
    gap: 12px !important;
    margin-bottom: 1.5rem !important;
    width: 100% !important;
    height: 2.5rem !important;
}

.bestseller-price {
    font-family: 'Times New Roman', Times, serif;
    font-size: 1.2rem;
    font-weight: 700;
    color: #333;
}

.bestseller-price del {
    color: #999;
    font-size: 0.9rem;
    margin-right: 0.5rem;
    font-weight: 400;
}

.product-rating {
    display: flex;
    gap: 2px;
}

.product-rating .star {
    color: #ddd;
    font-size: 0.8rem;
}

.product-rating .star.filled {
    color: #FF9900;
}

.btn-bestseller-shop {
    display: inline-block;
    padding: 0.6rem 2rem;
    border: 1px solid #6B7A4D;
    border-radius: 25px;
    font-size: 0.95rem;
    font-weight: 600;
    color: #6B7A4D;
    background: #fff;
    text-decoration: none;
    transition: all 0.3s ease;
    font-family: 'Times New Roman', Times, serif;
}

.btn-bestseller-shop:hover {
    background: #6B7A4D;
    color: #fff;
    transform: translateY(-2px);
    box-shadow: 0 4px 10px rgba(107, 122, 77, 0.3);
}

/* Responsive Design */
@media (max-width: 1024px) {

    .bestseller-card,
    .latest-product-card {
        flex: 0 0 calc(33.333% - 1.5rem);
        min-width: calc(33.333% - 1.5rem);
    }
}

@media (max-width: 768px) {
    .bestseller-card {
        flex: 0 0 calc(50% - 1rem);
        min-width: calc(50% - 1rem);
    }

    .best-sellers-carousel {
        gap: 1rem;
    }
}

@media (max-width: 480px) {
    .bestseller-card {
        flex: 0 0 100%;
        min-width: 100%;
    }
}


/* Banner Section */
.banner-section {
    background: var(--primary-green);
    color: #fff;
    padding: 2rem 0;
    text-align: center;
}

.banner-section h2 {
    font-size: 2rem;
    line-height: 1.4;
    max-width: 1000px;
    margin: 0 auto;
    color: #fff;
    font-style: normal;
    font-weight: 700;
}

/* D/* ========== DUAL BANNERS SECTION (Reference Design) ========== */
.dual-banners-section {
    padding: 2rem 0;
    background: #fff;
}

.dual-banners-grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 1.5rem;
}

.banner-card-modern {
    position: relative;
    border-radius: 12px;
    overflow: hidden;
    height: 450px;
    cursor: pointer;
    transition: transform 0.3s ease, box-shadow 0.3s ease;
}

.banner-card-modern:hover {
    transform: translateY(-5px);
    box-shadow: 0 10px 25px rgba(0, 0, 0, 0.15);
}

.banner-card-modern>img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.banner-content-overlay {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    background: rgba(0, 0, 0, 0.4);
    /* Darker black overlay */
    padding: 2rem;
    text-align: center;
}

.banner-content-overlay .lotus-icon-img {
    width: 90px;
    height: auto;
    /* margin-bottom: 1rem; */
    filter: brightness(0) invert(1);
    /* Make sure it's white if it's not already */
    object-fit: contain;
    /* Prevent stretching */
}

.banner-title-white {
    font-size: 2.7rem;
    font-weight: bold;
    font-style: normal;
    /* NOT italic */
    color: #fff;
    line-height: 1.1;
    text-shadow: 0 2px 10px rgba(0, 0, 0, 0.5);
    margin: 0;
}

/* Responsive Design */
@media (max-width: 768px) {
    .dual-banners-grid {
        grid-template-columns: 1fr;
        gap: 1rem;
    }

    .banner-card-modern {
        height: 300px;
        background-size: cover;
    }

    .banner-title-white {
        font-size: 1.5rem;
    }

    .lotus-icon-white {
        width: 50px;
        height: 50px;
    }
}

/* OLD Dual Banners (keeping for compatibility if needed elsewhere) */
.dual-banners {
    padding: 3rem 0;
}

.dual-banners .container {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 2rem;
}

/* Reviews Section */
.reviews-section {
    padding: 2rem 0;
    background: var(--bg-light);
}

.reviews-section h2 {
    text-align: center;
    color: var(--primary-green);
    margin-bottom: 3rem;
}

.review-card {
    max-width: 800px;
    margin: 0 auto;
    text-align: center;
    background: #fff;
    padding: 3rem;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.05);
}

.review-date {
    font-size: 0.9rem;
    color: var(--text-light);
    margin-bottom: 1rem;
}

.review-stars {
    display: flex;
    gap: 5px;
    margin-bottom: 1.5rem;
    justify-content: center;
}

.review-stars svg {
    width: 20px;
    height: 20px;
    fill: var(--star-orange);
}

.review-text {
    font-size: 1.1rem;
    line-height: 1.8;
    color: var(--text-dark);
    margin-bottom: 1.5rem;
    font-style: italic;
    font-family: 'Inter', sans-serif;
    position: relative;
}

.quote-open,
.quote-close {
    font-size: 3rem;
    color: var(--primary-green);
    font-family: 'Times New Roman', serif;
    line-height: 0;
}

.quote-open {
    margin-right: 0.25rem;
}

.quote-close {
    margin-left: 0.25rem;
}

.review-author {
    color: var(--text-dark);
    font-weight: 700;
    font-size: 1rem;
    text-transform: uppercase;
    letter-spacing: 1px;
}

/* Blog Section */
.blog-section {
    padding: 2rem 0;
}

.blog-section h2 {
    text-align: center;
    color: var(--primary-green);
    margin-bottom: 3rem;
}

.blog-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 2rem;
}

.blog-card {
    background: #fff;
}

.blog-card:hover {
    transform: translateY(-5px);
}

.blog-image {
    height: 250px;
    overflow: hidden;
    margin-bottom: 1.5rem;
}

.blog-image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform .5s;
}

.blog-card:hover .blog-image img {
    transform: scale(1.05);
}

.blog-content {
    padding: 1rem;
    text-align: center;
    border: 1px solid transparent;
    border-top: none;
    transition: border 0.3s ease;
    border-radius: 0 0 20px 20px;
}


.blog-card:hover .blog-content {
    border: 1px solid #73884D80;
    border-top: 0 !important;
}

.blog-title {
    font-size: 1.25rem;
    margin-bottom: 1rem;
    color: var(--text-dark);
    font-family: 'Times New Roman', Times, serif;
    font-style: italic;
}

.blog-excerpt {
    color: var(--text-light);
    margin-bottom: 1.5rem;
    line-height: 1.6;
    font-size: 0.95rem;
}

.btn-learn-more {
    color: var(--primary-green);
    font-weight: 700;
    text-transform: uppercase;
    font-size: 0.9rem;
    letter-spacing: 1px;
}

/* Newsletter Section */
.newsletter-section {
    padding: 2rem 0;
    background: var(--bg-light);
}

.newsletter-content {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 4rem;
    align-items: center;
}

.newsletter-form {
    background: #fff;
    padding: 3rem;
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.05);
    border-radius: 8px;
}

.newsletter-form h2 {
    color: var(--primary-green);
    margin-bottom: 2rem;
    font-size: 1.5rem;
    font-family: 'Times New Roman', Times, serif;
}

.newsletter-form form {
    display: flex;
    flex-direction: column;
    gap: 1rem;
}

.newsletter-form input[type="email"] {
    padding: 1rem 1.5rem;
    border: 1px solid var(--border-color);
    border-radius: 30px;
    font-size: 1rem;
    background: #fff;
    height: 50px;
}

.newsletter-form button {
    background: var(--primary-green);
    color: #fff;
    padding: 1rem 2rem;
    border-radius: 30px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 1px;
    transition: background .3s;
    height: 50px;
}

.newsletter-form button:hover {
    background: var(--dark-green);
}

.newsletter-map {
    height: 400px;
    width: 100%;
    border-radius: 8px;
    overflow: hidden;
}

.newsletter-map iframe {
    width: 100%;
    height: 100%;
    border: 0;
}

/* Footer */
.site-footer {
    background: var(--primary-green);
    color: #fff;
    padding: 5rem 0 2rem;
}

.footer-content {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 2rem;
    margin-bottom: 4rem;
}

.footer-column h3 {
    font-size: 1.2rem;
    margin-bottom: 1.5rem;
    font-family: 'Times New Roman', Times, serif;
    text-transform: uppercase;
    letter-spacing: 1px;
}

.footer-column ul li {
    margin-bottom: 0.8rem;
}

.footer-column a {
    color: rgba(255, 255, 255, 0.8);
    transition: color .3s;
    font-size: 0.95rem;
}

.footer-column a:hover {
    color: #fff;
}

.footer-logo {
    display: flex;
    align-items: center;
    gap: .5rem;
    margin-bottom: 1.5rem;
}

.footer-logo svg {
    width: 32px;
    height: 32px;
    fill: #fff;
}

.payment-icons {
    display: flex;
    gap: 1rem;
    margin-top: 1.5rem;
}

.payment-icons img {
    height: 24px;
    width: auto;
    opacity: 0.8;
}

.footer-bottom {
    border-top: 1px solid rgba(255, 255, 255, 0.1);
    padding-top: 2rem;
    text-align: center;
    font-size: 0.9rem;
    color: rgba(255, 255, 255, 0.6);
}

/* Responsive Design */
@media (max-width: 1024px) {
    .hero-content {
        grid-template-columns: 1fr;
        text-align: center;
        gap: 3rem;
    }

    .hero-text .subtitle {
        margin: 0 auto 2rem;
    }

    .hero-images {
        max-width: 600px;
        margin: 0 auto;
    }

    .green-burials-content {
        grid-template-columns: 1fr;
    }

    .green-burials-images {
        display: none;
    }

    /* Hide side images on tablet/mobile */
    .products-grid {
        grid-template-columns: repeat(2, 1fr);
    }

    .newsletter-content {
        grid-template-columns: 1fr;
    }

    .footer-content {
        grid-template-columns: repeat(2, 1fr);
    }
}

@media (max-width: 768px) {
    h1 {
        font-size: 2.5rem;
    }

    h2 {
        font-size: 2rem;
    }

    .nav-menu {
        display: none;
    }

    /* Mobile menu would go here */
    .info-boxes .container {
        grid-template-columns: 1fr;
    }

    .dual-banners {
        grid-template-columns: 1fr;
        padding: 3rem 0;
    }

    .blog-grid {
        grid-template-columns: 1fr;
    }

    .products-grid {
        grid-template-columns: 1fr;
    }

    .footer-content {
        grid-template-columns: 1fr;
        text-align: center;
    }

    .footer-logo {
        justify-content: center;
    }

    .payment-icons {
        justify-content: center;
    }

    .hero-images {
        height: 400px;
    }

    .hero-img-1 {
        width: 160px;
        height: 200px;
    }

    .hero-img-2 {
        width: 180px;
        height: 140px;
        top: 20px;
    }

    .hero-img-3 {
        width: 150px;
        height: 180px;
        left: 20px;
    }

    .hero-img-4 {
        width: 140px;
        height: 140px;
        right: 20px;
        bottom: 40px;
    }

    .gb-breadcrumb-pill {
        border-radius: 30px;
        margin-bottom: 1rem;
    }

    .breadcrumb-home-part {
        padding: 0 12px;
        width: 34px;
        height: 34px;
    }

    .breadcrumb-home-part svg {
        width: 13px;
        height: 13px;
    }

    .breadcrumb-text-part {
        padding: 0 12px;
        font-size: 0.65rem !important;
        font-weight: 500;
        gap: 4px;
        min-height: 34px;
        flex-wrap: nowrap;
        overflow: hidden;
        text-overflow: ellipsis;
        white-space: nowrap;
        display: flex;
        align-items: center;
        max-width: calc(100vw - 100px);
    }

    .shop-title-container {
        margin-top: 0.75rem;
        bottom: 40px;
    }
}


/* Utility Classes */
.text-center {
    text-align: center;
}

.mb-1 {
    margin-bottom: 1rem;
}

.mb-2 {
    margin-bottom: 2rem;
}

.mt-1 {
    margin-top: 1rem;
}

.mt-2 {
    margin-top: 2rem;
}

/* ========== LATEST PRODUCTS SECTION ========== */
.latest-products-section {
    padding: 4rem 0 6rem;
    background: #fff;
    text-align: center;
}

.latest-carousel-wrapper {
    overflow: hidden;
    margin: 0 -1rem;
    /* Negative margin to allow padding on cards */
    padding: 1rem;
}

.latest-products-track {
    display: flex;
    transition: transform 0.5s ease-in-out;
    gap: 2rem;
    flex-wrap: nowrap;
}

.latest-product-card {
    flex: 0 0 calc(25% - 1.5rem);
    min-width: calc(25% - 1.5rem);
}

.latest-product-card:hover {
    transform: translateY(-5px);
}

.latest-product-image {
    background: #f9f9f9;
    /* Light grey background for image */
    padding: 2rem;
    height: 300px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 8px;
    margin-bottom: 0;
}

.latest-product-image img {
    max-width: 100%;
    max-height: 100%;
    object-fit: contain;
    mix-blend-mode: multiply;
    /* Helps blend image if it has white bg */
}

.latest-product-info {
    padding: 0 1rem 1.5rem;
    border: 1px solid rgba(196, 183, 104, 0.3);
    border-top: 0;
    transition: border-color 0.3s ease;
    border-radius: 0 0 8px 8px;
}

.latest-product-card:hover .latest-product-info {
    border-color: #C4B768;
    border-top: 0;
}

.latest-product-title {
    font-family: 'Times New Roman', Times, serif;
    font-size: 1.1rem;
    font-weight: 700;
    color: #333;
    margin-bottom: 0.5rem;
    line-height: 1.4;
    min-height: 3rem;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
    text-overflow: ellipsis;
    word-break: break-word;
    overflow-wrap: break-word;
    text-align: center;
}

.latest-price-rating {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 10px;
    margin-bottom: 1.5rem;
}

.latest-product-price {
    font-family: 'Times New Roman', Times, serif;
    font-size: 1.25rem;
    font-weight: 700;
    color: #333;
    margin-bottom: 0;
}

.latest-product-rating {
    margin-bottom: 0;
    color: #FF9900;
    display: flex;
    align-items: center;
}

/* Star Rating CSS */
.star-rating {
    overflow: hidden;
    position: relative;
    height: 1em;
    line-height: 1;
    font-size: 1em;
    width: 5.4em;
    font-family: 'star';
}

.star-rating::before {
    content: '\e021\e021\e021\e021\e021' !important;
    color: #d3ced2;
    float: left;
    top: 0;
    left: 0;
    position: absolute;
    font-family: 'star' !important;
}

.star-rating span {
    overflow: hidden;
    float: left;
    top: 0;
    left: 0;
    position: absolute;
    padding-top: 1.5em;
}

.star-rating span::before {
    content: '\e020\e020\e020\e020\e020' !important;
    top: 0;
    position: absolute;
    left: 0;
    color: #FF9900;
    font-family: 'star' !important;
}

@font-face {
    font-family: 'star';
    src: url('/wp-content/plugins/woocommerce/assets/fonts/star.eot');
    src: url('/wp-content/plugins/woocommerce/assets/fonts/star.eot?#iefix') format('embedded-opentype'),
        url('/wp-content/plugins/woocommerce/assets/fonts/star.woff') format('woff'),
        url('/wp-content/plugins/woocommerce/assets/fonts/star.ttf') format('truetype'),
        url('/wp-content/plugins/woocommerce/assets/fonts/star.svg#star') format('svg');
    font-weight: normal;
    font-style: normal;
}

.btn-latest-shop {
    display: inline-block;
    padding: 0.6rem 2rem;
    border: 1px solid #6B7A4D;
    border-radius: 25px;
    font-size: 0.95rem;
    font-weight: 600;
    color: #fff;
    background: #6B7A4D;
    text-decoration: none;
    transition: all 0.3s ease;
    font-family: 'Times New Roman', Times, serif;
}

.btn-latest-shop:hover {
    background: #5a6640;
    color: #fff;
    transform: translateY(-2px);
    box-shadow: 0 4px 10px rgba(107, 122, 77, 0.3);
}

/* Latest Navigation Buttons */
.latest-nav-buttons {
    display: flex;
    justify-content: center;
    gap: 1rem;
    margin-top: 2rem;
}

.latest-nav-btn {
    width: 40px;
    height: 40px;
    border-radius: 50%;
    border: none;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    transition: all 0.3s ease;
}

.latest-prev {
    background: #F0EFEA;
    /* Beige/Grey */
}

.latest-prev:hover {
    background: #e0ded5;
}

.latest-next {
    background: #6B7A4D;
    /* Green */
}

.latest-next:hover {
    background: #5a6640;
}

.latest-nav-btn:disabled {
    opacity: 0.5;
    cursor: not-allowed;
}

/* Responsive */
@media (max-width: 1024px) {
    .latest-product-card {
        flex: 0 0 calc(33.333% - 1.33rem);
        /* 3 items */
    }
}

@media (max-width: 768px) {
    .latest-product-card {
        flex: 0 0 calc(50% - 1rem);
        /* 2 items */
    }
}

@media (max-width: 480px) {
    .latest-product-card {
        flex: 0 0 100%;
        /* 1 item */
    }

    .category-product-price-rating,
    .latest-price-rating,
    .bestseller-price-rating {
        margin-bottom: 0px !important;
        display: flex !important;
        flex-direction: row !important;
        align-items: center !important;
        justify-content: center !important;
        gap: 12px !important;
    }

    .price,
    .latest-product-price,
    .bestseller-price {
        display: inline-block !important;
        margin-bottom: 0 !important;
    }

    .category-product-rating,
    .latest-product-rating,
    .bestseller-rating {
        display: flex !important;
        align-items: center !important;
        margin-bottom: 0 !important;
    }
}

/* ========== REVIEWS SECTION SLIDER ========== */
.reviews-section-slider {
    padding: 2rem 0;
    background: #73884D;
    color: #fff;
    position: relative;
}

.reviews-header {
    text-align: center;
    margin-bottom: 3rem;
}

.section-decoration-white {
    display: flex;
    justify-content: center;
    align-items: center;
    margin-bottom: 1rem;
}

.section-decoration-white img {
    width: auto;
    height: 20px;
}

.section-title-white {
    font-family: 'Times New Roman', Times, serif;
    font-size: 3rem;
    font-weight: 700;
    color: #fff;
    margin-top: 0;
}

.reviews-slider-container {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 1.5rem;
    max-width: 100%;
    margin: 0 auto;
    padding: 0 0.5rem;
}

.reviews-track-wrapper {
    flex: 1;
    overflow: hidden;
    border-radius: 12px;
    max-width: 90%;
}

.reviews-track {
    display: flex;
    transition: transform 0.5s ease-in-out;
}

.review-slide {
    flex: 0 0 100%;
    padding: 0;
}

.review-card-modern {
    background: #fff;
    border-radius: 12px;
    padding: 1.5rem;
    color: #333;
    position: relative;
    box-shadow: 0 8px 24px rgba(0, 0, 0, 0.1);
}

.review-header-row {
    display: flex;
    align-items: center;
    gap: 1rem;
    margin-bottom: 2rem;
}

.review-quote-icon {
    color: #E5E5E5;
    line-height: 1;
    display: flex;
    align-items: center;
}

.review-quote-icon svg {
    width: 60px;
    height: 60px;
}

.review-date-modern {
    font-size: 0.95rem;
    font-weight: 700;
    color: #000;
    display: flex;
    align-items: center;
    gap: 0.5rem;
    font-family: 'Times New Roman', Times, serif;
}

.review-date-modern svg {
    width: 18px;
    height: 18px;
    color: #73884D;
}

.review-content-modern {
    font-size: 0.84rem;
    line-height: 1.8;
    color: #444;
    margin-bottom: 3rem;
    text-align: left;
    font-family: 'Inter', sans-serif;
}

.review-content-modern p {
    margin-bottom: 1.5rem;
}

.review-content-modern p:last-child {
    margin-bottom: 0;
}

.review-footer-modern {
    display: flex;
    align-items: center;
    gap: 2rem;
}

.review-stars-modern {
    display: flex;
    gap: 2px;
}

.review-stars-modern svg {
    color: #FF7F00;
    width: 16px;
    height: 16px;
}

.review-author-modern {
    color: #000;
    font-weight: 700;
    font-size: 1rem;
    font-family: 'Times New Roman', Times, serif;
}

/* Review Navigation Buttons */
.review-nav-btn {
    width: 30px;
    height: 30px;
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.2);
    border: none;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    transition: all 0.3s ease;
    flex-shrink: 0;
}

.review-nav-btn:hover {
    background: rgba(255, 255, 255, 0.4);
}

.review-nav-btn svg {
    width: 18px;
    height: 18px;
    stroke: #fff;
}

/* Responsive */
@media (max-width: 768px) {
    .reviews-section-slider {
        padding: 3rem 0;
    }

    .review-card-modern {
        padding: 2rem;
    }

    .reviews-slider-container {
        flex-direction: column;
        gap: 1rem;
    }

    .review-nav-btn {
        width: 40px;
        height: 40px;
    }

    .review-nav-btn svg {
        width: 20px;
        height: 20px;
    }
}

/* ========== LATEST BLOG SECTION ========== */
.latest-blog-section {
    padding: 5rem 0;
    background: #fff;
}

.blog-header {
    text-align: center;
    margin-bottom: 3rem;
}

.section-decoration-gold {
    display: flex;
    justify-content: center;
    align-items: center;
    margin-bottom: 1rem;
}

.section-decoration-gold img {
    width: auto;
    height: 20px;
}

.section-title-dark {
    font-family: 'Times New Roman', Times, serif;
    font-size: 36px;
    font-weight: 700;
    font-style: normal;
    line-height: 100%;
    letter-spacing: 0%;
    text-transform: capitalize;
    color: #000;
    margin-top: 0.5rem;
}

.latest-blog-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 2rem;
    max-width: 100%;
    padding: 0 var(--container-padding);
    margin: 0 auto;
}

.blog-card-modern {
    background: #fff;
    border-radius: 20px;
    /* Matching product card radius */
    overflow: hidden;
    border: 1px solid #e0e0e0;
    box-shadow: none;
    /* Removing shadow to match product card style */
    transition: all 0.3s ease;
    display: flex;
    flex-direction: column;
}

.blog-card-modern:hover {
    transform: translateY(-5px);
    box-shadow: 0 10px 25px rgba(0, 0, 0, 0.08) !important;
}

.blog-card-modern:hover .blog-content-modern {
    border: 1px solid #C4B768 !important;
    border-top: none !important;
    box-shadow: 0 1px 0 0 #C4B768, 1px 0 0 0 #C4B768, -1px 0 0 0 #C4B768;
}

.blog-image-modern {
    background: #fff;
    /* Light grey background */
    height: 250px;
    display: flex;
    align-items: center;
    justify-content: center;
    position: relative;
    padding: 2rem;
}

.blog-image-modern img {
    max-width: 100%;
    max-height: 100%;
    object-fit: contain;
    mix-blend-mode: multiply;
}

.blog-category-badge {
    position: absolute;
    bottom: -15px;
    left: 50%;
    transform: translateX(-50%);
    background: #6B7A4D;
    /* Green */
    color: #fff;
    padding: 0.5rem 1.5rem;
    border-radius: 4px;
    font-size: 0.9rem;
    font-weight: 600;
    text-transform: capitalize;
    box-shadow: 0 2px 5px rgba(0, 0, 0, 0.1);
    white-space: nowrap;
}

.blog-content-modern {
    padding: 2rem 1.5rem;
    background: #fff;
    flex: 1;
    display: flex;
    flex-direction: column;
    align-items: center;
    border: 1px solid #e0e0e0;
    border-top: 0;
    border-radius: 0 0 20px 20px;
    transition: all 0.3s ease;
}

.blog-title-modern {
    font-family: 'Times New Roman', Times, serif;
    font-size: 1.25rem;
    color: #333;
    margin-bottom: 0.5rem;
    line-height: 1.4;
}

.blog-date-modern {
    font-size: 0.85rem;
    color: #888;
    margin-bottom: 1rem;
    display: flex;
    align-items: center;
    gap: 0.5rem;
}

.blog-excerpt-modern {
    font-size: 0.95rem;
    color: #666;
    line-height: 1.6;
    margin-bottom: 1.5rem;
    flex: 1;
}

.btn-blog-learn-more {
    display: inline-block;
    padding: 0.6rem 2rem;
    border: 1px solid #73884D;
    border-radius: 25px;
    font-size: 0.95rem;
    font-weight: 600;
    color: #fff;
    background: #73884D;
    text-decoration: none;
    transition: all 0.3s ease;
    font-family: 'Times New Roman', Times, serif;
}

.btn-blog-learn-more:hover {
    background: #fff;
    color: #73884D;
    transform: translateY(-2px);
    box-shadow: 0 4px 10px rgba(107, 122, 77, 0.3);
}

/* Responsive */
@media (max-width: 1024px) {
    .latest-blog-grid {
        grid-template-columns: repeat(2, 1fr);
    }
}

/* ========== NEWSLETTER SECTION MODERN ========== */
.newsletter-section-modern {
    position: relative;
    padding: 6rem 0;
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
    color: #fff;
}

.newsletter-overlay {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(0, 0, 0, 0.7);
    /* Dark overlay */
    z-index: 1;
}

.relative-z {
    position: relative;
    z-index: 2;
}

.newsletter-grid-modern {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 4rem;
    align-items: center;
}

.section-decoration-white-left img {
    width: auto;
    height: 20px;
    margin-bottom: 1rem;
    display: block;
}

.newsletter-title-modern {
    font-family: 'Times New Roman', Times, serif;
    font-size: 3rem;
    color: #fff;
    margin-bottom: 2rem;
    font-weight: 400;
}

.newsletter-form-modern {
    display: flex;
    flex-direction: column;
    gap: 1.5rem;
    max-width: 500px;
}

.newsletter-form-modern input[type="email"] {
    width: 100%;
    padding: 1rem 1.5rem;
    border-radius: 8px;
    border: none;
    font-size: 1rem;
    background: #fff;
    color: #333;
}

.newsletter-form-modern input[type="email"]::placeholder {
    color: #888;
    font-family: 'Times New Roman', Times, serif;
}

.btn-subscribe-modern {
    align-self: flex-start;
    background: #6B7A4D;
    /* Green */
    color: #fff;
    padding: 0.8rem 2.5rem;
    border-radius: 50px;
    border: none;
    font-size: 1rem;
    font-weight: 600;
    cursor: pointer;
    transition: background 0.3s ease;
    font-family: 'Times New Roman', Times, serif;
}

.btn-subscribe-modern:hover {
    background: #5a6640;
}

.newsletter-map-modern {
    border-radius: 12px;
    overflow: hidden;
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.2);
    height: 350px;
}

.newsletter-map-modern iframe {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

/* Responsive */
@media (max-width: 992px) {
    .newsletter-grid-modern {
        grid-template-columns: 1fr;
        gap: 3rem;
    }

    .newsletter-content-left {
        text-align: center;
    }

    .section-decoration-white-left img {
        margin: 0 auto 1rem;
    }

    .btn-subscribe-modern {
        align-self: center;
    }

    .newsletter-form-modern {
        margin: 0 auto;
    }
}

@media (max-width: 768px) {
    .latest-blog-grid {
        grid-template-columns: 1fr;
    }
}

/* ========== FOOTER MODERN ========== */
.site-footer-modern {
    background: #6B7A4D;
    color: #fff;
    font-size: 0.9rem;
}

.footer-top {
    padding: 4rem 0 2rem;
    border-bottom: 1px solid rgba(255, 255, 255, 0.1);
}

.footer-grid {
    display: grid;
    grid-template-columns: 25% 50% 25%;
    gap: 1.5rem;
}

/* Column 1: Logo & Info */
.footer-col-logo {
    padding-right: 1rem;
}

.footer-logo-card {
    background: #fff;
    padding: 25px;
    border-radius: 12px;
    margin-bottom: 1.5rem;
    box-shadow: 0 4px 15px rgba(0, 0, 0, 0.1);
}

.footer-logo-img img {
    max-width: 100%;
    width: 280px;
    margin-bottom: 20px;
}

.footer-logo-card-text p {
    color: #333;
    font-family: 'Times New Roman', Times, serif;
    font-size: 0.9rem;
    line-height: 1.3;
    margin-bottom: 8px;
    font-style: italic;
    font-weight: 700;
}

.footer-logo-card-text .logo-phone-text {
    font-style: italic;
    font-family: 'Times New Roman', Times, serif;
}

.footer-info-text {
    font-family: 'Times New Roman', Times, serif;
    font-size: 0.95rem;
    line-height: 1.5;
    color: #fff;
    margin-bottom: 2rem;
}

/* Headings */
.footer-heading {
    font-family: 'Times New Roman', Times, serif;
    font-size: 1.1rem;
    margin-bottom: 1rem;
    color: #fff;
    font-weight: 700;
}

.resources-center {
    text-align: center;
}

@media (max-width: 768px) {
    .resources-center {
        text-align: left;
    }
}

/* Resources Two Column Layout */
.resources-two-cols {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 1rem;
}

/* Links */
.footer-links {
    list-style: none;
    padding: 0;
    margin: 0;
}

.footer-links li {
    margin-bottom: 0.6rem;
}

.footer-links a {
    font-family: 'Inter', sans-serif;
    color: #fff;
    text-decoration: none;
    opacity: 0.9;
    transition: opacity 0.3s;
    font-size: 0.75rem;
    line-height: 1.3;
}

.footer-links a:hover {
    opacity: 1;
    text-decoration: underline;
}

/* Contact Info */
.footer-col-contact {
    display: flex;
    flex-direction: column;
}

.contact-info {
    font-family: 'Inter', sans-serif;
    display: flex;
    flex-direction: column;
    gap: 0.6rem;
}

.contact-info p {
    display: flex;
    align-items: flex-start;
    width: 100%;
    margin: 0;
    padding: 0;
    font-size: 0.75rem;
    line-height: 1.5;
}

.contact-item {
    display: flex;
    align-items: flex-start;
    gap: 0.5rem;
    width: 100%;
    margin: 0;
    padding: 0;
    line-height: 1.5;
}

.contact-bullet {
    color: #fff;
    font-size: 0.6rem;
    margin-right: 0.3rem;
    flex-shrink: 0;
    line-height: 1.5;
}

.contact-info i {
    margin-right: 0.4rem;
    width: 12px;
    font-size: 0.7rem;
}

.contact-location {
    display: block !important;
    width: 100%;
    margin: 0 0 0.2rem 0;
    padding: 0;
    line-height: 1.3;
    flex-direction: column;
    align-items: flex-start;
}

.contact-location strong {
    display: block;
    margin: 0 0 0.15rem 0;
    padding: 0;
    font-family: 'Times New Roman', Times, serif;
    font-size: 0.8rem;
    line-height: 1.2;
}

.address-text {
    display: block;
    line-height: 1.5;
}

.offline-trans {
    display: block;
    margin: 0.2rem 0 0 0;
    padding: 0;
    font-size: 0.65rem;
    opacity: 0.8;
}

/* Middle Section - Sitemap & Payment Info */
.footer-middle {
    padding: 2rem 0;
    border-bottom: 1px solid rgba(255, 255, 255, 0.1);
}

.footer-middle-flex {
    display: flex;
    align-items: flex-start;
    gap: 2rem;
}

.sitemap-image {
    flex-shrink: 0;
}

.sitemap-image img {
    max-width: 100px;
    height: auto;
    background: #fff;
    padding: 8px;
    border-radius: 4px;
}

.payment-info {
    flex: 1;
    display: flex;
    flex-direction: column;
    align-items: left;
    justify-content: center;
}

.payment-methods-text {
    text-align: center;
    margin-bottom: 1rem;
    font-family: 'Inter', sans-serif;
    font-size: 12px;
    line-height: 16px;
    color: #ffffff;
    font-weight: 400;
}

@media (max-width: 768px) {
    .payment-methods-text {
        text-align: left;
    }
}

.payment-methods-text p {
    margin-bottom: 0.25rem;
}


.payment-desc {
    font-family: 'Inter', sans-serif;
    font-size: 0.85rem;
    line-height: 1.6;
    opacity: 0.9;
    margin-bottom: 1.5rem;
    text-align: center;
}

.payment-logos {
    text-align: center;
}

@media (max-width: 768px) {
    .payment-logos {
        text-align: left;
    }
}

.payment-logos img {
    max-width: 100%;
    height: auto;
    max-height: 60px;
}

/* Bottom Section */
.footer-bottom {
    background: #fff;
    padding: 1.5rem 0;
    color: #333;
}

.footer-bottom-flex {
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.copyright {
    font-family: 'Inter', sans-serif;
    font-size: 0.9rem;
    font-weight: 500;
}

/* Footer Social Icons */
.social-icons-footer {
    display: flex;
    gap: 1.5rem;
}

.social-icons-footer a {
    color: #6B7A4D;
    font-size: 1.2rem;
    transition: color 0.3s;
}

.social-icons-footer a:hover {
    color: #333;
}

/* Responsive */
@media (max-width: 1200px) {
    .footer-grid {
        grid-template-columns: 1fr 1fr;
        gap: 2rem;
    }

    .footer-col-logo {
        padding-right: 1rem;
    }

    .footer-col-resources {
        grid-column: auto;
    }

    .footer-col-contact {
        grid-column: auto;
        margin-top: 0;
    }
}

@media (max-width: 1024px) {
    .footer-grid {
        grid-template-columns: 1fr 1fr;
        gap: 2rem;
    }

    .footer-col-logo {
        padding-right: 0;
        text-align: left;
    }

    .footer-col-resources,
    .footer-col-contact {
        text-align: left;
    }

    .resources-two-cols {
        gap: 1rem;
    }

    .footer-middle-flex {
        flex-direction: column;
        align-items: center;
        text-align: center;
    }

    .payment-desc {
        text-align: center;
    }
}

@media (max-width: 768px) {

    /* Footer Top Section */
    .footer-top {
        padding: 2rem 0 1.5rem;
    }

    .footer-grid {
        grid-template-columns: 1fr;
        text-align: left;
        gap: 2rem;

    }

    .footer-col-logo {
        grid-column: span 1;
        padding: 0 1rem;
    }

    .footer-logo-img {
        display: flex;
        justify-content: flex-start;
        margin-bottom: 1rem;
    }

    .footer-logo-img img {
        max-width: 150px;
        height: auto;
        margin-bottom: 0.75rem;
    }

    .footer-info-text {
        font-size: 0.7rem;
        line-height: 1.6;
        padding: 0;
        text-align: left;
    }

    .footer-col-resources,
    .footer-col-contact,
    .footer-col-payment {
        text-align: left;
        padding: 0 1rem;
    }

    .footer-heading {
        font-size: 1rem;
        margin-bottom: 0.75rem;
        text-align: left;
    }

    .resources-two-cols {
        grid-template-columns: 1fr;
        gap: 0.5rem;
        text-align: left;
    }

    .resources-list {
        display: flex;
        flex-direction: column;
        gap: 0.5rem;
        align-items: flex-start;
    }

    .resources-list a {
        text-align: left;
    }

    .contact-items {
        display: flex;
        flex-direction: column;
        gap: 0.75rem;
        align-items: flex-start;
    }

    .contact-item {
        display: flex;
        align-items: center;
        gap: 0.5rem;
        flex-direction: row;
        text-align: left;
    }

    /* Payment Info */
    .payment-info {
        display: flex;
        flex-direction: column;
        gap: 1rem;
        align-items: flex-start;
    }

    .payment-logos {
        display: flex;
        gap: 0.75rem;
        justify-content: flex-start;
        flex-wrap: wrap;
    }

    .payment-logos img {
        max-width: 50px;
        height: auto;
    }

    .sitemap-image {
        display: flex;
        justify-content: flex-start;
        margin-top: 1rem;
    }

    .sitemap-image img {
        max-width: 80px;
        height: auto;
    }

    .footer-links {
        text-align: left;
    }

    .footer-links li {
        margin-bottom: 0.5rem;
    }

    .footer-links a {
        font-size: 0.7rem;
        display: inline-block;
    }

    .contact-info {
        align-items: flex-start;
        text-align: left;
    }

    .contact-info p {
        text-align: left;
        font-size: 0.7rem;
    }

    .contact-item {
        justify-content: flex-start;
        text-align: left;
    }

    .contact-location {
        text-align: left;
    }

    .contact-location strong {
        font-size: 0.75rem;
    }

    .offline-trans {
        font-size: 0.6rem;
        text-align: left;
    }

    /* Payment Section */
    .payment-methods {
        text-align: left;
    }

    /* Footer Middle Section */
    .footer-middle {
        padding: 1.5rem 0;
    }

    .footer-middle-flex {
        flex-direction: column;
        align-items: flex-start;
        gap: 1.5rem;
        padding: 0 1rem;
    }

    .sitemap-image {
        order: 1;
    }

    .sitemap-image img {
        max-width: 100px;
        height: auto;
    }

    .payment-info {
        order: 2;
        align-items: flex-start;
    }

    .payment-desc {
        font-size: 0.7rem;
        line-height: 1.6;
        text-align: left;
        padding: 0;
        margin-bottom: 1rem;
    }

    .payment-logos {
        text-align: left;
    }

    .payment-logos img {
        max-width: 90%;
        max-height: 50px;
    }

    /* Footer Bottom Section */
    .footer-bottom {
        padding: 1rem 0;
    }

    .footer-bottom-flex {
        flex-direction: column;
        align-items: flex-start;
        gap: 1rem;
        padding: 0 1rem;
    }

    .copyright-text {
        font-size: 0.65rem;
        line-height: 1.4;
        text-align: left;
    }

    .social-icons-footer {
        justify-content: flex-start;
        gap: 1rem;
    }

    .social-icons-footer a {
        font-size: 1rem;
    }

    .social-icons-footer svg {
        width: 14px;
        height: 14px;
    }
}

/* Extra Mobile Responsive Styles for Small Devices */
@media (max-width: 480px) {
    .footer-top {
        padding: 1.5rem 0 0rem;
    }

    .footer-grid {
        gap: 1.5rem;
    }

    .footer-logo-img img {
        max-width: 120px;
    }

    .footer-info-text {
        font-size: 0.55rem;
        /* padding: 0 0.75rem; */
    }

    .footer-heading {
        font-size: 0.9rem;
    }

    .footer-links a {
        font-size: 0.65rem;
    }

    .contact-info p {
        font-size: 0.65rem;
    }

    .contact-location strong {
        font-size: 0.7rem;
    }

    .footer-middle {
        padding: 1rem 0;
    }

    .sitemap-image img {
        max-width: 80px;
    }

    .payment-desc {
        font-size: 0.65rem;
        padding: 0 0rem;
    }

    .payment-logos img {
        max-width: 95%;
        max-height: 45px;
    }

    .copyright {
        font-size: 0.65rem;
    }

    .social-icons-footer {
        gap: 0.75rem;
    }

    .social-icons-footer svg {
        width: 12px;
        height: 12px;
    }
}

/* ========================================================================
   COMPREHENSIVE MOBILE RESPONSIVENESS
   ======================================================================== */

/* ========== RESPONSIVE STYLES ========== */

/* Tablet & Mobile (1024px and below) */
@media (max-width: 1024px) {

    /* Hide Desktop Header Elements */
    /* Show all header sections on mobile */
    .top-info-bar,
    .main-header-full,
    .nav-bar-full {
        display: block !important;
    }

    .site-header .container {
        padding: 0 1.5rem;
    }

    .header-inner {
        display: flex;
        justify-content: space-between;
        align-items: center;
    }

    .site-title {
        color: #fff;
        font-size: 1.5rem;
        font-weight: 700;
    }

    /* Mobile Menu Toggle & Icons */
    .header-icons {
        display: flex;
        align-items: center;
        gap: 1rem;
    }

    .mobile-menu-toggle {
        display: flex;
        flex-direction: column;
        justify-content: space-between;
        width: 24px;
        height: 18px;
        background: transparent;
        border: none;
        cursor: pointer;
        padding: 0;
        z-index: 1001;
    }

    .hamburger-line {
        width: 100%;
        height: 2px;
        background-color: #fff;
        transition: all 0.3s ease;
    }

    .cart-icon,
    .account-icon {
        color: #fff;
    }

    .cart-icon i,
    .account-icon svg {
        font-size: 1.2rem;
        width: 20px;
        height: 20px;
    }

    /* Hero Section Responsiveness */
    .hero-section-figma {
        height: auto;
        min-height: auto;
        padding: 3rem 0;
        background-position: center;
    }

    .hero-content-figma {
        grid-template-columns: 1fr;
        gap: 2rem;
        text-align: center;
    }

    .hero-text-left {
        max-width: 100%;
        padding: 0 1rem;
        order: 2;
        /* Text below image based on some mobile flows, but reference shows text top? Let's check reference. 
                   Reference image shows: Header -> Hero Image -> Text? No, wait.
                   Reference image: Header -> Hero Text -> Hero Image. 
                   Okay, default order is fine. */
        order: 1;
    }

    .hero-products-right {
        order: 2;
        justify-content: center;
        padding-right: 0;
    }

    .hero-text-left h1::before {
        margin-left: auto;
        margin-right: auto;
    }

    .hero-text-left h1 {
        font-size: 2.5rem;
        line-height: 1.2;
        margin-bottom: 1rem;
    }

    .hero-subtitle {
        font-size: 1rem;
        margin-bottom: 1rem;
    }

    .hero-description {
        font-size: 0.9rem;
        margin-bottom: 1.5rem;
    }

    .hero-product-single {
        max-width: 80%;
        height: auto;
        margin: 0 auto;
    }
}

/* Mobile (768px and below) */
@media (max-width: 768px) {

    /* Hero Section */
    .hero-section-figma {
        padding: 2rem 0;
        min-height: auto;
    }

    .hero-text-left h1 {
        font-size: 1.8rem;
        line-height: 1.2;
        margin-bottom: 1rem;
    }

    .hero-text-left p {
        font-size: 0.85rem;
        line-height: 1.6;
        margin-bottom: 1.25rem;
    }

    .btn-hero {
        padding: 0.6rem 1.5rem;
        font-size: 0.85rem;
    }

    .hero-product-single {
        max-width: 100%;
        margin-top: 1.5rem;
    }

    .hero-product-single img {
        max-height: 250px;
    }




    /* Info Boxes */
    .info-boxes {
        padding: 1.5rem 0;
    }

    .info-box-card {
        padding: 1.25rem;
    }

    .info-box-icon-circle {
        width: 50px;
        height: 50px;
    }

    .info-box-title {
        font-size: 0.8rem;
        margin-top: 0.8rem;
    }

    .info-box-text {
        font-size: 0.7rem;
    }

    .info-box-subtext {
        font-size: 0.7rem;
    }

    /* Green Burials Section */
    .green-burials-section {
        padding: 2rem 0;
    }

    .gb-title {
        font-size: 1.5rem;
    }

    .gb-subtitle {
        font-size: 0.8rem;
    }

    .gb-description {
        font-size: 0.7rem;
    }

    .btn-learn-more {
        padding: 0.5rem 1.25rem;
        font-size: 0.8rem;
    }

    /* Top Categories */
    .top-categories-section {
        padding: 2rem 0;
    }

    .section-title {
        font-size: 1.5rem;
        margin-bottom: 1rem;
    }

    .section-decoration img {
        max-width: 80%;
    }

    .category-filters {
        margin-bottom: 1.5rem;
        gap: 0.5rem;
        flex-wrap: wrap;
        justify-content: center;
        padding: 0 0.5rem;
        transition: all 0.3s ease;
    }

    .mobile-filter-toggle {
        display: flex;
        /* Show on mobile */
    }

    /* Default mobile state: Hide all buttons except active */
    .category-filters:not(.expanded) .filter-btn:not(.active) {
        display: none;
    }

    /* Expanded state: Show all buttons */
    .category-filters.expanded .filter-btn {
        display: block;
        /* or inline-block/flex depending on layout */
    }

    /* When expanded, maybe hide the toggle or keep it? 
       User said "when your click on tha button all filter shows".
       Usually the toggle stays to collapse, or selecting an item collapses.
       Let's keep it visible.
    */

    .filter-btn {
        font-size: 0.7rem;
        padding: 0.4rem 1rem;
        white-space: nowrap;
    }

    .top-categories-grid {
        grid-template-columns: 1fr;
        gap: 1.5rem;
    }

    .category-product-card {
        border-radius: 20px;
        border: 1px solid #e0e0e0;
    }

    .category-product-image {
        height: 180px;
        padding: 1rem;
    }

    .category-product-info {
        padding: 1rem 0.75rem;
    }

    .category-product-title {
        font-size: 0.9rem;
        margin-bottom: 0.5rem;
    }

    .category-product-price {
        font-size: 0.95rem;
        margin-bottom: 0.75rem;
    }

    .btn-category-shop {
        padding: 0.45rem 1.25rem;
        font-size: 0.8rem;
    }

    /* Best Sellers */
    .best-sellers-section {
        padding: 2rem 0;
    }

    .best-sellers-header {
        justify-content: space-between !important;
        align-items: center !important;
        margin-bottom: 2rem !important;
        gap: 1rem;
    }

    .section-title-wrapper {
        align-items: flex-start !important;
    }

    .section-title-wrapper .section-decoration {
        justify-content: flex-start !important;
    }

    .best-sellers-title {
        font-size: 1.5rem;
        text-align: left !important;
    }

    .carousel-nav-btn {
        width: 40px;
        height: 40px;
    }

    .best-sellers-carousel {
        gap: 0.75rem;
    }

    .bestseller-card {
        flex: 0 0 100%;
        min-width: 100%;
        padding: 1rem;
        border-radius: 12px;
    }

    .bestseller-image {
        height: 140px;
    }

    .bestseller-title {
        font-size: 0.85rem;
        min-height: auto;
    }

    .bestseller-price {
        font-size: 0.95rem;
    }

    .bestseller-price del {
        font-size: 0.8rem;
    }

    .btn-bestseller-shop {
        padding: 0.45rem 1.25rem;
        font-size: 0.8rem;
    }

    /* Dual Banners */
    .dual-banners-section {
        padding: 2rem 0 1rem;
    }

    .dual-banners-grid {
        gap: 1rem;
    }

    .banner-card-modern {
        height: 280px;
        border-radius: 10px;
    }

    .banner-content-overlay .lotus-icon-img {
        width: 60px;
    }

    .banner-title-white {
        font-size: 1.5rem;
    }

    /* Latest Products */
    .latest-products-section {
        padding: 2rem 0;
    }

    .latest-products-track {
        gap: 0.75rem;
    }

    .latest-product-card {
        flex: 0 0 100%;
        min-width: 100%;
        border-radius: 6px;
        box-sizing: border-box;
    }

    .best-sellers-carousel,
    .latest-products-track {
        gap: 15px;
    }

    .bestseller-card,
    .latest-product-card {
        flex: 0 0 100% !important;
        min-width: 100% !important;
    }

    @media (min-width: 481px) {

        .bestseller-card,
        .latest-product-card {
            flex: 0 0 calc(50% - 7.5px) !important;
            min-width: calc(50% - 7.5px) !important;
        }
    }

    .latest-product-image {
        height: 180px;
        padding: 1rem;
        margin-bottom: 0.75rem;
    }

    .latest-product-info {
        padding: 0 0.75rem 1rem;
    }

    .latest-product-title {
        font-size: 0.95rem;
        min-height: auto;
        margin-bottom: 0.4rem;
    }

    .latest-product-price {
        font-size: 1rem;
        margin-bottom: 0.4rem;
    }

    .latest-product-rating {
        margin-bottom: 1rem;
        font-size: 0.85rem;
    }

    .btn-latest-shop {
        padding: 0.45rem 1.25rem;
        font-size: 0.8rem;
    }

    /* Latest Blog */
    .latest-blog-section {
        padding: 2rem 0;
    }

    .blog-header {
        margin-bottom: 1.5rem;
    }

    .latest-blog-grid {
        gap: 1.5rem;
    }

    .blog-card-modern {
        border-radius: 20px;
        border: 1px solid #e0e0e0;
    }

    .blog-image-modern {
        height: 200px;
        padding: 1rem;
    }

    .blog-content-modern {
        padding: 1rem;
    }

    .blog-category-badge {
        font-size: 0.7rem;
        padding: 0.3rem 0.6rem;
    }

    .blog-title-modern {
        font-size: 1rem;
        margin-bottom: 0.5rem;
    }

    .blog-date-modern {
        font-size: 0.7rem;
        margin-bottom: 0.5rem;
    }

    .blog-excerpt-modern {
        font-size: 0.8rem;
        margin-bottom: 0.75rem;
    }

    .btn-blog-learn-more {
        padding: 0.45rem 1.25rem;
        font-size: 0.8rem;
    }

    /* Newsletter */
    .newsletter-section-modern {
        padding: 2.5rem 0;
    }

    .newsletter-grid-modern {
        gap: 1.5rem;
        grid-template-columns: 1fr;
    }

    .newsletter-content-left {
        padding: 0 1rem;
        text-align: center;
    }

    .newsletter-title-modern {
        font-size: 1.5rem;
        margin-bottom: 1rem;
        text-align: center;
    }

    .newsletter-title-modern::before {
        width: 60px;
        margin-bottom: 0.5rem;
        margin-left: auto;
        margin-right: auto;
    }

    .newsletter-subtitle {
        font-size: 0.85rem;
        text-align: center;
    }

    .newsletter-form-modern {
        gap: 0.75rem;
        flex-direction: column;
    }

    .newsletter-form-modern input[type="email"] {
        font-size: 0.9rem;
        padding: 0.8rem 1rem;
        width: 100%;
    }

    .newsletter-form-modern button {
        width: 100%;
        padding: 0.8rem 1.5rem;
        font-size: 0.9rem;
    }

    .newsletter-map-modern {
        height: 250px;
        border-radius: 8px;
    }

    /* Footer */
    .footer-modern {
        padding: 2rem 0 1rem;
    }

    .footer-grid {
        gap: 1.5rem;
    }

    .footer-logo-img {
        width: 100%;
        height: auto;
        justify-content: flex-start;
    }

    .footer-logo-text {
        font-size: 1.1rem;
    }

    .footer-desc {
        font-size: 0.75rem;
        line-height: 1.5;
    }

    .footer-heading {
        font-size: 0.95rem;
        margin-bottom: 0.75rem;
        align-items: start;
    }

    .resources-two-cols {
        gap: 1rem;
    }

    .footer-links {
        gap: 0.5rem;
    }

    .footer-links a {
        font-size: 0.8rem;
    }

    .contact-item {
        font-size: 0.8rem;
        gap: 0.5rem;
    }

    .contact-icon {
        width: 16px;
        height: 16px;
    }

    .footer-middle-flex {
        gap: 1rem;
    }

    .payment-desc {
        font-size: 0.75rem;
    }


    .payment-methods-img {
        max-width: 200px;
    }

    .sitemap-image img {
        max-width: 80px;
    }

    .footer-bottom-flex {
        gap: 0.75rem;
    }

    .copyright-text {
        font-size: 0.7rem;
    }

    .social-icons-footer a {
        width: 30px;
        height: 30px;
        font-size: 0.85rem;
    }

}


/* All Categories Dropdown - Replaced by Mega Menu */
.all-categories-container {
    position: relative;
    cursor: pointer;
    display: flex;
    align-items: center;
    height: 100%;
    width: 300px;
    flex-shrink: 0;
}

.all-categories-trigger {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    font-weight: 700;
    font-size: 1.1rem;
    color: #333;
    font-family: 'Times New Roman', Times, serif;
}

/* ========== EXTRA SMALL MOBILE (375px and below) ========== */
@media (max-width: 375px) {
    .container {
        padding: 0 0.75rem;
    }

    .hero-text-left h1 {
        font-size: 1.3rem !important;
    }

    .section-title {
        font-size: 1.3rem;
    }

    .best-sellers-title {
        font-size: 1.3rem;
    }

    .newsletter-title-modern {
        font-size: 1.2rem;
    }

    .category-product-image {
        height: 160px;
    }

    .latest-product-image {
        height: 160px;
    }

    .blog-image-modern {
        height: 180px;
    }
}

/* ========== LANDSCAPE MODE OPTIMIZATION ========== */
@media (max-height: 500px) and (orientation: landscape) {
    .hero-section-figma {
        min-height: 250px;
    }

    .hero-product-single {
        max-height: 200px;
    }

    .info-boxes-grid {
        grid-template-columns: repeat(3, 1fr);
    }
}

/* ========== TOUCH DEVICE OPTIMIZATIONS ========== */
@media (hover: none) and (pointer: coarse) {

    /* Ensure all interactive elements have proper touch targets */
    .btn-hero,
    .btn-learn-more,
    .btn-category-shop,
    .btn-bestseller-shop,
    .btn-latest-shop,
    .btn-blog-learn-more,
    .filter-btn {
        min-height: 44px;
        min-width: 44px;
    }

    /* Adjust hover effects for touch devices */
    .category-product-card:active,
    .product-card:active,
    .bestseller-card:active,
    .latest-product-card:active,
    .blog-card-modern:active {
        border: 2px solid #6B7A4D;
    }
}

/* ========================================================================
   MOBILE MENU STYLES
   ======================================================================== */

/* Mobile Menu Toggle Button */
.mobile-menu-toggle {
    display: none;
    flex-direction: column;
    justify-content: space-around;
    width: 30px;
    height: 24px;
    background: transparent;
    border: none;
    cursor: pointer;
    padding: 0;
    z-index: 1001;
    transition: all 0.3s ease;
}

.hamburger-line {
    width: 100%;
    height: 3px;
    background-color: #fff;
    border-radius: 2px;
    transition: all 0.3s ease;
}

/* Hamburger Animation when Active */
.mobile-menu-toggle.active .hamburger-line:nth-child(1) {
    transform: rotate(45deg) translate(6px, 6px);
}

.mobile-menu-toggle.active .hamburger-line:nth-child(2) {
    opacity: 0;
}

.mobile-menu-toggle.active .hamburger-line:nth-child(3) {
    transform: rotate(-45deg) translate(7px, -7px);
}

/* Mobile Navigation Menu */
.mobile-nav-menu {
    display: block;
    /* Changed from none to allow transition */
    position: fixed;
    top: 70px;
    /* Adjust based on header height */
    left: 0;
    right: 0;
    background: #6B7A4D;
    max-height: 0;
    overflow: hidden;
    transition: max-height 0.4s ease-in-out, opacity 0.4s ease-in-out;
    z-index: 99999;
    box-shadow: 0 4px 10px rgba(0, 0, 0, 0.2);
    opacity: 0;
}

.mobile-nav-menu.active {
    max-height: 100vh;
    /* Ensure full height */
    overflow-y: auto;
    opacity: 1;
}

.mobile-navigation {
    padding: 1rem 0;
}

.mobile-nav-list {
    list-style: none;
    padding: 0;
    margin: 0;
}

.mobile-nav-list li {
    border-bottom: 1px solid rgba(255, 255, 255, 0.1);
}

.mobile-nav-list li:last-child {
    border-bottom: none;
}

.mobile-nav-list a {
    display: block;
    padding: 1rem 2rem;
    color: #fff;
    text-decoration: none;
    font-size: 1rem;
    font-weight: 500;
    transition: all 0.3s ease;
}

.mobile-nav-list a:active {
    background: rgba(255, 255, 255, 0.1);
    padding-left: 2.5rem;
}

/* ========== RESPONSIVE HEADER STYLES ========== */

@media (max-width: 1024px) {

    /* Unhide Desktop Header Elements */
    /* Ensure all header sections are visible */
    .top-info-bar,
    .main-header-full,
    .nav-bar-full {
        display: block !important;
    }

    /* --- Top Info Bar --- */
    .top-info-bar {
        background-color: #73884D;
        color: #fff;
        padding: 0.75rem 0;
        font-size: 0.75rem;
    }

    .top-info-inner {
        display: grid;
        grid-template-areas:
            "notice notice"
            "contact social";
        grid-template-columns: 1fr auto;
        gap: 0.5rem;
    }

    /* Reorder HTML elements via Grid Areas */
    .shipping-notice {
        grid-area: notice;
        text-align: center;
        font-weight: 600;
        border-bottom: 1px solid rgba(255, 255, 255, 0.3);
        padding-bottom: 0.5rem;
        margin-bottom: 0.5rem;
        font-size: 0.8rem;
    }

    .header-contact-info {
        grid-area: contact;
        display: flex;
        flex-direction: column;
        gap: 0.35rem;
        font-size: 0.7rem;
        justify-self: start;
    }

    .social-icons-header {
        grid-area: social;
        display: flex;
        gap: 0.65rem;
        align-items: center;
        justify-self: end;
    }

    /* --- Main Header --- */
    .main-header-full {
        padding: 0.75rem 0;
        background: #fff;
        border-bottom: 1px solid #eee;
        overflow: visible;
        /* Allow dropdowns/shadows if any */
    }

    .main-header-inner {
        display: grid;
        grid-template-areas:
            "logo search"
            "actions actions";
        grid-template-columns: auto minmax(0, 1fr);
        gap: 0.75rem 0.5rem;
        align-items: start;
        overflow: hidden;
    }

    .all-categories-container {
        width: auto;
    }

    /* Logo (Left) */
    .site-branding-full {
        grid-area: logo;
        display: flex;
        justify-content: flex-start;
        align-items: center;
        margin-right: 0.5rem;
        width: auto;
    }

    .logo-link-full {
        display: inline-block;
        text-decoration: none;
    }

    .site-logo-full {
        max-width: 110px;
        /* Reduced further */
        height: auto;
    }

    /* Search Bar (Right) */
    .header-search {
        grid-area: search;
        width: 100%;
        min-width: 0;
        justify-content: flex-start;
        display: flex;
        /* Prevent grid blowout */
    }

    .header-search form {
        position: relative;
        width: 100%;
        max-width: 150px;
    }

    .search-input {
        border-radius: 25px;
        padding: 0.4rem 2.2rem 0.4rem 0.75rem;
        border: 1px solid #ddd;
        font-size: 0.8rem;
        width: 100%;
        height: 34px;
    }

    .search-button {
        background: #73884D;
        color: #fff;
        border-radius: 50%;
        width: 28px;
        /* Smaller button */
        height: 28px;
        padding: 0;
        display: flex;
        align-items: center;
        justify-content: center;
        position: absolute;
        right: 3px;
        top: 50%;
        transform: translateY(-50%);
        border: none;
        cursor: pointer;
    }

    .search-button svg {
        width: 14px;
        height: 14px;
    }

    /* Account and Cart - Stacked Vertically */
    .header-actions {
        grid-area: actions;
        grid-column: 1 / -1;
        /* Span full width */
        display: flex !important;
        flex-direction: column !important;
        gap: 0.5rem;
        width: 100%;
        margin-top: 0.25rem;
    }

    .header-account,
    .header-cart {
        width: 100%;
        display: flex;
        align-items: center;
        gap: 0.6rem;
        padding: 0.6rem 0.75rem;
        border: 1px solid #ddd;
        border-radius: 6px;
        text-decoration: none;
        background: #fff;
    }

    .icon-circle {
        width: 35px;
        height: 35px;
        border: 1px solid #73884D;
        border-radius: 50%;
        display: flex;
        align-items: center;
        justify-content: center;
        color: #73884D;
        flex-shrink: 0;
    }

    .icon-circle svg {
        width: 18px;
        height: 18px;
    }

    .action-text {
        display: flex;
        flex-direction: column;
        font-size: 0.8rem;
        line-height: 1.25;
        color: #333;
    }

    .header-action-label {
        font-weight: 700;
        color: #333;
        font-size: 0.8rem;
    }

    .header-action-link {
        font-weight: 400;
        color: #666;
        font-size: 0.75rem;
    }

    /* --- Nav Bar --- */
    .nav-bar-full {
        background: #fff;
        padding: 0.75rem 0;
        border-top: 1px solid #eee;
    }

    .nav-bar-inner {
        display: flex;
        justify-content: space-between;
        align-items: center;
        flex-wrap: nowrap;
    }

    /* Hide Desktop Menu Links on Mobile - Aggressive */
    .main-nav-full,
    .nav-menu-full,
    .main-navigation,
    .nav-bar-inner nav,
    .nav-bar-inner ul,
    .nav-bar-inner .main-nav-full {
        display: none !important;
    }

    /* Mobile Toggle */
    .mobile-menu-toggle {
        display: flex;
        align-items: center;
        justify-content: center;
        background: transparent;
        border: none;
        cursor: pointer;
        padding: 0.5rem;
    }
}

/* Global Styles for All Categories (Desktop & Mobile) */
.all-categories {
    font-weight: 700;
    font-size: 1.1rem;
    display: flex;
    align-items: center;
    gap: 0.5rem;
    color: #333;
}

.all-categories svg {
    display: none;
}

.hamburger-box {
    width: 24px;
    height: 20px;
    position: relative;
}

.hamburger-inner {
    display: block;
    top: 50%;
    margin-top: -2px;
    width: 100%;
    height: 3px;
    /* Thicker lines as per reference? Reference shows 3 lines */
    background-color: #BFA065;
    /* Gold/Brown color from reference */
    border-radius: 2px;
    position: absolute;
}

.hamburger-inner::before,
.hamburger-inner::after {
    content: "";
    display: block;
    width: 100%;
    height: 3px;
    background-color: #BFA065;
    border-radius: 2px;
    position: absolute;
}

.hamburger-inner::before {
    top: -8px;
}

.hamburger-inner::after {
    bottom: -8px;
}

.btn-contact {
    background: #73884D;
    color: #fff;
    padding: 0.5rem 1.5rem;
    border-radius: 25px;
    text-decoration: none;
    font-weight: 600;
    font-size: 0.9rem;
}


/* Mobile Specific Adjustments (Small Screens) */
@media (max-width: 480px) {
    .site-logo-full {
        max-width: 120px;
    }

    .header-search {
        max-width: 100%;
    }

    .header-actions {
        gap: 0.5rem;
    }

    .action-text {
        display: none;
        /* Hide text on very small screens if needed, or keep it */
    }

    .all-categories {
        font-size: 1rem;
    }

    .btn-contact {
        padding: 0.4rem 1rem;
        font-size: 0.85rem;
    }
}

/* Prevent body scroll when mobile menu is open */
body.mobile-menu-open {
    overflow: hidden;
}

/* Info Boxes Responsiveness */
@media (max-width: 1024px) {
    .info-boxes-grid {
        grid-template-columns: 1fr;
        gap: 4rem;
        margin-top: 3rem;
    }

    .info-box-card {
        padding: 3rem 2rem 2rem;
        display: flex;
        flex-direction: column;
        align-items: center;
        text-align: center;
        margin-top: 2rem;
    }

    .info-box-icon-circle {
        margin-bottom: 1.5rem;
        width: 90px;
        height: 90px;
        top: -45px;
    }

    .info-box-title {
        font-size: 1.4rem;
        margin-top: 1rem;
    }
}

/* Green Burials Section Responsiveness */
@media (max-width: 1024px) {
    .green-burials-grid {
        grid-template-columns: 1fr;
        gap: 2rem;
    }

    .gb-image-left,
    .gb-image-right {
        display: block;
        max-width: 100%;
        margin: 0 auto;
        width: 100%;
    }

    .gb-image-left img,
    .gb-image-right img {
        width: 100%;
        height: auto;
        border-radius: 12px;
        object-fit: cover;
    }

    .gb-text-center {
        padding: 1.5rem 0;
        text-align: center;
    }

    .gb-title {
        font-size: 1.8rem;
        margin-bottom: 1rem;
    }

    .gb-description {
        font-size: 1rem;
        line-height: 1.6;
        margin-bottom: 1.5rem;
    }
}

/* Top Categories Responsiveness */
@media (max-width: 1024px) {
    .top-categories-grid {
        grid-template-columns: repeat(2, 1fr);
        gap: 1rem;
    }

    .category-filters {
        display: none;
        /* Hide filters for cleaner mobile look */
    }
}

@media (max-width: 480px) {
    .top-categories-grid {
        grid-template-columns: repeat(2, 1fr);
        gap: 0.8rem;
    }

    .category-product-image {
        height: 160px;
    }

    .category-product-title {
        font-size: 0.85rem;
    }
}

/* Best Sellers & Latest Products Responsiveness */
@media (max-width: 1024px) {

    .best-sellers-carousel,
    .latest-products-track {
        display: flex;
        overflow-x: auto;
        gap: 1rem;
        padding-bottom: 1rem;
        scroll-snap-type: x mandatory;
        -webkit-overflow-scrolling: touch;
        flex-wrap: nowrap;
        /* Ensure they don't wrap */
    }

    .bestseller-card,
    .latest-product-card {
        flex: 0 0 80%;
        min-width: 80%;
        scroll-snap-align: center;
        margin-bottom: 0;
    }

    .carousel-nav-btn {
        display: flex;
    }
}

@media (max-width: 600px) {

    .bestseller-card,
    .latest-product-card {
        flex: 0 0 85%;
        min-width: 85%;
    }
}

/* Reviews Section Responsiveness */
@media (max-width: 1024px) {
    .reviews-section-slider {
        padding: 3rem 0;
    }

    .section-title-white {
        font-size: 1.8rem;
        text-align: center;
    }

    .reviews-slider-container {
        flex-direction: column;
        gap: 1rem;
        padding: 0;
    }

    .reviews-track-wrapper {
        max-width: 100%;
        width: 100%;
    }

    .reviews-track {
        display: flex;
        flex-direction: column;
        gap: 1rem;
    }

    .review-card-modern {
        padding: 1.5rem;
        margin-bottom: 1rem;
    }

    .review-header-row {
        flex-direction: row;
        align-items: center;
        gap: 1rem;
        margin-bottom: 1rem;
    }

    .review-quote-icon svg {
        width: 30px;
        height: 30px;
    }

    .review-date-modern {
        font-size: 0.85rem;
    }

    .review-content-modern {
        font-size: 0.9rem;
        line-height: 1.6;
        margin-bottom: 1.5rem;
    }

    .review-footer-modern {
        gap: 1rem;
        flex-wrap: wrap;
    }

    .review-nav-btn {
        display: none;
    }
}

/* Blog & Newsletter Responsiveness */
@media (max-width: 1024px) {
    .latest-blog-grid {
        grid-template-columns: 1fr;
        gap: 2rem;
    }

    .newsletter-section-modern {
        padding: 3rem 0;
    }

    .newsletter-grid-modern {
        grid-template-columns: 1fr;
        gap: 2rem;
    }

    .newsletter-content-left {
        text-align: center;
        padding: 0 1rem;
    }

    .newsletter-title-modern {
        font-size: 1.8rem;
    }

    .newsletter-title-modern::before {
        margin: 0 auto 0.5rem;
    }

    .newsletter-form-modern {
        flex-direction: column;
        width: 100%;
        max-width: 400px;
        margin: 0 auto;
    }

    .newsletter-form-modern input[type="email"] {
        width: 100%;
        padding: 12px 15px;
        font-size: 1rem;
    }

    .newsletter-form-modern button {
        width: 100%;
        padding: 12px 15px;
        font-size: 1rem;
    }
}

/* Footer Responsiveness */
@media (max-width: 1024px) {
    .footer-grid {
        grid-template-columns: 1fr 1fr;
        gap: 2rem;
        text-align: left;
    }
}

@media (max-width: 768px) {
    .footer-grid {
        grid-template-columns: 1fr;
        text-align: left;
    }

    .footer-col-logo,
    .footer-col-resources,
    .footer-col-contact,
    .footer-col-newsletter {
        display: flex;
        flex-direction: column;
        align-items: flex-start;
        text-align: left;
        padding-left: 0;
    }

    .contact-info {
        text-align: left;
        width: 100%;
    }

    .contact-item {
        display: flex;
        align-items: center;
        justify-content: flex-start;
        text-align: left;
        padding-left: 0;
        margin-left: 0;
    }

    .resources-two-cols {
        text-align: left;
    }

    .footer-middle-flex {
        flex-direction: column;
        gap: 1.5rem;
        text-align: center;
        align-items: center;
    }

    .footer-bottom-flex {
        flex-direction: column;
        gap: 1rem;
        align-items: center;
        text-align: center;
    }
}

/* Global Mobile Overflow Fix */
@media only screen and (max-width: 768px) {

    html,
    body {
        width: 100%;
        overflow-x: hidden;
    }
}

/* User requested updates */
.gb-description {
    text-align: center !important;
}

button {
    font-family: 'Times New Roman', Times, serif !important;
}

/* Desktop Compatibility for Header Restructuring */
@media (min-width: 769px) {
    .header-top-row-flex {
        display: contents;
    }

    .header-contact-info {
        order: 1;
    }

    .shipping-notice {
        order: 2;
    }

    .social-icons-header {
        order: 3;
    }

    .nav-right-group {
        display: contents;
    }
}

/* User Requested Mobile Header CSS */
@media (max-width: 768px) {

    /* --- 1. GLOBAL TYPOGRAPHY & COLORS --- */
    .all-categories,
    .btn-contact,
    .header-action-label,
    .shipping-notice {
        font-family: "Times New Roman", Times, serif !important;
    }

    /* --- 2. TOP GREEN BAR: PRECISE LAYOUT --- */
    .top-info-bar {
        background-color: #7a8c55 !important;
        padding: 0 !important;
    }

    .top-info-bar .container {
        padding: 0 !important;
    }

    .top-info-inner {
        display: flex !important;
        flex-direction: column !important;
        padding: 0 !important;
        grid-template-areas: none !important;
        grid-template-columns: none !important;
    }

    /* Centered Notice with thin white line */
    .shipping-notice {
        width: 100% !important;
        text-align: center !important;
        border-bottom: 0.5px solid rgba(255, 255, 255, 0.4) !important;
        padding: 10px 15px !important;
        margin: 0 !important;
        font-size: 14px !important;
        color: #ffffff !important;
        display: block !important;
        order: 1 !important;
        font-family: 'Times New Roman', Times, serif !important;
        font-weight: 400 !important;
        letter-spacing: 0.3px !important;
    }

    /* Row below line: Email/Phone on Left, Socials on Right */
    .header-top-row-flex {
        display: flex !important;
        justify-content: space-between !important;
        align-items: center !important;
        padding: 8px 15px !important;
        width: 100% !important;
        order: 2 !important;
    }

    .header-contact-info {
        display: flex !important;
        flex-direction: column !important;
        gap: 4px !important;
    }

    .header-contact-item {
        color: #ffffff !important;
        font-size: 12px !important;
        display: flex !important;
        align-items: center !important;
        gap: 6px !important;
        text-decoration: none !important;
        font-family: 'Times New Roman', Times, serif !important;
        font-weight: 400 !important;
    }

    /* Ensure contact icons are visible */
    .header-contact-item svg {
        display: block !important;
        width: 16px !important;
        height: 16px !important;
        flex-shrink: 0 !important;
        fill: currentColor !important;
        color: #ffffff !important;
        opacity: 1 !important;
        visibility: visible !important;
    }

    .social-icons-header {
        display: flex !important;
        gap: 10px !important;
        align-items: center !important;
        flex-shrink: 0 !important;
    }

    .social-icons-header a {
        color: #ffffff !important;
        font-size: 16px !important;
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
        width: auto !important;
        height: auto !important;
        padding: 0 !important;
        border: none !important;
        opacity: 1 !important;
        visibility: visible !important;
        transition: opacity 0.2s !important;
    }

    .social-icons-header a:hover {
        opacity: 0.8 !important;
    }

    /* Ensure social icons SVG are visible */
    .social-icons-header svg {
        display: block !important;
        width: 18px !important;
        height: 18px !important;
        fill: currentColor !important;
        stroke: currentColor !important;
        color: #ffffff !important;
        opacity: 1 !important;
        visibility: visible !important;
    }

    /* Instagram icon uses stroke, ensure it's visible */
    .social-icons-header .icon-instagram {
        fill: none !important;
        stroke: currentColor !important;
        stroke-width: 2 !important;
        width: 18px !important;
        height: 18px !important;
    }

    /* --- 3. MAIN HEADER: LOGO SPANNING TWO ROWS --- */
    .main-header-inner {
        display: grid !important;
        grid-template-columns: 145px 1fr !important;
        /* Fixed logo space */
        grid-template-areas:
            "logo search"
            "logo actions" !important;
        column-gap: 12px !important;
        row-gap: 10px !important;
        padding: 15px 0px !important;
        align-items: center !important;
    }

    .site-branding-full {
        grid-area: logo !important;
        align-self: center !important;
    }

    /* Search Bar with Green Circle Button */
    .header-search {
        grid-area: search !important;
    }

    .header-search form {
        display: flex !important;
        border: 1px solid #e5e5e5 !important;
        border-radius: 30px !important;
        padding: 3px 5px 3px 15px !important;
        background: #ffffff !important;
        height: 38px !important;
        align-items: center !important;
    }

    .search-input {
        border: none !important;
        font-size: 14px !important;
        width: 100% !important;
    }

    .search-button {
        background: #7a8c55 !important;
        border-radius: 50% !important;
        width: 30px !important;
        height: 30px !important;
        color: #fff !important;
        border: none !important;
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
    }

    /* Horizontal Side-by-Side Account & Cart */
    .header-actions {
        grid-area: actions !important;
        display: flex !important;
        flex-direction: row !important;
        gap: 6px !important;
        width: 100% !important;
    }

    .header-account,
    .header-cart {
        flex: 1 !important;
        display: flex !important;
        align-items: center !important;
        border: 1px solid #f0f0f0 !important;
        border-radius: 40px !important;
        padding: 5px 8px !important;
        background: #ffffff !important;
        text-decoration: none !important;
        min-width: 0 !important;
        /* Prevents overflow */
    }

    .icon-circle {
        border: 1.2px solid #7a8c55 !important;
        border-radius: 50% !important;
        width: 32px !important;
        height: 32px !important;
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
        color: #7a8c55 !important;
        margin-right: 6px !important;
        flex-shrink: 0 !important;
    }

    .action-text {
        display: flex !important;
        flex-direction: column !important;
        line-height: 1.1 !important;
    }

    .header-action-label {
        font-size: 11px !important;
        font-weight: bold !important;
        color: #333 !important;
    }

    .header-action-link {
        font-size: 11px !important;
        color: #777 !important;
    }

    /* --- 4. NAVIGATION BAR: CENTERED & ALIGNED --- */
    .nav-bar-inner {
        display: flex !important;
        justify-content: space-between !important;
        align-items: center !important;
        /* This centers the "All Categories" text vertically */
        padding: 10px 15px !important;
        border-top: 1px solid #f2f2f2 !important;
        background: #fff !important;
    }

    .all-categories {
        font-size: 18px !important;
        font-weight: bold !important;
        margin: 0 !important;
        color: #333 !important;
        display: flex !important;
        align-items: center !important;
        gap: 8px !important;
    }

    .all-categories svg {
        display: block !important;
        width: 20px !important;
        height: 20px !important;
        fill: #7a8c55 !important;
        color: #7a8c55 !important;
    }

    /* Hamburger and Contact Button Group */
    .nav-right-group {
        display: flex !important;
        align-items: center !important;
        gap: 15px !important;
    }

    .mobile-menu-toggle {
        color: #7a8c55 !important;
        /* Dark green color to match image */
        font-size: 22px !important;
        background: transparent !important;
        border: none !important;
        padding: 0 !important;
        cursor: pointer !important;
    }

    .mobile-menu-toggle .hamburger-box {
        display: flex !important;
        flex-direction: column !important;
        gap: 4px !important;
    }

    .mobile-menu-toggle .hamburger-inner,
    .mobile-menu-toggle .hamburger-inner::before,
    .mobile-menu-toggle .hamburger-inner::after {
        background-color: #7a8c55 !important;
        width: 24px !important;
        height: 2px !important;
    }

    /* Contact Us Pill Button */
    .btn-contact {
        background-color: #7a8c55 !important;
        color: #ffffff !important;
        padding: 10px 20px !important;
        /* Fixed padding for mobile */
        border-radius: 35px !important;
        font-weight: bold !important;
        font-size: 16px !important;
        text-decoration: none !important;
        white-space: nowrap !important;
    }
}

/* Mobile Hero Section Revamp */
@media (max-width: 768px) {
    .hero-section-figma {
        height: auto !important;
        max-height: none !important;
        padding: 0 !important;
        background-position: center top !important;
    }

    .hero-overlay {
        background: linear-gradient(to bottom, rgba(0, 0, 0, 0.2) 0%, rgba(0, 0, 0, 0.6) 50%, rgba(0, 0, 0, 0.8) 100%) !important;
        padding: 2rem 0 4rem 0 !important;
        align-items: flex-start !important;
    }

    .hero-content-figma {
        display: flex !important;
        flex-direction: column-reverse !important;
        gap: 1.5rem !important;
        padding: 0 1.5rem !important;
    }

    .hero-products-right {
        width: 100% !important;
        justify-content: center !important;
        margin-top: 1rem !important;
    }

    .hero-product-single {
        max-width: 90% !important;
        height: auto !important;
        margin: 0 auto !important;
        display: block !important;
    }

    .hero-text-left {
        width: 100% !important;
        max-width: 100% !important;
        padding: 0 !important;
        text-align: center !important;
    }

    .hero-text-left h1 {
        font-size: 1.8rem !important;
        /* Reduced from 2.5rem */
        margin-bottom: 0.5rem !important;
        text-align: center !important;
        width: 100% !important;
        white-space: normal !important;
    }

    .hero-text-left h1::before {
        margin: 0 auto 1rem auto !important;
        width: 80px !important;
    }

    .hero-subtitle {
        font-size: 1.1rem !important;
        margin-bottom: 1rem !important;
        text-align: center !important;
    }

    .hero-description {
        font-size: 0.9rem !important;
        line-height: 1.6 !important;
        margin-bottom: 2rem !important;
        text-align: center !important;
        padding: 0 0.5rem !important;
    }

    .btn-hero,
    .btn-learn-more,
    .btn-category-shop,
    .btn-bestseller-shop,
    .btn-latest-shop,
    .btn-blog-learn-more,
    .btn-newsletter {
        padding: 12px 24px !important;
        /* Standardized mobile padding */
        font-size: 16px !important;
        width: auto !important;
        display: inline-block !important;
    }
}

/* Mobile Header Implementation */
.desktop-header-only {
    display: block;
}

.mobile-header-custom {
    display: none;
}

@media (max-width: 768px) {
    .desktop-header-only {
        display: none !important;
    }

    .mobile-header-custom {
        display: block !important;
    }

    /* Top Green Bar */
    .mobile-top-bar {
        background-color: #73884D;
        padding: 10px 0;
        color: #fff;
    }

    .mobile-notice {
        text-align: center;
        font-family: 'Times New Roman', Times, serif;
        font-size: 14px;
        margin-bottom: 8px;
    }

    .mobile-divider {
        height: 1px;
        background-color: rgba(255, 255, 255, 0.3);
        margin: 0 0 8px 0;
    }

    .mobile-contact-row {
        display: flex;
        justify-content: space-between;
        align-items: center;
        padding: 0 10px;
    }

    .mobile-contact-info {
        display: flex;
        flex-direction: column;
        gap: 4px;
    }

    .mobile-contact-item {
        display: flex;
        align-items: center;
        gap: 6px;
        color: #fff;
        text-decoration: none;
        font-size: 12px;
        font-family: 'Times New Roman', Times, serif;
    }

    .mobile-social-icons {
        display: flex;
        gap: 12px;
    }

    .mobile-social-icons a {
        color: #fff;
        display: flex;
        align-items: center;
    }

    /* Mobile Main Header */
    .mobile-main-header {
        background: #fff;
        padding: 15px 0;
        font-family: 'Times New Roman', Times, serif;
    }

    .mobile-header-flex-wrapper {
        display: flex;
        align-items: center;
        gap: 25px;
    }

    .mobile-logo-wrapper {
        flex-shrink: 0;
        width: 130px;
    }

    .mobile-logo-wrapper img {
        width: 100%;
        height: auto;
        object-fit: contain;
    }

    .mobile-right-column {
        flex: 1;
        display: flex;
        flex-direction: column;
        gap: 10px;
        min-width: 0;
    }

    .mobile-search-row {
        width: 100%;
    }

    .mobile-search-row form {
        display: flex;
        border: 1px solid #e0e0e0;
        border-radius: 25px;
        padding: 2px 2px 2px 15px;
        align-items: center;
        height: 38px;
    }

    .mobile-search-input {
        border: none;
        width: 100%;
        font-size: 15px;
        font-family: 'Times New Roman', Times, serif;
        color: #73884D;
        outline: none;
        background: transparent;
    }

    .mobile-search-input::placeholder {
        color: #73884D;
        font-family: 'Times New Roman', Times, serif;
    }

    .mobile-search-btn {
        background: #73884D;
        border: none;
        border-radius: 50%;
        width: 32px;
        height: 32px;
        display: flex;
        align-items: center;
        justify-content: center;
        color: #fff;
        flex-shrink: 0;
    }

    .mobile-actions-row {
        display: flex;
        justify-content: space-between;
        gap: 8px;
    }

    .mobile-action-link {
        flex: 1;
        display: flex;
        align-items: center;
        border: 1px solid #e0e0e0;
        border-radius: 30px;
        padding: 4px 8px;
        text-decoration: none;
        color: #333;
        min-width: 0;
    }

    .mobile-icon-circle {
        width: 28px;
        height: 28px;
        border: 1px solid #73884D;
        border-radius: 50%;
        display: flex;
        align-items: center;
        justify-content: center;
        color: #73884D;
        margin-right: 6px;
        flex-shrink: 0;
    }

    .mobile-icon-circle svg {
        width: 16px;
        height: 16px;
    }

    .mobile-action-text {
        display: flex;
        flex-direction: column;
        line-height: 1.1;
        overflow: hidden;
    }

    .mobile-action-label {
        font-size: 13px;
        font-weight: bold;
        color: #333;
        white-space: nowrap;
        font-family: 'Times New Roman', Times, serif;
    }

    .mobile-action-sub {
        font-size: 11px;
        color: #666;
        font-family: 'Times New Roman', Times, serif;
        white-space: nowrap;
    }

    /* Mobile Nav Bar */
    .mobile-nav-bar {
        border-top: 1px solid #f0f0f0;
        border-bottom: 1px solid #f0f0f0;
        padding: 12px 0;
        background: #fff;
        font-family: 'Times New Roman', Times, serif;
        position: static;
        z-index: 100;
        transition: all 0.3s ease;
    }

    /* Mobile sticky state */
    .mobile-nav-bar.is-stuck {
        position: fixed;
        top: 0;
        left: 0;
        right: 0;
        width: 100%;
        z-index: 1000;
        box-shadow: 0 2px 10px rgba(0, 0, 0, 0.1);
        animation: slideDown 0.3s ease-out;
    }

    .mobile-nav-wrapper {
        width: 100%;
        position: relative;
    }

    .mobile-nav-inner {
        display: flex;
        justify-content: space-between;
        align-items: center;
    }

    .mobile-categories {
        font-family: 'Times New Roman', Times, serif;
        font-size: 18px;
        font-weight: bold;
        color: #333;
    }

    .mobile-nav-right {
        display: flex;
        align-items: center;
        gap: 15px;
    }

    .mobile-menu-toggle-custom {
        background: none;
        border: none;
        padding: 0;
        cursor: pointer;
    }

    .mobile-btn-contact {
        background: #73884D;
        color: #fff;
        padding: 8px 20px;
        border-radius: 20px;
        text-decoration: none;
        font-family: 'Times New Roman', Times, serif;
        font-size: 14px;
        font-weight: bold;
    }

    /* Mobile Info Boxes */
    .info-boxes {
        padding: 50px 0;
        background: #fff;
        /* Match reference if needed, or keep existing */
    }

    .info-boxes .container {
        padding: 0 20px !important;
    }

    .info-boxes-grid {
        grid-template-columns: 1fr;
        gap: 70px;
        /* Space for overlapping icons */
        margin-top: 30px;
    }

    .info-box-card {
        margin-top: 0;
        padding: 50px 20px 30px 20px;
        box-shadow: 0 5px 15px rgba(0, 0, 0, 0.05);
        border: 1px solid #eee;
    }

    .info-box-icon-circle {
        width: 100px;
        height: 100px;
        top: -50px;
        background-color: #73884D;
        /* Default green */
    }

    .info-box-icon-circle.gold {
        background-color: #C4B768;
    }

    .info-box-title {
        font-size: 18px;
        margin-top: 10px;
        margin-bottom: 15px;
        font-family: 'Times New Roman', Times, serif;
    }

    .info-box-text,
    .info-box-subtext {
        font-family: 'Times New Roman', Times, serif;
        font-size: 14px;
        line-height: 1.5;
        color: #555;
    }
}

/* Global Mobile Overflow Fix */
@media only screen and (max-width: 768px) {

    html,
    body {
        width: 100%;
        overflow-x: hidden;
    }
}

/* ========== BLOG LISTING PAGE ========== */

/* Blog Page Header */
.blog-page-header {
    background: #fff;
    padding: 2rem 0 1.5rem;
    border-bottom: 1px solid #f0f0f0;
}

.blog-page-header .breadcrumb {
    display: flex;
    align-items: center;
    margin-bottom: 1.5rem;
    font-family: 'Times New Roman', Times, serif;
}

.breadcrumb-pill {
    display: inline-flex;
    align-items: center;
    border: 1px solid #e0e0e0;
    border-radius: 50px;
    overflow: hidden;
    background: #fff;
}

.breadcrumb-pill a.breadcrumb-home-link {
    display: flex;
    align-items: center;
    text-decoration: none;
}

.home-icon-wrapper {
    background: #73884D;
    color: #fff;
    width: 40px;
    height: 40px;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: background 0.3s;
}

.breadcrumb-pill a:hover .home-icon-wrapper {
    background: #5a6640;
}

.home-icon-wrapper svg {
    width: 18px;
    height: 18px;
    stroke: currentColor;
}

.breadcrumb-pill .breadcrumb-current {
    padding: 0 1.5rem;
    font-weight: 600;
    color: #333;
    font-size: 1rem;
}

.blog-page-header .separator {
    display: none;
    /* Hidden as per reference image which shows pill style */
}

.blog-heading-wrapper {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 0.5rem;
}

.blog-heading-decoration {
    width: 120px;
    height: auto;
    margin-bottom: -0.5rem;
}

.blog-page-header .page-title {
    font-family: 'Times New Roman', Times, serif;
    font-size: 3rem;
    font-weight: 700;
    color: #333;
    margin: 0;
    text-transform: none;
}

/* Blog Layout Grid */
.blog-layout {
    padding: 3rem 0;
    background: #fff;
}

/* Blog Hero Section - Two Column Layout */
.blog-hero-section {
    display: grid !important;
    grid-template-columns: 1fr 380px !important;
    gap: 2.5rem;
    align-items: start;
    margin-bottom: 3rem;
}

.blog-hero-main {
    width: 100%;
}

.blog-hero-sidebar {
    width: 100%;
}

/* Featured Blog Card */
.featured-blog-card {
    background: #fff;
    border-radius: 12px;
    overflow: hidden;
    display: flex;
    flex-direction: column;
    border: 1px solid #e0e0e0;
    height: 100%;
}

.featured-blog-image {
    position: relative;
    overflow: hidden;
    height: 100%;
    min-height: 350px;
}

.featured-blog-image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 0.5s;
}

.featured-blog-card:hover .featured-blog-image img {
    transform: scale(1.05);
}

.blog-date-badge-pill {
    display: inline-block;
    padding: 0.2rem 1rem;
    background: #fff;
    border: 1px solid #73884D;
    border-radius: 50px;
    color: #73884D;
    font-size: 0.85rem;
    font-weight: 500;
    font-family: 'Inter', sans-serif;
}

.featured-blog-meta {
    display: flex;
    align-items: center;
    gap: 1rem;
    margin-bottom: 1.5rem;
}

.blog-author-text {
    font-size: 0.9rem;
    color: #666;
    font-weight: 500;
}

.blog-author-text .author-name {
    color: #73884D;
    font-weight: 600;
}

.featured-blog-title {
    font-family: 'Times New Roman', Times, serif;
    font-size: 2.2rem;
    font-weight: 700;
    margin-bottom: 1.2rem;
    line-height: 1.2;
    text-transform: none;
}

.featured-blog-content {
    padding: 2rem;
    display: flex;
    flex-direction: column;
    justify-content: center;
}

/* Removed old blog-meta styles */

.featured-blog-excerpt {
    font-size: 1rem;
    color: #555;
    line-height: 1.7;
    margin-bottom: 2rem;
    font-family: 'Times New Roman', Times, serif;
    max-width: 95%;
}

.btn-read-more {
    display: inline-block;
    background: #73884D;
    color: #fff;
    padding: 0.7rem 1.8rem;
    border-radius: 50px;
    text-decoration: none;
    font-weight: 600;
    font-size: 0.9rem;
    transition: background 0.3s;
    font-family: 'Times New Roman', Times, serif;
    align-self: flex-start;
}

.btn-read-more:hover {
    background: #5a6640;
    color: #fff;
}

/* Blog Grid Section - Full Width Below Hero */
.blog-grid-section {
    width: 100%;
    margin-top: 3rem;
}

.blog-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 2rem;
}

/* Blog Card */
.blog-card {
    background: #fff;
    border-radius: 12px;
    overflow: hidden;
    border: 1px solid #e0e0e0;
    transition: box-shadow 0.3s;
}

.blog-card:hover {
    box-shadow: 0 5px 20px rgba(0, 0, 0, 0.1);
}

.blog-card-image {
    position: relative;
    overflow: hidden;
    height: 220px;
}

.blog-card-image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 0.5s;
}

.blog-card:hover .blog-card-image img {
    transform: scale(1.05);
}

/* Removed old date badge styles for blog cards */

.blog-card-content {
    padding: 1.5rem;
}

.blog-card-title {
    font-family: 'Times New Roman', Times, serif;
    font-size: 1.15rem;
    font-weight: 700;
    margin-bottom: 0.8rem;
    margin-top: 0.8rem;
    line-height: 1.3;
    text-transform: none;
}

.blog-card-title a {
    color: #333;
    text-decoration: none;
    transition: color 0.3s;
}

.blog-card-title a:hover {
    color: #73884D;
}

.blog-card .blog-meta {
    font-size: 0.8rem;
    gap: 1rem;
    margin-bottom: 0.8rem;
}

.blog-card .blog-meta svg {
    width: 12px;
    height: 12px;
}

.blog-card-excerpt {
    color: #555;
    line-height: 1.6;
    margin-bottom: 1.2rem;
    font-family: 'Inter', sans-serif;
    font-size: 0.9rem;
}

.blog-card .btn-read-more {
    padding: 0.6rem 1.5rem;
    font-size: 0.85rem;
}

/* Blog Sidebar - No Sticky, No Title */
.blog-hero-sidebar {
    position: static;
}

.sidebar-blog-list {
    display: flex;
    flex-direction: column;
    gap: 1.5rem;
}

.sidebar-blog-item {
    display: grid;
    grid-template-columns: 100px 1fr;
    gap: 1rem;
    padding: 1rem;
    border: 1px solid #e0e0e0;
    border-radius: 12px;
    background: #fff;
    transition: all 0.3s ease;
}

.sidebar-blog-item:hover {
    box-shadow: 0 5px 15px rgba(0, 0, 0, 0.05);
    border-color: #73884D;
}

.sidebar-blog-item:last-child {
    border-bottom: none;
    padding-bottom: 0;
}

.sidebar-blog-image {
    overflow: hidden;
    height: 100px;
    border-radius: 8px;
}

.sidebar-blog-image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 0.3s;
}

.sidebar-blog-item:hover .sidebar-blog-image img {
    transform: scale(1.1);
}

.sidebar-blog-content {
    display: flex;
    flex-direction: column;
}

.sidebar-blog-title {
    font-family: 'Times New Roman', Times, serif;
    font-size: 1rem;
    font-weight: 700;
    margin-bottom: 0.5rem;
    line-height: 1.3;
    text-transform: none;
}

.sidebar-blog-title a {
    color: #333;
    text-decoration: none;
    transition: color 0.3s;
}

.sidebar-blog-title a:hover {
    color: #73884D;
}

.sidebar-blog-meta {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    font-size: 0.75rem;
    color: #666;
    margin-bottom: 0.5rem;
    font-family: 'Times New Roman', Times, serif;
}

.sidebar-blog-meta svg {
    width: 12px;
    height: 12px;
}

.sidebar-blog-excerpt {
    color: #555;
    font-size: 0.85rem;
    line-height: 1.5;
    font-family: 'Times New Roman', Times, serif;
}

/* Blog Pagination */
.blog-pagination {
    margin-top: 3rem;
    display: flex;
    justify-content: center;
}

.blog-pagination ul {
    display: flex;
    gap: 0.5rem;
    list-style: none;
    padding: 0;
    margin: 0;
}

.blog-pagination li {
    margin: 0;
}

.blog-pagination a,
.blog-pagination span {
    display: flex;
    align-items: center;
    justify-content: center;
    min-width: 40px;
    height: 40px;
    padding: 0 0.8rem;
    background: #fff;
    border: 1px solid #e0e0e0;
    color: #333;
    text-decoration: none;
    font-family: 'Times New Roman', Times, serif;
    font-weight: 600;
    transition: all 0.3s;
}

.blog-pagination a:hover {
    background: #73884D;
    color: #fff;
    border-color: #73884D;
}

.blog-pagination .current {
    background: #73884D;
    color: #fff;
    border-color: #73884D;
}

/* Responsive Blog Styles */
@media (max-width: 1024px) {
    .blog-hero-section {
        grid-template-columns: 1fr 340px;
        gap: 2rem;
    }

    .blog-grid {
        grid-template-columns: repeat(2, 1fr);
    }

    .featured-blog-image {
        min-height: 300px;
    }

    .featured-blog-content {
        padding: 2rem;
    }
}

@media (max-width: 768px) {
    .blog-page-header .page-title {
        font-size: 2rem;
    }

    .blog-layout {
        padding: 2rem 0;
    }

    .blog-hero-section {
        grid-template-columns: 1fr;
        gap: 2rem;
    }

    .blog-hero-sidebar {
        order: 2;
    }

    .blog-grid {
        grid-template-columns: repeat(2, 1fr);
    }

    .featured-blog-card {
        flex-direction: column;
    }

    .featured-blog-image {
        min-height: 250px;
    }

    .featured-blog-content {
        padding: 1.5rem;
    }

    .featured-blog-title {
        font-size: 1.5rem;
    }

    .blog-date-badge {
        width: 60px;
        height: 60px;
        top: 1rem;
        left: 1rem;
    }

    .blog-date-badge .date-day {
        font-size: 1.3rem;
    }

    .blog-date-badge .date-month {
        font-size: 0.7rem;
    }

    .blog-date-badge .date-year {
        font-size: 0.65rem;
    }

    .sidebar-blog-item {
        grid-template-columns: 80px 1fr;
        gap: 0.8rem;
    }

    .sidebar-blog-image {
        height: 80px;
    }

    .blog-pagination a,
    .blog-pagination span {
        min-width: 35px;
        height: 35px;
        font-size: 0.9rem;
    }
}

/* ========== SINGLE BLOG POST PAGE ========== */

/* Breadcrumb */
.single-post-breadcrumb {
    background: #fff;
    padding: 1.5rem 0;
    border-bottom: 1px solid #f0f0f0;
}

.single-post-breadcrumb .breadcrumb {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    font-size: 0.9rem;
    color: #666;
    font-family: 'Times New Roman', Times, serif;
}

.single-post-breadcrumb .breadcrumb a {
    display: flex;
    align-items: center;
    gap: 0.4rem;
    color: #73884D;
    text-decoration: none;
    transition: color 0.3s;
}

.single-post-breadcrumb .breadcrumb a:hover {
    color: #5a6640;
}

.single-post-breadcrumb .breadcrumb svg {
    width: 16px;
    height: 16px;
}

.single-post-breadcrumb .separator {
    color: #999;
}

/* Post Header */
.single-post-header {
    background: #fff;
    padding: 2rem 0 2.5rem;
    text-align: center;
}

.single-post-title {
    font-family: 'Times New Roman', Times, serif;
    font-size: 2.5rem;
    font-weight: 700;
    color: #333;
    line-height: 1.2;
    margin: 0 auto 1.5rem;
    max-width: 800px;
    padding: 0 1rem;
}

.single-date-badge {
    display: inline-flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    background: #73884D;
    color: #fff;
    width: 80px;
    height: 80px;
    border-radius: 50%;
    font-family: 'Times New Roman', Times, serif;
    font-weight: 700;
    margin-bottom: 1.5rem;
}

.single-date-badge .date-day {
    font-size: 1.8rem;
    line-height: 1;
}

.single-date-badge .date-month {
    font-size: 0.85rem;
    text-transform: uppercase;
    margin-top: 3px;
}

.single-date-badge .date-year {
    font-size: 0.75rem;
    margin-top: 2px;
}

.single-post-meta {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 2rem;
    font-size: 0.9rem;
    color: #666;
    font-family: 'Times New Roman', Times, serif;
}

.single-post-meta span {
    display: flex;
    align-items: center;
    gap: 0.5rem;
}

.single-post-meta svg {
    width: 14px;
    height: 14px;
}

/* Single Post Layout */
.single-post-layout {
    background: #fff;
    padding: 3rem 0;
}

.single-post-grid {
    display: grid;
    grid-template-columns: 1fr 350px;
    gap: 3rem;
    align-items: start;
}

/* Main Content Area */
.single-post-content {
    width: 100%;
}

.single-featured-image {
    margin-bottom: 2rem;
    overflow: hidden;
}

.single-featured-image img {
    width: 100%;
    height: auto;
    aspect-ratio: 16/9;
    object-fit: cover;
    display: block;
}

.single-post-body {
    font-family: 'Times New Roman', Times, serif;
    font-size: 1rem;
    line-height: 1.8;
    color: #333;
}

.single-post-body p {
    margin-bottom: 1.5rem;
    text-align: justify;
}

.single-post-body img {
    width: 100%;
    height: auto;
    margin: 2rem 0;
    display: block;
}

.single-post-body h2 {
    font-size: 1.75rem;
    font-weight: 700;
    margin: 2.5rem 0 1.5rem;
    color: #333;
    font-family: 'Times New Roman', Times, serif;
}

.single-post-body h3 {
    font-size: 1.5rem;
    font-weight: 700;
    margin: 2rem 0 1rem;
    color: #333;
    font-family: 'Times New Roman', Times, serif;
}

.single-post-body ul {
    list-style: disc !important;
    margin-bottom: 1.5rem;
    padding-left: 2rem;
}

.single-post-body ol {
    list-style: decimal !important;
    margin-bottom: 1.5rem;
    padding-left: 2rem;
}

.single-post-body li {
    margin-bottom: 0.5rem;
    line-height: 1.8;
}

.single-post-body blockquote {
    border-left: 4px solid #73884D;
    padding-left: 1.5rem;
    margin: 2rem 0;
    font-style: italic;
    color: #555;
}

/* Post Navigation */
.post-navigation {
    display: flex;
    justify-content: space-between;
    margin-top: 3rem;
    padding-top: 2rem;
    border-top: 1px solid #e0e0e0;
    gap: 1rem;
}

.post-navigation a {
    display: inline-flex;
    align-items: center;
    gap: 0.5rem;
    color: #73884D;
    text-decoration: none;
    font-family: 'Times New Roman', Times, serif;
    font-weight: 600;
    font-size: 0.95rem;
    transition: color 0.3s;
}

.post-navigation a:hover {
    color: #5a6640;
}

.post-navigation svg {
    width: 20px;
    height: 20px;
}

.nav-previous {
    text-align: left;
}

.nav-next {
    text-align: right;
    margin-left: auto;
}

/* Recent Articles Sidebar */
.recent-articles-sidebar {
    position: sticky;
    top: 80px;
}

.recent-articles-sidebar .sidebar-title {
    font-family: 'Times New Roman', Times, serif;
    font-size: 1.5rem;
    font-weight: 700;
    color: #333;
    margin-bottom: 1.5rem;
    padding-bottom: 0.8rem;
    border-bottom: 2px solid #73884D;
}

.recent-articles-list {
    display: flex;
    flex-direction: column;
    gap: 1.5rem;
}

.recent-article-item {
    display: grid;
    grid-template-columns: 120px 1fr;
    gap: 1rem;
    background: #fff;
    border: 1px solid #e0e0e0;
    border-radius: 0;
    padding: 1rem;
    transition: box-shadow 0.3s;
}

.recent-article-item:hover {
    box-shadow: 0 3px 15px rgba(0, 0, 0, 0.1);
}

.recent-article-image {
    overflow: hidden;
    height: 100px;
    width: 120px;
}

.recent-article-image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 0.3s;
}

.recent-article-item:hover .recent-article-image img {
    transform: scale(1.05);
}

.recent-article-content {
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
    padding: 0;
}

.recent-article-title {
    font-family: 'Times New Roman', Times, serif;
    font-size: 1rem;
    font-weight: 700;
    margin-bottom: 0.5rem;
    line-height: 1.4;
}

.recent-article-title a {
    color: #333;
    text-decoration: none;
    transition: color 0.3s;
}

.recent-article-title a:hover {
    color: #73884D;
}

.recent-article-meta {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    font-size: 0.85rem;
    color: #666;
    font-family: 'Times New Roman', Times, serif;
}

.recent-article-meta svg {
    width: 12px;
    height: 12px;
}

/* Responsive Design for Single Post */
@media (max-width: 991px) {
    .single-post-grid {
        grid-template-columns: 1fr;
        gap: 3rem;
    }

    .recent-articles-sidebar {
        position: static;
        order: 2;
    }

    .single-post-title {
        font-size: 1.75rem;
    }
}

@media (max-width: 768px) {
    .single-post-breadcrumb {
        padding: 1rem 0;
    }

    .single-post-breadcrumb .breadcrumb {
        font-size: 0.85rem;
        flex-wrap: wrap;
    }

    .single-post-header {
        padding: 1.5rem 0 2rem;
    }

    .single-post-title {
        font-size: 1.5rem;
    }

    .single-date-badge {
        width: 70px;
        height: 70px;
    }

    .single-date-badge .date-day {
        font-size: 1.5rem;
    }

    .single-date-badge .date-month {
        font-size: 0.75rem;
    }

    .single-date-badge .date-year {
        font-size: 0.7rem;
    }

    .single-post-meta {
        flex-direction: column;
        gap: 0.5rem;
    }

    .single-post-layout {
        padding: 2rem 0;
    }

    .single-post-body {
        font-size: 0.95rem;
    }

    .post-navigation {
        flex-direction: column;
        gap: 1rem;
    }

    .nav-next {
        margin-left: 0;
        text-align: left;
    }
}

/* ========== SHOP & CATEGORY PAGE STYLES ========== */
.shop-header-section {
    padding: 3rem 0;
    background: #fff;
    border-bottom: 1px solid #f0f0f0;
}

.shop-breadcrumb {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    margin-bottom: 1.5rem;
    font-size: 0.9rem;
    color: #666;
}

.shop-breadcrumb a {
    display: flex;
    align-items: center;
    color: #73884D;
}

.home-icon svg {
    width: 18px;
    height: 18px;
}

.shop-breadcrumb .separator {
    color: #ccc;
}

.shop-title-container {
    text-align: left;
}

.shop-title {
    font-size: 2.5rem;
    color: #333;
    margin-bottom: 0.5rem;
    text-transform: uppercase;
}

.title-divider {
    width: 60px;
    height: 3px;
    background: #C4B768;
}

.shop-main-layout {
    padding: 1rem 0;
    background: #fff;
}

.shop-grid-container {
    display: grid;
    grid-template-columns: 280px 1fr;
    gap: 3rem;
    transition: all 0.4s cubic-bezier(0.4, 0, 0.2, 1);
}

.shop-grid-container.sidebar-hidden {
    grid-template-columns: 1fr;
}


/* Sidebar Styles */
.shop-sidebar {
    display: flex;
    flex-direction: column;
    gap: 2rem;
}

.sidebar-block {
    background: #fff;
}

.sidebar-block .widget-title {
    font-size: 1.1rem;
    font-weight: 700;
    color: #333;
    margin-bottom: 1.5rem;
    padding-bottom: 0.8rem;
    border-bottom: 2px solid #73884D;
    text-transform: uppercase;
    letter-spacing: 1px;
}

.product-categories-list {
    display: flex;
    flex-direction: column;
    gap: 0.8rem;
}

.product-categories-list .cat-item {
    font-size: 0.95rem;
}

.product-categories-list .cat-item a {
    color: #555;
    transition: color 0.3s;
    display: block;
    padding: 0.2rem 0;
}

.product-categories-list .cat-item a:hover,
.product-categories-list .cat-item.active>a {
    color: #73884D;
    font-weight: 600;
}

.product-categories-list .children {
    margin-left: 1.2rem;
    margin-top: 0.5rem;
    display: flex;
    flex-direction: column;
    gap: 0.5rem;
    border-left: 1px solid #eee;
    padding-left: 1rem;
}

.product-categories-list .children .cat-item {
    font-size: 0.85rem;
}

/* Featured Products in Sidebar */
.sidebar-products-list {
    display: flex;
    flex-direction: column;
    gap: 1.5rem;
}

.sidebar-product-item {
    display: flex;
    gap: 1rem;
    align-items: center;
}

.sidebar-product-img {
    width: 70px;
    height: 70px;
    flex-shrink: 0;
    border: 1px solid #eee;
}

.sidebar-product-img img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.sidebar-product-info {
    flex: 1;
}

.sidebar-product-title {
    font-size: 0.9rem;
    margin-bottom: 0.3rem;
    line-height: 1.3;
}

.sidebar-product-price {
    font-weight: 700;
    color: #73884D;
    font-size: 0.95rem;
}

.sidebar-product-rating .star-rating {
    font-size: 0.75rem;
    margin-top: 0.3rem;
}

/* Product Grid - Integrated with Global WooCommerce Styling */
.shop-content .products {
    display: grid !important;
    gap: 25px !important;
    list-style: none !important;
    padding: 0 !important;
    margin: 0 !important;
}

/* .shop-content .product rule removed to avoid empty declaration */

/* Loading Spinner */
.loading-spinner-container {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 1rem;
    padding: 3rem 0;
    color: #73884D;
    font-weight: 700;
    letter-spacing: 2px;
}

.loading-spinner {
    width: 40px;
    height: 40px;
    position: relative;
    display: inline-block;
}

.loading-spinner::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 100 100" preserveAspectRatio="xMidYMid"><g transform="rotate(0 50 50)"><rect x="47" y="24" rx="3" ry="6" width="6" height="12" fill="%2373884d"><animate attributeName="opacity" values="1;0" keyTimes="0;1" dur="1s" begin="-0.9166666666666666s" repeatCount="indefinite"></animate></rect></g><g transform="rotate(30 50 50)"><rect x="47" y="24" rx="3" ry="6" width="6" height="12" fill="%2373884d"><animate attributeName="opacity" values="1;0" keyTimes="0;1" dur="1s" begin="-0.8333333333333334s" repeatCount="indefinite"></animate></rect></g><g transform="rotate(60 50 50)"><rect x="47" y="24" rx="3" ry="6" width="6" height="12" fill="%2373884d"><animate attributeName="opacity" values="1;0" keyTimes="0;1" dur="1s" begin="-0.75s" repeatCount="indefinite"></animate></rect></g><g transform="rotate(90 50 50)"><rect x="47" y="24" rx="3" ry="6" width="6" height="12" fill="%2373884d"><animate attributeName="opacity" values="1;0" keyTimes="0;1" dur="1s" begin="-0.6666666666666666s" repeatCount="indefinite"></animate></rect></g><g transform="rotate(120 50 50)"><rect x="47" y="24" rx="3" ry="6" width="6" height="12" fill="%2373884d"><animate attributeName="opacity" values="1;0" keyTimes="0;1" dur="1s" begin="-0.5833333333333334s" repeatCount="indefinite"></animate></rect></g><g transform="rotate(150 50 50)"><rect x="47" y="24" rx="3" ry="6" width="6" height="12" fill="%2373884d"><animate attributeName="opacity" values="1;0" keyTimes="0;1" dur="1s" begin="-0.5s" repeatCount="indefinite"></animate></rect></g><g transform="rotate(180 50 50)"><rect x="47" y="24" rx="3" ry="6" width="6" height="12" fill="%2373884d"><animate attributeName="opacity" values="1;0" keyTimes="0;1" dur="1s" begin="-0.4166666666666667s" repeatCount="indefinite"></animate></rect></g><g transform="rotate(210 50 50)"><rect x="47" y="24" rx="3" ry="6" width="6" height="12" fill="%2373884d"><animate attributeName="opacity" values="1;0" keyTimes="0;1" dur="1s" begin="-0.3333333333333333s" repeatCount="indefinite"></animate></rect></g><g transform="rotate(240 50 50)"><rect x="47" y="24" rx="3" ry="6" width="6" height="12" fill="%2373884d"><animate attributeName="opacity" values="1;0" keyTimes="0;1" dur="1s" begin="-0.25s" repeatCount="indefinite"></animate></rect></g><g transform="rotate(270 50 50)"><rect x="47" y="24" rx="3" ry="6" width="6" height="12" fill="%2373884d"><animate attributeName="opacity" values="1;0" keyTimes="0;1" dur="1s" begin="-0.16666666666666666s" repeatCount="indefinite"></animate></rect></g><g transform="rotate(300 50 50)"><rect x="47" y="24" rx="3" ry="6" width="6" height="12" fill="%2373884d"><animate attributeName="opacity" values="1;0" keyTimes="0;1" dur="1s" begin="-0.08333333333333333s" repeatCount="indefinite"></animate></rect></g><g transform="rotate(330 50 50)"><rect x="47" y="24" rx="3" ry="6" width="6" height="12" fill="%2373884d"><animate attributeName="opacity" values="1;0" keyTimes="0;1" dur="1s" begin="0s" repeatCount="indefinite"></animate></rect></g></svg>') no-repeat center;
    background-size: contain;
}

/* Load More Button */
.load-more-container {
    text-align: center;
    margin-top: 4rem;
    margin-bottom: 2rem;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 1rem;
}

#load-more-products {
    background: #73884D;
    color: #fff;
    padding: 1rem 3.5rem;
    font-size: 1rem;
    font-weight: 700;
    border-radius: 30px;
    border: none;
    cursor: pointer;
    transition: all 0.3s ease;
    font-family: 'Times New Roman', Times, serif;
    letter-spacing: 1px;
    box-shadow: 0 4px 15px rgba(115, 136, 77, 0.2);
    text-transform: uppercase;
}

#load-more-products:hover {
    background: #5A7A1F;
    transform: translateY(-2px);
    box-shadow: 0 6px 20px rgba(115, 136, 77, 0.3);
}

.load-more-container .loading-spinner-container {
    display: none;
    flex-direction: column;
    align-items: center;
    gap: 0.5rem;
    color: #999;
    font-size: 0.85rem;
    font-weight: 600;
    letter-spacing: 1px;
    text-transform: uppercase;
}

/* Hide Standard Pagination */
.woocommerce-pagination {
    display: none !important;
}

/* Responsive Shop */
.shop-filter-header {
    display: flex;
    justify-content: flex-end;
    margin-bottom: 2rem;
    border-bottom: 1px solid #ECEBE6;
    padding-bottom: 1.5rem;
}

.filter-toggle-btn {
    display: flex;
    align-items: center;
    gap: 12px;
    cursor: pointer;
    font-size: 0.8rem;
    font-weight: 700;
    color: #6b7a4d;
    padding: 10px 24px;
    background: #fff;
    border: 1px solid #6b7a4d;
    border-radius: 50px;
    transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
    user-select: none;
    letter-spacing: 1px;
    box-shadow: 0 2px 8px rgba(107, 122, 77, 0.1);
}

.filter-toggle-btn .toggle-text,
.filter-toggle-btn .chevron-icon,
.filter-toggle-btn svg {
    color: inherit;
    stroke: currentColor;
    fill: none;
}

.filter-toggle-btn:hover {
    background: #6b7a4d;
    color: #fff;
    box-shadow: 0 4px 12px rgba(107, 122, 77, 0.2);
}

.filter-toggle-btn:hover .toggle-text,
.filter-toggle-btn:hover .chevron-icon,
.filter-toggle-btn:hover svg {
    color: #fff;
    stroke: #fff;
}

.filter-toggle-btn.sidebar-hidden,
.filter-toggle-btn.active {
    background: #6b7a4d;
    color: #fff;
}

.filter-toggle-btn.sidebar-hidden .toggle-text,
.filter-toggle-btn.sidebar-hidden .chevron-icon,
.filter-toggle-btn.sidebar-hidden svg,
.filter-toggle-btn.active .toggle-text,
.filter-toggle-btn.active .chevron-icon,
.filter-toggle-btn.active svg {
    color: #fff;
    stroke: #fff;
}

.filter-toggle-btn .chevron-icon {
    transition: transform 0.3s ease;
}

.filter-toggle-btn.sidebar-hidden .chevron-icon,
.filter-toggle-btn.active .chevron-icon {
    transform: rotate(180deg);
}

@media (max-width: 1024px) {
    .shop-grid-container {
        grid-template-columns: 1fr;
        gap: 2rem;
    }

    .shop-sidebar {
        display: none;
        /* Hidden by default on tablet/mobile */
        order: 2;
        width: 100%;
        max-width: 350px;
        margin: 0 auto;
    }

    .shop-sidebar.active {
        display: flex;
    }

    .shop-content {
        order: 1;
    }

    .shop-content ul.products,
    .woocommerce.archive ul.products {
        grid-template-columns: repeat(2, 1fr) !important;
        gap: 20px !important;
    }
}

@media (max-width: 1024px) {

    .cart-cross-sells-grid {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }
}

@media (max-width: 540px) {

    .shop-content ul.products,
    .woocommerce.archive ul.products {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
        gap: 16px !important;
    }

    .shop-content ul.products li.product,
    .woocommerce.archive ul.products li.product {
        width: 100% !important;
        margin: 0 !important;
    }
}

/* Mega Menu Styles */
.mega-menu-container {
    width: 900px !important;
    max-width: 95vw;
    padding: 0 !important;
    border: none !important;
    border-radius: 12px;
    overflow: hidden;
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.15);
    background: #fff;
    left: 0;
    top: 100%;
    margin-top: 10px;
    display: none;
    position: absolute;
    z-index: 1000;
}

.mega-menu-container.active {
    display: block;
}

.mega-menu-inner {
    display: flex;
    min-height: 450px;
}

.mega-menu-sidebar {
    width: 280px;
    background: #73884D;
    padding: 20px 0;
    border-right: 1px solid rgba(255, 255, 255, 0.1);
}

.mega-menu-categories {
    list-style: none;
    padding: 0;
    margin: 0;
}

.mega-cat-item {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 10px 20px;
    transition: all 0.3s ease;
    border-left: 3px solid transparent;
    cursor: pointer;
}

.mega-cat-item a {
    color: #fff !important;
    font-weight: 400;
    font-size: 14px;
    text-decoration: none;
}

.mega-cat-item .mega-arrow {
    color: rgba(255, 255, 255, 0.6);
    display: flex;
    align-items: center;
}

.mega-cat-item:hover,
.mega-cat-item.active {
    background: rgba(0, 0, 0, 0.1);
    border-left-color: #fff;
}

.mega-cat-item.active .mega-arrow {
    color: #fff;
}

.mega-menu-content-wrapper {
    flex: 1;
    background: #73884D;
    padding: 30px;
    border-left: 1px solid rgba(255, 255, 255, 0.1);
}

.mega-menu-content {
    display: flex;
    flex-direction: column;
    height: 100%;
}

.mega-menu-main-content {
    display: flex;
    gap: 30px;
    flex: 1;
}

.mega-content-left {
    flex: 1;
}

.mega-category-header {
    background: #fff;
    padding: 10px 20px;
    border-radius: 8px;
    display: block;
    margin-bottom: 25px;
    width: fit-content;
}

.mega-category-title {
    color: #333;
    margin: 0;
    font-size: 16px;
    font-weight: 700;
    font-family: 'Times New Roman', Times, serif;
}

.mega-subcategories {
    list-style: none;
    padding: 0;
    margin: 0;
}

.mega-subcategories li {
    margin-bottom: 10px;
}

.mega-subcategories a {
    color: #fff !important;
    text-decoration: none;
    font-size: 13px;
    transition: opacity 0.3s;
    font-weight: 300;
}

.mega-subcategories a:hover {
    opacity: 0.8;
}

.mega-content-right {
    width: 400px;
}

.mega-featured-products {
    display: flex;
    gap: 20px;
}

.mega-product-card {
    flex: 1;
    background: transparent;
    border: 1px solid rgba(255, 255, 255, 0.3);
    border-radius: 12px;
    padding: 15px;
    text-align: center;
    transition: all 0.3s ease;
}

.mega-product-card:hover {
    transform: translateY(-5px);
    background: rgba(255, 255, 255, 0.15);
}

.mega-product-card a {
    text-decoration: none;
}

.mega-product-image {
    background: #fff;
    border-radius: 8px;
    margin-bottom: 12px;
    aspect-ratio: 1;
    display: flex;
    align-items: center;
    justify-content: center;
    overflow: hidden;
}

.mega-product-image img {
    max-width: 100%;
    height: auto;
    object-fit: contain;
}

.mega-product-title {
    color: #fff;
    margin: 0;
    font-size: 13px;
    font-weight: 400;
    line-height: 1.4;
}

/* Responsive adjustments */
@media (max-width: 1200px) {
    .mega-menu-container {
        width: 800px !important;
    }

    .mega-content-right {
        width: 300px;
    }
}

/* ========== ADVANCED LAZY LOADING ========== */

.lazy-load {
    opacity: 0;
    transform: translateY(20px);
    transition: opacity 0.6s ease-out, transform 0.6s ease-out;
    will-change: opacity, transform;
}

.lazy-load.is-visible,
.best-sellers-carousel .category-product-card,
.latest-products-track .category-product-card {
    opacity: 1 !important;
    transform: translateY(0) !important;
}

/* Ensure images don't cause layout shift */
img.lazy-load {
    min-height: 100px;
    background: #f0f0f0;
}

/* =========================================
   SINGLE POST TEMPLATE STYLES
   ========================================= */

/* Breadcrumb */
.single-post-breadcrumb {
    padding: 2rem 0 1.5rem;
    background: #fff;
    border-bottom: 1px solid #f0f0f0;
}

.single-post-breadcrumb .breadcrumb {
    display: flex;
    align-items: center;
    font-family: 'Times New Roman', Times, serif;
}

.single-post-breadcrumb .separator {
    display: none;
}

/* Header Section */
.single-post-header {
    padding: 4rem 0 3rem;
    text-align: center;
    background-color: #fff;
}

.blog-heading-wrapper.centered {
    align-items: center;
    margin-bottom: 1.5rem;
}

.single-post-title {
    font-family: 'Times New Roman', Times, serif;
    font-size: 3.5rem;
    line-height: 1.2;
    color: #333;
    margin-bottom: 0;
    max-width: 1000px;
    margin-left: auto;
    margin-right: auto;
    text-transform: none;
}

.single-post-meta-pill {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 1.5rem;
    margin-top: 1.5rem;
}

/* Layout Grid */
.single-post-layout {
    padding-bottom: 80px;
}

.single-post-grid {
    display: flex;
    gap: 60px;
    align-items: flex-start;
}

/* Main Content */
.single-post-content {
    flex: 1;
    max-width: 70%;
    /* 70% width for content */
}

.single-featured-image {
    margin-bottom: 40px;
    border-radius: 12px;
    overflow: hidden;
}

.single-featured-image img {
    width: 100%;
    height: auto;
    display: block;
}

.single-post-body {
    font-family: 'Inter', sans-serif;
    font-size: 18px;
    line-height: 1.8;
    color: #333;
    margin-bottom: 60px;
}

.single-post-body p {
    margin-bottom: 25px;
}

/* Post Navigation */
.post-navigation {
    display: flex;
    justify-content: space-between;
    padding-top: 40px;
    border-top: 1px solid #eee;
}

.post-navigation a {
    display: flex;
    align-items: center;
    gap: 10px;
    color: #333;
    font-family: 'Times New Roman', Times, serif;
    font-size: 18px;
    font-weight: 600;
    transition: color 0.3s;
}

.post-navigation a:hover {
    color: #73884D;
}

/* Sidebar */
.recent-articles-sidebar {
    width: 30%;
    /* 30% width for sidebar */
    position: sticky;
    top: 100px;
    /* Sticky behavior */
}

.sidebar-title {
    font-family: 'Times New Roman', Times, serif;
    font-size: 2.2rem;
    color: #333;
    margin-bottom: 2rem;
    display: block;
    font-weight: 700;
}

.recent-articles-list {
    display: flex;
    flex-direction: column;
    gap: 30px;
}

.recent-article-item {
    display: flex;
    flex-direction: column;
    gap: 15px;
}

.recent-article-image {
    border-radius: 12px;
    overflow: hidden;
}

.recent-article-image img {
    width: 100%;
    height: 180px;
    object-fit: cover;
    transition: transform 0.3s;
}

.recent-article-image:hover img {
    transform: scale(1.05);
}

.recent-article-title {
    font-family: 'Times New Roman', Times, serif;
    font-size: 1.25rem;
    line-height: 1.3;
    margin-bottom: 0.5rem;
    font-weight: 700;
    text-transform: none;
}

.recent-article-title a {
    color: #333;
    transition: color 0.3s;
}

.recent-article-title a:hover {
    color: #73884D;
}

.recent-article-meta {
    font-family: 'Inter', sans-serif;
    font-size: 13px;
    color: #888;
    display: flex;
    align-items: center;
    gap: 6px;
}

/* Responsive */
@media (max-width: 992px) {
    .single-post-grid {
        flex-direction: column;
    }

    .single-post-content {
        max-width: 100%;
    }

    .recent-articles-sidebar {
        width: 100%;
        margin-top: 60px;
    }

    .recent-articles-list {
        display: grid;
        grid-template-columns: repeat(2, 1fr);
    }
}

@media (max-width: 768px) {
    .single-post-title {
        font-size: 36px;
    }

    .recent-articles-list {
        grid-template-columns: 1fr;
    }
}

/* =========================================
   LOGIN / REGISTER PAGE STYLES
   ========================================= */

.custom-login-wrapper {
    padding: 80px 0;
    background-color: #f9f9f9;
}

.login-grid {
    display: flex;
    gap: 40px;
    justify-content: center;
    align-items: flex-start;
}

.login-column,
.register-column {
    flex: 1;
    max-width: 500px;
}

.login-card,
.register-card {
    background: #fff;
    padding: 40px;
    border-radius: 8px;
    box-shadow: 0 4px 20px rgba(0, 0, 0, 0.05);
    border: 1px solid #eee;
}

.login-title {
    font-family: 'Times New Roman', Times, serif;
    font-size: 32px;
    color: #73884D;
    margin-bottom: 30px;
    text-align: center;
    border-bottom: 2px solid #f0f0f0;
    padding-bottom: 15px;
}

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

.woocommerce-form-row label {
    display: block;
    margin-bottom: 8px;
    font-family: 'Inter', sans-serif;
    font-weight: 500;
    color: #333;
    font-size: 14px;
}

.woocommerce-Input {
    width: 100%;
    padding: 12px 15px;
    border: 1px solid #ddd;
    border-radius: 4px;
    font-size: 15px;
    font-family: 'Inter', sans-serif;
    transition: all 0.3s;
    background-color: #fafafa;
}

.woocommerce-Input:focus {
    border-color: #73884D;
    background-color: #fff;
    outline: none;
    box-shadow: 0 0 0 3px rgba(115, 136, 77, 0.1);
}

.woocommerce-form-login__rememberme {
    display: flex;
    align-items: center;
    gap: 8px;
    font-size: 14px;
    color: #666;
    margin-bottom: 20px;
}

.woocommerce-button {
    width: 100%;
    padding: 14px;
    background-color: #73884D;
    color: #fff;
    border: none;
    border-radius: 4px;
    font-family: 'Times New Roman', Times, serif;
    font-size: 18px;
    font-weight: 600;
    cursor: pointer;
    transition: background 0.3s;
    text-transform: uppercase;
    letter-spacing: 1px;
}

.woocommerce-button:hover {
    background-color: #5A7A1F;
}

.woocommerce-LostPassword {
    text-align: center;
    margin-top: 15px;
    font-size: 14px;
}

.woocommerce-LostPassword a {
    color: #888;
    text-decoration: none;
    transition: color 0.3s;
}

.woocommerce-LostPassword a:hover {
    color: #73884D;
}

/* Responsive */
@media (max-width: 768px) {
    .login-grid {
        flex-direction: column;
        align-items: center;
    }

    .login-column,
    .register-column {
        width: 100%;
        max-width: 100%;
    }
}

/* =========================================
   ENHANCED LOGIN / REGISTER STYLES (ELEGANCE UPDATE)
   ========================================= */

.custom-login-wrapper {
    background: linear-gradient(135deg, #f9f9f9 0%, #f0f4e8 100%);
    padding: 100px 0;
}

.login-card,
.register-card {
    border: none;
    box-shadow: 0 10px 40px rgba(115, 136, 77, 0.1);
    background: #fff;
    padding: 50px;
    border-radius: 12px;
    position: relative;
    overflow: hidden;
}

.login-card::before,
.register-card::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 4px;
    background: linear-gradient(90deg, #73884D, #C4B768);
}

.login-title {
    font-size: 36px;
    margin-bottom: 40px;
    border-bottom: none;
    position: relative;
    padding-bottom: 20px;
}

.login-title::after {
    content: '';
    position: absolute;
    bottom: 0;
    left: 50%;
    transform: translateX(-50%);
    width: 60px;
    height: 3px;
    background-color: #C4B768;
    border-radius: 2px;
}

.woocommerce-Input {
    background-color: #fff;
    border: 1px solid #e0e0e0;
    padding: 15px 20px;
    font-size: 16px;
    border-radius: 6px;
    transition: all 0.3s ease;
}

.woocommerce-Input:focus {
    border-color: #73884D;
    box-shadow: 0 5px 15px rgba(115, 136, 77, 0.15);
    transform: translateY(-1px);
}

.woocommerce-form-row label {
    font-size: 13px;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    color: #666;
    margin-bottom: 10px;
    font-weight: 600;
}

.woocommerce-button {
    background: linear-gradient(135deg, #73884D 0%, #5A7A1F 100%);
    padding: 16px;
    font-size: 16px;
    letter-spacing: 2px;
    border-radius: 6px;
    box-shadow: 0 4px 15px rgba(115, 136, 77, 0.3);
    margin-top: 10px;
}

.woocommerce-button:hover {
    transform: translateY(-2px);
    box-shadow: 0 6px 20px rgba(115, 136, 77, 0.4);
    background: linear-gradient(135deg, #73884D 0%, #4e6b1b 100%);
}

.woocommerce-form-login__rememberme {
    margin-top: 10px;
}

.woocommerce-LostPassword {
    margin-top: 25px;
    border-top: 1px solid #f0f0f0;
    padding-top: 20px;
}

.woocommerce-LostPassword a {
    font-size: 13px;
    font-style: italic;
    color: #999;
}

.woocommerce-LostPassword a:hover {
    color: #C4B768;
}

/* =========================================
   MY ACCOUNT DASHBOARD STYLES
   ========================================= */

.woocommerce-account .woocommerce {
    display: flex;
    gap: 40px;
    max-width: 100%;
    /* padding: 0 var(--container-padding); */
    margin: 60px auto;
    align-items: flex-start;
}

/* Sidebar Navigation */
.woocommerce-MyAccount-navigation {
    width: 280px;
    flex-shrink: 0;
    background: #fff;
    border-radius: 8px;
    box-shadow: 0 4px 20px rgba(0, 0, 0, 0.05);
    overflow: hidden;
    border: 1px solid #eee;
}

.woocommerce-MyAccount-navigation ul {
    list-style: none;
    padding: 0;
    margin: 0;
}

.woocommerce-MyAccount-navigation li {
    border-bottom: 1px solid #f5f5f5;
    margin: 0;
}

.woocommerce-MyAccount-navigation li:last-child {
    border-bottom: none;
}

.woocommerce-MyAccount-navigation a {
    display: block;
    padding: 16px 24px;
    color: #555;
    text-decoration: none;
    font-family: 'Inter', sans-serif;
    font-weight: 500;
    transition: all 0.3s;
    font-size: 15px;
}

.woocommerce-MyAccount-navigation a:hover {
    background-color: #f9f9f9;
    color: #73884D;
    padding-left: 28px;
    /* Slight slide effect */
}

.woocommerce-MyAccount-navigation li.is-active a {
    background-color: #73884D;
    color: #fff;
}

/* Dashboard Content */
/* changes */
.woocommerce-MyAccount-content {
    flex: 1;
    background: #fff;
    padding: 10px;

    border-radius: 8px;
    box-shadow: 0 4px 20px rgba(0, 0, 0, 0.05);
    border: 1px solid #eee;
    font-family: 'Inter', sans-serif;
    width: 100% !important;
}

.woocommerce-MyAccount-content p {
    font-size: 16px;
    color: #444;
    line-height: 1.7;
    margin-bottom: 20px;
}

.woocommerce-MyAccount-content a {
    color: #73884D;
    text-decoration: none;
    font-weight: 600;
    transition: color 0.3s;
}

.woocommerce-MyAccount-content a:hover {
    color: #5A7A1F;
    text-decoration: underline;
}

/* Addresses Section */
.woocommerce-Address-title h3 {
    font-family: 'Times New Roman', Times, serif;
    font-size: 24px;
    color: #333;
    margin-bottom: 15px;
    border-bottom: 2px solid #f0f0f0;
    padding-bottom: 10px;
    display: inline-block;
}

.woocommerce-Address {
    background: #f9f9f9;
    padding: 20px;
    border-radius: 6px;
    border: 1px solid #eee;
}

.woocommerce-Address address {
    font-style: normal;
    color: #666;
    line-height: 1.6;
}

/* Responsive */
@media (max-width: 992px) {
    .woocommerce-account .woocommerce {
        flex-direction: column;
    }

    .woocommerce-MyAccount-navigation {
        width: 100%;
    }

    .woocommerce-MyAccount-content {
        width: 100%;
    }
}

/* Fallback for JS issues */
.no-js .lazy-load {
    opacity: 1 !important;
    transform: none !important;
}

/* =========================================
   MOBILE MEGA MENU & ACCORDION STYLES
   ========================================= */

/* Mobile Categories Toggle Button */
.mobile-categories-toggle {
    background: none;
    border: none;
    font-family: 'Times New Roman', Times, serif;
    font-size: 18px;
    font-weight: 700;
    color: #333;
    display: flex;
    align-items: center;
    cursor: pointer;
    padding: 0;
}

/* Mobile Mega Menu Overlay */
.mobile-mega-menu-overlay {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: #fff;
    z-index: 9999;
    transform: translateX(-100%);
    /* Hidden by default */
    transition: transform 0.3s ease-in-out;
    overflow-y: auto;
    display: flex;
    flex-direction: column;
}

.mobile-mega-menu-overlay.active {
    transform: translateX(0);
}

/* Mega Menu Header */
.mobile-mega-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 20px;
    border-bottom: 1px solid #eee;
    background-color: #fff;
    position: sticky;
    top: 0;
    z-index: 10;
}

.mobile-mega-title {
    font-family: 'Times New Roman', Times, serif;
    font-size: 20px;
    font-weight: 700;
    color: #73884D;
    margin: 0;
}

.mobile-mega-close {
    background: none;
    border: none;
    cursor: pointer;
    color: #333;
    padding: 5px;
}

/* Accordion Content */
.mobile-mega-content {
    padding: 20px;
    flex: 1;
}

.mobile-accordion-item {
    border-bottom: 1px solid #f5f5f5;
}

.mobile-accordion-trigger {
    width: 100%;
    background: none;
    border: none;
    padding: 15px 0;
    text-align: left;
    font-family: 'Inter', sans-serif;
    font-size: 16px;
    font-weight: 500;
    color: #333;
    display: flex;
    justify-content: space-between;
    align-items: center;
    cursor: pointer;
}

.mobile-accordion-trigger.has-children .cat-name {
    font-weight: 600;
}

.accordion-icon {
    transition: transform 0.3s ease;
    color: #999;
}

.mobile-accordion-trigger.active .accordion-icon {
    transform: rotate(180deg);
    color: #73884D;
}

.mobile-accordion-trigger.active {
    color: #73884D;
}

/* Accordion Panel */
.mobile-accordion-panel {
    max-height: 0;
    overflow: hidden;
    transition: max-height 0.3s ease-out;
    background-color: #fcfcfc;
}

.mobile-sub-cat-list {
    list-style: none;
    padding: 10px 20px 20px;
    margin: 0;
}

.mobile-sub-cat-list li {
    margin-bottom: 10px;
}

.mobile-sub-cat-list li:last-child {
    margin-bottom: 0;
}

.mobile-sub-cat-list a {
    text-decoration: none;
    color: #666;
    font-size: 14px;
    display: block;
    padding: 5px 0;
    transition: color 0.2s;
}

.mobile-sub-cat-list a:hover {
    color: #73884D;
}

.view-all-link {
    font-weight: 600;
    color: #73884D !important;
    margin-bottom: 5px;
    display: block;
}

/* Mobile Banner Text Adjustment */
@media (max-width: 768px) {
    .banner-section h2 {
        font-size: 1.3rem !important;
        padding: 0 15px;
        /* Add some side padding for better readability */
    }
}

/* ========== BLOG V2 STYLES (Reference Design) ========== */

.blog-v2-wrapper {
    padding: 40px 0 80px;
    background: #fff;
}

.blog-v2-breadcrumbs {
    display: flex;
    align-items: center;
    gap: 10px;
    margin-bottom: 30px;
    font-family: 'Times New Roman', Times, serif;
}

.blog-v2-breadcrumbs .home-icon {
    display: flex;
    align-items: center;
    justify-content: center;
    background: #f5f5f5;
    width: 36px;
    height: 36px;
    border-radius: 8px;
    transition: background 0.3s;
}

.blog-v2-breadcrumbs .home-icon:hover {
    background: #e0e0e0;
}

.blog-v2-breadcrumbs .sep {
    color: #ccc;
}

.blog-v2-title-section {
    margin-bottom: 40px;
}

.blog-v2-title-section .decoration {
    margin-bottom: 10px;
}

.blog-v2-title-section .decoration img {
    height: 20px;
    width: auto;
}

.blog-v2-title-section .page-title {
    font-family: 'Times New Roman', Times, serif;
    font-size: 32px;
    font-weight: 700;
    color: #333;
    margin: 0;
}

.blog-v2-top-section {
    display: grid;
    grid-template-columns: 1.5fr 1fr;
    gap: 30px;
    margin-bottom: 60px;
}

/* Featured Card V2 */
.featured-card-v2 {
    border: 1px solid #eee;
    border-radius: 12px;
    overflow: hidden;
    height: 100%;
    display: flex;
    flex-direction: column;
}

.featured-card-v2 .card-image {
    height: 350px;
    overflow: hidden;
}

.featured-card-v2 .card-image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 0.5s;
}

.featured-card-v2:hover .card-image img {
    transform: scale(1.05);
}

.featured-card-v2 .card-content {
    padding: 25px;
    flex-grow: 1;
    display: flex;
    flex-direction: column;
}

.featured-card-v2 .card-title {
    font-family: 'Times New Roman', Times, serif;
    font-size: 24px;
    font-weight: 700;
    line-height: 1.3;
    margin-bottom: 15px;
}

.featured-card-v2 .card-title a {
    color: #333;
    text-decoration: none;
}

.featured-card-v2 .card-meta {
    display: flex;
    gap: 20px;
    font-size: 13px;
    color: #888;
    margin-bottom: 15px;
    font-family: 'Times New Roman', Times, serif;
}

.featured-card-v2 .card-meta .date {
    border: 1px solid #ddd;
    padding: 2px 10px;
    border-radius: 4px;
}

.featured-card-v2 .card-excerpt {
    font-size: 15px;
    color: #555;
    line-height: 1.6;
    margin-bottom: 20px;
}

/* Recent Sidebar V2 */
.blog-v2-recent-sidebar {
    display: flex;
    flex-direction: column;
    gap: 15px;
}

.recent-item-v2 {
    display: flex;
    gap: 15px;
    padding: 15px;
    border: 1px solid #eee;
    border-radius: 12px;
    align-items: center;
    transition: box-shadow 0.3s;
}

.recent-item-v2:hover {
    box-shadow: 0 4px 15px rgba(0, 0, 0, 0.05);
}

.recent-item-v2 .item-image {
    width: 100px;
    height: 80px;
    flex-shrink: 0;
    border-radius: 8px;
    overflow: hidden;
}

.recent-item-v2 .item-image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.recent-item-v2 .item-content {
    flex-grow: 1;
}

.recent-item-v2 .item-title {
    font-family: 'Times New Roman', Times, serif;
    font-size: 16px;
    font-weight: 700;
    margin-bottom: 5px;
    line-height: 1.3;
}

.recent-item-v2 .item-title a {
    color: #333;
    text-decoration: none;
}

.recent-item-v2 .item-meta {
    font-size: 12px;
    color: #73884D;
    margin-bottom: 3px;
    font-family: 'Times New Roman', Times, serif;
    text-decoration: underline;
}

.recent-item-v2 .item-author {
    font-size: 12px;
    color: #888;
}

/* Grid Section V2 */
.blog-v2-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 30px;
    margin-bottom: 50px;
}

.grid-card-v2 {
    border: 1px solid #eee;
    border-radius: 12px;
    overflow: hidden;
    display: flex;
    flex-direction: column;
    transition: transform 0.3s, box-shadow 0.3s;
}

.grid-card-v2:hover {
    transform: translateY(-5px);
    box-shadow: 0 10px 25px rgba(0, 0, 0, 0.08);
}

.grid-card-v2 .card-image {
    height: 220px;
    overflow: hidden;
}

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

.grid-card-v2 .card-content {
    padding: 20px;
    flex-grow: 1;
    display: flex;
    flex-direction: column;
}

.grid-card-v2 .card-date-badge {
    display: inline-block;
    border: 1px solid #ddd;
    padding: 2px 12px;
    border-radius: 4px;
    font-size: 12px;
    color: #888;
    margin-bottom: 12px;
    width: fit-content;
    font-family: 'Times New Roman', Times, serif;
}

.grid-card-v2 .card-title {
    font-family: 'Times New Roman', Times, serif;
    font-size: 18px;
    font-weight: 700;
    margin-bottom: 12px;
    line-height: 1.4;
}

.grid-card-v2 .card-title a {
    color: #333;
    text-decoration: none;
}

.grid-card-v2 .card-excerpt {
    font-size: 14px;
    color: #666;
    line-height: 1.5;
    margin-bottom: 20px;
}

/* Buttons */
.btn-read-more-v2 {
    display: inline-block;
    background: #73884D;
    color: #fff !important;
    padding: 8px 25px;
    border-radius: 6px;
    font-size: 14px;
    font-weight: 600;
    text-decoration: none;
    font-family: 'Times New Roman', Times, serif;
    transition: background 0.3s;
    width: fit-content;
    margin-top: auto;
}

.btn-read-more-v2:hover {
    background: #5a6b3d;
}

/* Pagination */
.blog-v2-pagination {
    display: flex;
    justify-content: center;
    gap: 10px;
}

.blog-v2-pagination .page-numbers {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 40px;
    height: 40px;
    border: 1px solid #eee;
    border-radius: 8px;
    color: #333;
    text-decoration: none;
    transition: all 0.3s;
}

.blog-v2-pagination .page-numbers.current {
    background: #73884D;
    color: #fff;
    border-color: #73884D;
}

.blog-v2-pagination .page-numbers:hover:not(.current) {
    background: #f5f5f5;
}

/* Responsive */
@media (max-width: 991px) {
    .blog-v2-top-section {
        grid-template-columns: 1fr;
    }

    .blog-v2-grid {
        grid-template-columns: repeat(2, 1fr);
    }
}

@media (max-width: 767px) {
    .blog-v2-grid {
        grid-template-columns: 1fr;
    }

    .featured-card-v2 .card-image {
        height: 250px;
    }
}

/* WooCommerce Cart Page Styles */
.woocommerce-cart .page-header {
    text-align: center;
    margin-bottom: 2rem;
}

.woocommerce-cart .page-title {
    font-family: 'Times New Roman', Times, serif !important;
    font-size: 3rem !important;
    font-weight: 700 !important;
    color: #333 !important;
    margin-bottom: 0.5rem !important;
}

.woocommerce-cart .woocommerce {
    padding: 40px 0 60px;
}

.woocommerce-cart table.cart {
    width: 100%;
    border-collapse: collapse;
    margin-bottom: 50px;
    border: none;
    border-radius: 12px;
    overflow: hidden;
    box-shadow: 0 4px 15px rgba(0, 0, 0, 0.05);
}

.woocommerce-cart table.cart th {
    background: #6b7a4d;
    color: #fff;
    padding: 18px 20px;
    text-align: left;
    font-family: 'Times New Roman', Times, serif;
    font-size: 1.15rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

.woocommerce-cart table.cart td {
    padding: 20px;
    border-bottom: 1px solid #ECEBE6;
    vertical-align: middle;
    background: #fff;
}

.woocommerce-cart table.cart td.product-thumbnail img {
    width: 100px;
    height: auto;
    border-radius: 12px;
    background: #f9f9f9;
    padding: 5px;
}

.woocommerce-cart table.cart td.product-name a {
    color: #333;
    font-weight: 700;
    text-decoration: none;
    font-family: 'Times New Roman', Times, serif;
    font-size: 1.25rem;
    transition: color 0.3s;
}

.woocommerce-cart table.cart td.product-name a:hover {
    color: #6b7a4d;
}

.woocommerce-cart table.cart td.product-price,
.woocommerce-cart table.cart td.product-subtotal {
    color: #333;
    font-weight: 700;
    font-family: 'Times New Roman', Times, serif;
    font-size: 1.15rem;
}

.woocommerce-cart table.cart td.product-quantity input {
    border: 1px solid #ECEBE6;
    padding: 8px;
    border-radius: 4px;
    width: 60px;
}

.woocommerce-cart .actions {
    background: #fdfdfd !important;
    padding: 20px !important;
}

.woocommerce-cart .coupon {
    display: flex;
    gap: 15px;
    align-items: center;
}

.woocommerce-cart .coupon input.input-text {
    padding: 12px 20px;
    border: 1px solid #ECEBE6;
    border-radius: 50px;
    width: 250px;
    font-family: 'Inter', sans-serif;
}

.woocommerce-cart .button {
    background: #6b7a4d !important;
    color: #fff !important;
    padding: 12px 30px !important;
    border-radius: 50px !important;
    font-weight: 600 !important;
    text-transform: capitalize !important;
    border: 1px solid #6b7a4d !important;
    cursor: pointer !important;
    transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1) !important;
    font-family: 'Inter', sans-serif !important;
    font-size: 0.95rem !important;
}

.woocommerce-cart .button:hover {
    background: #5a6640 !important;
    border-color: #5a6640 !important;
    transform: translateY(-2px);
    box-shadow: 0 4px 12px rgba(107, 122, 77, 0.2);
}

.woocommerce-cart .button:disabled,
.woocommerce-cart .button[disabled] {
    background: #ccc !important;
    border-color: #ccc !important;
    cursor: not-allowed;
}

.woocommerce-cart .cart-collaterals {
    display: flex;
    flex-direction: column;
    gap: 40px;
    margin-top: 50px;
}

.woocommerce-cart .cart-collaterals .cross-sells {
    width: 100%;
    order: 2;
    /* Place cross sells below totals or above depending on layout preference, here we make it full width */
}

.cart-cross-sells {
    background: #fff;
    border: 1px solid #ECEBE6;
    border-radius: 24px;
    padding: 32px;
    box-shadow: 0 18px 45px rgba(0, 0, 0, 0.05);
}

.cart-cross-sells-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-bottom: 2rem;
}

.cart-cross-sells-title {
    font-family: 'Times New Roman', Times, serif;
    font-size: 2rem;
    font-weight: 700;
    color: #333;
    margin: 0;
    position: relative;
    display: inline-flex;
    align-items: center;
    gap: 14px;
}

.cart-cross-sells-title::before {
    content: '';
    width: 70px;
    height: 28px;
    background: url('assets/figma_exported_images/Mask group (2).png') no-repeat center / cover;
}

.cart-cross-sells-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 1.75rem;
}

.cart-cross-card {
    display: flex;
    flex-direction: column;
    height: 100%;
    background: #fff;
    border: 1px solid #ECEBE6;
    border-radius: 18px;
    box-shadow: 0 12px 30px rgba(0, 0, 0, 0.06);
    overflow: hidden;
}

.cart-cross-card .category-product-image,
.cart-cross-card .latest-product-image {
    padding: 1.5rem;
    height: 300px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: #fff;
}

.cart-cross-card .category-product-image img {
    width: 100%;
    height: 100%;
    object-fit: contain;
    background: #fff;
}

.cart-cross-info {
    display: flex;
    flex-direction: column;
    gap: 1rem;
    flex: 1;
}

.cart-cross-info .category-product-title {
    height: 3.08rem;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

.cart-cross-actions {
    display: flex;
    justify-content: center;
    margin-top: auto;
}

.cart-cross-actions .btn-latest-shop {
    width: 100%;
    max-width: 180px;
    text-transform: uppercase;
}

.cart-cross-sells-grid .latest-product-card {
    flex: unset;
    min-width: 0;
    width: 100%;
}

.cart-cross-sells-grid .latest-product-info {
    border: 1px solid rgba(196, 183, 104, 0.3);
    border-top: 0;
    border-radius: 0 0 18px 18px;
    padding: 0 1rem 1.5rem;
}

.cart-cross-sells-grid .latest-product-card:hover .latest-product-info {
    border-color: #C4B768;
}

.wp-block-woocommerce-cart-cross-sells-block {
    background: #fff;
    border: 1px solid #ECEBE6;
    border-radius: 24px;
    padding: 32px;
    box-shadow: 0 18px 45px rgba(0, 0, 0, 0.05);
    margin-top: 50px;
}

.wp-block-woocommerce-cart-cross-sells-block .wc-block-grid__products {
    list-style: none;
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 1.75rem;
    padding: 0;
    margin: 2rem 0 0 0;
}

.wp-block-woocommerce-cart-cross-sells-block .wc-block-grid__product {
    display: flex;
    flex-direction: column;
    background: #fff;
    border: 1px solid #ECEBE6;
    border-radius: 18px;
    box-shadow: 0 12px 30px rgba(0, 0, 0, 0.06);
    overflow: hidden;
    transition: transform 0.3s ease, box-shadow 0.3s ease;
}

.wp-block-woocommerce-cart-cross-sells-block .wc-block-grid__product:hover {
    transform: translateY(-4px);
    box-shadow: 0 18px 45px rgba(0, 0, 0, 0.08);
}

.wp-block-woocommerce-cart-cross-sells-block .wc-block-grid__product-image {
    padding: 1.5rem;
    height: 300px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: #fff;
}

.wp-block-woocommerce-cart-cross-sells-block .wc-block-grid__product-image img {
    max-width: 100%;
    max-height: 100%;
    object-fit: contain;
    mix-blend-mode: multiply;
}

.wp-block-woocommerce-cart-cross-sells-block .wc-block-grid__product-title {
    font-family: 'Times New Roman', Times, serif;
    font-size: 1.1rem;
    font-weight: 700;
    color: #333;
    margin: 0 1rem;
    text-align: center;
    height: 3.08rem;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
    text-overflow: ellipsis;
    line-clamp: 2;
}

.wp-block-woocommerce-cart-cross-sells-block .wc-block-grid__product-price {
    text-align: center;
    font-family: 'Times New Roman', Times, serif;
    font-size: 1.25rem;
    font-weight: 700;
    color: #333;
    margin: 1rem 0 0.5rem;
}

.wp-block-woocommerce-cart-cross-sells-block .wc-block-grid__product-rating {
    display: flex;
    justify-content: center;
    margin-bottom: 1.5rem;
}

.wp-block-woocommerce-cart-cross-sells-block .wc-block-grid__product-text {
    padding: 0 1.25rem 1.75rem;
    display: flex;
    flex-direction: column;
    flex: 1;
}

.wp-block-woocommerce-cart-cross-sells-block .wc-block-grid__product-add-to-cart {
    margin-top: auto;
    display: flex;
    justify-content: center;
    padding: 0 1.5rem 1.75rem;
}

.wp-block-woocommerce-cart-cross-sells-block .wc-block-grid__product-add-to-cart .wp-block-button__link {
    width: 100%;
    max-width: 180px;
    border-radius: 40px;
    background: #73884D;
    color: #fff;
    font-family: 'Times New Roman', Times, serif;
    font-weight: 700;
    text-transform: uppercase;
    padding: 0.85rem 1.5rem;
}

.wp-block-woocommerce-cart-cross-sells-block .wc-block-grid__product-add-to-cart .wp-block-button__link:hover {
    background: #5A7A1F;
}

.wp-block-woocommerce-cart-cross-sells-block .wc-block-cart-cross-sells-heading {
    display: flex;
    align-items: center;
    gap: 14px;
    font-family: 'Times New Roman', Times, serif;
    font-size: 2rem;
    font-weight: 700;
    color: #333;
    margin: 0;
}

.wp-block-woocommerce-cart-cross-sells-block .wc-block-cart-cross-sells-heading::before {
    content: '';
    width: 70px;
    height: 28px;
    background: url('assets/figma_exported_images/Mask group (2).png') no-repeat center / cover;
}

@media (max-width: 1024px) {

    .wp-block-woocommerce-cart-cross-sells-block .wc-block-grid__products {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }
}

@media (max-width: 768px) {

    .wp-block-woocommerce-cart-cross-sells-block {
        padding: 24px;
        border-radius: 20px;
    }

    .wp-block-woocommerce-cart-cross-sells-block .wc-block-grid__products {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 1.25rem;
    }

    .wp-block-woocommerce-cart-cross-sells-block .wc-block-grid__product-image {
        height: 240px;
    }

    .wp-block-woocommerce-cart-cross-sells-block .wc-block-cart-cross-sells-heading {
        font-size: 1.5rem;
    }

    .wp-block-woocommerce-cart-cross-sells-block .wc-block-cart-cross-sells-heading::before {
        width: 54px;
        height: 22px;
    }
}

@media (max-width: 768px) {

    .cart-cross-sells {
        padding: 24px;
        border-radius: 20px;
    }

    .cart-cross-sells-title {
        font-size: 1.5rem;
    }

    .cart-cross-sells-title::before {
        width: 54px;
        height: 22px;
    }

    .cart-cross-sells-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 1.25rem;
    }

    .gb-breadcrumb-pill {
        border-radius: 30px;
        margin-bottom: 1rem;
    }
}

.woocommerce-cart .cart_totals {
    width: 100%;
    max-width: 450px;
    background: #fff;
    padding: 35px;
    border-radius: 20px;
    border: 1px solid #ECEBE6;
    margin-left: auto;
    order: 1;
}

.woocommerce-cart .cart_totals h2 {
    font-family: 'Times New Roman', Times, serif;
    color: #333;
    font-size: 1.8rem;
    margin-bottom: 25px;
    border-bottom: 1px solid #ECEBE6;
    padding-bottom: 15px;
}

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

.woocommerce-cart .cart_totals table th {
    font-family: 'Inter', sans-serif;
    color: #666;
    font-weight: 500;
    padding: 15px 0;
    border-bottom: 1px solid #f5f5f5;
}

.woocommerce-cart .cart_totals table td {
    padding: 15px 0;
    text-align: right;
    font-weight: 700;
    font-family: 'Times New Roman', Times, serif;
    font-size: 1.2rem;
    color: #333;
    border-bottom: 1px solid #f5f5f5;
}

.woocommerce-cart .wc-proceed-to-checkout {
    margin-top: 30px;
}

.woocommerce-cart .wc-proceed-to-checkout .checkout-button {
    display: block !important;
    width: 100% !important;
    text-align: center !important;
    font-size: 1.2rem !important;
    font-weight: 700 !important;
    font-family: 'Times New Roman Custom', 'Times New Roman', Times, serif !important;
    background: #73884D !important;
    color: #fff !important;
    padding: 1rem 2rem !important;
    border-radius: 50px !important;
    text-transform: capitalize !important;
    transition: all 0.3s ease !important;
    line-height: normal !important;
    border: none !important;
    box-shadow: 0 4px 15px rgba(115, 136, 77, 0.25) !important;
    margin-top: 1rem;
}

.woocommerce-cart .wc-proceed-to-checkout .checkout-button:hover {
    background: #5a6640 !important;
    transform: translateY(-2px) !important;
    box-shadow: 0 6px 20px rgba(115, 136, 77, 0.35) !important;
    color: #fff !important;
}

@media (max-width: 768px) {
    .woocommerce-cart .coupon {
        flex-direction: column;
        align-items: stretch;
    }

    .woocommerce-cart .coupon input.input-text {
        width: 100%;
    }

    .woocommerce-cart .cart_totals {
        max-width: 100%;
    }

    .woocommerce-cart .wc-proceed-to-checkout .checkout-button,
    .wc-block-cart__submit-button {
        font-size: 1.1rem !important;
        padding: 0.8rem 1rem !important;
    }
}

/* WooCommerce Cart Block Specific Fixes */
.wc-block-cart__submit-container {
    margin-top: 20px !important;
    width: 100% !important;
}

.wc-block-cart__submit-button,
.wc-block-components-button.wc-block-cart__submit-button {
    background-color: #73884D !important;
    color: #fff !important;
    border-radius: 50px !important;
    padding: 1.2rem 2rem !important;
    width: 100% !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    text-align: center !important;
    border: none !important;
    box-shadow: 0 4px 15px rgba(115, 136, 77, 0.25) !important;
    transition: all 0.3s ease !important;
    min-height: auto !important;
    line-height: 1 !important;
}

.wc-block-cart__submit-button:hover,
.wc-block-components-button.wc-block-cart__submit-button:hover {
    background-color: #5a6640 !important;
    transform: translateY(-2px) !important;
    box-shadow: 0 6px 20px rgba(115, 136, 77, 0.35) !important;
}

.wc-block-components-button__text,
.wc-block-cart__submit-button .wc-block-components-button__text {
    font-family: 'Times New Roman Custom', 'Times New Roman', Times, serif !important;
    font-size: 1.2rem !important;
    font-weight: 700 !important;
    line-height: 1 !important;
    display: block !important;
    padding: 0 !important;
    margin: 0 !important;
    color: #fff !important;
}

/* Ensure global override for these blocks */
.wc-block-cart__submit-container .wp-element-button {
    background-color: #73884D !important;
    border-radius: 50px !important;
}

/* WooCommerce Block Cart - Coupon Section Fixes */
.wc-block-cart__coupon-form {
    display: flex !important;
    gap: 15px !important;
    margin-top: 15px !important;
    align-items: stretch !important;
}

.wc-block-cart__coupon-form input.wc-block-components-text-input__input {
    border: 1px solid #333 !important;
    border-radius: 6px !important;
    padding: 12px 15px !important;
    font-family: 'Inter', sans-serif !important;
    font-size: 0.95rem !important;
    flex: 1 !important;
    height: 48px !important;
}

.wc-block-cart__coupon-button,
.wc-block-components-button.wc-block-cart__coupon-button {
    background-color: #73884D !important;
    color: #fff !important;
    border-radius: 50px !important;
    padding: 0 30px !important;
    height: 48px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    font-family: 'Times New Roman Custom', 'Times New Roman', Times, serif !important;
    font-weight: 700 !important;
    font-size: 1.1rem !important;
    border: none !important;
    transition: all 0.3s ease !important;
    box-shadow: 0 4px 10px rgba(0, 0, 0, 0.1) !important;
}

.wc-block-cart__coupon-button:hover,
.wc-block-components-button.wc-block-cart__coupon-button:hover {
    background-color: #5a6640 !important;
    transform: translateY(-2px) !important;
    box-shadow: 0 6px 15px rgba(0, 0, 0, 0.15) !important;
}

.wc-block-cart__coupon-button .wc-block-components-button__text {
    line-height: 1 !important;
    display: block !important;
    color: #fff !important;
}

/* Fix the "Add a coupon" toggle text */
.wc-block-cart__coupon-container .wc-block-components-panel__title {
    font-family: 'Times New Roman Custom', 'Times New Roman', Times, serif !important;
    font-size: 1.25rem !important;
    font-weight: 600 !important;
    color: #333 !important;
}

.wc-block-cart__coupon-container .wc-block-components-panel__title svg {
    color: #333 !important;
}

/* Search Results Styles */
.search-results .shop-content {
    padding: 40px 0;
}

.search-results .woocommerce-loop-product__title {
    font-family: 'Times New Roman', Times, serif;
    font-size: 1.2rem;
    color: #333;
    margin: 10px 0;
}

.search-results .price {
    color: #73884D;
    font-weight: 700;
    font-size: 1.1rem;
}

.search-results .product-image-container {
    border: 1px solid #eee;
    border-radius: 8px;
    overflow: hidden;
    margin-bottom: 15px;
}

.search-results .product-image-container img {
    width: 100%;
    height: auto;
    display: block;
    transition: transform 0.3s;
}

.search-results .product:hover .product-image-container img {
    transform: scale(1.05);
}

@media (max-width: 767px) {
    .woocommerce-cart .cart_totals {
        width: 100%;
    }

    .woocommerce-cart table.cart thead {
        display: none;
    }

    .woocommerce-cart table.cart td {
        display: block;
        text-align: right;
        padding-left: 50%;
        position: relative;
    }

    .woocommerce-cart table.cart td::before {
        content: attr(data-title);
        position: absolute;
        left: 15px;
        font-weight: 700;
        color: #333;
    }

    .woocommerce-cart table.cart td.product-thumbnail {
        text-align: center;
        padding-left: 15px;
    }

    .woocommerce-cart table.cart td.product-thumbnail::before {
        display: none;
    }
}

/* Search Result Article Fallback */
.search-results .product article {
    height: 100%;
    display: flex;
    flex-direction: column;
}

.search-results .post-excerpt {
    font-size: 0.95rem;
    color: #666;
    line-height: 1.6;
    margin-top: 10px;
    text-align: center;
}

.search-results .no-results-found {
    padding: 60px 0;
    text-align: center;
    width: 100%;
    grid-column: 1 / -1;
}

.search-results .no-results-found p {
    font-size: 1.2rem;
    color: #333;
    margin-bottom: 30px;
    font-family: 'Times New Roman', Times, serif;
}

.search-results .no-results-found .search-form {
    max-width: 500px;
    margin: 0 auto;
}

/* ========== SHOP FILTERS & HEADER ========== */

.shop-filter-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 0.5rem 0 1.5rem 0;
    border-bottom: 1px solid #f0f0f0;
    margin-bottom: 2rem;
}

.filter-toggle-btn {
    display: flex;
    align-items: center;
    gap: 0.8rem;
    cursor: pointer;
    font-weight: 600;
    color: #666;
    text-transform: uppercase;
    font-size: 0.85rem;
    transition: color 0.3s;
}

.filter-toggle-btn:hover {
    color: #333;
}

.filter-toggle-btn .chevron-icon {
    transition: transform 0.3s;
}

.filter-toggle-btn.collapsed .chevron-icon {
    transform: rotate(180deg);
}

/* Sidebar Filters */
.sidebar-filter-section {
    border-bottom: 1px solid #f0f0f0;
    margin-bottom: 0;
    padding: 1.5rem 0;
}

.sidebar-filter-section:first-child {
    padding-top: 0;
}

.filter-section-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    cursor: pointer;
}

.filter-title {
    font-size: 1.1rem;
    font-weight: 700;
    color: #333;
    margin: 0;
    font-family: 'Inter', sans-serif;
}

.filter-toggle-icon {
    font-size: 1.2rem;
    color: #999;
    transition: color 0.3s;
    line-height: 1;
}

.sidebar-filter-section.active .filter-toggle-icon {
    color: #333;
}

.filter-section-content {
    padding-top: 1.5rem;
    display: none !important;
}

.sidebar-filter-section.active .filter-section-content {
    display: block !important;
}

/* Category List Styling */
.product-categories-list,
.product-sizes-list {
    list-style: none;
    padding: 0;
    margin: 0;
}

.product-categories-list li,
.size-item {
    margin-bottom: 1rem;
}

.product-categories-list li a,
.size-item a {
    color: #444;
    text-decoration: none;
    font-size: 1rem;
    transition: color 0.3s;
}

.product-categories-list li a:hover,
.product-categories-list li.active>a,
.size-item a:hover,
.size-item.active>a {
    color: #73884D;
}

.product-categories-list .children {
    list-style: none;
    padding-left: 1.5rem;
    margin-top: 0.8rem;
}

/* WooCommerce Price Filter Widget Overrides */
.widget_price_filter .price_slider_wrapper .ui-widget-content {
    background-color: #f0f0f0;
    height: 4px;
    border: none;
}

.widget_price_filter .ui-slider .ui-slider-range {
    background-color: #73884D !important;
}

.widget_price_filter .ui-slider .ui-slider-handle {
    background-color: #73884D !important;
    border: none;
    width: 14px;
    height: 14px;
    top: -5px;
    border-radius: 50%;
}

.widget_price_filter .price_slider_amount .button {
    background-color: #73884D;
    color: #fff;
    padding: 0.5rem 1.5rem;
    border-radius: 4px;
    font-size: 0.85rem;
    text-transform: uppercase;
    font-weight: 600;
}

.widget_price_filter .price_slider_amount .price_label {
    font-size: 0.9rem;
    color: #666;
}

/* Shop Grid Layout Toggling */
.shop-grid-container {
    display: grid;
    grid-template-columns: 300px 1fr;
    gap: 4rem;
    transition: all 0.4s cubic-bezier(0.4, 0, 0.2, 1);
}


.shop-grid-container.sidebar-hidden {
    grid-template-columns: 1fr;
    gap: 0;
}

.shop-grid-container.sidebar-hidden .shop-sidebar {
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    transform: translateX(-20px);
    width: 0;
    max-width: 0;
    margin: 0;
    overflow: hidden;
    display: none !important;
}

.shop-grid-container.sidebar-hidden .shop-content {
    max-width: 100% !important;
}

.shop-sidebar {
    transition: opacity 0.3s, visibility 0.3s, transform 0.3s;
}

/* Pill Breadcrumb Design */
.gb-breadcrumb-pill {
    display: inline-flex;
    align-items: center;
    border: 1px solid #73884D;
    border-radius: 999px;
    background: #fff;
    overflow: hidden;
    font-family: 'Times New Roman', Times, serif;
    margin-bottom: 1.25rem;
}

.breadcrumb-home-part {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 44px;
    height: 44px;
    background: #73884D;
    flex-shrink: 0;
}

.breadcrumb-home-part a {
    color: #fff;
    text-decoration: none;
    display: flex;
    align-items: center;
    justify-content: center;
}

.breadcrumb-home-part svg {
    width: 18px;
    height: 18px;
    stroke: currentColor;
}

.breadcrumb-text-part {
    padding: 0 26px;
    color: #333;
    display: flex;
    align-items: center;
    gap: 12px;
    font-weight: 600;
    font-size: 0.95rem;
    letter-spacing: 0.03em;
    text-transform: uppercase;
}

.breadcrumb-text-part a {
    color: #333;
    text-decoration: none;
    transition: color 0.3s;
}

.breadcrumb-text-part a:hover {
    color: #73884D;
}

.breadcrumb-sep {
    color: #999;
    font-weight: 400;
}

.breadcrumb-text-part span:last-child {
    color: #73884D;
}

/* Hide old breadcrumbs if they still exist */
.breadcrumb,
.shop-breadcrumb {
    display: none !important;
}

/* Contact Page Styles */
.contact-page-wrapper {
    background-color: #fff;
    color: #333;
}

.contact-hero {
    background-color: #73884D;
    /* Fallback green */
    background-image: linear-gradient(rgba(0, 0, 0, 0.3), rgba(0, 0, 0, 0.3)), url('assets/images/contact-hero.jpg');
    /* Placeholder for background image */
    background-size: cover;
    background-position: center;
    padding: 6rem 0;
    color: #fff;
    text-align: left;
}

.contact-title {
    font-family: 'Times New Roman', Times, serif;
    font-size: 4rem;
    font-weight: 700;
    margin-bottom: 1.5rem;
    text-transform: none;
}

.contact-subtitle {
    font-family: 'Inter', sans-serif;
    font-size: 1.1rem;
    max-width: 800px;
    line-height: 1.6;
}

.contact-main-content {
    padding: 5rem 2rem;
}

.contact-grid {
    display: grid;
    grid-template-columns: 1.5fr 1fr;
    gap: 5rem;
}

.contact-form-column {
    font-family: 'Inter', sans-serif;
}

.form-group {
    margin-bottom: 1.5rem;
}

.form-group label {
    display: block;
    font-weight: 500;
    margin-bottom: 0.5rem;
    font-size: 0.95rem;
}

.radio-group {
    display: flex;
    gap: 2rem;
    margin-top: 0.5rem;
}

.radio-label {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    cursor: pointer;
    font-weight: 400 !important;
}

.contact-form input[type="text"],
.contact-form input[type="email"],
.contact-form input[type="tel"],
.contact-form select,
.contact-form textarea {
    width: 100%;
    padding: 0.8rem 1rem;
    border: 1px solid #eee;
    background-color: #f9f9f9;
    border-radius: 4px;
    font-family: 'Inter', sans-serif;
    font-size: 1rem;
}

.contact-form input:focus,
.contact-form select:focus,
.contact-form textarea:focus {
    outline: none;
    border-color: #73884D;
    background-color: #fff;
}

.form-footer {
    margin-top: 2rem;
}

.captcha-text {
    font-size: 0.8rem;
    color: #888;
    margin-bottom: 1rem;
}

.btn-submit {
    background-color: #73884D;
    color: #fff;
    border: none;
    padding: 0.8rem 2.5rem;
    border-radius: 50px;
    font-weight: 600;
    cursor: pointer;
    transition: background 0.3s ease;
    font-family: 'Inter', sans-serif;
}

.btn-submit:hover {
    background-color: #5A7A1F;
}

.contact-info-card {
    font-family: 'Inter', sans-serif;
}

.info-title {
    font-family: 'Times New Roman', Times, serif;
    font-size: 1.5rem;
    font-weight: 700;
    margin-bottom: 2rem;
    color: #333;
}

.info-item {
    display: flex;
    align-items: flex-start;
    gap: 1rem;
    margin-bottom: 1.5rem;
}

.info-icon {
    color: #333;
    flex-shrink: 0;
    margin-top: 3px;
}

.info-item p {
    margin: 0;
    font-size: 1rem;
    color: #333;
    line-height: 1.5;
}

.btn-appointment {
    display: inline-block;
    background-color: #73884D;
    color: #fff;
    padding: 0.8rem 2rem;
    border-radius: 50px;
    font-weight: 600;
    text-decoration: none;
    margin-top: 1rem;
    transition: background 0.3s ease;
    font-family: 'Inter', sans-serif;
}

.btn-appointment:hover {
    background-color: #5A7A1F;
    color: #fff;
}

/* Mobile Responsiveness */
@media (max-width: 991px) {
    .contact-grid {
        grid-template-columns: 1fr;
        gap: 3rem;
    }

    .contact-title {
        font-size: 3rem;
    }
}

@media (max-width: 767px) {
    .contact-hero {
        padding: 4rem 0;
    }

    .contact-title {
        font-size: 2.5rem;
    }

    .radio-group {
        flex-direction: column;
        gap: 1rem;
    }
}

/* Company field smooth transition */
#company-field-row {
    overflow: hidden;
    transition: max-height 0.35s ease, opacity 0.35s ease, margin-bottom 0.35s ease;
}

/* ========== CONTACT INLINE MAP (inside info card) ========== */
.contact-inline-map {
    margin-top: 1.5rem;
}

.contact-inline-map-label {
    font-family: 'Inter', sans-serif;
    font-size: 0.8rem;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.06em;
    color: #888;
    margin: 0 0 0.6rem 0;
}

.contact-inline-map iframe {
    display: block;
    width: 100%;
    height: 200px;
    border: 0;
    border-radius: 8px;
    box-shadow: 0 2px 12px rgba(0, 0, 0, 0.1);
    filter: grayscale(10%);
    transition: filter 0.3s ease;
}

.contact-inline-map iframe:hover {
    filter: grayscale(0%);
}


/* ========== INFORMATION PAGE TEMPLATE ========== */
.info-page-wrapper {
    background-color: #fff;
}

.info-content-area {
    padding: 3rem 2rem;
}


/* ========== MY ACCOUNT PAGE CUSTOMIZATION ========== */
.account-page-wrapper {
    padding: 40px 0;
    font-family: 'Inter', sans-serif;
}

.account-grid {
    display: grid;
    grid-template-columns: minmax(0, 2.2fr) minmax(260px, 1fr);
    align-items: start;
    gap: clamp(24px, 4vw, 40px);
}

.account-main-content,
.account-sidebar {
    width: 100%;
}

.account-breadcrumb {
    margin-bottom: 25px;
    font-size: 14px;
    color: #666;
}

.account-breadcrumb a {
    color: #333;
    text-decoration: none;
}

.login-register-flex {
    display: flex;
    gap: 20px;
}

.account-card {
    flex: 1;
    border: 1px solid #eee;
    border-radius: 4px;
    overflow: hidden;
}

.card-title {
    background: #f9f9f9;
    padding: 15px 20px;
    margin: 0;
    font-size: 1.5rem;
    font-family: 'Times New Roman', Times, serif;
    color: #333;
    border-bottom: 1px solid #eee;
}

.card-body {
    padding: 20px;
}

.card-body h3 {
    font-size: 1.2rem;
    margin-bottom: 15px;
    color: #333;
}

.card-body p {
    font-size: 14px;
    color: #666;
    line-height: 1.6;
    margin-bottom: 20px;
}

.account-card .form-row {
    margin-bottom: 15px;
}

.account-card label {
    display: block;
    margin-bottom: 5px;
    font-size: 14px;
    color: #333;
}

.account-card .input-text {
    width: 100%;
    padding: 10px;
    border: 1px solid #ddd;
    border-radius: 4px;
    background: #f0f5ff;
    /* Light blue background as in image */
}

.card-footer {
    padding: 15px 0 0;
    text-align: right;
    border-top: 1px solid #eee;
}

.btn-continue,
.btn-login {
    background: #f5f0f5;
    color: #333;
    border: 1px solid #ddd;
    padding: 10px 25px;
    font-size: 14px;
    font-weight: 600;
    cursor: pointer;
    border-radius: 4px;
    text-transform: uppercase;
}

.btn-continue:hover,
.btn-login:hover {
    background: #eee;
}

.lost_password {
    margin-top: 10px;
    font-size: 13px;
}

.lost_password a {
    color: #666;
    text-decoration: none;
}

/* Sidebar Styles */
.account-sidebar {
    border: 1px solid #eee;
    border-radius: 4px;
}

.account-nav-list {
    list-style: none;
    padding: 0;
    margin: 0;
}

.account-nav-list li {
    border-bottom: 1px solid #eee;
}

.account-nav-list li:last-child {
    border-bottom: none;
}

.account-nav-list a {
    display: block;
    padding: 12px 20px;
    color: #333;
    text-decoration: none;
    font-size: 14px;
    transition: background 0.2s;
}

.account-nav-list a:hover {
    background: #f9f9f9;
}

.account-nav-list li.active a {
    background: #f9f9f9;
    font-weight: 600;
}

/* Registration Form Styles */
.registration-form-wrapper {
    border: 1px solid #eee;
    border-radius: 4px;
    padding: 05px;
}

.form-section {
    margin-bottom: 30px;
}

.form-section h3 {
    border-bottom: 1px solid #eee;
    padding-bottom: 10px;
    margin-bottom: 20px;
    font-size: 1.2rem;
}

.registration-footer {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-top: 30px;
    padding-top: 20px;
    border-top: 1px solid #eee;
}

.privacy-policy-label {
    font-size: 14px;
    color: #333;
}

/* Switch Toggle Styles */
.switch {
    position: relative;
    display: inline-block;
    width: 40px;
    height: 20px;
    vertical-align: middle;
    margin-left: 10px;
}

.switch input {
    opacity: 0;
    width: 0;
    height: 0;
}

.slider {
    position: absolute;
    cursor: pointer;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background-color: #ccc;
    -webkit-transition: .4s;
    transition: .4s;
}

.slider:before {
    position: absolute;
    content: "";
    height: 14px;
    width: 14px;
    left: 3px;
    bottom: 3px;
    background-color: white;
    -webkit-transition: .4s;
    transition: .4s;
}

input:checked+.slider {
    background-color: #73884D;
}

input:focus+.slider {
    box-shadow: 0 0 1px #73884D;
}

input:checked+.slider:before {
    -webkit-transform: translateX(20px);
    -ms-transform: translateX(20px);
    transform: translateX(20px);
}

.slider.round {
    border-radius: 20px;
}

.slider.round:before {
    border-radius: 50%;
}

@media (max-width: 991px) {
    .account-grid {
        grid-template-columns: 1fr;
    }

    .login-register-flex {
        flex-direction: column;
    }
}

/* Horizontal Form Layout for Registration */
.registration-card-body {
    padding: 20px;
}

.horizontal-form-row {
    display: flex;
    align-items: center;
    margin-bottom: 15px;
}

.horizontal-form-row label {
    flex: 0 0 180px;
    text-align: right;
    padding-right: 20px;
    margin-bottom: 0 !important;
    font-size: 14px;
    color: #333;
}

.horizontal-form-row .input-wrapper {
    flex: 1;
}

.horizontal-form-row .input-text {
    width: 100%;
    padding: 10px;
    border: 1px solid #ddd;
    border-radius: 4px;
    background: #f0f5ff;
}

.form-section h3 {
    border-bottom: 1px solid #eee;
    padding-bottom: 10px;
    margin: 25px 0 20px;
    font-size: 1.2rem;
    color: #333;
    font-family: 'Times New Roman', Times, serif;
}

.registration-footer {
    display: flex;
    justify-content: flex-end;
    align-items: center;
    gap: 20px;
    margin-top: 30px;
    padding-top: 20px;
    border-top: 1px solid #eee;
}

.privacy-policy-wrapper {
    display: flex;
    align-items: center;
    gap: 10px;
}

.privacy-text {
    font-size: 14px;
    color: #333;
}

/* Mini Switch for Privacy Policy */
.switch-mini {
    position: relative;
    display: inline-block;
    width: 34px;
    height: 18px;
}

.switch-mini input {
    opacity: 0;
    width: 0;
    height: 0;
}

.switch-mini .slider:before {
    height: 12px;
    width: 12px;
    left: 3px;
    bottom: 3px;
}

input:checked+.switch-mini .slider:before {
    transform: translateX(16px);
}

@media (max-width: 768px) {
    .horizontal-form-row {
        flex-direction: column;
        align-items: flex-start;
    }

    .horizontal-form-row label {
        flex: none;
        text-align: left;
        padding-right: 0;
        margin-bottom: 5px !important;
    }

    .horizontal-form-row .input-text {
        max-width: 100%;
    }

    .registration-footer {
        flex-direction: column;
        align-items: flex-end;
    }
}

/* Global WooCommerce Account Form Refinements */
.woocommerce-MyAccount-content h2,
.woocommerce-MyAccount-content h3 {
    font-family: 'Times New Roman', Times, serif;
    font-size: 2rem;
    margin-bottom: 25px;
    color: #333;
}

/* Apply horizontal layout to standard WooCommerce form rows */
.woocommerce-MyAccount-content .form-row {
    display: flex !important;
    flex-wrap: wrap;
    align-items: center;
    margin-bottom: 20px !important;
    width: 100% !important;
    float: none !important;
}

.woocommerce-MyAccount-content .form-row label {
    flex: 0 0 180px;
    text-align: right;
    padding-right: 10px;
    /* change by umar */
    margin-bottom: 0 !important;
    font-size: 14px;
    color: #333;
    font-weight: normal;
}

.woocommerce-MyAccount-content .form-row .woocommerce-input-wrapper {
    flex: 1;
    display: block;
}

.woocommerce-MyAccount-content .input-text,
.woocommerce-MyAccount-content select,
.woocommerce-MyAccount-content .select2-container--default .select2-selection--single {
    width: 100% !important;
    padding: 10px !important;
    border: 1px solid #ddd !important;
    border-radius: 4px !important;
    background: #f0f5ff !important;
    /* Light blue background */
    height: auto !important;
}

/* Fix for Select2 (WooCommerce country/state dropdowns) */
.woocommerce-MyAccount-content .select2-container--default .select2-selection--single {
    display: flex;
    align-items: center;
}

/* Button Styling in Account Content */
.woocommerce-MyAccount-content button.button {
    background: #f5f0f5 !important;
    color: #333 !important;
    border: 1px solid #ddd !important;
    padding: 10px 25px !important;
    font-size: 14px !important;
    font-weight: 600 !important;
    cursor: pointer !important;
    border-radius: 4px !important;
    text-transform: uppercase !important;
    box-shadow: none !important;
}

.woocommerce-MyAccount-content button.button:hover {
    background: #eee !important;
}

/* Address Book Specifics */
.woocommerce-EditAddress h3 {
    margin-top: 0;
}

/* Responsive adjustments for all account forms */
@media (max-width: 768px) {
    .woocommerce-MyAccount-content .form-row {
        flex-direction: column;
        align-items: flex-start;
    }

    .woocommerce-MyAccount-content .form-row label {
        flex: none;
        text-align: left;
        padding-right: 0;
        margin-bottom: 5px !important;
    }

    .woocommerce-MyAccount-content .input-text,
    .woocommerce-MyAccount-content select,
    .woocommerce-MyAccount-content .select2-container {
        max-width: 100% !important;
    }
}

/* Wishlist and Compare Button Loading State */
.add-to-wishlist.loading,
.add-to-compare.loading {
    opacity: 0.6;
    pointer-events: none;
    position: relative;
}

.add-to-wishlist.loading::after,
.add-to-compare.loading::after {
    content: "";
    position: absolute;
    right: -20px;
    top: 50%;
    transform: translateY(-50%);
    width: 12px;
    height: 12px;
    border: 2px solid #73884D;
    border-top-color: transparent;
    border-radius: 50%;
    animation: gb-spin 0.6s linear infinite;
}

@keyframes gb-spin {
    to {
        transform: translateY(-50%) rotate(360deg);
    }
}

/* =========================================================
   WooCommerce Notices — My Account Page Fix
   ========================================================= */

/* --- Success / Info: single-line message + button → flex row --- */
.woocommerce-account .woocommerce-MyAccount-content>.woocommerce-message,
.woocommerce-account .woocommerce-MyAccount-content>.woocommerce-info,
.woocommerce-account .woocommerce>.woocommerce-message,
.woocommerce-account .woocommerce>.woocommerce-info {
    display: flex !important;
    flex-direction: row !important;
    align-items: center !important;
    flex-wrap: wrap;
    gap: 8px 16px;
    width: 100% !important;
    max-width: 100% !important;
    box-sizing: border-box !important;
    background: #f6f9f0 !important;
    border: 1px solid #c8d8a0 !important;
    border-left: 4px solid #73884D !important;
    border-radius: 6px !important;
    padding: 11px 16px !important;
    margin: 0 0 18px 0 !important;
    font-size: 14px !important;
    color: #333 !important;
    line-height: 1.5 !important;
    list-style: none !important;
}

/* Hide WooCommerce's default ::before tick icon on success/info */
.woocommerce-account .woocommerce-MyAccount-content>.woocommerce-message::before,
.woocommerce-account .woocommerce-MyAccount-content>.woocommerce-info::before,
.woocommerce-account .woocommerce>.woocommerce-message::before,
.woocommerce-account .woocommerce>.woocommerce-info::before {
    display: none !important;
    content: none !important;
}

/* Button inside success/info notice (e.g. "Continue Shopping") */
.woocommerce-account .woocommerce-MyAccount-content>.woocommerce-message .button,
.woocommerce-account .woocommerce-MyAccount-content>.woocommerce-info .button,
.woocommerce-account .woocommerce>.woocommerce-message .button,
.woocommerce-account .woocommerce>.woocommerce-info .button {
    flex-shrink: 0;
    display: inline-block !important;
    padding: 5px 14px !important;
    font-size: 12px !important;
    font-weight: 600 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.04em !important;
    background: #73884D !important;
    color: #fff !important;
    border: none !important;
    border-radius: 50px !important;
    text-decoration: none !important;
    line-height: 1.6 !important;
    white-space: nowrap;
    margin: 0 !important;
    transition: background 0.2s ease;
}

.woocommerce-account .woocommerce-MyAccount-content>.woocommerce-message .button:hover,
.woocommerce-account .woocommerce>.woocommerce-message .button:hover {
    background: #5A6D3A !important;
    color: #fff !important;
}

/* --- Error notices: ul > li list — keep as VERTICAL block, NOT flex --- */
.woocommerce-account .woocommerce-MyAccount-content>.woocommerce-error,
.woocommerce-account .woocommerce>.woocommerce-error {
    /*display: block !important;*/
    display: none !important;
    /* never flex — it has multiple <li> items */
    width: 100% !important;
    max-width: 100% !important;
    box-sizing: border-box !important;
    background: #fff8f8 !important;
    border: 1px solid #f5c6c6 !important;
    border-left: 4px solid #e74c3c !important;
    border-radius: 6px !important;
    padding: 11px 16px 11px 36px !important;
    /* left padding gives room for list bullets */
    margin: 0 0 18px 0 !important;
    font-size: 14px !important;
    color: #333 !important;
    line-height: 1.7 !important;
    
}

/* Keep error list items as normal vertical list entries */
.woocommerce-account .woocommerce-MyAccount-content>.woocommerce-error li,
.woocommerce-account .woocommerce>.woocommerce-error li {
    display: list-item !important;
    list-style: disc !important;
    margin: 0 !important;
    padding: 0 !important;
}

/* Mobile: stack button below text on very small screens */
@media (max-width: 480px) {

    .woocommerce-account .woocommerce-MyAccount-content>.woocommerce-message,
    .woocommerce-account .woocommerce>.woocommerce-message {
        flex-direction: column !important;
        align-items: flex-start !important;
    }
}


.wishlist-page-wrapper,
.compare-page-wrapper {
    background: #fff;
    border-radius: 8px;
    box-shadow: 0 4px 20px rgba(0, 0, 0, 0.05);
    padding: 40px;
    margin-top: 20px;
    margin-bottom: 40px;
}

.page-title {
    font-family: 'Times New Roman', Times, serif;
    font-size: 2.5rem;
    color: #333;
    margin-bottom: 30px;
    border-bottom: 1px solid #eee;
    padding-bottom: 15px;
}

.wishlist-table th,
.compare-table th {
    background: #f8f9fa;
    color: #333;
    font-weight: 600;
    text-transform: uppercase;
    font-size: 13px;
    letter-spacing: 0.5px;
}

.wishlist-item:hover,
.compare-table td:hover {
    background-color: #fcfdfe;
}

.btn-remove,
.btn-remove-top {
    transition: all 0.3s ease;
}

.btn-remove:hover {
    transform: translateY(-2px);
    box-shadow: 0 2px 8px rgba(231, 76, 60, 0.2);
}

.empty-wishlist .button,
.empty-compare .button {
    background: #73884D;
    color: #fff;
    padding: 12px 30px;
    border-radius: 4px;
    text-decoration: none;
    font-weight: 600;
    display: inline-block;
    transition: background 0.3s;
}

.empty-wishlist .button:hover,
.empty-compare .button:hover {
    background: #5d6e3e;
}

/* Header Account Dropdown */
.header-account-dropdown {
    position: relative;
}

.account-dropdown-menu {
    position: absolute;
    top: 100%;
    right: 0;
    background: #fff;
    border: 1px solid #eee;
    border-radius: 8px;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);
    min-width: 200px;
    opacity: 0;
    visibility: hidden;
    transform: translateY(-10px);
    transition: all 0.3s ease;
    z-index: 1000;
    margin-top: 0.5rem;
}

.header-account-dropdown:hover .account-dropdown-menu {
    opacity: 1;
    visibility: visible;
    transform: translateY(0);
}

.dropdown-item {
    display: flex;
    align-items: center;
    gap: 0.75rem;
    padding: 0.85rem 1.2rem;
    color: #333;
    text-decoration: none;
    font-family: 'Times New Roman', Times, serif;
    font-size: 0.95rem;
    transition: all 0.3s;
    border-bottom: 1px solid #f5f5f5;
}

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

.dropdown-item:hover {
    background: #f9f9f9;
    color: #73884D;
}

.dropdown-item svg {
    flex-shrink: 0;
}

.dropdown-item.logout-item:hover {
    background: #fee;
    color: #e74c3c;
}

.dropdown-item.logout-item:hover svg {
    stroke: #e74c3c;
}

/* Mobile Responsive */
@media (max-width: 992px) {
    .account-dropdown-menu {
        right: auto;
        left: 0;
    }
}

/* My Account Navigation - Clean UI */
.account-nav-list {
    list-style: none;
    padding: 0;
    margin: 0;
}

.account-nav-list li {
    margin: 0;
    border-bottom: 1px solid #f0f0f0;
}

.account-nav-list li:last-child {
    border-bottom: none;
}

.account-nav-list li a {
    display: block;
    padding: 0.9rem 1.2rem;
    color: #555;
    text-decoration: none;
    font-family: 'Times New Roman', Times, serif;
    font-size: 0.95rem;
    transition: all 0.3s;
    position: relative;
}

.account-nav-list li a:hover {
    background: #f9f9f9;
    color: #73884D;
    padding-left: 1.5rem;
}

.account-nav-list li.active a {
    background: #73884D;
    color: #fff;
    font-weight: 600;
}

.account-nav-list li.active a:hover {
    background: #5A6D3A;
    padding-left: 1.2rem;
}

/* Account Sidebar Styling */
.account-sidebar {
    background: #fff;
    border: 1px solid #eee;
    border-radius: 8px;
    overflow: hidden;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.05);
}

/* Mobile Responsive */
@media (max-width: 992px) {
    .account-sidebar {
        margin-top: 2rem;
    }

    .account-nav-list li a {
        padding: 0.8rem 1rem;
        font-size: 0.9rem;
    }
}

/* ============================================
   ALL PRICES - TIMES NEW ROMAN FONT FAMILY
   ============================================ */

/* WooCommerce Prices */
.price,
.amount,
.woocommerce-Price-amount,
.woocommerce-Price-amount.amount,
span.price,
p.price,
.product-price,
.price-main,
.price ins,
.price del,
ins .amount,
del .amount,
.cart-subtotal .amount,
.order-total .amount,
.product_list_widget .amount,
.woocommerce-mini-cart__total .amount,
.woocommerce table.shop_table .amount,
.woocommerce-checkout-review-order-table .amount,
.cart_item .amount,
.product-card-price,
.latest-product-price,
.category-product-price,
.sidebar-product-price,
bdi {
    font-family: 'Times New Roman', Times, serif !important;
}

/* Price variations */
.price-ex-tax,
.price-inc-tax,
.woocommerce-variation-price,
.single_variation .price {
    font-family: 'Times New Roman', Times, serif !important;
}

/* Cart and Checkout prices */
.woocommerce-cart-form .amount,
.cart-collaterals .amount,
.checkout .amount,
.order-total td .amount {
    font-family: 'Times New Roman', Times, serif !important;
}

/* ========== CART SUCCESS MODAL ========== */
.gb-modal {
    display: none;
    position: fixed;
    z-index: 10000;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    background-color: rgba(0, 0, 0, 0.5);
    overflow: auto;
    font-family: 'Times New Roman', Times, serif;
}

.gb-modal-content {
    background-color: #fff;
    margin: 10% auto;
    width: 90%;
    max-width: 900px;
    border-radius: 4px;
    box-shadow: 0 5px 30px rgba(0, 0, 0, 0.2);
    animation: modalFadeIn 0.3s ease-out;
}

@keyframes modalFadeIn {
    from {
        opacity: 0;
        transform: translateY(-20px);
    }

    to {
        opacity: 1;
        transform: translateY(0);
    }
}

.gb-modal-header {
    padding: 15px 25px;
    border-bottom: 1px solid #eee;
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.gb-modal-title {
    margin: 0;
    font-size: 1.25rem;
    color: #666;
    font-weight: 400;
}

.gb-modal-close {
    background: none;
    border: none;
    font-size: 24px;
    cursor: pointer;
    color: #999;
}

.gb-modal-body {
    padding: 30px 25px;
    display: flex;
    gap: 30px;
}

.gb-modal-product-info {
    flex: 2;
    display: flex;
    gap: 25px;
    align-items: center;
}

.gb-modal-product-image {
    width: 250px;
    height: 200px;
    background: #fdfdfd;
    display: flex;
    align-items: center;
    justify-content: center;
}

.gb-modal-product-image img {
    max-width: 100%;
    max-height: 100%;
    object-fit: contain;
}

.gb-modal-product-details {
    flex: 1;
}

.gb-modal-product-name {
    font-size: 1.4rem;
    color: #333;
    margin-bottom: 10px;
    font-weight: 500;
}

.gb-modal-product-price-qty {
    font-size: 1.3rem;
    color: #000;
    font-weight: 700;
}

.gb-modal-cart-summary {
    flex: 1;
    background: #f9f9f9;
    padding: 20px;
    border-radius: 4px;
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
}

.btn-modal-checkout {
    background: #4a555f;
    color: #fff;
    width: 100%;
    padding: 12px;
    border-radius: 4px;
    text-decoration: none;
    font-weight: 600;
    margin-bottom: 20px;
    font-family: inherit;
    font-size: 1rem;
}

.gb-modal-subtotal-block {
    margin-bottom: 20px;
}

.subtotal-label {
    display: block;
    color: #777;
    font-size: 0.9rem;
    margin-bottom: 5px;
}

.subtotal-value {
    display: block;
    font-size: 1.8rem;
    font-weight: 700;
    color: #333;
    margin-bottom: 5px;
}

.cart-count-text {
    color: #888;
    font-size: 0.85rem;
}

.btn-modal-continue,
.btn-modal-view-cart {
    background: #fff;
    color: #333;
    width: 100%;
    padding: 12px;
    border-radius: 4px;
    text-decoration: none;
    border: 1px solid #f0f0f0;
    margin-top: 10px;
    cursor: pointer;
    font-family: inherit;
    font-weight: 500;
    transition: all 0.2s;
}

.btn-modal-continue:hover,
.btn-modal-view-cart:hover {
    background: #eee;
}

@media (max-width: 768px) {
    .gb-modal-body {
        flex-direction: column;
    }

    .gb-modal-product-info {
        flex-direction: column;
        text-align: center;
    }

    .gb-modal-product-image {
        width: 100%;
        height: auto;
    }
}

/* Hide WooCommerce default "View Cart" link after adding to cart */
.category-product-actions a.added_to_cart.wc-forward,
.bestseller-card a.added_to_cart.wc-forward,
.latest-product-card a.added_to_cart.wc-forward {
    display: none !important;
}

/* ========== MOBILE RESPONSIVENESS FOR CART MODAL ========== */
@media (max-width: 768px) {
    .gb-modal-content {
        margin: 5% auto;
        width: 95%;
        max-height: 90vh;
        overflow-y: auto;
    }

    .gb-modal-body {
        flex-direction: column;
        padding: 20px 15px;
        gap: 20px;
    }

    .gb-modal-product-info {
        flex-direction: row;
        gap: 15px;
        align-items: flex-start;
        text-align: left;
    }

    .gb-modal-product-image {
        width: 100px;
        height: 100px;
        flex-shrink: 0;
    }

    .gb-modal-product-name {
        font-size: 1.1rem;
        margin-bottom: 5px;
    }

    .gb-modal-product-price-qty {
        font-size: 1rem;
    }

    .gb-modal-cart-summary {
        padding: 15px;
    }

    .subtotal-value {
        font-size: 1.5rem;
    }

    .gb-modal-title {
        font-size: 1.1rem;
    }
}

@media (max-width: 480px) {
    .gb-modal-product-info {
        flex-direction: column;
        align-items: center;
        text-align: center;
    }

    .gb-modal-product-image {
        width: 150px;
        height: 150px;
    }
}

/* ========== GLOBAL THEME UI MATCH (WOOCOMMERCE & BLOCKS) ========== */
/* Strictly follows: Headings/Titles/Serif = Times New Roman, Body Text/Buttons = Inter, Buttons = #6b7a4d */

/* 1. Global Font Assignments */
body,
p,
span:not([class*="title"]):not([class*="price"]):not([class*="amount"]):not(.serif-font),
li:not([class*="title"]):not(.serif-font),
a:not(h1):not(h2):not(h3):not(h4):not(h5):not(h6):not([class*="title"]):not([class*="button"]):not([class*="post"]):not([class*="entry"]):not([class*="link"]):not(.serif-font),
input,
textarea,
select:not(.serif-font) {
    font-family: 'Inter', -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
}

.inter-font {
    font-family: 'Inter', -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif !important;
}

h1,
h2,
h3,
h4,
h5,
h6,
h1 a,
h2 a,
h3 a,
h4 a,
h5 a,
h6 a,
.woocommerce-loop-product__title,
.woocommerce-loop-product__title a,
.woocommerce-loop-product__link,
.wc-block-grid__product-title,
.wc-block-grid__product-title a,
.wc-block-components-product-title,
.wc-block-components-product-title a,
.product_title,
.product-title,
.product-title a,
.blog-title,
.blog-title a,
.blog-title-modern,
.blog-title-modern a,
.entry-title,
.entry-title a,
.post-title,
.post-title a,
.cart-empty,
.cart-empty-title,
.shop-title,
.serif-font,
.wc-block-grid__title,
.wp-block-heading,
.section-title,
.page-title,
.category-product-title,
.category-product-title a,
.bestseller-title,
.bestseller-title a,
.latest-product-title,
.latest-product-title a,
.price,
.woocommerce-Price-amount,
.amount {
    font-family: 'Times New Roman', Times, serif !important;
    font-weight: 700 !important;
}

/* 2. Global Button Styling */
.woocommerce button.button,
.woocommerce a.button,
.woocommerce input.button,
.woocommerce #respond input#submit,
.wc-block-grid__product-add-to-cart .button,
.wc-block-components-product-button .button,
.wp-block-add-to-cart-button,
.wp-block-button__link,
.btn-category-shop,
.btn-bestseller-shop,
.btn-latest-shop,
.btn-hero,
.btn-contact,
.login-btn,
.register-btn,
.select-options-btn,
.add-to-cart-btn,
.wp-element-button {
    background-color: #6b7a4d !important;
    color: #ffffff !important;
    border: 1px solid #6b7a4d !important;
    border-radius: 50px !important;
    /* padding: 0.75rem 2rem !important; */
    font-family: 'Times New Roman', Times, serif !important;
    font-weight: 600 !important;
    font-size: 0.9rem !important;
    text-decoration: none !important;
    display: inline-block !important;
    transition: all 0.3s ease !important;
    text-transform: capitalize !important;
    cursor: pointer !important;
    text-align: center !important;
    line-height: 1.2 !important;
    box-shadow: none !important;
}

.woocommerce button.button:hover,
.woocommerce a.button:hover,
.woocommerce input.button:hover,
.wc-block-grid__product-add-to-cart .button:hover,
.wc-block-components-product-button .button:hover,
.wp-block-add-to-cart-button:hover,
.wp-block-button__link:hover,
.wp-element-button:hover {
    background-color: #5a6640 !important;
    border-color: #5a6640 !important;
    color: #ffffff !important;
    transform: translateY(-2px) !important;
    box-shadow: 0 4px 12px rgba(107, 122, 77, 0.3) !important;
}

/* 3. WooCommerce Grid & Card Refinements (Cart/Shop/Blocks/Related) */
.woocommerce ul.products,
.woocommerce-page ul.products {
    display: grid !important;
    grid-template-columns: repeat(4, 1fr);
    /* Default 4 columns */
    gap: 25px !important;
    padding: 0 !important;
    margin: 2rem 0 !important;
}

/* Adjust grid for Shop page to account for sidebar */
.shop-content ul.products,
.woocommerce.archive ul.products {
    grid-template-columns: repeat(3, 1fr) !important;
    gap: 30px !important;
}

.shop-grid-container.sidebar-hidden .shop-content ul.products,
.shop-grid-container.sidebar-hidden .woocommerce.archive ul.products {
    grid-template-columns: repeat(3, 1fr) !important;
}

/* Grid Layout Switcher Styles */
.shop-filter-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 30px;
    background: #fdfdfd;
    padding: 15px 20px;
    border: 1px solid #ECEBE6;
    border-radius: 12px;
}

.grid-layout-switcher {
    display: flex;
    gap: 10px;
}

.grid-btn {
    background: #fff;
    border: 1px solid #ECEBE6;
    width: 40px;
    height: 40px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 8px;
    cursor: pointer;
    color: #888;
    transition: all 0.3s ease;
}

.grid-btn:hover {
    border-color: #6b7a4d;
    color: #6b7a4d;
    background: #f9fdf5;
}

.grid-btn.active {
    background: #6b7a4d;
    color: #fff;
    border-color: #6b7a4d;
}

/* Dynamic Column Layouts (Desktop Only) */
@media (min-width: 993px) {

    /* 1 Column Layout */
    .shop-content.columns-1 ul.products,
    .shop-main-layout .shop-content.columns-1 ul.products {
        grid-template-columns: 1fr !important;
    }

    .shop-content.columns-1 ul.products li.product {
        flex-direction: row !important;
        text-align: left !important;
        align-items: center !important;
        gap: 20px !important;
    }

    .shop-content.columns-1 ul.products li.product>a:first-child {
        width: 250px !important;
        flex-shrink: 0 !important;
    }

    .shop-content.columns-1 ul.products li.product .product-loop-actions {
        padding: 0 1.5rem 0 0 !important;
        margin-left: auto !important;
        width: auto !important;
        flex-direction: row !important;
    }

    /* 2 Columns Layout */
    .shop-content.columns-2 ul.products,
    .shop-main-layout .shop-content.columns-2 ul.products {
        grid-template-columns: repeat(2, 1fr) !important;
    }

    /* 3 Columns Layout */
    .shop-content.columns-3 ul.products,
    .shop-main-layout .shop-content.columns-3 ul.products {
        grid-template-columns: repeat(3, 1fr) !important;
    }

    /* 4 Columns Layout */
    .shop-content.columns-4 ul.products,
    .shop-main-layout .shop-content.columns-4 ul.products {
        grid-template-columns: repeat(4, 1fr) !important;
    }
}

@media (max-width: 992px) {
    .grid-layout-switcher.desktop-only {
        display: none !important;
    }
}


.woocommerce ul.products:before,
.woocommerce ul.products:after {
    display: none !important;
}

/* The Product Card Container */
.woocommerce ul.products li.product,
.woocommerce-page ul.products li.product,
.wc-block-grid__product,
.wc-block-handpicked-products li {
    border: 1px solid #e0e0e0 !important;
    border-radius: 20px !important;
    overflow: hidden !important;
    background: #fff !important;
    padding: 0 !important;
    transition: all 0.3s ease !important;
    display: flex !important;
    flex-direction: column !important;
    height: 100% !important;
    float: none !important;
    width: 100% !important;
    margin: 0 !important;
    text-align: center !important;
}

.woocommerce ul.products li.product:hover,
.wc-block-grid__product:hover {
    box-shadow: 0 10px 25px rgba(0, 0, 0, 0.08) !important;
    transform: translateY(-5px) !important;
}

/* Top half: Light Grey Background for Image */
.woocommerce ul.products li.product>a:first-child {
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    text-decoration: none !important;
    width: 100% !important;
}

.woocommerce ul.products li.product a img,
.product-image-container,
.category-product-image {
    background: #ffffff !important;
    padding: 10px !important;
    aspect-ratio: 1/1 !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
}

.category-product-image img {
    max-width: 100% !important;
    max-height: 100% !important;
    object-fit: contain !important;
    transition: transform 0.3s ease !important;
}

.category-product-card:hover .category-product-image img {
    transform: scale(1.05) !important;
}

/* Bottom half: Info Section */
.category-product-info {
    padding: 2rem 1rem 1.75rem !important;
    background: #fff !important;
    border: none !important;
    transition: all 0.3s ease !important;
    border-radius: 0 0 20px 20px !important;
    flex: 1 !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: flex-start !important;
}

.category-product-card:hover .category-product-info {
    border: 1px solid #C4B768 !important;
    border-top: none !important;
    /* box-shadow: 0 1px 0 0 #C4B768, 1px 0 0 0 #C4B768, -1px 0 0 0 #C4B768 !important; */
}


/* Bottom half: Info Area */
.woocommerce ul.products li.product .woocommerce-loop-product__title,
.woocommerce ul.products li.product h2,
.woocommerce ul.products li.product .price,
.woocommerce ul.products li.product .star-rating {
    background: #fff !important;
    width: 100% !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
}

.woocommerce-loop-product__title,
.wc-block-grid__product-title,
.wc-block-components-product-title,
.woocommerce ul.products li.product h2 {
    font-size: 1.1rem !important;
    margin: 1.5rem 0 0.5rem !important;
    color: #333 !important;
    font-family: 'Times New Roman', Times, serif !important;
    line-height: 1.4 !important;
    padding: 0 1.5rem !important;
    display: -webkit-box !important;
    -webkit-line-clamp: 2 !important;
    line-clamp: 2 !important;
    -webkit-box-orient: vertical !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    max-height: 3.08rem !important;
    word-break: break-word !important;
}

.woocommerce ul.products li.product .price,
.wc-block-grid__product-price {
    margin-bottom: 1.5rem !important;
    display: block !important;
    font-size: 1.2rem !important;
    font-family: 'Times New Roman', Times, serif !important;
    color: #333 !important;
}

/* Dual Button Styling (Homepage Style) */
.product-loop-actions {
    display: flex !important;
    gap: 10px !important;
    justify-content: center !important;
    align-items: center !important;
    width: 100% !important;
    margin-top: auto !important;
    padding: 0 1.5rem 2rem !important;
}

.btn-loop-shop-now {
    flex: 1 !important;
    background-color: #6b7a4d !important;
    color: #fff !important;
    border-radius: 50px !important;
    padding: 0.75rem 1rem !important;
    font-size: 0.9rem !important;
    font-weight: 600 !important;
    text-transform: capitalize !important;
    text-decoration: none !important;
    font-family: 'Inter', sans-serif !important;
    transition: all 0.3s ease !important;
    border: 1px solid #6b7a4d !important;
}

.btn-loop-shop-now:hover {
    background-color: #5a6640 !important;
    border-color: #5a6640 !important;
    color: #fff !important;
}

.product-loop-actions .btn-category-add-to-cart {
    flex: 0 0 45px !important;
    width: 45px !important;
    height: 45px !important;
    border-radius: 50% !important;
    border: 1px solid #73884D !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    color: #6b7a4d !important;
    background: #fff !important;
    padding: 0 !important;
}

.product-loop-actions .btn-category-add-to-cart:hover {
    background: #6b7a4d !important;
    color: #fff !important;
    border-color: #6b7a4d !important;
}

.product-loop-actions .btn-category-add-to-cart svg {
    width: 18px;
    height: 18px;
}

/* Related Products Heading */
.related.products h2,
.upsells.products h2,
.cross-sells.products h2 {
    font-family: 'Times New Roman', Times, serif !important;
    text-align: center !important;
    font-size: 2.5rem !important;
    margin-bottom: 2.5rem !important;
    color: #333 !important;
}

/* Responsive adjustments */
@media (max-width: 992px) {

    .woocommerce ul.products,
    .woocommerce-page ul.products {
        grid-template-columns: repeat(2, 1fr) !important;
        gap: 20px !important;
    }
}

@media (max-width: 576px) {

    .woocommerce ul.products,
    .woocommerce-page ul.products {
        grid-template-columns: 1fr !important;
    }
}

/* 4. Empty Cart Page Specifics */
.cart-empty {
    margin: 5rem 0 2rem !important;
    color: #333 !important;
    font-size: 2.2rem !important;
    text-align: center !important;
    display: block !important;
}

.woocommerce-cart .return-to-shop {
    text-align: center !important;
    margin-bottom: 5rem !important;
}

/* Star Rating Fix - Restore icon font to prevent 'SSSSS' showing */
.star-rating,
.woocommerce .star-rating,
.woocommerce-page .star-rating,
.wc-block-grid__product-rating .star-rating {
    font-family: 'star' !important;
    margin: 0 auto 10px !important;
    display: inline-block !important;
    overflow: hidden;
    position: relative;
    height: 1em;
    line-height: 1;
    width: 5.4em;
}

.star-rating span::before {
    color: #FF9900 !important;
}

/* Notice Styling */
.woocommerce-message,
.woocommerce-info,
.woocommerce-error {
    border-top-color: #6b7a4d !important;
}

.woocommerce-message::before {
    color: #6b7a4d !important;
}

/* Loop Secondary Actions (Wishlist/Compare) */
.loop-secondary-actions {
    display: flex;
    gap: 8px;
}

.loop-action-icon {
    width: 32px;
    height: 32px;
    border: 1px solid #ECEBE6;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    color: #6b7a4d;
    background: #fff;
    transition: all 0.3s ease;
}

.loop-action-icon:hover {
    background: #6b7a4d;
    color: #fff;
    border-color: #6b7a4d;
}

.loop-action-icon svg {
    transition: transform 0.3s ease;
}

.loop-action-icon:hover svg {
    transform: scale(1.1);
}

/* Single Product Actions Styling */
.product-buttons-row .action-group {
    display: flex;
    align-items: center;
    gap: 20px;
    margin-top: 15px;
}

.add-to-wishlist,
.add-to-compare {
    display: flex;
    align-items: center;
    gap: 8px;
    font-size: 0.85rem;
    font-weight: 600;
    color: #555;
    text-decoration: none;
    transition: color 0.3s;
}

.add-to-wishlist:hover,
.add-to-compare:hover {
    color: #6b7a4d;
}

.add-to-wishlist svg,
.add-to-compare svg {
    color: #6b7a4d;
}


/* 5. Product Comparison Table (My Account) */
.product-comparison-wrapper {
    width: 100%;
    overflow-x: auto;
    background: #fff;
    padding: 2px;
}

.compare-page-header {
    margin-bottom: 30px;
}

.compare-title {
    font-family: 'Times New Roman', Times, serif;
    font-size: 2.5rem;
    font-weight: 700;
    color: #333;
}

.compare-table {
    width: 100%;
    min-width: 800px;
    border-collapse: collapse;
    border: 1px solid #ECEBE6;
}

.compare-table thead th {
    background: #f5f5f5;
    color: #333;
    text-align: left;
    padding: 15px 20px;
    font-family: 'Inter', sans-serif;
    font-size: 0.95rem;
    font-weight: 700;
    text-transform: capitalize;
    border-bottom: 2px solid #ECEBE6;
}

.compare-table tbody tr td {
    padding: 20px;
    border-bottom: 1px solid #f1f1f1;
    border-right: 1px solid #f1f1f1;
    vertical-align: middle;
    color: #444;
}

.compare-table tbody tr td:last-child {
    border-right: none;
}

.compare-table .prop-label {
    width: 180px;
    background: #fff;
    font-weight: 700;
    color: #333;
    font-size: 0.9rem;
    border-right: 1px solid #ECEBE6;
}

.compare-table .prop-value {
    text-align: left;
    font-size: 0.95rem;
}

/* Specific Row Styles */
.product-name-row .prop-value {
    font-family: 'Times New Roman', Times, serif;
    font-size: 1.15rem;
    color: #333;
}

.compare-img-box {
    width: 120px;
    height: 120px;
    border: 1px solid #ECEBE6;
    padding: 10px;
    background: #fff;
    display: flex;
    align-items: center;
    justify-content: center;
}

.compare-img-box img {
    max-width: 100%;
    max-height: 100%;
    object-fit: contain;
}

.price-cell .amount {
    color: #333;
    font-weight: 700;
    font-size: 1.1rem;
}

.summary-cell {
    line-height: 1.6;
    font-size: 0.9rem;
    color: #666;
}

.compare-actions-btngroup {
    display: flex;
    flex-direction: column;
    gap: 12px;
    align-items: flex-start;
}

.compare-actions-btngroup .button {
    background: #f1f1f1 !important;
    color: #333 !important;
    border-radius: 4px !important;
    padding: 10px 20px !important;
    font-size: 0.8rem !important;
    font-weight: 700 !important;
    border: none !important;
    width: auto !important;
    white-space: nowrap;
}

.compare-actions-btngroup .button:hover {
    background: #6b7a4d !important;
    color: #fff !important;
}

.remove-compare-item {
    color: #888;
    font-size: 0.8rem;
    font-weight: 700;
    text-decoration: none;
    text-transform: uppercase;
    transition: color 0.3s;
}

.remove-compare-item:hover {
    color: #e74c3c;
}

@media (max-width: 768px) {

    /* Strict Viewport Locking - Remove all possible side padding */
    .account-page-wrapper,
    .account-page-wrapper.container,
    .account-grid,
    .account-main-content,
    .container {
        max-width: 100vw !important;
        width: 100% !important;
        overflow-x: hidden !important;
        margin: 0 !important;
        padding-left: 0 !important;
        padding-right: 0 !important;
        box-sizing: border-box !important;
    }

    .product-comparison-wrapper {
        width: 100% !important;
        padding: 0 !important;
        margin: 0 !important;
    }

    .compare-title {
        font-size: 1.25rem !important;
        line-height: 1.2 !important;
        margin: 20px auto 15px !important;
        text-align: center !important;
        font-family: 'Times New Roman', serif !important;
        font-weight: 700 !important;
        display: block !important;
    }

    /* Standard Professional Look: No horizontal scroll, full-width table */
    .compare-table-responsive {
        width: 100% !important;
        overflow-x: hidden !important;
        /* Force no horizontal scrollbar */
        border: none !important;
        margin: 0 !important;
        background: #fff !important;
        padding: 0 !important;
    }

    .compare-table {
        min-width: 0 !important;
        /* Allow it to shrink to screen width */
        width: 100% !important;
        margin: 0 !important;
        border-collapse: collapse !important;
        table-layout: fixed !important;
        /* Force columns to respect widths */
    }

    .compare-table thead th {
        background: #f1f1f1 !important;
        padding: 10px 12px !important;
        font-size: 0.9rem !important;
        color: #333 !important;
        border-bottom: 2px solid #73884D !important;
        text-align: left !important;
    }

    /* Removed Sticky Labels for better non-scroll layout */
    .compare-table .prop-label {
        width: 85px !important;
        /* Narrower labels to save horizontal space */
        min-width: 85px !important;
        position: static !important;
        /* No longer sticky since we removed scroll */
        background: #fdfdfd !important;
        box-shadow: none !important;
        font-weight: 700 !important;
        font-size: 0.75rem !important;
        padding: 10px 5px !important;
        border-right: 1px solid #eee !important;
        vertical-align: middle !important;
        white-space: normal !important;
        color: #333 !important;
    }

    .compare-table tbody tr td {
        padding: 10px 5px !important;
        font-size: 0.8rem !important;
        line-height: 1.3 !important;
        border-bottom: 1px solid #eee !important;
        vertical-align: top !important;
        word-wrap: break-word !important;
        overflow-wrap: break-word !important;
    }

    .product-name-row .prop-value {
        font-size: 0.85rem !important;
        font-weight: 600 !important;
    }

    /* Alternating row colors */
    .compare-table tr:nth-child(even) {
        background: #f9f9f9 !important;
    }

    .compare-img-box {
        width: 70px !important;
        height: 70px !important;
        margin: 0 auto !important;
    }

    .compare-img-box img {
        max-width: 100% !important;
        height: auto !important;
    }

    .price-cell .woocommerce-Price-amount {
        font-weight: 700 !important;
        color: #333 !important;
    }

    .compare-actions-btngroup {
        display: flex !important;
        flex-direction: column !important;
        gap: 5px !important;
        align-items: center !important;
    }

    /* Highly specific selector to override global WooCommerce button styles at line 11310 */
    .woocommerce-account .product-comparison-wrapper .compare-actions-btngroup a.button,
    .woocommerce-account .product-comparison-wrapper .compare-actions-btngroup .button {
        width: 100% !important;
        max-width: 120px !important;
        padding: 6px 4px !important;
        font-weight: 500 !important;
        font-size: 10px !important;
        border-radius: 4px !important;
        text-align: center !important;
        line-height: 1.2 !important;
        text-transform: uppercase !important;
    }

    .remove-compare-item {
        font-size: 0.7rem !important;
        text-transform: uppercase !important;
        color: #e74c3c !important;
        font-weight: 600 !important;
    }
}

/* 6. Product Shipping Details Box */
.product-shipping-details-box {
    margin-top: 25px;
    padding-top: 20px;
    border-top: 1px solid #ECEBE6;
    font-family: 'Inter', sans-serif;
}

.shipping-rate-line {
    font-size: 0.95rem;
    color: #333;
    margin-bottom: 8px;
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

.shipping-notice-line {
    font-size: 0.85rem;
    color: #555;
    font-style: italic;
    margin-bottom: 5px;
    line-height: 1.4;
}

.shipping-divider {
    height: 1px;
    background: #ECEBE6;
    margin: 15px 0;
}

.casket-shipping-warning,
.intl-shipping-notice {
    font-size: 0.9rem;
    color: #6b7a4d;
    font-weight: 600;
    margin-top: 12px;
    line-height: 1.5;
}

.casket-shipping-warning {
    color: #c44d4d;
    /* Subtle red for warning */
}

@media (max-width: 768px) {
    .product-shipping-details-box {
        margin-top: 15px;
        padding-top: 15px;
    }
}

/* ==========================================================================
   GLOBAL FONT OVERRIDES - FORCE TIMES NEW ROMAN ON TITLES (BOTTOM)
   ========================================================================== */
h1,
h2,
h3,
h4,
h5,
h6,
h1 a,
h2 a,
h3 a,
h4 a,
h5 a,
h6 a,
.woocommerce-loop-product__title,
.woocommerce-loop-product__title a,
.woocommerce-loop-product__link,
.wc-block-grid__product-title,
.wc-block-grid__product-title a,
.wc-block-components-product-title,
.wc-block-components-product-title a,
.product_title,
.product-title,
.product-title a,
.blog-title,
.blog-title a,
.blog-title-modern,
.blog-title-modern a,
.entry-title,
.entry-title a,
.post-title,
.post-title a,
.cart-empty,
.cart-empty-title,
.shop-title,
.serif-font,
.wc-block-grid__title,
.wp-block-heading,
.section-title,
.page-title,
.category-product-title,
.category-product-title a,
.bestseller-title,
.bestseller-title a,
.latest-product-title,
.latest-product-title a,
.price,
.woocommerce-Price-amount,
.amount,
.woocommerce-loop-product__link,
.product-info h2,
.product-info h3,
.latest-product-title,
.category-product-title,
.bestseller-title {
    font-family: 'Times New Roman', Times, serif !important;
}

/* FINAL FORCE LOCAL FONT */
h1,
h2,
h3,
h4,
h5,
h6,
h1 a,
h2 a,
h3 a,
h4 a,
h5 a,
h6 a,
.woocommerce-loop-product__title,
.woocommerce-loop-product__title a,
.woocommerce-loop-product__link,
.product_title,
.product-title,
.product-title a,
.blog-title,
.blog-title a,
.blog-title-modern,
.blog-title-modern a,
.entry-title,
.entry-title a,
.post-title,
.post-title a,
.shop-title,
.section-title,
.page-title,
.category-product-title,
.category-product-title a,
.bestseller-title,
.bestseller-title a,
.latest-product-title,
.latest-product-title a,
.price,
.woocommerce-Price-amount,
.amount,
.button,
button,
input[type="submit"],
.wp-element-button {
    font-family: 'Times New Roman Custom', 'Times New Roman', Times, serif !important;
}

/* HOMEPAGE SPECIFIC FONT FIX - WEIGHT 600 */
.category-product-title,
.category-product-card .category-product-title,
.bestseller-card .category-product-title,
.latest-product-card .category-product-title,
.latest-product-title,
.best-sellers-title,
.gb-title,
.section-title,
.info-box-title,
.banner-title-white,
.newsletter-title-modern,
.blog-title-modern {
    font-family: 'Times New Roman Custom', 'Times New Roman', Times, serif !important;
    font-weight: 700 !important;
}

/* Ensure price and buttons also consistent */
.category-product-price,
.category-product-price .amount,
.price,
.price .amount {
    font-family: 'Times New Roman Custom', 'Times New Roman', Times, serif !important;
    font-weight: 700 !important;
}

.btn-category-shop,
.btn-bestseller-shop,
.btn-latest-shop,
.btn-hero,
.btn-learn-more,
.btn-blog-learn-more,
.btn-subscribe-modern {
    font-family: 'Times New Roman Custom', 'Times New Roman', Times, serif !important;
    font-weight: 600 !important;
}

/* ========== MOBILE FOOTER ALIGNMENT FIX ========== */
@media (max-width: 768px) {
    .site-footer-modern .footer-grid {
        display: block !important;
    }

    .site-footer-modern .footer-col-logo,
    .site-footer-modern .footer-col-resources,
    .site-footer-modern .footer-col-contact {
        width: 100% !important;
        max-width: 100% !important;
        padding-right: 0 !important;
        margin-bottom: 1.5rem;
        text-align: left !important;
    }

    .site-footer-modern .footer-logo-card {
        width: 100% !important;
        padding: 20px;
    }

    .site-footer-modern .footer-logo-img img {
        width: 100% !important;
        max-width: 280px;
        margin-left: 0;
    }

    .site-footer-modern .footer-info-text {
        font-size: 1.05rem;
        line-height: 1.4;
        width: 100% !important;
    }

    .site-footer-modern .footer-heading {
        font-size: 1.8rem;
        margin-bottom: 1.5rem;
    }

    .site-footer-modern .footer-links li {
        margin-bottom: 0.8rem;
    }

    .site-footer-modern .footer-links a {
        font-size: 0.65rem;
    }

    .site-footer-modern .resources-two-cols {
        display: block !important;
    }
}

/* ==========================================================================
   LOST PASSWORD PAGE STYLES (Custom Alignment)
   ========================================================================== */
.lost-password-card {
    background: #fff;
    box-shadow: 0 2px 10px rgba(0, 0, 0, 0.05);
}

.lost-password-message {
    font-size: 15px;
    color: #444;
    line-height: 1.6;
    margin-bottom: 30px;
    font-family: 'Inter', sans-serif;
}

.input-button-group {
    display: flex;
    flex-wrap: wrap;
    gap: 20px;
    align-items: flex-start;
    width: 100%;
    margin-top: 10px;
}

.input-button-group .woocommerce-Input {
    flex: 1;
    min-width: 300px;
    height: 50px;
    padding: 0 15px;
    border: 1px solid #e0e0e0;
    border-radius: 4px;
    background: #fdfdfd;
    font-size: 16px;
    margin: 0 !important;
    box-shadow: inset 0 1px 3px rgba(0, 0, 0, 0.02);
}

.btn-reset-password {
    background: #73884D !important;
    color: #fff !important;
    padding: 0 40px !important;
    height: 50px !important;
    border-radius: 50px !important;
    font-weight: bold !important;
    font-size: 15px !important;
    text-transform: capitalize !important;
    border: none !important;
    cursor: pointer;
    transition: all 0.3s ease;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    white-space: nowrap;
    box-shadow: 0 2px 5px rgba(115, 136, 77, 0.2);
    margin-top: 5px;
    /* Extra gap if stacked */
}

.btn-reset-password:hover {
    background: #5a6d3a !important;
    box-shadow: 0 4px 12px rgba(115, 136, 77, 0.3);
    transform: translateY(-1px);
}

.form-row-group label {
    font-weight: 700;
    color: #333;
    margin-bottom: 8px;
    display: block;
    text-transform: uppercase;
    font-size: 12px;
    letter-spacing: 0.8px;
    font-family: 'Inter', sans-serif;
}

@media (max-width: 600px) {
    .input-button-group {
        flex-direction: column;
        align-items: stretch;
        gap: 15px;
    }

    .btn-reset-password {
        width: 100%;
    }

    .lost-password-message {
        font-size: 14px;
    }
}

/* ==========================================================================
   EDIT ACCOUNT INFORMATION STYLES
   ========================================================================== */
.account-details-title {
    font-size: 2rem;
    color: #444;
    margin-bottom: 30px;
    font-weight: 600;
}

/* Specific to account pages to avoid overriding homepage titles */
.edit-account-details .section-title {
    font-size: 1.4rem;
    color: #666;
    margin-bottom: 25px;
    font-weight: 500;
    border: none !important;
}

.edit-account-details .horizontal-form-row {
    margin-bottom: 20px;
}

.edit-account-details .horizontal-form-row label {
    flex: 0 0 160px;
    text-align: left;
    /* Aligned left in reference */
    padding-right: 15px;
    color: #555;
    font-size: 15px;
}

.edit-account-details .horizontal-form-row .input-text {
    background: #f4f5f7;
    /* Very light gray/blue as in reference */
    border: none;
    padding: 12px 15px;
    font-size: 15px;
    color: #333;
    border-radius: 2px;
}

.form-footer-actions {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-top: 40px;
    padding-top: 20px;
}

.btn-back {
    display: inline-block;
    background: #f9f9f9;
    color: #333;
    padding: 10px 30px;
    border-radius: 4px;
    font-size: 15px;
    font-weight: 600;
    text-decoration: none;
    transition: all 0.2s ease;
}

.btn-back:hover {
    background: #f0f0f0;
}

.btn-continue-account {
    background: #f9f9f9 !important;
    /* Button in ref looks light/white with text */
    color: #000 !important;
    padding: 10px 35px !important;
    border-radius: 4px !important;
    font-weight: bold !important;
    font-size: 15px !important;
    text-transform: uppercase !important;
    border: 1px solid #eee !important;
    cursor: pointer;
    box-shadow: 0 2px 4px rgba(0, 0, 0, 0.02);
}

.btn-continue-account:hover {
    background: #fff !important;
    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.05);
}

@media (max-width: 768px) {
    .edit-account-details .horizontal-form-row {
        flex-direction: column;
        align-items: flex-start;
    }

    .edit-account-details .horizontal-form-row label {
        flex: none;
        width: 100%;
        margin-bottom: 8px;
    }

    .form-footer-actions {
        flex-direction: column-reverse;
        gap: 20px;
    }

    .btn-back,
    .btn-continue-account {
        width: 100%;
        text-align: center;
    }
}

/* Background Pattern for Account Pages */
.account-page-wrapper {
    background: #fff;
    min-height: 600px;
    padding-top: 50px;
    padding-bottom: 80px;
}

/* Button CONTINUE style refinement */
.btn-continue-account {
    letter-spacing: 1px;
}

/* Cart Page Fixes */
.woocommerce-cart .wc-block-grid__products {
    display: none !important;
}

.woocommerce-cart .page-title,
.woocommerce-cart .cart-empty,
.woocommerce-cart h1.wc-block-cart__title {
    text-align: center !important;
    padding-bottom: 2rem !important;
}

/* Hide 'New in store' heading on Cart Page */
.woocommerce-cart .wc-block-grid__title,
.woocommerce-cart .wp-block-heading {
    display: none !important;
}

/* MOBILE REFINEMENTS - FORCED OVERRIDES */
@media (max-width: 767px) {

    /* 1. Remove all padding from image and container */
    .woocommerce ul.products li.product,
    .product-image-container,
    .woocommerce ul.products li.product a img {
        padding: 0 !important;
        margin: 0 !important;
        background: #fff !important;
    }

    /* Ensure overlay is transparent */
    .woocommerce ul.products li.product>a.card-link-overlay {
        background: transparent !important;
    }

    .woocommerce ul.products li.product a img,
    .product-image-container img {
        width: 100% !important;
        height: auto !important;
        object-fit: cover !important;
        /* border-radius: 20px 20px 0 0 !important; */
        display: block !important;
    }

    /* 2. Hide Wishlist and Compare COMPLETELY */
    .loop-secondary-actions,
    .gb-add-to-wishlist,
    .gb-add-to-compare,
    .loop-action-icon {
        display: none !important;
        visibility: hidden !important;
        opacity: 0 !important;
        pointer-events: none !important;
        height: 0 !important;
        width: 0 !important;
        margin: 0 !important;
        padding: 0 !important;
        position: absolute !important;
        /* Move out of flow */
    }

    /* 3. Aggressive reduction of spacing */
    .woocommerce-loop-product__title,
    .woocommerce ul.products li.product h2,
    .category-product-title {
        font-size: 0.85rem !important;
        margin: 8px 0 2px !important;
        /* Even smaller margins */
        /* padding: 0 8px !important; */
        /* line-height: 1.2 !important; */
        height: 2.4em !important;
        overflow: hidden !important;
        color: #333 !important;
    }

    .woocommerce ul.products li.product .price,
    .category-product-price {
        font-size: 0.9rem !important;
        margin-bottom: 8px !important;
        /* Smaller margin */
        padding: 0 8px !important;
        display: block !important;
        color: #73884D !important;
    }

    .category-product-info {
        padding: 10px 5px !important;
    }

    .category-product-image {
        height: 150px !important;
    }

    /* 4. Align Shop Now and Add to Cart in ONE ROW */
    .product-loop-actions,
    .category-product-actions {
        display: flex !important;
        flex-direction: row !important;
        flex-wrap: nowrap !important;
        gap: 5px !important;
        padding: 0 8px 12px !important;
        align-items: center !important;
        justify-content: center !important;
        margin-top: auto !important;
    }

    .btn-loop-shop-now,
    .btn-category-shop {
        flex: 1 !important;
        padding: 6px 4px !important;
        font-size: 0.7rem !important;
        height: 36px !important;
        border-radius: 20px !important;
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
        white-space: nowrap !important;
        margin: 0 !important;
        text-transform: none !important;
        background: #73884D !important;
        color: #fff !important;
        /* Save space if capitalized */
    }

    .product-loop-actions .btn-category-add-to-cart,
    .category-product-actions .btn-category-add-to-cart {
        flex: 0 0 36px !important;
        width: 36px !important;
        height: 36px !important;
        padding: 0 !important;
        margin: 0 !important;
        border-radius: 50% !important;
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
        background: transparent !important;
        color: #73884D !important;
        border: 1px solid #73884D !important;
    }

    /* Grid layout */
    .woocommerce ul.products {
        grid-template-columns: repeat(2, 1fr) !important;
        gap: 10px !important;
        padding: 0 8px !important;
    }
}

/* Force Homepage Title Consistency */
.top-categories-section .section-title,
.latest-products-section .section-title,
.best-sellers-title {
    font-size: 2.5rem !important;
    color: #000 !important;
    font-family: 'Times New Roman Custom', 'Times New Roman', Times, serif !important;
    font-weight: 700 !important;
    text-transform: none !important;
}

/* WooCommerce My Account Orders Table Styling */
.woocommerce table.shop_table {
    width: 100%;
    border-collapse: collapse;
    margin: 0 0 2rem 0;
    font-size: 1rem;
    line-height: 1.4;
}

.woocommerce table.shop_table th,
.woocommerce table.shop_table td {
    padding: 1rem;
    text-align: left;
    border-bottom: 1px solid #e0e0e0;
    vertical-align: middle;
}

.woocommerce table.shop_table th {
    background: #f8f9fa;
    font-weight: 600;
    color: #333;
    border-bottom: 2px solid #dee2e6;
}

.woocommerce table.shop_table tbody tr:hover {
    background: #f8f9fa;
}

.woocommerce table.shop_table .woocommerce-orders-table__cell-order-number {
    font-weight: 600;
    color: #73884D;
}

.woocommerce table.shop_table .woocommerce-orders-table__cell-order-date,
.woocommerce table.shop_table .woocommerce-orders-table__cell-order-status,
.woocommerce table.shop_table .woocommerce-orders-table__cell-order-total {
    color: #666;
}

.woocommerce table.shop_table .woocommerce-orders-table__cell-order-actions .button {
    padding: 0.5rem 1rem;
    font-size: 0.875rem;
    border-radius: 4px;
    text-decoration: none;
    display: inline-block;
    margin-right: 0.5rem;
    margin-bottom: 0.25rem;
}

.woocommerce table.shop_table .woocommerce-orders-table__cell-order-actions .button:last-child {
    margin-right: 0;
}

/* Responsive Design for Orders Table */
@media (max-width: 768px) {
    .woocommerce table.shop_table {
        font-size: 0.875rem;
        /* min-width: 600px; */
        /* Force horizontal scroll on small screens */
    }

    .woocommerce table.shop_table th,
    .woocommerce table.shop_table td {
        padding: 0.75rem 0.5rem;
    }

    .woocommerce .woocommerce-MyAccount-content {
        overflow-x: auto;
        -webkit-overflow-scrolling: touch;
    }

    .woocommerce table.shop_table .woocommerce-orders-table__cell-order-actions {
        min-width: 120px;
    }

    .woocommerce table.shop_table .woocommerce-orders-table__cell-order-actions .button {
        padding: 0.4rem 0.8rem;
        font-size: 0.8rem;
        margin-right: 0.25rem;
        margin-bottom: 0.125rem;
    }
}

@media (max-width: 480px) {
    .woocommerce table.shop_table {
        font-size: 0.8rem;
    }

    .woocommerce table.shop_table th,
    .woocommerce table.shop_table td {
        padding: 0.5rem 0.25rem;
    }
}