/* Vikas Heritage — storefront theme */
@import url('https://fonts.googleapis.com/css2?family=Cormorant+Garamond:ital,wght@0,500;0,600;0,700;1,500&family=Source+Sans+3:ital,wght@0,400;0,600;0,700;1,400&display=swap');

:root {
  --vhc-maroon: #4a0818;
  --vhc-maroon-deep: #2d050f;
  --vhc-gold: #c9a24d;
  --vhc-gold-soft: #e8d5a4;
  --vhc-green: #0f3d2e;
  --vhc-green-soft: #1a5c47;
  --vhc-cream: #f7f1e8;
  --vhc-ink: #1a1614;
  --vhc-muted: #5c5650;
  --vhc-card: #ffffff;
  --vhc-radius: 1rem;
  --vhc-shadow: 0 0.5rem 1.75rem rgba(15, 61, 46, 0.12);
  --vhc-shadow-hover: 0 1rem 2.25rem rgba(15, 61, 46, 0.18);
}

html {
  scroll-behavior: smooth;
}

body.vhc-store {
  font-family: 'Source Sans 3', system-ui, -apple-system, sans-serif;
  color: var(--vhc-ink);
  background-color: var(--vhc-cream);
  background-image:
    radial-gradient(ellipse 120% 80% at 50% -20%, rgba(201, 162, 77, 0.18), transparent 55%),
    radial-gradient(ellipse 80% 50% at 100% 0%, rgba(15, 61, 46, 0.08), transparent 45%),
    radial-gradient(ellipse 60% 40% at 0% 100%, rgba(74, 8, 24, 0.06), transparent 50%);
  background-attachment: fixed;
}

.vhc-display {
  font-family: 'Cormorant Garamond', Georgia, 'Times New Roman', serif;
  font-weight: 600;
  letter-spacing: 0.02em;
  color: var(--vhc-maroon-deep);
}

.vhc-accent {
  color: var(--vhc-green);
}

.vhc-price {
  color: var(--vhc-maroon);
  font-variant-numeric: tabular-nums;
}

.letterspace {
  letter-spacing: 0.08em;
}

.vhc-link {
  color: var(--vhc-green-soft);
  font-weight: 600;
}

.vhc-link:hover {
  color: var(--vhc-maroon);
}

/* Navbar — white top bar (storefront) */
.vhc-topnav {
  background: #ffffff !important;
  border-bottom: 1px solid rgba(15, 61, 46, 0.14);
  box-shadow: 0 2px 16px rgba(26, 22, 20, 0.08);
  padding-top: 0.65rem;
  padding-bottom: 0.65rem;
}

.vhc-topnav .navbar-brand {
  color: var(--vhc-maroon-deep);
}

.vhc-brand-title {
  font-family: 'Cormorant Garamond', Georgia, serif;
  font-size: 1.4rem;
  font-weight: 600;
  letter-spacing: 0.04em;
  color: var(--vhc-maroon-deep);
  line-height: 1.15;
}

.vhc-brand-tagline {
  color: var(--vhc-muted);
  font-weight: 500;
  letter-spacing: 0.02em;
}

.vhc-main-nav .nav-link {
  color: var(--vhc-ink) !important;
  font-weight: 600;
  font-size: 0.975rem;
  letter-spacing: 0.02em;
  padding: 0.5rem 0.9rem !important;
  border-radius: 0.45rem;
  transition: color 0.15s ease, background-color 0.15s ease;
}

.vhc-main-nav .nav-link:hover,
.vhc-main-nav .nav-link:focus {
  color: var(--vhc-green) !important;
  background-color: rgba(15, 61, 46, 0.07);
}

.vhc-main-nav .nav-link:active {
  color: var(--vhc-maroon) !important;
}

.vhc-nav-actions .btn {
  font-weight: 600;
  min-width: 4.5rem;
}

.btn-vhc-nav-outline {
  border: 1.5px solid var(--vhc-green);
  color: var(--vhc-green) !important;
  background: #fff;
  border-radius: 999px;
}

.btn-vhc-nav-outline:hover {
  background: rgba(15, 61, 46, 0.08);
  border-color: var(--vhc-maroon-deep);
  color: var(--vhc-maroon-deep) !important;
}

.btn-vhc-nav-ghost {
  border: 1.5px solid rgba(92, 86, 80, 0.35);
  color: var(--vhc-ink) !important;
  background: #fff;
  border-radius: 999px;
}

.btn-vhc-nav-ghost:hover {
  background: var(--vhc-cream);
  border-color: var(--vhc-muted);
  color: var(--vhc-maroon-deep) !important;
}

@media (max-width: 991.98px) {
  .vhc-topnav .navbar-collapse {
    margin-top: 0.75rem;
    padding-top: 0.75rem;
    border-top: 1px solid rgba(15, 61, 46, 0.1);
  }

  .vhc-main-nav .nav-link {
    padding: 0.65rem 0.5rem !important;
    font-size: 1.05rem;
  }
}

/* Dark gradient bar (hero sections only) */
.bg-vhc {
  background: linear-gradient(
    105deg,
    var(--vhc-green) 0%,
    #0d3328 38%,
    var(--vhc-maroon-deep) 100%
  ) !important;
  box-shadow: 0 0.25rem 1rem rgba(0, 0, 0, 0.2);
}

/* Buttons */
.btn-vhc {
  background: linear-gradient(180deg, #ddb968, var(--vhc-gold));
  border: 1px solid #a07d2e;
  color: var(--vhc-maroon-deep) !important;
  font-weight: 700;
  padding: 0.5rem 1.25rem;
  border-radius: 999px;
  box-shadow: 0 0.15rem 0.5rem rgba(201, 162, 77, 0.45);
}

.btn-vhc:hover {
  filter: brightness(1.05);
  transform: translateY(-1px);
}

.btn-outline-vhc {
  border: 2px solid var(--vhc-gold);
  color: var(--vhc-maroon-deep) !important;
  font-weight: 700;
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.55);
}

.btn-outline-vhc:hover {
  background: var(--vhc-gold-soft);
  border-color: #a07d2e;
}

/* Hero */
.vhc-hero {
  position: relative;
  border-radius: calc(var(--vhc-radius) + 0.25rem);
  overflow: hidden;
  background: linear-gradient(135deg, var(--vhc-green) 0%, #0a2a22 45%, var(--vhc-maroon) 100%);
  color: #fdf8f0;
  box-shadow: var(--vhc-shadow);
}

.vhc-hero::after {
  content: '';
  position: absolute;
  inset: 0;
  opacity: 0.15;
  pointer-events: none;
  background-image: repeating-linear-gradient(
    -12deg,
    transparent,
    transparent 3px,
    rgba(255, 255, 255, 0.04) 3px,
    rgba(255, 255, 255, 0.04) 6px
  );
}

.vhc-hero-inner {
  position: relative;
  z-index: 1;
  padding: 2.5rem 2rem;
}

@media (min-width: 992px) {
  .vhc-hero-inner {
    padding: 3rem 3.25rem;
  }
}

.vhc-hero .lead {
  color: rgba(253, 248, 240, 0.88);
  max-width: 36rem;
}

.vhc-hero-badge {
  display: inline-flex;
  align-items: center;
  gap: 0.35rem;
  font-size: 0.8rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.12em;
  padding: 0.35rem 0.85rem;
  border-radius: 999px;
  background: rgba(201, 162, 77, 0.25);
  border: 1px solid rgba(232, 213, 164, 0.45);
  color: var(--vhc-gold-soft);
}

/* Featured panel */
.vhc-feature-panel {
  background: var(--vhc-card);
  border-radius: var(--vhc-radius);
  box-shadow: var(--vhc-shadow);
  border: 1px solid rgba(15, 61, 46, 0.08);
  overflow: hidden;
}

.vhc-feature-head {
  padding: 1rem 1.25rem;
  background: linear-gradient(90deg, rgba(15, 61, 46, 0.06), rgba(201, 162, 77, 0.12));
  border-bottom: 1px solid rgba(15, 61, 46, 0.08);
  font-family: 'Cormorant Garamond', Georgia, serif;
  font-size: 1.35rem;
  font-weight: 700;
  color: var(--vhc-maroon-deep);
}

.vhc-feature-row {
  display: flex;
  gap: 0.75rem;
  align-items: flex-start;
  padding: 0.85rem 1.25rem;
  border-bottom: 1px solid rgba(0, 0, 0, 0.05);
  transition: background 0.15s ease;
  min-width: 0;
}

.vhc-feature-row-body {
  flex: 1 1 0;
  min-width: 0;
  overflow: hidden;
}

.vhc-feature-row-title {
  font-weight: 600;
  color: var(--vhc-ink);
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
  line-clamp: 2;
  overflow: hidden;
  word-break: break-word;
  line-height: 1.3;
  margin-bottom: 0.15rem;
}

.vhc-feature-row-aside {
  flex: 0 0 6.5rem;
  max-width: 42%;
  text-align: right;
  margin-left: auto;
}

.vhc-feature-row-price {
  font-size: 0.8125rem;
  line-height: 1.25;
}

.vhc-feature-row-price .vhc-price-compact-sale {
  display: block;
  font-weight: 700;
  color: var(--vhc-maroon);
  white-space: nowrap;
}

.vhc-feature-row-price .vhc-price-compact-list {
  display: block;
  font-size: 0.75rem;
  white-space: nowrap;
}

.vhc-feature-row-price .vhc-price-compact-off {
  font-size: 0.75rem;
  white-space: nowrap;
}

.vhc-feature-row:last-child {
  border-bottom: 0;
}

.vhc-feature-row:hover {
  background: rgba(201, 162, 77, 0.08);
}

.vhc-feature-thumb {
  width: 4.25rem;
  height: 4.25rem;
  border-radius: 0.65rem;
  object-fit: cover;
  flex-shrink: 0;
  box-shadow: 0 0.15rem 0.5rem rgba(0, 0, 0, 0.12);
}

/* Category tiles */
.vhc-cat-tile {
  position: relative;
  border-radius: var(--vhc-radius);
  padding: 1.35rem 1.25rem;
  min-height: 5.5rem;
  background: var(--vhc-card);
  border: 1px solid rgba(15, 61, 46, 0.1);
  box-shadow: 0 0.25rem 1rem rgba(15, 61, 46, 0.06);
  overflow: hidden;
  transition: transform 0.18s ease, box-shadow 0.18s ease, border-color 0.18s ease;
}

.vhc-cat-tile-bg {
  position: absolute;
  inset: 0;
  background: var(
    --vhc-cat-bg,
    linear-gradient(135deg, rgba(15, 61, 46, 0.15), rgba(201, 162, 77, 0.15))
  );
  opacity: 0.1;
  transition: opacity 0.2s ease, transform 0.25s ease;
}

.vhc-cat-tile:hover {
  transform: translateY(-4px);
  box-shadow: var(--vhc-shadow-hover);
  border-color: rgba(201, 162, 77, 0.55);
}

.vhc-cat-tile:hover .vhc-cat-tile-bg {
  opacity: 0.2;
  transform: scale(1.03);
}

.vhc-cat-label {
  position: relative;
  z-index: 1;
  font-family: 'Cormorant Garamond', Georgia, serif;
  font-size: 1.35rem;
  font-weight: 700;
  color: var(--vhc-maroon-deep);
}

.vhc-cat-hint {
  position: relative;
  z-index: 1;
  font-size: 0.85rem;
  color: var(--vhc-muted);
}

/* Product cards */
.vhc-product-card {
  border-radius: var(--vhc-radius) !important;
  transition: transform 0.2s ease, box-shadow 0.2s ease;
}

.vhc-product-card:hover {
  transform: translateY(-6px);
  box-shadow: var(--vhc-shadow-hover) !important;
}

.vhc-product-card .ratio {
  background: #e8e4dc;
}

.vhc-badge-stock {
  background: rgba(15, 61, 46, 0.12) !important;
  color: var(--vhc-green) !important;
  font-weight: 700;
}

.vhc-badge-sold {
  background: rgba(74, 8, 24, 0.12) !important;
  color: var(--vhc-maroon) !important;
  font-weight: 700;
}

.vhc-item-photo {
  background: #e8e4dc;
}

/* Live spotlight */
.vhc-live-spotlight {
  border-radius: var(--vhc-radius);
  border: 0 !important;
  background: linear-gradient(120deg, rgba(201, 162, 77, 0.35), rgba(255, 255, 255, 0.95));
  box-shadow: var(--vhc-shadow);
}

/* Footer */
.vhc-footer {
  background: linear-gradient(180deg, #1f2a26 0%, #0f1a17 100%) !important;
  color: #d5cec4;
  border-top: 3px solid var(--vhc-gold) !important;
}

.vhc-footer a {
  color: var(--vhc-gold-soft);
  text-decoration: none;
  font-weight: 600;
}

.vhc-footer a:hover {
  text-decoration: underline;
  color: #fff;
}

.vhc-footer .fw-semibold {
  color: #fff;
  font-family: 'Cormorant Garamond', Georgia, serif;
  font-size: 1.2rem;
}

/* --- Shop by category: photo cards --- */
.vhc-cat-photo-link {
  display: block;
  height: 100%;
}

.vhc-cat-photo-card {
  position: relative;
  transition: transform 0.2s ease, box-shadow 0.2s ease;
}

.vhc-cat-photo-link:hover .vhc-cat-photo-card {
  transform: translateY(-6px);
  box-shadow: var(--vhc-shadow-hover) !important;
}

.vhc-cat-photo-overlay {
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  padding: 1rem 1.1rem 1.15rem;
  background: linear-gradient(transparent, rgba(15, 22, 20, 0.92));
}

.vhc-cat-photo-title {
  font-family: 'Cormorant Garamond', Georgia, serif;
  font-size: 1.35rem;
  font-weight: 700;
  color: #fff;
  text-shadow: 0 1px 2px rgba(0, 0, 0, 0.45);
}

.vhc-cat-photo-sub {
  font-size: 0.8rem;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.1em;
  color: var(--vhc-gold-soft);
}

/* --- /live hub (Travancore-style sections) --- */
.vhc-th-live-page .vhc-th-floor {
  background: linear-gradient(125deg, #1a0d12 0%, #2d1218 35%, #0f2d24 70%, #1a3d32 100%);
  border-bottom: 4px solid var(--vhc-gold);
}

.vhc-th-kicker {
  letter-spacing: 0.2em;
  font-weight: 700;
  color: var(--vhc-gold-soft);
  font-size: 0.78rem;
}

.vhc-th-floor-title {
  font-family: 'Cormorant Garamond', Georgia, serif;
  font-weight: 700;
  text-shadow: 0 4px 24px rgba(0, 0, 0, 0.45);
}

.vhc-th-floor-lead {
  max-width: 42rem;
  font-size: 1.1rem;
  color: rgba(255, 255, 255, 0.88);
}

.vhc-th-section {
  background: var(--vhc-cream);
}

.vhc-th-section-alt {
  background: linear-gradient(180deg, #ebe4d9 0%, #f7f1e8 100%);
}

.vhc-th-band-dark {
  background: linear-gradient(180deg, #0f1412 0%, #1a2420 50%, #0f1a17 100%);
  border-top: 1px solid rgba(201, 162, 77, 0.35);
  border-bottom: 1px solid rgba(201, 162, 77, 0.25);
}

.vhc-th-lot-card .stretched-link {
  position: static;
}

.vhc-th-past-card {
  transition: transform 0.18s ease, box-shadow 0.18s ease;
}

.vhc-th-past-card:hover {
  transform: translateY(-4px);
  box-shadow: var(--vhc-shadow-hover) !important;
}

.vhc-th-cta {
  background: linear-gradient(90deg, var(--vhc-maroon-deep), #1a3d32 50%, var(--vhc-maroon) 100%);
  border-top: 3px solid var(--vhc-gold);
}

.py-lg-6 {
  padding-top: 4.5rem !important;
  padding-bottom: 4.5rem !important;
}

/* --- Live bidding room (single lot) --- */
.vhc-th-bid-room-shell {
  background: linear-gradient(145deg, #1f1510, #0d1f1a 55%, #152219 100%);
  border: 1px solid rgba(201, 162, 77, 0.35);
  box-shadow: var(--vhc-shadow);
}

.vhc-th-timer-ring {
  padding: 2rem 1.5rem;
  border-radius: var(--vhc-radius);
  background: radial-gradient(circle at 50% 30%, rgba(201, 162, 77, 0.2), transparent 55%),
    linear-gradient(160deg, rgba(0, 0, 0, 0.35), rgba(15, 61, 46, 0.45));
  border: 2px solid rgba(201, 162, 77, 0.45);
}

.vhc-th-timer-digits {
  font-family: 'Cormorant Garamond', Georgia, serif;
  font-size: clamp(3.5rem, 10vw, 5.5rem);
  font-weight: 700;
  line-height: 1;
  color: var(--vhc-gold-soft);
  text-shadow: 0 0 40px rgba(201, 162, 77, 0.35);
}

.vhc-th-stat {
  min-height: 6.5rem;
  display: flex;
  flex-direction: column;
  justify-content: center;
}

/* --- Item detail photo gallery --- */
.vhc-item-gallery .carousel-item {
  background: #f4f0ea;
}

.vhc-item-gallery .carousel-control-prev,
.vhc-item-gallery .carousel-control-next {
  width: 12%;
  opacity: 0.85;
}

.vhc-item-gallery-indicators {
  margin-bottom: 0.65rem;
}

.vhc-item-gallery-indicators [data-bs-target] {
  width: 0.55rem;
  height: 0.55rem;
  border-radius: 50%;
  background-color: rgba(15, 61, 46, 0.35);
}

.vhc-item-gallery-indicators .active {
  background-color: var(--vhc-gold);
}
