/*
Theme Name: Gn Pro
Author: Ganesh Saran
Description: Premium WordPress Theme
Version: 1.0
*/
:root {
 /* Gram Earth Core Brand Colors */
  --color-primary: #2B2B2B; /* Charcoal Grey for text */
  --color-white: #FFFFFF;
  --color-black: #000000;
  --color-bg: #F9F6F0; /* Warm Cream Base */
  --color-cream: #FAF8F5; /* Header/Light areas */
  --color-earth-brown: #5E3A21; /* Mitti / Logo Text */
  --color-olive-green: #788035; /* Leaves / Organic touch */
  --color-golden-amber: #EFA624; /* Oil Drop / Highlight & Action */
  --color-terracotta: #B04A3C; /* Error / Sale Tags */
  --color-border: #E6E6E6;
  

  --swiper-pagination-bottom:-0px;
  
}
body {
    font-family: 'Poppins', 'Segoe UI', sans-serif;
    color: var(--color-primary);
    background-color: var(--color-bg);
    min-height: 100vh;
  min-height: 100dvh;
}
:focus-visible{text-decoration: none;    outline: none;}
.h2, h2 {
    font-weight: 600;
}
a{text-decoration: none; color: var(--secondary-color);}
.gm-btn {
    background: var(--color-golden-amber);
    color: var(--color-white);
    border: none;
    border-radius: 40px;
    font-weight: 500;
    transition: all 0.3s ease;
    white-space: nowrap;
    display: inline-block;
}

.gm-btn:hover {
     background: var(--color-golden-amber);
    transform: translateY(-2px);
    color: var(--color-black);
}

.gm-tag {
  display: inline-block;
  background: rgba(201, 169, 106, 0.50);
  color: var(--color-terracotta);
  padding: 6px 18px;
  border-radius: 50px;
  font-size: 13px;
  font-weight: 600;
  margin-bottom: 14px;
}

/* ===== GRAM EARTH PAGE LOADER ===== */
.ge-loader-wrapper {
    position: fixed;
    top: 0;
    left: 0;
    width: 100vw;
    height: 100vh;
    background-color: var(--color-cream); /* Premium Cream Background */
    display: flex;
    justify-content: center;
    align-items: center;
    z-index: 999999; /* Sabse upar rakhne ke liye */
    transition: opacity 0.6s ease-out, visibility 0.6s ease-out;
}

.ge-loader-content {
    text-align: center;
}

/* Logo Breathing Animation */
.ge-loader-logo {
    width: 160px; /* Logo ka size yahan se adjust karein */
    height: auto;
    animation: gePulse 2s infinite ease-in-out;
}

@keyframes gePulse {
    0% { transform: scale(0.95); opacity: 0.8; }
    50% { transform: scale(1.05); opacity: 1; }
    100% { transform: scale(0.95); opacity: 0.8; }
}

/* Golden Loading Spinner */
.ge-loader-spinner {
    width: 35px;
    height: 35px;
    margin: 25px auto 0;
    border: 3px solid rgba(239, 166, 36, 0.2); /* Light Golden */
    border-top: 3px solid var(--color-golden-amber); /* Solid Golden Amber */
    border-radius: 50%;
    animation: geSpin 1s linear infinite;
}

@keyframes geSpin {
    0% { transform: rotate(0deg); }
    100% { transform: rotate(360deg); }
}

/* Class to fade out loader smoothly */
.ge-loader-hidden {
    opacity: 0;
    visibility: hidden;
}



.swiper-pagination-bullet-active{background: var(--color-golden-amber);}
.swiper-slide{height:auto;}
.swiper {
    padding-bottom: 40px;
}

/*mini-cart */


.ge-mini-cart{
width:420px;
max-width: 95%;
}
.offcanvas-header {
    background: var(--color-earth-brown);
    color: var(--color-cream);
}


/* ===== GRAM EARTH OFFCANVAS MINI-CART ===== */
.offcanvas.offcanvas-end{width: 450px;}
/* 1. Header Styling */
.ge-mini-cart .offcanvas-header {
    background: var(--color-earth-brown);
    color: var(--color-white);
    padding: 16px 20px;
    border-bottom: none;
}

.ge-mini-cart .offcanvas-header h5 {
    margin: 0;
    font-size: 18px;
    font-weight: 600;
}

/* Close icon ko white karne ke liye */
.offcanvas-header .btn-close {
    filter: invert(1); 
    opacity: 0.9;
}

/* 2. Body Area & Free Shipping Bar */
.ge-mini-cart .offcanvas-body {
    padding: 15px;
    background: var(--color-white);
    padding-bottom: 140px; /* Custom footer ke liye space */
}

.ge-free-shipping {
    background: #F0F4F1;
    padding: 14px 18px;
    border-radius: 10px;
    margin-bottom: 25px;
    text-align: center;
    border: 1px solid var(--color-border);
}

.ge-free-shipping p {
    margin: 0;
    font-size: 14px;
    font-weight: 500;
    color:#2E7D32;
}

.ge-progress {
    height: 6px;
    background: #EAEAEA;
    border-radius: 10px;
    margin-top: 10px;
    overflow: hidden;
}

.ge-progress-bar {
    height: 100%;
    background: var(--color-golden-amber);
    border-radius: 10px;
    transition: width 0.4s ease;
}
.ge-free-shipping i {
    font-size: 20px;
    bottom: -3px;
    position: relative;
    color: var(--color-golden-amber);
    margin-right: 5px;
}
/* 3. Product List Styling (Fixing Overlaps) */
.ge-mini-cart ul.woocommerce-mini-cart {
    padding: 0 !important;
    margin: 0 !important;
    list-style: none !important;
}

.ge-mini-cart ul.woocommerce-mini-cart li.mini_cart_item {
    display: flex;
    align-items: flex-start;
    gap: 15px;
    padding: 10px;
    border-bottom: 1px solid var(--color-border);
    position: relative; /* Ensure absolute positioning works */
    background: var(--color-cream);
    border-radius: 8px;;
}

/* Product Image */
.ge-mini-cart ul.woocommerce-mini-cart li.mini_cart_item img {
    width: 50px !important;
    height:50px !important;
    border-radius: 8px;
    border: 1px solid var(--color-border);
    margin: 0 !important;
    float: none !important; /* Overriding default woo css */
        object-fit: contain;
}

/* Title & Quantity Container */
.ge-mini-cart ul.woocommerce-mini-cart li.mini_cart_item a:not(.remove) {
    font-size: 15px;
    color: var(--color-earth-brown);
    display: block;
    line-height: 1.4;
    
}
.mini-rem-part, .mini-cont_part {
    position: relative;
    align-content: end;
}
.item_nam{margin-bottom: 10px;}

/* Remove 'X' Button Position Fix */
.ge-mini-cart ul.woocommerce-mini-cart li.mini_cart_item a.remove {
     color: var(--color-terracotta) !important;
    font-size: 24px !important;
    line-height: 1 !important;
    background: transparent !important;
    text-decoration: none;
    transition: 0.3s ease;
    position: absolute;
    right: 10px;
    top: 0;
}

.ge-mini-cart ul.woocommerce-mini-cart li.mini_cart_item a.remove:hover {
    transform: scale(1.1);
}

/* 4. IMPORTANT: Hide default WooCommerce Footer & Subtotal */
.ge-mini-cart .widget_shopping_cart_content .woocommerce-mini-cart__total,
.ge-mini-cart .widget_shopping_cart_content .woocommerce-mini-cart__buttons {
    display: none !important; 
}

/* 5. Custom Footer Styling (Aapka banaya hua) */
.ge-cart-footer {
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    background: var(--color-cream);
    padding: 20px;
    border-top: 1px solid var(--color-border);
    box-shadow: 0 -5px 20px rgba(0,0,0,0.05);
    z-index: 10; /* Keep above scrolling content */
}

.ge-subtotal {
    display: flex;
    justify-content: space-between;
    align-items: center;
    font-size: 16px;
    font-weight: 600;
    color: var(--color-primary);
    margin-bottom: 15px;
}

.ge-subtotal span {
    font-size: 20px;
    font-weight: 700;
    color: var(--color-earth-brown);
}

.ge-checkout-btn {
    display: block;
    width: 100%;
    text-align: center;
    background: var(--color-golden-amber);
    color: var(--color-primary);
    padding: 14px;
    border-radius: 40px;
    font-size: 16px;
    font-weight: 600;
    transition: all 0.3s ease;
    text-decoration: none;
}

.ge-checkout-btn:hover {
    color: var(--color-black);
    transform: translateY(-2px);
}

/* Hide annoying AJAX gray loader circle */
.ge-mini-cart .blockUI.blockOverlay {
    background: rgba(255,255,255,0.7) !important;
    cursor: wait !important;
}





/* Top Bar */
.top-bar {
  background: var(--color-earth-brown);
  color:var(--color-cream);
  text-align: center;
  padding:10px;
  font-size: 14px;
  position: relative;
  overflow: hidden;
}
.top-bar-inner {
  position: relative;
  height: 20px;
}

.top-message {
  position: absolute;
  width: 100%;
  opacity: 0;
  transform: translateY(100%);
  transition: all 1s ease;
}

.top-message.active {
  opacity: 1;
  transform: translateY(0);
}

.top-message.exit {
  opacity: 0;
  transform: translateY(-100%);
}
.top-message i {
  font-size: 14px;
  vertical-align: middle;
  color: var(--color-golden-amber);
}
.coupon {
    background: var(--color-golden-amber);
    color: var(--color-black);
    padding: 4px 10px;
    border-radius: 4px;
    font-weight: 600;
    margin: 0 8px;
}






/* Trust Section */
.ge-trust {
  background: var(--color-cream);
}

.trust-heading {
  color: var(--color-earth-brown);  
}

.trust-desc {
  color: var(--color-primary);
  margin: 18px 0 22px;
}

.trust-points {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 12px;
}

.trust-item {
  background: var(--color-white);
  padding: 10px 14px;
  border-radius: 10px;
  font-size: 14px;
  border: 1px solid var(--color-border);
}

.trust-badges {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 18px;
}

.badge-card {
  background: var(--color-white);
  padding: 22px 18px;
  border-radius: 16px;
  border: 1px solid var(--color-border);
  transition: all 0.3s ease;
}

.badge-card:hover {
  transform: translateY(-5px);
  box-shadow: 0 10px 25px rgba(0,0,0,0.05);
  border-color: var(--color-border);
}

.badge-icon {
  font-size: 28px;
  margin-bottom: 10px;
  color: var(--color-golden-amber);
}

.badge-card h5 {
  font-weight: 600;
  font-size: 17px;
  color: var(--color-earth-brown);
  margin-bottom: 6px;
}

.badge-card p {
  font-size: 14px;
  color: var(--color-primary);
  line-height: 1.6;
}

@media (max-width: 768px) {
  .trust-points {
    grid-template-columns: 1fr;
  }
  .trust-badges {
    grid-template-columns: 1fr;
  }
}


/* why us section */

.why-choose-clean {
  background: var(--color-cream);
  border-top: 1px solid var(--color-border);
}


.wc-heading {

  color: var(--color-earth-brown);
}

.wc-subtext {
  max-width: 640px;
  margin: 10px auto 0;
  color: var(--color-primary);

}

.wc-card {
  background: var(--color-white);
  border-radius: 18px;
  padding: 30px 22px;
  height: 100%;
  text-align: center;
  border: 1px solid var(--color-border);
  transition: all 0.3s ease;
}
.wc-card:hover {
  transform: translateY(-5px);
  box-shadow: 0 10px 30px rgba(0,0,0,0.05);
}

.wc-icon {
  font-size: 34px;
  margin-bottom: 12px;
  color: var(--color-golden-amber);
}

.wc-card h5 {
  font-weight: 600;
  color: var(--color-black);
  margin-bottom: 8px;
  font-size: 18px;
}





.woocommerce:where(body:not(.woocommerce-block-theme-has-button-styles)) section #respond #commentform input#submit{ background:transparent;
    opacity: 1;
    padding: 15px 30px 15px 30px;
    box-shadow: none;
    border: 2px solid  var(--primary-color);
    border-radius: 99px;
    color: var(--primary-color);
    font-weight: 500;}
.woocommerce:where(body:not(.woocommerce-block-theme-has-button-styles)) section #respond #commentform input#submit:hover{background: var(--secondary-color); color: var(--white-text); border-color: var(--secondary-light-color);}








.glass-header {
    position: sticky;   
    z-index: 1000;
    backdrop-filter: blur(20px);
    background:var(--color-cream);
    transition: all 0.3s ease;
    border-bottom:1px solid var(--color-border);
}

.logo-img {
    height:90px !important;
    transition: 0.3s ease;
}

.header-shrink {
    padding: 10px 0 !important;
    box-shadow: 0 5px 20px rgba(0,0,0,0.08);
     top: 0;
}

.header-shrink .logo-img {
    height: 45px !important;
}

.navbar-nav li {
    list-style: none;
}

.navbar-nav li a {
    text-decoration: none;
    color: var(--color-earth-brown);
    font-weight: 500;
    transition: 0.3s;
}

.navbar-nav li a:hover,  .navbar-nav li.current_page_item a{
    color: var(--color-golden-amber);
}


.cart-count {
    position: absolute;
    top: -8px;
    right: -10px;
    background: var(--color-golden-amber);
    font-size: 12px;
    padding:0px 6px;
    border-radius: 50%;
}



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



.icon i,
.search-wrapper i {
    font-size: 20px;
    color: var(--color-earth-brown);
    transition: 0.3s ease;
}

.icon i:hover,
.search-wrapper i:hover {
    color: var(--color-golden-amber);
    transform: scale(1.1);
}

.ge-footer {
  background: var(--color-earth-brown);
  color: var(--color-cream);
 
}

/* Titles */
.ge-footer .footer-title {
  font-size: 18px;
  font-weight: 600;
  color: var(--color-golden-amber); /* Gold */
  margin-bottom: 18px;
  letter-spacing: 0.5px;
}

/* Description text */
.ge-footer .footer-desc {
  color: var(--color-cream);
}

/* Trust badges */
.ge-footer .footer-trust {
  margin-top: 15px;
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}

.ge-footer .footer-trust span {
  background: rgba(244, 197, 66, 0.12);
  border: 1px solid rgba(244, 197, 66, 0.4);
  color: var(--color-golden-amber);
  padding: 6px 12px;
  border-radius: 20px;
  font-size: 13px;
  transition: 0.3s ease;
}

.ge-footer .footer-trust span:hover {
  background: var(--color-golden-amber);
  color: var(--color-earth-brown);
}

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

.ge-footer .footer-links li {
  margin-bottom: 10px;
}

.ge-footer .footer-links a {
  color: var(--color-cream);
  text-decoration: none;
  font-size: 14.5px;
  transition: all 0.3s ease;
}

.ge-footer .footer-links a:hover {
  color: var(--color-golden-amber); /* Gold hover */
  padding-left: 4px;
}

/* Contact */
.ge-footer .footer-contact {
  list-style: none;
  padding: 0;
  margin: 0;
}

.ge-footer .footer-contact li {
  margin-bottom: 12px;
  color: var(--color-cream);
  font-size: 14.5px;
}

.ge-footer .footer-contact a {
  color: var(--color-cream);
  text-decoration: none;
}

.ge-footer .footer-contact a:hover {
  color: var(--color-golden-amber);
}

/* Divider */
.ge-footer .footer-divider {
  height: 1px;
  background: linear-gradient(to right, transparent, var(--color-golden-amber), transparent);
  opacity: 0.6;
}

/* Bottom Bar */
.ge-footer .footer-bottom {
  padding-top: 5px;
  font-size: 14px;
  color: var(--color-cream);
}

/* Developed by text */
.ge-footer .developed-by a {
  color: var(--color-golden-amber) !important;
  font-weight: 500;
  text-decoration: none;
}

.ge-footer .developed-by a:hover {
  text-decoration: underline;
}

/* Policies links */
.ge-footer .footer-policies a {
  color: var(--color-cream);
  margin-left: 18px;
  font-size: 14px;
  text-decoration: none;
  transition: 0.3s ease;
}

.ge-footer .footer-policies a:hover {
  color: var(--color-golden-amber);
}

/* Mobile spacing */
@media (max-width: 768px) {
  .ge-footer .footer-policies a {
    margin: 0 8px;
    display: inline-block;
    margin-top: 6px;
  }
}


.featured-product-luxury {
  background: var(--color-earth-brown);
  color: #fff;
}

.luxury-wrapper {
  border-radius: 28px;
  padding: 50px;
  backdrop-filter: blur(18px); 
  box-shadow: 0 30px 80px rgba(0,0,0,0.45);
}

.luxury-image-box {
  background: radial-gradient(circle, rgba(201,169,106,0.18), transparent);
  border-radius: 24px;
  padding: 0px;
  overflow: hidden;
}

.luxury-product-img {
  max-height: 470px;
  transition: 0.4s ease;
}
.luxury-product-img:hover {
  transform: scale(1.06);
}

.luxury-badge {
  background: var(--color-golden-amber);
  color: var(--color-black);
  padding: 7px 18px;
  border-radius: 50px;
  font-weight: 600;
  font-size: 13px;
}

.luxury-title {
  margin-top: 15px;
}
.luxury-title a{color: var(--color-white);}
.luxury-title span {
  display: block;
  font-size: 18px;
  color: var(--color-golden-amber);
  font-weight: 500;
}

.luxury-desc {
  color: var(--color-cream);
  line-height: 1.8;
  margin-top: 15px;
}

.luxury-price {
  font-size: 32px;
  font-weight: 700;
  color: var(--color-golden-amber);
  margin-top: 10px;
  margin-bottom: 10px;
}
.qty-box {
  display: flex;
  align-items: center;
  background: var(--color-earth-brown);
  border: 1px solid var(--color-golden-amber);
  border-radius: 50px;
  overflow: hidden;
}

.qty-btn {
  background: transparent;
  border: none;
  color: var(--color-golden-amber);
  font-size: 20px;
  padding: 8px 16px;
  cursor: pointer;
}

.qty-input {
  width: 60px;
  text-align: center;
  border: none;
  background: transparent;
  color: var(--color-white);
  font-weight: 600;
}

.btn-luxury-buy {
  background: var(--color-golden-amber);
  color: #000;
  padding: 14px 34px;
  border-radius: 50px;
  font-weight: 700;
  border: none;
}

.btn-luxury-outline {
  border: 1px solid var(--color-golden-amber);
  color: var(--color-golden-amber);
  padding: 10px 30px;
  border-radius: 50px;
  background: transparent;
}
.btn-luxury-outline:hover{background: var(--color-golden-amber); color:var(--color-black)}

.luxury-trust span {
  margin-right: 20px;
  color: #e6d7b2;
  font-size: 14px;
}

/* ===== GRAM EARTH LUXURY ABOUT PAGE ===== */

.ge-section {
  padding: 80px 0;
}

/* HERO */
.ge-about-hero {
  background: var(--color-earth-brown);
  color: var(--color-cream);
  text-align: center;
  padding: 60px 20px;
}

.ge-about-hero h1 {
  font-size: 44px;
  font-weight: 700;
  margin: 20px 0;
}

.ge-subtext {
  max-width: 750px;
  margin: auto;
  font-size: 18px;
  line-height: 1.8;
  opacity: 0.95;
}

/* GRID */
.ge-grid {
  display: grid;
  grid-template-columns: 1.2fr 1fr;
  gap: 40px;
  align-items: center;
}


/* HIGHLIGHT BOX */
.ge-highlight-box {
  background: #fff;
  padding: 30px;
  border-radius: 14px;
  border: 1px solid #eee;
  box-shadow: 0 10px 30px rgba(0,0,0,0.05);
}

.ge-highlight-box h3 {
  margin-bottom: 15px;
}

.ge-highlight-box ul {
  list-style: none;
  padding: 0;
}

.ge-highlight-box li {
  padding: 10px 0;
  border-bottom: 1px solid #f0f0f0;
  font-weight: 500;
}

/* PROCESS */
.ge-process-section {
  background: #ffffff;
  padding: 80px 0;
}

.center {
  text-align: center;
  margin-bottom: 50px;
}

.ge-process-steps {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 25px;
}

.step {
  background: #f9fbf9;
  padding: 30px 20px;
  border-radius: 12px;
  text-align: center;
  transition: 0.3s ease;
  border-top: 4px solid var(--color-golden-amber);
}

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

.step span {
  font-size: 28px;
  font-weight: 700;
  color: var(--color-golden-amber);
}

.step h4 {
  margin: 10px 0;
}

.step p {
  font-size: 15px;
}

/* FOUNDER */
.ge-founder {
  text-align: center;
}

.ge-founder h2 {
  font-size: 32px;
  margin-bottom: 15px;
}

.ge-founder p {

  margin: auto;
  line-height: 1.9;
}

/* VISION */
.ge-vision-luxury {
    padding-bottom: 80px;
}
.ge-vision-luxury-inner {
  background:var(--color-earth-brown);
  color: #fff;
  text-align: center;
  padding: 40px;
  border-radius: 16px;
}

.ge-vision-luxury-inner h2 {
  color: var(--color-golden-amber);
  margin-bottom: 15px;
}

.ge-vision-luxury-inner p {
  margin: auto;
  line-height: 1.9;
  font-size: 18px;
}

/* MOBILE */
@media(max-width: 768px){
  .ge-grid {
    grid-template-columns: 1fr;
  }
  .ge-process-steps {
    grid-template-columns: 1fr 1fr;
  }
  .ge-about-hero h1 {
    font-size: 32px;
  }
}


/* ===== GRAM EARTH CONTACT PAGE (LUXURY LIGHT) ===== */

.ge-contact-page {
  background: #f8fbf8;
  padding-bottom: 80px;
}

/* HERO */
.ge-contact-hero {
  background: linear-gradient(135deg, #0f3d2e, #14532d);
  color: #fff;
  padding: 90px 20px;
}

.ge-contact-hero h1 {
  font-size: 42px;
  font-weight: 700;
  margin: 15px 0;
}

.ge-contact-hero p {
  max-width: 650px;
  margin: auto;
  opacity: 0.9;
}

/* CONTACT CARDS */
.ge-contact-cards {
  margin-top: -50px;
}

.ge-contact-card {
  background: #fff;
  padding: 30px;
  border-radius: 14px;
  text-align: center;
  box-shadow: 0 12px 30px rgba(0,0,0,0.05);
  border-top: 4px solid #e6c76a;
}

.ge-contact-card h4 {
  margin-bottom: 10px;
}

.ge-contact-card a {
  text-decoration: none;
  font-weight: 500;
}

/* MAIN SECTION */
.ge-contact-main {
  margin-top: 70px;
}

.ge-form-box {
  background: #fff;
  padding: 40px;
  border-radius: 16px;
  box-shadow: 0 10px 35px rgba(0,0,0,0.05);
}

.ge-form-box h2 {
  color: #0f3d2e;
  margin-bottom: 10px;
}

/* BUSINESS BOX */
.ge-business-box {
  background: linear-gradient(135deg, #0f3d2e, #0b2e22);
  color: #fff;
  padding: 35px;
  border-radius: 16px;
}

.ge-business-box h3 {
  color: #e6c76a;
  margin-bottom: 20px;
}

.ge-contact-list {
  list-style: none;
  padding: 0;
  margin-bottom: 25px;
}

.ge-contact-list li {
  margin-bottom: 10px;
  opacity: 0.95;
}

/* WHATSAPP BUTTON */
.ge-whatsapp-btn {
  display: inline-block;
  background: #e6c76a;
  color: #0f3d2e;
  padding: 12px 26px;
  border-radius: 50px;
  font-weight: 600;
  text-decoration: none;
  transition: 0.3s ease;
}

.ge-whatsapp-btn:hover {
  background: #d4b45c;
  transform: translateY(-2px);
}
.ge-form-grid label {
    display: block;
}
.wpcf7 input.wpcf7-text,
.wpcf7 textarea,
.wpcf7 select {
  width: 100%;
  padding: 12px;
  border-radius: 8px;
  border: 1px solid #ddd;
  margin-top: 5px;
  margin-bottom: 20px;
}

.wpcf7-submit {
  background: #e6c76a;
  color: #0f3d2e;
  border: none;
  padding: 12px 30px;
  border-radius: 50px;
  font-weight: 600;
  cursor: pointer;
  transition: 0.3s;
      margin-top: 20px;
}

.wpcf7-submit:hover {
  background: #d4b45c;
}

/* ===== GRAM EARTH LUXURY PRODUCT PAGE ===== */

.ge-product-page {
  background: #fff;
}

/* Image */
.ge-product-image img {
  width: 100%;
  border-radius: 16px;
  background: #fff;
  padding: 20px;
  box-shadow: 0 10px 30px rgba(0,0,0,0.05);
}

/* Title */
.ge-product-title {
  font-size: 34px;
  font-weight: 700;
  color: #0f3d2e;
  margin-bottom: 15px;
}

/* Description */
.ge-short-desc {
  color: #555;
  margin-bottom: 20px;
  font-size: 16px;
}

/* Add to cart box */
.ge-cart-box .quantity input {
  border-radius: 8px;
  border: 1px solid #ddd;
  padding: 8px;
  width: 70px;
}
.ge-cart-box form.cart {
    display: flex;
    gap: 20px;
}
.ge-cart-box {
    display: flex;
    gap: 20px;
}
.cart button.single_add_to_cart_button{
background:#000 !important;
color:#fff;
border:none;
padding:14px 30px;
font-size:16px;
border-radius:40px;
display:inline-flex;
align-items:center;
gap:10px;
cursor:pointer;
transition:all .3s ease;
position:relative;
overflow:hidden;
}

.cart button.single_add_to_cart_button:hover{
background:#222 !important;
transform:translateY(-2px);
}

.cart button.single_add_to_cart_button::before{
content:"🛒";
font-size:18px;
}

.cart button.single_add_to_cart_button.loading{
pointer-events:none;
opacity:.8;
}

.cart button.single_add_to_cart_button.loading::after{
content:"";
width:18px;
height:18px;
border:2px solid #fff;
border-top:2px solid transparent;
border-radius:50%;
animation:geSpin 0.6s linear infinite;
position:absolute;
right:15px;
    top: 14px;
}

@keyframes geSpin{
0%{transform:rotate(0deg);}
100%{transform:rotate(360deg);}
}



/* Buy Now Button */
.ge-buy-now {
  display: inline-block;
  margin-top: 0px;
  background: #e6c76a;
  color: #0f3d2e;
  padding: 12px 32px;
  border-radius: 50px;
  font-weight: 700;
  text-decoration: none;
  transition: 0.3s;
}

.ge-buy-now:hover {
  background: #d4b45c;
  transform: translateY(-2px);
}




.ge-testimonials {
  background: #ffffff;
}


.t-subtext {
  max-width: 650px;
  margin: 10px auto 0;
}

.t-card {
  background: var(--color-cream);
  border-radius: 18px;
  padding: 28px 24px;
  height: 100%;
  border: 1px solid var(--color-border);
  transition: all 0.3s ease;
}

.t-card:hover {
  transform: translateY(-6px);
  box-shadow: 0 12px 30px rgba(0,0,0,0.05);
  border-color: #e7dfcf;
}

.t-stars {
  color: var(--color-golden-amber);
  font-size: 18px;
  letter-spacing: 2px;
  margin-bottom: 12px;
}

.t-review {
  font-size: 14px;
  line-height: 1.8;
  margin-bottom: 20px;
}

.t-user {
  display: flex;
  align-items: center;
  gap: 12px;
}

.t-avatar {
  width: 42px;
  height: 42px;
  border-radius: 50%;
  background: #eaf2e6;
  display: flex;
  align-items: center;
  justify-content: center;
  font-weight: 600;
}

.t-user h6 {
  margin: 0;
  font-weight: 600;
  font-size: 15px;
}

.t-user span {
  font-size: 13px;
}

/* ===== Gram Earth Product Tabs Luxury ===== */

.woocommerce-tabs {
  margin-top: 50px;
}

.woocommerce-tabs ul.tabs {
  border-bottom: 1px solid #e6e6e6;
}

.woocommerce-tabs ul.tabs li a {
  font-weight: 600;
  color: #0f3d2e !important;
  padding: 12px 18px !important;
}

.woocommerce-tabs ul.tabs li.active a {
  border-bottom: 3px solid #e6c76a !important;
  color: #14532d !important;
}

.ge-tab-content {
  font-size: 16px;
  line-height: 1.8;
  color: #555;
}

.ge-benefits {
  padding-left: 18px;
}

.ge-benefits li {
  margin-bottom: 10px;
  color: #0f3d2e;
  font-weight: 500;
}

.ge-nutrition-table {
  width: 100%;
  border-collapse: collapse;
  background: #f9fbf9;
  border-radius: 10px;
  overflow: hidden;
}

.ge-nutrition-table th {
  background: #14532d;
  color: #fff;
  padding: 12px;
  text-align: left;
}

.ge-nutrition-table td {
  padding: 12px;
  border-bottom: 1px solid #eee;
}
.product_meta {
    margin-top: 10px;
}
.content-area ul li {
    margin-bottom: 10px;
    list-style: square;
}


.ge-highlights{
    padding:80px 20px;
    background:#f6f6f6;
}



.ge-title{
    text-align:center;
    font-size:34px;
    margin-bottom:50px;
}

.ge-highlights-content{
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:25px;
}

.ge-highlights-content .highlight-box{
    background:#fff;
    padding:30px;
    border-radius:12px;
    text-align:center;
    box-shadow:0 10px 25px rgba(0,0,0,0.05);
    transition:all .3s ease;
}

.ge-highlights-content .highlight-box:hover{
    transform:translateY(-8px);
}

.highlight-icon{
    font-size:36px;
    margin-bottom:15px;
}

.highlight-title{
    font-size:18px;
    font-weight:600;
    margin-bottom:10px;
}

.highlight-desc{
    font-size:14px;
    color:#555;
}

@media (max-width:900px){
    .ge-highlights-content{
        grid-template-columns:repeat(2,1fr);
    }
}

@media (max-width:500px){
    .ge-highlights-content{
        grid-template-columns:1fr;
    }
}


.ge-health-benefits{
    padding:80px 20px;
    background:#fff;
}



.ge-health-grid{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:60px;
    align-items:center;
}

.ge-health-image img{
    width:100%;
    border-radius:12px;
}

.ge-health-title{
    font-size:34px;
    margin-bottom:25px;
}

.ge-benefits-list ul{
    list-style:none;
    padding:0;
}

.ge-benefits-list li{
    position:relative;
    padding-left:30px;
    margin-bottom:15px;
    font-size:16px;
}

.ge-benefits-list li:before{
    content:"✓";
    position:absolute;
    left:0;
    color:#2e7d32;
    font-weight:bold;
}

@media (max-width:900px){

.ge-health-grid{
    grid-template-columns:1fr;
}

}

.ge-product-uses{
    padding:80px 20px;
    background:#f8f8f8;
    clear: both;
}


.ge-uses-grid{
    display:grid;
    grid-template-columns:repeat(4,1fr);
    gap:25px;
    max-width:1100px;
    margin:auto;
}

.use-card{
    background:#fff;
    padding:30px;
    text-align:center;
    border-radius:12px;
    box-shadow:0 8px 20px rgba(0,0,0,0.05);
    transition:all .3s ease;
}

.use-card:hover{
    transform:translateY(-8px);
}

.use-icon{
    font-size:36px;
    margin-bottom:15px;
}

.use-title{
    font-size:18px;
    font-weight:600;
    margin-bottom:8px;
}

.use-desc{
    font-size:14px;
    color:#555;
}

@media (max-width:900px){
    .ge-uses-grid{
        grid-template-columns:repeat(2,1fr);
    }
}

@media (max-width:500px){
    .ge-uses-grid{
        grid-template-columns:1fr;
    }
}


.ge-oil-comparison{
    padding:80px 20px;
    background:#ffffff;
}





.ge-comparison-table{
    width:100%;
    border-collapse:collapse;
    border-radius:12px;
    overflow:hidden;
    box-shadow:0 10px 25px rgba(0,0,0,0.06);
}

.ge-comparison-table th{
    background:#2e7d32;
    color:#fff;
    padding:18px;
    font-size:18px;
}

.ge-comparison-table td{
    padding:16px;
    text-align:left;
    border-bottom:1px solid #eee;
    font-size:15px;
}

.ge-comparison-table tr:nth-child(even){
    background:#f7f7f7;
}

.good{
    color:#2e7d32;
    font-weight:600;
}

.bad{
    color:#c62828;
    font-weight:600;
}

section.ge-product-info{
    padding:80px 20px;
    background:#f9f9f9;
}





.ge-info-table{
    width:100%;
    border-collapse:collapse;
    background:#fff;
    border-radius:10px;
    overflow:hidden;
    box-shadow:0 5px 20px rgba(0,0,0,0.05);
}

.ge-info-table td{
    padding:16px 20px;
    border-bottom:1px solid #eee;
    font-size:15px;
}

.ge-info-table tr:nth-child(even){
    background:#f6f6f6;
}

.ge-info-title{
    font-weight:600;
    width:40%;
}

.ge-faq-section{
    padding:80px 20px;
}




.ge-section-title{
    text-align:center;
    font-size:34px;
    margin-bottom:40px;
}

.ge-faq-item{
    background:#fff;
    margin-bottom:15px;
    border-radius:8px;
    overflow:hidden;
    box-shadow:0 3px 10px rgba(0,0,0,0.05);
}

.ge-faq-question{
    width:100%;
    padding:18px;
    text-align:left;
    background:none;
    border:none;
    font-size:16px;
    font-weight:600;
    cursor:pointer;
}

.ge-faq-answer{
    max-height:0;
    overflow:hidden;
    transition:max-height .3s ease;
    border-top:1px solid #eee;
    font-size:14px;
    padding:0 18px;
}

.ge-faq-item.active .ge-faq-answer{
    max-height:200px;
    padding:18px;
}

.ge-faq-question {
    position: relative;
    cursor: pointer;
    padding: 15px 40px 15px 15px;
    font-weight: 600;
    border-bottom: 1px solid #eee;
}

.ge-faq-question::after {
    content: "+";
    position: absolute;
    right: 15px;
    top: 50%;
    transform: translateY(-50%);
    font-size: 20px;
    transition: 0.3s;
}

.ge-faq-item.active .ge-faq-question::after {
    content: "-";
}

.ge-review-section{
padding:80px 20px;
background:#f9f9f9;
}

.ge-review-header{
margin-bottom:40px;
}

.ge-review-average h2{
font-size:48px;
margin:0;
}

.ge-review-grid{
display:grid;
grid-template-columns:repeat(1,1fr);
gap:15px;
}

.ge-review-card{
background:#fff;
padding:25px;
border-radius:12px;
box-shadow:0 10px 25px rgba(0,0,0,0.05);
transition:0.3s;
}

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

.ge-stars{
color:#f5a623;
font-size:18px;
}

.ge-review-text{
font-size:15px;
color:#555;
line-height:1.6;
margin-bottom:15px;
}

.ge-review-user{
display:flex;
justify-content:space-between;
align-items:center;
}

.ge-user-name{
font-weight:600;
}

.ge-verified{
font-size:12px;
background:#e8f5e9;
color:#2e7d32;
padding:4px 8px;
border-radius:6px;
}

.ge-load-more{
margin:40px auto 0;
display:block;
padding:12px 30px;
border:none;
background:#000;
color:#fff;
border-radius:30px;
cursor:pointer;
}

@media(max-width:900px){

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

}

@media(max-width:500px){

.ge-review-grid{
grid-template-columns:1fr;
}

}

.ge-product-description{
margin-top:40px;
padding:30px;
background:#f9f9f9;
border-radius:10px;
}


.woocommerce div.product div.images .flex-control-thumbs li {
    padding: 20px;
}
.woocommerce div.product div.images .flex-control-thumbs li img {
    border: 1px solid #ccc;
    padding: 3px;
    border-radius: 10px;
}
.woocommerce div.product div.images .flex-control-thumbs li img.flex-active{border-color: #0f3d2e;}
.woocommerce-variation-add-to-cart {
    display: flex;
    align-items: center;
    gap: 10px;
}

 .quantity{
display:inline-flex;
align-items:center;
border:1px solid #ddd;
border-radius:40px;
overflow:hidden;
background:#fff;
}

.quantity .pm-button{
width:41px;
height:41px;
border:none;
background:#f5f5f5;
font-size:20px;
cursor:pointer;
transition:0.2s;
    text-align: center;
    line-height: 41px;
}

.quantity .pm-button:hover{
background:#e8e8e8;
}

.quantity input.qty{
width:60px;
text-align:center;
border:none;
outline:none;
font-size:16px;
}

 .quantity input::-webkit-inner-spin-button,
.quantity input::-webkit-outer-spin-button{
-webkit-appearance:none;
margin:0;
}

.woocommerce-product-gallery .flex-viewport {
    border-radius: 10px;
}

.woocommerce-message,
.woocommerce-error,
.woocommerce-info{
position:relative;
padding:16px 20px 16px 55px;
border-radius:10px;
margin:20px 0;
font-size:15px;
line-height:2.6;
border:none;
box-shadow:0 5px 15px rgba(0,0,0,0.08);
background:#fff;
margin-bottom: 50px;
}

/* Success */
.woocommerce-message{

color:#2e7d32;
border-left:5px solid #2e7d32;
}

.woocommerce-message::before{
content:"✔";
position:absolute;
left:18px;
top:50%;
transform:translateY(-50%);
font-size:18px;
}

/* Error */
.woocommerce-error{
color:#c62828;
border-left:5px solid #c62828;
}

.woocommerce-error::before{
content:"⚠";
position:absolute;
left:18px;
top:50%;
transform:translateY(-50%);
font-size:18px;
}

/* Info */
.woocommerce-info{
color:#1565c0;
border-left:5px solid #1565c0;
}

.woocommerce-info::before{
content:"ℹ";
position:absolute;
left:18px;
top:50%;
transform:translateY(-50%);
font-size:18px;
}

a.button.wc-forward {
    border: 1px solid #1c5741;
    color: #1c5741;
    padding: 14px 30px;
    border-radius: 50px;
    background: transparent;
}
a.button.wc-forward:hover{background: #1c5741; color: #fff;}
.woocommerce:where(body:not(.woocommerce-uses-block-theme)) div.product .stock {
    color: #1c5741;
}
.woocommerce:where(body:not(.woocommerce-uses-block-theme)) div.product p.price, .woocommerce:where(body:not(.woocommerce-uses-block-theme)) div.product span.price {
    color: #1c5741;
}
.woocommerce:where(body:not(.woocommerce-uses-block-theme)) div.product p.price del {
    color: #f00;
}




/* ===== Gram Earth Shop Page ===== */



#commentform textarea {
    width: 100%;
    min-height: 150px;
    padding: 15px;
}
.form-submit {
    text-align: right;
}
.ge-review-form{margin-top: 40px;}
.ge-related-section {
    padding: 70px 0;
    background: #fff;
}

.ge-related-header {
    text-align: center;
    margin-bottom: 30px;
}

.ge-product-card {
    background: #fff;
    border-radius: 20px;
    overflow: hidden;
    transition: all 0.35s ease;
    position: relative;
    border: 1px solid #f1f1f1;
    box-shadow: 0 15px 40px rgba(0,0,0,0.08);
    padding-bottom: 20px;
}


/* Image */
.ge-product-img {
    position: relative;
    overflow: hidden;
}

.ge-product-img img {
    width: 100%;
    transition: 0.4s;
}

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

/* Sale Badge */
.ge-badge-sale {
    position: absolute;
    top: 12px;
    left: 12px;
    background: #1a7f37;
    color: #fff;
    font-size: 12px;
    padding: 6px 10px;
    border-radius: 20px;
}

/* Info */
.ge-product-info {
    padding: 16px;
}

.ge-product-title {
    font-size: 15px;
    font-weight: 500;
    margin-bottom: 6px;
    color: #222;
}

/* Rating */
.ge-rating-wrap {
    display: flex;
    align-items: center;
    gap: 6px;
    margin-bottom: 6px;
}

.ge-review-count {
    font-size: 12px;
    color: #777;
}

/* Hover Actions */
.ge-card-actions {
    width: 100%;
    padding: 10px;
    transition: 0.3s;
}


/* Button */
.ge-cart-btn a {
    display: block;
    text-align: center;
    background: #000;
    color: #fff;
    padding: 10px;
    border-radius: 30px;
    font-size: 14px;
}

/* Swiper arrows */
.swiper-button-next,
.swiper-button-prev {
    color: #000;
}
.ge-related-section .swiper{padding-bottom: 50px;}

.hide{display: none !important;}
.woocommerce .col2-set .col-1, .woocommerce-page .col2-set .col-1{width: 100%;}
p#billing_country_field {
    display: none;
}
#add_payment_method #payment, .woocommerce-cart #payment, .woocommerce-checkout #payment{background: none;}
.content-area .woocommerce-checkout ul li{list-style: none;}
.woocommerce-checkout ul li label{cursor: pointer;}
.woocommerce-privacy-policy-text {
    font-size: 10px;
}
.woocommerce-checkout #payment div.payment_box {
    font-size: 12px;
    background: #f4b400;
}

label.woocommerce-form__label.woocommerce-form__label-for-checkbox.checkbox span {
    font-size: 12px;
    color: #000;
}
/* Left Form */
.woocommerce-checkout-inner {
   display: grid;
    grid-template-columns: 1.1fr 0.9fr;
    gap: 40px;
    margin: auto;
    padding: 40px 20px;
    background: #fff;
    padding: 30px;
    border-radius: 16px;
    box-shadow: 0 10px 30px rgba(0,0,0,0.05);
}

/* Right Summary */
.woocommerce-checkout-review-order {
    background: #fff;
    padding: 25px;
    border-radius: 16px;
    height: fit-content;
    position: sticky;
    top: 20px;
    box-shadow: 0 10px 30px rgba(0,0,0,0.05);
}

/* Inputs */
.woocommerce form .form-row input,
.woocommerce form .form-row select,
.woocommerce form .form-row textarea {
    border-radius: 10px;
    padding: 12px;
    border: 1px solid #ddd;
}

/* Labels */
.woocommerce form .form-row label {
    margin-bottom: 5px;
}
.woocommerce form .form-row .input-text, .woocommerce-page form .form-row .input-text {
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.06);
    border: 1px solid #b8b8b8;
    padding: 10px;
}
.woocommerce table.shop_table th, .woocommerce table.shop_table tbody th, .woocommerce table.shop_table tfoot td, .woocommerce table.shop_table tfoot th{font-weight: 600;}
.woocommerce-error,
.woocommerce-NoticeGroup-checkout {
    display: none !important;
}
.offcanvas-body.empty-cart {
       display: inline-block;
    text-align: center;
}
p.woocommerce-mini-cart__empty-message {
    margin-top: 80%;
}
/* Button */
/* ===== GRAM EARTH CHECKOUT COLORS FIX ===== */

/* Headings ko Brown karein */
.woocommerce-checkout h3, 
.woocommerce-checkout h3 label {
    color: var(--color-earth-brown, #5E3A21) !important;
}

/* Place Order Button ko Brown karein */
#place_order {
        background: var(--color-earth-brown, #5E3A21) !important;
    color: #ffffff !important;
    border-radius: 40px !important;
    transition: 0.3s !important;
    border: none !important;
    height: 42px;
    min-width: 150px;
    font-weight: 400;
}

#place_order:hover {
    background: var(--color-golden-amber, #EFA624) !important;
    color: var(--color-earth-brown, #5E3A21) !important;
}

/* Yellow Payment Box ko Soft Cream aur elegant banayein */
.woocommerce-checkout #payment div.payment_box {
    background: var(--color-cream) !important; 
    color: var(--color-earth-brown, #5E3A21) !important;
    border: 1px solid var(--color-golden-amber) !important;
    box-shadow: none !important;
}

/* Payment box ke upar ka chota arrow fix */
#add_payment_method #payment div.payment_box::before, .woocommerce-cart #payment div.payment_box::before, .woocommerce-checkout #payment div.payment_box::before{
    border-bottom-color: var(--color-golden-amber) !important;
    top: -1em;
}

/* Payment Box */
.woocommerce-checkout-payment {
    margin-top: 20px;
}

/* Remove borders */
.shop_table {
    border: none !important;
}

/* Mobile */
.ge-row {
  display: flex;
  align-items: center;
  gap: 10px;
      margin-top: 10px;
}

.ge-qty {
  display: flex;
  align-items: center;
}

.ge-variant select {
  padding:10px;
  border: 1px solid #ddd;
  border-radius: 6px;
  font-size: 13px;
  min-width: 120px;
  cursor: pointer;
}

.ge-variant select:disabled {
  opacity: 0.5;
  cursor: not-allowed;
}
.ge-product-card .ge-variant select
{width: 100%;
    margin-bottom: 10px;
}
.ge-product-card .price-box{margin: 10px 0; font-weight: 600;}
.woocommerce table.shop_table small.includes_tax {
    clear: both;
    display: block;
    font-size: 0.7em;
}

p.form-row.form-row-wide.create-account {
    padding: 0;
}
#order_left label.woocommerce-form__label.woocommerce-form__label-for-checkbox.checkbox {
       box-shadow: 0 10px 30px rgba(0, 0, 0, 0.06);
    width: 100%;
    display: flex;
    padding: 10px;
    background: #fff;
    line-height: normal;
    cursor: pointer;
    gap: 10px;
}
#order_left label.woocommerce-form__label.woocommerce-form__label-for-checkbox.checkbox .input-checkbox{margin: 0;}
.variant-buttons {
  display: flex;
  gap: 8px;
  margin: 10px 0;
}

.variant-btn {
  padding: 2px 12px;
  border: 1px solid var(--color-golden-amber);
  background: transparent;
  color: var(--color-golden-amber);
  cursor: pointer;
  border-radius: 30px;
  font-size: 0.75em;
}

.variant-btn.active {
  background: var(--color-golden-amber);
  color: var(--color-white);
}

.short-desc {
  font-size: 14px;
  margin: 8px 0;
}
.luxury-content .quantity{background: none; border-color: var(--color-golden-amber);}
.luxury-content .quantity .pm-button{background: none; color: var(--color-golden-amber);}
.luxury-content .quantity input.qty{background: none; color: var(--color-white);}
.price-box .regular-price{  text-decoration: line-through;
    font-weight: 300;
    opacity: 0.5;}
.luxury-price .regular-price {
    font-size: 0.75em;
  
}

/* ===== GRAM EARTH NEWSLETTER (LUXURY LIGHT) ===== */

.ge-newsletter {
  background:var(--color-olive-green);
  color: var(--color-cream);
}

/* Tag */
.newsletter-tag {
  display: inline-block;
  background: rgba(15, 61, 46, 0.08);
  padding: 6px 14px;
  border-radius: 30px;
  font-size: 13px;
  font-weight: 500;
  margin-bottom: 14px;
}

/* Title */
.newsletter-title {

  margin-bottom: 12px;

}

/* Description */
.newsletter-desc {

  max-width: 520px;
}

/* Form box */
.newsletter-form {
  background: var(--color-cream);
  padding: 8px;
  border-radius: 50px;
  box-shadow: 0 10px 30px rgba(0,0,0,0.06);
  border: 1px solid #e6efe9;
}

/* Input */
.newsletter-input {
  border: none !important;
    border-radius: 50px 0 0 50px !important;
    padding: 14px 40px 14px 18px;
    font-size: 15px;
    box-shadow: none !important;
    margin-right: -30px;
}

.newsletter-input:focus {
  outline: none;
  box-shadow: none !important;
}

/* Button - Green + Gold Luxury */
.newsletter-btn {
  background: var(--color-golden-amber);
  color: var(--color-primary);
  border: none;
  padding: 12px 26px;
  border-radius: 40px;
  font-weight: 500;
  transition: all 0.3s ease;
  white-space: nowrap;
}

/* Gold hover effect */
.newsletter-btn:hover {
  background: var(--color-golden-amber);
  color: var(--color-black);
  transform: translateY(-2px);
}

/* Note */
.newsletter-note {
  display: block;
  margin-top: 10px;
  font-size: 11px;
 margin-left: 10px;
}

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

  .newsletter-desc {
    margin: 0 auto 20px;
  }



  .newsletter-form {
    flex-direction: column;
    border-radius: 20px;
  }

  .newsletter-btn {
    width: 100%;
    margin-top: 10px;
    border-radius: 30px;
  }
}
/* Mobile Bottom Navigation */
.mobile-bottom-nav {
  position: fixed;
  bottom: 0;
  left: 0;
  width: 100%;
  background: var(--color-cream);
  border-top: 1px solid var(--color-golden-amber);
  display: flex;
  justify-content: space-around;
  padding:10px 0;
  z-index: 999;
  box-shadow: 0 -2px 10px rgba(0,0,0,0.05);
}

.mobile-bottom-nav .nav-item {
  display: flex;
  flex-direction: column;
  align-items: center;
  font-size: 12px;
   color: var(--color-earth-brown);
  text-decoration: none;
  transition: color 0.3s;
}

.mobile-bottom-nav .nav-item i {
  font-size: 20px;
  margin-bottom: 2px;
  color: var(--color-earth-brown);
}

/* Active / Hover Effect */
.mobile-bottom-nav .nav-item:hover, .mobile-bottom-nav .nav-item:hover i,
.mobile-bottom-nav .nav-item.active, .mobile-bottom-nav .nav-item.active i {
  color: var(--color-golden-amber);
}

.quantity{
    position:relative;
}

.quantity.loading{
    opacity:.6;
    pointer-events:none;
}

.quantity.loading::after{
    content:'';
    width:18px;
    height:18px;
    border:2px solid #ddd;
    border-top:2px solid #000;
    border-radius:50%;
    position:absolute;
    top:50%;
    left:50%;
    transform:translate(-50%,-50%);
    animation:spin .6s linear infinite;
}

@keyframes spin{
    100%{
        transform:translate(-50%,-50%) rotate(360deg);
    }
}

.add-to-cart-btn{    
    width: 130px;
    height: 42px;}
.add-to-cart-btn.loading {
  position: relative;
  pointer-events: none;
  font-size: 0;
}

.add-to-cart-btn.loading::after {
  content: "";
  width: 24px;
  height: 24px;
  border: 3px solid var(--color-cream);
  border-top-color: var(--color-golden-amber);
  border-radius: 50%;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  animation: spin 0.6s linear infinite;
}

@keyframes spin {
  to { transform: translate(-50%, -50%) rotate(360deg); }
}
.star {
    position: fixed;
    font-size: 14px;
    color: var(--color-golden-amber);
    pointer-events: none;
    z-index: 9999;
    animation: flyStar 0.8s ease forwards;
}

@keyframes flyStar {
    0% {
        opacity: 1;
        transform: translate(0,0) scale(1);
    }
    100% {
        opacity: 0;
        transform: translate(var(--x), var(--y)) scale(0.5);
    }
}

.fly-image {
    position: fixed;
    z-index: 9999;
    pointer-events: none;
    transition: all 1s cubic-bezier(0.65, -0.2, 0.25, 1.2);
    border-radius: 8px;
}

.cart-animate { animation: cartBounce 0.5s ease; }
.woocommerce-checkout #cartDrawer .ge-checkout-btn{display: none !important;}


@keyframes cartBounce { 0%{transform:scale(1);}30%{transform:scale(1.2);}60%{transform:scale(0.9);}100%{transform:scale(1);} }
.woocommerce form .form-row label.checkbox, .woocommerce-page form .form-row label.checkbox{line-height: 14px;}
/* ===== GRAM EARTH PREMIUM PAYMENT SECTION ===== */

.woocommerce-checkout #payment {
    background: #FDFBF7 !important; 
    border-radius: 10px;
    border: 1px solid #EBE4D9 !important; 
    margin-top: 20px;
}

.woocommerce-checkout #payment ul.payment_methods {
    border-bottom: 1px solid #EBE4D9 !important;
    padding-bottom: 15px !important;
    margin-bottom: 15px !important;
}

.woocommerce-checkout #payment div.payment_box {
    background: #F4EBE0 !important; 
    color: var(--color-earth-brown, #5E3A21) !important;
    border: none !important; 
    border-radius: 6px;
    padding: 15px !important;
    box-shadow: none !important;
    margin-top: 15px !important;
}

.woocommerce-checkout #payment div.payment_box::before {
    display: none !important; 
}

/* ===== GRAM EARTH THANK YOU PAGE (ORDER RECEIVED) ===== */

.woocommerce-order {
    max-width: 800px;
    margin: 0px auto;
    background: var(--color-white);
    padding: 40px;
    border-radius: 16px;
    box-shadow: 0 10px 40px rgba(0,0,0,0.04);
}

.woocommerce-notice--success.woocommerce-thankyou-order-received,
p.woocommerce-notice.woocommerce-notice--success {
    background: #FDFBF7;
    color: #2E7D32; 
    border: 1px solid var(--color-border);
    border-left: 5px solid #2E7D32;
    padding: 16px 20px;
    border-radius: 8px;
    text-align: center;
    margin-bottom: 30px;
}

ul.order_details {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    background: #FAF8F5;
    padding: 20px 25px;
    border-radius: 10px;
    border: 1px solid var(--color-border);
    list-style: none !important;
    margin-bottom: 40px;
}
ul.order_details li {
        border-right: none !important;
    margin: 10px 10px 0 0 !important;
    font-size: 13px;
    color: var(--color-primary);
    text-transform: uppercase;
    padding-right: 0px !important;
}
ul.order_details li strong {
    display: block;
    font-size: 16px;
    color: var(--color-earth-brown, #5E3A21);
    margin-top: 5px;
    text-transform: none;
}

.woocommerce-order h2 {
    color: var(--color-earth-brown, #5E3A21) !important;
    font-size: 22px;
    font-weight: 600;
    margin-bottom: 20px;
    margin-top: 30px;
    border-bottom: 2px solid var(--color-golden-amber, #EFA624);
    display: inline-block;
    padding-bottom: 6px;
}

.woocommerce-customer-details .col2-set {
    display: flex;
    gap: 30px;
    width: 100%;
    margin: 0;
}
.woocommerce-customer-details .col-1, 
.woocommerce-customer-details .col-2 {
    width: 45% !important;
    max-width: 45%;
    float: none;
    background: #FAF8F5;
    padding: 25px;
    border-radius: 10px;
    border: 1px solid var(--color-border);
}
.woocommerce-customer-details address {
    border: none !important;
    padding: 0 !important;
    color: var(--color-primary);
    font-size: 14px;
}

@media (max-width: 768px) {
    .woocommerce-order {
        padding: 20px;
        margin: 20px auto;
    }
    ul.order_details {
        flex-direction: column;
        gap: 15px;
    }
    .woocommerce-customer-details .col2-set {
        flex-direction: column;
    }
    .woocommerce-customer-details .col-1, 
    .woocommerce-customer-details .col-2 {
        width: 100% !important;
        max-width: 100%;
    }
}

/* ===== GRAM EARTH "ORDER PAY" PAGE FIX ===== */

body.woocommerce-order-pay .woocommerce {
    max-width: 800px;
    margin: 60px auto;
    background: var(--color-white);
    padding: 40px;
    border-radius: 16px;
    box-shadow: 0 10px 40px rgba(0,0,0,0.04);
    text-align: center;
}

body.woocommerce-order-pay .woocommerce > p {
    font-size: 16px;
    color: var(--color-earth-brown, #5E3A21);
    font-weight: 500;
    margin-bottom: 30px;
    margin-top: 20px;
}

body.woocommerce-order-pay button#btn-razorpay {
    background: var(--color-earth-brown, #5E3A21) !important;
    color: var(--color-white) !important;
    padding: 14px 40px !important;
    border-radius: 40px !important;
    font-size: 16px !important;
    border: none !important;
    margin: 0 10px;
    transition: all 0.3s ease !important;
    box-shadow: 0 4px 15px rgba(94, 58, 33, 0.2);
    cursor: pointer;
}

body.woocommerce-order-pay button#btn-razorpay:hover {
    background: var(--color-golden-amber, #EFA624) !important;
    color: var(--color-earth-brown, #5E3A21) !important;
    transform: translateY(-2px);
    box-shadow: 0 8px 20px rgba(239, 166, 36, 0.3);
}

body.woocommerce-order-pay #btn-razorpay-cancel {
    background: transparent !important;
    color: var(--color-earth-brown, #5E3A21) !important;
    border: 2px solid var(--color-earth-brown, #5E3A21) !important;
    margin: 0 10px;
    padding: 12px 35px !important;
    border-radius: 40px !important;
    font-size: 16px !important;
    text-decoration: none;
    transition: all 0.3s ease !important;
}

body.woocommerce-order-pay #btn-razorpay-cancel:hover {
    background: #FAF8F5 !important;
    color: #D32F2F !important; 
    border-color: #D32F2F !important;
}

@media (max-width: 600px) {
    body.woocommerce-order-pay #order_review {
        flex-direction: column;
        gap: 15px;
    }
    body.woocommerce-order-pay button#btn-razorpay,
    body.woocommerce-order-pay #btn-razorpay-cancel {
        width: 100%;
    }
}


@media (min-width: 768px) { 
  .mobile-bottom-nav { display: none; } 
  .why-choose_header, .reviews_header{text-align: center;}
}
@media (min-width: 1200px) {.h2, h2 {
    font-size: 2.5rem;
} }
@media (max-width: 767px) {
    body { padding-bottom: 70px;}
    .container {
    max-width: 92%;
}
.ge-section {
    padding: 40px 0;
}
    .newsletter-input{border-radius: 50px !important;}
    .md-hide{display: none !important; }
    .header_cart_icon { margin-right: 5px; }
    .nav_icon{margin-left: 0px;}
    .header_cart_icon i, .nav_icon i{font-size: 2em !important;}
    .cart-count {top: -2px;}
    .luxury-wrapper{padding: 0px 5px; box-shadow: none;}
    .luxury-title {
    font-size: 34px;
    }
    .luxury-trust span{margin-right: 10px; font-size: 12px;}
    .wc-card{text-align: left;}
    .footer-policies {
    text-align: center;
}
    .ge-checkout-wrapper {
        grid-template-columns: 1fr;
    }

    .woocommerce-checkout-review-order {
        position: static;
        box-shadow: none;
        padding: 0;
    }
  .woocommerce-checkout  .ge-footer{padding-top: 0 !important;}
  body.woocommerce-checkout {
        padding-bottom: 0;
    }
.woocommerce-checkout-inner{  grid-template-columns: inherit;padding: 15px;}
.woocommerce-checkout .shop_table thead {
        display: none;
    }
.woocommerce table.shop_table {
    display: grid;
}
.woocommerce table.shop_table td {
    display: block;
}
.woocommerce table.shop_table tbody tr {
    display: block;
}
.woocommerce table.shop_table tbody tr td.product-total {
   text-align: right !important;
        font-weight: 600;
        color: var(--color-earth-brown, #5E3A21);
                padding-top: 0;
}
.woocommerce table.shop_table thead tr th.product-total {
    display: none;
}
    .woocommerce table.shop_table tr {
        display: flex;
        border-top: 1px solid var(--color-border);
    }
.woocommerce table.shop_table tfoot tr  td{        text-align: right;
        margin-right: 0;
        margin-left: auto;
        border: none;
    
    }
    .woocommerce table.shop_table tr th,  .woocommerce table.shop_table tr td{border: none;padding-left: 0;
        padding-right: 0;}
         .woocommerce-checkout-review-order   .ge-variant {
        flex-grow: 1;
                text-align: right;
    }
}



