:root {
  --ivory: #F8F5F0;
  --soft-ivory: #FBF8F2;
  --gold: #C6A85B;
  --gold-deep: #BFA052;
  --gold-light: #E0C878;
  --deep-green: #163D24;
  --dark-green: #0F2A1A;
  --wine: #7A1E2C;
  --text: #243528;
  --muted-text: #6F756D;
  --border: #E6DCCB;

  --font-heading: "Cormorant Garamond", serif;
  --font-body: "Manrope", sans-serif;
  --font-cta: "Montserrat", sans-serif;
}

html,
body {
  background: var(--ivory) !important;
  color: var(--text) !important;
  font-family: var(--font-body) !important;
  line-height: 1.7;
}

.container {
  max-width: 1200px !important;
}

h1,
h2,
h3,
h4,
h5,
h6,
.section-title,
.product-title,
.subscribe-title,
.footer-title {
  font-family: var(--font-heading) !important;
  color: var(--deep-green) !important;
  letter-spacing: 0.2px;
}

p,
li,
label,
input,
select,
textarea {
  font-family: var(--font-body) !important;
}

button,
.btn,
.btn-add-cart,
.btn-buy-now,
.checkout-btn,
.deliver-btn,
.add-address-btn,
.subscribe-btn,
.search-button,
input[type="submit"] {
  font-family: var(--font-cta) !important;
  font-weight: 600 !important;
  letter-spacing: 0.5px;
}

/* Header + Navbar */
.abc {
  background: linear-gradient(135deg, var(--gold), var(--gold-light)) !important;
  color: var(--deep-green) !important;
  border-bottom: 1px solid rgba(22, 61, 36, 0.12) !important;
}

.abc .top-left span,
.abc .top-left i,
.abc .social a,
.abc .user-profile,
.abc .user-name,
.abc .logout-link,
.abc .user-caret {
  color: var(--deep-green) !important;
}

.user-circle {
  background: var(--deep-green) !important;
  color: var(--ivory) !important;
}

.header {
  background: var(--soft-ivory) !important;
  color: var(--deep-green) !important;
  border-bottom: 1px solid var(--border) !important;
}

.logo,
.header-icons .icon-btn,
.header-icons .icon-btn i {
  color: var(--deep-green) !important;
}

.search-box {
  border: 1px solid var(--border) !important;
  box-shadow: 0 8px 20px rgba(22, 61, 36, 0.08) !important;
}

.search-category {
  color: var(--muted-text) !important;
  border-right: 1px solid var(--border) !important;
}

.search-input {
  color: var(--deep-green) !important;
}

.search-button {
  background: var(--wine) !important;
  color: #fff !important;
}

.search-button:hover {
  background: #611825 !important;
}

.cart-count {
  background: var(--wine) !important;
}

.nav {
  background: var(--deep-green) !important;
}

.nav li,
.nav li a,
.nav ul {
  color: var(--ivory) !important;
}

.nav li.active::after {
  background: var(--gold) !important;
}

.dropdown-menu {
  border-top: 3px solid var(--gold) !important;
}

.nav .dropdown-menu,
.nav .mega-menu {
  background: #fffdf8 !important;
  border-color: var(--border) !important;
}

.nav .dropdown-menu li,
.nav .dropdown-menu li a,
.nav .mega-menu .mega-item-link,
.nav .mega-menu .mega-name,
.nav .mega-menu .mega-column-title,
.nav .mega-menu .mega-demo,
.nav .mega-menu .mega-label-e {
  color: var(--deep-green) !important;
}

.nav .dropdown-menu li a {
  border-bottom: 1px solid #f1eadc !important;
}

.nav .dropdown-menu li a:hover,
.nav .mega-menu .mega-item-link:hover {
  background: #f8f3e7 !important;
  color: var(--wine) !important;
}

.dropdown-menu li a:hover,
.mega-item-link:hover {
  color: var(--gold-deep) !important;
}

.coupon-marquee-bar {
  background: var(--deep-green) !important;
  color: var(--ivory) !important;
  border-bottom: 1px solid rgba(248, 245, 240, 0.14) !important;
}

.code-badge {
  background: #fff8e8 !important;
  color: var(--deep-green) !important;
  border: 1px dashed var(--gold) !important;
}

.mobile-header {
  background: var(--deep-green) !important;
}

.mobile-bottom-nav {
  background: var(--soft-ivory) !important;
  border-top: 1px solid var(--border) !important;
}

.mobile-bottom-nav a,
.mobile-user-trigger {
  color: var(--deep-green) !important;
}

.mobile-user-circle {
  background: var(--deep-green) !important;
  color: var(--ivory) !important;
}

/* Core cards */
.product-card,
.filter-card,
.cart-item,
.cart-items,
.delivery-address,
.address-card,
.item-img,
.tabs-card,
.product-media {
  background: #ffffff !important;
  border-color: var(--border) !important;
}

.product-summary,
.cart-summary,
.price-details,
.checkout-steps,
.gst-field-wrap {
  background: var(--soft-ivory) !important;
  border: 1px solid var(--border) !important;
  box-shadow: 0 8px 22px rgba(22, 61, 36, 0.07) !important;
}

.product-title {
  background: none !important;
  -webkit-text-fill-color: var(--deep-green) !important;
  animation: none !important;
}

.item-name,
.product-card h3,
.product-card h4,
.product-name {
  color: var(--deep-green) !important;
}

.price-row .current-price,
.item-price,
.summary-total span:last-child,
.variant-current-price,
.price {
  color: var(--wine) !important;
}

.price-row .old-price {
  color: var(--muted-text) !important;
}

.price-section {
  border-top: 1px solid var(--border) !important;
  border-bottom: 1px solid var(--border) !important;
}

.discount-badge {
  background: linear-gradient(135deg, var(--gold), var(--gold-light)) !important;
  color: var(--deep-green) !important;
  box-shadow: 0 4px 12px rgba(198, 168, 91, 0.32) !important;
}

.btn-add-cart,
.checkout-btn,
.deliver-btn,
.add-address-btn {
  background: var(--wine) !important;
  color: #fff !important;
  border: none !important;
  box-shadow: 0 8px 16px rgba(122, 30, 44, 0.22) !important;
}

.btn-add-cart:hover,
.checkout-btn:hover,
.deliver-btn:hover,
.add-address-btn:hover {
  background: #611825 !important;
}

.btn-buy-now,
#check_delivery_btn,
.subscribe-btn {
  background: var(--deep-green) !important;
  color: var(--ivory) !important;
  border: none !important;
}

.btn-buy-now:hover,
#check_delivery_btn:hover,
.subscribe-btn:hover {
  background: var(--dark-green) !important;
}

.short-desc {
  color: var(--text) !important;
}

.trust-strip,
.premium-uses-note {
  background: #fff8e8 !important;
  border: 1px dashed var(--gold) !important;
  color: var(--deep-green) !important;
}

.trust-strip strong,
.trust-strip i {
  color: var(--deep-green) !important;
}

.delivery-estimate-box {
  background: #fff8e8 !important;
  border: 1px solid var(--gold) !important;
}

#delivery_country_select,
#delivery_pincode_input {
  border: 1px solid var(--gold) !important;
  background: #fffdf8 !important;
  color: var(--deep-green) !important;
}

#delivery_estimate_message {
  color: var(--deep-green) !important;
}

.subscribe-save-card {
  background: linear-gradient(135deg, #f8f5f0, #efe6d2) !important;
  border: 1px solid var(--gold) !important;
  box-shadow: 0 10px 24px rgba(198, 168, 91, 0.2) !important;
}

.subscribe-save-title,
.subscribe-save-tagline,
.subscribe-save-benefit,
.subscribe-save-price {
  color: var(--deep-green) !important;
}

.subscribe-save-icon,
.subscribe-save-price {
  background: rgba(198, 168, 91, 0.2) !important;
}

.subscribe-save-benefit i {
  color: var(--gold-deep) !important;
}

/* Checkout + account */
.step-header.active {
  background: var(--deep-green) !important;
  color: var(--ivory) !important;
}

.step-header.completed .step-number,
.active .step-number {
  background: var(--gold) !important;
  color: var(--deep-green) !important;
}

.address-card.selected {
  background: #fff8e8 !important;
  border-color: var(--gold) !important;
}

.add-address-link,
.continue-shopping {
  color: var(--deep-green) !important;
}

.sidebar-link.active {
  color: var(--deep-green) !important;
  background: #f3ead6 !important;
}

/* Newsletter + footer */
.subscribe-section {
  background: #e8efea !important;
  padding: 60px 0 !important;
}

.subscribe-section .subscribe-container {
  max-width: 1200px !important;
  margin: 0 auto !important;
  padding: 0 20px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 40px !important;
}

.subscribe-section .subscribe-content {
  flex: 1 !important;
  max-width: 600px !important;
}

.subscribe-title {
  font-size: 34px !important;
  line-height: 1.3 !important;
}

.subscribe-subtitle {
  color: #2f4d3b !important;
}

.subscribe-form {
  display: flex !important;
  max-width: 450px !important;
  background: #fff !important;
  border-radius: 999px !important;
  padding: 5px !important;
  border: 1px solid var(--border) !important;
  box-shadow: 0 10px 24px rgba(22, 61, 36, 0.08) !important;
}

.subscribe-section .subscribe-image-wrapper {
  flex: 1 !important;
  display: flex !important;
  justify-content: flex-end !important;
  align-items: flex-end !important;
}

.subscribe-section .subscribe-image-wrapper img {
  max-height: 350px !important;
  width: auto !important;
  object-fit: contain !important;
  margin-bottom: -50px !important;
}

.footer {
  background: var(--dark-green) !important;
  color: var(--ivory) !important;
}

.footer .footer-inner {
  max-width: 1200px !important;
  margin: 0 auto !important;
  padding: 0 15px 30px !important;
  display: grid !important;
  grid-template-columns: repeat(auto-fit, minmax(200px, 1fr)) !important;
  gap: 20px !important;
}

.footer-title {
  color: var(--gold) !important;
}

.footer-title::after {
  background: linear-gradient(90deg, var(--gold), var(--gold-light)) !important;
}

.footer-links li,
.footer-links li a,
.footer-about,
.footer-bottom,
.footer-payments span {
  color: #ede6d8 !important;
}

.footer-links li a:hover,
.footer-links li:hover {
  color: var(--gold) !important;
}

.footer-social a {
  background: rgba(255, 255, 255, 0.08) !important;
  border: 1px solid rgba(255, 255, 255, 0.18) !important;
  color: var(--ivory) !important;
}

.footer-social a:hover {
  background: var(--gold) !important;
  color: var(--dark-green) !important;
}

.footer-bottom {
  max-width: 1200px !important;
  margin-left: auto !important;
  margin-right: auto !important;
  border-top: 1px solid rgba(255, 255, 255, 0.18) !important;
}

@media (max-width: 768px) {
  .subscribe-section .subscribe-container {
    flex-direction: column !important;
    text-align: center !important;
    gap: 30px !important;
  }

  .subscribe-section .subscribe-content {
    max-width: 100% !important;
  }

  .subscribe-section .subscribe-form {
    margin: 0 auto !important;
  }

  .subscribe-section .subscribe-image-wrapper {
    width: 100% !important;
    justify-content: center !important;
  }

  .subscribe-section .subscribe-image-wrapper img {
    max-height: 250px !important;
    width: 100% !important;
    max-width: 300px !important;
    margin: 0 auto !important;
  }
}

/* Chat widget tune */
.chatbot-toggle,
.chatbot-header,
.chat-send,
.user-msg {
  background: linear-gradient(135deg, var(--gold), var(--gold-light)) !important;
  color: var(--deep-green) !important;
}

.chat-input:focus {
  border-color: var(--gold) !important;
  box-shadow: 0 0 0 3px rgba(198, 168, 91, 0.15) !important;
}
