/* ==========================================================================
   HANDLOOM HERITAGE - COMPLETE LUXURY MASTER STYLESHEET
   Matching 1:1 with shop.html, product-detail.html, cart.html, checkout.html, auth.html, my-account.html
   Using Bootstrap 5.3 Integration
   ========================================================================== */

:root {
  --clr-primary: rgba(30, 61, 47, 1);
  --clr-primary-dark: #14291f;
  --clr-primary-light: #edf3f0;
  --clr-gold: rgba(184, 147, 42, 1);
  --clr-gold-light: #faf6ec;
  --clr-gold-dark: #94741e;
  --clr-dark: #1A1A14;
  --clr-darker: #11110c;
  --clr-text: #2d2d26;
  --clr-muted: #6e6e66;
  --clr-bg: rgba(250, 247, 240, 1);
  --clr-surface: #ffffff;
  --clr-border: #e8e0d6;
  --radius-sm: 8px;
  --radius-md: 14px;
  --radius-lg: 22px;
  --shadow-sm: 0 2px 10px rgba(0, 0, 0, .07);
  --shadow-md: 0 6px 28px rgba(0, 0, 0, .12);
  --shadow-lg: 0 16px 50px rgba(0, 0, 0, .16);
  --body-font: 'Work Sans', sans-serif;
  --header-font: 'Lora', serif;
  --font-serif: var(--header-font);
  --font-sans: var(--body-font);
  --t: .3s cubic-bezier(.4, 0, .2, 1);

  /* Aliases */
  --cp: var(--clr-primary);
  --cpd: var(--clr-primary-dark);
  --cpl: var(--clr-primary-light);
  --cg: var(--clr-gold);
  --cgl: var(--clr-gold-light);
  --cd: var(--clr-dark);
  --ct: var(--clr-text);
  --cm: var(--clr-muted);
  --cb: var(--clr-bg);
  --cs: var(--clr-surface);
  --cbr: var(--clr-border);
  --rs: var(--radius-sm);
  --rm: var(--radius-md);
  --ss: var(--shadow-sm);
  --sm: var(--shadow-md);
  --fs: var(--font-serif);
  --fn: var(--font-sans);
}

/* WooCommerce Headings strictly use --header-font root variable */
.woocommerce h1,
.woocommerce h2,
.woocommerce h3,
.woocommerce h4,
.woocommerce h5,
.woocommerce h6,
.woocommerce-page h1,
.woocommerce-page h2,
.woocommerce-page h3,
.woocommerce-page h4,
.woocommerce-page h5,
.woocommerce-page h6,
.shop-archive-page h1,
.shop-archive-page h2,
.shop-archive-page h3,
.shop-archive-page h4,
.shop-archive-page h5,
.shop-archive-page h6,
.product-single-page h1,
.product-single-page h2,
.product-single-page h3,
.product-single-page h4,
.product-single-page h5,
.product-single-page h6,
.woocommerce-account h1,
.woocommerce-account h2,
.woocommerce-account h3,
.woocommerce-account h4,
.woocommerce-account h5,
.woocommerce-account h6,
.woocommerce-cart h1,
.woocommerce-cart h2,
.woocommerce-cart h3,
.woocommerce-cart h4,
.woocommerce-cart h5,
.woocommerce-cart h6,
.woocommerce-checkout h1,
.woocommerce-checkout h2,
.woocommerce-checkout h3,
.woocommerce-checkout h4,
.woocommerce-checkout h5,
.woocommerce-checkout h6,
.shop-hero h1,
.product-title,
.product-card-title,
.product-card-title a,
.AH_card_title,
.AH_card_title a,
.product_title,
.single-product-title,
.woocommerce-products-header__title,
.page-title,
.entry-title,
.filter-group-header h6,
.filter-sidebar-header h6,
.AH_wishlist_wrap h4,
.AH_wishlist_card h6,
.AH_dashboard_welcome h3,
.AH_dashboard_title,
.AH_auth_card_header h4,
.AH_auth_branding h3,
.AH_order_hero_title,
.related.products h2,
.upsells.products h2 {
  font-family: var(--header-font) !important;
}



html {
  scroll-behavior: smooth;
}


main {
  flex: 1;
}


/* TOP ANNOUNCEMENT */
.top-announcement {
  background: linear-gradient(90deg, #120e18, #301726, #120e18);
  color: var(--clr-gold-light);
  font-size: 0.8rem;
  padding: 0.45rem 1rem;
  text-align: center;
  border-bottom: 1px solid rgba(201, 168, 76, 0.25);
}

.top-announcement span {
  color: #fff;
  font-weight: 500;
}

/* NAVBAR */
.navbar-main {
  background: rgba(26, 26, 46, 0.97);
  backdrop-filter: blur(12px);
  border-bottom: 1px solid rgba(201, 168, 76, 0.25);
  padding: 1rem 0;
  position: sticky;
  top: 0;
  z-index: 1040;
}

.navbar-brand-text {
  font-family: var(--font-serif);
  font-size: 1.55rem;
  font-weight: 700;
  letter-spacing: 1px;
  color: var(--clr-gold) !important;
  text-decoration: none;
  display: flex;
  align-items: center;
  gap: 0.45rem;
}

.navbar-brand-text span {
  color: #fff;
  font-weight: 400;
}

.nav-link-main {
  color: rgba(255, 255, 255, 0.85) !important;
  font-size: 0.88rem;
  font-weight: 500;
  letter-spacing: 0.5px;
  text-transform: uppercase;
  padding: 0.45rem 0.9rem !important;
  transition: color var(--t);
  position: relative;
  text-decoration: none;
}

.nav-link-main::after {
  content: '';
  position: absolute;
  bottom: 0;
  left: 0.9rem;
  right: 0.9rem;
  height: 2px;
  background: var(--clr-gold);
  transform: scaleX(0);
  transition: transform var(--t);
}

.nav-link-main:hover,
.nav-link-main.active {
  color: var(--clr-gold) !important;
}

.nav-link-main:hover::after,
.nav-link-main.active::after {
  transform: scaleX(1);
}

.nav-icon-btn {
  color: rgba(255, 255, 255, 0.85);
  font-size: 1.15rem;
  background: none;
  border: none;
  padding: 0.4rem 0.65rem;
  transition: color var(--t);
  position: relative;
  cursor: pointer;
  text-decoration: none;
  display: inline-flex;
  align-items: center;
}

.nav-icon-btn:hover {
  color: var(--clr-gold);
}

.badge-cart {
  position: absolute;
  top: 0;
  right: 0;
  background: var(--clr-primary);
  color: #fff;
  font-size: 0.6rem;
  font-weight: 700;
  width: 17px;
  height: 17px;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
}

/* BREADCRUMB */
.page-breadcrumb,
.page-bc {
  background: var(--clr-surface);
  border-bottom: 1px solid var(--clr-border);
  padding: 0.75rem 0;
}

.page-breadcrumb .breadcrumb,
.page-bc .breadcrumb {
  margin: 0;
}

.page-breadcrumb .breadcrumb-item a,
.page-bc .breadcrumb-item a {
  color: var(--clr-primary);
  text-decoration: none;
  font-size: 0.83rem;
}

.page-breadcrumb .breadcrumb-item.active,
.page-bc .breadcrumb-item.active {
  color: var(--clr-muted);
  font-size: 0.83rem;
}

.page-breadcrumb .breadcrumb-item+.breadcrumb-item::before {
  color: var(--clr-border);
}

/* HERO */
.shop-hero {
  background: linear-gradient(135deg, #1a1a2e 0%, #3d1e36 50%, #5a2c3e 100%);
  padding: 60px 0 50px;
  text-align: center;
  position: relative;
  overflow: hidden;
}

.shop-hero::before {
  content: '';
  position: absolute;
  inset: 0;
  background: url("data:image/svg+xml,%3Csvg width='60' height='60' viewBox='0 0 60 60' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='%23c9a84c' fill-opacity='0.05'%3E%3Cpath d='M36 34v-4h-2v4h-4v2h4v4h2v-4h4v-2h-4zm0-30V0h-2v4h-4v2h4v4h2V6h4V4h-4zM6 34v-4H4v4H0v2h4v4h2v-4h4v-2H6zM6 4V0H4v4H0v2h4v4h2V6h4V4H6z'/%3E%3C/g%3E%3C/svg%3E");
}

.shop-hero .breadcrumb-item,
.shop-hero .breadcrumb-item+.breadcrumb-item::before {
  color: rgba(255, 255, 255, 0.5);
  font-size: 0.82rem;
}

.shop-hero .breadcrumb-item.active {
  color: var(--clr-gold);
}

.shop-hero .breadcrumb-item a {
  color: rgba(255, 255, 255, 0.7);
  text-decoration: none;
}

.shop-hero h1 {
  color: #fff;
  font-size: clamp(2.2rem, 5vw, 3.5rem);
  font-weight: 600;
  letter-spacing: 1px;
  margin-bottom: 0.5rem;
}

.shop-hero h1 span {
  color: var(--clr-gold);
}

.shop-hero p {
  color: rgba(255, 255, 255, 0.7);
  font-size: 1rem;
  max-width: 540px;
  margin: 0.5rem auto 0;
}

/* TOOLBAR */
.shop-toolbar {
  background: var(--clr-surface);
  border-bottom: 1px solid var(--clr-border);
  padding: 0.9rem 0;
  position: sticky;
  top: 70px;
  z-index: 1030;
  box-shadow: var(--shadow-sm);
}

.toolbar-count {
  font-size: 0.85rem;
  color: var(--clr-muted);
}

.toolbar-count span {
  color: var(--clr-primary);
  font-weight: 700;
}

.sort-select,
.woocommerce-ordering select {
  border: 1.5px solid var(--clr-border);
  border-radius: var(--radius-sm);
  font-family: var(--font-sans);
  font-size: 0.85rem;
  color: var(--clr-text);
  padding: 0.45rem 2rem 0.45rem 0.75rem;
  background: var(--clr-surface);
  appearance: none;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='%237c3f58' d='M6 8L1 3h10z'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: right 0.65rem center;
  cursor: pointer;
  transition: border-color var(--t);
}

.sort-select:focus,
.woocommerce-ordering select:focus {
  outline: none;
  border-color: var(--clr-primary);
}

.view-btn {
  background: none;
  border: 1.5px solid var(--clr-border);
  border-radius: 6px;
  width: 36px;
  height: 36px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  color: var(--clr-muted);
  cursor: pointer;
  transition: all var(--t);
  font-size: 0.95rem;
}

.view-btn.active,
.view-btn:hover {
  background: var(--clr-primary);
  border-color: var(--clr-primary);
  color: #fff;
}

/* ==========================================================================
   PRODUCT DETAIL PAGE SPECIFIC STYLES (Matching product-detail.html 100%)
   ========================================================================== */
.gallery-col {
  position: sticky;
  top: 100px;
}

.main-image-wrap {
  position: relative;
  background: #f5f0ea;
  border-radius: var(--radius-md);
  overflow: hidden;
  aspect-ratio: 3/4;
  cursor: zoom-in;
  border: 1px solid var(--clr-border);
  box-shadow: var(--shadow-sm);
}

.main-image-wrap img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 0.5s ease;
}

.main-image-wrap:hover img {
  transform: scale(1.4);
}

.zoom-hint {
  position: absolute;
  bottom: 12px;
  right: 12px;
  background: rgba(0, 0, 0, 0.55);
  color: #fff;
  font-size: 0.72rem;
  padding: 0.25rem 0.6rem;
  border-radius: 50px;
  display: flex;
  align-items: center;
  gap: 0.3rem;
  pointer-events: none;
}

.gallery-badge {
  position: absolute;
  top: 14px;
  left: 14px;
  background: var(--clr-gold);
  color: var(--clr-dark);
  border-radius: 50px;
  font-size: 0.72rem;
  font-weight: 700;
  padding: 0.25rem 0.65rem;
  letter-spacing: 0.4px;
  text-transform: uppercase;
}

.thumbnail-strip {
  display: flex;
  gap: 0.55rem;
  margin-top: 0.85rem;
  overflow-x: auto;
  padding-bottom: 0.3rem;
}

.thumbnail-strip::-webkit-scrollbar {
  height: 4px;
}

.thumbnail-strip::-webkit-scrollbar-thumb {
  background: var(--clr-border);
  border-radius: 2px;
}

.thumb {
  width: 75px;
  height: 95px;
  border-radius: var(--radius-sm);
  overflow: hidden;
  border: 2.5px solid transparent;
  cursor: pointer;
  flex-shrink: 0;
  transition: all var(--t);
}

.thumb img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.thumb.active,
.thumb:hover {
  border-color: var(--clr-primary);
  transform: scale(1.05);
}

/* PRODUCT INFO */
.product-category-tag {
  font-size: 0.75rem;
  font-weight: 700;
  color: var(--clr-gold);
  letter-spacing: 1.2px;
  text-transform: uppercase;
  margin-bottom: 0.4rem;
}

.product-title {
  font-size: clamp(1.6rem, 3vw, 2.2rem);
  font-weight: 600;
  line-height: 1.2;
  color: var(--clr-dark);
  margin-bottom: 0.5rem;
}

.product-subtitle {
  font-size: 1rem;
  color: var(--clr-muted);
  margin-bottom: 1rem;
  font-style: italic;
  font-family: var(--font-serif);
}

.rating-row {
  display: flex;
  align-items: center;
  gap: 0.75rem;
  margin-bottom: 1.1rem;
  flex-wrap: wrap;
}

.stars-lg {
  color: var(--clr-gold);
  font-size: 1.1rem;
  letter-spacing: 1px;
}

.rating-score {
  font-size: 0.9rem;
  font-weight: 700;
  color: var(--clr-text);
}

.rating-link {
  font-size: 0.82rem;
  color: var(--clr-primary);
  text-decoration: none;
}

.rating-link:hover {
  text-decoration: underline;
}

.in-stock {
  font-size: 0.78rem;
  font-weight: 700;
  color: #27ae60;
  background: #eafaf1;
  padding: 0.2rem 0.6rem;
  border-radius: 50px;
}

/* PRICE SECTION */
.price-section {
  background: linear-gradient(135deg, var(--clr-primary-light), #fff5f9);
  border-radius: var(--radius-md);
  padding: 1.1rem 1.25rem;
  margin-bottom: 1.2rem;
  border: 1px solid rgba(124, 63, 88, 0.12);
}

.price-main {
  font-family: var(--font-serif);
  font-size: 2.2rem;
  font-weight: 700;
  color: var(--clr-primary-dark);
  line-height: 1;
}

.price-mrp {
  font-size: 1rem;
  color: var(--clr-muted);
  text-decoration: line-through;
  margin-left: 0.5rem;
}

.price-discount-pill {
  background: var(--clr-gold);
  color: var(--clr-dark);
  border-radius: 50px;
  font-size: 0.78rem;
  font-weight: 700;
  padding: 0.2rem 0.7rem;
  margin-left: 0.5rem;
}

.price-tax {
  font-size: 0.75rem;
  color: var(--clr-muted);
  margin-top: 0.25rem;
}

.emi-text {
  font-size: 0.8rem;
  color: var(--clr-primary);
  font-weight: 600;
  margin-top: 0.4rem;
}

/* SELECTIONS & SWATCHES */
.selection-label {
  font-size: 0.82rem;
  font-weight: 700;
  color: var(--clr-text);
  text-transform: uppercase;
  letter-spacing: 0.5px;
  margin-bottom: 0.5rem;
  display: block;
}

.colour-swatches {
  display: flex;
  gap: 0.6rem;
  flex-wrap: wrap;
  margin-bottom: 1.2rem;
}

.colour-swatch {
  width: 36px;
  height: 36px;
  border-radius: 50%;
  border: 3px solid transparent;
  cursor: pointer;
  transition: all var(--t);
  position: relative;
  box-shadow: 0 0 0 1.5px rgba(0, 0, 0, 0.15);
}

.colour-swatch.active,
.colour-swatch:hover {
  border-color: var(--clr-primary);
  transform: scale(1.2);
  box-shadow: 0 0 0 2px var(--clr-primary);
}

.selected-colour-name {
  font-size: 0.8rem;
  color: var(--clr-muted);
  margin-left: 0.3rem;
}

/* QUANTITY ROW */
.qty-row {
  display: flex;
  align-items: center;
  gap: 0.6rem;
  margin-bottom: 1.3rem;
}

.qty-btn {
  width: 36px;
  height: 36px;
  border-radius: 8px;
  border: 1.5px solid var(--clr-border);
  background: var(--clr-surface);
  color: var(--clr-text);
  font-size: 1.1rem;
  cursor: pointer;
  transition: all var(--t);
  display: flex;
  align-items: center;
  justify-content: center;
  font-weight: 700;
}

.qty-btn:hover {
  background: var(--clr-primary);
  border-color: var(--clr-primary);
  color: #fff;
}

.qty-input {
  width: 52px;
  height: 36px;
  border: 1.5px solid var(--clr-border);
  border-radius: 8px;
  text-align: center;
  font-family: var(--font-sans);
  font-size: 0.95rem;
  font-weight: 700;
  color: var(--clr-text);
}

.qty-input:focus {
  outline: none;
  border-color: var(--clr-primary);
}

/* CTA BUTTONS */
.btn-add-to-cart {
  background: linear-gradient(135deg, var(--clr-primary), var(--clr-primary-dark));
  color: #fff !important;
  border: none;
  border-radius: var(--radius-sm);
  padding: 0.85rem 1.5rem;
  font-size: 0.95rem;
  font-weight: 700;
  cursor: pointer;
  transition: all var(--t);
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0.5rem;
  font-family: var(--font-sans);
  flex: 1;
  text-decoration: none;
}

.btn-add-to-cart:hover {
  background: linear-gradient(135deg, var(--clr-primary-dark), #3e1929);
  transform: translateY(-2px);
  box-shadow: 0 6px 20px rgba(124, 63, 88, 0.4);
}

.btn-book-now {
  background: linear-gradient(135deg, var(--clr-gold), #a8862a);
  color: var(--clr-dark) !important;
  border: none;
  border-radius: var(--radius-sm);
  padding: 0.85rem 1.5rem;
  font-size: 0.95rem;
  font-weight: 700;
  cursor: pointer;
  transition: all var(--t);
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0.5rem;
  font-family: var(--font-sans);
  flex: 1;
  text-decoration: none;
}

.btn-book-now:hover {
  transform: translateY(-2px);
  box-shadow: 0 6px 20px rgba(201, 168, 76, 0.45);
}

.btn-wishlist {
  width: 52px;
  height: 52px;
  border-radius: var(--radius-sm);
  border: 2px solid var(--clr-border);
  background: var(--clr-surface);
  color: var(--clr-primary);
  font-size: 1.2rem;
  cursor: pointer;
  transition: all var(--t);
  display: flex;
  align-items: center;
  justify-content: center;
}

.btn-wishlist:hover,
.btn-wishlist.active {
  background: var(--clr-primary-light);
  border-color: var(--clr-primary);
  color: var(--clr-primary);
}

/* TRUST CHIPS & DELIVERY STRIP */
.trust-strip {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
  margin-top: 1rem;
}

.trust-chip {
  display: flex;
  align-items: center;
  gap: 0.35rem;
  font-size: 0.75rem;
  color: var(--clr-muted);
  background: var(--clr-bg);
  border: 1px solid var(--clr-border);
  border-radius: 50px;
  padding: 0.2rem 0.65rem;
}

.trust-chip i {
  color: var(--clr-primary);
  font-size: 0.85rem;
}

.delivery-strip {
  background: var(--clr-surface);
  border: 1px solid var(--clr-border);
  border-radius: var(--radius-md);
  padding: 1rem 1.25rem;
  margin-top: 1.2rem;
}

.delivery-item {
  display: flex;
  align-items: flex-start;
  gap: 0.75rem;
  margin-bottom: 0.75rem;
}

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

.delivery-item i {
  font-size: 1.2rem;
  color: var(--clr-gold);
  flex-shrink: 0;
  margin-top: 0.1rem;
}

.delivery-item h6 {
  font-size: 0.85rem;
  font-weight: 700;
  color: var(--clr-text);
  margin-bottom: 0.1rem;
  font-family: var(--font-sans);
}

.delivery-item p {
  font-size: 0.78rem;
  color: var(--clr-muted);
  margin: 0;
  line-height: 1.4;
}

.pincode-form {
  display: flex;
  gap: 0.5rem;
  margin-top: 0.6rem;
}

.pincode-input {
  flex: 1;
  border: 1.5px solid var(--clr-border);
  border-radius: var(--radius-sm);
  font-family: var(--font-sans);
  font-size: 0.85rem;
  padding: 0.42rem 0.75rem;
}

.pincode-input:focus {
  outline: none;
  border-color: var(--clr-primary);
}

.pincode-btn {
  background: var(--clr-primary);
  color: #fff;
  border: none;
  border-radius: var(--radius-sm);
  font-size: 0.82rem;
  font-weight: 700;
  padding: 0.42rem 0.9rem;
  cursor: pointer;
  white-space: nowrap;
  transition: background var(--t);
}

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

/* PRODUCT TABS */
.product-tabs {
  margin-top: 3.5rem;
}

.tabs-nav {
  display: flex;
  gap: 0;
  border-bottom: 2px solid var(--clr-border);
  overflow-x: auto;
}

.tab-btn {
  padding: 0.75rem 1.4rem;
  font-family: var(--font-sans);
  font-size: 0.88rem;
  font-weight: 600;
  color: var(--clr-muted);
  background: none;
  border: none;
  border-bottom: 3px solid transparent;
  margin-bottom: -2px;
  cursor: pointer;
  white-space: nowrap;
  transition: all var(--t);
  letter-spacing: 0.3px;
}

.tab-btn.active,
.tab-btn:hover {
  color: var(--clr-primary);
  border-bottom-color: var(--clr-primary);
}

.tab-pane {
  display: none;
  padding: 2rem 0;
}

.tab-pane.active {
  display: block;
}

/* SPECIFICATIONS TABLE */
.spec-table {
  width: 100%;
  border-collapse: collapse;
}

.spec-table tr:nth-child(even) {
  background: #faf8f5;
}

.spec-table td {
  padding: 0.65rem 1rem;
  font-size: 0.88rem;
  border-bottom: 1px solid var(--clr-border);
  vertical-align: top;
}

.spec-table td:first-child {
  font-weight: 700;
  color: var(--clr-text);
  width: 35%;
  white-space: nowrap;
}

.spec-table td:last-child {
  color: var(--clr-muted);
}

/* TC LIST & FAQ */
.tc-list {
  padding-left: 1.1rem;
}

.tc-list li {
  font-size: 0.85rem;
  color: var(--clr-muted);
  margin-bottom: 0.55rem;
  line-height: 1.6;
}

.faq-accordion .accordion-button {
  font-family: var(--font-serif);
  font-size: 1rem;
  font-weight: 600;
  color: var(--clr-text);
  background: var(--clr-surface);
}

.faq-accordion .accordion-button:not(.collapsed) {
  color: var(--clr-primary);
  background: var(--clr-primary-light);
  box-shadow: none;
}

.faq-accordion .accordion-button::after {
  filter: none;
}

.faq-accordion .accordion-body {
  font-size: 0.88rem;
  color: var(--clr-muted);
  line-height: 1.7;
}

.faq-accordion .accordion-item {
  border: 1px solid var(--clr-border);
  border-radius: var(--radius-sm) !important;
  margin-bottom: 0.65rem;
  overflow: hidden;
}

/* SECTION HEADERS */
.section-header {
  text-align: center;
  margin-bottom: 2.2rem;
}

.section-header .overline {
  font-size: 0.75rem;
  font-weight: 700;
  letter-spacing: 2px;
  text-transform: uppercase;
  color: var(--clr-gold);
  margin-bottom: 0.4rem;
}

.section-header h2 {
  font-size: clamp(1.7rem, 3vw, 2.4rem);
  font-weight: 600;
  color: var(--clr-dark);
  line-height: 1.2;
}

.section-header .divider {
  width: 50px;
  height: 3px;
  background: linear-gradient(135deg, var(--clr-primary), var(--clr-gold));
  border-radius: 2px;
  margin: 0.7rem auto 0;
}

/* SIMILAR PRODUCTS */
.similar-section {
  background: var(--clr-surface);
  padding: 4rem 0;
  margin-top: 3rem;
  border-top: 1px solid var(--clr-border);
}

.sim-card {
  background: var(--clr-bg);
  border-radius: var(--radius-md);
  overflow: hidden;
  border: 1px solid var(--clr-border);
  box-shadow: var(--shadow-sm);
  transition: all var(--t);
}

.sim-card:hover {
  transform: translateY(-5px);
  box-shadow: var(--shadow-md);
  border-color: rgba(124, 63, 88, 0.25);
}

.sim-card-img {
  aspect-ratio: 3/4;
  overflow: hidden;
  position: relative;
}

.sim-card-img img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 0.5s ease;
}

.sim-card:hover .sim-card-img img {
  transform: scale(1.06);
}

.sim-card-body {
  padding: 0.9rem;
}

.sim-cat {
  font-size: 0.7rem;
  font-weight: 700;
  color: var(--clr-gold);
  text-transform: uppercase;
  letter-spacing: 0.8px;
  margin-bottom: 0.2rem;
}

.sim-name {
  font-family: var(--font-serif);
  font-size: 0.95rem;
  font-weight: 600;
  color: var(--clr-text);
  line-height: 1.3;
  margin-bottom: 0.4rem;
  text-decoration: none;
  display: block;
}

.sim-name:hover {
  color: var(--clr-primary);
}

.sim-price {
  font-family: var(--font-serif);
  font-size: 1.05rem;
  font-weight: 700;
  color: var(--clr-primary-dark);
}

.sim-price-orig {
  font-size: 0.78rem;
  color: var(--clr-muted);
  text-decoration: line-through;
  margin-left: 0.3rem;
}

.sim-stars {
  color: var(--clr-gold);
  font-size: 0.73rem;
}

/* REVIEW CARD */
.review-card {
  background: var(--clr-surface);
  border: 1px solid var(--clr-border);
  border-radius: var(--radius-md);
  padding: 1.1rem 1.25rem;
  margin-bottom: 1rem;
}

.review-card .reviewer {
  font-weight: 700;
  font-size: 0.9rem;
  color: var(--clr-text);
}

.review-card .review-date {
  font-size: 0.75rem;
  color: var(--clr-muted);
}

.review-card .review-text {
  font-size: 0.87rem;
  color: var(--clr-text);
  line-height: 1.6;
  margin-top: 0.4rem;
}

.review-card .verified {
  font-size: 0.72rem;
  color: #27ae60;
  font-weight: 600;
}

.review-stars {
  color: var(--clr-gold);
  font-size: 0.85rem;
}

/* STICKY MOBILE CTA */
.sticky-cta {
  position: fixed;
  bottom: 0;
  left: 0;
  right: 0;
  z-index: 1039;
  background: var(--clr-surface);
  border-top: 1px solid var(--clr-border);
  padding: 0.75rem 1rem;
  display: none;
  gap: 0.6rem;
  box-shadow: 0 -4px 20px rgba(0, 0, 0, 0.1);
}

@media (max-width: 991px) {
  .sticky-cta {
    display: flex;
  }
}

/* ==========================================================================
   PRODUCT CARD (REUSABLE COMPONENT & GRID)
   ========================================================================== */
.product-card {
  background: transparent;
  border-radius: 0;
  overflow: hidden;
  border: 1px solid var(--clr-border);
  box-shadow: none;
  transition: all var(--t);
  height: 100%;
  display: flex;
  flex-direction: column;
}

.product-card:hover {
  transform: translateY(-6px);
  box-shadow: none;
  border-color: rgba(124, 63, 88, 0.25);
}

.product-card-img-wrap {
  position: relative;
  overflow: hidden;
  aspect-ratio: 1/1;
  background: transparent;
  border-radius: 0;
}

.product-card-img-wrap>a,
.product-card-img-link {
  display: block !important;
  width: 100% !important;
  height: 100% !important;
}

.product-card-img-wrap img {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  object-position: top center !important;
  display: block !important;
  transition: transform 0.55s cubic-bezier(0.4, 0, 0.2, 1);
}

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

.product-badge {
  position: absolute;
  top: 12px;
  left: 12px;
  border-radius: 50px;
  font-size: 0.72rem;
  font-weight: 700;
  padding: 0.25rem 0.65rem;
  letter-spacing: 0.4px;
  text-transform: uppercase;
}

.badge-new {
  background: var(--clr-dark);
  color: #fff;
}

.badge-bestseller {
  background: var(--clr-gold);
  color: var(--clr-dark);
}

.badge-sale {
  background: #e74c3c;
  color: #fff;
}

.badge-handwoven {
  background: var(--clr-primary);
  color: #fff;
}

.product-actions {
  position: absolute;
  right: 10px;
  top: 10px;
  display: flex;
  flex-direction: column;
  gap: 0.45rem;
  opacity: 0;
  transform: translateX(15px);
  transition: all var(--t);
  z-index: 2;
}

.product-card:hover .product-actions {
  opacity: 1;
  transform: translateX(0);
}

.action-btn {
  width: 38px;
  height: 38px;
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.95);
  backdrop-filter: blur(4px);
  border: none;
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--clr-primary);
  font-size: 0.95rem;
  cursor: pointer;
  box-shadow: 0 2px 10px rgba(0, 0, 0, 0.15);
  transition: all var(--t);
  text-decoration: none;
}

.action-btn:hover {
  background: var(--clr-primary);
  color: #fff;
  transform: scale(1.1);
}

.product-card-body {
  padding: 1.1rem 1rem;
  display: flex;
  flex-direction: column;
  flex: 1;
}

.product-category {
  font-size: 0.73rem;
  font-weight: 600;
  color: var(--clr-gold);
  letter-spacing: 1px;
  text-transform: uppercase;
  margin-bottom: 0.3rem;
}

.product-name {
  font-family: var(--font-serif);
  font-size: 1.05rem;
  font-weight: 600;
  color: var(--clr-text);
  line-height: 1.35;
  margin-bottom: 0.4rem;
  text-decoration: none;
  display: block;
  transition: color var(--t);
}

.product-name:hover {
  color: var(--clr-primary);
}

.product-rating {
  display: flex;
  align-items: center;
  gap: 0.4rem;
  margin-bottom: 0.6rem;
}

.stars-sm {
  color: var(--clr-gold);
  font-size: 0.78rem;
}

.rating-count {
  font-size: 0.75rem;
  color: var(--clr-muted);
}

.product-price-row {
  display: flex;
  align-items: baseline;
  gap: 0.5rem;
  margin-bottom: 0.8rem;
}

.price-current {
  font-size: 1.2rem;
  font-weight: 700;
  color: var(--clr-primary-dark);
  font-family: var(--font-serif);
}

.price-original {
  font-size: 0.85rem;
  color: var(--clr-muted);
  text-decoration: line-through;
}

.price-discount {
  font-size: 0.75rem;
  font-weight: 700;
  color: #27ae60;
  background: #eafaf1;
  padding: 0.1rem 0.4rem;
  border-radius: 4px;
}

.product-colors-row {
  display: flex;
  align-items: center;
  gap: 0.4rem;
  margin-bottom: 0.75rem;
}

.mini-swatch {
  width: 14px;
  height: 14px;
  border-radius: 50%;
  border: 2px solid rgba(255, 255, 255, 0.8);
  box-shadow: 0 0 0 1.5px rgba(0, 0, 0, 0.2);
  cursor: pointer;
  transition: transform var(--t);
}

.mini-swatch:hover {
  transform: scale(1.3);
}

.btn-add-cart {
  background: linear-gradient(135deg, var(--clr-primary), var(--clr-primary-dark));
  color: #fff !important;
  border: none;
  border-radius: var(--radius-sm);
  padding: 0.55rem;
  font-size: 0.82rem;
  font-weight: 600;
  letter-spacing: 0.3px;
  cursor: pointer;
  transition: all var(--t);
  width: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0.4rem;
  margin-top: auto;
  text-decoration: none;
}

.btn-add-cart:hover {
  background: linear-gradient(135deg, var(--clr-primary-dark), #3e1929);
  transform: translateY(-1px);
  box-shadow: 0 4px 14px rgba(124, 63, 88, 0.35);
}

/* LIST VIEW: FULL WIDTH ONE PRODUCT PER ROW */
#products-grid.list-view,
.products-grid-wrapper #products-grid.list-view,
#handloomProductsContainer.list-view {
  display: flex !important;
  flex-direction: column !important;
  gap: 1.5rem !important;
}

#products-grid.list-view>.col,
.products-grid-wrapper #products-grid.list-view>.col,
#handloomProductsContainer.list-view>.col,
.list-view>.col,
.list-view .col {
  flex: 0 0 100% !important;
  width: 100% !important;
  max-width: 100% !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
}

.list-view .product-card {
  display: flex !important;
  flex-direction: row !important;
  align-items: stretch !important;
  width: 100% !important;
  height: auto !important;
  min-height: 240px;
  background: var(--clr-surface);
  border: 1px solid var(--clr-border);
  border-radius: var(--radius-md);
  overflow: hidden;
  box-shadow: 0 3px 12px rgba(30, 61, 47, 0.05);
  transition: transform 0.3s ease, box-shadow 0.3s ease, border-color 0.3s ease;
}

.list-view .product-card:hover {
  transform: translateY(-2px);
  box-shadow: 0 10px 28px rgba(30, 61, 47, 0.1);
  border-color: rgba(184, 147, 42, 0.45);
}

.list-view .product-card-img-wrap {
  width: 260px !important;
  min-width: 260px !important;
  max-width: 260px !important;
  height: auto !important;
  aspect-ratio: 1 / 1 !important;
  flex-shrink: 0 !important;
  position: relative;
  overflow: hidden;
  background: #ffffff;
  display: flex;
  align-items: center;
  justify-content: center;
}

.list-view .product-card-img-wrap a {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: 100%;
}

.list-view .product-card-img-wrap img {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  object-position: top center !important;
  transition: transform 0.5s cubic-bezier(0.4, 0, 0.2, 1);
}

.list-view .product-card:hover .product-card-img-wrap img {
  transform: scale(1.05);
}

.list-view .product-card-body {
  flex: 1 1 auto;
  display: flex !important;
  flex-direction: column !important;
  justify-content: space-between;
  padding: 1.6rem 2rem !important;
  min-width: 0;
}

.list-view .product-category {
  font-size: 0.78rem;
  font-weight: 700;
  color: var(--clr-gold);
  letter-spacing: 1.2px;
  text-transform: uppercase;
  margin-bottom: 0.35rem;
}

.list-view .product-name {
  font-family: var(--font-serif);
  font-size: 1.35rem;
  font-weight: 600;
  color: var(--clr-primary);
  line-height: 1.35;
  margin-bottom: 0.45rem;
  text-decoration: none;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

.list-view .product-name:hover {
  color: var(--clr-gold);
}

.product-card-desc {
  display: none;
}

.list-view .product-card-desc {
  display: -webkit-box !important;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
  color: var(--clr-muted);
  font-size: 0.9rem;
  line-height: 1.6;
  margin: 0.3rem 0 1rem;
}

.list-view .product-card-footer {
  display: flex !important;
  flex-direction: row !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 1rem;
  margin-top: auto;
  padding-top: 1rem;
  border-top: 1px solid rgba(30, 61, 47, 0.08);
}

.list-view .product-card-footer .product-price-row {
  margin-bottom: 0 !important;
  margin-top: 0 !important;
}

.list-view .product-card-footer .product-card-actions {
  flex-shrink: 0;
}

.list-view .product-card-footer .btn-add-cart {
  width: auto !important;
  min-width: 165px;
  padding: 0.65rem 1.5rem;
  margin-top: 0 !important;
}

/* Tablet adjustments */
@media (max-width: 991.98px) {
  .list-view .product-card-img-wrap {
    width: 220px !important;
    min-width: 220px !important;
    max-width: 220px !important;
  }

  .list-view .product-card-body {
    padding: 1.35rem 1.5rem !important;
  }

  .list-view .product-name {
    font-size: 1.2rem;
  }
}

/* Mobile adjustments */
@media (max-width: 575.98px) {
  .list-view .product-card {
    flex-direction: column !important;
  }

  .list-view .product-card-img-wrap {
    width: 100% !important;
    min-width: 100% !important;
    max-width: 100% !important;
    aspect-ratio: 1 / 1 !important;
    height: auto !important;
  }

  .list-view .product-card-body {
    padding: 1.25rem !important;
  }

  .list-view .product-card-footer {
    flex-direction: column !important;
    align-items: stretch !important;
    gap: 0.75rem;
  }

  .list-view .product-card-footer .btn-add-cart {
    width: 100% !important;
  }
}


/* PROMO BANNER */
.promo-banner {
  background: linear-gradient(135deg, var(--clr-gold-light), #fdf3d0);
  border: 1.5px solid var(--clr-gold);
  border-radius: var(--radius-md);
  padding: 1.1rem 1.4rem;
  margin-bottom: 1.5rem;
  display: flex;
  align-items: center;
  gap: 1rem;
}

.promo-banner i {
  font-size: 1.8rem;
  color: var(--clr-gold);
  flex-shrink: 0;
}

.promo-banner h6 {
  font-family: var(--font-serif);
  font-size: 1rem;
  color: var(--clr-primary-dark);
  margin-bottom: 0.15rem;
}

.promo-banner p {
  font-size: 0.8rem;
  color: var(--clr-muted);
  margin: 0;
}

/* TRUST BAR */
.trust-bar {
  background: var(--clr-surface);
  border-top: 1px solid var(--clr-border);
  border-bottom: 1px solid var(--clr-border);
  padding: 1.2rem 0;
}

.trust-item {
  display: flex;
  align-items: center;
  gap: 0.7rem;
}

.trust-item i {
  font-size: 1.5rem;
  color: var(--clr-primary);
}

.trust-item h6 {
  font-size: 0.82rem;
  font-weight: 700;
  color: var(--clr-text);
  margin: 0;
}

.trust-item p {
  font-size: 0.73rem;
  color: var(--clr-muted);
  margin: 0;
}

/* FOOTER */
.footer-main {
  background: #0f0f1e;
  color: rgba(255, 255, 255, 0.75);
  margin-top: auto;
}

.footer-top {
  background: linear-gradient(135deg, #1a1a2e 0%, #251531 100%);
  border-bottom: 1px solid rgba(201, 168, 76, 0.2);
  padding: 3.5rem 0;
}

.footer-brand {
  font-family: var(--font-serif);
  font-size: 1.8rem;
  color: var(--clr-gold);
  letter-spacing: 1px;
  margin-bottom: 0.5rem;
}

.footer-tagline {
  font-size: 0.85rem;
  color: rgba(255, 255, 255, 0.5);
  line-height: 1.6;
  max-width: 280px;
}

.footer-heading {
  color: #fff;
  font-family: var(--font-serif);
  font-size: 1.05rem;
  font-weight: 600;
  margin-bottom: 1.1rem;
  letter-spacing: 0.5px;
}

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

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

.footer-links a {
  color: rgba(255, 255, 255, 0.6);
  text-decoration: none;
  font-size: 0.85rem;
  transition: all var(--t);
  display: flex;
  align-items: center;
  gap: 0.4rem;
}

.footer-links a:hover {
  color: var(--clr-gold);
  padding-left: 0.3rem;
}

.footer-contact-item {
  display: flex;
  align-items: flex-start;
  gap: 0.7rem;
  margin-bottom: 0.75rem;
}

.footer-contact-item i {
  color: var(--clr-gold);
  font-size: 1rem;
  margin-top: 0.1rem;
  flex-shrink: 0;
}

.footer-contact-item span {
  font-size: 0.83rem;
  color: rgba(255, 255, 255, 0.65);
  line-height: 1.5;
}

.social-links {
  display: flex;
  gap: 0.6rem;
  margin-top: 1.2rem;
}

.social-link {
  width: 38px;
  height: 38px;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 1rem;
  border: 1.5px solid rgba(255, 255, 255, 0.15);
  color: rgba(255, 255, 255, 0.65);
  text-decoration: none;
  transition: all var(--t);
}

.social-link:hover {
  background: var(--clr-gold);
  border-color: var(--clr-gold);
  color: var(--clr-dark);
  transform: translateY(-2px);
}

.footer-bottom {
  padding: 1.1rem 0;
  background: #080813;
  text-align: center;
  font-size: 0.8rem;
  color: rgba(255, 255, 255, 0.35);
}

.footer-bottom a {
  color: var(--clr-gold);
  text-decoration: none;
}

/* BACK TO TOP */
#backToTop {
  position: fixed;
  bottom: 28px;
  right: 28px;
  width: 44px;
  height: 44px;
  border-radius: 50%;
  background: linear-gradient(135deg, var(--clr-primary), var(--clr-primary-dark));
  color: #fff;
  border: none;
  font-size: 1.1rem;
  cursor: pointer;
  box-shadow: var(--shadow-md);
  opacity: 0;
  transform: translateY(20px);
  transition: all var(--t);
  z-index: 9999;
  display: flex;
  align-items: center;
  justify-content: center;
}

#backToTop.show {
  opacity: 1;
  transform: translateY(0);
}

/* WOOCOMMERCE FORM OVERRIDES FOR SEAMLESS STYLING */
.woocommerce-input-wrapper {
  width: 100%;
}

.woocommerce form .form-row {
  margin-bottom: 1.1rem;
}

.woocommerce form .form-row label {
  font-size: 0.84rem;
  font-weight: 600;
  color: var(--clr-dark);
  margin-bottom: 0.35rem;
}

.woocommerce form .form-row input.input-text,
.woocommerce form .form-row textarea,
.woocommerce form .form-row select {
  border: 1.5px solid var(--clr-border);
  border-radius: var(--radius-sm);
  padding: 0.65rem 0.95rem;
  font-size: 0.9rem;
  width: 100%;
}

.woocommerce form .form-row input.input-text:focus,
.woocommerce form .form-row textarea:focus {
  outline: none;
  border-color: var(--clr-primary);
  box-shadow: 0 0 0 3px rgba(124, 63, 88, 0.12);
}

.woocommerce-checkout #payment {
  background: #faf8f5;
  border-radius: var(--radius-md);
  padding: 1.25rem;
  border: 1px solid var(--clr-border);
}

.woocommerce-checkout #payment ul.payment_methods {
  list-style: none;
  padding: 0;
  margin: 0 0 1rem;
}

.woocommerce-checkout #payment ul.payment_methods li {
  margin-bottom: 0.75rem;
  font-size: 0.9rem;
}

.woocommerce-checkout #payment ul.payment_methods li input {
  accent-color: var(--clr-primary);
  margin-right: 0.5rem;
}

.woocommerce-checkout #payment .place-order button#place_order {
  background: linear-gradient(135deg, var(--clr-primary), var(--clr-primary-dark));
  color: #fff;
  border: none;
  border-radius: var(--radius-sm);
  padding: 0.85rem 1.5rem;
  font-size: 1rem;
  font-weight: 700;
  width: 100%;
  cursor: pointer;
  transition: all var(--t);
}

.woocommerce-checkout #payment .place-order button#place_order:hover {
  background: linear-gradient(135deg, var(--clr-primary-dark), #3e1929);
  box-shadow: 0 6px 20px rgba(124, 63, 88, 0.35);
}

/* WOOCOMMERCE SINGLE ADD TO CART OVERRIDE */
.single-product div.product form.cart {
  display: flex;
  align-items: center;
  gap: 0.75rem;
  margin-bottom: 1.2rem;
}

.single-product div.product form.cart div.quantity {
  display: flex;
  align-items: center;
}

.single-product div.product form.cart div.quantity input.qty {
  width: 60px;
  height: 48px;
  border: 1.5px solid var(--clr-border);
  border-radius: var(--radius-sm);
  text-align: center;
  font-weight: 700;
  font-size: 1rem;
}

.single-product div.product form.cart button.single_add_to_cart_button {
  background: linear-gradient(135deg, var(--clr-primary), var(--clr-primary-dark));
  color: #fff;
  border: none;
  border-radius: var(--radius-sm);
  padding: 0.85rem 1.75rem;
  height: 48px;
  font-size: 0.95rem;
  font-weight: 700;
  cursor: pointer;
  transition: all var(--t);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.5rem;
  flex: 1;
}

.single-product div.product form.cart button.single_add_to_cart_button:hover {
  background: linear-gradient(135deg, var(--clr-primary-dark), #3e1929);
  transform: translateY(-2px);
  box-shadow: 0 6px 20px rgba(124, 63, 88, 0.4);
}

/* ==========================================================================
   AJAX ADD TO CART: LOADING SPINNER & VIEW CART BUTTONS
   ========================================================================== */

/* Keyframe for button spinner */
@keyframes hlBtnSpin {
  0% {
    transform: rotate(0deg);
  }

  100% {
    transform: rotate(360deg);
  }
}

/* Spinner element inside button */
.hl-btn-spinner {
  display: inline-block;
  width: 1rem;
  height: 1rem;
  border: 2px solid rgba(255, 255, 255, 0.35);
  border-top-color: #ffffff;
  border-radius: 50%;
  animation: hlBtnSpin 0.65s linear infinite;
  vertical-align: middle;
  flex-shrink: 0;
  margin-right: 0.4rem;
}

/* Button loading state */
.btn-add-cart.loading,
.single_add_to_cart_button.loading,
.btn-add-to-cart.loading {
  position: relative;
  pointer-events: none !important;
  opacity: 0.88;
  cursor: wait !important;
}

/* View Cart state for buttons (archive cards and single product) */
.btn-add-cart.btn-view-cart,
.btn-add-cart.added,
.single_add_to_cart_button.btn-view-cart,
.btn-add-to-cart.btn-view-cart {
  background: linear-gradient(135deg, #27ae60, #1e8449) !important;
  color: #fff !important;
  box-shadow: 0 4px 14px rgba(39, 174, 96, 0.35) !important;
  text-decoration: none !important;
}

.btn-add-cart.btn-view-cart:hover,
.btn-add-cart.added:hover,
.single_add_to_cart_button.btn-view-cart:hover,
.btn-add-to-cart.btn-view-cart:hover {
  background: linear-gradient(135deg, #1e8449, #145a32) !important;
  transform: translateY(-1px);
}

/* Completely hide WooCommerce's default extra .added_to_cart links site-wide */
.added_to_cart,
a.added_to_cart,
a.added_to_cart.wc-forward,
.product-card a.added_to_cart,
.product-card-body a.added_to_cart,
form.cart a.added_to_cart {
  display: none !important;
  visibility: hidden !important;
  opacity: 0 !important;
  pointer-events: none !important;
  height: 0 !important;
  width: 0 !important;
  overflow: hidden !important;
  position: absolute !important;
}

@keyframes hlFadeIn {
  from {
    opacity: 0;
    transform: translateY(4px);
  }

  to {
    opacity: 1;
    transform: translateY(0);
  }
}

/* ==========================================================================
   AJAX FILTER & HIERARCHICAL CATEGORY STYLES
   ========================================================================== */
.products-grid-wrapper {
  position: relative;
  min-height: 280px;
}

.grid-loading-overlay {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: rgba(255, 255, 255, 0.72);
  backdrop-filter: blur(2px);
  z-index: 100;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: var(--radius-md, 14px);
  animation: hlOverlayFade 0.2s ease-in-out;
}

@keyframes hlOverlayFade {
  from {
    opacity: 0;
  }

  to {
    opacity: 1;
  }
}

.category-tree .cat-tree-node {
  border-bottom: 1px dashed rgba(0, 0, 0, 0.06);
  padding-bottom: 0.5rem;
}

.category-tree .cat-tree-node:last-child {
  border-bottom: none;
  padding-bottom: 0;
}

.cat-parent-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
}

.subcat-toggle-btn {
  border: none;
  background: transparent;
  color: var(--clr-muted, #6e6e6e);
  padding: 0 4px;
  line-height: 1;
  transition: transform 0.2s ease;
}

.subcat-toggle-btn[aria-expanded="false"] .subcat-chevron {
  transform: rotate(-90deg);
  display: inline-block;
}

.subcat-chevron {
  display: inline-block;
  transition: transform 0.2s ease;
  font-size: 0.8rem;
}

.subcat-list {
  border-left: 2px solid var(--clr-primary-light, #f0dce5) !important;
}

.subcat-check label {
  font-size: 0.85rem !important;
  color: var(--clr-text, #2d2d2d);
}

.filter-tag {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  background: var(--clr-primary-light, #f0dce5);
  color: var(--clr-primary, #7c3f58);
  font-size: 0.78rem;
  font-weight: 500;
  padding: 0.2rem 0.55rem;
  border-radius: 4px;
  margin-right: 0.35rem;
  margin-bottom: 0.35rem;
}

.filter-tag .remove-filter-btn {
  background: transparent;
  border: none;
  color: var(--clr-primary, #7c3f58);
  font-size: 1.1rem;
  line-height: 1;
  padding: 0;
  cursor: pointer;
  opacity: 0.75;
  transition: opacity 0.2s ease;
}

.filter-tag .remove-filter-btn:hover {
  opacity: 1;
}

.clear-all-btn {
  background: transparent;
  border: none;
  color: var(--clr-primary, #7c3f58);
  font-size: 0.78rem;
  font-weight: 600;
  cursor: pointer;
  padding: 0.2rem 0.4rem;
  text-decoration: underline;
}

.filter-reset-btn {
  cursor: pointer;
  color: var(--clr-muted);
  font-size: 0.8rem;
  text-decoration: none;
}

.filter-reset-btn:hover {
  color: var(--clr-primary);
}

/* Color Filter Checkbox Styles */
.color-cat-hint {
  font-size: 0.76rem;
  color: var(--clr-primary);
  background: var(--clr-primary-light);
  padding: 0.3rem 0.6rem;
  border-radius: 4px;
  display: flex;
  align-items: center;
  gap: 0.35rem;
  font-weight: 500;
}

.color-swatches {
  display: flex;
  flex-wrap: wrap;
  gap: 0.55rem;
}

.color-swatch {
  width: 28px;
  height: 28px;
  border-radius: 50%;
  border: 2px solid transparent;
  cursor: pointer;
  transition: all var(--t);
  position: relative;
}

.color-swatch:hover,
.color-swatch.selected {
  border-color: var(--clr-primary);
  transform: scale(1.15);
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.2);
}

.color-swatch.selected::after {
  content: '✓';
  position: absolute;
  inset: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  color: #fff;
  font-size: 0.75rem;
  font-weight: 700;
}

.color-checkboxes-list {
  max-height: 240px;
  overflow-y: auto;
  padding-right: 4px;
  margin-top: 0.4rem;
}

.color-checkboxes-list::-webkit-scrollbar {
  width: 4px;
}

.color-checkboxes-list::-webkit-scrollbar-thumb {
  background: var(--clr-border);
  border-radius: 4px;
}

.color-filter-check {
  padding: 3px 0;
  margin-bottom: 0.45rem;
}

.color-filter-check:hover label .color-name {
  color: var(--clr-primary);
}

.color-filter-check input[type="checkbox"]:checked~label .color-name {
  font-weight: 700;
  color: var(--clr-primary-dark);
}

.color-filter-check .color-dot {
  width: 14px;
  height: 14px;
  border-radius: 50%;
  display: inline-block;
  flex-shrink: 0;
  border: 1px solid rgba(0, 0, 0, 0.2);
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.08);
  vertical-align: middle;
}

.color-filter-check .color-name {
  font-size: 0.85rem;
  color: var(--clr-text);
  font-weight: 500;
  transition: color var(--t);
}

/* ==========================================================================
   ANAMALA HANDLOOM - LUXURY HEADER & NAVIGATION STYLES
   Matching 1:1 with Screenshot & Fully Mobile Responsive
   ========================================================================== */

/* Header Container (Symmetrical 40px gutters matching screenshot) */
.AH_header_container {
  width: 100%;
  max-width: 1240px;
  margin-left: auto;
  margin-right: auto;
  padding-left: 40px;
  padding-right: 40px;
}

@media (max-width: 768px) {
  .AH_header_container {
    padding-left: 16px;
    padding-right: 16px;
  }
}

/* 1. Top Announcement Bar */


.AH_header_top_bar_inner p {
  margin: 0 !important;
  display: inline-block !important;
  color: #FAF7F0 !important;
  font-size: 11px !important;
  font-weight: 500 !important;
  letter-spacing: 1px !important;
  white-space: normal !important;
  word-break: break-word !important;
}

.AH_header_top_bar_inner a {
  color: #FAF7F0 !important;
  text-decoration: underline !important;
  transition: color 0.2s ease;
}

.AH_header_top_bar_inner a:hover {
  color: #E2BA56 !important;
}

/* 2. Main Header Navbar - Sticky on Scroll */
.AH_site_header {
  background-color: var(--head-color, #FAF7F0) !important;
  border-bottom: 1px solid rgba(0, 0, 0, 0.06) !important;
  position: -webkit-sticky !important;
  position: sticky !important;
  top: 0 !important;
  z-index: 1030 !important;
  box-shadow: none !important;
  transition: box-shadow 0.25s ease, background-color 0.25s ease, top 0.2s ease !important;
}

.AH_site_header.is-sticky,
.AH_site_header.header-scrolled {
  box-shadow: 0 4px 20px rgba(0, 0, 0, 0.08) !important;
  background-color: rgba(250, 247, 240, 0.98) !important;
  backdrop-filter: blur(8px);
  -webkit-backdrop-filter: blur(8px);
}

/* WordPress Admin Bar Compatibility */
.admin-bar .AH_site_header {
  top: 32px !important;
}

@media screen and (max-width: 782px) {
  .admin-bar .AH_site_header {
    top: 46px !important;
  }
}

.AH_header_navbar_wrap {
  padding: 8px 0 !important;
}

/* Symmetrical 3-Column Layout: Left (Logo), Center (Nav), Right (Icons) */
.AH_header_row {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  width: 100% !important;
  min-height: 42px !important;
}

/* Hide desktop nav on mobile & tablets (< 992px) */
.AH_desktop_nav {
  display: none !important;
}

@media (min-width: 992px) {
  .AH_header_left {
    flex: 1 1 0 !important;
    display: flex !important;
    align-items: center !important;
    justify-content: flex-start !important;
  }

  .AH_desktop_nav {
    flex: 0 0 auto !important;
    display: flex !important;
    justify-content: center !important;
    align-items: center !important;
  }

  .AH_header_actions {
    flex: 1 1 0 !important;
    display: flex !important;
    align-items: center !important;
    justify-content: flex-end !important;
    gap: 18px !important;
    line-height: 1 !important;
  }

  .AH_mobile_toggle {
    display: none !important;
  }
}

@media (max-width: 991.98px) {
  .AH_header_navbar_wrap {
    padding: 6px 0 !important;
  }

  .AH_header_row {
    min-height: 40px !important;
  }

  .AH_header_left {
    display: flex !important;
    align-items: center !important;
    justify-content: flex-start !important;
    flex: 0 0 auto !important;
    gap: 10px !important;
  }

  .AH_mobile_toggle {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 38px !important;
    height: 38px !important;
    padding: 0 !important;
    margin: 0 !important;
    border: none !important;
    background: transparent !important;
    cursor: pointer !important;
    border-radius: 6px !important;
    line-height: 1 !important;
    transition: background-color 0.2s ease !important;
  }

  .AH_mobile_toggle:active,
  .AH_mobile_toggle:hover {
    background-color: rgba(30, 61, 47, 0.08) !important;
  }

  .AH_branding {
    display: flex !important;
    align-items: center !important;
  }



  .AH_header_actions {
    display: flex !important;
    align-items: center !important;
    justify-content: flex-end !important;
    flex: 0 0 auto !important;
    gap: 12px !important;
    line-height: 1 !important;
  }

  .AH_icon_btn {
    width: 34px !important;
    height: 34px !important;
    border-radius: 50% !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    transition: background-color 0.2s ease, opacity 0.2s ease !important;
  }

  .AH_icon_btn:active {
    background-color: rgba(0, 0, 0, 0.06) !important;
  }

  .AH_action_svg {
    width: 18px !important;
    height: 18px !important;
  }

  .AH_account_short_name,
  .AH_account_chevron {
    display: none !important;
  }

  .AH_account_btn {
    padding: 0 !important;
    background: transparent !important;
    border: none !important;
    height: 34px !important;
    width: 34px !important;
    justify-content: center !important;
  }
}

@media (max-width: 480px) {
  .AH_header_left {
    gap: 6px !important;
  }



  .AH_header_actions {
    gap: 8px !important;
  }

  .AH_icon_btn {
    width: 30px !important;
    height: 30px !important;
  }

  .AH_account_btn {
    width: 30px !important;
    height: 30px !important;
  }
}

/* 3. Branding & Logo (Height 28px matching screenshot 1:1) */
.AH_branding {
  line-height: 1 !important;
  display: flex !important;
  align-items: center !important;
}

.AH_brand_logo_link {
  display: inline-flex !important;
  align-items: center !important;
  text-decoration: none !important;
  line-height: 1 !important;
}



/* 4. Desktop Navigation (Centered, Work Sans 13.5px, 28px gap matching screenshot) */
.AH_navbar_nav {
  display: flex !important;
  flex-direction: row !important;
  align-items: center !important;
  list-style: none !important;
  margin: 0 !important;
  padding: 0 !important;
  gap: 28px !important;
}

.AH_navbar_nav>li {
  list-style: none !important;
  margin: 0 !important;
  padding: 0 !important;
  display: inline-block !important;
  position: relative !important;
}

.AH_navbar_nav>li>a.nav-link,
.AH_navbar_nav>li>a {
  font-family: var(--body-font, 'Work Sans', sans-serif) !important;
  font-size: 13.5px !important;
  font-weight: 500 !important;
  color: #1A1A14 !important;
  text-decoration: none !important;
  padding: 4px 0 !important;
  letter-spacing: 0 !important;
  line-height: 1.4 !important;
  transition: color 0.2s ease !important;
  display: inline-block !important;
  border: none !important;
  background: transparent !important;
}

.AH_navbar_nav>li>a:hover,
.AH_navbar_nav>li.active>a {
  color: #1E3D2F !important;
}

/* Dropdown styling */
.AH_navbar_nav .dropdown-menu {
  background-color: #FAF7F0 !important;
  border: 1px solid rgba(0, 0, 0, 0.08) !important;
  border-radius: 6px !important;
  box-shadow: 0 8px 24px rgba(0, 0, 0, 0.08) !important;
  padding: 6px 0 !important;
  min-width: 190px !important;
  margin-top: 8px !important;
}

.AH_navbar_nav .dropdown-item {
  font-size: 13px !important;
  font-weight: 450 !important;
  color: #2D2D2D !important;
  padding: 7px 18px !important;
  transition: all 0.2s ease !important;
}

.AH_navbar_nav .dropdown-item:hover,
.AH_navbar_nav .dropdown-item:focus {
  background-color: rgba(30, 61, 47, 0.06) !important;
  color: #1E3D2F !important;
  padding-left: 21px !important;
}

/* 5. Header Action Icons (Right, 18px thin stroke SVGs matching screenshot) */
.AH_header_actions .AH_action_item {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
}

.AH_icon_btn {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 22px !important;
  height: 22px !important;
  background: transparent !important;
  border: none !important;
  padding: 0 !important;
  margin: 0 !important;
  color: #1A1A14 !important;
  text-decoration: none !important;
  cursor: pointer !important;
  position: relative !important;
  line-height: 1 !important;
  transition: opacity 0.2s ease !important;
}

.AH_icon_btn:hover {
  opacity: 0.65 !important;
  color: #1A1A14 !important;
}

.AH_action_svg {
  display: block !important;
  width: 18px !important;
  height: 18px !important;
}

/* Cart Badge (Hidden when 0 matching screenshot; appears neatly when items added) */
.AH_cart_badge,
.AH_wishlist_badge {
  display: none !important;
}

.AH_cart_badge.has-items,
.AH_cart_badge:not(:empty):not([data-count="0"]),
.AH_wishlist_badge.has-items,
.AH_wishlist_badge:not(:empty):not([data-count="0"]) {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  position: absolute !important;
  top: -4px !important;
  right: -6px !important;
  min-width: 15px !important;
  height: 15px !important;
  padding: 0 3px !important;
  border-radius: 999px !important;
  font-size: 8.5px !important;
  font-weight: 700 !important;
  line-height: 15px !important;
  text-align: center !important;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.25) !important;
  transform: scale(0.95);
  transition: transform 0.2s ease;
}

.AH_cart_badge.has-items,
.AH_cart_badge:not(:empty):not([data-count="0"]) {
  background-color: var(--clr-primary, #1E3D2F) !important;
  color: #FAF7F0 !important;
}

.AH_wishlist_badge.has-items,
.AH_wishlist_badge:not(:empty):not([data-count="0"]) {
  background-color: #E11D48 !important;
  color: #FFFFFF !important;
}

/* 6. Interactive Search Collapse */
.AH_header_search_collapse {
  background-color: #FAF7F0;
  border-top: 1px solid rgba(0, 0, 0, 0.04);
  border-bottom: 1px solid rgba(0, 0, 0, 0.08);
  box-shadow: 0 6px 20px rgba(0, 0, 0, 0.03);
}

.AH_header_search_form {
  position: relative;
}

.AH_search_input {
  background: transparent !important;
  font-size: 14px;
  font-weight: 450;
  color: #1A1A14 !important;
  padding: 6px 10px;
}

.AH_search_input::placeholder {
  color: #8C8C84;
}

.AH_search_submit_btn {
  background-color: #1E3D2F;
  color: #FAF7F0;
  font-size: 12.5px;
  font-weight: 500;
  padding: 6px 16px;
  border-radius: 5px;
  letter-spacing: 0.3px;
  border: none;
  transition: background-color 0.2s ease;
}

.AH_search_submit_btn:hover {
  background-color: #13271E;
  color: #FFF;
}

/* 7. Mobile Friendly View */
.AH_mobile_toggle {
  border: none;
  background: transparent;
  padding: 4px;
  box-shadow: none !important;
  outline: none !important;
  cursor: pointer;
  line-height: 1;
}

.AH_hamburger_icon {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  width: 20px;
  height: 14px;
}

.AH_hamburger_icon span {
  display: block;
  height: 1.8px;
  width: 100%;
  background-color: #1A1A14;
  border-radius: 2px;
  transition: all 0.2s ease;
}

.AH_mobile_toggle:hover .AH_hamburger_icon span {
  background-color: #1E3D2F;
}

/* Mobile Offcanvas Drawer */
.AH_mobile_drawer {
  background-color: #FAF7F0 !important;
  width: 300px !important;
  max-width: 85vw;
  border-right: 1px solid rgba(0, 0, 0, 0.08) !important;
}

.AH_mobile_drawer_header {
  padding: 16px 20px;
  background-color: #FAF7F0;
}

.AH_mobile_drawer_body {
  padding: 20px;
}

.AH_mobile_drawer_search .form-control {
  border-color: rgba(0, 0, 0, 0.12);
  background-color: #FFFFFF;
  font-size: 13.5px;
}

.AH_mobile_drawer_search .btn {
  background-color: #1E3D2F;
  color: #FFFFFF;
  border-color: #1E3D2F;
}

.AH_mobile_navbar_nav {
  list-style: none;
  padding-left: 0;
  margin-bottom: 0;
}

.AH_mobile_navbar_nav .nav-item {
  border-bottom: 1px solid rgba(0, 0, 0, 0.05);
}

.AH_mobile_navbar_nav .nav-link {
  font-family: var(--body-font, 'Work Sans', sans-serif);
  font-size: 14.5px;
  font-weight: 500;
  color: #1A1A14 !important;
  padding: 11px 4px !important;
  display: flex;
  align-items: center;
  justify-content: space-between;
  text-decoration: none;
  transition: color 0.2s ease;
}

.AH_mobile_navbar_nav .nav-link:hover,
.AH_mobile_navbar_nav .nav-item.active .nav-link {
  color: #1E3D2F !important;
  font-weight: 600;
}

.AH_mobile_navbar_nav .dropdown-menu {
  background-color: rgba(242, 235, 217, 0.5);
  border: none;
  border-radius: 6px;
  padding: 5px 0;
  margin: 4px 0 8px 8px;
}

.AH_mobile_navbar_nav .dropdown-item {
  font-size: 13.5px;
  padding: 7px 14px;
  color: #2D2D2D;
}

.AH_mobile_footer_link {
  color: #1A1A14;
  font-size: 14px;
  font-weight: 500;
  text-decoration: none;
  padding: 7px 0;
  transition: color 0.2s ease;
}

.AH_mobile_footer_link:hover {
  color: #1E3D2F;
}

/* Responsive adjustments */
@media (max-width: 575.98px) {
  .AH_header_top_bar {
    font-size: 9.5px;
    letter-spacing: 0.8px;
    padding: 3px 8px;
  }
}

/* ==========================================================================
   LUXURY ECOMMERCE CART PAGE STYLES - HANDLOOM HERITAGE
   ========================================================================== */

.AH_cart_page_wrapper {
  background-color: #FAF8F5;
  min-height: 70vh;
}

/* 3-Step Checkout Stepper */
.AH_checkout_stepper {
  padding: 10px 0;
}

.AH_checkout_stepper .AH_step_item {
  position: relative;
}

.AH_checkout_stepper .AH_step_num {
  width: 30px;
  height: 30px;
  border-radius: 50%;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-size: 12px;
  font-weight: 700;
  background-color: #FFFFFF;
  border: 1.5px solid #D8D2C4;
  color: #8A857B;
  transition: all 0.25s ease;
}

.AH_checkout_stepper .is-active .AH_step_num {
  background-color: #1E3D2F;
  border-color: #1E3D2F;
  color: #FAF7F0;
  box-shadow: 0 3px 10px rgba(30, 61, 47, 0.25);
}

.AH_checkout_stepper .AH_step_title {
  font-size: 12px;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.9px;
  color: #9A958B;
  transition: color 0.25s ease;
}

.AH_checkout_stepper .is-active .AH_step_title {
  color: #1E3D2F;
  font-weight: 700;
}

.AH_checkout_stepper .AH_step_divider {
  width: 45px;
  height: 1.5px;
  background-color: #D8D2C4;
  margin: 0 4px;
}

/* Free Shipping Tracker */
.AH_shipping_tracker_card {
  background-color: #FFFFFF;
  border: 1px solid #ECE7DE;
  box-shadow: 0 2px 10px rgba(0, 0, 0, 0.03);
}

.AH_tracker_icon {
  width: 30px;
  height: 30px;
  border-radius: 50%;
  background-color: #FAF7F0;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-size: 14px;
  color: #1E3D2F;
  flex-shrink: 0;
}

.AH_tracker_text {
  font-size: 13.5px;
  color: #2A2A24;
}

.AH_tracker_badge {
  background-color: #1E3D2F !important;
  color: #FAF7F0 !important;
  font-size: 11px;
  font-weight: 600;
  padding: 4px 10px;
  border-radius: 20px;
}

.AH_shipping_progress {
  background-color: #EDE8DF !important;
  border-radius: 10px;
  overflow: hidden;
}

.AH_shipping_bar {
  background: linear-gradient(90deg, #1E3D2F 0%, #2E5A44 100%) !important;
  transition: width 0.4s ease;
  border-radius: 10px;
}

/* Cart Table Card */
.AH_cart_table_card {
  background-color: #FFFFFF;
  border: 1px solid #ECE7DE !important;
  border-radius: 14px;
  box-shadow: 0 4px 20px rgba(0, 0, 0, 0.03);
}

.AH_cart_card_title {
  font-family: 'Lora', Georgia, serif;
  font-size: 1.15rem;
  font-weight: 600;
  color: #1A1A14;
}

.AH_continue_shopping_link {
  color: #1E3D2F;
  font-size: 13px;
  font-weight: 500;
  transition: color 0.2s ease;
}

.AH_continue_shopping_link:hover {
  color: #B8932A;
}

/* Table */
.AH_cart_table {
  border-collapse: separate;
  border-spacing: 0;
  width: 100%;
}

.AH_cart_table thead th {
  background-color: #FAF7F0 !important;
  border-bottom: 1px solid #EAE4D9 !important;
  border-top: none !important;
  padding: 13px 16px !important;
  font-size: 11px !important;
  font-weight: 600 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.8px !important;
  color: #6E685E !important;
  white-space: nowrap;
}

.AH_cart_table tbody td {
  padding: 18px 14px !important;
  vertical-align: middle !important;
  border-bottom: 1px solid #F2EEE6 !important;
}

.AH_cart_table tbody tr:last-child td {
  border-bottom: none !important;
}

.AH_cart_product_thumb {
  width: 75px;
  height: 95px;
  object-fit: cover;
  border-radius: 8px;
  border: 1px solid #EAE5DC;
  background-color: #FAF7F0;
  display: block;
}

.AH_cart_cat_label {
  display: block;
  font-size: 10px;
  font-weight: 600;
  letter-spacing: 0.9px;
  color: #9A7B2C;
  margin-bottom: 3px;
}

.AH_cart_item_title {
  font-family: 'Lora', Georgia, serif;
  font-size: 15px;
  font-weight: 600;
  line-height: 1.35;
  margin-bottom: 4px;
}

.AH_cart_item_title a {
  color: #1A1A14 !important;
  text-decoration: none;
  transition: color 0.2s ease;
}

.AH_cart_item_title a:hover {
  color: #1E3D2F !important;
}

.AH_verified_badge {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  font-size: 10.5px;
  font-weight: 500;
  color: #1E3D2F;
  background-color: #EDF4F0;
  padding: 2px 8px;
  border-radius: 4px;
}

.AH_cart_item_price {
  font-size: 14.5px;
  font-weight: 600;
  color: #3A3A34;
  white-space: nowrap;
}

.AH_cart_item_subtotal {
  font-size: 15.5px;
  font-weight: 700;
  color: #1A1A14;
  white-space: nowrap;
}

/* Quantity Stepper */
.AH_qty_stepper {
  display: inline-flex !important;
  align-items: center !important;
  border: 1px solid #D8D2C4 !important;
  border-radius: 30px !important;
  background-color: #FAF7F0 !important;
  padding: 2px 5px !important;
}

.AH_qty_stepper .AH_qty_btn {
  width: 26px !important;
  height: 26px !important;
  padding: 0 !important;
  border: none !important;
  background: transparent !important;
  border-radius: 50% !important;
  font-size: 16px !important;
  line-height: 1 !important;
  color: #1A1A14 !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  cursor: pointer !important;
  transition: all 0.15s ease !important;
}

.AH_qty_stepper .AH_qty_btn:hover {
  background-color: #1E3D2F !important;
  color: #FAF7F0 !important;
}

.AH_qty_stepper .AH_qty_input {
  width: 36px !important;
  border: none !important;
  background: transparent !important;
  text-align: center !important;
  font-size: 13.5px !important;
  font-weight: 600 !important;
  color: #1A1A14 !important;
  padding: 0 !important;
  margin: 0 2px !important;
  box-shadow: none !important;
}

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

.AH_qty_stepper .AH_qty_input[type=number] {
  -moz-appearance: textfield;
}

/* Remove button */
.AH_cart_remove_btn {
  width: 32px;
  height: 32px;
  border-radius: 50%;
  color: #9A958B;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-size: 14px;
  transition: all 0.2s ease;
  border: 1px solid transparent;
  background: transparent;
}

.AH_cart_remove_btn:hover {
  color: #DC3545;
  background-color: #FFF0F0;
  border-color: #F8D7DA;
}

/* Coupon & Cart Actions */
.AH_coupon_wrap .AH_coupon_input {
  border: 1px solid #D8D2C4;
  border-radius: 8px;
  font-size: 13px;
  padding: 8px 14px;
  width: 210px;
  background-color: #FAF7F0;
  transition: all 0.2s ease;
}

.AH_coupon_wrap .AH_coupon_input:focus {
  border-color: #1E3D2F;
  box-shadow: 0 0 0 3px rgba(30, 61, 47, 0.12);
  background-color: #FFFFFF;
  outline: none;
}

.AH_btn_apply_coupon {
  background: transparent !important;
  border: 1.5px solid #1E3D2F !important;
  color: #1E3D2F !important;
  font-size: 12.5px !important;
  font-weight: 600 !important;
  letter-spacing: 0.5px !important;
  text-transform: uppercase !important;
  border-radius: 8px !important;
  padding: 8px 18px !important;
  transition: all 0.2s ease !important;
}

.AH_btn_apply_coupon:hover {
  background-color: #1E3D2F !important;
  color: #FAF7F0 !important;
}

.AH_btn_update_cart {
  background-color: #FAF7F0 !important;
  border: 1px solid #D8D2C4 !important;
  color: #3A3A34 !important;
  font-size: 12.5px !important;
  font-weight: 600 !important;
  letter-spacing: 0.5px !important;
  text-transform: uppercase !important;
  border-radius: 8px !important;
  padding: 8px 18px !important;
  transition: all 0.2s ease !important;
}

.AH_btn_update_cart:hover,
.AH_btn_update_cart.AH_highlight_update {
  background-color: #1E3D2F !important;
  color: #FAF7F0 !important;
  border-color: #1E3D2F !important;
  box-shadow: 0 2px 8px rgba(30, 61, 47, 0.2) !important;
}

/* Order Summary Card */
.AH_order_summary_card {
  background-color: #FFFFFF;
  border: 1px solid #ECE7DE !important;
  border-radius: 14px;
  box-shadow: 0 4px 20px rgba(0, 0, 0, 0.03);
}

.AH_summary_title {
  font-family: 'Lora', Georgia, serif;
  font-size: 1.22rem;
  font-weight: 600;
  color: #1A1A14;
}

/* Hide duplicate Cart totals title in collateral totals */
.cart_totals>h2,
.AH_cart_collaterals .cart_totals>h2 {
  display: none !important;
}

/* Totals Table */
.AH_totals_table {
  border-collapse: separate;
  border-spacing: 0;
  width: 100%;
}

.AH_totals_table tr {
  border-bottom: 1px solid #F0ECE4;
}

.AH_totals_table th {
  font-size: 13px;
  font-weight: 500;
  color: #6E685E;
  padding: 10px 0;
  text-align: left;
  vertical-align: middle;
  border: none;
}

.AH_totals_table td {
  font-size: 13.5px;
  font-weight: 600;
  color: #1A1A14;
  padding: 10px 0;
  text-align: right;
  vertical-align: middle;
  border: none;
}

.AH_totals_table tr.order-total th {
  font-size: 15px;
  font-weight: 700;
  color: #1A1A14;
  padding: 14px 0 6px 0;
  border-top: 1.5px solid #EAE4D9;
}

.AH_totals_table tr.order-total td {
  font-size: 18px;
  font-weight: 800;
  color: #1E3D2F;
  padding: 14px 0 6px 0;
  border-top: 1.5px solid #EAE4D9;
}

.AH_totals_table tr.order-total td strong {
  font-weight: 800;
}

.AH_totals_table ul#shipping_method {
  list-style: none;
  padding: 0;
  margin: 0;
  text-align: right;
}

.AH_totals_table ul#shipping_method li {
  margin-bottom: 6px;
  font-size: 12.5px;
}

.AH_totals_table ul#shipping_method input[type=radio] {
  accent-color: #1E3D2F;
  margin-left: 6px;
}

/* Shipping Calculator Form in Totals */
.woocommerce-shipping-calculator {
  margin-top: 8px;
}

.shipping-calculator-button {
  font-size: 12px;
  color: #1E3D2F;
  font-weight: 500;
  text-decoration: underline;
}

.shipping-calculator-form {
  margin-top: 8px;
  background-color: #FAF7F0;
  padding: 12px;
  border-radius: 8px;
  border: 1px solid #ECE7DE;
}

.shipping-calculator-form input,
.shipping-calculator-form select {
  border: 1px solid #D8D2C4 !important;
  border-radius: 6px !important;
  font-size: 12.5px !important;
  padding: 6px 10px !important;
  background-color: #FFFFFF !important;
  width: 100% !important;
  margin-bottom: 8px !important;
}

.shipping-calculator-form button[name="calc_shipping"] {
  background-color: #1E3D2F !important;
  color: #FAF7F0 !important;
  border: none !important;
  border-radius: 6px !important;
  font-size: 11.5px !important;
  font-weight: 600 !important;
  letter-spacing: 0.5px !important;
  padding: 8px 14px !important;
  text-transform: uppercase !important;
  width: 100% !important;
  transition: background 0.2s ease !important;
}

.shipping-calculator-form button[name="calc_shipping"]:hover {
  background-color: #142920 !important;
}

/* Proceed to Checkout CTA */
.cart_totals .checkout-button,
.wc-proceed-to-checkout .checkout-button,
.AH_btn_proceed_checkout {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 100% !important;
  background-color: #1E3D2F !important;
  color: #FAF7F0 !important;
  padding: 14px 22px !important;
  font-size: 13.5px !important;
  font-weight: 600 !important;
  letter-spacing: 0.8px !important;
  text-transform: uppercase !important;
  border-radius: 8px !important;
  border: none !important;
  transition: all 0.25s ease !important;
  box-shadow: 0 4px 15px rgba(30, 61, 47, 0.22) !important;
  text-decoration: none !important;
  margin-top: 10px !important;
}

.cart_totals .checkout-button:hover,
.wc-proceed-to-checkout .checkout-button:hover,
.AH_btn_proceed_checkout:hover {
  background-color: #142920 !important;
  color: #FFFFFF !important;
  box-shadow: 0 6px 20px rgba(30, 61, 47, 0.35) !important;
  transform: translateY(-2px) !important;
}

/* Empty Cart View */
.AH_empty_cart_card {
  background-color: #FFFFFF;
  border: 1px solid #ECE7DE !important;
  border-radius: 16px;
  box-shadow: 0 4px 25px rgba(0, 0, 0, 0.03);
}

.AH_empty_bag_circle {
  width: 80px;
  height: 80px;
  border-radius: 50%;
  background-color: #FAF7F0;
  border: 1.5px solid #EAE4D9;
  color: #1E3D2F;
  font-size: 34px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
}

.AH_empty_cart_title {
  font-family: 'Lora', Georgia, serif;
  font-size: 1.75rem;
  font-weight: 600;
  color: #1A1A14;
}

.AH_btn_explore_collections {
  background-color: #1E3D2F !important;
  color: #FAF7F0 !important;
  font-size: 13px !important;
  font-weight: 600 !important;
  letter-spacing: 0.8px !important;
  text-transform: uppercase !important;
  border-radius: 8px !important;
  padding: 13px 30px !important;
  box-shadow: 0 4px 15px rgba(30, 61, 47, 0.22) !important;
  transition: all 0.25s ease !important;
  text-decoration: none !important;
  display: inline-flex !important;
  align-items: center !important;
}

.AH_btn_explore_collections:hover {
  background-color: #142920 !important;
  color: #FFFFFF !important;
  transform: translateY(-2px) !important;
  box-shadow: 0 6px 20px rgba(30, 61, 47, 0.3) !important;
}

.AH_quick_cat_pill {
  border: 1px solid #D8D2C4 !important;
  background-color: #FAF7F0 !important;
  color: #3A3A34 !important;
  border-radius: 20px !important;
  padding: 6px 18px !important;
  font-size: 12.5px !important;
  font-weight: 500 !important;
  text-decoration: none !important;
  transition: all 0.2s ease !important;
}

.AH_quick_cat_pill:hover {
  background-color: #1E3D2F !important;
  color: #FAF7F0 !important;
  border-color: #1E3D2F !important;
  transform: translateY(-1px) !important;
}

/* WooCommerce Notices Styling */
.woocommerce-message,
.woocommerce-info,
.woocommerce-error {
  background-color: #FAF7F0 !important;
  border: 1px solid #EAE4D9 !important;
  border-radius: 8px !important;
  color: #1A1A14 !important;
  font-size: 13px !important;
  padding: 12px 18px !important;
  margin-bottom: 20px !important;
  list-style: none !important;
}

.woocommerce-message {
  border-left: 4px solid #1E3D2F !important;
}

.woocommerce-info {
  border-left: 4px solid #B8932A !important;
}

.woocommerce-error {
  border-left: 4px solid #DC3545 !important;
}

.woocommerce-message a.button.wc-forward,
.woocommerce-info a.button.wc-forward {
  background-color: #1E3D2F !important;
  color: #FAF7F0 !important;
  border-radius: 6px !important;
  padding: 5px 14px !important;
  font-size: 12px !important;
  font-weight: 600 !important;
  text-transform: uppercase !important;
  text-decoration: none !important;
  float: right;
  margin-top: -2px;
}

.woocommerce-message a.button.wc-forward:hover,
.woocommerce-info a.button.wc-forward:hover {
  background-color: #142920 !important;
  color: #FFFFFF !important;
}

/* Responsive Breakpoints */
@media (max-width: 767.98px) {
  .AH_checkout_stepper .AH_step_title {
    font-size: 10.5px;
    letter-spacing: 0.5px;
  }

  .AH_checkout_stepper .AH_step_divider {
    width: 20px;
  }

  .AH_coupon_wrap {
    width: 100%;
  }

  .AH_coupon_wrap .AH_coupon_input {
    width: 100%;
    flex: 1;
  }

  .AH_cart_actions_row {
    flex-direction: column;
    align-items: stretch !important;
  }

  .AH_cart_actions_row>div {
    width: 100%;
  }

  .AH_btn_update_cart {
    width: 100%;
    justify-content: center;
    display: flex;
  }
}

/* ==========================================================================
   GLOBAL OVERFLOW & VIEWPORT DEFENSE
   ========================================================================== */

html,
body {
  overflow-x: clip !important;
  max-width: 100vw !important;
  width: 100% !important;
}

#page,
.site {
  overflow: visible !important;
  max-width: 100% !important;
  width: 100% !important;
  box-sizing: border-box !important;
}

.site-main,
.entry-content,
.AH_cart_page_wrapper,
.AH_checkout_page_wrapper {
  overflow-x: clip !important;
  max-width: 100% !important;
  width: 100% !important;
  box-sizing: border-box !important;
}

.AH_cart_container,
.AH_checkout_container {
  max-width: 1300px !important;
  width: 100% !important;
  padding-left: 15px !important;
  padding-right: 15px !important;
  margin-left: auto !important;
  margin-right: auto !important;
  box-sizing: border-box !important;
}

/* ==========================================================================
   LUXURY ECOMMERCE CHECKOUT PAGE STYLES - HANDLOOM HERITAGE
   ========================================================================== */

.AH_checkout_page_wrapper {
  background-color: #FAF8F5;
  min-height: 70vh;
}

/* Stepper state completed & responsive scale */
.AH_checkout_stepper {
  padding: 10px 0;
  max-width: 100%;
  overflow: hidden;
}

.AH_checkout_stepper .d-flex {
  flex-wrap: nowrap;
  justify-content: center;
  align-items: center;
  max-width: 100%;
}

.AH_checkout_stepper .is-completed .AH_step_num {
  background-color: #1E3D2F !important;
  border-color: #1E3D2F !important;
  color: #FAF7F0 !important;
}

.AH_checkout_stepper .is-completed .AH_step_title {
  color: #1E3D2F !important;
}

.AH_checkout_stepper .AH_step_divider.is-completed {
  background-color: #1E3D2F !important;
}

@media (max-width: 767.98px) {
  .AH_checkout_stepper .AH_step_title {
    font-size: 11px !important;
    letter-spacing: 0.5px !important;
  }

  .AH_checkout_stepper .AH_step_divider {
    width: 18px !important;
    margin: 0 4px !important;
  }
}

@media (max-width: 575.98px) {
  .AH_checkout_stepper .AH_step_item .AH_step_title {
    display: none !important;
  }

  .AH_checkout_stepper .AH_step_item.is-active .AH_step_title {
    display: inline-block !important;
    font-size: 11.5px !important;
  }

  .AH_checkout_stepper .AH_step_divider {
    width: 20px !important;
    margin: 0 4px !important;
  }
}

/* Checkout notices (coupon / login toggle) */
.AH_checkout_notices_wrap .woocommerce-info {
  background-color: #FAF7F0 !important;
  border: 1px solid #ECE7DE !important;
  border-left: 4px solid #B8932A !important;
  border-radius: 8px !important;
  padding: 12px 18px !important;
  font-size: 13.5px !important;
  color: #2A2A24 !important;
  margin-bottom: 15px !important;
}

.AH_checkout_notices_wrap .woocommerce-info a.showcoupon,
.AH_checkout_notices_wrap .woocommerce-info a.showlogin {
  color: #1E3D2F !important;
  font-weight: 600 !important;
  text-decoration: underline !important;
}

.AH_checkout_notices_wrap form.checkout_coupon,
.AH_checkout_notices_wrap form.login {
  background-color: #FFFFFF !important;
  border: 1px solid #ECE7DE !important;
  border-radius: 10px !important;
  padding: 18px 20px !important;
  margin-bottom: 20px !important;
  box-shadow: 0 4px 15px rgba(0, 0, 0, 0.03) !important;
  max-width: 100% !important;
  box-sizing: border-box !important;
}

.AH_checkout_notices_wrap form.checkout_coupon p {
  margin-bottom: 10px;
}

.AH_checkout_notices_wrap form.checkout_coupon .input-text {
  border: 1px solid #D8D2C4;
  border-radius: 8px;
  padding: 8px 14px;
  background-color: #FAF7F0;
  font-size: 13px;
  max-width: 220px;
  width: 100%;
  margin-right: 8px;
  box-sizing: border-box !important;
}

.AH_checkout_notices_wrap form.checkout_coupon .button {
  background-color: #1E3D2F !important;
  color: #FAF7F0 !important;
  border: none !important;
  border-radius: 8px !important;
  padding: 9px 20px !important;
  font-size: 12.5px !important;
  font-weight: 600 !important;
  letter-spacing: 0.5px !important;
  text-transform: uppercase !important;
  cursor: pointer;
}

/* Strict Box-Sizing for all WooCommerce Elements */
.woocommerce-checkout *,
.woocommerce-checkout *::before,
.woocommerce-checkout *::after,
.woocommerce-cart-form *,
.woocommerce-cart-form *::before,
.woocommerce-cart-form *::after {
  box-sizing: border-box !important;
}

/* Checkout Cards */
.AH_checkout_card,
.AH_checkout_review_card,
.AH_cart_table_card,
.AH_order_summary_card {
  background-color: #FFFFFF;
  border: 1px solid #ECE7DE !important;
  border-radius: 14px;
  box-shadow: 0 4px 20px rgba(0, 0, 0, 0.03);
  max-width: 100% !important;
  box-sizing: border-box !important;
  overflow: hidden !important;
}

.AH_checkout_card_title,
.AH_summary_title {
  font-family: 'Lora', Georgia, serif;
  font-size: 1.2rem;
  font-weight: 600;
  color: #1A1A14;
}

.AH_section_step_badge {
  width: 24px;
  height: 24px;
  border-radius: 50%;
  background-color: #1E3D2F;
  color: #FAF7F0;
  font-size: 11.5px;
  font-weight: 700;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
}

.AH_edit_bag_link {
  color: #1E3D2F;
  font-size: 12.5px;
  font-weight: 500;
  transition: color 0.2s ease;
}

.AH_edit_bag_link:hover {
  color: #B8932A;
}

/* Form Fields & Grid Layout - Zero Floats, Zero Overflow */
.woocommerce-billing-fields h3,
.woocommerce-shipping-fields h3,
.woocommerce-additional-fields h3 {
  font-family: 'Lora', Georgia, serif !important;
  font-size: 1.1rem !important;
  font-weight: 600 !important;
  color: #1A1A14 !important;
  margin-bottom: 16px !important;
}

.woocommerce-billing-fields__field-wrapper,
.woocommerce-shipping-fields__field-wrapper,
.woocommerce-additional-fields__field-wrapper {
  display: grid !important;
  grid-template-columns: 1fr 1fr !important;
  gap: 0 16px !important;
  width: 100% !important;
  max-width: 100% !important;
  box-sizing: border-box !important;
}

.woocommerce-billing-fields__field-wrapper .form-row,
.woocommerce-shipping-fields__field-wrapper .form-row,
.woocommerce-additional-fields__field-wrapper .form-row {
  float: none !important;
  margin-right: 0 !important;
  margin-left: 0 !important;
  margin-bottom: 16px !important;
  padding: 0 !important;
  width: 100% !important;
  max-width: 100% !important;
  box-sizing: border-box !important;
}

.woocommerce-billing-fields__field-wrapper .form-row-wide,
.woocommerce-shipping-fields__field-wrapper .form-row-wide,
.woocommerce-additional-fields__field-wrapper .form-row-wide,
.woocommerce-billing-fields__field-wrapper .notes,
.woocommerce-shipping-fields__field-wrapper .notes {
  grid-column: 1 / -1 !important;
}

.woocommerce-billing-fields__field-wrapper .form-row-first,
.woocommerce-shipping-fields__field-wrapper .form-row-first {
  grid-column: 1 !important;
}

.woocommerce-billing-fields__field-wrapper .form-row-last,
.woocommerce-shipping-fields__field-wrapper .form-row-last {
  grid-column: 2 !important;
}

@media (max-width: 575.98px) {

  .woocommerce-billing-fields__field-wrapper,
  .woocommerce-shipping-fields__field-wrapper,
  .woocommerce-additional-fields__field-wrapper {
    grid-template-columns: 1fr !important;
    gap: 0 !important;
  }

  .woocommerce-billing-fields__field-wrapper .form-row-first,
  .woocommerce-billing-fields__field-wrapper .form-row-last,
  .woocommerce-shipping-fields__field-wrapper .form-row-first,
  .woocommerce-shipping-fields__field-wrapper .form-row-last {
    grid-column: 1 / -1 !important;
  }
}

.woocommerce-checkout label {
  font-size: 12.5px !important;
  font-weight: 500 !important;
  color: #4A4842 !important;
  margin-bottom: 6px !important;
  display: block !important;
}

.woocommerce-checkout label abbr.required {
  color: #DC3545 !important;
  text-decoration: none !important;
  font-weight: 700 !important;
  margin-left: 2px !important;
}

.woocommerce-checkout .input-text,
.woocommerce-checkout select,
.woocommerce-checkout textarea,
.select2-container,
.select2-container--default .select2-selection--single {
  box-sizing: border-box !important;
  border: 1px solid #D8D2C4 !important;
  border-radius: 8px !important;
  padding: 10px 14px !important;
  font-size: 13.5px !important;
  background-color: #FAF7F0 !important;
  color: #1A1A14 !important;
  width: 100% !important;
  max-width: 100% !important;
  box-shadow: none !important;
  transition: all 0.2s ease !important;
}

.woocommerce-checkout .input-text:focus,
.woocommerce-checkout select:focus,
.woocommerce-checkout textarea:focus {
  border-color: #1E3D2F !important;
  background-color: #FFFFFF !important;
  box-shadow: 0 0 0 3px rgba(30, 61, 47, 0.12) !important;
  outline: none !important;
}

.woocommerce-checkout textarea {
  min-height: 80px;
  resize: vertical;
}

/* Select2 / Country Dropdown */
.select2-container--default .select2-selection--single {
  height: 44px !important;
  padding: 0 !important;
}

.select2-container--default .select2-selection--single .select2-selection__rendered {
  line-height: 44px !important;
  padding-left: 14px !important;
  font-size: 13.5px !important;
  color: #1A1A14 !important;
}

.select2-container--default .select2-selection--single .select2-selection__arrow {
  height: 42px !important;
  right: 10px !important;
}

.select2-dropdown {
  border: 1px solid #D8D2C4 !important;
  border-radius: 8px !important;
  box-shadow: 0 6px 20px rgba(0, 0, 0, 0.08) !important;
  box-sizing: border-box !important;
}

/* Ship to different address checkbox */
#ship-to-different-address-checkbox {
  accent-color: #1E3D2F;
  width: 17px;
  height: 17px;
  margin-right: 8px;
}

#ship-to-different-address {
  font-size: 14px !important;
  font-weight: 600 !important;
  color: #1A1A14 !important;
  cursor: pointer;
  display: inline-flex !important;
  align-items: center;
}

/* Order Review Table */
.AH_review_table_wrap {
  width: 100% !important;
  max-width: 100% !important;
  overflow-x: auto !important;
  -webkit-overflow-scrolling: touch;
}

.AH_checkout_review_table {
  border-collapse: separate;
  border-spacing: 0;
  width: 100% !important;
  max-width: 100% !important;
  box-sizing: border-box !important;
  table-layout: auto !important;
}

.AH_checkout_review_table thead th {
  background-color: #FAF7F0 !important;
  border-bottom: 1px solid #EAE4D9 !important;
  padding: 10px 12px !important;
  font-size: 11px !important;
  font-weight: 600 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.8px !important;
  color: #6E685E !important;
}

.AH_checkout_review_table tbody td {
  padding: 14px 10px !important;
  border-bottom: 1px solid #F0ECE4 !important;
  vertical-align: middle !important;
}

.AH_review_product_thumb {
  width: 52px;
  height: 65px;
  object-fit: cover;
  border-radius: 6px;
  border: 1px solid #EAE5DC;
  background-color: #FAF7F0;
  flex-shrink: 0;
}

.AH_review_item_title {
  font-family: 'Lora', Georgia, serif;
  font-size: 13.5px;
  font-weight: 600;
  color: #1A1A14;
  line-height: 1.3;
}

.AH_review_qty_badge {
  font-size: 10.5px !important;
  background-color: #FAF7F0 !important;
  color: #5A5852 !important;
  border: 1px solid #E0DAD0 !important;
  font-weight: 500 !important;
}

.AH_review_item_subtotal {
  font-size: 14px;
  font-weight: 600;
  color: #1A1A14;
  white-space: nowrap;
}

/* Order Review Totals (tfoot) */
.AH_checkout_review_table tfoot th {
  font-size: 13px !important;
  font-weight: 500 !important;
  color: #6E685E !important;
  padding: 10px 0 !important;
  border-top: none !important;
  border-bottom: 1px solid #F0ECE4 !important;
}

.AH_checkout_review_table tfoot td {
  font-size: 13.5px !important;
  font-weight: 600 !important;
  color: #1A1A14 !important;
  padding: 10px 0 !important;
  border-top: none !important;
  border-bottom: 1px solid #F0ECE4 !important;
  text-align: right !important;
}

.AH_checkout_review_table tfoot tr.order-total th {
  font-size: 15px !important;
  font-weight: 700 !important;
  color: #1A1A14 !important;
  padding: 14px 0 6px 0 !important;
  border-top: 1.5px solid #EAE4D9 !important;
}

.AH_checkout_review_table tfoot tr.order-total td {
  font-size: 18px !important;
  font-weight: 800 !important;
  color: #1E3D2F !important;
  padding: 14px 0 6px 0 !important;
  border-top: 1.5px solid #EAE4D9 !important;
}

.AH_checkout_review_table tfoot ul#shipping_method {
  list-style: none;
  padding: 0;
  margin: 0;
  text-align: right;
}

.AH_checkout_review_table tfoot ul#shipping_method li {
  font-size: 12.5px;
  margin-bottom: 4px;
}

.AH_checkout_review_table tfoot ul#shipping_method input[type=radio] {
  accent-color: #1E3D2F;
  margin-left: 6px;
}

/* Payment Gateway Methods */
#payment {
  background: transparent !important;
  border-radius: 0 !important;
  padding: 0 !important;
  margin-top: 15px !important;
  max-width: 100% !important;
  box-sizing: border-box !important;
}

#payment ul.payment_methods {
  list-style: none !important;
  padding: 0 !important;
  margin: 12px 0 !important;
  border: 1px solid #ECE7DE !important;
  border-radius: 10px !important;
  overflow: hidden !important;
  background-color: #FAF7F0 !important;
}

#payment ul.payment_methods li {
  padding: 12px 16px !important;
  border-bottom: 1px solid #F0ECE4 !important;
  background-color: #FAF7F0 !important;
  transition: background-color 0.2s ease;
}

#payment ul.payment_methods li:last-child {
  border-bottom: none !important;
}

#payment ul.payment_methods li input[type=radio] {
  accent-color: #1E3D2F !important;
  margin-right: 8px !important;
  width: 16px !important;
  height: 16px !important;
  cursor: pointer !important;
  vertical-align: middle !important;
}

#payment ul.payment_methods li label {
  font-size: 13px !important;
  font-weight: 600 !important;
  color: #1A1A14 !important;
  cursor: pointer !important;
  display: inline-flex !important;
  align-items: center !important;
  gap: 6px !important;
  margin-bottom: 0 !important;
}

#payment ul.payment_methods li div.payment_box {
  background-color: #FFFFFF !important;
  border: 1px solid #ECE7DE !important;
  border-radius: 8px !important;
  padding: 10px 14px !important;
  margin: 10px 0 4px 0 !important;
  font-size: 12.5px !important;
  color: #5A5852 !important;
  line-height: 1.5 !important;
  word-break: break-word !important;
}

#payment ul.payment_methods li div.payment_box::before {
  display: none !important;
}

/* Terms and Conditions */
.woocommerce-terms-and-conditions-wrapper {
  margin: 14px 0 !important;
  font-size: 12.5px !important;
  color: #6E685E !important;
}

.woocommerce-terms-and-conditions-wrapper input[type=checkbox] {
  accent-color: #1E3D2F !important;
  width: 16px !important;
  height: 16px !important;
  margin-right: 6px !important;
  vertical-align: middle !important;
}

.woocommerce-terms-and-conditions-wrapper a {
  color: #1E3D2F !important;
  font-weight: 600 !important;
  text-decoration: underline !important;
}

/* Place Order Button */
#place_order {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 100% !important;
  background-color: #1E3D2F !important;
  color: #FAF7F0 !important;
  padding: 15px 24px !important;
  font-size: 13.5px !important;
  font-weight: 700 !important;
  letter-spacing: 0.9px !important;
  text-transform: uppercase !important;
  border-radius: 8px !important;
  border: none !important;
  transition: all 0.25s ease !important;
  box-shadow: 0 4px 16px rgba(30, 61, 47, 0.25) !important;
  cursor: pointer !important;
  margin-top: 10px !important;
}

#place_order:hover {
  background-color: #142920 !important;
  color: #FFFFFF !important;
  transform: translateY(-2px) !important;
  box-shadow: 0 6px 22px rgba(30, 61, 47, 0.35) !important;
}

/* Thank You Page */
.AH_thankyou_circle {
  width: 72px;
  height: 72px;
  border-radius: 50%;
  background-color: #EDF4F0;
  border: 1.5px solid #C7DFD2;
  color: #1E3D2F;
  font-size: 34px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
}

.AH_thankyou_title {
  font-family: 'Lora', Georgia, serif;
  font-size: 1.7rem;
  font-weight: 600;
  color: #1A1A14;
}

.AH_thankyou_hero_card {
  background-color: #FFFFFF;
  border: 1px solid #ECE7DE !important;
  border-radius: 16px;
  box-shadow: 0 4px 25px rgba(0, 0, 0, 0.03);
  max-width: 100% !important;
  box-sizing: border-box !important;
  overflow: hidden !important;
}

.AH_thankyou_details_wrap {
  border: 1px solid #ECE7DE !important;
  border-radius: 16px;
  max-width: 100% !important;
  box-sizing: border-box !important;
  overflow: hidden !important;
}

.AH_thankyou_details_wrap h2,
.AH_thankyou_details_wrap h3 {
  font-family: 'Lora', Georgia, serif;
  font-size: 1.3rem;
  font-weight: 600;
  color: #1A1A14;
  margin-bottom: 16px;
}

.AH_thankyou_details_wrap table.order_details {
  border-collapse: separate;
  border-spacing: 0;
  width: 100%;
}

.AH_thankyou_details_wrap table.order_details thead th {
  background-color: #FAF7F0;
  padding: 10px 14px;
  font-size: 11px;
  text-transform: uppercase;
  letter-spacing: 0.8px;
  color: #6E685E;
}

.AH_thankyou_details_wrap table.order_details tbody td,
.AH_thankyou_details_wrap table.order_details tfoot td,
.AH_thankyou_details_wrap table.order_details tfoot th {
  padding: 12px 14px;
  border-bottom: 1px solid #F0ECE4;
  font-size: 13.5px;
}

/* ==========================================================================
   BOOTSTRAP OFFCANVAS CART DRAWER (Theme-Based Matching Screenshot Design)
   ========================================================================== */
.AH_cart_offcanvas {
  width: 440px !important;
  max-width: 92vw !important;
  background-color: #FFFFFF !important;
  box-shadow: -8px 0 35px rgba(0, 0, 0, 0.12) !important;
  font-family: var(--font-sans, 'Outfit', sans-serif);
  z-index: 1060;
}

.AH_cart_offcanvas_header {
  padding: 1.15rem 1.4rem;
  background: #FFFFFF;
  border-bottom: 1px solid #ECE7DE !important;
}

.AH_cart_header_bag_icon {
  position: relative;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  color: #1A1A14;
}

.AH_cart_header_badge {
  position: absolute;
  top: -4px;
  right: -7px;
  background: #1A1A14;
  color: #FFFFFF;
  font-size: 0.62rem;
  font-weight: 700;
  width: 17px;
  height: 17px;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  line-height: 1;
  border: 1.5px solid #FFFFFF;
}

.AH_cart_offcanvas_title {
  font-size: 1.25rem;
  font-weight: 700;
  color: #1A1A14;
  letter-spacing: -0.2px;
}

.AH_cart_close_btn {
  font-size: 0.85rem;
  opacity: 0.65;
  transition: opacity 0.2s ease, transform 0.2s ease;
}

.AH_cart_close_btn:hover {
  opacity: 1;
  transform: rotate(90deg);
}

.AH_offcanvas_cart_items_wrap {
  overflow-y: auto;
  flex: 1 1 auto;
}

.AH_offcanvas_cart_items_wrap::-webkit-scrollbar {
  width: 5px;
}

.AH_offcanvas_cart_items_wrap::-webkit-scrollbar-thumb {
  background: #D8D2C6;
  border-radius: 10px;
}

.AH_offcanvas_cart_item {
  transition: opacity 0.25s ease, background 0.2s ease;
  border-bottom-color: #F0ECE4 !important;
}

.AH_offcanvas_cart_item.is-removing {
  opacity: 0.35;
  pointer-events: none;
}

.AH_offcanvas_item_thumb {
  width: 68px;
  height: 86px;
  border-radius: 8px;
  overflow: hidden;
  background: #FAF7F0;
  border: 1px solid #ECE7DE;
  display: flex;
  align-items: center;
  justify-content: center;
}

.AH_offcanvas_cart_thumb {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

.AH_offcanvas_item_name {
  font-size: 0.92rem;
  font-weight: 600;
  line-height: 1.35;
  color: #1A1A14;
}

.AH_offcanvas_item_name a {
  color: #1A1A14;
  transition: color 0.2s ease;
}

.AH_offcanvas_item_name a:hover {
  color: var(--clr-primary, #7c3f58);
}

.AH_cart_item_remove_btn {
  color: #8C857B !important;
  border: none !important;
  background: transparent !important;
  padding: 3px 5px !important;
  border-radius: 4px;
  line-height: 1;
  transition: all 0.2s ease;
  cursor: pointer;
}

.AH_cart_item_remove_btn:hover {
  color: #C0392B !important;
  background: rgba(192, 57, 43, 0.08) !important;
}

.AH_offcanvas_item_qty_row {
  margin: 4px 0;
}

.AH_offcanvas_qty_text {
  font-size: 0.82rem;
  color: #6E685E;
}

.AH_offcanvas_qty_stepper {
  border: 1px solid #D8D2C6 !important;
  background: #FAF7F0;
  padding: 1px 5px;
}

.AH_offcanvas_qty_btn {
  border: none;
  background: transparent;
  color: #1A1A14;
  width: 18px;
  height: 18px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-size: 0.85rem;
  line-height: 1;
  cursor: pointer;
  transition: color 0.15s ease;
}

.AH_offcanvas_qty_btn:hover {
  color: var(--clr-primary, #7c3f58);
}

.AH_offcanvas_price_unit {
  font-size: 0.82rem;
  color: #6E685E;
}

.AH_offcanvas_price_total {
  font-size: 0.95rem;
  font-weight: 700;
  color: #1A1A14;
}

.AH_offcanvas_cart_footer {
  background: #FFFFFF;
  border-top: 1px solid #ECE7DE !important;
  box-shadow: 0 -4px 20px rgba(0, 0, 0, 0.04);
}

.AH_offcanvas_subtotal_label {
  font-size: 1.12rem;
  color: #1A1A14;
  font-weight: 700;
}

.AH_offcanvas_subtotal_amount {
  font-weight: 800;
  color: #1A1A14;
}

.AH_offcanvas_disclaimer {
  font-size: 0.78rem;
  color: #8C857B;
  line-height: 1.4;
}

/* Three action buttons matching screenshot layout */
.AH_offcanvas_btn_viewcart {
  background-color: #233446 !important;
  color: #FFFFFF !important;
  border: 1px solid #233446 !important;
  font-weight: 600;
  font-size: 0.9rem;
  padding: 0.72rem 1rem;
  border-radius: 6px;
  transition: all 0.25s ease;
  text-decoration: none;
  text-align: center;
  display: block;
}

.AH_offcanvas_btn_viewcart:hover {
  background-color: #172432 !important;
  border-color: #172432 !important;
  color: #FFFFFF !important;
  box-shadow: 0 4px 12px rgba(35, 52, 70, 0.2);
}

.AH_offcanvas_btn_continue {
  background-color: #2C3E50 !important;
  color: #FFFFFF !important;
  border: 1px solid #2C3E50 !important;
  font-weight: 600;
  font-size: 0.9rem;
  padding: 0.72rem 1rem;
  border-radius: 6px;
  transition: all 0.25s ease;
  text-align: center;
}

.AH_offcanvas_btn_continue:hover {
  background-color: #1F2C3A !important;
  border-color: #1F2C3A !important;
  color: #FFFFFF !important;
  box-shadow: 0 4px 12px rgba(44, 62, 80, 0.2);
}

.AH_offcanvas_btn_checkout {
  background: linear-gradient(135deg, var(--clr-primary, #7c3f58), var(--clr-primary-dark, #5a2c3e)) !important;
  color: #FFFFFF !important;
  border: none !important;
  font-weight: 700;
  font-size: 0.95rem;
  padding: 0.78rem 1rem;
  border-radius: 6px;
  transition: all 0.25s ease;
  text-decoration: none;
  text-align: center;
  display: block;
  box-shadow: 0 4px 14px rgba(124, 63, 88, 0.28);
  letter-spacing: 0.3px;
}

.AH_offcanvas_btn_checkout:hover {
  background: linear-gradient(135deg, var(--clr-primary-dark, #5a2c3e), #421c2c) !important;
  color: #FFFFFF !important;
  transform: translateY(-1px);
  box-shadow: 0 6px 18px rgba(124, 63, 88, 0.38);
}

/* Empty cart in offcanvas */
.AH_offcanvas_empty_cart {
  padding: 3rem 1.5rem;
}

.AH_empty_cart_icon_box {
  width: 76px;
  height: 76px;
  border-radius: 50%;
  background: #FAF7F0;
  color: var(--clr-primary, #7c3f58);
}

.AH_empty_cart_title {
  font-size: 1.25rem;
  color: #1A1A14;
}

.AH_offcanvas_btn_shop {
  background: linear-gradient(135deg, var(--clr-primary, #7c3f58), var(--clr-primary-dark, #5a2c3e)) !important;
  color: #FFFFFF !important;
  border: none !important;
  font-weight: 600;
  border-radius: 6px;
  text-decoration: none;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  box-shadow: 0 4px 14px rgba(124, 63, 88, 0.25);
  transition: all 0.25s ease;
}

.AH_offcanvas_btn_shop:hover {
  background: linear-gradient(135deg, var(--clr-primary-dark, #5a2c3e), #421c2c) !important;
  color: #FFFFFF !important;
  transform: translateY(-1px);
  box-shadow: 0 6px 18px rgba(124, 63, 88, 0.35);
}

/* ==========================================================================
   ANAMALA HANDLOOM - LUXURY MY ACCOUNT & PATRON SANCTUARY STYLES
   ========================================================================== */

/* 1. Patron Hero Banner */
.AH_account_hero_banner {
  background: linear-gradient(135deg, #11231a 0%, #1e3d2f 55%, #2a4c3d 100%) !important;
  border-bottom: 2px solid var(--clr-gold, #b8932a) !important;
  position: relative;
  overflow: hidden;
}

.AH_account_hero_banner::before {
  content: '';
  position: absolute;
  inset: 0;
  background: url("data:image/svg+xml,%3Csvg width='60' height='60' viewBox='0 0 60 60' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='%23b8932a' fill-opacity='0.07'%3E%3Cpath d='M36 34v-4h-2v4h-4v2h4v4h2v-4h4v-2h-4zm0-30V0h-2v4h-4v2h4v4h2V6h4V4h-4zM6 34v-4H4v4H0v2h4v4h2v-4h4v-2H6zM6 4V0H4v4H0v2h4v4h2V6h4V4H6z'/%3E%3C/g%3E%3C/svg%3E");
  pointer-events: none;
}

.AH_account_hero_banner::after {
  content: '';
  position: absolute;
  top: -50%;
  right: -10%;
  width: 600px;
  height: 600px;
  background: radial-gradient(circle, rgba(184, 147, 42, 0.16) 0%, transparent 70%);
  pointer-events: none;
}

.AH_account_avatar {
  width: 74px;
  height: 74px;
  background: linear-gradient(135deg, #1e3d2f 0%, #11231a 100%);
  border: 2.5px solid var(--clr-gold, #b8932a);
  color: var(--clr-gold, #b8932a);
  font-family: var(--font-serif, 'Cormorant Garamond', serif);
  font-size: 1.85rem;
  letter-spacing: 1px;
}

.AH_avatar_badge {
  background: #11231a;
  border: 1.5px solid var(--clr-gold, #b8932a) !important;
  font-size: 0.85rem;
}

.AH_patron_badge {
  background: rgba(184, 147, 42, 0.18) !important;
  border: 1px solid var(--clr-gold, #b8932a) !important;
  color: var(--clr-gold, #b8932a) !important;
  font-size: 0.72rem;
  letter-spacing: 0.8px;
}

.AH_account_user_name {
  font-family: var(--font-serif, 'Cormorant Garamond', serif);
  font-size: 1.95rem;
  letter-spacing: 0.5px;
  line-height: 1.2;
}

.AH_stat_box {
  background: rgba(255, 255, 255, 0.06);
  backdrop-filter: blur(6px);
  border: 1px solid rgba(255, 255, 255, 0.14) !important;
  border-radius: 8px;
  transition: all 0.25s ease;
}

.AH_stat_box:hover {
  background: rgba(184, 147, 42, 0.14);
  border-color: rgba(184, 147, 42, 0.45) !important;
  transform: translateY(-2px);
}

.AH_stat_num {
  font-family: var(--font-serif, 'Cormorant Garamond', serif);
  color: var(--clr-gold, #b8932a) !important;
  line-height: 1.1;
  margin-bottom: 2px;
}

.AH_stat_label {
  font-size: 0.68rem;
  letter-spacing: 0.6px;
  font-weight: 500;
}

/* 2. Account Sidebar Navigation */
.AH_account_sidebar {
  border-radius: 12px !important;
  border: 1px solid var(--clr-border, #e8e0d6) !important;
  box-shadow: 0 4px 18px rgba(30, 61, 47, 0.05) !important;
  overflow: hidden;
}

.AH_account_sidebar_header {
  background: linear-gradient(135deg, #11231a 0%, #1e3d2f 100%) !important;
  font-family: var(--font-serif, 'Cormorant Garamond', serif);
  font-size: 1.05rem;
  letter-spacing: 0.4px;
}

.AH_nav_list_group .AH_nav_item {
  background-color: #FFFFFF;
  color: var(--clr-text, #2d2d26);
  border-bottom: 1px solid #f2ede4 !important;
  border-left: 3px solid transparent !important;
  transition: all 0.2s ease;
  font-size: 0.92rem;
  text-decoration: none;
}

.AH_nav_list_group .AH_nav_item:last-child {
  border-bottom: none !important;
}

.AH_nav_list_group .AH_nav_item:hover {
  background-color: #f7f9f8;
  color: var(--clr-primary, #1e3d2f);
  border-left-color: rgba(184, 147, 42, 0.6) !important;
  padding-left: 1.25rem !important;
}

.AH_nav_list_group .AH_nav_item.is-active {
  background-color: rgba(30, 61, 47, 0.08) !important;
  color: var(--clr-primary, #1e3d2f) !important;
  border-left-color: var(--clr-primary, #1e3d2f) !important;
  font-weight: 700;
}

.AH_nav_list_group .AH_nav_item.is-active .AH_nav_icon {
  color: var(--clr-primary, #1e3d2f) !important;
}

.AH_nav_list_group .AH_nav_item .AH_nav_icon {
  font-size: 1.1rem;
  color: var(--clr-muted, #6e6e66);
  transition: color 0.2s ease;
  width: 20px;
  text-align: center;
}

.AH_nav_list_group .AH_nav_item:hover .AH_nav_icon {
  color: var(--clr-primary, #1e3d2f);
}

.AH_nav_list_group .AH_nav_item.AH_nav_logout:hover {
  background-color: #FFF5F5 !important;
  color: #DC3545 !important;
  border-left-color: #DC3545 !important;
}

.AH_nav_badge {
  font-size: 0.72rem;
  background-color: #faf7f0 !important;
  border: 1px solid #e8e0d6 !important;
  color: var(--clr-primary, #1e3d2f) !important;
  font-weight: 700 !important;
}

/* 3. Account Content Box */
.AH_account_content {
  border-radius: 12px !important;
  border: 1px solid var(--clr-border, #e8e0d6) !important;
  box-shadow: 0 4px 20px rgba(30, 61, 47, 0.04) !important;
  min-height: 480px;
}

/* 4. Dashboard Elements */
.AH_dashboard_welcome_card {
  background-color: #faf7f0 !important;
  border: 1px solid var(--clr-border, #e8e0d6) !important;
}

.AH_latest_order_card {
  background-color: #FFFFFF;
  border: 1px solid var(--clr-border, #e8e0d6) !important;
  box-shadow: 0 2px 12px rgba(30, 61, 47, 0.03);
}

.AH_btn_view_order {
  background: linear-gradient(135deg, var(--clr-primary, #1e3d2f), var(--clr-primary-dark, #14291f)) !important;
  color: #FFFFFF !important;
  border: none !important;
  border-radius: 30px !important;
  font-weight: 600 !important;
  font-size: 0.85rem !important;
  padding: 6px 16px !important;
  transition: all 0.25s ease !important;
  text-decoration: none !important;
  box-shadow: 0 2px 8px rgba(30, 61, 47, 0.2) !important;
}

.AH_btn_view_order:hover {
  background: linear-gradient(135deg, var(--clr-primary-dark, #14291f), #0d1a14) !important;
  color: #FFFFFF !important;
  transform: translateY(-1px);
  box-shadow: 0 4px 14px rgba(30, 61, 47, 0.35) !important;
}

.AH_btn_explore_shop {
  background: linear-gradient(135deg, var(--clr-primary, #1e3d2f), var(--clr-primary-dark, #14291f)) !important;
  color: #FFFFFF !important;
  border: none !important;
  border-radius: 30px !important;
  font-weight: 600 !important;
  padding: 8px 22px !important;
  transition: all 0.25s ease !important;
  text-decoration: none !important;
  box-shadow: 0 3px 12px rgba(30, 61, 47, 0.22) !important;
}

.AH_btn_explore_shop:hover {
  background: linear-gradient(135deg, var(--clr-primary-dark, #14291f), #0d1a14) !important;
  color: #FFFFFF !important;
  transform: translateY(-1px);
  box-shadow: 0 5px 16px rgba(30, 61, 47, 0.38) !important;
}

.AH_action_card {
  background-color: #FFFFFF;
  border: 1px solid var(--clr-border, #e8e0d6) !important;
  transition: all 0.25s ease;
  box-shadow: 0 2px 8px rgba(30, 61, 47, 0.03);
}

.AH_action_card:hover {
  border-color: var(--clr-gold, #b8932a) !important;
  transform: translateY(-3px);
  box-shadow: 0 6px 20px rgba(30, 61, 47, 0.08);
}

.AH_action_card_icon {
  width: 46px;
  height: 46px;
  background-color: rgba(30, 61, 47, 0.08);
  color: var(--clr-primary, #1e3d2f);
  font-size: 1.3rem;
  flex-shrink: 0;
  transition: all 0.25s ease;
}

.AH_action_card:hover .AH_action_card_icon {
  background: linear-gradient(135deg, var(--clr-primary, #1e3d2f), var(--clr-primary-dark, #14291f));
  color: #FFFFFF;
}

/* 5. Orders Table */
.AH_orders_table_wrap {
  border: 1px solid var(--clr-border, #e8e0d6) !important;
}

.AH_orders_table th {
  font-size: 11px !important;
  letter-spacing: 0.8px;
  color: #1e3d2f !important;
  font-weight: 700;
  background-color: #faf7f0 !important;
  border-bottom: 1px solid var(--clr-border, #e8e0d6) !important;
}

.AH_order_row {
  transition: background-color 0.2s ease;
}

.AH_order_row:hover {
  background-color: #f7f9f8 !important;
}

.AH_order_number {
  color: var(--clr-dark, #1a1a14) !important;
  transition: color 0.2s ease;
}

.AH_order_number:hover {
  color: var(--clr-gold, #b8932a) !important;
  text-decoration: underline;
}

/* 6. View Order & Milestones */
.AH_order_hero_card {
  border-radius: 12px !important;
  box-shadow: 0 4px 20px rgba(30, 61, 47, 0.08);
}

.AH_step_item .AH_step_icon {
  width: 36px;
  height: 36px;
  border: 2px solid rgba(255, 255, 255, 0.25);
  background-color: rgba(255, 255, 255, 0.08);
  color: #FFFFFF;
  font-size: 1rem;
  transition: all 0.25s ease;
}

.AH_step_item.is-completed .AH_step_icon {
  background-color: var(--clr-gold, #b8932a) !important;
  border-color: var(--clr-gold, #b8932a) !important;
  color: #11231a !important;
  font-weight: 700;
  box-shadow: 0 0 12px rgba(184, 147, 42, 0.5);
}

.AH_step_item.is-cancelled .AH_step_icon {
  background-color: #DC3545 !important;
  border-color: #DC3545 !important;
  color: #FFFFFF !important;
}

/* Order Details standard WC table beautification */
.woocommerce-order-details {
  margin-top: 1.5rem;
}

.woocommerce-order-details__title {
  font-family: var(--font-serif, 'Cormorant Garamond', serif);
  font-size: 1.45rem;
  font-weight: 700;
  color: var(--clr-primary, #1e3d2f);
  margin-bottom: 1rem;
}

.woocommerce-table--order-details {
  width: 100%;
  border-collapse: separate;
  border-spacing: 0;
  border: 1px solid var(--clr-border, #e8e0d6) !important;
  border-radius: 10px;
  overflow: hidden;
  margin-bottom: 2rem;
}

.woocommerce-table--order-details th {
  background-color: #faf7f0 !important;
  padding: 12px 16px !important;
  font-size: 11.5px !important;
  text-transform: uppercase;
  letter-spacing: 0.7px;
  color: #1e3d2f;
  font-weight: 700;
  border-bottom: 1px solid var(--clr-border, #e8e0d6) !important;
}

.woocommerce-table--order-details td {
  padding: 14px 16px !important;
  vertical-align: middle;
  border-bottom: 1px solid #f2ede4 !important;
}

.woocommerce-table--order-details tr:last-child td,
.woocommerce-table--order-details tr:last-child th {
  border-bottom: none !important;
}

.woocommerce-table--order-details tfoot th {
  background-color: #faf7f0 !important;
  font-weight: 600;
  color: #3A3A34;
}

.woocommerce-table--order-details tfoot tr:last-child td,
.woocommerce-table--order-details tfoot tr:last-child th {
  background-color: #f7f9f8 !important;
  font-size: 1.1rem;
  font-weight: 700;
  color: var(--clr-primary, #1e3d2f) !important;
}

/* Customer details / address styling */
.woocommerce-customer-details {
  margin-top: 2rem;
}

.woocommerce-columns--addresses {
  display: flex;
  gap: 1.5rem;
  flex-wrap: wrap;
}

.woocommerce-columns--addresses .woocommerce-column {
  flex: 1 1 300px;
  background-color: #faf8f5;
  border: 1px solid var(--clr-border, #e8e0d6);
  border-radius: 10px;
  padding: 1.25rem 1.5rem;
}

.woocommerce-column__title {
  font-family: var(--font-serif, 'Cormorant Garamond', serif);
  font-size: 1.2rem;
  font-weight: 700;
  color: var(--clr-primary, #1e3d2f);
  margin-bottom: 0.75rem;
  padding-bottom: 0.5rem;
  border-bottom: 1px solid var(--clr-border, #e8e0d6);
}

.woocommerce-columns--addresses address {
  font-style: normal;
  line-height: 1.7;
  color: #555047;
  font-size: 0.9rem;
}

/* 7. Address Cards */
.AH_address_card {
  border: 1px solid var(--clr-border, #e8e0d6) !important;
  box-shadow: 0 2px 10px rgba(30, 61, 47, 0.03) !important;
  transition: all 0.25s ease;
}

.AH_address_card:hover {
  border-color: var(--clr-gold, #b8932a) !important;
  box-shadow: 0 4px 16px rgba(30, 61, 47, 0.08) !important;
}

.AH_btn_save_account {
  background: linear-gradient(135deg, var(--clr-primary, #1e3d2f), var(--clr-primary-dark, #14291f)) !important;
  color: #FFFFFF !important;
  border: none !important;
  border-radius: 30px !important;
  font-weight: 600 !important;
  font-size: 0.92rem !important;
  box-shadow: 0 4px 14px rgba(30, 61, 47, 0.25) !important;
  transition: all 0.25s ease !important;
}

.AH_btn_save_account:hover {
  background: linear-gradient(135deg, var(--clr-primary-dark, #14291f), #0d1a14) !important;
  color: #FFFFFF !important;
  transform: translateY(-1px);
  box-shadow: 0 6px 18px rgba(30, 61, 47, 0.35) !important;
}

/* Form controls focus styling in My Account */
.AH_account_content .form-control:focus,
.AH_edit_address_wrap .form-control:focus,
.AH_edit_address_wrap select:focus,
.AH_edit_account_wrap .form-control:focus,
.AH_lostpass_form .form-control:focus {
  border-color: var(--clr-primary, #1e3d2f) !important;
  box-shadow: 0 0 0 3px rgba(30, 61, 47, 0.15) !important;
  outline: none;
}

/* Auth / Login Page styling */
.AH_auth_card {
  border-radius: 16px !important;
  border: 1px solid var(--clr-border, #e8e0d6) !important;
  overflow: hidden;
  box-shadow: 0 10px 40px rgba(30, 61, 47, 0.08) !important;
}

.AH_auth_left {
  background: linear-gradient(145deg, #11231a 0%, #1e3d2f 50%, #264e3c 100%) !important;
  position: relative;
  overflow: hidden;
}

.AH_auth_left::before {
  content: '';
  position: absolute;
  inset: 0;
  background: url("data:image/svg+xml,%3Csvg width='60' height='60' viewBox='0 0 60 60' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='%23b8932a' fill-opacity='0.08'%3E%3Cpath d='M36 34v-4h-2v4h-4v2h4v4h2v-4h4v-2h-4zm0-30V0h-2v4h-4v2h4v4h2V6h4V4h-4zM6 34v-4H4v4H0v2h4v4h2v-4h4v-2H6zM6 4V0H4v4H0v2h4v4h2V6h4V4H6z'/%3E%3C/g%3E%3C/svg%3E");
  pointer-events: none;
}

.AH_auth_tab_wrap,
.AH_auth_tab_slider_wrap {
  background: #edf3f0;
  padding: 4px;
  border-radius: 50px;
  border: 1px solid rgba(30, 61, 47, 0.15);
  position: relative;
  overflow: hidden;
}

.AH_tab_slider_bg {
  position: absolute;
  top: 4px;
  bottom: 4px;
  left: 4px;
  width: calc(50% - 4px);
  background: var(--clr-primary, #1e3d2f);
  border-radius: 50px;
  box-shadow: 0 2px 10px rgba(30, 61, 47, 0.25);
  transition: transform 0.35s cubic-bezier(0.4, 0, 0.2, 1);
  z-index: 1;
}

.AH_auth_tab_slider_wrap.is-register .AH_tab_slider_bg {
  transform: translateX(100%);
}

.AH_tab_toggle_btn {
  border: none !important;
  background: transparent !important;
  border-radius: 50px !important;
  font-weight: 700;
  font-size: 0.88rem;
  transition: color 0.3s ease;
  position: relative;
  z-index: 2;
  cursor: pointer;
}

.AH_tab_toggle_btn.active {
  color: #ffffff !important;
}

.AH_tab_toggle_btn:not(.active) {
  color: #555555 !important;
}

/* Auth Smooth Sliding Panes */
.AH_auth_panes_viewport {
  position: relative;
  overflow: hidden;
  transition: height 0.35s cubic-bezier(0.4, 0, 0.2, 1);
  width: 100%;
}

.AH_auth_panes_track {
  display: flex;
  width: 200%;
  transition: transform 0.4s cubic-bezier(0.4, 0, 0.2, 1);
  align-items: flex-start;
}

.AH_auth_panes_track.slide-register {
  transform: translateX(-50%);
}

.AH_auth_pane {
  width: 50%;
  flex: 0 0 50%;
  padding: 4px 6px;
  opacity: 1;
  transition: opacity 0.35s ease;
  box-sizing: border-box;
}

.AH_auth_panes_track.slide-register #loginPane {
  opacity: 0;
  pointer-events: none;
}

.AH_auth_panes_track:not(.slide-register) #registerPane {
  opacity: 0;
  pointer-events: none;
}

.AH_auth_btn_submit {
  background: linear-gradient(135deg, var(--clr-primary, #1e3d2f), var(--clr-primary-dark, #14291f)) !important;
  border: none !important;
  border-radius: 8px !important;
  font-weight: 700;
  padding: 0.75rem 1.5rem;
  color: #ffffff !important;
  box-shadow: 0 4px 14px rgba(30, 61, 47, 0.25);
  transition: all 0.25s ease;
}

.AH_auth_btn_submit:hover {
  background: linear-gradient(135deg, var(--clr-primary-dark, #14291f), #0d1a14) !important;
  transform: translateY(-2px);
  box-shadow: 0 6px 18px rgba(30, 61, 47, 0.35);
}

.AH_auth_illustration_wrap {
  position: relative;
  transition: transform 0.4s ease, box-shadow 0.4s ease;
}

.AH_auth_illustration_wrap:hover {
  transform: translateY(-4px);
  box-shadow: 0 20px 40px rgba(0, 0, 0, 0.3) !important;
}

.AH_auth_container .input-group {
  transition: box-shadow 0.2s ease, border-color 0.2s ease;
  border-radius: 6px;
}

.AH_auth_container .input-group:focus-within {
  box-shadow: 0 0 0 3px rgba(30, 61, 47, 0.15) !important;
}

.AH_auth_container .input-group:focus-within .input-group-text,
.AH_auth_container .input-group:focus-within .form-control,
.AH_auth_container .input-group:focus-within .btn {
  border-color: var(--clr-primary, #1e3d2f) !important;
}

/* Fix WooCommerce Password Strength & Hint breaking input-group */
.input-group.password-input {
  flex-wrap: wrap !important;
}

.input-group.password-input>input.form-control {
  flex: 1 1 auto !important;
  min-width: 0 !important;
  width: auto !important;
}

.input-group.password-input>.woocommerce-password-strength,
.input-group.password-input>.woocommerce-password-hint {
  flex: 0 0 100% !important;
  width: 100% !important;
  order: 99 !important;
}

#reg_password_meter_container .woocommerce-password-strength,
.woocommerce-password-strength {
  width: 100% !important;
  margin-top: 8px !important;
  padding: 8px 12px !important;
  border-radius: 6px !important;
  font-size: 0.8rem !important;
  font-weight: 600 !important;
  text-align: left !important;
  box-sizing: border-box !important;
  display: block !important;
}

#reg_password_meter_container .woocommerce-password-strength.short,
.woocommerce-password-strength.short {
  background-color: #fff8eb !important;
  color: #b45309 !important;
  border: 1px solid #fde68a !important;
}

#reg_password_meter_container .woocommerce-password-strength.bad,
.woocommerce-password-strength.bad {
  background-color: #fef2f2 !important;
  color: #b91c1c !important;
  border: 1px solid #fecaca !important;
}

#reg_password_meter_container .woocommerce-password-strength.good,
.woocommerce-password-strength.good {
  background-color: #f0fdf4 !important;
  color: #15803d !important;
  border: 1px solid #bbf7d0 !important;
}

#reg_password_meter_container .woocommerce-password-strength.strong,
.woocommerce-password-strength.strong {
  background-color: #edf3f0 !important;
  color: var(--clr-primary, #1e3d2f) !important;
  border: 1px solid rgba(30, 61, 47, 0.25) !important;
}

#reg_password_meter_container .woocommerce-password-hint,
.woocommerce-password-hint {
  display: block !important;
  margin-top: 6px !important;
  font-size: 0.75rem !important;
  color: #555 !important;
  line-height: 1.45 !important;
  background: #f8f9fa !important;
  padding: 8px 12px !important;
  border-radius: 6px !important;
  border: 1px solid #e9ecef !important;
  box-sizing: border-box !important;
}

/* 8. Mobile Responsiveness */
@media (max-width: 767.98px) {
  .AH_account_sidebar {
    position: static !important;
    margin-bottom: 1.5rem;
  }

  .AH_account_avatar {
    width: 60px;
    height: 60px;
    font-size: 1.5rem;
  }

  .AH_account_user_name {
    font-size: 1.5rem;
  }

  .AH_account_stats_row {
    margin-top: 1rem;
  }

  .AH_milestone_stepper .AH_step_title {
    font-size: 0.72rem !important;
  }
}

/* ==========================================================================
   GLOBAL FORM CONTROLS, SELECT OPTIONS & NOTIFICATIONS DESIGN SYSTEM
   Luxury Theme Colors: Royal Green (#1E3D2F), Warm Gold (#B8932A)
   ========================================================================== */

/* 1. Universal Input Fields & Textareas */
input[type="text"],
input[type="email"],
input[type="password"],
input[type="tel"],
input[type="url"],
input[type="number"],
input[type="search"],
input[type="date"],
textarea,
.form-control,
.woocommerce-Input,
.woocommerce-Input--text,
.input-text {
  width: 100%;
  border: 1px solid #d4cdc3 !important;
  border-radius: 8px !important;
  background-color: #ffffff !important;
  color: #1e293b !important;
  font-family: inherit !important;
  font-size: 0.92rem !important;
  line-height: 1.5 !important;
  padding: 0.65rem 0.95rem !important;
  box-shadow: 0 1px 2px rgba(0, 0, 0, 0.04) !important;
  transition: border-color 0.22s ease, box-shadow 0.22s ease, background-color 0.22s ease !important;
  outline: none !important;
  box-sizing: border-box !important;
}

textarea,
.form-control[rows] {
  min-height: 105px !important;
  line-height: 1.6 !important;
  resize: vertical !important;
}

/* Hover & Focus States */
input[type="text"]:hover,
input[type="email"]:hover,
input[type="password"]:hover,
input[type="tel"]:hover,
input[type="url"]:hover,
input[type="number"]:hover,
input[type="search"]:hover,
textarea:hover,
.form-control:hover,
.woocommerce-Input:hover,
.input-text:hover {
  border-color: #a89f91 !important;
}

input[type="text"]:focus,
input[type="email"]:focus,
input[type="password"]:focus,
input[type="tel"]:focus,
input[type="url"]:focus,
input[type="number"]:focus,
input[type="search"]:focus,
input[type="date"]:focus,
textarea:focus,
.form-control:focus,
.woocommerce-Input:focus,
.input-text:focus {
  border-color: var(--clr-primary, #1e3d2f) !important;
  box-shadow: 0 0 0 3.5px rgba(30, 61, 47, 0.14) !important;
  background-color: #ffffff !important;
  outline: none !important;
}

/* Placeholder Styling */
input::placeholder,
textarea::placeholder,
.form-control::placeholder {
  color: #94a3b8 !important;
  opacity: 1 !important;
  font-size: 0.88rem !important;
}

/* Disabled & Readonly */
input:disabled,
input[readonly],
textarea:disabled,
textarea[readonly],
.form-control:disabled,
.form-control[readonly] {
  background-color: #f7f5f0 !important;
  border-color: #e5dfd5 !important;
  color: #64748b !important;
  cursor: not-allowed !important;
  box-shadow: none !important;
}

/* Form Labels */
label,
.form-label,
.woocommerce-form-row label,
.woocommerce-billing-fields label,
.woocommerce-shipping-fields label {
  font-weight: 600 !important;
  font-size: 0.86rem !important;
  color: #334155 !important;
  margin-bottom: 0.4rem !important;
  display: inline-block !important;
  letter-spacing: 0.01em !important;
}

abbr.required,
span.required {
  color: #dc2626 !important;
  text-decoration: none !important;
  font-weight: 700 !important;
  margin-left: 2px !important;
}

/* 2. Select Options & Dropdowns */
select,
.form-select,
.woocommerce-ordering select,
.woocommerce-Input--select,
.woocommerce select,
.woocommerce-address-fields select {
  width: 100%;
  appearance: none !important;
  -webkit-appearance: none !important;
  -moz-appearance: none !important;
  background-color: #ffffff !important;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%231e3d2f' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'%3E%3C/polyline%3E%3C/svg%3E") !important;
  background-repeat: no-repeat !important;
  background-position: right 1rem center !important;
  background-size: 14px 14px !important;
  padding: 0.65rem 2.6rem 0.65rem 0.95rem !important;
  border: 1px solid #d4cdc3 !important;
  border-radius: 8px !important;
  color: #1e293b !important;
  font-family: inherit !important;
  font-size: 0.92rem !important;
  line-height: 1.5 !important;
  cursor: pointer !important;
  box-shadow: 0 1px 2px rgba(0, 0, 0, 0.04) !important;
  transition: border-color 0.22s ease, box-shadow 0.22s ease !important;
  outline: none !important;
  box-sizing: border-box !important;
}

select:hover,
.form-select:hover {
  border-color: #a89f91 !important;
}

select:focus,
.form-select:focus {
  border-color: var(--clr-primary, #1e3d2f) !important;
  box-shadow: 0 0 0 3.5px rgba(30, 61, 47, 0.14) !important;
  outline: none !important;
}

select option {
  padding: 10px 14px !important;
  background-color: #ffffff !important;
  color: #1e293b !important;
  font-size: 0.9rem !important;
}

/* 3. Select2 Enhanced Dropdowns (WooCommerce Country, State, Search) */
.select2-container--default .select2-selection--single {
  height: 44px !important;
  border: 1px solid #d4cdc3 !important;
  border-radius: 8px !important;
  background-color: #ffffff !important;
  display: flex !important;
  align-items: center !important;
  box-shadow: 0 1px 2px rgba(0, 0, 0, 0.04) !important;
  transition: border-color 0.2s ease, box-shadow 0.2s ease !important;
}

.select2-container--default .select2-selection--single .select2-selection__rendered {
  color: #1e293b !important;
  line-height: 42px !important;
  padding-left: 0.95rem !important;
  padding-right: 2rem !important;
  font-size: 0.92rem !important;
}

.select2-container--default .select2-selection--single .select2-selection__arrow {
  height: 42px !important;
  right: 0.75rem !important;
}

.select2-container--default .select2-selection--single .select2-selection__arrow b {
  border-color: #1e3d2f transparent transparent transparent !important;
  border-width: 5px 4px 0 4px !important;
}

.select2-container--default.select2-container--open .select2-selection--single .select2-selection__arrow b {
  border-color: transparent transparent #1e3d2f transparent !important;
  border-width: 0 4px 5px 4px !important;
}

.select2-container--default.select2-container--open .select2-selection--single,
.select2-container--default.select2-container--focus .select2-selection--single {
  border-color: var(--clr-primary, #1e3d2f) !important;
  box-shadow: 0 0 0 3.5px rgba(30, 61, 47, 0.14) !important;
  outline: none !important;
}

.select2-dropdown {
  border: 1px solid #d4cdc3 !important;
  border-radius: 10px !important;
  box-shadow: 0 12px 32px rgba(30, 61, 47, 0.12) !important;
  overflow: hidden !important;
  z-index: 99999 !important;
  background-color: #ffffff !important;
}

.select2-search--dropdown {
  padding: 8px !important;
}

.select2-search--dropdown .select2-search__field {
  border: 1px solid #d4cdc3 !important;
  border-radius: 6px !important;
  padding: 6px 10px !important;
  outline: none !important;
}

.select2-search--dropdown .select2-search__field:focus {
  border-color: #1e3d2f !important;
  box-shadow: 0 0 0 2.5px rgba(30, 61, 47, 0.14) !important;
}

.select2-results__option {
  padding: 9px 12px !important;
  font-size: 0.88rem !important;
  color: #334155 !important;
  transition: background-color 0.15s ease !important;
}

.select2-results__option--highlighted[aria-selected],
.select2-results__option--highlighted {
  background-color: var(--clr-primary, #1e3d2f) !important;
  color: #ffffff !important;
}

.select2-results__option[aria-selected="true"] {
  background-color: #edf3f0 !important;
  color: var(--clr-primary, #1e3d2f) !important;
  font-weight: 600 !important;
}

/* 4. Checkboxes and Radios */
input[type="checkbox"],
input[type="radio"],
.form-check-input {
  width: 1.15rem !important;
  height: 1.15rem !important;
  accent-color: var(--clr-primary, #1e3d2f) !important;
  border: 1.5px solid #94a3b8 !important;
  border-radius: 4px !important;
  vertical-align: middle !important;
  cursor: pointer !important;
  transition: all 0.2s ease !important;
}

input[type="radio"] {
  border-radius: 50% !important;
}

input[type="checkbox"]:focus,
input[type="radio"]:focus,
.form-check-input:focus {
  border-color: var(--clr-primary, #1e3d2f) !important;
  box-shadow: 0 0 0 3px rgba(30, 61, 47, 0.15) !important;
  outline: none !important;
}

/* 5. Input Groups */
.input-group {
  border-radius: 8px;
  transition: box-shadow 0.2s ease, border-color 0.2s ease;
}

.input-group-text {
  background-color: #faf7f0 !important;
  border-color: #d4cdc3 !important;
  color: #64748b !important;
  font-size: 0.95rem !important;
  padding: 0.65rem 0.95rem !important;
}

.input-group:focus-within {
  box-shadow: 0 0 0 3.5px rgba(30, 61, 47, 0.14) !important;
  border-radius: 8px;
}

.input-group:focus-within .input-group-text,
.input-group:focus-within .form-control,
.input-group:focus-within .btn {
  border-color: var(--clr-primary, #1e3d2f) !important;
}

/* 6. Comprehensive WooCommerce Notifications & Alerts Design System */
.woocommerce-notices-wrapper,
.woocommerce-NoticeGroup {
  margin-bottom: 1.5rem !important;
  width: 100% !important;
}

/* SUCCESS: .woocommerce-message */
.woocommerce-message {
  position: relative !important;
  padding: 1rem 1.25rem 1rem 3.4rem !important;
  margin: 0 0 1.5rem 0 !important;
  background: linear-gradient(135deg, #f2f8f4 0%, #e8f3ed 100%) !important;
  border: 1px solid rgba(30, 61, 47, 0.22) !important;
  border-left: 5px solid var(--clr-primary, #1e3d2f) !important;
  border-radius: 12px !important;
  color: #14291f !important;
  font-size: 0.92rem !important;
  font-weight: 500 !important;
  line-height: 1.6 !important;
  box-shadow: 0 4px 16px rgba(30, 61, 47, 0.08) !important;
  list-style: none !important;
  display: block !important;
  clear: both !important;
}

.woocommerce-message::before {
  content: '' !important;
  position: absolute !important;
  left: 1.15rem !important;
  top: 1.15rem !important;
  width: 22px !important;
  height: 22px !important;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='22' height='22' viewBox='0 0 24 24' fill='none' stroke='%231e3d2f' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M22 11.08V12a10 10 0 1 1-5.93-9.14'%3E%3C/path%3E%3Cpolyline points='22 4 12 14.01 9 11.01'%3E%3C/polyline%3E%3C/svg%3E") !important;
  background-size: contain !important;
  background-repeat: no-repeat !important;
}

.woocommerce-message .button,
.woocommerce-message .wc-forward {
  background: var(--clr-primary, #1e3d2f) !important;
  color: #ffffff !important;
  border: none !important;
  border-radius: 50px !important;
  padding: 0.45rem 1.25rem !important;
  font-size: 0.82rem !important;
  font-weight: 600 !important;
  box-shadow: 0 2px 8px rgba(30, 61, 47, 0.25) !important;
  transition: all 0.22s ease !important;
  text-decoration: none !important;
  float: right !important;
  margin-left: 1rem !important;
  display: inline-flex !important;
  align-items: center !important;
}

.woocommerce-message .button:hover,
.woocommerce-message .wc-forward:hover {
  background: #14291f !important;
  color: #ffffff !important;
  transform: translateY(-1px) !important;
  box-shadow: 0 4px 14px rgba(30, 61, 47, 0.35) !important;
}

/* INFO: .woocommerce-info */
.woocommerce-info {
  position: relative !important;
  padding: 1rem 1.25rem 1rem 3.4rem !important;
  margin: 0 0 1.5rem 0 !important;
  background: linear-gradient(135deg, #faf7f0 0%, #f4ede0 100%) !important;
  border: 1px solid rgba(184, 147, 42, 0.3) !important;
  border-left: 5px solid var(--clr-gold, #b8932a) !important;
  border-radius: 12px !important;
  color: #5c4710 !important;
  font-size: 0.92rem !important;
  font-weight: 500 !important;
  line-height: 1.6 !important;
  box-shadow: 0 4px 16px rgba(184, 147, 42, 0.08) !important;
  list-style: none !important;
  display: block !important;
  clear: both !important;
}

.woocommerce-info::before {
  content: '' !important;
  position: absolute !important;
  left: 1.15rem !important;
  top: 1.15rem !important;
  width: 22px !important;
  height: 22px !important;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='22' height='22' viewBox='0 0 24 24' fill='none' stroke='%23b8932a' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='10'%3E%3C/circle%3E%3Cline x1='12' y1='16' x2='12' y2='12'%3E%3C/line%3E%3Cline x1='12' y1='8' x2='12.01' y2='8'%3E%3C/line%3E%3C/svg%3E") !important;
  background-size: contain !important;
  background-repeat: no-repeat !important;
}

.woocommerce-info .button,
.woocommerce-info .wc-forward {
  background: var(--clr-gold, #b8932a) !important;
  color: #ffffff !important;
  border: none !important;
  border-radius: 50px !important;
  padding: 0.45rem 1.25rem !important;
  font-size: 0.82rem !important;
  font-weight: 600 !important;
  box-shadow: 0 2px 8px rgba(184, 147, 42, 0.25) !important;
  transition: all 0.22s ease !important;
  text-decoration: none !important;
  float: right !important;
  margin-left: 1rem !important;
}

.woocommerce-info .button:hover,
.woocommerce-info .wc-forward:hover {
  background: #94741e !important;
  color: #ffffff !important;
  transform: translateY(-1px) !important;
  box-shadow: 0 4px 14px rgba(184, 147, 42, 0.35) !important;
}

/* ERROR: .woocommerce-error */
.woocommerce-error {
  position: relative !important;
  padding: 1rem 1.25rem 1rem 3.4rem !important;
  margin: 0 0 1.5rem 0 !important;
  background: linear-gradient(135deg, #fff5f5 0%, #fde8e8 100%) !important;
  border: 1px solid rgba(220, 53, 69, 0.28) !important;
  border-left: 5px solid #dc3545 !important;
  border-radius: 12px !important;
  color: #7f1d1d !important;
  font-size: 0.92rem !important;
  font-weight: 500 !important;
  line-height: 1.6 !important;
  box-shadow: 0 4px 16px rgba(220, 53, 69, 0.08) !important;
  list-style: none !important;
  display: block !important;
  clear: both !important;
}

.woocommerce-error::before {
  content: '' !important;
  position: absolute !important;
  left: 1.15rem !important;
  top: 1.15rem !important;
  width: 22px !important;
  height: 22px !important;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='22' height='22' viewBox='0 0 24 24' fill='none' stroke='%23dc3545' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolygon points='7.86 2 16.14 2 22 7.86 22 16.14 16.14 22 7.86 22 2 16.14 2 7.86 7.86 2'%3E%3C/polygon%3E%3Cline x1='12' y1='8' x2='12' y2='12'%3E%3C/line%3E%3Cline x1='12' y1='16' x2='12.01' y2='16'%3E%3C/line%3E%3C/svg%3E") !important;
  background-size: contain !important;
  background-repeat: no-repeat !important;
}

.woocommerce-error li {
  margin-bottom: 0.35rem !important;
  list-style: none !important;
}

.woocommerce-error li:last-child {
  margin-bottom: 0 !important;
}

.woocommerce-error a {
  color: #991b1b !important;
  font-weight: 700 !important;
  text-decoration: underline !important;
}

.woocommerce-error a:hover {
  color: #7f1d1d !important;
}

/* Bootstrap Alert Card Overrides */
.alert {
  border-radius: 12px !important;
  padding: 1rem 1.25rem !important;
  font-size: 0.92rem !important;
  box-shadow: 0 4px 14px rgba(0, 0, 0, 0.04) !important;
  border: 1px solid transparent !important;
  line-height: 1.6 !important;
}

.alert-success {
  background-color: #f2f8f4 !important;
  border-color: rgba(30, 61, 47, 0.22) !important;
  color: #14291f !important;
  border-left: 5px solid var(--clr-primary, #1e3d2f) !important;
}

.alert-info {
  background-color: #faf7f0 !important;
  border-color: rgba(184, 147, 42, 0.3) !important;
  color: #5c4710 !important;
  border-left: 5px solid var(--clr-gold, #b8932a) !important;
}

.alert-warning {
  background-color: #fffbeb !important;
  border-color: rgba(245, 158, 11, 0.3) !important;
  color: #92400e !important;
  border-left: 5px solid #f59e0b !important;
}

.alert-danger {
  background-color: #fff5f5 !important;
  border-color: rgba(220, 53, 69, 0.28) !important;
  color: #7f1d1d !important;
  border-left: 5px solid #dc3545 !important;
}

/* ==========================================================================
   WISHLIST TRANSITIONS, ICONS & ACCOUNT MENU DROPDOWN
   ========================================================================== */

/* Heart Pulse Keyframes */
@keyframes heartPulse {
  0% {
    transform: scale(1);
  }

  25% {
    transform: scale(1.35) rotate(-6deg);
  }

  50% {
    transform: scale(0.92) rotate(4deg);
  }

  75% {
    transform: scale(1.15) rotate(-2deg);
  }

  100% {
    transform: scale(1);
  }
}

/* Global Wishlist Buttons & Icons */
.btn-wishlist,
.btn-handloom-wishlist,
.action-btn.AH_wishlist_btn,
.action-btn[title*="Wishlist"],
.action-btn[aria-label*="Wishlist"],
.AH_wishlist_btn {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  position: relative !important;
  border-radius: 50% !important;
  border: 1px solid rgba(220, 53, 69, 0.22) !important;
  background: #ffffff !important;
  color: #64748b !important;
  transition: all 0.3s cubic-bezier(0.175, 0.885, 0.32, 1.275) !important;
  cursor: pointer !important;
  overflow: visible !important;
}

.btn-wishlist i,
.btn-handloom-wishlist i,
.action-btn.AH_wishlist_btn i,
.action-btn[title*="Wishlist"] i,
.action-btn[aria-label*="Wishlist"] i,
.AH_wishlist_btn i {
  display: inline-block !important;
  transition: transform 0.3s cubic-bezier(0.175, 0.885, 0.32, 1.275), color 0.25s ease !important;
  line-height: 1 !important;
}

/* Hover State */
.btn-wishlist:hover,
.btn-handloom-wishlist:hover,
.action-btn.AH_wishlist_btn:hover,
.action-btn[title*="Wishlist"]:hover,
.action-btn[aria-label*="Wishlist"]:hover,
.AH_wishlist_btn:hover {
  background: #fff1f2 !important;
  border-color: #fda4af !important;
  color: #e11d48 !important;
  transform: translateY(-2px) scale(1.08) !important;
  box-shadow: 0 6px 18px rgba(225, 29, 72, 0.22) !important;
}

.btn-wishlist:hover i,
.btn-handloom-wishlist:hover i,
.action-btn.AH_wishlist_btn:hover i,
.action-btn[title*="Wishlist"]:hover i,
.action-btn[aria-label*="Wishlist"]:hover i,
.AH_wishlist_btn:hover i {
  transform: scale(1.2) !important;
  color: #e11d48 !important;
}

/* Active / Added to Wishlist State */
.btn-wishlist.active,
.btn-handloom-wishlist.active,
.action-btn.AH_wishlist_btn.active,
.action-btn.active[title*="Wishlist"],
.action-btn.active[aria-label*="Wishlist"],
.AH_wishlist_btn.active {
  background: #fff1f2 !important;
  border-color: #f43f5e !important;
  color: #e11d48 !important;
  box-shadow: 0 4px 14px rgba(225, 29, 72, 0.25) !important;
}

.btn-wishlist.active i,
.btn-handloom-wishlist.active i,
.action-btn.AH_wishlist_btn.active i,
.action-btn.active[title*="Wishlist"] i,
.action-btn.active[aria-label*="Wishlist"] i,
.AH_wishlist_btn.active i {
  animation: heartPulse 0.5s cubic-bezier(0.175, 0.885, 0.32, 1.275) forwards !important;
  color: #e11d48 !important;
}

/* Header Account Button & Dropdown */
.AH_action_item.AH_account_action_item {
  position: relative !important;
  flex-shrink: 0 !important;
  display: inline-flex !important;
  align-items: center !important;
}

.AH_account_btn {
  display: inline-flex !important;
  align-items: center !important;
  gap: 7px !important;
  width: auto !important;
  min-width: 0 !important;
  height: 34px !important;
  padding: 3px 10px 3px 5px !important;
  margin: 0 !important;
  background: rgba(30, 61, 47, 0.05) !important;
  border: 1px solid rgba(30, 61, 47, 0.12) !important;
  border-radius: 9999px !important;
  color: var(--clr-primary, #1e3d2f) !important;
  text-decoration: none !important;
  white-space: nowrap !important;
  flex-shrink: 0 !important;
  cursor: pointer !important;
  opacity: 1 !important;
  line-height: 1 !important;
  transition: all 0.2s cubic-bezier(0.4, 0, 0.2, 1) !important;
}

.AH_account_btn:hover,
.AH_account_btn:focus,
.AH_account_btn.show {
  background: rgba(30, 61, 47, 0.1) !important;
  border-color: rgba(30, 61, 47, 0.25) !important;
  color: var(--clr-primary, #1e3d2f) !important;
  box-shadow: 0 2px 8px rgba(30, 61, 47, 0.08) !important;
  opacity: 1 !important;
}

.AH_account_avatar_mini {
  width: 25px !important;
  height: 25px !important;
  min-width: 25px !important;
  min-height: 25px !important;
  max-width: 25px !important;
  max-height: 25px !important;
  flex: 0 0 25px !important;
  border-radius: 50% !important;
  background: var(--clr-primary, #1e3d2f) !important;
  color: #ffffff !important;
  font-size: 0.72rem !important;
  font-weight: 700 !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  line-height: 1 !important;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.15) !important;
}

.AH_account_short_name {
  white-space: nowrap !important;
  max-width: 100px !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  display: inline-block !important;
  font-size: 0.82rem !important;
  font-weight: 600 !important;
  color: var(--clr-primary, #1e3d2f) !important;
  line-height: 1.2 !important;
  letter-spacing: -0.01em !important;
}

.AH_account_chevron {
  font-size: 0.6rem !important;
  color: rgba(30, 61, 47, 0.65) !important;
  transition: transform 0.2s ease !important;
  line-height: 1 !important;
}

.AH_account_btn.show .AH_account_chevron,
.AH_account_btn.show i.bi-chevron-down {
  transform: rotate(180deg) !important;
}

.AH_account_dropdown_menu {
  border: 1px solid rgba(30, 61, 47, 0.15) !important;
  border-radius: 12px !important;
  box-shadow: 0 10px 30px rgba(0, 0, 0, 0.12) !important;
  overflow: hidden !important;
  animation: dropdownFade 0.2s cubic-bezier(0.4, 0, 0.2, 1);
}

@keyframes dropdownFade {
  from {
    opacity: 0;
    transform: translateY(6px);
  }

  to {
    opacity: 1;
    transform: translateY(0);
  }
}

.AH_account_dropdown_menu .dropdown-item {
  font-size: 0.88rem !important;
  transition: background-color 0.2s ease, color 0.2s ease, padding-left 0.2s ease !important;
}

.AH_account_dropdown_menu .dropdown-item:hover {
  background-color: #f2f8f4 !important;
  color: var(--clr-primary, #1e3d2f) !important;
  padding-left: 1.15rem !important;
}

.AH_account_dropdown_menu .dropdown-item.text-danger:hover {
  background-color: #fff1f2 !important;
  color: #e11d48 !important;
}

/* Wishlist Card in My Account */
.AH_wishlist_card {
  transition: transform 0.3s ease, box-shadow 0.3s ease;
}

.AH_wishlist_card:hover {
  transform: translateY(-4px);
  box-shadow: 0 12px 28px rgba(0, 0, 0, 0.1) !important;
}

.AH_wishlist_card:hover img {
  transform: scale(1.05);
}

.AH_wishlist_remove_btn:hover {
  background: #dc2626 !important;
  color: #ffffff !important;
  transform: scale(1.1);
}

/* ==========================================================================
   LUXURY HERITAGE FOOTER STYLES (Matching Design 1:1)
   ========================================================================== */


/* Brand Section */
.AH_footer_brand_wrap {
  max-width: 320px;
}

.AH_footer_logo_link {
  display: inline-block !important;
  margin-bottom: 20px !important;
  text-decoration: none !important;
  line-height: 1 !important;
}



.AH_footer_bio {
  font-size: 13.5px !important;
  line-height: 1.65 !important;
  color: #9E9E94 !important;
  margin-bottom: 22px !important;
  font-weight: 400 !important;
}

.AH_footer_socials {
  display: flex !important;
  gap: 10px !important;
}

.AH_footer_social_btn {
  width: 34px !important;
  height: 34px !important;
  border: 1px solid rgba(255, 255, 255, 0.16) !important;
  border-radius: 4px !important;
  color: #9E9E94 !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  font-size: 14px !important;
  text-decoration: none !important;
  background: transparent !important;
  transition: all 0.25s ease !important;
}

.AH_footer_social_btn:hover {
  border-color: #C59B27 !important;
  color: #C59B27 !important;
  background: rgba(197, 155, 39, 0.08) !important;
  transform: translateY(-2px) !important;
}

/* Navigation Columns */
.AH_footer_col_title {
  color: #D4A838 !important;
  font-size: 11px !important;
  font-weight: 700 !important;
  letter-spacing: 1.5px !important;
  text-transform: uppercase !important;
  margin-bottom: 18px !important;
  font-family: var(--body-font, 'Work Sans', sans-serif) !important;
  line-height: 1.4 !important;
}

.AH_footer_menu {
  list-style: none !important;
  padding-left: 0 !important;
  margin-bottom: 0 !important;
}

.AH_footer_menu li {
  margin-bottom: 10px !important;
  line-height: 1.3 !important;
}

.AH_footer_menu a {
  color: #A3A399 !important;
  text-decoration: none !important;
  font-size: 13.5px !important;
  font-weight: 400 !important;
  line-height: 1.4 !important;
  transition: color 0.2s ease, padding-left 0.2s ease !important;
  display: inline-block !important;
}

.AH_footer_menu a:hover {
  color: #FFFFFF !important;
  padding-left: 3px !important;
}

/* Newsletter Box ("Stay close to the loom") */


.AH_newsletter_heading {
  color: #FFFFFF !important;
  font-family: var(--header-font, 'Lora', serif) !important;
  font-size: 1.28rem !important;
  font-weight: 500 !important;
  letter-spacing: -0.01em !important;
}

.AH_newsletter_desc {
  color: rgba(255, 255, 255, 0.72) !important;
  font-size: 13px !important;
  line-height: 1.5 !important;
}

.AH_newsletter_form {
  max-width: 100% !important;
	    justify-content: end;
}

.AH_newsletter_form_wrap {
    position: relative;
}

.AH_newsletter_form_wrap .wpcf7-spinner {
    position: absolute;
    right: 0;
}

.AH_newsletter_form_wrap .wpcf7-response-output {
    position: absolute;
    margin: 0 !important;
    bottom: -44px;
    font-size: 12px;
}
.AH_newsletter_form .wpcf7-not-valid-tip {
    
    position: absolute;
    font-size: 10px;
}



.AH_site_footer input.AH_newsletter_input::placeholder,
.AH_newsletter_input::placeholder {
  color: rgba(255, 255, 255, 0.5) !important;
}

.AH_site_footer input.AH_newsletter_input:focus,
.AH_site_footer .form-control.AH_newsletter_input:focus,
.AH_newsletter_input:focus {
  border-color: #C59B27 !important;
  background: rgba(0, 0, 0, 0.45) !important;
  background-color: rgba(0, 0, 0, 0.45) !important;
  color: #FFFFFF !important;
  box-shadow: 0 0 0 2px rgba(197, 155, 39, 0.25) !important;
}

.AH_newsletter_submit_btn {
  background-color: #C59B27 !important;
  color: #FFFFFF !important;
  font-size: 13px !important;
  font-weight: 600 !important;
  padding: 10px 24px !important;
  border-radius: 4px !important;
  border: none !important;
  letter-spacing: 0.3px !important;
  transition: background-color 0.2s ease, transform 0.2s ease !important;
}

.AH_newsletter_submit_btn:hover {
  background-color: #D6A830 !important;
  color: #FFFFFF !important;
  transform: translateY(-1px) !important;
}

.AH_subscribe_feedback {
  color: #FBBF24 !important;
}

/* Bottom Bar */
.AH_footer_bottom {
  border-top: 1px solid rgba(255, 255, 255, 0.08) !important;
  padding-top: 24px !important;
  font-size: 12px !important;
  color: #7A7A70 !important;
}

.AH_footer_copyright {
  color: #7A7A70 !important;
  font-size: 12px !important;
}

.AH_footer_legal_links a {
  color: #7A7A70 !important;
  text-decoration: none !important;
  font-size: 12px !important;
  transition: color 0.2s ease !important;
}

.AH_footer_legal_links a:hover {
  color: #C59B27 !important;
}

/* Responsive Mobile Adaptations */
@media (max-width: 991.98px) {
  .AH_site_footer {
    padding: 50px 0 30px !important;
  }

  .AH_footer_brand_wrap {
    max-width: 100%;
  }


}

@media (max-width: 575.98px) {
  .AH_site_footer {
    padding: 42px 0 24px !important;
  }

  .AH_footer_bio {
    font-size: 13px !important;
    margin-bottom: 18px !important;
  }

  .AH_footer_col_title {
    margin-bottom: 14px !important;
  }

  .AH_footer_menu li {
    margin-bottom: 8px !important;
  }

  .AH_footer_menu a {
    font-size: 13px !important;
  }

  .AH_newsletter_heading {
    font-size: 1.15rem !important;
  }

  .AH_newsletter_desc {
    font-size: 12.5px !important;
  }

  .AH_footer_bottom {
    flex-direction: column !important;
    align-items: flex-start !important;
    gap: 12px !important;
    padding-top: 18px !important;
  }

  .AH_footer_legal_links {
    flex-wrap: wrap !important;
    gap: 14px !important;
  }
}


