/* ==========================================================================
   Tykes & Tots — Enterprise Modern Design System v1.0
   Sleek, premium, enterprise-grade overlay. Loaded last to refine legacy CSS
   without breaking JS hooks (.frontProducts, .category-section, .cartCounter…)
   ========================================================================== */

:root {
  --ent-ink: #10140c;
  --ent-ink-2: #1a2013;
  --ent-olive: #636b2f;
  --ent-olive-deep: #424818;
  --ent-olive-soft: #eef0dd;
  --ent-lime: #a8b545;
  --ent-gold: #c9a86a;
  --ent-bg: #f7f7f2;
  --ent-card: #ffffff;
  --ent-line: #e8e6da;
  --ent-line-soft: #f0eee3;
  --ent-muted: #6b7280;
  --ent-text: #1c2114;
  --ent-radius: 18px;
  --ent-radius-sm: 12px;
  --ent-radius-lg: 26px;
  --ent-shadow-sm: 0 1px 2px rgba(16,20,12,.06), 0 4px 14px rgba(16,20,12,.06);
  --ent-shadow-md: 0 8px 30px rgba(16,20,12,.10);
  --ent-shadow-lg: 0 24px 70px rgba(16,20,12,.16);
  --ent-font-display: "Plus Jakarta Sans", "Inter", system-ui, sans-serif;
  --ent-font-body: "Inter", system-ui, -apple-system, "Segoe UI", sans-serif;
}

/* ---------- Base ---------- */
html { scroll-behavior: smooth; }
body {
  font-family: var(--ent-font-body) !important;
  background: var(--ent-bg) !important;
  color: var(--ent-text) !important;
  -webkit-font-smoothing: antialiased;
  letter-spacing: -0.01em;
}
h1,h2,h3,h4,h5,.section-title h5,.footer-title {
  font-family: var(--ent-font-display) !important;
  letter-spacing: -0.03em;
}
img { image-rendering: auto; }
.container { max-width: 1280px; }
::selection { background: var(--ent-olive); color: #fff; }

/* Subtle page top progress feel + section rhythm */
section.product, section.product-category { padding-top: 8px; }

/* ---------- Announcement / enterprise utility bar ---------- */
.ent-announce {
  background: linear-gradient(90deg, #1a2013 0%, #424818 55%, #636b2f 100%);
  color: #fff;
  font-size: 12px;
  letter-spacing: .03em;
}
.ent-announce .container {
  display: flex; align-items: center; justify-content: center;
  gap: 10px; padding-top: 5px; padding-bottom: 5px;
}
.ent-announce strong { font-weight: 800; }
.ent-announce .dot { width: 6px; height: 6px; border-radius: 50%; background: var(--ent-lime); box-shadow: 0 0 10px var(--ent-lime); }
.ent-announce a { color: #fff; text-decoration: underline; text-underline-offset: 3px; font-weight: 700; }

/* ---------- Header : glass, sticky, sleek ---------- */
#header.header {
  position: sticky; top: 0; z-index: 200;
  background: rgba(255,255,255,.86) !important;
  backdrop-filter: blur(18px) saturate(1.4);
  -webkit-backdrop-filter: blur(18px) saturate(1.4);
  border-bottom: 1px solid var(--ent-line);
  box-shadow: 0 6px 30px rgba(16,20,12,.06);
}
.header-top-section {
  background: var(--ent-ink) !important;
  border-bottom: 1px solid rgba(255,255,255,.08);
}
.header-top { display: flex; justify-content: space-between; align-items: center; padding: 4px 0; }
.header-top .header-profile a, .header-top a {
  color: rgba(255,255,255,.82) !important;
  font-size: 12px; font-weight: 600; letter-spacing: .06em; text-transform: uppercase;
  margin-right: 18px; text-decoration: none; transition: color .2s;
}
.header-top .header-profile a:hover, .header-top a:hover { color: var(--ent-lime) !important; }
.header-top .header-contact a { color: rgba(255,255,255,.9) !important; font-size: 12.5px; text-transform: none; letter-spacing: 0; }
.header-top .contact-number a { color: #fff !important; font-weight: 800; }

.header-center-section { background: transparent !important; padding: 8px 0 6px !important; }
.header-center { display: flex; align-items: center; gap: 20px; }
.header-center .logo img.logo {
  max-height: 42px; width: auto;
  filter: saturate(1.05);
}
.header-cart-items { margin-left: auto; display: flex; align-items: center; gap: 10px; }

/* Search pill */
.header-search .header-search-btn,
.ent-search-trigger {
  width: 40px; height: 40px; border-radius: 50%;
  background: var(--ent-ink) !important; color: #fff !important;
  display: inline-flex; align-items: center; justify-content: center;
  border: 1px solid var(--ent-ink) !important; transition: .25s;
}
.header-search .header-search-btn svg path { fill: #fff !important; }
.header-search .header-search-btn:hover { transform: translateY(-1px); box-shadow: var(--ent-shadow-md); background: var(--ent-olive-deep) !important; }

.ent-search-inline { display: none; }
@media (min-width: 992px) {
  .ent-search-inline {
    display: flex; align-items: center; flex: 1; max-width: 440px;
    background: #fff; border: 1px solid var(--ent-line); border-radius: 999px;
    padding: 4px 4px 4px 16px; box-shadow: var(--ent-shadow-sm);
  }
  .ent-search-inline input {
    border: none !important; outline: none !important; box-shadow: none !important;
    flex: 1; font-size: 14px; background: transparent;
  }
  .ent-search-inline button {
    border: none; border-radius: 999px; padding: 8px 18px;
    background: var(--ent-olive); color: #fff; font-weight: 700; font-size: 13px;
    transition: .2s;
  }
  .ent-search-inline button:hover { background: var(--ent-olive-deep); }
}

/* Icon buttons with counters */
.header-favourite .wishBody, .header-cart .cartBody, .header-user a span {
  width: 40px; height: 40px; border-radius: 50%;
  background: #fff; border: 1px solid var(--ent-line);
  display: inline-flex !important; align-items: center; justify-content: center;
  position: relative; transition: .2s; box-shadow: var(--ent-shadow-sm);
}
.header-favourite .wishBody:hover, .header-cart .cartBody:hover, .header-user a span:hover {
  border-color: var(--ent-olive); transform: translateY(-1px); box-shadow: var(--ent-shadow-md);
}
.header-favourite .fa-heart { color: var(--ent-olive); font-size: 18px; }
.wishCounter, .cartCounter {
  position: absolute !important; top: -4px !important; right: -4px !important; left: auto !important;
  min-width: 22px; height: 22px; border-radius: 999px;
  background: var(--ent-olive) !important; color: #fff !important;
  font-size: 11px !important; font-weight: 800;
  display: inline-flex !important; align-items: center; justify-content: center;
  border: 2px solid #fff; padding: 0 5px;
}
.header-user svg { width: 20px; height: 20px; fill: var(--ent-ink); }

/* Desktop nav : enterprise pill bar (scoped to TOP-LEVEL list only) */
.header-bottom { background: transparent !important; border-top: 1px solid var(--ent-line-soft); padding: 6px 0 10px; }
.header-nav { display: flex; align-items: center; gap: 16px; }
/* No boxed container — clean transparent link row (never a big white bar) */
.header-bottom .header-nav { justify-content: flex-start !important; gap: 6px !important; }
.header-nav-menu > ul.menu-list {
  display: flex; align-items: center; flex-wrap: wrap;
  gap: 4px !important; row-gap: 4px !important;
  background: transparent !important; border: none !important; border-radius: 0 !important;
  padding: 0 !important; box-shadow: none !important;
  list-style: none; margin: 0; width: auto; max-width: 100%;
}
.header-nav-menu { display: flex; align-items: center; gap: 4px; flex-wrap: wrap; min-width: 0; }
/* Legacy forces category names white (.header-nav .list-text) — override hard */
.header-nav .header-nav-menu ul.menu-list .list-text,
.header-nav .list-text {
  color: var(--ent-ink) !important;
  font-size: 13px !important;
  font-weight: 700 !important;
}
.header-nav .header-nav-menu ul.menu-list > li > a:hover .list-text {
  color: var(--ent-olive-deep) !important;
}
.header-nav-menu > ul.menu-list > li > a:not(.sale-link), .ent-nav-link {
  display: inline-flex; align-items: center; gap: 6px;
  padding: 7px 11px; border-radius: 9px;
  font-size: 12.5px; font-weight: 700; color: var(--ent-ink) !important;
  text-decoration: none; white-space: nowrap; transition: .2s;
  background: transparent !important; line-height: 1.3;
}
.header-nav-menu > ul.menu-list > li > a:not(.sale-link):hover, .ent-nav-link:hover { background: var(--ent-olive-soft) !important; color: var(--ent-olive-deep) !important; }
.header-nav-menu > ul.menu-list > li > a:not(.sale-link).active { background: var(--ent-ink) !important; color: #fff !important; }
.header-nav-menu > ul.menu-list > li > a:not(.sale-link).active .list-text { color: #fff !important; }
.ent-nav-link.active { background: var(--ent-ink) !important; color: #fff !important; }

/* Keep legacy SALE button but refine */
.sale-link {
  border-radius: 999px !important; padding: 9px 20px !important;
  font-size: 12.5px !important;
}

/* Search modal modern */
.modal-wrapper.search .modal-main {
  border-radius: 22px !important; border: 1px solid var(--ent-line) !important;
  box-shadow: var(--ent-shadow-lg) !important; overflow: hidden;
}
.search-section { display: flex; gap: 10px; align-items: center; }
.search-section input.searchProduct {
  border-radius: 14px !important; border: 1px solid var(--ent-line) !important;
  padding: 14px 16px !important; font-size: 15px;
}
.autocompleteSuggestion, #suggestions {
  border-radius: 0 0 18px 18px; overflow: hidden;
}

/* Mobile menu polish */
.mobile-menu-header { padding: 12px 16px; background: rgba(255,255,255,.9); backdrop-filter: blur(14px); border-bottom: 1px solid var(--ent-line); }
.mobile-header-logo img { max-height: 40px; }
.offcanvas { border-radius: 0 22px 22px 0; border: none !important; box-shadow: var(--ent-shadow-lg); }
/* Mobile menu close button: red disc, white X */
.ent-offcanvas-close {
  background-color: #b3261e !important; border-radius: 50% !important;
  padding: 11px !important; opacity: 1 !important; margin: 0 !important;
  transition: transform .18s, background-color .18s;
}
.ent-offcanvas-close:hover { background-color: #8f1d17 !important; transform: scale(1.08); opacity: 1 !important; }
.offcanvas-body { background: #fff !important; }
.header-input { position: relative; }
.header-input input {
  border-radius: 999px !important; border: 1px solid var(--ent-line) !important;
  padding: 13px 48px 13px 18px !important; background: var(--ent-bg) !important;
}
.category-list { display: flex; flex-direction: column; gap: 6px; }
.category-list .category-list-item a, #mainCategoryList li a {
  display: flex; align-items: center; justify-content: space-between;
  padding: 12px 14px; border-radius: 14px; background: var(--ent-bg);
  border: 1px solid var(--ent-line-soft); font-weight: 700; font-size: 14px;
  color: var(--ent-ink) !important; text-decoration: none;
}

/* ---------- Buttons ---------- */
.shop-btn, .view-btn, .checkout-btn, .search-section .shop-btn {
  background: linear-gradient(135deg, var(--ent-olive) 0%, var(--ent-olive-deep) 100%) !important;
  color: #fff !important; border: none !important; border-radius: 999px !important;
  padding: 12px 26px !important; font-weight: 800 !important; font-size: 13.5px !important;
  letter-spacing: .02em; box-shadow: 0 8px 22px rgba(99,107,47,.32) !important;
  transition: transform .2s, box-shadow .2s, filter .2s !important;
  text-decoration: none !important; display: inline-flex; align-items: center; justify-content: center; gap: 8px;
}
.shop-btn::after { display: none !important; }
.shop-btn:hover { transform: translateY(-2px); filter: brightness(1.06); box-shadow: 0 14px 30px rgba(99,107,47,.38) !important; color: #fff !important; }
.shop-btn:active { transform: translateY(0); }
.view-btn { background: #fff !important; color: var(--ent-ink) !important; border: 1px solid var(--ent-line) !important; box-shadow: var(--ent-shadow-sm) !important; }
.view-btn:hover { border-color: var(--ent-ink) !important; color: var(--ent-ink) !important; }

/* ---------- Section headers : enterprise ---------- */
.ent-section-head {
  display: flex; align-items: flex-end; justify-content: space-between; gap: 16px;
  margin: 34px 0 20px;
}
.ent-eyebrow {
  display: inline-flex; align-items: center; gap: 8px;
  font-size: 11px; font-weight: 800; letter-spacing: .14em; text-transform: uppercase;
  color: var(--ent-olive-deep); background: var(--ent-olive-soft);
  border: 1px solid #dfe2c6; padding: 7px 12px; border-radius: 999px; margin-bottom: 10px;
}
.ent-eyebrow::before { content: ""; width: 7px; height: 7px; border-radius: 50%; background: var(--ent-olive); }
.ent-title { font-size: clamp(26px, 3.4vw, 38px); font-weight: 800; margin: 0; line-height: 1.05; }
.ent-sub { color: var(--ent-muted); font-size: 14.5px; margin: 8px 0 0; max-width: 560px; }
.ent-view-all {
  flex-shrink: 0; display: inline-flex; align-items: center; gap: 8px;
  background: var(--ent-ink); color: #fff !important; border-radius: 999px;
  padding: 11px 20px; font-size: 13px; font-weight: 800; text-decoration: none !important;
  transition: .2s; border: 1px solid var(--ent-ink);
}
.ent-view-all:hover { background: var(--ent-olive-deep); border-color: var(--ent-olive-deep); transform: translateY(-1px); }

/* Retrofit legacy .section-title to match */
.section-title {
  display: flex !important; align-items: center !important; justify-content: space-between !important;
  gap: 14px; margin: 34px 0 20px !important;
}
.section-title h5 {
  font-size: clamp(24px, 3vw, 32px) !important; font-weight: 800 !important; margin: 0 !important;
  color: var(--ent-ink) !important; position: relative; padding-left: 16px;
}
.section-title h5::before {
  content: ""; position: absolute; left: 0; top: 6px; bottom: 6px; width: 5px; border-radius: 99px;
  background: linear-gradient(180deg, var(--ent-olive), var(--ent-lime));
}
.section-title .view {
  background: #fff; border: 1px solid var(--ent-line); border-radius: 999px;
  padding: 10px 20px !important; font-size: 13px !important; font-weight: 800 !important;
  color: var(--ent-ink) !important; text-decoration: none !important; transition: .2s;
}
.section-title .view::before { display: none !important; }
.section-title .view:hover { background: var(--ent-ink); color: #fff !important; border-color: var(--ent-ink); }

/* ---------- Hero ---------- */
#heroSectionContainer { padding: 18px 0 6px; }
#heroSectionContainer .banner-header__item,
.banner-header__item {
  border-radius: var(--ent-radius-lg) !important;
  overflow: hidden; border: 1px solid rgba(0,0,0,.08);
  box-shadow: var(--ent-shadow-lg);
  min-height: 420px;
}
@media (min-width: 992px) { .banner-header__item { height: 62vh !important; min-height: 520px; max-height: 680px; } }
.banner-header__item .carousel-caption {
  display: flex; align-items: center;
  background: linear-gradient(90deg, rgba(16,20,12,.82) 0%, rgba(16,20,12,.45) 45%, rgba(16,20,12,.05) 75%) !important;
  padding: 40px clamp(20px, 5vw, 72px) !important;
}
.banner-header__item .carousel-caption h1,
.banner-header__item .carousel-caption h2 {
  font-family: var(--ent-font-display) !important;
  font-size: clamp(32px, 5vw, 62px) !important; font-weight: 800 !important;
  line-height: .98 !important; letter-spacing: -.04em; color: #fff !important;
  max-width: 560px;
}
.banner-header__item .carousel-caption p {
  color: rgba(255,255,255,.82) !important; font-size: 15.5px; max-width: 480px; margin-top: 14px;
}
.banner-header .slick-dots li, .banner-header .slick-dots li button { width: 34px !important; }
.banner-header .slick-dots li button { border-radius: 999px !important; height: 4px !important; }

/* Hero fallback / enterprise hero card (used in index.php) */
.ent-hero {
  position: relative; overflow: hidden; border-radius: var(--ent-radius-lg);
  background: radial-gradient(1200px 500px at 85% -10%, #d4da9a 0%, transparent 60%),
              radial-gradient(900px 500px at -10% 110%, #2a3315 0%, transparent 55%),
              linear-gradient(135deg, #141a0d 0%, #2c3517 55%, #636b2f 100%);
  color: #fff; border: 1px solid rgba(255,255,255,.12);
  box-shadow: var(--ent-shadow-lg);
}
.ent-hero-grid { display: grid; grid-template-columns: 1.1fr .9fr; gap: 24px; padding: clamp(28px, 5vw, 64px); align-items: center; }
@media (max-width: 900px) { .ent-hero-grid { grid-template-columns: 1fr; } }
.ent-hero h1 { font-size: clamp(34px, 5.4vw, 64px); line-height: .95; margin: 14px 0; color: #fff; }
.ent-hero h1 em { font-style: normal; color: var(--ent-lime); }
.ent-hero p { color: rgba(255,255,255,.78); font-size: 15.5px; max-width: 520px; }
.ent-hero-cta { display: flex; gap: 12px; flex-wrap: wrap; margin-top: 22px; }
.ent-btn-ghost {
  display: inline-flex; align-items: center; gap: 8px; padding: 13px 26px; border-radius: 999px;
  border: 1px solid rgba(255,255,255,.28); color: #fff !important; font-weight: 800; font-size: 13.5px;
  text-decoration: none !important; background: rgba(255,255,255,.08); backdrop-filter: blur(8px); transition: .2s;
}
.ent-btn-ghost:hover { background: rgba(255,255,255,.16); transform: translateY(-1px); }
.ent-stats { display: flex; gap: 26px; margin-top: 28px; flex-wrap: wrap; }
.ent-stat b { display: block; font-size: 22px; font-family: var(--ent-font-display); }
.ent-stat span { font-size: 12px; color: rgba(255,255,255,.66); text-transform: uppercase; letter-spacing: .1em; font-weight: 700; }
.ent-hero-visual {
  background: rgba(255,255,255,.1); border: 1px solid rgba(255,255,255,.16);
  border-radius: 22px; padding: 18px; backdrop-filter: blur(10px);
  display: grid; grid-template-columns: 1fr 1fr; gap: 12px;
}
.ent-mini-card { background: #fff; border-radius: 16px; padding: 14px; color: var(--ent-ink); box-shadow: var(--ent-shadow-md); }
.ent-mini-card small { color: var(--ent-muted); font-weight: 700; font-size: 11px; text-transform: uppercase; letter-spacing: .08em; }
.ent-mini-card b { display: block; margin-top: 4px; font-size: 14px; }
.ent-trust-row { display: flex; gap: 10px; margin-top: 14px; flex-wrap: wrap; }
.ent-trust-pill { background: rgba(255,255,255,.12); border: 1px solid rgba(255,255,255,.16); color: #fff; font-size: 12px; font-weight: 700; padding: 8px 14px; border-radius: 999px; }

/* ---------- Category cards ---------- */
.category-section { display: grid !important; grid-template-columns: repeat(4, 1fr); gap: 16px !important; }
@media (max-width: 992px) { .category-section { grid-template-columns: repeat(3, 1fr) !important; } }
@media (max-width: 640px) { .category-section { grid-template-columns: repeat(2, 1fr) !important; gap: 12px !important; } }
.category-section > *, .category-section .category-card, .category-section a {
  border-radius: var(--ent-radius) !important; overflow: hidden;
}
.category-section img { transition: transform .5s cubic-bezier(.2,.7,.2,1) !important; }
.category-section > *:hover img { transform: scale(1.06) !important; }
.category-section > * {
  background: var(--ent-card); border: 1px solid var(--ent-line);
  box-shadow: var(--ent-shadow-sm); transition: .25s; position: relative;
}
.category-section > *:hover { transform: translateY(-4px); box-shadow: var(--ent-shadow-md); border-color: #d6d8b8; }
.catOverlay {
  background: linear-gradient(180deg, transparent 30%, rgba(16,20,12,.82) 100%) !important;
  border-radius: 0 0 var(--ent-radius) var(--ent-radius) !important;
}
.catOverlay::before { display: none !important; }

/* ---------- Product cards (compact) ---------- */
.productsListing { row-gap: 22px !important; --bs-gutter-x: .9rem; --bs-gutter-y: 1.1rem; }
.pageProducts .productsListing { --bs-gutter-x: .9rem; }
.frontProducts .productDetailsContainer,
.productsListing .productDetailsContainer,
.product-wrapper, .product-wrapper-two {
  background: var(--ent-card) !important; border: 1px solid var(--ent-line) !important;
  border-radius: var(--ent-radius) !important; overflow: hidden;
  box-shadow: var(--ent-shadow-sm); transition: transform .25s, box-shadow .25s, border-color .25s !important;
  height: 100%;
}
.frontProducts .productDetailsContainer:hover,
.productsListing .productDetailsContainer:hover {
  transform: translateY(-5px); box-shadow: var(--ent-shadow-md) !important; border-color: #d8dbb8 !important;
}
.product-top-section { padding: 10px 10px 0 !important; }
.product-img-container {
  border-radius: 12px !important; overflow: hidden; background: #f3f3ec !important;
  border: 1px solid var(--ent-line-soft); height: 180px !important;
}
@media (max-width: 576px) { .product-img-container { height: 150px !important; } }
.product-img-container img { transition: transform .55s cubic-bezier(.2,.7,.2,1) !important; }
.productDetailsContainer:hover .product-img-container img { transform: scale(1.07) !important; }
.product-title { padding: 10px 12px 0 !important; }
.product-title .product-details, .product-details {
  font-family: var(--ent-font-display) !important; font-weight: 700 !important;
  font-size: 13.5px !important; line-height: 1.35 !important; color: var(--ent-ink) !important;
  text-decoration: none !important; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden;
}
.product-details:hover { color: var(--ent-olive-deep) !important; }
.product-price, .new-price { font-weight: 800 !important; color: var(--ent-ink) !important; font-size: 15px !important; }
.old-price, s, strike { color: #9aa0a6 !important; font-size: 13px !important; }

/* Variant pills + add to cart (labels carry the pill look — wrappers stay invisible) */
.variantItems { display: flex; flex-wrap: wrap; gap: 6px; }
.variantsBody { margin-top: 8px !important; }
.variantsBody > strong, .attributes-container > strong {
  font-size: 11.5px !important; text-transform: uppercase; letter-spacing: .06em;
  color: var(--ent-muted) !important; margin-bottom: 6px !important;
}
.custom-variant-option, .attribute-option {
  border: none !important; background: transparent !important; box-shadow: none !important;
  padding: 0 !important; margin: 0 !important; display: inline-flex !important;
}
.custom-variant-option:hover, .attribute-option:hover { border: none !important; background: transparent !important; }
.custom-variant-option:has(input:checked), .attribute-option:has(input:checked) {
  border: none !important; background: transparent !important;
}
.custom-variant-option input, .attribute-option input { accent-color: var(--ent-olive); }
.custom-variant-label, .attribute-option .form-check-label {
  display: inline-block !important;
  border: 1px solid var(--ent-line) !important; border-radius: 8px !important;
  padding: 5px 11px !important; margin: 2px !important;
  font-size: 12px !important; font-weight: 600 !important; color: #33392a !important;
  background: #fff !important; cursor: pointer; transition: .18s !important; line-height: 1.4;
}
.custom-variant-option:hover .custom-variant-label, .attribute-option:hover .form-check-label {
  border-color: var(--ent-olive) !important; background: var(--ent-olive-soft) !important; color: var(--ent-olive-deep) !important;
}
.custom-variant-option input[type="radio"]:checked + .custom-variant-label,
.attribute-option input[type="radio"]:checked + .form-check-label {
  border-color: var(--ent-olive-deep) !important; background: var(--ent-olive-deep) !important; color: #fff !important;
}
/* Out-of-stock options stay visible but unselectable, with a clear message path */
.custom-variant-option.is-oos, .attribute-option.is-oos { opacity: .6; }
.custom-variant-option.is-oos .custom-variant-label,
.attribute-option.is-oos .form-check-label {
  text-decoration: line-through; cursor: not-allowed !important;
  background: #f1f1ec !important; color: #9aa0a6 !important; border-style: dashed !important;
}
.productDetailsContainer .product-cart-btn .error-message,
.ent-options-body .error-message { display: none; }
.productDetailsContainer .product-cart-btn .error-message.show,
.ent-options-body .error-message.show { display: block !important; }
.addToCart, .cartBtn, .displayCartBtn {
  border-radius: 999px !important; font-weight: 800 !important; font-size: 12.5px !important;
  padding: 10px 16px !important; transition: .2s !important;
}
.cartCounterBod, .detailCounter, .cartCounterBody {
  border-radius: 999px !important; border: 1px solid var(--ent-line) !important;
  background: var(--ent-bg) !important; padding: 4px !important;
}
.cartCounterBod .increase-quantity, .cartCounterBod .decrease-quantity,
.cartCounterBod .decreaseQuantity, .cartCounterBod .increaseQuantity,
.table-wrapper-center .quantity .minus, .table-wrapper-center .quantity .plus,
.cartCounterBody .increase-quantity, .cartCounterBody .decrease-quantity {
  background: var(--ent-ink) !important; width: 26px !important; height: 26px !important; font-size: 13px !important;
}
/* Quantity stepper inside product cards : compact strip */
.productDetailsContainer .cart-section, .productDetailsContainer .cartCounterBod {
  margin-top: 8px !important;
}
.productDetailsContainer .cartCounterBod input, .productDetailsContainer .quantity-input {
  font-size: 12.5px !important; width: 44px !important;
}
.price-section { display: flex; align-items: center; justify-content: space-between; gap: 8px !important; margin: 6px 0 2px !important; height: auto !important; }
.product-details-section.gap-3 { gap: .6rem !important; }
/* Tight card internals — kills stacked bootstrap gaps (gap-3 / mb-4 / mt-2) */
.productDetailsContainer .product-top-section { height: auto !important; min-height: 0 !important; }
.productDetailsContainer .product-details-section.gap-3 { gap: .35rem !important; }
.productDetailsContainer .price-section {
  flex-direction: row !important; flex-wrap: wrap !important;
  gap: .5rem !important; row-gap: .4rem !important;
}
.productDetailsContainer .product-title.mt-2 { margin-top: .35rem !important; }
.productDetailsContainer .variants-section { margin: .35rem 0 0 !important; }
.productDetailsContainer .attributes-section { margin: .35rem 0 0 !important; }
.productDetailsContainer .attributes-container.mb-3 { margin-bottom: .35rem !important; }
.productDetailsContainer .variantsBody.mb-1 { margin-bottom: 0 !important; }
.productDetailsContainer .cart-section { padding-top: 4px; }
.variants-section.mb-4, .attributes-section.mb-4 { margin-bottom: .6rem !important; }
.product-cart-btn .cartBtn {
  width: 100%; display: inline-flex; align-items: center; justify-content: center; gap: 8px;
}
.product-cart-btn .cartBtn .fa { font-size: 15px; }
.productDetailsContainer .old-price { font-size: 11.5px !important; }
.productDetailsContainer .product-price { font-size: 15px !important; }

/* Badges */
.badge, .discount-badge, .deal-badge {
  border-radius: 999px !important; font-size: 11px !important; font-weight: 800 !important;
  letter-spacing: .06em; text-transform: uppercase;
}

/* Skeleton shimmer (enterprise) */
.skeleton { position: relative; overflow: hidden; background: #ecebe2 !important; }
.skeleton::after {
  content: ""; position: absolute; inset: 0;
  background: linear-gradient(90deg, transparent, rgba(255,255,255,.7), transparent);
  animation: entShimmer 1.4s infinite;
}
@keyframes entShimmer { from { transform: translateX(-100%);} to { transform: translateX(100%);} }

/* ---------- Trust strip ---------- */
.ent-trust {
  display: grid; grid-template-columns: repeat(4, 1fr); gap: 14px; margin: 26px 0 8px;
}
@media (max-width: 900px) { .ent-trust { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 520px) { .ent-trust { grid-template-columns: 1fr 1fr; gap: 10px; } }
.ent-trust-card {
  background: #fff; border: 1px solid var(--ent-line); border-radius: var(--ent-radius);
  padding: 18px; display: flex; gap: 14px; align-items: center; box-shadow: var(--ent-shadow-sm);
}
.ent-trust-icon {
  width: 46px; height: 46px; border-radius: 14px; flex-shrink: 0;
  background: var(--ent-ink); color: #fff; display: flex; align-items: center; justify-content: center; font-size: 20px;
}
.ent-trust-card:nth-child(2) .ent-trust-icon { background: var(--ent-olive); }
.ent-trust-card:nth-child(3) .ent-trust-icon { background: #b8893b; }
.ent-trust-card:nth-child(4) .ent-trust-icon { background: #2f6f4f; }
.ent-trust-card b { display: block; font-size: 14px; }
.ent-trust-card span { font-size: 12.5px; color: var(--ent-muted); }

/* ---------- Value / brand band ---------- */
.ent-band {
  background: var(--ent-ink); color: #fff; border-radius: var(--ent-radius-lg);
  padding: clamp(26px, 4vw, 48px); margin: 30px 0 10px; position: relative; overflow: hidden;
  border: 1px solid rgba(255,255,255,.1);
}
.ent-band::after {
  content: ""; position: absolute; width: 520px; height: 520px; right: -160px; top: -160px;
  background: radial-gradient(circle, rgba(168,181,69,.35) 0%, transparent 65%);
}
.ent-band h3 { font-size: clamp(22px, 3vw, 32px); margin: 0 0 8px; color: #fff; }
.ent-band p { color: rgba(255,255,255,.72); margin: 0; max-width: 620px; }
.ent-band-grid { display: flex; align-items: center; gap: 10px; margin-top: 18px; flex-wrap: wrap; position: relative; z-index: 1; }
.ent-chip {
  display: inline-flex !important; align-items: center; gap: 7px;
  flex: 0 0 auto !important; align-self: center;
  width: auto !important; height: auto !important; min-height: 0 !important; max-height: none !important;
  border: 1px solid rgba(255,255,255,.18); background: rgba(255,255,255,.08);
  padding: 7px 14px !important; border-radius: 999px;
  font-size: 12.5px !important; font-weight: 700 !important; line-height: 1.4 !important; color: #fff !important;
  white-space: nowrap; vertical-align: middle;
}

/* ---------- Footer : enterprise ---------- */
section.product.footer, .product.footer {
  background: var(--ent-ink) !important; color: rgba(255,255,255,.78) !important;
  border-radius: 28px 28px 0 0; margin-top: 40px !important; border-top: 1px solid rgba(255,255,255,.08);
}
.footer-service-section { padding: 26px 0 6px; }
/* Neutralize legacy olive slab + -11rem pull-up that drags footer over content */
section.product.footer .footer-service-section {
  background: transparent !important; margin-top: 0 !important;
  padding: 22px 0 0 !important; border-radius: 0 !important;
}
section.product.footer .service-wrapper { justify-content: flex-start !important; gap: 12px !important; }
section.product.footer .footer-section { padding-top: 8px !important; }
section.product.footer .footer-section .logo { margin-bottom: 12px !important; }
.service-wrapper {
  background: rgba(255,255,255,.06) !important; border: 1px solid rgba(255,255,255,.1) !important;
  border-radius: var(--ent-radius) !important; padding: 18px !important;
  display: flex; gap: 14px; align-items: center; transition: .2s;
}
.service-wrapper:hover { background: rgba(255,255,255,.1) !important; transform: translateY(-2px); }
.service-wrapper .service-title, .service-wrapper h5 { color: #fff !important; font-size: 14.5px !important; font-weight: 800 !important; margin: 0 0 4px !important; }
.service-wrapper .service-details { color: rgba(255,255,255,.62) !important; font-size: 12.5px !important; margin: 0 !important; }
.service-img span {
  width: 48px; height: 48px; border-radius: 14px; display: inline-flex; align-items: center; justify-content: center;
  background: var(--ent-olive) !important;
}
.footer-section { padding: 26px 0 10px; }
.footer-heading, .footer-title, .contact-info h4 { color: #fff !important; font-size: 13px !important; font-weight: 800 !important; letter-spacing: .1em; text-transform: uppercase !important; }
.footer-link ul { list-style: none; padding: 0; margin: 14px 0 0; display: flex; flex-direction: column; gap: 10px; }
.footer-link ul li a { color: rgba(255,255,255,.68) !important; text-decoration: none !important; font-size: 14px; transition: .2s; }
.footer-link ul li a:hover { color: var(--ent-lime) !important; padding-left: 4px; }
.footer .logo img.logo { max-height: 54px; filter: brightness(1.1); }
.address .details h4 { font-size: 12px !important; margin: 0 0 2px !important; color: #fff !important; }
.address .details p { font-size: 13px; color: rgba(255,255,255,.66) !important; margin: 0; }
.product.footer hr { border-color: rgba(255,255,255,.12) !important; opacity: 1; }
.ent-footer-bottom {
  display: flex; align-items: center; justify-content: space-between; gap: 12px; flex-wrap: wrap;
  padding: 16px 0 26px; font-size: 12.5px; color: rgba(255,255,255,.55);
}
.ent-pay-row { display: flex; gap: 8px; align-items: center; }
.ent-pay { background: rgba(255,255,255,.1); border: 1px solid rgba(255,255,255,.12); border-radius: 8px; padding: 6px 12px; font-size: 11px; font-weight: 800; letter-spacing: .06em; }
.ent-pay.ent-social {
  width: 34px; height: 34px; padding: 0 !important; border-radius: 50% !important;
  display: inline-flex; align-items: center; justify-content: center;
  font-size: 15px !important; transition: .18s;
}
.ent-pay.ent-social:hover { background: rgba(255,255,255,.22); transform: translateY(-2px); }
.about-link a .fa { margin-right: 2px; font-size: 14px; }
.footer-link.contact-link .shopAddress { white-space: nowrap; }

/* ---------- Product listing / cart / checkout polish ---------- */
.sidebar-section .sidebar-wrapper, .filter-card {
  background: #fff; border: 1px solid var(--ent-line); border-radius: var(--ent-radius); box-shadow: var(--ent-shadow-sm);
}
.table-wrapper-center { background: #fff; border: 1px solid var(--ent-line); border-radius: var(--ent-radius); padding: 14px; }
input.form-control, select.form-select, textarea.form-control, input[type="text"], input[type="email"], input[type="password"], input[type="number"] {
  border-radius: 12px !important; border-color: var(--ent-line) !important;
}
input:focus, select:focus, textarea:focus { border-color: var(--ent-olive) !important; box-shadow: 0 0 0 4px rgba(99,107,47,.14) !important; outline: none !important; }
.payment-method { border-radius: var(--ent-radius) !important; background: #fff; box-shadow: var(--ent-shadow-sm); }

/* Breadcrumb / page head */
.ent-page-head {
  background: #fff; border: 1px solid var(--ent-line); border-radius: var(--ent-radius-lg);
  padding: clamp(20px, 3.4vw, 36px); margin: 18px 0; box-shadow: var(--ent-shadow-sm);
  position: relative; overflow: hidden;
}
.ent-page-head::before { content: ""; position: absolute; left: 0; top: 0; bottom: 0; width: 6px; background: linear-gradient(180deg, var(--ent-olive), var(--ent-lime)); }
.ent-page-head h2 { margin: 0; font-size: clamp(24px, 3.4vw, 36px); }
.ent-page-head p { margin: 8px 0 0; color: var(--ent-muted); }

/* Toast */
#toast-container > .toast { border-radius: 14px !important; box-shadow: var(--ent-shadow-md) !important; }

/* Cart drawer / offcanvas polish */
.cart-submenu {
  border-radius: 18px !important; border: 1px solid var(--ent-line) !important; box-shadow: var(--ent-shadow-lg) !important;
}

/* ---------- Motion ---------- */
@media (prefers-reduced-motion: reduce) { * { animation: none !important; transition: none !important; } }

/* ---------- Responsive tightening ---------- */
@media (max-width: 768px) {
  .header-center-section { padding: 10px 0 6px !important; }
  .ent-announce { font-size: 11.5px; text-align: center; }
  .section-title h5 { padding-left: 13px; }
  .banner-header__item { border-radius: 20px !important; }
  section.product.footer { border-radius: 22px 22px 0 0; }
}

/* ==========================================================================
   PART 2 — Shop / Product / Cart / Checkout enterprise layer v1.1
   ========================================================================== */

/* ---------- Breadcrumbs + page head ---------- */
.blog.about-blog, .ent-crumb-wrap {
  background: transparent !important; padding: 18px 0 0 !important; margin: 0 !important;
}
.blog-bradcrum {
  display: inline-flex; align-items: center; gap: 8px;
  background: #fff; border: 1px solid var(--ent-line); border-radius: 999px;
  padding: 8px 18px; font-size: 12.5px; font-weight: 600; box-shadow: var(--ent-shadow-sm);
}
.blog-bradcrum a { color: var(--ent-olive-deep) !important; text-decoration: none !important; font-weight: 700; }
.blog-bradcrum a:hover { color: var(--ent-olive) !important; }
.blog-bradcrum .devider { color: #b9bca8; }
.blog-heading.about-heading .heading,
.ent-page-title {
  font-family: var(--ent-font-display) !important; font-weight: 800;
  font-size: clamp(28px, 4vw, 44px); letter-spacing: -.03em; margin: 16px 0 4px; color: var(--ent-ink);
}
.ent-crumb-sub { color: var(--ent-muted); font-size: 14px; margin: 0 0 6px; }

/* Category summary card (products.php #category-summary) */
.category-summary, #category-summary {
  margin: 14px 0 4px !important; text-align: left !important;
  background: #fff; border: 1px solid var(--ent-line); border-radius: var(--ent-radius);
  padding: 16px 20px; box-shadow: var(--ent-shadow-sm); position: relative; overflow: hidden;
}
.category-summary::before, #category-summary::before {
  content: ""; position: absolute; left: 0; top: 0; bottom: 0; width: 5px;
  background: linear-gradient(180deg, var(--ent-olive), var(--ent-lime));
}
.category-summary p, #category-summary-text { margin: 0 !important; font-size: 14px !important; line-height: 1.65 !important; color: #3c4232 !important; }

/* ---------- Products listing layout ---------- */
.product-sidebar .sidebar-section .sidebar-wrapper {
  background: #fff !important; border: 1px solid var(--ent-line) !important;
  border-radius: var(--ent-radius) !important; padding: 20px !important;
  box-shadow: var(--ent-shadow-sm);
}
.wrapper-heading {
  font-family: var(--ent-font-display) !important; font-weight: 800 !important;
  font-size: 14px !important; letter-spacing: .08em; text-transform: uppercase;
  color: var(--ent-ink) !important; margin-bottom: 14px !important;
}
.sidebar-section .sidebar-wrapper .sidebar-item .sidebar-list label { font-size: 13.5px; font-weight: 600; color: #33392a; }
#variant-filters { background: #fff; border: 1px solid var(--ent-line); border-radius: var(--ent-radius); padding: 20px; box-shadow: var(--ent-shadow-sm); }

/* Legacy inline card from products.php — upgraded */
.productDetailsContainer {
  border: 1px solid var(--ent-line) !important; border-radius: var(--ent-radius) !important;
  padding: 12px !important; background: #fff !important; box-shadow: var(--ent-shadow-sm);
}
.product-title { border-top: none !important; background: transparent !important; }
.product-title h3 { font-family: var(--ent-font-display); font-size: 15px; font-weight: 700; }
.favourite, .wishlistBody.favourite {
  background: #fff !important; border: 1px solid var(--ent-line) !important;
  width: 40px; height: 40px; display: inline-flex; align-items: center; justify-content: center;
  border-radius: 50% !important; box-shadow: var(--ent-shadow-sm); transition: .2s;
}
.favourite:hover { border-color: var(--ent-olive) !important; transform: scale(1.06); }
.favourite .fa-heart, .favourite .fa-heart-o { color: var(--ent-olive); }

/* Sort bar */
.product-sorting-section {
  background: #fff; border: 1px solid var(--ent-line); border-radius: 999px;
  padding: 10px 10px 10px 22px; display: flex; align-items: center; justify-content: space-between;
  gap: 12px; box-shadow: var(--ent-shadow-sm); margin-bottom: 20px; flex-wrap: wrap;
}
.product-sorting-section .result p { margin: 0; font-size: 13px; font-weight: 600; color: var(--ent-muted); }
.paginateDetails { font-weight: 800; color: var(--ent-ink); }
.product-sorting { display: flex; align-items: center; gap: 10px; }
.product-sort { font-size: 12.5px; font-weight: 800; text-transform: uppercase; letter-spacing: .08em; color: var(--ent-muted); }
#sort-filter {
  border-radius: 999px !important; font-size: 13px; font-weight: 700; padding: 10px 38px 10px 18px !important;
  background-color: var(--ent-bg) !important; cursor: pointer;
}

/* Homepage category sections: 5 products per row */
.homeCatSection.homeSecIn { animation: homeSecIn .55s ease both; }
@keyframes homeSecIn {
  from { opacity: 0; transform: translateY(20px); }
  to { opacity: 1; transform: none; }
}
@media (prefers-reduced-motion: reduce) {
  .homeCatSection.homeSecIn { animation: none; }
}
/* Generic on-load entrance (replaces scroll-triggered AOS where full-page
   captures must show content without scrolling) */
.ent-load-in { animation: homeSecIn .55s ease both; }
@media (prefers-reduced-motion: reduce) {
  .ent-load-in { animation: none; }
}
.homeCatGrid {
  display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 16px; align-items: stretch;
}
.homeCatGrid .homeCatCell { min-width: 0; }
.homeCatGrid .homeCatCell .productDetailsContainer { height: 100%; }
@media (max-width: 1200px) { .homeCatGrid { grid-template-columns: repeat(4, minmax(0, 1fr)); } }
@media (max-width: 992px) { .homeCatGrid { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
@media (max-width: 640px) { .homeCatGrid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; } }
.homeCatSection { scroll-margin-top: 90px; }

/* Enterprise empty state (deals, search with no results, …) */
.ent-empty-state {
  text-align: center; background: #fff; border: 1px dashed var(--ent-line);
  border-radius: 20px; box-shadow: var(--ent-shadow-sm);
  padding: 52px 24px; max-width: 560px; margin: 8px auto;
}
.ent-empty-icon {
  width: 60px; height: 60px; margin: 0 auto 14px; border-radius: 50%;
  display: flex; align-items: center; justify-content: center; font-size: 28px;
  background: var(--ent-bg); border: 1px solid var(--ent-line-soft);
}
.ent-empty-title {
  font-family: var(--ent-font-display); font-size: 19px; font-weight: 800;
  color: var(--ent-ink); margin: 0 0 6px;
}
.ent-empty-sub { font-size: 13.5px; color: var(--ent-muted); line-height: 1.65; margin: 0 0 20px; }
.ent-empty-cta { display: inline-block; text-decoration: none; }

/* Deals cards: stacked media + title (no absolute overlay caption) */
.dealsProducts .product-top-section { height: auto !important; min-height: 0 !important; }
.dealsProducts .product-img-container.ent-deal-media { height: 240px !important; }
@media (max-width: 576px) { .dealsProducts .product-img-container.ent-deal-media { height: 170px !important; } }
.dealsProducts .product-title.ent-deal-title {
  position: static !important; background: transparent !important; border-top: none !important;
  padding: 10px 4px 0 !important; min-height: 52px;
}
.dealsProducts .product-title.ent-deal-title h3 { color: var(--ent-ink) !important; }

/* Out-of-stock: single overlay badge on the photo (replaces stacked badges) */
.productDetailsContainer.is-oos .product-top-section,
.productDetailsContainer.is-oos .relative { position: relative; }
.ent-oos-overlay {
  position: absolute; inset: 0; z-index: 3;
  display: flex; align-items: center; justify-content: center; text-align: center;
  background: rgba(247,247,242,.55); border-radius: 12px; pointer-events: none;
  padding: 12px;
}
.ent-oos-overlay span {
  background: rgba(16,20,12,.88); color: #fff;
  font-size: 11px; font-weight: 800; letter-spacing: .1em; text-transform: uppercase;
  padding: 9px 20px; border-radius: 999px; box-shadow: var(--ent-shadow-md); white-space: nowrap;
}
.productDetailsContainer.is-oos .product-img-container img { filter: grayscale(.4); opacity: .8; }

/* Deals: discount badge pinned to the photo */
.dealsProducts .product-top-section { position: relative; }
.ent-deal-badge {
  position: absolute; top: 10px; left: 10px; z-index: 2;
  background: #b3261e; color: #fff;
  font-size: 11px; font-weight: 800; letter-spacing: .06em; text-transform: uppercase;
  padding: 6px 12px; border-radius: 999px; box-shadow: var(--ent-shadow-sm); white-space: nowrap;
}

/* ==========================================================================
   FAQ page: enterprise support layout
   ========================================================================== */
.ent-faq-top .ent-faq-search {
  position: relative; display: flex; align-items: center; gap: 10px;
  background: #fff; border: 1px solid var(--ent-line); border-radius: 999px;
  box-shadow: var(--ent-shadow-sm); padding: 6px 6px 6px 18px; margin-top: 18px;
  max-width: 640px;
}
.ent-faq-search-icon { font-size: 18px; color: var(--ent-muted); flex-shrink: 0; }
.ent-faq-search .form-control {
  border: none !important; box-shadow: none !important; background: transparent !important;
  padding: 10px 4px !important; font-size: 14px !important;
}
.ent-faq-search .form-control:focus { outline: none !important; }
.ent-faq-count { font-size: 12px; font-weight: 700; color: var(--ent-muted); white-space: nowrap; padding-right: 14px; }
.ent-faq-body { background: transparent; }
.ent-faq-layout { display: grid; grid-template-columns: minmax(0, 1fr) 340px; gap: 22px; align-items: start; }
.ent-faq-group { margin-bottom: 26px; }
.ent-faq-group-title {
  font-family: var(--ent-font-display); font-size: 16px; font-weight: 800; color: var(--ent-ink);
  margin: 0 0 12px; display: flex; align-items: center; gap: 10px;
}
.ent-faq-group-title::after { content: ""; flex: 1; height: 1px; background: var(--ent-line); }
.ent-faq-list { display: flex; flex-direction: column; gap: 10px; }
.ent-faq-item {
  background: #fff; border: 1px solid var(--ent-line); border-radius: 16px;
  box-shadow: var(--ent-shadow-sm); overflow: hidden; transition: border-color .18s, box-shadow .18s;
}
.ent-faq-item.is-open { border-color: var(--ent-olive); box-shadow: var(--ent-shadow-md); }
.ent-faq-q {
  width: 100%; display: flex; align-items: center; justify-content: space-between; gap: 14px;
  background: none; border: none; text-align: left; cursor: pointer;
  padding: 16px 18px; font-size: 14.5px; font-weight: 800; color: var(--ent-ink);
}
.ent-faq-q:hover { color: var(--ent-olive-deep); }
.ent-faq-chev {
  flex-shrink: 0; width: 30px; height: 30px; border-radius: 50%;
  display: inline-flex; align-items: center; justify-content: center;
  border: 1px solid var(--ent-line); font-size: 16px; line-height: 1; font-weight: 400;
  transition: transform .25s, background .2s, color .2s; color: var(--ent-olive-deep);
}
.ent-faq-item.is-open .ent-faq-chev { transform: rotate(45deg); background: var(--ent-ink); border-color: var(--ent-ink); color: #fff; }
.ent-faq-a { display: grid; grid-template-rows: 0fr; transition: grid-template-rows .28s ease; }
.ent-faq-item.is-open .ent-faq-a { grid-template-rows: 1fr; }
.ent-faq-a-inner {
  overflow: hidden; font-size: 13.5px; line-height: 1.75; color: #4b5240;
  padding: 0 18px;
}
.ent-faq-item.is-open .ent-faq-a-inner { padding-bottom: 18px; }
.ent-faq-side { display: flex; flex-direction: column; gap: 16px; position: sticky; top: 90px; }
.ent-faq-card {
  background: #fff; border: 1px solid var(--ent-line); border-radius: 18px;
  box-shadow: var(--ent-shadow-sm); padding: 20px;
}
.ent-faq-card h3 { font-family: var(--ent-font-display); font-size: 16px; font-weight: 800; margin: 0 0 6px; color: var(--ent-ink); }
.ent-faq-card p { font-size: 13px; color: var(--ent-muted); line-height: 1.65; margin: 0 0 14px; }
.ent-faq-links { display: flex; flex-direction: column; gap: 2px; margin-top: 14px; }
.ent-faq-links a {
  font-size: 13px; font-weight: 700; color: var(--ent-olive-deep); text-decoration: none;
  padding: 8px 2px; border-top: 1px solid var(--ent-line-soft);
}
.ent-faq-links a:hover { color: var(--ent-ink); }
.ent-faq-form-card .review-form-name { margin-bottom: 12px; }
.ent-faq-form-card .form-label { font-size: 11.5px; font-weight: 800; text-transform: uppercase; letter-spacing: .06em; color: #4b5240; }
.ent-faq-form-card .form-control { font-size: 13.5px !important; }
.ent-faq-empty {
  text-align: center; background: #fff; border: 1px dashed var(--ent-line);
  border-radius: 18px; padding: 44px 20px;
}
@media (max-width: 992px) {
  .ent-faq-layout { grid-template-columns: minmax(0, 1fr); }
  .ent-faq-side { position: static; }
}
@media (prefers-reduced-motion: reduce) {
  .ent-faq-a { transition: none; }
  .ent-faq-chev { transition: none; }
}

/* Pagination: windowed numbers + Prev/Next pills, wraps instead of overflowing */
.pagination-container { margin: 30px 0 10px; }
.pagination { gap: 8px; flex-wrap: wrap; justify-content: center; }
.pagination .page-item .page-link {
  border: 1px solid var(--ent-line); border-radius: 12px !important; color: var(--ent-ink);
  font-weight: 700; font-size: 13px; padding: 10px 16px; background: #fff; box-shadow: var(--ent-shadow-sm);
  white-space: nowrap;
}
.pagination .page-item.active .page-link, .pagination .page-link:hover {
  background: var(--ent-ink) !important; border-color: var(--ent-ink) !important; color: #fff !important;
}
.pagination .page-item.disabled .page-link { opacity: .45; pointer-events: none; }
.pagination .page-link.ent-page-dots { border-style: dashed; letter-spacing: 2px; }
.productLoadingStatus { border-radius: 12px; font-size: 13px !important; }
.frontProducts-error { font-size: 14px; font-weight: 600; }

/* ---------- Product detail page ---------- */
.product-info-section {
  background: #fff; border: 1px solid var(--ent-line); border-radius: var(--ent-radius-lg);
  padding: clamp(18px, 3vw, 34px); box-shadow: var(--ent-shadow-sm); margin-top: 16px;
}
.product-info-img .product-top {
  border-radius: 20px; overflow: hidden; border: 1px solid var(--ent-line-soft); background: #f4f4ee;
  height: auto !important; max-height: 400px;
}
.product-info-img .product-top .swiper-wrapper { height: auto !important; }
.product-info-img .product-top .slider-top-img { height: auto !important; padding: 0; }
.product-info-img .product-top img, #selected-image {
  width: 100%; height: auto !important; max-height: 400px; object-fit: contain; border-radius: 20px;
}
@media (max-width: 768px) {
  .product-info-img .product-top, .product-info-img .product-top img, #selected-image { max-height: 320px; }
}
.product-info-img .product-bottom { margin-top: 12px; }
.product-info-img .product-bottom .swiper-slide {
  border-radius: 12px; overflow: hidden; border: 2px solid transparent; cursor: pointer;
  width: 68px !important; height: 68px !important; padding: 6px !important; background: #f4f4ee;
}
.product-info-img .product-bottom .swiper-slide img { width: 100%; height: 100%; object-fit: cover; }
.product-info-img .product-bottom .swiper-slide:hover { border-color: var(--ent-olive); }
.product-info-content { padding: 0 !important; }
.product-info-content h5 {
  font-size: clamp(20px, 2.6vw, 27px) !important; font-weight: 800 !important;
  letter-spacing: -.02em; line-height: 1.2; color: var(--ent-ink) !important; margin-bottom: 8px;
}
.product-info-content .price { display: flex; align-items: baseline; gap: 10px; margin: 8px 0; }
.product-info-content .new-price, .product-info-content .product-price {
  font-size: 22px !important; font-weight: 800 !important; color: var(--ent-olive-deep) !important;
  font-family: var(--ent-font-display) !important;
}
.content-paragraph { color: #4b5240; font-size: 14.5px; line-height: 1.7; }
.product-info-content hr { border-color: var(--ent-line-soft); opacity: 1; }
.product-quantity { display: flex; align-items: center; gap: 10px; flex-wrap: wrap; margin-top: 8px; }
.quantity-wrapper { display: flex; align-items: center; gap: 10px; }
/* Detail-page buy row: beat legacy (0,3,0) sizing, lock 48px alignment */
.product-info-content .product-quantity { justify-content: flex-start !important; gap: 10px !important; flex-direction: row !important; flex-wrap: wrap !important; }
.product-info-content .product-quantity .quantity-wrapper { justify-content: flex-start !important; gap: 10px !important; flex-shrink: 0; }
.product-info-content .product-quantity .quantity.detailCounter {
  width: auto !important; max-width: 150px; height: 48px !important;
  padding: 4px 8px !important; gap: 4px !important; border-radius: 999px !important;
}
.product-info-content .detailCounter input { width: 44px !important; font-size: 13px !important; }
.product-info-content .product-quantity .wishlistBody {
  width: 48px !important; height: 48px !important; flex-shrink: 0; margin: 0 !important;
}
.product-info-content .product-quantity .shop-btn.addToCart {
  flex: 0 0 auto !important; height: 48px !important;
  display: inline-flex !important; align-items: center !important; justify-content: center !important;
  gap: 10px !important; padding: 0 26px !important; font-size: 14px !important; white-space: nowrap;
}
.product-details p { font-size: 13.5px; color: #4b5240; margin-bottom: 8px; }
.product-details .inner-text { font-weight: 700; color: var(--ent-ink); }
.product-details .report { color: var(--ent-olive-deep); font-weight: 700; }
.product-share { display: flex; align-items: center; gap: 12px; margin-top: 18px; }
.product-share p { margin: 0; font-size: 12px; font-weight: 800; text-transform: uppercase; letter-spacing: .08em; color: var(--ent-muted); }
.social-icons { display: flex; gap: 8px; }
.social-icons a, .social-icons button {
  width: 38px; height: 38px; border-radius: 50%; background: var(--ent-bg);
  border: 1px solid var(--ent-line); display: inline-flex; align-items: center; justify-content: center;
  color: var(--ent-ink); transition: .2s; font-size: 15px;
}
.social-icons a:hover { background: var(--ent-ink); color: #fff; border-color: var(--ent-ink); }

/* Description tabs */
.product-description .product-detail-section {
  background: #fff; border: 1px solid var(--ent-line); border-radius: var(--ent-radius-lg);
  padding: clamp(18px, 3vw, 34px); box-shadow: var(--ent-shadow-sm);
}
.product-detail-section .nav-tabs { border-bottom: 1px solid var(--ent-line); gap: 6px; }
.product-detail-section .nav-link {
  border: none !important; border-radius: 12px 12px 0 0 !important; font-weight: 800; font-size: 14px;
  color: var(--ent-muted) !important; padding: 12px 24px !important;
}
.product-detail-section .nav-link.active {
  color: var(--ent-ink) !important; background: var(--ent-olive-soft) !important;
  box-shadow: inset 0 -3px 0 var(--ent-olive);
}
.intro-heading { font-size: 18px; font-weight: 800; margin: 18px 0 12px; }
#productFullDetails { font-size: 14.5px; line-height: 1.8; color: #3c4232; }
#productFullDetails table { width: 100%; border-collapse: collapse; margin: 12px 0; }
#productFullDetails table td, #productFullDetails table th { border: 1px solid var(--ent-line); padding: 10px 12px; font-size: 13.5px; }

/* ---------- Cart page ---------- */
.product-cart .cart-section {
  background: #fff; border: 1px solid var(--ent-line); border-radius: var(--ent-radius-lg);
  box-shadow: var(--ent-shadow-sm); overflow: hidden;
}
.product-cart table { width: 100%; border-collapse: collapse; margin: 0; }
.product-cart thead tr { background: var(--ent-ink); }
.product-cart thead .table-heading { color: #fff !important; font-size: 11.5px !important; letter-spacing: .1em; padding: 16px !important; }
.product-cart tbody tr { border-top: 1px solid var(--ent-line-soft); transition: background .2s; }
.product-cart tbody tr:hover { background: #fafaf5; }
.product-cart tbody td { padding: 16px; vertical-align: middle; font-size: 14px; }
.product-cart tbody img { border-radius: 14px; border: 1px solid var(--ent-line-soft); width: 76px; height: 76px; object-fit: cover; }
.wishlist-btn.cart-btn {
  display: flex; align-items: center; justify-content: space-between; gap: 12px; flex-wrap: wrap;
  background: #fff; border: 1px solid var(--ent-line); border-radius: var(--ent-radius);
  padding: 18px 22px; margin-top: 16px; box-shadow: var(--ent-shadow-sm);
}
.clean-btn {
  display: inline-flex; align-items: center; gap: 8px; padding: 12px 24px; border-radius: 999px;
  border: 1px solid #e5c2c2; color: #b3261e !important; font-weight: 800; font-size: 13px;
  text-decoration: none !important; background: #fef6f6; transition: .2s;
}
.clean-btn:hover { background: #b3261e; color: #fff !important; border-color: #b3261e; }
.remove-item {
  width: 36px; height: 36px; border-radius: 50%; border: 1px solid var(--ent-line);
  background: #fff; color: #b3261e; display: inline-flex; align-items: center; justify-content: center;
  transition: .2s; cursor: pointer;
}
.remove-item:hover { background: #b3261e; border-color: #b3261e; color: #fff; }
/* Availability watcher states */
tr.ent-oos { background: #fef2f2 !important; }
.ent-stock-note {
  display: inline-flex; align-items: center; gap: 6px; font-size: 12px; font-weight: 700;
  background: #fef2f2; color: #b3261e; border: 1px solid #f5c6c6; border-radius: 999px; padding: 5px 12px; margin-top: 8px;
}

/* ---------- Checkout page ---------- */
.ent-steps { display: flex; align-items: center; gap: 8px; margin: 16px 0 4px; flex-wrap: wrap; }
.ent-step {
  display: inline-flex; align-items: center; gap: 8px; font-size: 12.5px; font-weight: 800;
  background: #fff; border: 1px solid var(--ent-line); border-radius: 999px; padding: 8px 16px; color: var(--ent-muted);
}
.ent-step b {
  width: 22px; height: 22px; border-radius: 50%; background: var(--ent-bg); border: 1px solid var(--ent-line);
  display: inline-flex; align-items: center; justify-content: center; font-size: 11px;
}
.ent-step.done { color: var(--ent-olive-deep); border-color: #cfd6a8; background: #f4f6e4; }
.ent-step.done b { background: var(--ent-olive); border-color: var(--ent-olive); color: #fff; }
.ent-step.now { color: #fff; background: var(--ent-ink); border-color: var(--ent-ink); }
.ent-step.now b { background: rgba(255,255,255,.18); border-color: transparent; color: #fff; }

.checkout-wrapper {
  background: #fff; border: 1px solid var(--ent-line); border-radius: var(--ent-radius-lg);
  padding: clamp(20px, 3vw, 32px); box-shadow: var(--ent-shadow-sm); height: 100%;
}
.checkout-wrapper .wrapper-heading { font-size: 15px !important; }
.deliveryOption {
  border: 1px solid var(--ent-line); border-radius: 14px; padding: 14px 16px; margin-bottom: 10px;
  transition: .2s; background: #fff;
}
.deliveryOption:has(input:checked) { border-color: var(--ent-olive); background: #f7f8ec; box-shadow: 0 0 0 3px rgba(99,107,47,.12); }
.deliveryOption label { font-weight: 700; font-size: 14px; width: 100%; cursor: pointer; }
.deliveryOption img { width: 30px; height: 30px; object-fit: contain; }
.review-form-name { margin-bottom: 14px; }
.review-form-name .form-label { font-size: 12px; font-weight: 800; text-transform: uppercase; letter-spacing: .06em; color: #4b5240; }
.addressContainer > * {
  background: var(--ent-bg); border: 1px solid var(--ent-line); border-radius: 14px; padding: 14px 16px; margin-bottom: 10px;
}
.order-summery { background: var(--ent-bg); border: 1px solid var(--ent-line); border-radius: var(--ent-radius); padding: 20px; }
.order-summery .subtotal { display: flex; justify-content: space-between; align-items: center; }
.order-summery .wrapper-heading { margin: 0 !important; }
.order-summery hr { border-color: var(--ent-line); opacity: 1; }
#cartItems { list-style: none; padding: 0; margin: 0; display: flex; flex-direction: column; gap: 12px; }
#cartItems li {
  display: flex; align-items: center; gap: 12px; background: #fff; border: 1px solid var(--ent-line-soft);
  border-radius: 14px; padding: 10px 12px; font-size: 13px;
}
#cartItems img { width: 52px; height: 52px; border-radius: 10px; object-fit: cover; border: 1px solid var(--ent-line-soft); }
.subtotal.total .wrapper-heading, .totalPrice { font-size: 20px !important; color: var(--ent-olive-deep) !important; }
.payNow, .payNowOnLogging { width: 100%; margin-top: 6px; }
#payStatus { font-size: 13px; font-weight: 600; }

/* Checkout / address modals */
.primaryModal, .default-modal {
  position: fixed; inset: 0; z-index: 1000; display: flex; align-items: center; justify-content: center;
  background: rgba(16,20,12,.55); backdrop-filter: blur(6px); padding: 18px;
}
.primaryModal.d-none, .default-modal.d-none { display: none !important; }
.primaryModal .modal-content, .default-modal .modal-main {
  border-radius: 22px !important; border: 1px solid var(--ent-line) !important;
  box-shadow: var(--ent-shadow-lg) !important; max-width: 800px; width: 100% !important; max-height: 90vh; overflow: auto;
}
.close-btn.closeModal {
  border-radius: 999px; border: 1px solid var(--ent-line); background: #fff;
  padding: 12px 26px; font-weight: 800; font-size: 13px; transition: .2s;
}
.close-btn.closeModal:hover { background: var(--ent-ink); color: #fff; border-color: var(--ent-ink); }

/* ---------- Misc shared ---------- */
.blog.about-blog .container { max-width: 1280px; }
.error-message { font-size: 12px; font-weight: 600; }
.form-control, .form-select { font-size: 14px; }
select.form-control, select.form-select {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8'%3E%3Cpath d='M1 1l5 5 5-5' stroke='%23636b2f' stroke-width='2' fill='none' stroke-linecap='round'/%3E%3C/svg%3E");
  background-repeat: no-repeat; background-position: right 16px center; appearance: none;
}

/* ==========================================================================
   PART 3 — Navigation rebuild + density fixes v1.2
   Fixes: unreadable dropdown text, arch-shaped columns, oversized header,
   giant cards, double-bordered option pills, oversized detail gallery.
   ========================================================================== */

/* ----- Dropdown / mega-menu : clean readable panels ----- */
.header-nav .header-nav-menu ul.menu-list .shop-menu.visible {
  visibility: visible !important; opacity: 1 !important;
}
/* Standard dropdown (single-level children) */
.header-nav .header-nav-menu ul.menu-list .header-sub-menu {
  top: calc(100% + 8px) !important;
  width: 230px !important;
  padding: 10px !important;
  gap: 2px !important;
  border: 1px solid var(--ent-line) !important;
  border-radius: 14px !important;
  box-shadow: var(--ent-shadow-md) !important;
  background: #fff !important;
}
.header-nav .header-nav-menu ul.menu-list .header-sub-menu li { width: 100%; }
.header-nav .header-nav-menu ul.menu-list .header-sub-menu a.menu-title {
  display: block; width: 100%;
  font-size: 13px !important; font-weight: 600 !important; color: #33392a !important;
  padding: 8px 12px !important; border-radius: 9px; text-decoration: none;
  background: transparent !important;
}
.header-nav .header-nav-menu ul.menu-list .header-sub-menu a.menu-title:hover {
  background: var(--ent-olive-soft) !important; color: var(--ent-olive-deep) !important;
}
/* Mega panel */
.header-nav .header-nav-menu ul.menu-list .mega-menu .shop-menu {
  top: calc(100% + 8px) !important;
  height: auto !important;
  min-height: 0 !important;
  max-height: min(68vh, 560px);
  overflow-y: auto;
  width: min(1060px, 94vw) !important;
  padding: 20px 22px !important;
  gap: 20px !important;
  align-items: flex-start !important;
  background: #fff !important;
  border: 1px solid var(--ent-line) !important;
  border-radius: 18px !important;
  box-shadow: var(--ent-shadow-lg) !important;
  z-index: 300;
}
.header-nav .header-nav-menu ul.menu-list .mega-menu .shop-menu .menu-wrapper {
  display: grid !important;
  grid-template-columns: repeat(auto-fill, minmax(180px, 1fr)) !important;
  gap: 18px !important;
  align-items: start !important;
  justify-content: start !important;
  flex: 1 1 auto !important;
  min-width: 0;
}
/* Subcategory columns : plain, NEVER pill cards */
.header-nav .header-nav-menu ul.menu-list .mega-menu .shop-menu .menu-wrapper .menu-list {
  background: transparent !important;
  border: none !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  padding: 0 !important;
  margin: 0 !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: flex-start !important;
  gap: 2px !important;
  min-width: 0;
}
.header-nav .header-nav-menu ul.menu-list .mega-menu .shop-menu .menu-wrapper .menu-list > a {
  background: transparent !important;
  padding: 0 !important;
  border-radius: 0 !important;
  display: block; width: 100%;
  text-decoration: none;
}
.header-nav .header-nav-menu ul.menu-list .mega-menu .shop-menu .menu-wrapper .menu-list .menu-title {
  font-size: 12px !important; font-weight: 800 !important;
  letter-spacing: .07em; text-transform: uppercase;
  color: var(--ent-olive-deep) !important;
  margin: 0 0 6px !important; padding: 0 0 8px !important;
  border-bottom: 2px solid var(--ent-olive-soft);
  background: transparent !important;
}
.header-nav .header-nav-menu ul.menu-list .mega-menu .shop-menu .menu-wrapper .menu-list ul {
  gap: 1px !important; padding: 0; margin: 0; list-style: none; width: 100%;
}
.header-nav .header-nav-menu ul.menu-list .mega-menu .shop-menu .menu-wrapper .menu-list ul li { width: 100%; }
.header-nav .header-nav-menu ul.menu-list .mega-menu .shop-menu .menu-wrapper .menu-list ul li a {
  display: block; width: 100%;
  font-size: 13px !important; font-weight: 500 !important; color: #33392a !important;
  padding: 6px 8px !important; border-radius: 8px; text-decoration: none;
  background: transparent !important; white-space: normal; line-height: 1.4;
}
.header-nav .header-nav-menu ul.menu-list .mega-menu .shop-menu .menu-wrapper .menu-list ul li a:hover {
  background: var(--ent-olive-soft) !important; color: var(--ent-olive-deep) !important;
}
/* Category promo image inside mega panel : constrained, never overlapping */
.header-nav .header-nav-menu ul.menu-list .mega-menu .shop-menu .shop-menu-img {
  width: 190px !important; height: auto !important; max-height: 240px;
  flex-shrink: 0; border-radius: 14px; overflow: hidden;
  border: 1px solid var(--ent-line-soft); background: var(--ent-bg);
}
.header-nav .header-nav-menu ul.menu-list .mega-menu .shop-menu .shop-menu-img img {
  width: 100% !important; height: 100% !important; max-height: 240px;
  object-fit: cover !important;
}
@media (max-width: 1100px) {
  .header-nav .header-nav-menu ul.menu-list .mega-menu .shop-menu .shop-menu-img { display: none; }
}

/* ==========================================================================
   PART 4 — Sleek compact product cards v1.3
   Small enterprise cards: tight media, 2-line titles, inline price +
   mini stepper, tiny option pills, full-width slim Add bar.
   ========================================================================== */
.productsListing { --bs-gutter-x: .8rem !important; --bs-gutter-y: 1rem !important; }
.pageProducts .productsListing { --bs-gutter-x: .8rem; }

/* Card shell */
.frontProducts .productDetailsContainer,
.pageProducts .productDetailsContainer {
  padding: 10px !important; border-radius: 16px !important;
}
.productDetailsContainer .product-top-section { padding: 0 !important; }
.productDetailsContainer .product-img-container { padding: 0 !important; }
.productDetailsContainer .product-img-container .img-thumbnail,
.productDetailsContainer .product-img-container img.img-thumbnail {
  padding: 0 !important; border: none !important; border-radius: 0 !important; background: transparent !important;
}
.productDetailsContainer .product-img-container img { object-fit: cover !important; }

/* Wishlist heart : small frosted circle, top-right */
.productDetailsContainer .favourite {
  position: absolute !important; left: auto !important; right: 8px !important; top: 8px !important;
  width: 30px !important; height: 30px !important; padding: 0 !important; margin: 0 !important;
  background: rgba(255,255,255,.92) !important; backdrop-filter: blur(6px);
  border: 1px solid var(--ent-line) !important; border-radius: 50% !important;
  box-shadow: var(--ent-shadow-sm) !important;
}
.productDetailsContainer .favourite .fa { font-size: 13px !important; color: var(--ent-olive-deep) !important; }
.productDetailsContainer .favourite:hover { transform: scale(1.1); }

/* Title : compact two-line clamp, fixed height for row alignment */
.productDetailsContainer .product-title { padding: 8px 2px 0 !important; }
.productDetailsContainer .product-title .product-details {
  font-size: 12.5px !important; font-weight: 600 !important; line-height: 1.4 !important;
  min-height: 35px; color: #23281a !important;
}

/* Price : bold current + small struck original */
.productDetailsContainer .product-price { font-size: 14.5px !important; }
.productDetailsContainer .old-price { font-size: 11px !important; }

/* Mini stepper : sits inline with price */
.productDetailsContainer .cartCounterBody {
  background: #f4f4ee !important; border: 1px solid var(--ent-line-soft) !important;
  border-radius: 999px !important; padding: 2px !important; gap: 2px;
}
.productDetailsContainer .cartCounterBody .btn {
  width: 22px !important; height: 22px !important; min-width: 22px !important;
  padding: 0 !important; border-radius: 50% !important; font-size: 12px !important;
  line-height: 1 !important; display: inline-flex; align-items: center; justify-content: center;
}
.productDetailsContainer .cartCounterBody .quantity-input {
  width: 34px !important; font-size: 12px !important; font-weight: 700 !important;
  padding: 1px 2px !important; height: 22px !important; background: transparent !important;
}

/* Option pills : tiny */
.productDetailsContainer .custom-variant-label,
.productDetailsContainer .attribute-option .form-check-label {
  font-size: 11px !important; padding: 4px 10px !important; border-radius: 8px !important;
}

/* Add bar : full-width slim ink button with label */
.productDetailsContainer .product-cart-btn .cartBtn {
  width: 100% !important; display: inline-flex !important; align-items: center !important; justify-content: center !important;
  gap: 8px; background: var(--ent-ink) !important; color: #fff !important;
  border: none !important; border-radius: 10px !important;
  padding: 8px 12px !important; font-size: 12px !important; font-weight: 800 !important;
  box-shadow: none !important; transition: .2s !important;
}
.productDetailsContainer .product-cart-btn .cartBtn .fa { font-size: 14px !important; }
.productDetailsContainer .product-cart-btn .cartBtn::after {
  content: "Add"; font-size: 12px; font-weight: 800; letter-spacing: .02em;
}
.productDetailsContainer .product-cart-btn .cartBtn:hover:not(:disabled) {
  background: var(--ent-olive-deep) !important; transform: translateY(-1px);
  box-shadow: 0 8px 18px rgba(66,72,24,.3) !important; color: #fff !important;
}
.productDetailsContainer .product-cart-btn .error-message { font-size: 11px !important; }
.productDetailsContainer .out-of-stock, .productDetailsContainer .bg-danger {
  border-radius: 8px !important; font-size: 11px !important; padding: 6px 10px !important;
}

/* ==========================================================================
   PART 15 — Select-options modal + decluttered variant cards v2.5
   ========================================================================== */
/* Cards with variants hide the interactive section inline; it lives in the modal.
   (No d-flex utility on these sections on purpose — its !important would
   override the inline display:none hide.) */
.productDetailsContainer.has-variants > .product-details-section,
.productDetailsContainer.has-variants .product-content { display: none !important; }
/* Visible (simple-product) sections lay out as flex columns */
.productDetailsContainer:not(.has-variants) > .product-details-section,
.productDetailsContainer:not(.has-variants) .product-content { display: flex; flex-direction: column; }
/* Static card footer for variant products */
.static-price-row, .select-options-btn, .static-oos { display: none; }
.productDetailsContainer.has-variants .static-price-row {
  display: flex; align-items: center; justify-content: space-between; gap: 8px; flex-wrap: wrap;
  padding: 10px 2px 0; overflow: hidden;
}
.static-price { font-size: 14px; font-weight: 800; color: var(--ent-ink); font-family: var(--ent-font-display); white-space: nowrap; }
.select-options-btn {
  display: inline-flex; align-items: center; justify-content: center; gap: 8px;
  background: #fff; border: 1.5px solid var(--ent-ink); color: var(--ent-ink);
  border-radius: 999px; padding: 8px 14px; font-size: 12px; font-weight: 800;
  transition: .2s; white-space: nowrap; flex: 1 1 auto; min-width: 0; max-width: 100%;
}
.select-options-btn:hover { background: var(--ent-ink); color: #fff; transform: translateY(-1px); box-shadow: var(--ent-shadow-md); }
.productDetailsContainer.is-oos .static-price-row { display: none; }
.productDetailsContainer.is-oos .static-oos {
  display: block; margin-top: 10px; text-align: center;
  background: #fdecec; border: 1px solid #f3c2c7; color: #b3261e;
  font-size: 12px; font-weight: 800; border-radius: 10px; padding: 9px;
}
/* Host card while it stages the open modal: a fixed-position shell is trapped
   (re-centered/clipped) by any ancestor with transform/filter/perspective, so
   neutralize all of them — incl. the :hover lift — until the modal closes. */
.productDetailsContainer.ent-host-open {
  transform: none !important; filter: none !important;
  perspective: none !important; will-change: auto !important;
  overflow: visible !important;
}
body.ent-modal-open .productDetailsContainer { transform: none !important; }
/* Modal shell: native <dialog> rendered via showModal() in the TOP LAYER,
   so no ancestor transform/filter/overflow can trap or clip it. The element
   stays in the card's DOM (keeps closest() lookups working); only its
   rendering escapes. UA dialog styles are fully reset below. */
.ent-options-modal {
  position: fixed; inset: 0; z-index: 1000; display: none;
  margin: 0; padding: 0; border: none; background: transparent;
  width: 100vw; height: 100vh; height: 100dvh;
  max-width: none; max-height: none;
}
.ent-options-modal.open { display: block; }
.ent-options-modal::backdrop { background: transparent; }
.ent-options-scrim { position: absolute; inset: 0; background: rgba(16,20,12,.55); backdrop-filter: blur(4px); }
.ent-options-modal.open .ent-options-scrim { animation: entScrimIn .25s ease both; }
.ent-options-modal.closing .ent-options-scrim { animation: entScrimOut .16s ease-in both; }
.ent-options-card {
  position: absolute; left: 50%; top: 50%; transform: translate(-50%, -50%);
  width: min(560px, calc(100vw - 32px)); max-height: calc(100vh - 60px);
  display: flex; flex-direction: column; overflow: hidden;
  background: #fff; border-radius: 22px; box-shadow: var(--ent-shadow-lg);
  will-change: transform, opacity;
}
.ent-options-modal.open .ent-options-card { animation: entOptionsIn .36s cubic-bezier(.22,1.15,.36,1) both; }
.ent-options-modal.closing .ent-options-card { animation: entOptionsOut .16s ease-in both; }
@keyframes entScrimIn { from { opacity: 0; } to { opacity: 1; } }
@keyframes entScrimOut { from { opacity: 1; } to { opacity: 0; } }
@keyframes entOptionsIn {
  from { opacity: 0; transform: translate(-50%, -47%) scale(.95); }
  to { opacity: 1; transform: translate(-50%, -50%) scale(1); }
}
@keyframes entOptionsOut {
  from { opacity: 1; transform: translate(-50%, -50%) scale(1); }
  to { opacity: 0; transform: translate(-50%, -48%) scale(.96); }
}
@media (prefers-reduced-motion: reduce) {
  .ent-options-modal.open .ent-options-scrim,
  .ent-options-modal.closing .ent-options-scrim,
  .ent-options-modal.open .ent-options-card,
  .ent-options-modal.closing .ent-options-card { animation: none; }
}
.ent-options-head {
  display: flex; align-items: center; gap: 14px;
  padding: 18px 20px 14px; border-bottom: 1px solid var(--ent-line-soft);
}
.ent-options-thumb {
  width: 60px; height: 68px; border-radius: 12px; overflow: hidden; flex-shrink: 0;
  background: #f4f4ee; border: 1px solid var(--ent-line-soft);
  display: flex; align-items: center; justify-content: center; font-size: 26px;
}
.ent-options-thumb img { width: 100%; height: 100%; object-fit: cover; }
.ent-options-headtext { flex: 1; min-width: 0; }
.ent-options-title {
  font-family: var(--ent-font-display); font-weight: 800; font-size: 16px; line-height: 1.3;
  display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden;
}
.ent-options-sub { font-size: 12px; color: var(--ent-muted); font-weight: 600; margin-top: 2px; }
.ent-options-x {
  width: 34px; height: 34px; border-radius: 50%; flex-shrink: 0;
  border: 1px solid var(--ent-line); background: #fff; font-size: 20px; line-height: 1;
  color: var(--ent-ink); transition: .18s;
}
.ent-options-x:hover { background: #b3261e; border-color: #b3261e; color: #fff; }
.ent-options-body { padding: 18px 20px 22px; overflow-y: auto; }
/* Details section always visible inside the open shell (scoped to the modal
   body so it outranks the inline hide rule above) */
.ent-options-modal.open .ent-options-body > .product-details-section,
.ent-options-modal.open .ent-options-body > .product-content { display: flex !important; flex-direction: column; }
.ent-options-modal.open .col-lg-8 > .product-details-section { display: block !important; }
/* Wishlist cards: interactive section hidden inline (nested, so needs descendant rule) */
.productDetailsContainer.has-variants .col-lg-8 > .product-details-section { display: none; }
.productDetailsContainer.has-variants .col-lg-8 { display: flex; flex-direction: column; gap: 4px; }
.ent-options-modal.open .price-section { margin-top: 0 !important; }
.ent-options-modal.open .cart-section .cartBtn.add-cart,
.ent-options-modal.open .cart-section .cartBtn.add-to-cart {
  width: 100% !important; border-radius: 12px !important; padding: 12px !important;
  font-size: 13.5px !important; font-weight: 800 !important;
}
body.ent-modal-open { overflow: hidden; }
@media (max-width: 560px) {
  .ent-options-card {
    left: 0; right: 0; top: auto; bottom: 0; transform: none;
    width: 100%; max-height: 88vh; border-radius: 22px 22px 0 0;
  }
  .ent-options-modal.open .ent-options-card { animation: entSheetIn .32s cubic-bezier(.22,1.1,.36,1) both; }
  .ent-options-modal.closing .ent-options-card { animation: entSheetOut .16s ease-in both; }
}
@keyframes entSheetIn {
  from { opacity: 0; transform: translateY(48px); }
  to { opacity: 1; transform: none; }
}
@keyframes entSheetOut {
  from { opacity: 1; transform: none; }
  to { opacity: 0; transform: translateY(32px); }
}

/* ==========================================================================
   PART 14 — Availability states: per-item marks + inline notes v2.4
   (replaces full-row pink washes and stacked warning banners)
   ========================================================================== */
/* ---- Modern order-summary rows ---- */
.checkout #cartItems { gap: 10px; }
.checkout #cartItems li {
  display: grid; grid-template-columns: 56px minmax(0, 1fr) auto; gap: 12px; align-items: start;
}
.checkout #cartItems li > .ent-stock-note { grid-column: 1 / -1; margin-top: 2px; }
.ent-sum-thumb {
  width: 56px; height: 64px; border-radius: 11px; overflow: hidden; flex-shrink: 0;
  background: #f4f4ee; border: 1px solid var(--ent-line-soft);
  display: flex; align-items: center; justify-content: center;
}
.ent-sum-thumb img { width: 100%; height: 100%; object-fit: cover; }
.ent-sum-noimg { font-size: 22px; opacity: .55; }
.checkout #cartItems .product-info { min-width: 0; }
.checkout #cartItems .product-info h5 {
  font-size: 13px !important; font-weight: 700 !important; line-height: 1.4;
  display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden;
}
.ent-sum-meta { display: flex; flex-wrap: wrap; gap: 6px; align-items: center; margin-top: 6px; }
.ent-qty-pill {
  font-size: 11px; font-weight: 800; color: var(--ent-olive-deep);
  background: var(--ent-olive-soft); border: 1px solid #dfe2c6;
  border-radius: 999px; padding: 2px 10px; white-space: nowrap;
}
.ent-variant-text { font-size: 11.5px; color: var(--ent-muted); }
.ent-sum-side { display: flex; flex-direction: column; align-items: flex-end; gap: 2px; }
.ent-sum-total { font-size: 14.5px !important; white-space: nowrap; }
.ent-sum-unit { font-size: 11px; color: var(--ent-muted); white-space: nowrap; }
.checkout #cartItems .remove-item {
  margin-top: 6px; width: 26px; height: 26px; border-radius: 50%;
  border: 1px solid var(--ent-line); background: #fff; cursor: pointer;
  display: inline-flex; align-items: center; justify-content: center; transition: .18s;
}
.checkout #cartItems .remove-item:hover { background: #b3261e; border-color: #b3261e; }
.checkout #cartItems .remove-item:hover svg path { fill: #fff; }
#cartItems li.ent-oos, .itemBody.ent-oos {
  background: #fef2f2 !important;
  border: 1px solid #f3c2c7 !important;
  border-radius: 14px;
}
#cartItems li.ent-limited, .itemBody.ent-limited {
  background: #fffdf4 !important;
  border: 1px solid #eedfae !important;
  border-radius: 14px;
}
.ent-stock-note {
  display: flex; align-items: flex-start; gap: 8px;
  font-size: 12px; font-weight: 600; line-height: 1.5;
  border-radius: 10px; padding: 8px 12px; margin-top: 10px;
}
.ent-stock-note .ent-ico { flex-shrink: 0; font-size: 14px; line-height: 1.4; }
.ent-stock-note.oos { background: #fdecec; border: 1px solid #f3c2c7; color: #b3261e; }
.ent-stock-note.oos b { color: #b3261e; }
.ent-stock-note.limited { background: #fef6e0; border: 1px solid #eedfae; color: #7c5200; }
.ent-stock-note.limited b { color: #7c5200; }
/* Legacy stacked warning containers are retired (single toast replaces them) */
.availability-warnings, .checkout-availability-banner, .cart-availability-banner { display: none !important; }
/* Cart table rows: subtle tints driven by ent-oos / ent-limited */
.product-cart tbody tr.ent-oos { background: #fef2f2 !important; }
.product-cart tbody tr.ent-oos:hover { background: #fdecec !important; }
.product-cart tbody tr.ent-limited { background: #fffdf4 !important; }
.product-cart tbody tr.ent-limited:hover { background: #fef6e0 !important; }
.product-cart .wrapper-content .ent-stock-note { margin-top: 8px; max-width: 420px; }

/* ---- Modern decluttered cart rows: borderless cells, rich product cell ---- */
.product-cart tbody td { padding: 18px 18px; }
.product-cart tbody .table-wrapper-center {
  background: transparent !important; border: none !important; padding: 0 !important;
  box-shadow: none !important; border-radius: 0 !important;
}
.product-cart .wrapper { gap: 16px; align-items: center; }
.product-cart tbody img {
  width: 64px; height: 72px; min-width: 64px; border-radius: 12px;
}
.product-cart .wrapper-content .heading {
  font-size: 14px !important; font-weight: 700 !important; line-height: 1.4;
}
.product-cart .wrapper-content small.fs-6, .product-cart .wrapper-content .fs-6 {
  font-size: 11.5px !important; color: var(--ent-muted); display: block; margin-top: 3px;
}
.product-cart tbody .table-wrapper-center .heading {
  font-size: 15px !important; white-space: nowrap;
}
.product-cart .wrapper-total .table-wrapper-center .heading { font-size: 16px !important; }
/* Stepper keeps its own pill track */
.product-cart .table-wrapper-center .quantity {
  background: var(--ent-bg); border: 1px solid var(--ent-line);
  border-radius: 999px; padding: 4px; gap: 4px;
}
/* ---- Always-visible stock chips ---- */
.ent-stock-chip {
  display: inline-flex; align-items: center; gap: 6px; margin-top: 8px;
  font-size: 11px; font-weight: 800; letter-spacing: .02em; white-space: nowrap;
  border-radius: 999px; padding: 4px 11px; border: 1px solid transparent;
}
.ent-stock-chip .ent-dot { width: 7px; height: 7px; border-radius: 50%; flex-shrink: 0; }
.ent-stock-chip.checking { background: var(--ent-bg); border-color: var(--ent-line-soft); color: var(--ent-muted); }
.ent-stock-chip.checking .ent-dot { background: #b9bca8; animation: entDotPulse 1.2s ease-in-out infinite; }
.ent-stock-chip.in { background: #e7f6ec; border-color: #bfe6cc; color: #15803d; }
.ent-stock-chip.in .ent-dot { background: #16a34a; }
.ent-stock-chip.low { background: #fef6e0; border-color: #eedfae; color: #8a5a00; }
.ent-stock-chip.low .ent-dot { background: #d97706; }
.ent-stock-chip.out { background: #fdecec; border-color: #f3c2c7; color: #b3261e; }
.ent-stock-chip.out .ent-dot { background: #dc2626; }
@keyframes entDotPulse { 0%, 100% { opacity: .35; } 50% { opacity: 1; } }

/* ==========================================================================
   PART 13 — Online gateway options + return overlay v2.3
   ========================================================================== */
.payment-option label { gap: 10px; }
.gw-text { display: flex; flex-direction: column; line-height: 1.35; flex: 1; }
.gw-text b { font-size: 13.5px; color: var(--ent-ink); }
.gw-text small { font-size: 11.5px; color: var(--ent-muted); font-weight: 500; }
.gw-badge {
  flex-shrink: 0; font-size: 10px; font-weight: 800; letter-spacing: .08em;
  background: var(--ent-olive-soft); border: 1px solid #dfe2c6; color: var(--ent-olive-deep);
  border-radius: 999px; padding: 4px 10px;
}
.pay-currency-row {
  display: flex; align-items: center; gap: 8px; flex-wrap: wrap;
  margin-top: 12px; padding-top: 12px; border-top: 1px dashed var(--ent-line);
}
.pay-currency-label { font-size: 12px; font-weight: 800; text-transform: uppercase; letter-spacing: .06em; color: var(--ent-muted); }
.pay-currency-pill {
  border: 1px solid var(--ent-line); background: #fff; color: var(--ent-ink);
  border-radius: 999px; padding: 7px 16px; font-size: 12px; font-weight: 800; transition: .18s;
}
.pay-currency-pill:hover { border-color: var(--ent-olive); }
.pay-currency-pill.active { background: var(--ent-ink); border-color: var(--ent-ink); color: #fff; }
.pay-currency-hint { font-size: 11.5px; color: var(--ent-muted); font-weight: 600; }
#gatewayReturnOverlay {
  position: fixed; inset: 0; z-index: 2000; display: none;
  align-items: center; justify-content: center; padding: 20px;
  background: rgba(16,20,12,.6); backdrop-filter: blur(5px);
}
.gateway-return-card {
  background: #fff; border-radius: 20px; padding: 36px 44px; text-align: center;
  box-shadow: var(--ent-shadow-lg); max-width: 380px;
}
.gateway-return-card p { margin: 16px 0 0; font-size: 14px; font-weight: 700; color: var(--ent-ink); }
.gateway-spinner {
  width: 44px; height: 44px; margin: 0 auto; border-radius: 50%;
  border: 4px solid var(--ent-line); border-top-color: var(--ent-olive);
  animation: entSpin .8s linear infinite;
}

/* ==========================================================================
   PART 12 — Global modal layer: always on top, scrimmed, sleek v2.1
   ========================================================================== */
/* Any legacy modal-wrapper becomes a top-layer overlay when active */
.modal-wrapper.active {
  display: flex !important; position: fixed !important; inset: 0 !important;
  z-index: 1000 !important; align-items: center !important; justify-content: center !important;
  overflow-y: auto; padding: 22px 14px;
  animation: entModalIn .22s ease;
}
.modal-wrapper.active > .anywhere-away {
  position: fixed !important; inset: 0 !important;
  background: rgba(16,20,12,.55) !important;
  backdrop-filter: blur(4px); -webkit-backdrop-filter: blur(4px);
}
.modal-wrapper.active > .modal-main,
.modal-wrapper.active .login-section.account-section.modal-main {
  position: relative !important; z-index: 1;
  width: min(620px, 100%) !important; max-height: calc(100vh - 44px); overflow-y: auto;
  background: #fff !important; border: 1px solid var(--ent-line) !important;
  border-radius: 20px !important; box-shadow: var(--ent-shadow-lg) !important;
  padding: clamp(20px, 3vw, 30px) !important; margin: auto;
  flex-direction: column !important; align-items: stretch !important; justify-content: flex-start !important;
}
.modal-wrapper.active .modal-main .review-form { background: transparent !important; border: none !important; padding: 0 !important; box-shadow: none !important; }
.modal-wrapper.active .modal-main .review-form-name { margin-bottom: 13px; }
.modal-wrapper.active .modal-main .form-label { font-size: 11.5px; font-weight: 800; text-transform: uppercase; letter-spacing: .06em; color: #4b5240; }
.modal-wrapper.active .modal-main .form-control, .modal-wrapper.active .modal-main .form-select { padding: 12px 14px !important; font-size: 13.5px !important; }
.modal-wrapper.active .modal-main .shop-btn { padding: 12px 26px !important; font-size: 13.5px !important; }
.modal-wrapper.active .modal-main .close-btn.closeModal {
  display: inline-flex !important; align-items: center; justify-content: center;
  width: auto !important; height: auto !important;
  border-radius: 999px !important; border: 1px solid var(--ent-line); background: #fff;
  padding: 12px 26px !important; font-weight: 800; font-size: 13px; cursor: pointer;
}
.modal-wrapper.active .modal-main .close-btn.closeModal:hover { background: var(--ent-ink); color: #fff; border-color: var(--ent-ink); }
@keyframes entModalIn { from { opacity: 0; transform: translateY(10px) scale(.985); } to { opacity: 1; transform: none; } }
/* Every modal dismiss button is a compact pill — covers .modal-wrapper,
   .primaryModal and .default-modal alike so none can balloon */
.primaryModal .close-btn.closeModal,
.default-modal .close-btn.closeModal,
.modal-wrapper .close-btn.closeModal {
  display: inline-flex !important; align-items: center; justify-content: center; align-self: center;
  width: auto !important; height: auto !important; min-height: 0 !important;
  border-radius: 999px !important; border: 1px solid var(--ent-line) !important;
  background: #fff !important; padding: 12px 26px !important;
  font-weight: 800 !important; font-size: 13px !important; line-height: 1.2 !important;
  color: var(--ent-ink) !important; cursor: pointer; white-space: nowrap;
}
.primaryModal .close-btn.closeModal:hover,
.default-modal .close-btn.closeModal:hover,
.modal-wrapper .close-btn.closeModal:hover {
  background: var(--ent-ink) !important; color: #fff !important; border-color: var(--ent-ink) !important;
}
@media (prefers-reduced-motion: reduce) {
  .modal-wrapper.active { animation: none; }
}
/* Checkout custom modals sit on the same layer */
.primaryModal:not(.d-none), .default-modal:not(.d-none) { z-index: 1000 !important; }

/* ==========================================================================
   PART 11 — My Account: sticky sidebar nav, order cards, forms v2.0
   ========================================================================== */
.ent-account-top { padding-bottom: 0 !important; }
.ent-account-body { padding-top: 12px !important; }
.ent-account-body .user-dashboard {
  display: grid !important; grid-template-columns: 264px minmax(0, 1fr);
  gap: 20px; align-items: start;
}
.ent-account-body .nav-content { min-width: 0; }

/* Sidebar card */
.ent-account-side .nav-pills {
  background: #fff; border: 1px solid var(--ent-line); border-radius: 18px;
  box-shadow: var(--ent-shadow-sm); padding: 10px; margin: 0 !important;
  display: flex; flex-direction: column; gap: 2px;
  position: sticky; top: 150px;
}
.ent-account-side .nav-link {
  display: flex !important; align-items: center; gap: 12px; width: 100%;
  padding: 10px 12px !important; border-radius: 12px !important;
  color: #3c4232 !important; background: transparent !important; border: none !important;
  font-size: 13.5px; font-weight: 700; text-align: left; transition: .18s;
}
.ent-account-side .nav-link > span:first-child {
  width: 34px; height: 34px; border-radius: 10px; flex-shrink: 0;
  background: var(--ent-bg); border: 1px solid var(--ent-line-soft);
  display: inline-flex; align-items: center; justify-content: center;
}
.ent-account-side .nav-link > span:first-child svg { width: 16px; height: 16px; fill: var(--ent-olive-deep); }
.ent-account-side .nav-link .text { flex: 1; }
.ent-account-side .nav-link:hover { background: var(--ent-olive-soft) !important; color: var(--ent-olive-deep) !important; }
.ent-account-side .nav-link.active {
  background: var(--ent-ink) !important; color: #fff !important;
  box-shadow: 0 8px 18px rgba(16,20,12,.22);
}
.ent-account-side .nav-link.active > span:first-child { background: rgba(255,255,255,.14); border-color: transparent; }
.ent-account-side .nav-link.active > span:first-child svg { fill: #fff; }
.ent-account-side .nav-link a#logout {
  display: flex; align-items: center; gap: 12px; width: 100%;
  color: inherit !important; text-decoration: none !important;
}
.ent-account-side div.nav-link:hover a#logout { color: var(--ent-olive-deep) !important; }

/* Content panes */
.ent-account-body .tab-pane .cart-section,
.ent-account-body .seller-application-section,
.ent-account-body .address-section {
  background: #fff; border: 1px solid var(--ent-line); border-radius: 20px;
  box-shadow: var(--ent-shadow-sm); padding: clamp(16px, 2.6vw, 26px);
}
.ent-account-body .msgOverlay {
  border-radius: 12px; font-size: 13px; font-weight: 600;
  background: var(--ent-olive-soft); border: 1px solid #dfe2c6;
  padding: 10px 14px; margin-bottom: 14px;
}

/* Orders: filter row */
.ent-account-body #v-pills-order .mb-3.col-lg-3 { max-width: 280px; margin-bottom: 16px !important; }
.ent-account-body #statusFilter { border-radius: 12px !important; font-size: 13px; font-weight: 600; padding: 10px 14px !important; }

/* Order cards */
.ent-account-body .order-row { margin-bottom: 14px !important; }
.ent-account-body .order-card {
  border: 1px solid var(--ent-line) !important; border-radius: 16px !important;
  padding: 18px !important; background: #fff; box-shadow: var(--ent-shadow-sm);
  transition: box-shadow .2s;
}
.ent-account-body .order-card:hover { box-shadow: var(--ent-shadow-md); }
.ent-account-body .order-card .row { font-size: 13px !important; }
.ent-account-body .order-card .col-lg-6 > div { padding: 2.5px 0; color: #3c4232; }
.ent-account-body .order-card strong { color: var(--ent-ink); font-weight: 700; }
.ent-account-body .order-card .view-address-details { font-weight: 700; }
/* Status pills (scoped, beats bootstrap text colors) */
#ordersContainer .text-warning, #ordersContainer .text-primary,
#ordersContainer .text-success, #ordersContainer .text-danger, #ordersContainer .text-info {
  display: inline-block; padding: 3px 12px; border-radius: 999px;
  font-size: 11.5px !important; font-weight: 800 !important;
}
#ordersContainer .text-warning { background: #fef3e2 !important; color: #b45309 !important; }
#ordersContainer .text-primary, #ordersContainer .text-info { background: #e8effd !important; color: #1d4ed8 !important; }
#ordersContainer .text-success { background: #e7f6ec !important; color: #15803d !important; }
#ordersContainer .text-danger { background: #fdecec !important; color: #b3261e !important; }
/* Order items */
.ent-account-body .order-items .row {
  align-items: center; background: var(--ent-bg); border: 1px solid var(--ent-line-soft);
  border-radius: 12px; padding: 10px; margin-left: 0 !important; margin-right: 0 !important;
}
.ent-account-body .order-items img.img-thumbnail { padding: 0 !important; border: 1px solid var(--ent-line-soft) !important; border-radius: 10px !important; background: #fff; }
.ent-account-body .order-items strong.fs-4 { font-size: 13.5px !important; }
.ent-account-body .order-items p.fs-5, .ent-account-body .order-items .fs-5 { font-size: 12.5px !important; margin-bottom: 2px !important; color: #4b5240; }
.ent-account-body .paginate .btn { border-radius: 10px; font-size: 13px; font-weight: 700; }
.ent-account-body .addr-paginate .btn { border-radius: 10px; font-size: 13px; font-weight: 700; }
.ent-account-body #addrPageIndicator { font-size: 13px; font-weight: 700; color: var(--ent-muted); white-space: nowrap; }
.ent-account-body .addr-paginate .btn:disabled { opacity: .45; cursor: not-allowed; }

/* Profile + password forms */
.ent-account-body .seller-application-section .review-form,
.ent-account-body #v-pills-password .form-section {
  background: transparent !important; border: none !important; padding: 0 !important; box-shadow: none !important;
}
.ent-account-body .account-inner-form { display: grid; grid-template-columns: 1fr 1fr; gap: 0 14px; }
.ent-account-body .review-form-name { margin-bottom: 13px; }
.ent-account-body .form-label { font-size: 11.5px; font-weight: 800; text-transform: uppercase; letter-spacing: .06em; color: #4b5240; }
.ent-account-body .form-control, .ent-account-body .form-select { padding: 12px 14px !important; font-size: 13.5px !important; }
.ent-account-body .submit-btn .shop-btn, .ent-account-body .form-btn .shop-btn { padding: 12px 28px !important; font-size: 13.5px !important; }
.ent-account-body #v-pills-password .form-item { margin-bottom: 13px; max-width: 420px; }
.ent-account-body #v-pills-password .form-btn { margin-top: 6px; }

/* Wishlist cards */
.ent-account-body .wishlist { background: transparent !important; }
.ent-account-body .wishlist-section { background: transparent !important; border: none !important; padding: 0 !important; }
.ent-account-body .wishlistDetailsContainer {
  background: #fff; border: 1px solid var(--ent-line); border-radius: 16px;
  box-shadow: var(--ent-shadow-sm); padding: 12px; margin-bottom: 12px; position: relative;
}
.ent-account-body .wishlistDetailsContainer img.img-fluid { border-radius: 10px; border: 1px solid var(--ent-line-soft); background: #f4f4ee; }
.ent-account-body .wishlistDetailsContainer .product-details { font-size: 13.5px !important; font-weight: 700 !important; color: var(--ent-ink) !important; }
.ent-account-body .wishlistDetailsContainer .product-price { font-size: 15px !important; font-weight: 800 !important; color: var(--ent-olive-deep) !important; }
.ent-account-body .wishlistDetailsContainer .trashed {
  position: absolute !important; top: 10px !important; left: auto !important; right: 10px !important;
  width: 30px !important; height: 30px !important; font-size: 13px !important;
  background: rgba(255,255,255,.94) !important; border: 1px solid var(--ent-line); box-shadow: var(--ent-shadow-sm);
}
.ent-account-body .wishlistDetailsContainer .add-wish-to-cart {
  background: var(--ent-ink) !important; color: #fff !important; border: none !important;
  border-radius: 10px !important; padding: 9px 20px !important; font-size: 12.5px !important; font-weight: 800 !important;
}
.ent-account-body .wishlistDetailsContainer .cartCounterBody { background: var(--ent-bg) !important; border: 1px solid var(--ent-line) !important; border-radius: 999px !important; padding: 3px 6px !important; }

/* Wishlist enterprise grid (v2.6): one self-contained card per product.
   Kills the old nested col-lg-4/col-lg-8 squeeze that caused overlap. */
.ent-account-body .wishlist-container .ent-wish-grid {
  display: grid; grid-template-columns: repeat(auto-fill, minmax(180px, 1fr));
  gap: 14px; align-items: stretch;
}
.ent-account-body .wishlist-container .ent-wish-empty {
  grid-column: 1 / -1; text-align: center; background: #fff;
  border: 1px dashed var(--ent-line); border-radius: 18px; padding: 44px 20px;
}
.ent-wish-empty-icon {
  width: 54px; height: 54px; margin: 0 auto 10px; border-radius: 50%;
  display: flex; align-items: center; justify-content: center; font-size: 24px;
  background: var(--ent-bg); border: 1px solid var(--ent-line-soft); color: var(--ent-olive-deep);
}
.ent-account-body .wishlist-container .ent-wish-card {
  display: flex; flex-direction: column; margin-bottom: 0 !important; padding: 0 !important;
  overflow: hidden; transition: transform .18s ease, box-shadow .18s ease;
}
.ent-account-body .wishlist-container .ent-wish-card:hover {
  transform: translateY(-3px); box-shadow: var(--ent-shadow-md);
}
.ent-wish-media {
  position: relative; background: #f4f4ee; aspect-ratio: 1 / 1; overflow: hidden;
  border-bottom: 1px solid var(--ent-line-soft);
}
.ent-wish-media a { display: block; width: 100%; height: 100%; }
.ent-wish-media img.img-fluid {
  width: 100% !important; height: 100% !important; object-fit: cover;
  border: none !important; border-radius: 0 !important;
}
.ent-wish-ph {
  display: flex; align-items: center; justify-content: center;
  width: 100%; height: 100%; font-size: 44px;
}
.ent-account-body .wishlist-container .ent-wish-card .trashed {
  position: absolute !important; top: 10px !important; right: 10px !important; left: auto !important;
  width: 32px !important; height: 32px !important; border-radius: 50% !important;
  display: flex !important; align-items: center !important; justify-content: center !important;
  background: rgba(255,255,255,.95) !important; border: 1px solid var(--ent-line) !important;
  color: #b3261e !important; font-size: 13px !important; cursor: pointer;
  transition: .18s; z-index: 2;
}
.ent-account-body .wishlist-container .ent-wish-card .trashed:hover {
  background: #b3261e !important; border-color: #b3261e !important; color: #fff !important;
}
.ent-wish-badge {
  position: absolute; left: 10px; bottom: 10px; z-index: 2;
  font-size: 10.5px; font-weight: 800; letter-spacing: .04em; text-transform: uppercase;
  padding: 5px 11px; border-radius: 999px;
}
.ent-wish-badge.is-oos { background: #b3261e; color: #fff; }
.ent-wish-badge.is-opts { background: rgba(16,20,12,.85); color: #fff; backdrop-filter: blur(3px); }
.ent-wish-body { display: flex; flex-direction: column; gap: 7px; padding: 11px 12px 13px; flex: 1; }
.ent-account-body .wishlist-container .ent-wish-title {
  display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden;
  min-height: 34px; line-height: 1.32;
  font-size: 12.5px !important; font-weight: 700 !important; color: var(--ent-ink) !important;
  text-decoration: none;
}
.ent-account-body .wishlist-container .ent-wish-title:hover { color: var(--ent-olive-deep) !important; }
.ent-account-body .wishlist-container .static-price-row {
  display: flex; align-items: center; justify-content: space-between; gap: 8px; flex-wrap: wrap;
  padding: 8px 10px; margin: 2px 0 0;
  background: var(--ent-bg); border: 1px solid var(--ent-line-soft); border-radius: 12px;
  overflow: hidden;
}
.ent-account-body .wishlist-container .static-price { font-size: 12.5px; font-weight: 800; color: var(--ent-ink); white-space: nowrap; }
.ent-account-body .wishlist-container .select-options-btn {
  flex: 1 1 auto; justify-content: center; min-width: 0; max-width: 100%;
  padding: 6px 10px; font-size: 11px; white-space: nowrap;
}
.ent-account-body .wishlist-container .static-oos {
  margin-top: 2px; text-align: center;
  background: #fdecec; border: 1px solid #f3c2c7; color: #b3261e;
  font-size: 12px; font-weight: 800; border-radius: 10px; padding: 9px;
}
.ent-account-body .wishlist-container .product-details-section { padding-top: 2px; }
.ent-account-body .wishlist-container .ent-modal-pricerow { margin-bottom: 10px; }
.ent-account-body .wishlist-container .ent-modal-pricerow .product-price {
  font-size: 19px !important; font-weight: 800 !important; color: var(--ent-olive-deep) !important;
  font-family: var(--ent-font-display);
}
/* Inline simple-product buy row: qty + add-to-cart side by side, wraps cleanly */
.ent-account-body .wishlist-container .ent-wish-buyrow {
  display: flex; align-items: center; gap: 10px; flex-wrap: wrap; margin-top: 10px;
}
.ent-account-body .wishlist-container .ent-wish-buyrow .cartCounterBody { flex-shrink: 0; }
.ent-account-body .wishlist-container .ent-wish-buyrow .add-wish-to-cart { flex: 1 1 auto; white-space: nowrap; }
.ent-account-body .wishlist-container .ent-wish-buyrow .add-wish-to-cart:disabled { opacity: .45; cursor: not-allowed; }
.ent-account-body .wishlist-container .ent-oos-note {
  margin-top: 10px; text-align: center; font-weight: 800; font-size: 12.5px;
  background: #fdecec; border: 1px solid #f3c2c7; color: #b3261e; border-radius: 10px; padding: 10px;
}
.ent-account-body .wishlist-container .ent-wish-variants { display: flex; flex-direction: column; gap: 10px; margin-bottom: 4px; }
/* Variant cards: hide interactive section inline at any nesting depth */
.productDetailsContainer.has-variants .ent-wish-body > .product-details-section { display: none; }
@media (max-width: 560px) {
  .ent-account-body .wishlist-container .ent-wish-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
  .ent-account-body .wishlist-container .ent-wish-body { padding: 10px 10px 12px; }
}

/* Address cards */
.ent-account-body .address-section { background: transparent !important; border: none !important; padding: 0 !important; box-shadow: none !important; }
.ent-address-head {
  display: flex; align-items: center; justify-content: space-between; gap: 12px; flex-wrap: wrap;
  margin-bottom: 14px;
}
.ent-address-head h5 { font-size: 15px !important; font-weight: 800 !important; margin: 0 !important; color: var(--ent-ink); }
.ent-add-address-btn { padding: 10px 22px !important; font-size: 12.5px !important; white-space: nowrap; }
.ent-account-body .shipping-address { margin-bottom: 14px; }
.ent-account-body .shipping-address .seller-info {
  background: #fff; border: 1px solid var(--ent-line); border-radius: 16px;
  box-shadow: var(--ent-shadow-sm); padding: 18px; height: 100%;
}
.ent-account-body .shipping-address .seller-info h5 { font-size: 15px !important; font-weight: 800 !important; margin-bottom: 8px !important; }
.ent-account-body .shipping-address .seller-info p { font-size: 13px !important; color: #4b5240 !important; margin-bottom: 4px !important; }
.ent-account-body .shipping-address .edit-btn, .ent-account-body .shipping-address .delete-btn {
  border-radius: 999px; font-size: 12.5px; font-weight: 800; padding: 8px 18px;
  border: 1px solid var(--ent-line); background: #fff; transition: .18s;
}
.ent-account-body .shipping-address .edit-btn:hover { border-color: var(--ent-ink); background: var(--ent-ink); color: #fff; }
.ent-account-body .shipping-address .delete-btn { color: #b3261e !important; border-color: #f0c9c9; background: #fef6f6; }
.ent-account-body .shipping-address .delete-btn:hover { background: #b3261e; border-color: #b3261e; color: #fff !important; }
.ent-account-body .shipping-address hr { display: none; }
.ent-account-body .modal-wrapper .modal-main { border-radius: 20px !important; border: 1px solid var(--ent-line) !important; box-shadow: var(--ent-shadow-lg) !important; }

/* Mobile account menu toggle button (desktop: hidden) */
.ent-acct-menu-btn {
  display: none; align-items: center; gap: 8px;
  background: var(--ent-ink); color: #fff; border: 1px solid var(--ent-ink);
  border-radius: 999px; padding: 10px 20px; font-size: 13px; font-weight: 800;
  margin-bottom: 14px;
}
.ent-acct-menu-btn:hover { background: var(--ent-olive-deep); border-color: var(--ent-olive-deep); }
.ent-acct-scrim { display: none; }
/* Mobile: sidebar hidden until toggled, then overlays content as a drawer */
@media (max-width: 991.98px) {
  .ent-account-body .user-dashboard { grid-template-columns: 1fr; }
  .ent-acct-menu-btn { display: inline-flex; }
  .ent-account-side { display: none; }
  body.ent-acct-open { overflow: hidden; }
  body.ent-acct-open .ent-account-side { display: block; }
  body.ent-acct-open .ent-account-side .nav-pills {
    position: fixed !important; top: 0; left: 0; bottom: 0;
    width: min(320px, 86vw); z-index: 700; overflow-y: auto;
    border-radius: 0 20px 20px 0; margin: 0; padding: 14px 10px;
    box-shadow: var(--ent-shadow-lg);
    animation: entDrawerIn .25s ease;
  }
  /* Airtight drawer stacking: ID specificity beats every legacy nav rule */
  body.ent-acct-open .ent-account-side .nav-pills#v-pills-tab {
    display: flex !important; flex-direction: column !important;
    align-items: stretch !important; justify-content: flex-start !important;
    align-content: flex-start !important; flex-wrap: nowrap !important;
    gap: 4px !important; width: auto !important; height: auto !important;
    border-right: none !important;
  }
  body.ent-acct-open .ent-account-side .nav-pills#v-pills-tab > * {
    margin-top: 0 !important; margin-bottom: 0 !important; flex-shrink: 0 !important;
  }
  body.ent-acct-open .ent-acct-scrim {
    display: block; position: fixed; inset: 0; z-index: 650;
    background: rgba(16,20,12,.5); backdrop-filter: blur(3px);
  }
  .ent-account-side .nav-link { width: 100%; flex-shrink: 0; white-space: nowrap; }
  .ent-account-side .nav-link > span:first-child { width: 30px; height: 30px; }
  .ent-account-body .account-inner-form { grid-template-columns: 1fr; }
}

/* ==========================================================================
   PART 10 — Header mini-cart dropdown rebuild v1.9
   Fixes: off-screen bleed (fixed 30rem + left offset), 30rem dead
   item area, loose item layout.
   ========================================================================== */
.header-center .header-cart-items .header-cart .cart-submenu,
.header-cart .cart-submenu {
  width: min(360px, calc(100vw - 24px)) !important;
  left: auto !important; right: -12px !important; top: calc(100% + 12px) !important;
  border: 1px solid var(--ent-line) !important;
  border-top: 3px solid var(--ent-olive) !important;
  border-radius: 18px !important; box-shadow: var(--ent-shadow-lg) !important;
  overflow: hidden; padding: 0 !important; background: #fff !important;
  /* Whole panel never outgrows the viewport; footer stays reachable */
  max-height: min(560px, calc(100vh - 120px), calc(100dvh - 120px)) !important;
  display: flex !important; flex-direction: column !important;
}
.header-center .header-cart-items .header-cart .cart-submenu .cart-wrapper-item,
.header-cart .cart-submenu .cart-wrapper-item {
  height: auto !important; min-height: 0 !important; max-height: 300px !important;
  flex: 1 1 auto !important;
  overflow-y: auto !important; overscroll-behavior: contain;
  -webkit-overflow-scrolling: touch; touch-action: pan-y;
  scrollbar-gutter: stable;
  padding: 6px 16px !important; width: 100%;
}
.header-center .header-cart-items .header-cart .cart-submenu .cart-wrapper-item .wrapper {
  margin-top: 0 !important; padding: 10px 0; gap: 10px !important;
  align-items: center !important; justify-content: flex-start !important;
  border-bottom: 1px solid var(--ent-line-soft);
}
.header-center .header-cart-items .header-cart .cart-submenu .cart-wrapper-item .wrapper:last-child { border-bottom: none; }
.header-center .header-cart-items .header-cart .cart-submenu .cart-wrapper-item .wrapper .wrapper-item {
  gap: 12px !important; flex: 1; min-width: 0; justify-content: flex-start !important;
}
.header-center .header-cart-items .header-cart .cart-submenu .cart-wrapper-item .wrapper .wrapper-item .wrapper-img {
  width: 54px !important; height: 62px !important; flex-shrink: 0; overflow: hidden;
  background: #f4f4ee !important; border: 1px solid var(--ent-line-soft); border-radius: 10px !important;
}
.header-center .header-cart-items .header-cart .cart-submenu .cart-wrapper-item .wrapper .wrapper-item .wrapper-img img {
  width: 100%; height: 100%; object-fit: cover;
}
.header-center .header-cart-items .header-cart .cart-submenu .cart-wrapper-item .wrapper .wrapper-content { min-width: 0; flex: 1; }
.header-center .header-cart-items .header-cart .cart-submenu .cart-wrapper-item .wrapper .wrapper-item .wrapper-title {
  font-size: 12.5px !important; font-weight: 700 !important; color: var(--ent-ink) !important;
  text-decoration: none !important; line-height: 1.35;
  display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden;
}
.header-center .header-cart-items .header-cart .cart-submenu .cart-wrapper-item .wrapper .wrapper-item .price { margin: 3px 0 0 !important; }
.header-center .header-cart-items .header-cart .cart-submenu .cart-wrapper-item .wrapper .wrapper-item .price p { margin: 0 !important; }
.header-center .header-cart-items .header-cart .cart-submenu .cart-wrapper-item .wrapper .wrapper-item .new-price {
  font-size: 13px !important; font-weight: 800 !important; color: var(--ent-olive-deep) !important;
}
.header-center .header-cart-items .header-cart .cart-submenu .cart-wrapper-item .wrapper .wrapper-item small { font-size: 11px !important; color: var(--ent-muted); }
.header-center .header-cart-items .header-cart .cart-submenu .cart-wrapper-item .wrapper .close-btn.remove-item {
  width: 26px !important; height: 26px !important; flex-shrink: 0;
  border: 1px solid var(--ent-line); border-radius: 50%;
  display: inline-flex; align-items: center; justify-content: center;
  background: #fff; cursor: pointer; transition: .18s;
}
.header-center .header-cart-items .header-cart .cart-submenu .cart-wrapper-item .wrapper .close-btn.remove-item svg { width: 9px; height: 9px; }
.header-center .header-cart-items .header-cart .cart-submenu .cart-wrapper-item .wrapper .close-btn.remove-item:hover {
  background: #b3261e; border-color: #b3261e;
}
.header-center .header-cart-items .header-cart .cart-submenu .cart-wrapper-item .wrapper .close-btn.remove-item:hover svg path { fill: #fff; }
.header-center .header-cart-items .header-cart .cart-submenu .cart-wrapper-item .cartEmpty {
  text-align: center; padding: 26px 12px; color: var(--ent-muted); font-size: 13px; font-weight: 600;
}
.header-center .header-cart-items .header-cart .cart-submenu .cart-wrapper-section,
.header-cart .cart-submenu .cart-wrapper-section {
  padding: 14px 16px 16px !important; background: var(--ent-bg);
  border-top: 1px solid var(--ent-line-soft);
  flex-shrink: 0 !important;
}
.header-center .header-cart-items .header-cart .cart-submenu .cart-wrapper-section .wrapper-line { display: none; }
.header-center .header-cart-items .header-cart .cart-submenu .cart-wrapper-section .wrapper-subtotal { align-items: baseline !important; }
.header-center .header-cart-items .header-cart .cart-submenu .cart-wrapper-section .wrapper-subtotal .wrapper-title {
  font-size: 11px !important; font-weight: 800 !important; letter-spacing: .08em; text-transform: uppercase; color: var(--ent-muted) !important; margin: 0 !important;
}
.header-center .header-cart-items .header-cart .cart-submenu .cart-wrapper-section .wrapper-subtotal .subCartTotal {
  font-family: var(--ent-font-display); font-size: 17px !important; font-weight: 800 !important; color: var(--ent-ink) !important; margin: 0 !important;
}
.header-center .header-cart-items .header-cart .cart-submenu .cart-wrapper-section .cart-btn {
  margin-top: 12px !important; display: flex; flex-direction: column; gap: 8px;
}
.header-center .header-cart-items .header-cart .cart-submenu .cart-wrapper-section .cart-btn .shop-btn {
  margin: 0 !important; width: 100%; border-radius: 12px !important;
  padding: 11px !important; font-size: 13px !important;
}
.header-center .header-cart-items .header-cart .cart-submenu .cart-wrapper-section .cart-btn .checkout-btn { color: #fff !important; }

/* ==========================================================================
   PART 9 — Auth pages: split-screen enterprise cards v1.8
   ========================================================================== */
.ent-auth-wrap { padding-top: 22px !important; padding-bottom: 34px !important; }
.ent-auth-card {
  display: grid; grid-template-columns: .95fr 1.05fr;
  max-width: 960px; margin: 0 auto; overflow: hidden;
  background: #fff; border: 1px solid var(--ent-line); border-radius: 24px;
  box-shadow: var(--ent-shadow-lg);
}
.ent-auth-side {
  position: relative; overflow: hidden; color: #fff;
  background: radial-gradient(600px 300px at 110% -10%, #a8b54555 0%, transparent 60%),
              linear-gradient(140deg, #141a0d 0%, #2c3517 60%, #636b2f 100%);
  padding: clamp(26px, 4vw, 44px);
  display: flex; flex-direction: column; justify-content: center; gap: 6px;
}
.ent-auth-side h2 {
  font-size: clamp(24px, 3vw, 34px); font-weight: 800; letter-spacing: -.03em;
  color: #fff; margin: 12px 0 8px; line-height: 1.08;
}
.ent-auth-side p { color: rgba(255,255,255,.75); font-size: 14px; line-height: 1.65; margin: 0; max-width: 340px; }
.ent-auth-points { list-style: none; margin: 18px 0; padding: 0; display: flex; flex-direction: column; gap: 10px; }
.ent-auth-points li {
  display: flex; align-items: center; gap: 10px; font-size: 13.5px; font-weight: 600; color: #fff;
}
.ent-auth-points b {
  width: 24px; height: 24px; border-radius: 50%; flex-shrink: 0;
  background: var(--ent-lime); color: var(--ent-ink);
  display: inline-flex; align-items: center; justify-content: center; font-size: 12px;
}
.ent-auth-secure {
  margin-top: auto; padding-top: 18px; font-size: 12px; font-weight: 700; color: rgba(255,255,255,.6);
}
.ent-auth-form { padding: clamp(24px, 4vw, 44px); }
.ent-auth-form .login-section { max-width: 400px; margin: 0 auto; }
.ent-auth-form .review-form { background: transparent !important; border: none !important; padding: 0 !important; box-shadow: none !important; }
.ent-auth-form .comment-title { font-size: clamp(22px, 2.6vw, 28px) !important; font-weight: 800 !important; letter-spacing: -.02em; margin: 8px 0 4px !important; }
.ent-auth-sub { color: var(--ent-muted); font-size: 13.5px; margin: 0 0 20px; }
.ent-auth-form .review-form-name { margin-bottom: 14px; }
.ent-auth-form .form-control { padding: 13px 15px !important; font-size: 14px !important; }
.ent-auth-form .review-form-name.checkbox { display: flex; align-items: center; justify-content: space-between; margin: 4px 0 18px; }
.ent-auth-form .checkbox-item { display: flex; align-items: center; gap: 8px; font-size: 13px; font-weight: 600; color: #3c4232; }
.ent-auth-form .checkbox-item input { width: 17px; height: 17px; accent-color: var(--ent-olive); }
.ent-auth-form .forget-pass p { margin: 0; }
.ent-auth-form .forget-pass a { color: var(--ent-olive-deep) !important; font-weight: 700; text-decoration: none !important; }
.ent-auth-form .forget-pass a:hover { text-decoration: underline !important; }
.ent-auth-form .login-btn .shop-btn { width: 100%; padding: 14px !important; font-size: 14px !important; }
.ent-auth-form .shop-account { display: block; margin-top: 16px; font-size: 13px; color: var(--ent-muted); }
.ent-auth-form .shop-account a { color: var(--ent-olive-deep) !important; font-weight: 800; text-decoration: none !important; margin-left: 4px; }
.ent-auth-form .shop-account a:hover { text-decoration: underline !important; }
.ent-auth-form .msgOverlay {
  border-radius: 12px; font-size: 13px; font-weight: 600;
  background: var(--ent-olive-soft); border: 1px solid #dfe2c6;
  padding: 10px 14px; margin-bottom: 14px;
}
/* Active auth loader: faded overlay with readable spinner text */
.ent-auth-form .msgOverlay:not(.d-none) {
  position: absolute; inset: 0; z-index: 5; margin: 0;
  display: flex; align-items: center; justify-content: center; text-align: center;
  background: rgba(255,255,255,.85) !important;
  backdrop-filter: blur(3px); -webkit-backdrop-filter: blur(3px);
  border: 1px solid var(--ent-line); border-radius: 16px;
  color: var(--ent-olive-deep) !important; font-weight: 800 !important; font-size: 14px !important;
}
.ent-auth-form .msgOverlay:not(.d-none)::before {
  content: ""; width: 22px; height: 22px; flex-shrink: 0; margin-right: 10px;
  border-radius: 50%; border: 3px solid #dfe2c6; border-top-color: var(--ent-olive);
  animation: entSpin .8s linear infinite;
}
@keyframes entSpin { to { transform: rotate(360deg); } }
@media (max-width: 860px) {
  .ent-auth-card { grid-template-columns: 1fr; }
  .ent-auth-side { padding: 24px; gap: 2px; }
  .ent-auth-side p, .ent-auth-points { display: none; }
  .ent-auth-side h2 { font-size: 22px; margin: 8px 0 0; }
  .ent-auth-secure { display: none; }
}
/* Wide variant for the longer signup form */
.ent-auth-card.ent-auth-wide { max-width: 1080px; grid-template-columns: .8fr 1.2fr; }
.ent-auth-card.ent-auth-wide .ent-auth-form .login-section { max-width: none; }
.ent-signup-inner { background: transparent !important; border: none !important; padding: 0 !important; box-shadow: none !important; height: auto !important; }
.ent-signup-inner .account-inner-form { display: grid; grid-template-columns: 1fr 1fr; gap: 0 14px; }
.ent-signup-inner .review-form-name { margin-bottom: 13px; }
.ent-signup-inner .form-label { font-size: 11.5px; font-weight: 800; text-transform: uppercase; letter-spacing: .06em; color: #4b5240; }
.ent-signup-inner .form-control, .ent-signup-inner .form-select { padding: 12px 14px !important; font-size: 13.5px !important; }
.ent-signup-inner .error-message { font-size: 11.5px; }
.ent-signup-btn { width: 100%; padding: 14px !important; font-size: 14px !important; margin-top: 6px; }
.ent-login-switch { margin-top: 16px; font-size: 13px; color: var(--ent-muted); }
.ent-login-switch a { color: var(--ent-olive-deep) !important; font-weight: 800; text-decoration: none !important; margin-left: 4px; }
.ent-login-switch a:hover { text-decoration: underline !important; }
@media (max-width: 860px) {
  .ent-auth-card.ent-auth-wide { grid-template-columns: 1fr; }
}
@media (max-width: 560px) {
  .ent-signup-inner .account-inner-form { grid-template-columns: 1fr; }
}

/* ==========================================================================
   PART 8 — Footer tightening: kill 2rem legacy link gaps v1.7
   ========================================================================== */
section.product.footer .footer-heading,
section.product.footer .footer-title {
  font-size: 12px !important; letter-spacing: .12em; margin-bottom: 12px !important;
}
section.product.footer .footer-link ul { gap: 0 !important; margin-top: 0 !important; }
section.product.footer .footer-link ul li { margin-bottom: 0 !important; }
section.product.footer .footer-link ul li a {
  display: inline-flex; align-items: center; padding: 5px 0 !important;
  font-size: 13.5px !important; font-weight: 500 !important;
}
section.product.footer .contact-link { gap: 14px !important; }
section.product.footer .address { gap: 10px !important; }
section.product.footer .address .details h4 { font-size: 11px !important; margin: 0 0 3px !important; }
section.product.footer .address .details p { font-size: 13px !important; line-height: 1.5; }
section.product.footer .service-wrapper { padding: 14px 16px !important; border-radius: 16px !important; }
section.product.footer .service-wrapper .service-title { font-size: 13.5px !important; }
section.product.footer .service-wrapper .service-details { font-size: 12px !important; }
section.product.footer .service-img span { width: 42px !important; height: 42px !important; border-radius: 12px !important; font-size: 18px !important; }
section.product.footer hr { margin: 18px 0 0 !important; }
.ent-footer-bottom { padding: 14px 0 22px !important; }
.ent-pay { padding: 5px 10px !important; font-size: 10.5px !important; }

/* ==========================================================================
   PART 7 — Checkout page: slim head, sticky summary, tighter rhythm v1.6
   ========================================================================== */
.ent-secure-pill {
  display: inline-flex; align-items: center; gap: 8px; flex-shrink: 0;
  background: #2f6f4f; color: #fff; border-radius: 12px;
  padding: 10px 16px; font-size: 12.5px; font-weight: 800; white-space: nowrap;
  box-shadow: var(--ent-shadow-sm);
}
.checkout.product { padding-top: 12px !important; }

/* Sticky order summary (desktop) */
@media (min-width: 992px) {
  .checkout-section form#shipping-form > .row > div:last-child {
    position: sticky; top: 150px; align-self: flex-start;
  }
}

/* Delivery option cards : compact selectable */
.checkout .deliveryOption { padding: 10px 14px !important; border-radius: 12px !important; }
.checkout .deliveryOption label { font-size: 13.5px !important; }
.checkout .deliveryOption img { width: 26px !important; height: 26px !important; }
.checkout .checkout-wrapper { padding: clamp(18px, 2.4vw, 26px) !important; border-radius: 20px !important; }
.checkout .account-section .wrapper-heading { font-size: 13px !important; }

/* Summary items */
.checkout #cartItems { gap: 10px; }
.checkout #cartItems li { padding: 8px 10px !important; border-radius: 12px !important; font-size: 12.5px; }
.checkout #cartItems img { width: 46px !important; height: 46px !important; border-radius: 9px !important; }
.checkout .order-summery { padding: 16px !important; border-radius: 16px !important; }
.checkout .order-summery .subtotal.total .wrapper-heading,
.checkout .order-summery .totalPrice { font-size: 18px !important; }
.checkout .payNow, .checkout .payNowOnLogging { padding: 13px 20px !important; font-size: 14px !important; }
.checkout .addressContainer > * { padding: 12px 14px !important; border-radius: 12px !important; }
/* Compact saved-address picker + selected summary card */
.checkout #savedAddressSelect { border-radius: 12px !important; font-size: 13.5px; font-weight: 600; padding: 12px 40px 12px 14px !important; }
.ent-selected-address {
  background: var(--ent-bg); border: 1px solid var(--ent-line); border-radius: 14px;
  padding: 16px 18px; margin-top: 4px;
}
.ent-selected-address p { font-size: 13px; color: #4b5240; margin: 0 0 3px; }
.ent-sel-head { display: flex; align-items: center; justify-content: space-between; gap: 10px; margin-bottom: 8px; }
.ent-sel-head b { font-size: 14.5px; color: var(--ent-ink); }
.ent-sel-badge {
  font-size: 10.5px; font-weight: 800; text-transform: uppercase; letter-spacing: .07em;
  background: var(--ent-olive-soft); border: 1px solid #cfd6a8; color: var(--ent-olive-deep);
  border-radius: 999px; padding: 4px 12px; flex-shrink: 0;
}
.ent-selected-address .edit-btn, .ent-selected-address .delete-btn {
  border-radius: 999px; font-size: 12.5px; font-weight: 800; padding: 8px 18px;
  border: 1px solid var(--ent-line); background: #fff; transition: .18s;
}
.ent-selected-address .edit-btn:hover { border-color: var(--ent-ink); background: var(--ent-ink); color: #fff; }
.ent-selected-address .delete-btn { color: #b3261e !important; border-color: #f0c9c9; background: #fef6f6; }
.ent-selected-address .delete-btn:hover { background: #b3261e; border-color: #b3261e; color: #fff !important; }

/* ==========================================================================
   PART 6 — Cart page: slim head, fixed thead, refined rows,
   summary bar, empty state v1.5
   ========================================================================== */
.ent-cart-body { padding-top: 12px !important; }
.ent-cart-count {
  display: inline-flex; align-items: center; gap: 8px; flex-shrink: 0;
  background: var(--ent-ink); color: #fff; border-radius: 12px;
  padding: 10px 16px; font-size: 12.5px; font-weight: 700; white-space: nowrap;
  box-shadow: var(--ent-shadow-sm);
}
.ent-cart-count .cartCounter {
  position: static !important; min-width: 24px; height: 24px; padding: 0 6px;
  background: var(--ent-lime) !important; color: var(--ent-ink) !important;
  border: none !important; border-radius: 999px; font-size: 12px !important;
}

/* Table shell + slim dark header (no pills in thead) */
.product-cart .cart-section { overflow: hidden; }
.ent-cart-scroll { overflow-x: auto; }
.product-cart .cart-section table { width: 100%; min-width: 720px; margin: 0; }
.product-cart thead tr { background: var(--ent-ink); }
.product-cart thead td { padding: 11px 16px !important; border: none !important; vertical-align: middle; }
.product-cart thead .table-heading {
  color: #fff !important; font-size: 11px !important; font-weight: 800 !important;
  letter-spacing: .1em; text-transform: uppercase; margin: 0 !important;
}

/* Body rows */
.product-cart tbody tr { background: transparent; }
.product-cart tbody tr + tr { border-top: 1px solid var(--ent-line-soft); }
.product-cart tbody tr:hover { background: #fafaf5; }
.product-cart tbody td { padding: 14px 16px; vertical-align: middle; border: none; }
.product-cart .wrapper { display: flex; align-items: center; gap: 14px; }
.product-cart tbody img {
  width: 64px; height: 64px; min-width: 64px; object-fit: cover;
  border-radius: 12px; border: 1px solid var(--ent-line-soft); background: #f4f4ee;
}
.product-cart .wrapper-content .heading { font-size: 13.5px !important; font-weight: 700 !important; margin: 0 0 4px !important; color: var(--ent-ink); }
.product-cart .wrapper-content small, .product-cart .wrapper-content .fs-6 { font-size: 11.5px !important; color: var(--ent-muted); }
.product-cart tbody .table-wrapper-center { padding: 7px 12px; }
.product-cart tbody .table-wrapper-center .heading { font-size: 14px !important; font-weight: 800 !important; margin: 0 !important; white-space: nowrap; }
.product-cart .quantity .number { min-width: 28px; text-align: center; font-size: 13px; font-weight: 800; }
.product-cart .remove-item { width: 32px; height: 32px; }
.cart-availability-banner { border-radius: 12px !important; margin: 14px 14px 0 !important; font-size: 13px; }

/* Summary bar */
.ent-summary-bar { gap: 14px; }
.ent-summary-left { display: flex; align-items: center; gap: 18px; flex-wrap: wrap; }
.ent-continue-link { font-size: 13px; font-weight: 700; color: var(--ent-olive-deep) !important; text-decoration: none !important; }
.ent-continue-link:hover { text-decoration: underline !important; }
.ent-summary-right { display: flex; align-items: center; gap: 14px; margin-left: auto; flex-wrap: wrap; }
.ent-subtotal { text-align: right; line-height: 1.2; }
.ent-subtotal span { display: block; font-size: 10.5px; font-weight: 800; text-transform: uppercase; letter-spacing: .08em; color: var(--ent-muted); }
.ent-subtotal b { font-family: var(--ent-font-display); font-size: 22px; font-weight: 800; color: var(--ent-ink); white-space: nowrap; }
.ent-secure-note { flex-basis: 100%; text-align: right; margin: 0; font-size: 11.5px; color: var(--ent-muted); font-weight: 600; }

/* Empty state */
.product-cart td.cartEmpty { padding: 0 !important; border: none !important; }
.ent-empty-cart { text-align: center; padding: 54px 20px; }
.ent-empty-icon {
  width: 76px; height: 76px; margin: 0 auto; border-radius: 50%;
  background: var(--ent-olive-soft); border: 1px solid #dfe2c6;
  display: flex; align-items: center; justify-content: center; font-size: 34px;
}
.ent-empty-cart h5 { font-size: 20px; font-weight: 800; margin: 16px 0 6px; color: var(--ent-ink); }
.ent-empty-cart p { color: var(--ent-muted); font-size: 14px; margin: 0 0 20px; }

/* Keep horizontal-scroll table on mobile (override PART 1 block transform) */
@media (max-width: 768px) {
  .product-cart table thead { display: table-header-group; }
  .product-cart table { display: table; }
  .product-cart tbody { display: table-row-group; }
  .product-cart tbody tr {
    display: table-row; width: auto; border: none; border-radius: 0;
    margin: 0; padding: 0; background: transparent;
  }
  .product-cart tbody tr + tr { border-top: 1px solid var(--ent-line-soft); }
  .product-cart tbody td { display: table-cell; width: auto; border: none; padding: 12px 14px; }
  .ent-summary-bar { flex-direction: column; align-items: stretch; }
  .ent-summary-right { margin-left: 0; }
  .ent-subtotal, .ent-secure-note { text-align: left; }
}

/* ==========================================================================
   PART 5 — Shop page: slim head, sticky filters, tree restyle,
   sleek toolbar, mobile filter drawer v1.4
   ========================================================================== */
.ent-shop-top { padding-bottom: 0 !important; }
.ent-shop-head {
  display: flex; align-items: flex-end; justify-content: space-between; gap: 14px; flex-wrap: wrap;
  margin: 12px 0 2px;
}
.ent-shop-head .ent-eyebrow { margin-bottom: 8px; }
.ent-shop-head .ent-page-title { font-size: clamp(24px, 3vw, 34px); margin: 0; }
.ent-shop-head .ent-crumb-sub { margin: 6px 0 0; }
.ent-shop-head-count {
  background: var(--ent-ink); color: #fff; border-radius: 12px;
  padding: 10px 16px; font-size: 12.5px; font-weight: 700; white-space: nowrap;
  box-shadow: var(--ent-shadow-sm);
}
.ent-shop-head-count b:empty { display: none; }
.ent-shop-head-count:has(b:empty) { display: none; }
.ent-shop-head-count .paginateDetails { color: #fff !important; }
.ent-shop-body { padding-top: 12px !important; }

/* Sticky filter column (desktop) */
@media (min-width: 992px) {
  .ent-sidebar-col {
    position: sticky; top: 150px; align-self: flex-start;
    max-height: calc(100vh - 170px); overflow-y: auto; scrollbar-width: thin;
    padding-bottom: 8px;
  }
}
.ent-filters-card { padding: 18px !important; }
.ent-filters-head {
  display: flex; align-items: center; justify-content: space-between; gap: 10px;
  margin-bottom: 10px; padding-bottom: 10px; border-bottom: 1px solid var(--ent-line-soft);
}
.ent-filters-head .wrapper-heading { margin: 0 !important; }
.ent-filters-hint {
  font-size: 10.5px; font-weight: 800; text-transform: uppercase; letter-spacing: .08em;
  color: var(--ent-muted); background: var(--ent-bg);
  border: 1px solid var(--ent-line-soft); padding: 4px 10px; border-radius: 999px;
}

/* Category tree (overrides JS-injected runtime styles) */
.product-sidebar .sidebar-list { list-style: none !important; margin: 0 !important; padding: 0 !important; display: flex; flex-direction: column; gap: 2px; }
.product-sidebar .sidebar-list .category-item { list-style: none !important; padding: 0 !important; margin: 0 !important; }
.product-sidebar .sidebar-list .categoryList {
  display: flex !important; align-items: center !important; gap: 8px;
  padding: 7px 10px !important; border-radius: 9px; transition: background .15s;
}
.product-sidebar .sidebar-list .categoryList:hover { background: var(--ent-olive-soft); }
.product-sidebar .sidebar-list .category-name {
  font-size: 13px !important; font-weight: 600 !important; color: #33392a !important;
  cursor: pointer; flex: 1; line-height: 1.4;
}
.product-sidebar .sidebar-list .categoryList:hover .category-name { color: var(--ent-olive-deep) !important; }
.product-sidebar .sidebar-list .category-link { text-decoration: none !important; color: inherit !important; display: flex !important; flex: 1; }
.product-sidebar .sidebar-list .expand-icon {
  width: 22px !important; height: 22px !important; margin: 0 !important; padding: 0 !important;
  border-radius: 6px; background: var(--ent-bg); border: 1px solid var(--ent-line-soft);
  position: relative; flex-shrink: 0;
}
.product-sidebar .sidebar-list .expand-icon::after {
  content: "›"; position: absolute; inset: 0; display: flex; align-items: center; justify-content: center;
  font-size: 14px; font-weight: 800; color: var(--ent-olive-deep); line-height: 1;
}
.product-sidebar .sidebar-list .child-list {
  margin: 2px 0 2px 15px !important; padding: 0 0 0 8px !important;
  border-left: 2px solid var(--ent-olive-soft); list-style: none;
}
.product-sidebar .sidebar-list .child-list[style*="block"] { display: flex !important; flex-direction: column; gap: 2px; }
.product-sidebar .sidebar-list .level-1,
.product-sidebar .sidebar-list .level-2,
.product-sidebar .sidebar-list .level-3 { margin-left: 0 !important; }

/* Toolbar */
.ent-toolbar { border-radius: 16px !important; padding: 8px 8px 8px 18px !important; margin-bottom: 14px !important; }
.ent-filters-btn {
  display: none; align-items: center; gap: 8px;
  background: var(--ent-ink); color: #fff; border: 1px solid var(--ent-ink);
  border-radius: 999px; padding: 9px 18px; font-size: 12.5px; font-weight: 800;
}
.ent-filters-btn:hover { background: var(--ent-olive-deep); border-color: var(--ent-olive-deep); }
@media (max-width: 991.98px) { .ent-filters-btn { display: inline-flex; } }

/* Drawer chrome (hidden on desktop) */
.ent-drawer-bar, .ent-drawer-close { display: none; }
.ent-filters-scrim { display: none; }

/* Mobile filter drawer */
@media (max-width: 991.98px) {
  body.ent-filters-open { overflow: hidden; }
  body.ent-filters-open .ent-sidebar-col.mobile-hide {
    display: block !important; position: fixed !important; top: 0; left: 0; bottom: 0;
    width: min(340px, 88vw); max-height: none; overflow-y: auto;
    z-index: 700; background: #fff; margin: 0; padding: 0;
    border-radius: 0 20px 20px 0; box-shadow: var(--ent-shadow-lg);
    animation: entDrawerIn .25s ease;
  }
  body.ent-filters-open .ent-sidebar-col [data-aos] { opacity: 1 !important; transform: none !important; }
  body.ent-filters-open .ent-drawer-bar {
    display: flex; align-items: center; justify-content: space-between;
    padding: 15px 18px; border-bottom: 1px solid var(--ent-line);
    position: sticky; top: 0; background: #fff; z-index: 2;
  }
  body.ent-filters-open .sidebar { padding: 4px 14px 22px; }
  .ent-drawer-title { font-family: var(--ent-font-display); font-weight: 800; font-size: 15px; }
  .ent-drawer-close {
    display: inline-flex; align-items: center; justify-content: center;
    width: 34px; height: 34px; border-radius: 50%;
    border: 1px solid var(--ent-line); background: #fff;
    font-size: 20px; line-height: 1; color: var(--ent-ink);
  }
  body.ent-filters-open .ent-filters-scrim {
    display: block; position: fixed; inset: 0; z-index: 650;
    background: rgba(16,20,12,.5); backdrop-filter: blur(3px);
  }
}
@keyframes entDrawerIn { from { transform: translateX(-105%); } to { transform: none; } }

/* ---------- Homepage vertical rhythm (kills 6rem legacy section padding) ---------- */
.ent-home section.product,
.ent-home section.product-category { padding-top: 0 !important; padding-bottom: 0 !important; margin-bottom: 0 !important; }
.ent-home .footer-padding { padding-bottom: 0 !important; }
.ent-home .mb-5 { margin-bottom: 0 !important; }
.ent-home #heroSectionContainer { padding: 12px 0 0 !important; }
.ent-home .ent-trust { margin: 14px 0 2px !important; }
.ent-home .section-title { margin: 20px 0 12px !important; }
.ent-home .ent-section-head { margin: 20px 0 12px !important; }
.ent-home .ent-band { margin: 20px 0 26px !important; }
.ent-home .product-category { margin-top: 0 !important; }

/* ---------- Responsive: shop pages ---------- */
@media (max-width: 992px) {
  .product-sorting-section { border-radius: 20px; }
  .checkout-wrapper { margin-bottom: 0; }
}
@media (max-width: 768px) {
  .product-cart table thead { display: none; }
  .product-cart table, .product-cart tbody, .product-cart tr, .product-cart td { display: block; width: 100%; }
  .product-cart tbody tr { border: 1px solid var(--ent-line); border-radius: 18px; margin-bottom: 12px; background: #fff; padding: 6px; }
  .product-cart tbody td { border: none; padding: 8px 14px; }
  .product-info-section { padding: 16px; }
  .ent-steps { gap: 6px; }
  .wishlist-btn.cart-btn { flex-direction: column; align-items: stretch; text-align: center; }
  .wishlist-btn.cart-btn .shop-btn, .wishlist-btn.cart-btn .clean-btn { justify-content: center; }
}

/* Gift cards */
.gc-redeem input { text-transform: uppercase; }
.gc-applied { color: #1a7f37; font-weight: 600; }
.gc-error { color: #b3261e; font-weight: 600; }
.gc-row { color: #1a7f37; }

/* Enterprise empty-results state (search / filtered listings) */
.ent-no-results { max-width: 560px; margin: 24px auto; text-align: center; background: linear-gradient(180deg, #ffffff, #f7f7f0); border: 1px solid var(--ent-line, #e7e7e7); border-radius: 20px; padding: 40px 28px; box-shadow: 0 12px 32px rgba(16, 20, 12, .06); }
.ent-nr-icon { width: 72px; height: 72px; margin: 0 auto 16px; border-radius: 50%; display: flex; align-items: center; justify-content: center; background: #eef0e2; color: #636b2f; border: 1px dashed #636b2f; }
.ent-nr-eyebrow { font-size: 11.5px; font-weight: 800; letter-spacing: .14em; text-transform: uppercase; color: var(--ent-muted, #8a8f7d); margin-bottom: 8px; }
.ent-nr-title { font-size: 22px; font-weight: 800; color: #1a2013; margin: 0 0 8px; line-height: 1.35; }
.ent-nr-sub { font-size: 13.5px; color: var(--ent-muted, #8a8f7d); margin: 0 0 20px; }
.ent-nr-actions { display: flex; gap: 10px; justify-content: center; flex-wrap: wrap; }
.ent-nr-ghost { border: 1px solid var(--ent-line, #e0e0e0); background: #fff; border-radius: 999px; padding: 10px 22px; font-weight: 700; font-size: 13.5px; cursor: pointer; color: #1a2013; }
.ent-nr-ghost:hover { border-color: #636b2f; color: #636b2f; }

/* ---------- Checkout review step : enterprise cards ---------- */
.ent-review { row-gap: 22px; }
.ent-review-card {
  background: var(--ent-card, #fff);
  border: 1px solid var(--ent-line, #e8e6da);
  border-radius: var(--ent-radius, 18px);
  box-shadow: var(--ent-shadow-sm, 0 1px 2px rgba(16,20,12,.06));
  padding: 26px 28px;
  height: 100%;
}
.ent-review-summary { box-shadow: var(--ent-shadow-md, 0 8px 30px rgba(16,20,12,.10)); }
@media (min-width: 992px) { .ent-review-summary { position: sticky; top: 90px; } }
.ent-review-head { display: flex; justify-content: space-between; align-items: flex-start; gap: 12px; padding-bottom: 16px; margin-bottom: 6px; border-bottom: 1px solid var(--ent-line-soft, #f0eee3); }
.ent-review-title { font-size: 20px; font-weight: 800; margin: 4px 0 2px; display: flex; align-items: center; gap: 10px; flex-wrap: wrap; }
.ent-review-sub { color: var(--ent-muted, #6b7280); font-size: 13px; margin: 0; }
.ent-review-check { width: 34px; height: 34px; border-radius: 50%; background: var(--ent-olive-soft, #eef0dd); color: var(--ent-olive-deep, #424818); display: inline-flex; align-items: center; justify-content: center; font-weight: 800; flex-shrink: 0; }
.ent-count { font-size: 12px; font-weight: 800; background: var(--ent-ink, #10140c); color: #fff; border-radius: 999px; padding: 3px 12px; letter-spacing: .02em; }
.ent-review-rows { margin: 0; display: flex; flex-direction: column; }
.ent-review-row { display: flex; justify-content: space-between; align-items: baseline; gap: 18px; padding: 11px 0; border-bottom: 1px dashed var(--ent-line-soft, #f0eee3); font-size: 14px; }
.ent-review-row:last-child { border-bottom: 0; }
.ent-review-row dt { color: var(--ent-muted, #6b7280); font-weight: 600; flex-shrink: 0; }
.ent-review-row dd { margin: 0; font-weight: 650; text-align: right; word-break: break-word; color: var(--ent-text, #1c2114); }
.ent-review-items { display: flex; flex-direction: column; }
.ent-review-item { display: flex; gap: 14px; align-items: flex-start; flex-wrap: wrap; padding: 15px 0; border-bottom: 1px solid var(--ent-line-soft, #f0eee3); }
.ent-review-item:last-child { border-bottom: 0; }
.ent-review-item > .ent-stock-note { flex: 1 1 100%; }
.ent-review-item.ent-oos { background: #fef2f2; border-radius: 12px; padding-left: 12px; padding-right: 12px; }
.ent-review-thumb { width: 64px; height: 64px; border-radius: 14px; object-fit: cover; border: 1px solid var(--ent-line, #e8e6da); flex-shrink: 0; background: #f9f9f9; }
.ent-review-info { min-width: 0; flex: 1; }
.ent-review-name { font-weight: 750; font-size: 14.5px; margin: 0 0 3px; line-height: 1.35; }
.ent-review-meta { color: var(--ent-muted, #6b7280); font-size: 13px; margin: 0 0 7px; }
.ent-review-pills { display: flex; flex-wrap: wrap; gap: 6px; }
.ent-pill { font-size: 11.5px; font-weight: 700; background: var(--ent-olive-soft, #eef0dd); color: var(--ent-olive-deep, #424818); border-radius: 999px; padding: 3px 11px; line-height: 1.5; }
.ent-review-attrs { font-size: 12.5px; color: var(--ent-muted, #6b7280); margin-top: 5px; }
.ent-review-line { margin-left: auto; font-weight: 800; white-space: nowrap; font-size: 14.5px; padding-left: 10px; }
.ent-review-card .payment-method { border: 1px solid var(--ent-line, #e8e6da); border-radius: var(--ent-radius-sm, 12px); padding: 16px 18px; margin-top: 18px; background: #fbfbf7; }
.ent-review-card .payment-method h6 { font-size: 14.5px; font-weight: 800; }
.ent-review-card .payment-option { margin-bottom: 0; border-bottom: 1px solid var(--ent-line-soft, #f0eee3); padding: 11px 4px; border-radius: 10px; transition: background .2s; }
.ent-review-card .payment-option:last-child { border-bottom: 0; }
.ent-review-card .payment-option:hover { background: #fff; }
.ent-review-card .payment-option label { display: flex; align-items: center; gap: 12px; width: 100%; margin: 0; cursor: pointer; }
.ent-review-card .gw-text { display: flex; flex-direction: column; gap: 1px; min-width: 0; }
.ent-review-card .gw-text b { font-size: 14px; }
.ent-review-card .gw-text small { color: var(--ent-muted, #6b7280); font-size: 12.5px; }
.ent-review-card .gw-badge { margin-left: auto; font-size: 10.5px; font-weight: 800; letter-spacing: .08em; background: var(--ent-olive-soft, #eef0dd); color: var(--ent-olive-deep, #424818); border-radius: 999px; padding: 4px 11px; flex-shrink: 0; }
.ent-review-card .pay-currency-row { display: flex; align-items: center; gap: 8px; flex-wrap: wrap; margin-top: 12px; font-size: 12.5px; color: var(--ent-muted, #6b7280); }
.ent-review-card .pay-currency-pill { border: 1px solid var(--ent-line, #e8e6da); background: #fff; border-radius: 999px; padding: 5px 14px; font-weight: 700; font-size: 12.5px; cursor: pointer; }
.ent-review-card .pay-currency-pill.active { background: var(--ent-ink, #10140c); color: #fff; border-color: var(--ent-ink, #10140c); }
.ent-review-card .pay-currency-hint { font-weight: 600; }
.ent-review-totals { margin-top: 18px; border-top: 2px solid var(--ent-ink, #10140c); padding-top: 14px; display: flex; flex-direction: column; gap: 9px; }
.ent-trow { display: flex; justify-content: space-between; align-items: baseline; gap: 12px; font-size: 14.5px; color: var(--ent-muted, #6b7280); font-weight: 600; margin: 0; }
.ent-trow > span:last-child { color: var(--ent-text, #1c2114); font-weight: 700; white-space: nowrap; }
.ent-trow.grand { font-size: 19px; color: var(--ent-ink, #10140c); font-weight: 800; }
.ent-trow.grand > span:last-child { color: var(--ent-olive-deep, #424818); }
.ent-review-actions { display: flex; gap: 12px; justify-content: center; flex-wrap: wrap; margin-top: 8px; }
.ent-review-actions #confirmPayment, .ent-review-actions #confirmUserPayment { background: var(--ent-olive, #636b2f); border: 0; border-radius: 999px; padding: 14px 44px; font-weight: 800; font-size: 15px; color: #fff; box-shadow: var(--ent-shadow-md, 0 8px 30px rgba(16,20,12,.10)); transition: transform .2s, background .2s; }
.ent-review-actions #confirmPayment:hover, .ent-review-actions #confirmUserPayment:hover { background: var(--ent-olive-deep, #424818); transform: translateY(-1px); }
.ent-review-actions #goBack, .ent-review-actions .goToCart { border-radius: 999px; padding: 13px 34px; font-weight: 700; font-size: 14.5px; background: #fff; border: 1px solid var(--ent-line, #e8e6da); color: var(--ent-ink, #10140c); text-decoration: none; }
.ent-review-actions #goBack:hover, .ent-review-actions .goToCart:hover { border-color: var(--ent-olive, #636b2f); color: var(--ent-olive-deep, #424818); }
@media (max-width: 576px) {
  .ent-review-card { padding: 20px 18px; }
  .ent-review-thumb { width: 54px; height: 54px; }
}
