/* ================================================================
   BookMyDecoration — Main Stylesheet v2
   Gold & Black Theme | Birthday Party & Event Decoration
   ================================================================ */

@import url('https://fonts.googleapis.com/css2?family=Playfair+Display:ital,wght@0,700;0,900;1,700&family=Poppins:wght@300;400;500;600;700;800&display=swap');

/* ── Design Tokens ────────────────────────────────────────────── */
:root {
  /* GOLD & BLACK brand palette */
  --bmd-gold:         #D4AF37;
  --bmd-gold-light:   #F0D060;
  --bmd-gold-dark:    #A88A1A;
  --bmd-gold-pale:    #FBF5DC;
  --bmd-black:        #0A0A0A;
  --bmd-dark:         #111111;
  --bmd-dark2:        #1C1C1C;
  --bmd-dark3:        #242424;
  --bmd-charcoal:     #2E2E2E;
  --bmd-pink:         #D4AF37;   /* repurposed — gold as accent */
  --bmd-pink-light:   #F0D060;
  --bmd-pink-pale:    #FBF5DC;
  --bmd-white:        #FFFFFF;
  --bmd-off-white:    #F9F6EE;
  --bmd-gray:         #6B7280;
  --bmd-gray-light:   #F3F4F6;
  --bmd-border:       #E8E0C8;
  --bmd-border-dark:  #333333;
  --bmd-success:      #10B981;
  --bmd-font-display: 'Playfair Display', Georgia, serif;
  --bmd-font-body:    'Poppins', -apple-system, sans-serif;
  --bmd-radius-sm:    8px;
  --bmd-radius:       14px;
  --bmd-radius-lg:    22px;
  --bmd-shadow-sm:    0 2px 8px rgba(0,0,0,.10);
  --bmd-shadow:       0 6px 24px rgba(0,0,0,.15);
  --bmd-shadow-lg:    0 16px 48px rgba(0,0,0,.22);
  --bmd-shadow-gold:  0 8px 28px rgba(212,175,55,.35);
  --bmd-transition:   .25s cubic-bezier(.4,0,.2,1);
  --bmd-max-width:    1280px;
  --bmd-header-h:     70px;
  --bmd-announce-h:   36px;
}

/* ── Reset ────────────────────────────────────────────────────── */
*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }
html { scroll-behavior: smooth; -webkit-text-size-adjust: 100%; }
body {
  font-family: var(--bmd-font-body);
  font-size: 15px; line-height: 1.7;
  color: var(--bmd-dark);
  background: var(--bmd-white);
  overflow-x: hidden;
}
img { max-width: 100%; height: auto; display: block; }
a { color: inherit; text-decoration: none; }
ul, ol { list-style: none; }
button { cursor: pointer; font-family: inherit; }
input, textarea, select { font-family: inherit; }

/* ── Container ─────────────────────────────────────────────────── */
.bmd-container {
  width: 100%;
  max-width: var(--bmd-max-width);
  margin: 0 auto;
  padding: 0 clamp(16px, 4vw, 48px);
}

/* ════════════════════════════════════════════════════════════════
   ANNOUNCEMENT BAR
   ════════════════════════════════════════════════════════════════ */
.bmd-announce {
  background: var(--bmd-dark);
  color: var(--bmd-gold-light);
  text-align: center;
  padding: 0 16px;
  height: var(--bmd-announce-h);
  display: flex; align-items: center; justify-content: center;
  font-size: 12px; font-weight: 600; letter-spacing: .04em;
  border-bottom: 1px solid var(--bmd-gold-dark);
  position: relative; z-index: 1001;
}
.bmd-announce a { color: var(--bmd-gold); font-weight: 800; }
.bmd-announce strong { color: var(--bmd-gold); }

/* ════════════════════════════════════════════════════════════════
   HEADER — fixed, correct offset
   ════════════════════════════════════════════════════════════════ */
.bmd-header {
  position: fixed;
  top: 0; left: 0; right: 0;
  height: var(--bmd-header-h);
  background: rgba(255,255,255,.97);
  backdrop-filter: blur(14px);
  border-bottom: 2px solid var(--bmd-gold-dark);
  z-index: 1000;
  transition: box-shadow var(--bmd-transition);
}
.bmd-header.scrolled { box-shadow: 0 4px 24px rgba(0,0,0,.15); }

/* When announce bar present, push header down */
body.has-announce .bmd-header { top: var(--bmd-announce-h); }

/* Body padding = header + optional announce bar */
body {
  padding-top: var(--bmd-header-h);
}
body.has-announce {
  padding-top: calc(var(--bmd-header-h) + var(--bmd-announce-h));
}

.bmd-header__inner {
  display: flex; align-items: center; justify-content: space-between;
  height: 100%;
  max-width: var(--bmd-max-width);
  margin: 0 auto;
  padding: 0 clamp(16px, 4vw, 48px);
  gap: 20px;
}

/* ── Logo ────────────────────────────────────── */
.bmd-logo {
  display: flex; align-items: center; gap: 10px;
  flex-shrink: 0; text-decoration: none !important;
}
.bmd-logo img, .bmd-logo__img {
  height: 46px; width: auto; object-fit: contain;
}
.bmd-logo__text { display: flex; flex-direction: column; line-height: 1.1; }
.bmd-logo__name {
  font-family: var(--bmd-font-display);
  font-size: 20px; font-weight: 900;
  /* Gold to dark-gold gradient — matches your existing logo */
  background: linear-gradient(135deg, var(--bmd-gold), var(--bmd-gold-dark));
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
}
.bmd-logo__tagline {
  font-size: 9px; font-weight: 700; letter-spacing: .14em;
  text-transform: uppercase; color: var(--bmd-charcoal);
}

/* ── Nav ─────────────────────────────────────── */
.bmd-nav { display: flex; align-items: center; gap: 2px; }
.bmd-nav__item {
  position: relative; font-size: 13px; font-weight: 600;
  color: var(--bmd-dark); padding: 8px 13px; border-radius: var(--bmd-radius-sm);
  transition: background var(--bmd-transition), color var(--bmd-transition);
  white-space: nowrap; cursor: pointer;
}
.bmd-nav__item a { color: inherit; display: block; }
.bmd-nav__item:hover { color: var(--bmd-gold-dark); background: var(--bmd-gold-pale); }
.bmd-nav__item.current-menu-item { color: var(--bmd-gold-dark); }
.bmd-nav__item.current-menu-item::after {
  content: ''; position: absolute; bottom: 4px; left: 13px; right: 13px;
  height: 2px; background: var(--bmd-gold); border-radius: 99px;
}

/* Dropdown */
.bmd-nav__item.has-dropdown { position: relative; }
.bmd-nav__item.has-dropdown:hover .bmd-dropdown { opacity:1; visibility:visible; transform:translateY(0); }
.bmd-dropdown {
  position: absolute; top: calc(100% + 8px); left: 0;
  min-width: 210px; background: var(--bmd-white);
  border-radius: var(--bmd-radius); box-shadow: var(--bmd-shadow-lg);
  border: 1px solid var(--bmd-border); padding: 6px;
  opacity: 0; visibility: hidden; transform: translateY(-8px);
  transition: all var(--bmd-transition); z-index: 200;
}
.bmd-dropdown a {
  display: block; padding: 9px 13px; font-size: 13px; font-weight: 500;
  border-radius: var(--bmd-radius-sm); color: var(--bmd-dark);
  transition: background var(--bmd-transition);
}
.bmd-dropdown a:hover { background: var(--bmd-gold-pale); color: var(--bmd-gold-dark); }

/* Header actions */
.bmd-header__actions { display: flex; align-items: center; gap: 6px; flex-shrink: 0; }
.bmd-header__phone {
  display: flex; align-items: center; gap: 6px;
  font-size: 13px; font-weight: 700;
  color: var(--bmd-dark); padding: 7px 14px; border-radius: 99px;
  border: 2px solid var(--bmd-gold);
  transition: all var(--bmd-transition);
  white-space: nowrap;
}
.bmd-header__phone:hover { background: var(--bmd-gold); color: var(--bmd-dark); }
.bmd-header__phone svg { width: 14px; height: 14px; flex-shrink: 0; }

.bmd-icon-btn {
  position: relative; width: 38px; height: 38px; border-radius: 99px;
  background: var(--bmd-gray-light); border: none;
  display: flex; align-items: center; justify-content: center;
  transition: background var(--bmd-transition); color: var(--bmd-dark);
}
.bmd-icon-btn:hover { background: var(--bmd-gold-pale); color: var(--bmd-gold-dark); }
.bmd-icon-btn svg { width: 18px; height: 18px; }
.bmd-cart-count {
  position: absolute; top: -4px; right: -4px;
  width: 18px; height: 18px; border-radius: 50%;
  background: var(--bmd-gold); color: var(--bmd-dark);
  font-size: 9px; font-weight: 900;
  display: flex; align-items: center; justify-content: center;
  border: 2px solid #fff;
}

/* Hamburger */
.bmd-hamburger {
  display: none; flex-direction: column; gap: 5px;
  width: 40px; height: 40px; border: none; background: none;
  align-items: center; justify-content: center;
}
.bmd-hamburger span {
  display: block; width: 22px; height: 2px; border-radius: 2px;
  background: var(--bmd-dark); transition: all .3s;
}
.bmd-hamburger.open span:nth-child(1) { transform: rotate(45deg) translate(5px,5px); }
.bmd-hamburger.open span:nth-child(2) { opacity: 0; }
.bmd-hamburger.open span:nth-child(3) { transform: rotate(-45deg) translate(5px,-5px); }

/* Mobile nav */
.bmd-mobile-nav {
  display: block; position: fixed;
  top: var(--bmd-header-h); left: 0; right: 0; bottom: 0;
  background: var(--bmd-white); z-index: 999; overflow-y: auto;
  padding: 20px clamp(16px,5vw,32px) 60px;
  transform: translateX(100%); transition: transform .35s cubic-bezier(.4,0,.2,1);
  border-top: 1px solid var(--bmd-border);
}
body.has-announce .bmd-mobile-nav { top: calc(var(--bmd-header-h) + var(--bmd-announce-h)); }
.bmd-mobile-nav.open { transform: translateX(0); }
.bmd-mobile-nav a {
  display: block; padding: 13px 0; font-size: 15px; font-weight: 600;
  border-bottom: 1px solid var(--bmd-gray-light); color: var(--bmd-dark);
}
.bmd-mobile-nav a:hover { color: var(--bmd-gold-dark); }

/* ════════════════════════════════════════════════════════════════
   HERO SLIDER — no gap, precise height
   ════════════════════════════════════════════════════════════════ */
.bmd-hero {
  position: relative; width: 100%;
  /* Fill exactly the remaining viewport after header (+ announce) */
  height: calc(100vh - var(--bmd-header-h));
  min-height: 500px; max-height: 860px;
  overflow: hidden;
  background: var(--bmd-dark);
  /* Remove any margin/padding gap */
  margin: 0; padding: 0;
}
body.has-announce .bmd-hero {
  height: calc(100vh - var(--bmd-header-h) - var(--bmd-announce-h));
}

.bmd-hero__canvas {
  position: absolute; inset: 0; z-index: 1;
  pointer-events: none; width: 100%; height: 100%;
}

.bmd-slide {
  position: absolute; inset: 0; z-index: 2;
  display: flex; align-items: center;
  opacity: 0; transition: opacity .9s ease;
}
.bmd-slide.active { opacity: 1; z-index: 3; }

.bmd-slide__bg {
  position: absolute; inset: 0;
  background-size: cover; background-position: center;
  transition: transform 8s ease;
}
.bmd-slide.active .bmd-slide__bg { transform: scale(1.05); }
.bmd-slide__bg::after {
  content: ''; position: absolute; inset: 0;
  background: linear-gradient(115deg, rgba(10,10,10,.92) 0%, rgba(10,10,10,.65) 50%, rgba(10,10,10,.25) 100%);
}

/* Gold-tinted gradient slides */
.bmd-slide--1 .bmd-slide__bg { background-image: radial-gradient(ellipse at 75% 50%, #2A2000 0%, #0A0A0A 70%); }
.bmd-slide--2 .bmd-slide__bg { background-image: radial-gradient(ellipse at 30% 60%, #1A1500 0%, #0A0A0A 65%); }
.bmd-slide--3 .bmd-slide__bg { background-image: radial-gradient(ellipse at 60% 40%, #221B00 0%, #2A2000 50%, #0A0A0A 80%); }

/* Deco emojis */
.bmd-slide__deco {
  position: absolute; right: 7%; top: 50%; transform: translateY(-50%);
  z-index: 4; pointer-events: none; text-align: center;
  animation: bmdFloat 4s ease-in-out infinite;
}
.bmd-slide__deco span { display: block; font-size: clamp(40px,5.5vw,82px); line-height: 1.2; }

@keyframes bmdFloat { 0%,100%{transform:translateY(-50%) rotate(-3deg)} 50%{transform:translateY(calc(-50% - 18px)) rotate(3deg)} }

/* Slide content */
.bmd-slide__content {
  position: relative; z-index: 5;
  padding: 0 clamp(24px,6vw,96px);
  max-width: min(640px, 90vw);
}
.bmd-slide__pill {
  display: inline-flex; align-items: center; gap: 6px;
  background: var(--bmd-gold);
  color: var(--bmd-dark);
  font-size: 10px; font-weight: 800; letter-spacing: .18em; text-transform: uppercase;
  padding: 6px 16px; border-radius: 99px; margin-bottom: 18px;
  animation: bmdFadeUp .5s .15s both;
}
.bmd-slide__title {
  font-family: var(--bmd-font-display);
  font-size: clamp(30px,4.8vw,64px); font-weight: 900; line-height: 1.06;
  color: #fff; margin-bottom: 14px;
  animation: bmdFadeUp .5s .30s both;
}
.bmd-slide__title em { font-style: italic; color: var(--bmd-gold-light); }
.bmd-slide__sub {
  font-size: clamp(13px,1.4vw,16px); color: rgba(255,255,255,.78);
  line-height: 1.75; margin-bottom: 28px;
  animation: bmdFadeUp .5s .45s both;
}
.bmd-slide__ctas { display: flex; gap: 12px; flex-wrap: wrap; animation: bmdFadeUp .5s .6s both; }

@keyframes bmdFadeUp { from{opacity:0;transform:translateY(22px)} to{opacity:1;transform:none} }

/* Slider controls */
.bmd-slider__prev, .bmd-slider__next {
  position: absolute; top: 50%; transform: translateY(-50%);
  width: 44px; height: 44px; border-radius: 50%; z-index: 10;
  background: rgba(212,175,55,.15); border: 2px solid rgba(212,175,55,.4);
  color: var(--bmd-gold); font-size: 18px; backdrop-filter: blur(6px);
  display: flex; align-items: center; justify-content: center;
  transition: all .2s;
}
.bmd-slider__prev:hover, .bmd-slider__next:hover {
  background: var(--bmd-gold); border-color: var(--bmd-gold); color: var(--bmd-dark);
}
.bmd-slider__prev { left: 18px; }
.bmd-slider__next { right: 18px; }

.bmd-slider__dots {
  position: absolute; bottom: 22px; left: 50%; transform: translateX(-50%);
  display: flex; gap: 8px; z-index: 10;
}
.bmd-slider__dot {
  width: 8px; height: 8px; border-radius: 99px; border: none;
  background: rgba(255,255,255,.3); cursor: pointer; padding: 0;
  transition: background .3s, width .3s;
}
.bmd-slider__dot.active { background: var(--bmd-gold); width: 24px; }

/* ════════════════════════════════════════════════════════════════
   MARQUEE
   ════════════════════════════════════════════════════════════════ */
.bmd-marquee {
  background: var(--bmd-dark);
  border-top: 1px solid var(--bmd-gold-dark);
  border-bottom: 1px solid var(--bmd-gold-dark);
  padding: 10px 0; overflow: hidden;
}
.bmd-marquee__track { display: flex; width: max-content; animation: bmdMarquee 26s linear infinite; }
.bmd-marquee__item {
  display: inline-flex; align-items: center; gap: 8px;
  color: var(--bmd-gold-light); font-size: 11px; font-weight: 700;
  letter-spacing: .12em; text-transform: uppercase; padding: 0 28px; white-space: nowrap;
}
.bmd-marquee__item::before { content: '✦'; color: var(--bmd-gold); font-size: 10px; }
@keyframes bmdMarquee { to { transform: translateX(-50%); } }

/* ════════════════════════════════════════════════════════════════
   SHARED SECTION
   ════════════════════════════════════════════════════════════════ */
.bmd-section { padding: clamp(52px,6.5vw,100px) 0; }
.bmd-section--cream  { background: var(--bmd-off-white); }
.bmd-section--white  { background: var(--bmd-white); }
.bmd-section--dark   { background: var(--bmd-dark); }
.bmd-section--dark2  { background: var(--bmd-dark2); }
.bmd-section--gray   { background: var(--bmd-gray-light); }

.bmd-section-pill {
  display: inline-block; font-size: 10px; font-weight: 800;
  letter-spacing: .18em; text-transform: uppercase;
  color: var(--bmd-gold-dark); margin-bottom: 10px;
}
.bmd-section-title {
  font-family: var(--bmd-font-display);
  font-size: clamp(22px,2.8vw,42px); font-weight: 900; line-height: 1.1;
  color: var(--bmd-dark); margin-bottom: 12px;
}
.bmd-section-body {
  font-size: 15px; line-height: 1.8;
  color: rgba(17,17,17,.60); max-width: 540px;
}
.bmd-section-header { margin-bottom: 44px; }
.bmd-section-header--center { text-align: center; }
.bmd-section-header--center .bmd-section-body { margin: 0 auto; }

/* ════════════════════════════════════════════════════════════════
   BUTTONS
   ════════════════════════════════════════════════════════════════ */
.bmd-btn {
  display: inline-flex; align-items: center; justify-content: center; gap: 7px;
  padding: 13px 28px; border-radius: 99px;
  font-family: var(--bmd-font-body); font-size: 13px; font-weight: 700;
  letter-spacing: .03em; border: 2px solid transparent; cursor: pointer;
  white-space: nowrap; text-decoration: none !important;
  transition: transform var(--bmd-transition), box-shadow var(--bmd-transition), background var(--bmd-transition);
}
.bmd-btn:hover { transform: translateY(-2px); text-decoration: none !important; }

.bmd-btn--primary {
  background: linear-gradient(135deg, var(--bmd-gold), var(--bmd-gold-dark));
  color: var(--bmd-dark) !important;
  box-shadow: var(--bmd-shadow-gold);
  border-color: transparent;
}
.bmd-btn--primary:hover { box-shadow: 0 12px 36px rgba(212,175,55,.5); color: var(--bmd-dark) !important; }

.bmd-btn--outline {
  background: transparent; color: #fff !important;
  border-color: rgba(212,175,55,.5);
}
.bmd-btn--outline:hover { background: rgba(212,175,55,.12); border-color: var(--bmd-gold); }

.bmd-btn--dark {
  background: var(--bmd-dark); color: var(--bmd-gold) !important;
  border-color: var(--bmd-gold-dark);
}
.bmd-btn--dark:hover { background: var(--bmd-dark2); }

.bmd-btn--ghost {
  background: transparent; color: var(--bmd-gold-dark) !important;
  border-color: var(--bmd-gold);
}
.bmd-btn--ghost:hover { background: var(--bmd-gold-pale); }

.bmd-btn--gold {
  background: linear-gradient(135deg, var(--bmd-gold), var(--bmd-gold-dark));
  color: var(--bmd-dark) !important;
  box-shadow: var(--bmd-shadow-gold);
}
.bmd-btn--sm  { padding: 8px 18px; font-size: 12px; }
.bmd-btn--lg  { padding: 16px 38px; font-size: 15px; }

/* ════════════════════════════════════════════════════════════════
   CATEGORY GRID
   ════════════════════════════════════════════════════════════════ */
.bmd-cat-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(160px, 1fr));
  gap: 14px;
}
.bmd-cat-card {
  position: relative; border-radius: var(--bmd-radius); overflow: hidden;
  aspect-ratio: 3/4; display: block; text-decoration: none !important;
  transition: transform var(--bmd-transition), box-shadow var(--bmd-transition);
  border: 1px solid rgba(212,175,55,.15);
}
.bmd-cat-card:hover { transform: translateY(-6px); box-shadow: 0 16px 40px rgba(0,0,0,.25); }
.bmd-cat-card__bg {
  position: absolute; inset: 0; background-size: cover; background-position: center;
  transition: transform .5s ease;
}
.bmd-cat-card:hover .bmd-cat-card__bg { transform: scale(1.07); }
.bmd-cat-card__overlay {
  position: absolute; inset: 0;
  background: linear-gradient(to top, rgba(10,10,10,.9) 0%, rgba(10,10,10,.2) 60%);
}
/* gold shimmer overlay on hover */
.bmd-cat-card::after {
  content: ''; position: absolute; inset: 0;
  background: linear-gradient(135deg, rgba(212,175,55,.0) 0%, rgba(212,175,55,.12) 100%);
  opacity: 0; transition: opacity .3s;
}
.bmd-cat-card:hover::after { opacity: 1; }

.bmd-cat-card__emoji {
  position: absolute; top: 16px; left: 50%; transform: translateX(-50%);
  font-size: clamp(34px,3.5vw,50px); z-index: 2;
  filter: drop-shadow(0 4px 10px rgba(0,0,0,.3));
}
.bmd-cat-card__info {
  position: absolute; bottom: 0; left: 0; right: 0; z-index: 2;
  padding: 36px 12px 14px; color: #fff; text-align: center;
}
.bmd-cat-card__name { font-size: 13px; font-weight: 700; margin-bottom: 2px; }
.bmd-cat-card__count { font-size: 10px; color: var(--bmd-gold-light); }

/* Gradient themes — dark/gold palette */
.bmd-cat-card--1 .bmd-cat-card__bg { background-image: linear-gradient(160deg, #1a1500, #3d3000); }
.bmd-cat-card--2 .bmd-cat-card__bg { background-image: linear-gradient(160deg, #2a2000, #0a0a0a); }
.bmd-cat-card--3 .bmd-cat-card__bg { background-image: linear-gradient(160deg, #0a0a0a, #2a2000); }
.bmd-cat-card--4 .bmd-cat-card__bg { background-image: linear-gradient(160deg, #3d3000, #1a1500); }
.bmd-cat-card--5 .bmd-cat-card__bg { background-image: linear-gradient(160deg, #1c1c1c, #3d3000); }
.bmd-cat-card--6 .bmd-cat-card__bg { background-image: linear-gradient(160deg, #242424, #2a2000); }
.bmd-cat-card--7 .bmd-cat-card__bg { background-image: linear-gradient(160deg, #2a2000, #1c1c1c); }
.bmd-cat-card--8 .bmd-cat-card__bg { background-image: linear-gradient(160deg, #0a0a0a, #3d3000); }

/* ════════════════════════════════════════════════════════════════
   VIDEO SECTION
   ════════════════════════════════════════════════════════════════ */
.bmd-video-layout {
  display: grid; grid-template-columns: 1fr 1fr; gap: 52px; align-items: center;
}
@media(max-width:860px){ .bmd-video-layout { grid-template-columns: 1fr; } }

.bmd-video-frame {
  position: relative; border-radius: var(--bmd-radius-lg);
  overflow: hidden; aspect-ratio: 16/9;
  box-shadow: 0 24px 80px rgba(0,0,0,.5);
}
.bmd-video-frame::before {
  content: ''; position: absolute; inset: -3px;
  border-radius: calc(var(--bmd-radius-lg) + 3px);
  background: linear-gradient(135deg, var(--bmd-gold), var(--bmd-gold-dark), var(--bmd-dark));
  z-index: -1; animation: bmdGlow 3s ease-in-out infinite alternate;
}
@keyframes bmdGlow { to { filter: blur(10px) brightness(1.5); } }

.bmd-video-frame video, .bmd-video-frame iframe {
  width: 100%; height: 100%; object-fit: cover; display: block;
}
.bmd-video-placeholder {
  width: 100%; height: 100%;
  background: linear-gradient(135deg, var(--bmd-dark2), var(--bmd-charcoal));
  display: flex; align-items: center; justify-content: center; font-size: 80px;
}
.bmd-video-play {
  position: absolute; inset: 0;
  display: flex; align-items: center; justify-content: center;
  background: rgba(0,0,0,.3); cursor: pointer; transition: background .2s;
}
.bmd-video-play:hover { background: rgba(0,0,0,.1); }
.bmd-video-play__icon {
  width: 66px; height: 66px; border-radius: 50%;
  background: linear-gradient(135deg, var(--bmd-gold), var(--bmd-gold-dark));
  display: flex; align-items: center; justify-content: center;
  box-shadow: 0 0 0 14px rgba(212,175,55,.2), 0 0 0 28px rgba(212,175,55,.07);
  transition: transform .2s;
}
.bmd-video-play:hover .bmd-video-play__icon { transform: scale(1.1); }
.bmd-video-play__icon svg { width: 26px; height: 26px; fill: var(--bmd-dark); margin-left: 4px; }

.bmd-stats { display: flex; gap: 28px; flex-wrap: wrap; margin-top: 26px; }
.bmd-stat__num {
  font-family: var(--bmd-font-display); font-size: 34px; font-weight: 900;
  color: var(--bmd-gold); line-height: 1;
}
.bmd-stat__num sup { font-size: 16px; }
.bmd-stat__label {
  font-size: 11px; font-weight: 600; letter-spacing: .1em; text-transform: uppercase;
  color: rgba(255,255,255,.45); margin-top: 3px;
}

/* ════════════════════════════════════════════════════════════════
   WOOCOMMERCE PRODUCT CARDS — Clean, No Conflicts
   ════════════════════════════════════════════════════════════════ */

/* Override WC defaults */
.woocommerce ul.products,
.woocommerce-page ul.products {
  display: grid !important;
  grid-template-columns: repeat(3, 1fr) !important;
  gap: 22px !important;
  float: none !important; clear: both !important;
  padding: 0 !important; margin: 0 !important;
  list-style: none !important; width: 100% !important;
}

/* Responsive columns */
@media(max-width:1100px){
  .woocommerce ul.products, .woocommerce-page ul.products {
    grid-template-columns: repeat(3, 1fr) !important;
  }
}
@media(max-width:720px){
  .woocommerce ul.products, .woocommerce-page ul.products {
    grid-template-columns: repeat(2, 1fr) !important;
    gap: 14px !important;
  }
}
@media(max-width:400px){
  .woocommerce ul.products, .woocommerce-page ul.products {
    grid-template-columns: 1fr !important;
  }
}

.woocommerce ul.products li.product,
.woocommerce-page ul.products li.product {
  float: none !important; margin: 0 !important; padding: 0 !important;
  width: 100% !important;
  /* Gold & Black card */
  background: var(--bmd-white) !important;
  border-radius: var(--bmd-radius) !important;
  overflow: hidden !important;
  box-shadow: 0 2px 12px rgba(0,0,0,.08) !important;
  border: 1px solid var(--bmd-border) !important;
  transition: transform var(--bmd-transition), box-shadow var(--bmd-transition), border-color var(--bmd-transition) !important;
  display: flex !important; flex-direction: column !important;
  /* Text direction fix */
  writing-mode: horizontal-tb !important;
  transform: none !important; text-orientation: mixed !important; direction: ltr !important;
  position: relative !important;
}
.woocommerce ul.products li.product:hover {
  transform: translateY(-5px) !important;
  box-shadow: 0 12px 40px rgba(0,0,0,.18) !important;
  border-color: var(--bmd-gold) !important;
}

/* Product image */
.woocommerce ul.products li.product a.woocommerce-LoopProduct-link {
  display: block !important; text-decoration: none !important;
}
.woocommerce ul.products li.product img {
  width: 100% !important;
  height: 220px !important;
  object-fit: cover !important;
  display: block !important;
  writing-mode: horizontal-tb !important;
  transform: none !important;
  transition: transform .4s ease !important;
  border-radius: 0 !important;
}
.woocommerce ul.products li.product:hover img { transform: scale(1.04) !important; }

/* Sale badge — compact */
.woocommerce ul.products li.product .onsale {
  position: absolute !important;
  top: 10px !important; left: 10px !important;
  right: auto !important; /* prevent full-width */
  width: auto !important; /* compact size */
  min-height: auto !important;
  background: var(--bmd-gold) !important;
  color: var(--bmd-dark) !important;
  font-size: 10px !important; font-weight: 800 !important;
  padding: 3px 10px !important;
  border-radius: 99px !important;
  z-index: 3 !important;
  writing-mode: horizontal-tb !important;
  transform: none !important;
  line-height: 1.6 !important;
  margin: 0 !important;
  display: inline-block !important;
}

/* Product info */
.woocommerce ul.products li.product .bmd-product-info {
  padding: 12px 14px; flex: 1; display: flex; flex-direction: column;
}
/* Title */
.woocommerce ul.products li.product .woocommerce-loop-product__title,
.woocommerce ul.products li.product h2 {
  font-family: var(--bmd-font-body) !important;
  font-size: 13px !important; font-weight: 700 !important; line-height: 1.4 !important;
  color: var(--bmd-dark) !important;
  writing-mode: horizontal-tb !important; transform: none !important;
  direction: ltr !important; white-space: normal !important;
  overflow: hidden !important; display: -webkit-box !important;
  -webkit-line-clamp: 2 !important; -webkit-box-orient: vertical !important;
  margin: 0 0 6px !important; padding: 0 !important;
}
/* Price */
.woocommerce ul.products li.product .price {
  font-size: 15px !important; font-weight: 800 !important;
  color: var(--bmd-dark) !important;
  writing-mode: horizontal-tb !important; transform: none !important;
  display: block !important; margin: 0 0 6px !important; padding: 0 !important;
  line-height: 1.4 !important;
}
.woocommerce ul.products li.product .price del {
  color: var(--bmd-gray) !important; font-size: 12px !important;
  font-weight: 500 !important; display: inline !important;
}
.woocommerce ul.products li.product .price ins {
  text-decoration: none !important; font-weight: 800 !important;
  color: var(--bmd-gold-dark) !important;
}
/* Stars */
.woocommerce ul.products li.product .star-rating {
  writing-mode: horizontal-tb !important; transform: none !important;
  font-size: 11px !important; margin: 0 0 6px !important;
  float: none !important; color: var(--bmd-gold) !important;
}
/* Add to cart button */
.woocommerce ul.products li.product .button,
.woocommerce ul.products li.product a.button,
.woocommerce ul.products li.product .add_to_cart_button {
  display: block !important;
  width: calc(100% - 28px) !important;
  margin: auto 14px 14px !important;
  background: linear-gradient(135deg, var(--bmd-gold), var(--bmd-gold-dark)) !important;
  color: var(--bmd-dark) !important; border-radius: 99px !important;
  padding: 10px 16px !important; text-align: center !important;
  font-family: var(--bmd-font-body) !important;
  font-size: 12px !important; font-weight: 800 !important;
  letter-spacing: .04em !important; border: none !important;
  writing-mode: horizontal-tb !important; transform: none !important;
  transition: box-shadow .2s, transform .2s !important; cursor: pointer !important;
  text-decoration: none !important; text-transform: uppercase !important;
}
.woocommerce ul.products li.product .button:hover,
.woocommerce ul.products li.product a.button:hover {
  transform: translateY(-2px) !important;
  box-shadow: var(--bmd-shadow-gold) !important;
  color: var(--bmd-dark) !important;
  text-decoration: none !important;
}

/* ════════════════════════════════════════════════════════════════
   SINGLE PRODUCT — Full gallery + layout
   ════════════════════════════════════════════════════════════════ */
.bmd-single-product { padding: clamp(28px,4vw,60px) 0; }

.bmd-product-layout {
  display: grid; grid-template-columns: 1fr 1fr;
  gap: clamp(28px,4vw,64px); align-items: start;
}
@media(max-width:768px){ .bmd-product-layout { grid-template-columns: 1fr; } }

/* Gallery */
.bmd-gallery-wrap { position: sticky; top: calc(var(--bmd-header-h) + 20px); }
body.has-announce .bmd-gallery-wrap { top: calc(var(--bmd-header-h) + var(--bmd-announce-h) + 20px); }

.bmd-product-gallery__main {
  border-radius: var(--bmd-radius-lg);
  overflow: hidden;
  aspect-ratio: 1;
  background: var(--bmd-gray-light);
  position: relative;
  border: 2px solid var(--bmd-border);
  cursor: zoom-in;
}
.bmd-product-gallery__main img {
  width: 100%; height: 100%; object-fit: cover;
  display: block;
  transition: transform .35s ease;
}
.bmd-product-gallery__main:hover img { transform: scale(1.04); }

/* Lightbox trigger badge */
.bmd-gallery-zoom {
  position: absolute; bottom: 12px; right: 12px;
  background: rgba(0,0,0,.55); color: #fff; border: none;
  width: 36px; height: 36px; border-radius: 8px;
  display: flex; align-items: center; justify-content: center;
  font-size: 16px; cursor: pointer; backdrop-filter: blur(4px);
  transition: background .2s;
}
.bmd-gallery-zoom:hover { background: var(--bmd-gold); color: var(--bmd-dark); }

/* Thumbnails */
.bmd-product-gallery__thumbs {
  display: flex; gap: 8px; margin-top: 10px; flex-wrap: wrap;
}
.bmd-thumb-btn {
  width: 68px; height: 68px; border-radius: 10px; overflow: hidden;
  cursor: pointer; border: 2px solid transparent;
  transition: border-color .2s, box-shadow .2s;
  padding: 0; background: none; flex-shrink: 0;
}
.bmd-thumb-btn img {
  width: 100%; height: 100%; object-fit: cover; display: block;
}
.bmd-thumb-btn:hover { border-color: var(--bmd-gold-dark); }
.bmd-thumb-btn.active {
  border-color: var(--bmd-gold);
  box-shadow: 0 0 0 2px rgba(212,175,55,.3);
}

/* Product info */
.bmd-product-info__breadcrumb {
  font-size: 12px; color: var(--bmd-gray); margin-bottom: 10px;
}
.bmd-product-info__breadcrumb a { color: var(--bmd-gray); }
.bmd-product-info__breadcrumb a:hover { color: var(--bmd-gold-dark); }

.bmd-product-info__cats {
  display: flex; gap: 6px; flex-wrap: wrap; margin-bottom: 10px;
}
.bmd-product-info__cat {
  background: var(--bmd-gold-pale); color: var(--bmd-gold-dark);
  font-size: 10px; font-weight: 700; letter-spacing: .1em;
  text-transform: uppercase; padding: 3px 10px; border-radius: 99px;
  border: 1px solid var(--bmd-gold-dark);
}

.bmd-product-info__title {
  font-family: var(--bmd-font-display);
  font-size: clamp(20px,2.8vw,34px); font-weight: 900; line-height: 1.1;
  color: var(--bmd-dark); margin-bottom: 10px;
}
.bmd-product-info__stars {
  display: flex; align-items: center; gap: 8px; margin-bottom: 12px;
}
.bmd-product-info__stars .bmd-stars { color: var(--bmd-gold); font-size: 14px; }
.bmd-product-info__stars .bmd-review-count { font-size: 12px; color: var(--bmd-gray); }

.bmd-product-info__price {
  display: flex; align-items: baseline; gap: 10px; margin-bottom: 18px; flex-wrap: wrap;
}
.bmd-product-info__price .current {
  font-size: clamp(22px,2.8vw,30px); font-weight: 900; color: var(--bmd-gold-dark);
}
.bmd-product-info__price .original {
  font-size: 15px; color: var(--bmd-gray); text-decoration: line-through;
}
.bmd-product-info__price .save-badge {
  background: var(--bmd-gold); color: var(--bmd-dark);
  font-size: 10px; font-weight: 800; padding: 2px 8px; border-radius: 99px;
}
.bmd-product-info__desc {
  font-size: 14px; line-height: 1.8; color: rgba(17,17,17,.68);
  margin-bottom: 20px; padding-bottom: 20px; border-bottom: 1px solid var(--bmd-border);
}

/* Advance Payment Box */
.bmd-advance-box {
  background: var(--bmd-dark); border-radius: var(--bmd-radius);
  padding: 18px; margin-bottom: 20px;
  border: 1px solid var(--bmd-gold-dark);
  display: none; /* shown only for decoration products */
}
.has-advance-payment .bmd-advance-box { display: block; }
.bmd-advance-box__title {
  font-size: 13px; font-weight: 700; color: var(--bmd-gold);
  margin-bottom: 10px; display: flex; align-items: center; gap: 8px;
}
.bmd-advance-box__options { display: flex; flex-direction: column; gap: 8px; }
.bmd-advance-option {
  display: flex; align-items: flex-start; gap: 10px; padding: 11px 13px;
  border-radius: 10px; cursor: pointer;
  background: rgba(255,255,255,.05); border: 2px solid transparent;
  transition: border-color .2s, background .2s;
}
.bmd-advance-option.selected { border-color: var(--bmd-gold); background: rgba(212,175,55,.08); }
.bmd-advance-option input[type=radio] { margin-top: 2px; accent-color: var(--bmd-gold); flex-shrink: 0; }
.bmd-advance-option__label { font-size: 13px; font-weight: 600; color: #fff; display: block; margin-bottom: 2px; }
.bmd-advance-option__sub { font-size: 11px; color: rgba(255,255,255,.5); }
.bmd-advance-option__price { font-size: 15px; font-weight: 800; color: var(--bmd-gold); margin-top: 4px; }

/* Trust row */
.bmd-trust-row {
  display: flex; gap: 14px; flex-wrap: wrap;
  padding-top: 16px; border-top: 1px solid var(--bmd-border); margin-top: 16px;
}
.bmd-trust-item {
  display: flex; align-items: center; gap: 5px;
  font-size: 11px; font-weight: 600; color: var(--bmd-gray);
}
.bmd-trust-item svg { width: 14px; height: 14px; color: var(--bmd-success); flex-shrink: 0; }

/* Gallery Lightbox */
.bmd-img-lightbox {
  display: none; position: fixed; inset: 0;
  background: rgba(0,0,0,.92); z-index: 9999;
  align-items: center; justify-content: center;
}
.bmd-img-lightbox.open { display: flex; }
.bmd-img-lightbox__close {
  position: absolute; top: 16px; right: 20px;
  background: none; border: none; color: #fff; font-size: 36px; cursor: pointer; line-height: 1;
}
.bmd-img-lightbox__img {
  max-width: 90vw; max-height: 88vh; border-radius: 12px;
  object-fit: contain; box-shadow: 0 24px 80px rgba(0,0,0,.6);
}
.bmd-img-lightbox__prev,
.bmd-img-lightbox__next {
  position: absolute; top: 50%; transform: translateY(-50%);
  background: rgba(212,175,55,.2); border: 2px solid var(--bmd-gold);
  color: var(--bmd-gold); width: 44px; height: 44px; border-radius: 50%;
  font-size: 20px; cursor: pointer;
  display: flex; align-items: center; justify-content: center;
  transition: background .2s;
}
.bmd-img-lightbox__prev:hover, .bmd-img-lightbox__next:hover { background: var(--bmd-gold); color: var(--bmd-dark); }
.bmd-img-lightbox__prev { left: 20px; }
.bmd-img-lightbox__next { right: 20px; }

/* ════════════════════════════════════════════════════════════════
   ADVANCE PAYMENT STRIP
   ════════════════════════════════════════════════════════════════ */
.bmd-advance-strip {
  background: var(--bmd-dark);
  border-top: 2px solid var(--bmd-gold-dark);
  border-bottom: 2px solid var(--bmd-gold-dark);
  padding: 18px clamp(16px,4vw,48px);
  display: flex; align-items: center; gap: 16px; flex-wrap: wrap;
}
.bmd-advance-strip__icon { font-size: 26px; flex-shrink: 0; }
.bmd-advance-strip__text { flex: 1; min-width: 180px; }
.bmd-advance-strip__title { font-size: 14px; font-weight: 700; color: var(--bmd-gold); margin-bottom: 2px; }
.bmd-advance-strip__sub { font-size: 12px; color: rgba(255,255,255,.55); }

/* ════════════════════════════════════════════════════════════════
   FEATURE CARDS
   ════════════════════════════════════════════════════════════════ */
.bmd-features { display: grid; grid-template-columns: repeat(auto-fit, minmax(200px, 1fr)); gap: 18px; }
.bmd-feature-card {
  background: var(--bmd-white); border-radius: var(--bmd-radius); padding: 26px 20px;
  text-align: center; box-shadow: var(--bmd-shadow-sm);
  border: 1px solid var(--bmd-border); border-top: 3px solid var(--bmd-gold);
  transition: transform var(--bmd-transition), box-shadow var(--bmd-transition);
}
.bmd-feature-card:hover { transform: translateY(-4px); box-shadow: var(--bmd-shadow); }
.bmd-feature-card__icon { font-size: 38px; margin-bottom: 12px; display: block; animation: bmdFloat 3s ease-in-out infinite; }
.bmd-feature-card:nth-child(2) .bmd-feature-card__icon { animation-delay:.4s }
.bmd-feature-card:nth-child(3) .bmd-feature-card__icon { animation-delay:.8s }
.bmd-feature-card:nth-child(4) .bmd-feature-card__icon { animation-delay:1.2s }
.bmd-feature-card__title { font-size: 14px; font-weight: 700; color: var(--bmd-dark); margin-bottom: 7px; }
.bmd-feature-card__text  { font-size: 13px; color: rgba(17,17,17,.55); line-height: 1.7; }

/* ════════════════════════════════════════════════════════════════
   TESTIMONIALS
   ════════════════════════════════════════════════════════════════ */
.bmd-testi-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(260px,1fr)); gap: 18px; }
.bmd-testi-card {
  background: var(--bmd-white); border-radius: var(--bmd-radius); padding: 22px 20px;
  box-shadow: var(--bmd-shadow-sm); border: 1px solid var(--bmd-border); position: relative;
}
.bmd-testi-card::before {
  content: '"'; position: absolute; top: 10px; right: 16px;
  font-size: 56px; font-family: var(--bmd-font-display); color: var(--bmd-gold); opacity: .12; line-height: 1;
}
.bmd-testi-stars { color: var(--bmd-gold); font-size: 13px; margin-bottom: 9px; }
.bmd-testi-text  { font-size: 13px; color: rgba(17,17,17,.68); line-height: 1.75; margin-bottom: 15px; }
.bmd-testi-author { display: flex; align-items: center; gap: 10px; }
.bmd-testi-avatar {
  width: 40px; height: 40px; border-radius: 50%;
  background: linear-gradient(135deg, var(--bmd-gold), var(--bmd-gold-dark));
  display: flex; align-items: center; justify-content: center;
  color: var(--bmd-dark); font-weight: 900; font-size: 15px; flex-shrink: 0;
}
.bmd-testi-name { font-size: 13px; font-weight: 700; color: var(--bmd-dark); }
.bmd-testi-role { font-size: 11px; color: var(--bmd-gray); }

/* ════════════════════════════════════════════════════════════════
   CTA BANNER
   ════════════════════════════════════════════════════════════════ */
.bmd-cta-banner {
  background: var(--bmd-dark);
  border-top: 2px solid var(--bmd-gold-dark);
  border-bottom: 2px solid var(--bmd-gold-dark);
  padding: clamp(44px,5.5vw,84px) 0;
  text-align: center; position: relative; overflow: hidden;
}
.bmd-cta-banner__dots {
  position: absolute; inset: 0; opacity: .04;
  background-image: radial-gradient(circle, var(--bmd-gold) 1.5px, transparent 1.5px);
  background-size: 28px 28px;
}
.bmd-cta-banner__emoji { font-size: 48px; display: block; margin-bottom: 14px; animation: bmdFloat 3s ease-in-out infinite; position: relative; }
.bmd-cta-banner__title {
  font-family: var(--bmd-font-display); font-size: clamp(22px,3.2vw,46px); font-weight: 900;
  color: var(--bmd-gold-light); margin-bottom: 10px; position: relative;
}
.bmd-cta-banner__sub { font-size: 14px; color: rgba(255,255,255,.65); margin-bottom: 26px; position: relative; }

/* ════════════════════════════════════════════════════════════════
   GALLERY STRIP
   ════════════════════════════════════════════════════════════════ */
.bmd-gallery { display: grid; grid-template-columns: repeat(6,1fr); gap: 3px; }
@media(max-width:600px){ .bmd-gallery { grid-template-columns: repeat(3,1fr); } }
.bmd-gallery__item { aspect-ratio: 1; position: relative; overflow: hidden; cursor: pointer; }
.bmd-gallery__item-bg {
  position: absolute; inset: 0; background-size: cover; background-position: center;
  transition: transform .4s; display: flex; align-items: center; justify-content: center; font-size: 34px;
}
.bmd-gallery__item:hover .bmd-gallery__item-bg { transform: scale(1.1); }
.bmd-gallery__item:nth-child(1) .bmd-gallery__item-bg { background-color: #1a1500; }
.bmd-gallery__item:nth-child(2) .bmd-gallery__item-bg { background-color: #2a2000; }
.bmd-gallery__item:nth-child(3) .bmd-gallery__item-bg { background-color: #3d3000; }
.bmd-gallery__item:nth-child(4) .bmd-gallery__item-bg { background-color: #242400; }
.bmd-gallery__item:nth-child(5) .bmd-gallery__item-bg { background-color: #1c1c00; }
.bmd-gallery__item:nth-child(6) .bmd-gallery__item-bg { background-color: #2a2000; }
.bmd-gallery__hover {
  position: absolute; inset: 0; background: rgba(212,175,55,.2);
  display: flex; align-items: center; justify-content: center;
  opacity: 0; transition: opacity .3s; color: var(--bmd-gold); font-size: 22px;
}
.bmd-gallery__item:hover .bmd-gallery__hover { opacity: 1; }

/* ════════════════════════════════════════════════════════════════
   WOOCOMMERCE GLOBAL
   ════════════════════════════════════════════════════════════════ */
.woocommerce a.button, .woocommerce button.button, .woocommerce input.button,
.woocommerce #respond input#submit {
  background: linear-gradient(135deg, var(--bmd-gold), var(--bmd-gold-dark)) !important;
  color: var(--bmd-dark) !important; border-radius: 99px;
  font-family: var(--bmd-font-body); font-weight: 800; border: none;
  padding: 11px 24px; transition: box-shadow .2s, transform .2s;
}
.woocommerce a.button:hover, .woocommerce button.button:hover {
  transform: translateY(-2px); box-shadow: var(--bmd-shadow-gold); color: var(--bmd-dark) !important;
}
.woocommerce .woocommerce-breadcrumb { font-size: 12px; color: var(--bmd-gray); padding: 10px 0; margin-bottom: 0; }
.woocommerce .woocommerce-breadcrumb a { color: var(--bmd-gray); }
.woocommerce .woocommerce-breadcrumb a:hover { color: var(--bmd-gold-dark); }

/* Shop layout */
.bmd-shop-layout { display: grid; grid-template-columns: 230px 1fr; gap: 28px; align-items: start; }
@media(max-width:860px){ .bmd-shop-layout { grid-template-columns: 1fr; } }
.bmd-shop-sidebar { position: sticky; top: calc(var(--bmd-header-h) + 20px); }
.bmd-filter-card { background: var(--bmd-white); border-radius: var(--bmd-radius); padding: 18px; box-shadow: var(--bmd-shadow-sm); border: 1px solid var(--bmd-border); margin-bottom: 14px; }
.bmd-filter-card__title { font-size: 12px; font-weight: 800; text-transform: uppercase; letter-spacing: .1em; color: var(--bmd-dark); margin-bottom: 12px; padding-bottom: 8px; border-bottom: 2px solid var(--bmd-gold); }

/* ════════════════════════════════════════════════════════════════
   FOOTER
   ════════════════════════════════════════════════════════════════ */
.bmd-footer { background: var(--bmd-dark); color: rgba(255,255,255,.7); border-top: 2px solid var(--bmd-gold-dark); }
.bmd-footer__top { padding: clamp(44px,5.5vw,72px) 0; }
.bmd-footer__grid { display: grid; grid-template-columns: 2fr 1fr 1fr 1fr; gap: 36px; }
@media(max-width:900px){ .bmd-footer__grid { grid-template-columns: 1fr 1fr; } }
@media(max-width:520px){ .bmd-footer__grid { grid-template-columns: 1fr; } }

.bmd-footer__brand .bmd-logo__name { color: var(--bmd-gold); }
.bmd-footer__brand .bmd-logo__tagline { color: rgba(255,255,255,.4); }
.bmd-footer__about { font-size: 13px; line-height: 1.8; margin-top: 12px; max-width: 280px; }
.bmd-footer__social { display: flex; gap: 8px; margin-top: 18px; }
.bmd-footer__social a {
  width: 34px; height: 34px; border-radius: 50%;
  background: rgba(212,175,55,.12); border: 1px solid var(--bmd-gold-dark);
  display: flex; align-items: center; justify-content: center;
  color: var(--bmd-gold-light); font-size: 14px; transition: background .2s;
}
.bmd-footer__social a:hover { background: var(--bmd-gold); color: var(--bmd-dark); }
.bmd-footer__col-title { font-size: 11px; font-weight: 800; letter-spacing: .14em; text-transform: uppercase; color: var(--bmd-gold); margin-bottom: 14px; }
.bmd-footer__links { display: flex; flex-direction: column; gap: 7px; }
.bmd-footer__links a { font-size: 13px; color: rgba(255,255,255,.55); transition: color .2s; }
.bmd-footer__links a:hover { color: var(--bmd-gold); }
.bmd-footer__contact-item { display: flex; gap: 9px; margin-bottom: 10px; align-items: flex-start; }
.bmd-footer__contact-icon { font-size: 14px; flex-shrink: 0; margin-top: 2px; }
.bmd-footer__contact-text { font-size: 13px; color: rgba(255,255,255,.55); line-height: 1.6; }
.bmd-footer__contact-text a { color: rgba(255,255,255,.55); }
.bmd-footer__contact-text a:hover { color: var(--bmd-gold); }
.bmd-footer__bottom {
  border-top: 1px solid rgba(255,255,255,.07); padding: 16px 0;
  font-size: 12px; color: rgba(255,255,255,.35);
}
.bmd-footer__bottom a { color: rgba(255,255,255,.35); }
.bmd-footer__bottom a:hover { color: var(--bmd-gold); }
.bmd-footer__bottom-inner { display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: 10px; }
.bmd-footer__payment-badge {
  background: rgba(212,175,55,.12); border: 1px solid var(--bmd-gold-dark);
  color: var(--bmd-gold-light); font-size: 10px; font-weight: 700;
  padding: 3px 8px; border-radius: 4px; letter-spacing: .06em;
}

/* ════════════════════════════════════════════════════════════════
   VIDEO LIGHTBOX
   ════════════════════════════════════════════════════════════════ */
.bmd-lightbox { display: none; position: fixed; inset: 0; background: rgba(0,0,0,.92); z-index: 9999; align-items: center; justify-content: center; }
.bmd-lightbox.open { display: flex; }
.bmd-lightbox__close { position: absolute; top: 14px; right: 18px; background: none; border: none; color: var(--bmd-gold); font-size: 32px; cursor: pointer; line-height: 1; }
.bmd-lightbox__frame { width: 84vw; max-width: 920px; aspect-ratio: 16/9; border-radius: var(--bmd-radius); border: none; }

/* ════════════════════════════════════════════════════════════════
   WHATSAPP FLOAT
   ════════════════════════════════════════════════════════════════ */
.bmd-whatsapp {
  position: fixed; bottom: 22px; right: 22px; z-index: 900;
  width: 50px; height: 50px; border-radius: 50%;
  background: #25D366; display: flex; align-items: center; justify-content: center;
  box-shadow: 0 4px 18px rgba(37,211,102,.4); animation: bmdFloat 3s ease-in-out infinite;
  transition: transform .2s;
}
.bmd-whatsapp:hover { transform: scale(1.1); }
.bmd-whatsapp svg { width: 26px; height: 26px; fill: #fff; }

/* ════════════════════════════════════════════════════════════════
   SCROLL REVEAL
   ════════════════════════════════════════════════════════════════ */
.bmd-reveal { opacity: 0; transform: translateY(28px); transition: opacity .65s, transform .65s; }
.bmd-reveal.in { opacity: 1; transform: none; }
.bmd-reveal-delay-1 { transition-delay: .1s; }
.bmd-reveal-delay-2 { transition-delay: .2s; }
.bmd-reveal-delay-3 { transition-delay: .3s; }

/* ════════════════════════════════════════════════════════════════
   RESPONSIVE
   ════════════════════════════════════════════════════════════════ */
@media(max-width:1024px){
  .bmd-nav { display: none; }
  .bmd-hamburger { display: flex; }
  .bmd-header__phone span { display: none; }
}
@media(max-width:640px){
  .bmd-slide__deco { display: none; }
  .bmd-slider__prev, .bmd-slider__next { display: none; }
}

/* Utilities */
.bmd-text-center { text-align: center; }
.bmd-mt-8  { margin-top: 32px; }
.bmd-mt-10 { margin-top: 40px; }
.sr-only { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0,0,0,0); border: 0; }

/* ════════════════════════════════════════════════════════════════
   HEADER OFFSET — MASTER FIX
   The announce bar is position:relative (in flow).
   The header is position:fixed.
   Body top-padding = just the header height.
   Announce bar naturally pushes content down before the fixed header.
   ════════════════════════════════════════════════════════════════ */

/* Override any previous conflicting rules */
body,
body.has-announce {
  /* Announce bar is in-flow, so only pad for the fixed header */
  padding-top: var(--bmd-header-h) !important;
}

/* Header sits right after announce bar */
.bmd-header {
  top: 0 !important;
}
/* When page is scrolled past the announce bar, header stays fixed at top */
/* JS adds .scrolled class — no position change needed */

/* Announce bar — in normal flow, NOT fixed */
.bmd-announce {
  position: relative !important;
  top: auto !important;
}

/* Mobile nav sits below header (which is at top of viewport when scrolled) */
.bmd-mobile-nav,
body.has-announce .bmd-mobile-nav {
  top: var(--bmd-header-h) !important;
}

/* Hero: just fill viewport minus fixed header */
.bmd-hero,
body.has-announce .bmd-hero {
  height: calc(100vh - var(--bmd-header-h)) !important;
}

/* Sticky gallery & sidebar — offset only header */
.bmd-gallery-wrap,
body.has-announce .bmd-gallery-wrap,
.bmd-shop-sidebar,
body.has-announce .bmd-shop-sidebar {
  top: calc(var(--bmd-header-h) + 16px) !important;
}

/* ════════════════════════════════════════════════════════════════
   SHOP PAGE LAYOUT — Clean grid, no bleed from sidebar
   ════════════════════════════════════════════════════════════════ */
.bmd-shop-page {
  padding: clamp(20px,3vw,40px) 0 clamp(48px,6vw,80px);
}
.bmd-shop-page__header {
  padding: 16px 0 22px;
  border-bottom: 1px solid var(--bmd-border);
  margin-bottom: 28px;
}
.bmd-shop-page__title {
  font-family: var(--bmd-font-display);
  font-size: clamp(22px,2.8vw,36px);
  font-weight: 900; color: var(--bmd-dark);
  margin-bottom: 6px;
}

/* Shop 2-col layout: sidebar + main */
.bmd-shop-layout {
  display: grid;
  grid-template-columns: 220px 1fr;
  gap: 28px;
  align-items: start;
}
@media(max-width:900px){
  .bmd-shop-layout { grid-template-columns: 1fr; }
  .bmd-shop-sidebar { display: none; } /* hide on mobile; add toggle later */
}

.bmd-shop-sidebar { position: sticky; top: calc(var(--bmd-header-h) + 16px); }
.bmd-shop-main { min-width: 0; /* prevent grid blowout */ }

/* Category filter links */
.bmd-filter-cat {
  display: flex; align-items: center; justify-content: space-between;
  padding: 8px 10px; border-radius: 8px; margin-bottom: 3px;
  font-size: 13px; font-weight: 500; color: var(--bmd-dark);
  transition: background .18s, color .18s; text-decoration: none;
}
.bmd-filter-cat:hover { background: var(--bmd-gold-pale); color: var(--bmd-gold-dark); }
.bmd-filter-cat--active { background: var(--bmd-gold-pale); color: var(--bmd-gold-dark); font-weight: 700; }
.bmd-filter-cat__count {
  background: var(--bmd-gray-light); color: var(--bmd-gray);
  font-size: 10px; font-weight: 700; padding: 1px 7px; border-radius: 99px; flex-shrink: 0;
}
.bmd-filter-cat--active .bmd-filter-cat__count { background: var(--bmd-gold); color: var(--bmd-dark); }

/* Shop toolbar */
.bmd-shop-toolbar {
  display: flex; align-items: center; justify-content: space-between;
  flex-wrap: wrap; gap: 10px; margin-bottom: 20px;
  padding-bottom: 14px; border-bottom: 1px solid var(--bmd-border);
}
.bmd-shop-toolbar__count .woocommerce-result-count {
  font-size: 13px; color: var(--bmd-gray); margin: 0;
}
.bmd-shop-toolbar__sort .woocommerce-ordering select,
.bmd-shop-main .woocommerce-ordering select {
  font-size: 13px; border: 1px solid var(--bmd-border); border-radius: 8px;
  padding: 7px 12px; background: var(--bmd-white); color: var(--bmd-dark);
  outline: none; cursor: pointer; font-family: var(--bmd-font-body);
}
.bmd-shop-toolbar__sort .woocommerce-ordering select:focus { border-color: var(--bmd-gold); }

/* Pagination */
.bmd-shop-pagination { margin-top: 32px; text-align: center; }
.woocommerce nav.woocommerce-pagination ul { display: inline-flex; gap: 6px; list-style: none; padding: 0; margin: 0; }
.woocommerce nav.woocommerce-pagination ul li a,
.woocommerce nav.woocommerce-pagination ul li span {
  display: flex; align-items: center; justify-content: center;
  width: 36px; height: 36px; border-radius: 8px; font-size: 13px; font-weight: 700;
  border: 1px solid var(--bmd-border); color: var(--bmd-dark);
  transition: all .18s; text-decoration: none;
}
.woocommerce nav.woocommerce-pagination ul li a:hover { background: var(--bmd-gold-pale); border-color: var(--bmd-gold); color: var(--bmd-gold-dark); }
.woocommerce nav.woocommerce-pagination ul li span.current { background: var(--bmd-gold); border-color: var(--bmd-gold); color: var(--bmd-dark); }

/* Empty state */
.bmd-shop-empty { text-align: center; padding: 60px 20px; color: var(--bmd-gray); }
.bmd-shop-empty h3 { font-size: 20px; color: var(--bmd-dark); margin: 12px 0 8px; }
.bmd-shop-empty p  { margin-bottom: 20px; }

/* ── WooCommerce product grid inside .bmd-shop-main ── */
.bmd-shop-main .woocommerce ul.products,
.bmd-shop-main .woocommerce-page ul.products {
  grid-template-columns: repeat(3, 1fr) !important;
}
@media(max-width:1060px){
  .bmd-shop-main .woocommerce ul.products,
  .bmd-shop-main .woocommerce-page ul.products {
    grid-template-columns: repeat(2, 1fr) !important;
  }
}
@media(max-width:600px){
  .bmd-shop-main .woocommerce ul.products,
  .bmd-shop-main .woocommerce-page ul.products {
    grid-template-columns: repeat(2, 1fr) !important;
    gap: 12px !important;
  }
}

/* Homepage shortcode products — 4 col, NO sidebar interference */
.bmd-section .woocommerce ul.products,
.bmd-section .woocommerce-page ul.products,
.bmd-products-home .woocommerce ul.products {
  grid-template-columns: repeat(4, 1fr) !important;
}
@media(max-width:1100px){
  .bmd-section .woocommerce ul.products { grid-template-columns: repeat(3, 1fr) !important; }
}
@media(max-width:700px){
  .bmd-section .woocommerce ul.products { grid-template-columns: repeat(2, 1fr) !important; }
}

/* WooCommerce wraps — remove any margin/padding that WC injects */
.woocommerce ul.products::before,
.woocommerce ul.products::after,
.woocommerce-page ul.products::before,
.woocommerce-page ul.products::after { display: none !important; content: none !important; }

/* WC ordering form wrapper */
.woocommerce-ordering { margin: 0 !important; }

/* ════════════════════════════════════════════════════════════════
   SEARCH OVERLAY — Proper styling
   ════════════════════════════════════════════════════════════════ */
#bmdSearchOverlay {
  position: fixed !important;
  inset: 0 !important;
  top: 0 !important;
  background: rgba(10,10,10,.75) !important;
  z-index: 2000 !important;
  align-items: center !important;
  justify-content: center !important;
  padding: 0 16px !important;
  backdrop-filter: blur(4px);
}
.bmd-search-box {
  background: var(--bmd-white);
  border-radius: var(--bmd-radius-lg);
  padding: 28px;
  width: min(560px, 100%);
  box-shadow: 0 24px 80px rgba(0,0,0,.4);
  border: 2px solid var(--bmd-gold-dark);
  position: relative;
}
.bmd-search-box__label {
  display: block; font-size: 11px; font-weight: 800;
  text-transform: uppercase; letter-spacing: .14em;
  color: var(--bmd-gold-dark); margin-bottom: 12px;
}
.bmd-search-box__close {
  position: absolute; top: 12px; right: 14px;
  background: none; border: none; font-size: 26px;
  color: var(--bmd-gray); cursor: pointer; line-height: 1;
  transition: color .18s;
}
.bmd-search-box__close:hover { color: var(--bmd-dark); }

/* WP search form inside overlay */
#bmdSearchOverlay .search-form,
#bmdSearchOverlay form[role="search"] {
  display: flex !important; gap: 8px !important; margin: 0 !important;
}
#bmdSearchOverlay .search-field,
#bmdSearchOverlay input[type="search"],
#bmdSearchOverlay input[type="text"] {
  flex: 1 !important; min-width: 0 !important;
  border: 2px solid var(--bmd-border) !important;
  border-radius: 10px !important; padding: 12px 16px !important;
  font-size: 15px !important; font-family: var(--bmd-font-body) !important;
  outline: none !important; color: var(--bmd-dark) !important;
  background: var(--bmd-white) !important;
  transition: border-color .18s !important;
}
#bmdSearchOverlay .search-field:focus,
#bmdSearchOverlay input[type="search"]:focus {
  border-color: var(--bmd-gold) !important;
}
#bmdSearchOverlay .search-submit,
#bmdSearchOverlay button[type="submit"],
#bmdSearchOverlay input[type="submit"] {
  background: linear-gradient(135deg, var(--bmd-gold), var(--bmd-gold-dark)) !important;
  color: var(--bmd-dark) !important; border: none !important;
  border-radius: 10px !important; padding: 12px 22px !important;
  font-size: 14px !important; font-weight: 800 !important;
  font-family: var(--bmd-font-body) !important;
  cursor: pointer !important; white-space: nowrap !important;
  transition: box-shadow .2s !important;
}
#bmdSearchOverlay .search-submit:hover { box-shadow: var(--bmd-shadow-gold) !important; }

/* Popular search tags below search box */
.bmd-search-tags {
  margin-top: 14px; display: flex; flex-wrap: wrap; gap: 8px;
}
.bmd-search-tag {
  background: var(--bmd-gold-pale); color: var(--bmd-gold-dark);
  font-size: 11px; font-weight: 700; padding: 4px 12px; border-radius: 99px;
  border: 1px solid var(--bmd-gold); text-decoration: none;
  transition: background .18s;
}
.bmd-search-tag:hover { background: var(--bmd-gold); color: var(--bmd-dark); }

/* ════════════════════════════════════════════════════════════════
   WC WRAPPERS — remove double containers
   ════════════════════════════════════════════════════════════════ */
/* When WC outputs its own wrapper via woocommerce_before/after_main_content
   hooks, it would double-wrap. We suppress those and use our own template. */
.bmd-woo-wrap { padding-top: 0; padding-bottom: 0; }
.bmd-woo-content { width: 100%; }

/* ════════════════════════════════════════════════════════════════
   PRODUCT CARD — final alignment fixes
   ════════════════════════════════════════════════════════════════ */
/* Ensure ALL grid items are same-height cards */
.woocommerce ul.products li.product {
  height: 100% !important;
}
/* Image wrapper consistent height */
.woocommerce ul.products li.product .bmd-product-img-wrap,
.woocommerce ul.products li.product a > img:first-child {
  display: block !important;
  width: 100% !important;
  height: 200px !important;
  object-fit: cover !important;
}
.woocommerce ul.products li.product .bmd-product-img-wrap {
  height: auto !important; /* wrapper auto, image inside is 200px */
  position: relative !important;
  overflow: hidden !important;
}

/* WooCommerce injects a hidden li sometimes — remove */
.woocommerce ul.products li.product:empty { display: none !important; }

/* Result count / ordering bar that WC adds outside our toolbar */
.woocommerce-result-count,
.woocommerce-ordering {
  font-size: 13px;
}

/* ════════════════════════════════════════════════════════════════
   WOOCOMMERCE SINGLE PRODUCT TAB STYLES
   ════════════════════════════════════════════════════════════════ */
.woocommerce div.product .woocommerce-tabs {
  margin-top: 0;
}
.woocommerce div.product .woocommerce-tabs ul.tabs {
  padding: 0; margin: 0 0 0 0; list-style: none;
  border-bottom: 2px solid var(--bmd-border);
  display: flex; flex-wrap: wrap; gap: 4px;
}
.woocommerce div.product .woocommerce-tabs ul.tabs li {
  background: none; border: none; border-radius: 0; margin: 0; padding: 0;
}
.woocommerce div.product .woocommerce-tabs ul.tabs li::before,
.woocommerce div.product .woocommerce-tabs ul.tabs li::after { display: none; }
.woocommerce div.product .woocommerce-tabs ul.tabs li a {
  display: block; padding: 10px 20px; font-size: 13px; font-weight: 700;
  color: var(--bmd-gray); border-bottom: 2px solid transparent;
  margin-bottom: -2px; transition: color .18s, border-color .18s;
}
.woocommerce div.product .woocommerce-tabs ul.tabs li.active a {
  color: var(--bmd-gold-dark); border-bottom-color: var(--bmd-gold);
}
.woocommerce div.product .woocommerce-tabs .panel {
  padding: 24px 0; margin: 0;
  font-size: 14px; line-height: 1.85; color: rgba(17,17,17,.72);
}

/* WooCommerce add to cart area */
.woocommerce div.product form.cart { margin: 16px 0; }
.woocommerce div.product form.cart .qty {
  border: 2px solid var(--bmd-border) !important; border-radius: 99px !important;
  padding: 8px 14px !important; font-size: 15px !important; font-weight: 700 !important;
  width: 70px !important; text-align: center !important;
}
.woocommerce div.product form.cart .single_add_to_cart_button {
  background: linear-gradient(135deg, var(--bmd-gold), var(--bmd-gold-dark)) !important;
  color: var(--bmd-dark) !important; border: none !important;
  border-radius: 99px !important; font-size: 14px !important; font-weight: 800 !important;
  padding: 13px 30px !important; letter-spacing: .04em !important;
  text-transform: uppercase !important;
  box-shadow: var(--bmd-shadow-gold) !important;
  transition: transform .2s, box-shadow .2s !important;
}
.woocommerce div.product form.cart .single_add_to_cart_button:hover {
  transform: translateY(-2px) !important;
  box-shadow: 0 12px 36px rgba(212,175,55,.5) !important;
}

/* Related products heading */
.woocommerce .related > h2,
.woocommerce .up-sells > h2 {
  font-family: var(--bmd-font-display);
  font-size: clamp(18px,2.2vw,28px); font-weight: 900;
  color: var(--bmd-dark); margin-bottom: 20px;
  padding-bottom: 10px; border-bottom: 2px solid var(--bmd-gold);
}

/* ════════════════════════════════════════════════════════════════
   CART & CHECKOUT STYLES
   ════════════════════════════════════════════════════════════════ */
.woocommerce-cart .woocommerce,
.woocommerce-checkout .woocommerce { padding-top: 0; }

.woocommerce table.shop_table {
  border-collapse: collapse; width: 100%; font-size: 14px;
}
.woocommerce table.shop_table th {
  font-size: 11px; font-weight: 800; letter-spacing: .1em;
  text-transform: uppercase; color: var(--bmd-dark);
  padding: 10px 12px; border-bottom: 2px solid var(--bmd-gold);
  background: var(--bmd-off-white);
}
.woocommerce table.shop_table td {
  padding: 14px 12px; border-bottom: 1px solid var(--bmd-border); vertical-align: middle;
}
.woocommerce table.shop_table img { width: 70px !important; height: 70px !important; object-fit: cover; border-radius: 8px; }

/* Checkout form */
.woocommerce-checkout .woocommerce-billing-fields h3,
.woocommerce-checkout .woocommerce-shipping-fields h3,
.woocommerce-checkout h3 {
  font-family: var(--bmd-font-display); font-size: 20px; font-weight: 700;
  color: var(--bmd-dark); margin-bottom: 16px; padding-bottom: 10px;
  border-bottom: 2px solid var(--bmd-gold);
}
.woocommerce form .form-row input.input-text,
.woocommerce form .form-row textarea {
  border: 1px solid var(--bmd-border) !important; border-radius: 8px !important;
  padding: 10px 14px !important; font-size: 14px !important;
  font-family: var(--bmd-font-body) !important; width: 100% !important;
  transition: border-color .18s !important;
}
.woocommerce form .form-row input.input-text:focus,
.woocommerce form .form-row textarea:focus { border-color: var(--bmd-gold) !important; outline: none !important; }

/* ════════════════════════════════════════════════════════════════
   NOTICES
   ════════════════════════════════════════════════════════════════ */
.woocommerce-message, .woocommerce-info, .woocommerce-error {
  border-radius: 10px !important; border-left: 4px solid var(--bmd-gold) !important;
  background: var(--bmd-gold-pale) !important; color: var(--bmd-dark) !important;
  padding: 14px 18px !important; margin-bottom: 20px !important; font-size: 14px !important;
}
.woocommerce-error { border-left-color: #e53e3e !important; background: #fff5f5 !important; }
.woocommerce .widget_price_filter .ui-slider .ui-slider-handle{
    background:#000 !important;
}
.woocommerce nav.woocommerce-pagination ul, .woocommerce nav.woocommerce-pagination ul li
{
    border:none;
}

/* ================================================================
   BookMyDecoration — Form Elements CSS
   Gold & Black Theme | All HTML Input Types
   Add this to the bottom of main.css
   ================================================================ */

/* ── CSS Variables (already in :root, listed here for reference) ──
   --bmd-gold:        #D4AF37
   --bmd-gold-dark:   #A88A1A
   --bmd-gold-pale:   #FBF5DC
   --bmd-dark:        #111111
   --bmd-border:      #E8E0C8
   --bmd-gray:        #6B7280
   --bmd-font-body:   'Poppins', sans-serif
   --bmd-radius:      14px
   --bmd-radius-sm:   8px
   ──────────────────────────────────────────────────────────────── */

/* ================================================================
   BASE — shared styles for all interactive form elements
   ================================================================ */
input,
textarea,
select,
.wp-block-search__input,
.search-field {
  font-family:   var(--bmd-font-body) !important;
  font-size:     14px !important;
  color:         var(--bmd-dark) !important;
  background:    #ffffff !important;
  border:        1.5px solid var(--bmd-border) !important;
  border-radius: var(--bmd-radius-sm) !important;
  outline:       none !important;
  transition:    border-color .2s ease, box-shadow .2s ease, background .2s ease !important;
  appearance:    none !important;
  -webkit-appearance: none !important;
  box-sizing:    border-box !important;
  width:         100% !important;
  display:       block !important;
  line-height:   1.55 !important;
}

/* Focus state — gold highlight ring */
input:focus,
textarea:focus,
select:focus,
.wp-block-search__input:focus,
.search-field:focus {
  border-color: var(--bmd-gold) !important;
  box-shadow:   0 0 0 3px rgba(212,175,55,.18) !important;
  background:   #fffdf5 !important;
  outline:      none !important;
}

/* Hover state */
input:hover:not(:focus):not(:disabled),
textarea:hover:not(:focus):not(:disabled),
select:hover:not(:focus):not(:disabled) {
  border-color: var(--bmd-gold-dark) !important;
}

/* ================================================================
   TEXT INPUT  (type="text", email, tel, url, password, number, date)
   ================================================================ */
input[type="text"],
input[type="email"],
input[type="tel"],
input[type="url"],
input[type="password"],
input[type="number"],
input[type="date"],
input[type="time"],
input[type="datetime-local"],
input[type="month"],
input[type="week"],
input[type="search"] {
  padding:       11px 16px !important;
  height:        46px !important;
  min-height:    46px !important;
  max-width:     100% !important;
}

/* Password — with eye icon space */
input[type="password"] {
  letter-spacing: .12em !important;
}

/* Number — hide default spinners for cleaner look */
input[type="number"]::-webkit-inner-spin-button,
input[type="number"]::-webkit-outer-spin-button {
  opacity: 1;
  accent-color: var(--bmd-gold);
}

/* Date / time — calendar icon colour */
input[type="date"]::-webkit-calendar-picker-indicator,
input[type="time"]::-webkit-calendar-picker-indicator,
input[type="datetime-local"]::-webkit-calendar-picker-indicator {
  filter: invert(0.4) sepia(1) saturate(4) hue-rotate(6deg);
  cursor: pointer;
}

/* Search — remove the clear button on some browsers */
input[type="search"]::-webkit-search-cancel-button {
  -webkit-appearance: none;
  display: none;
}

/* ================================================================
   TEXTAREA
   ================================================================ */
textarea {
  padding:    13px 16px !important;
  min-height: 140px !important;
  resize:     vertical !important;
  line-height: 1.7 !important;
}

/* ================================================================
   SELECT / DROPDOWN
   ================================================================ */
select {
  padding:          11px 44px 11px 16px !important;
  height:           46px !important;
  cursor:           pointer !important;
  /* Custom gold chevron arrow */
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%23A88A1A' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E") !important;
  background-repeat:   no-repeat !important;
  background-position: right 14px center !important;
  background-size:     16px !important;
  background-color:    #ffffff !important;
}
select:focus {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%23D4AF37' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 15l6-6 6 6'/%3E%3C/svg%3E") !important;
}

/* Multiple select */
select[multiple] {
  padding:    8px 12px !important;
  height:     auto !important;
  min-height: 120px !important;
  background-image: none !important;
}
select[multiple] option {
  padding: 7px 10px;
  border-radius: 4px;
}
select[multiple] option:checked {
  background: var(--bmd-gold-pale);
  color:      var(--bmd-dark);
}

/* ================================================================
   CHECKBOX
   ================================================================ */
input[type="checkbox"] {
  width:         18px !important;
  height:        18px !important;
  min-height:    18px !important;
  padding:       0 !important;
  border:        2px solid var(--bmd-border) !important;
  border-radius: 5px !important;
  background:    #ffffff !important;
  cursor:        pointer !important;
  display:       inline-flex !important;
  vertical-align: middle !important;
  position:      relative !important;
  flex-shrink:   0 !important;
  accent-color:  var(--bmd-gold) !important;
  /* Custom checkmark via accent-color — works in modern browsers */
}
input[type="checkbox"]:checked {
  background:   var(--bmd-gold) !important;
  border-color: var(--bmd-gold-dark) !important;
}
input[type="checkbox"]:focus {
  box-shadow: 0 0 0 3px rgba(212,175,55,.22) !important;
}

/* Label beside checkbox */
input[type="checkbox"] + label,
label:has(input[type="checkbox"]) {
  cursor:  pointer;
  display: inline-flex;
  align-items: center;
  gap: 8px;
  font-size: 14px;
  color: var(--bmd-dark);
  line-height: 1.4;
  user-select: none;
}

/* ================================================================
   RADIO BUTTON
   ================================================================ */
input[type="radio"] {
  width:         18px !important;
  height:        18px !important;
  min-height:    18px !important;
  padding:       0 !important;
  border:        2px solid var(--bmd-border) !important;
  border-radius: 50% !important;
  background:    #ffffff !important;
  cursor:        pointer !important;
  display:       inline-flex !important;
  vertical-align: middle !important;
  flex-shrink:   0 !important;
  accent-color:  var(--bmd-gold) !important;
}
input[type="radio"]:checked {
  border-color: var(--bmd-gold-dark) !important;
  background:   var(--bmd-gold) !important;
}
input[type="radio"]:focus {
  box-shadow: 0 0 0 3px rgba(212,175,55,.22) !important;
}

/* Label beside radio */
input[type="radio"] + label,
label:has(input[type="radio"]) {
  cursor:  pointer;
  display: inline-flex;
  align-items: center;
  gap: 8px;
  font-size: 14px;
  color: var(--bmd-dark);
  line-height: 1.4;
  user-select: none;
}

/* ================================================================
   FILE INPUT
   ================================================================ */
input[type="file"] {
  padding:     10px 14px !important;
  height:      auto !important;
  cursor:      pointer !important;
  background:  var(--bmd-gold-pale) !important;
  font-size:   13px !important;
}
input[type="file"]::file-selector-button {
  background:    linear-gradient(135deg, var(--bmd-gold), var(--bmd-gold-dark));
  color:         var(--bmd-dark);
  border:        none;
  border-radius: var(--bmd-radius-sm);
  padding:       7px 16px;
  font-family:   var(--bmd-font-body);
  font-size:     12px;
  font-weight:   700;
  cursor:        pointer;
  margin-right:  14px;
  transition:    box-shadow .2s;
}
input[type="file"]::file-selector-button:hover {
  box-shadow: 0 4px 14px rgba(212,175,55,.4);
}

/* ================================================================
   RANGE SLIDER
   ================================================================ */
input[type="range"] {
  width:      100% !important;
  height:     6px !important;
  padding:    0 !important;
  border:     none !important;
  border-radius: 99px !important;
  background: #E8E0C8 !important;
  cursor:     pointer !important;
  box-shadow: none !important;
  accent-color: var(--bmd-gold) !important;
}
input[type="range"]::-webkit-slider-thumb {
  -webkit-appearance: none;
  width:        20px;
  height:       20px;
  border-radius: 50%;
  background:   var(--bmd-gold);
  border:       2px solid var(--bmd-gold-dark);
  cursor:       pointer;
  box-shadow:   0 2px 8px rgba(212,175,55,.4);
  transition:   transform .15s;
}
input[type="range"]::-webkit-slider-thumb:hover { transform: scale(1.2); }
input[type="range"]::-moz-range-thumb {
  width:        20px;
  height:       20px;
  border-radius: 50%;
  background:   var(--bmd-gold);
  border:       2px solid var(--bmd-gold-dark);
  cursor:       pointer;
  box-shadow:   0 2px 8px rgba(212,175,55,.4);
}

/* ================================================================
   COLOR PICKER
   ================================================================ */
input[type="color"] {
  width:         46px !important;
  height:        46px !important;
  padding:       4px !important;
  border-radius: var(--bmd-radius-sm) !important;
  cursor:        pointer !important;
}
input[type="color"]::-webkit-color-swatch-wrapper { padding: 0; }
input[type="color"]::-webkit-color-swatch { border: none; border-radius: 4px; }

/* ================================================================
   FORM LABEL
   ================================================================ */
label,
.form-label,
.woocommerce-form__label,
.woocommerce label {
  display:       block !important;
  font-size:     13px !important;
  font-weight:   700 !important;
  color:         var(--bmd-dark) !important;
  margin-bottom: 6px !important;
  font-family:   var(--bmd-font-body) !important;
  cursor:        default;
}
label abbr,
.woocommerce label abbr {
  /* Required asterisk (*) */
  color:          var(--bmd-gold-dark) !important;
  text-decoration: none !important;
  margin-left:    3px !important;
}

/* ================================================================
   FORM GROUP — wrapper for label + input pairs
   ================================================================ */
.form-group,
.form-row,
.woocommerce-form-row {
  margin-bottom: 20px !important;
  position:      relative !important;
}

/* ================================================================
   FIELD DESCRIPTION / HINT
   ================================================================ */
.form-text,
.description,
.field-description,
.woocommerce-form__label-for-checkbox span,
p.form-row ~ small {
  display:    block;
  font-size:  12px !important;
  color:      var(--bmd-gray) !important;
  margin-top: 5px !important;
  line-height: 1.5 !important;
}

/* ================================================================
   DISABLED STATE
   ================================================================ */
input:disabled,
textarea:disabled,
select:disabled {
  background:  #F5F5F5 !important;
  border-color: #DDD !important;
  color:        #AAAAAA !important;
  cursor:       not-allowed !important;
  opacity:      0.65 !important;
}

/* ================================================================
   READ-ONLY
   ================================================================ */
input[readonly],
textarea[readonly] {
  background:  #FAFAFA !important;
  border-color: #E0E0E0 !important;
  color:        #555 !important;
  cursor:       default !important;
}

/* ================================================================
   PLACEHOLDER TEXT
   ================================================================ */
::placeholder,
::-webkit-input-placeholder,
::-moz-placeholder,
:-ms-input-placeholder {
  color:   rgba(107,114,128,.55) !important;
  font-style: italic !important;
  font-size:  13px !important;
  opacity: 1 !important;
}

/* ================================================================
   SUBMIT / BUTTON
   ================================================================ */
input[type="submit"],
input[type="button"],
input[type="reset"],
button[type="submit"],
button[type="button"],
button[type="reset"] {
  display:       inline-flex !important;
  align-items:   center !important;
  justify-content: center !important;
  width:         auto !important;
  height:        46px !important;
  min-height:    46px !important;
  padding:       11px 28px !important;
  border:        none !important;
  border-radius: 99px !important;
  font-family:   var(--bmd-font-body) !important;
  font-size:     13px !important;
  font-weight:   800 !important;
  letter-spacing: .04em !important;
  text-transform: uppercase !important;
  cursor:        pointer !important;
  transition:    transform .2s, box-shadow .2s !important;
  line-height:   1 !important;
}
input[type="submit"],
button[type="submit"] {
  background:  linear-gradient(135deg, var(--bmd-gold), var(--bmd-gold-dark)) !important;
  color:       var(--bmd-dark) !important;
  box-shadow:  0 6px 20px rgba(212,175,55,.35) !important;
}
input[type="submit"]:hover,
button[type="submit"]:hover {
  transform:  translateY(-2px) !important;
  box-shadow: 0 10px 28px rgba(212,175,55,.5) !important;
}
input[type="reset"],
button[type="reset"] {
  background:  transparent !important;
  color:       var(--bmd-gray) !important;
  border:      1.5px solid var(--bmd-border) !important;
}
input[type="reset"]:hover,
button[type="reset"]:hover {
  border-color: var(--bmd-gold-dark) !important;
  color:        var(--bmd-dark) !important;
}

/* ================================================================
   FIELDSET + LEGEND
   ================================================================ */
fieldset {
  border:        1.5px solid var(--bmd-border);
  border-radius: var(--bmd-radius);
  padding:       22px 20px;
  margin-bottom: 24px;
}
legend {
  font-family:  var(--bmd-font-body);
  font-size:    13px;
  font-weight:  800;
  color:        var(--bmd-dark);
  padding:      0 10px;
  letter-spacing: .08em;
  text-transform: uppercase;
}

/* ================================================================
   VALIDATION STATES
   ================================================================ */

/* Error / Invalid */
input.woocommerce-invalid,
input.error,
input:invalid:not(:placeholder-shown),
textarea.error,
select.error,
.woocommerce-invalid input,
.woocommerce-invalid select,
.woocommerce-invalid textarea {
  border-color: #DC2626 !important;
  box-shadow:   0 0 0 3px rgba(220,38,38,.12) !important;
  background:   #fff5f5 !important;
}

/* Success / Valid */
input.woocommerce-validated,
input.valid,
textarea.valid,
select.valid,
.woocommerce-validated input {
  border-color: #059669 !important;
  box-shadow:   0 0 0 3px rgba(5,150,105,.12) !important;
  background:   #f0fdf4 !important;
}

/* Validation message text */
.woocommerce-error,
.error-message,
.field-error {
  color:      #DC2626 !important;
  font-size:  12px !important;
  margin-top: 5px !important;
  display:    block !important;
  font-weight: 600 !important;
}
.woocommerce-success,
.success-message {
  color:      #059669 !important;
  font-size:  12px !important;
  margin-top: 5px !important;
  display:    block !important;
  font-weight: 600 !important;
}

/* ================================================================
   SEARCH FORM (WordPress default)
   ================================================================ */
.search-form {
  display:   flex !important;
  gap:       8px !important;
  width:     100% !important;
}
.search-form .search-field {
  flex:      1 !important;
  min-width: 0 !important;
  padding:   11px 16px !important;
  height:    46px !important;
}
.search-form .search-submit {
  flex-shrink: 0 !important;
  padding:     0 22px !important;
  height:      46px !important;
  background:  linear-gradient(135deg, var(--bmd-gold), var(--bmd-gold-dark)) !important;
  color:       var(--bmd-dark) !important;
  border:      none !important;
  border-radius: 10px !important;
  font-weight: 800 !important;
  font-size:   13px !important;
  cursor:      pointer !important;
  font-family: var(--bmd-font-body) !important;
  transition:  box-shadow .2s !important;
  width:       auto !important;
  display:     flex !important;
  align-items: center !important;
}
.search-form .search-submit:hover {
  box-shadow: 0 6px 18px rgba(212,175,55,.45) !important;
}

/* ================================================================
   CONTACT FORM 7 (CF7) — if installed
   ================================================================ */
.wpcf7-form-control-wrap input,
.wpcf7-form-control-wrap textarea,
.wpcf7-form-control-wrap select {
  width:      100% !important;
  box-sizing: border-box !important;
}
.wpcf7-submit {
  background:    linear-gradient(135deg, var(--bmd-gold), var(--bmd-gold-dark)) !important;
  color:         var(--bmd-dark) !important;
  border:        none !important;
  border-radius: 99px !important;
  padding:       12px 32px !important;
  font-weight:   800 !important;
  font-size:     13px !important;
  letter-spacing: .06em !important;
  text-transform: uppercase !important;
  cursor:        pointer !important;
  font-family:   var(--bmd-font-body) !important;
  transition:    transform .2s, box-shadow .2s !important;
  display:       inline-block !important;
  width:         auto !important;
  height:        auto !important;
}
.wpcf7-submit:hover {
  transform:  translateY(-2px) !important;
  box-shadow: 0 8px 24px rgba(212,175,55,.45) !important;
}
.wpcf7-not-valid-tip {
  color:      #DC2626 !important;
  font-size:  12px !important;
  margin-top: 4px !important;
}
.wpcf7-response-output {
  border-radius: 10px !important;
  padding:       12px 18px !important;
  margin-top:    16px !important;
  font-size:     14px !important;
  border:        1.5px solid var(--bmd-gold) !important;
  background:    var(--bmd-gold-pale) !important;
  color:         var(--bmd-dark) !important;
}

/* ================================================================
   WOOCOMMERCE CHECKOUT & ACCOUNT FORMS
   ================================================================ */
.woocommerce-checkout input.input-text,
.woocommerce-checkout textarea,
.woocommerce-checkout select,
.woocommerce-account  input.input-text,
.woocommerce-account  textarea,
.woocommerce-account  select,
.woocommerce form .input-text,
.woocommerce form textarea,
.woocommerce form select {
  padding:       11px 16px !important;
  height:        46px !important;
  border:        1.5px solid var(--bmd-border) !important;
  border-radius: var(--bmd-radius-sm) !important;
  font-family:   var(--bmd-font-body) !important;
  font-size:     14px !important;
  color:         var(--bmd-dark) !important;
  background:    #ffffff !important;
  width:         100% !important;
  box-sizing:    border-box !important;
  transition:    border-color .2s, box-shadow .2s !important;
}
.woocommerce-checkout textarea,
.woocommerce form textarea {
  height:     auto !important;
  min-height: 120px !important;
}
.woocommerce-checkout input.input-text:focus,
.woocommerce form .input-text:focus,
.woocommerce form select:focus {
  border-color: var(--bmd-gold) !important;
  box-shadow:   0 0 0 3px rgba(212,175,55,.18) !important;
  outline:      none !important;
}

/* Coupon input */
.woocommerce-cart .woocommerce input#coupon_code {
  height:        44px !important;
  padding:       10px 14px !important;
  border-radius: var(--bmd-radius-sm) !important;
  border:        1.5px solid var(--bmd-border) !important;
  font-family:   var(--bmd-font-body) !important;
  font-size:     14px !important;
}
.woocommerce-cart .woocommerce input#coupon_code:focus {
  border-color: var(--bmd-gold) !important;
  box-shadow:   0 0 0 3px rgba(212,175,55,.18) !important;
}

/* Quantity input */
.woocommerce input[type="number"].qty,
.woocommerce .quantity input.qty {
  width:         72px !important;
  height:        44px !important;
  text-align:    center !important;
  padding:       8px 12px !important;
  border:        2px solid var(--bmd-border) !important;
  border-radius: 99px !important;
  font-size:     15px !important;
  font-weight:   700 !important;
}
.woocommerce input[type="number"].qty:focus {
  border-color: var(--bmd-gold) !important;
  box-shadow:   0 0 0 3px rgba(212,175,55,.18) !important;
}

/* ================================================================
   NATIVE DATE/TIME — custom styling additions
   ================================================================ */
input[type="date"],
input[type="time"],
input[type="datetime-local"],
input[type="month"],
input[type="week"] {
  cursor:    pointer !important;
  min-width: 180px !important;
}

/* ================================================================
   TOGGLE SWITCH (pure CSS — add class "bmd-toggle" to checkbox)
   Usage: <label class="bmd-toggle-wrap"><input type="checkbox" class="bmd-toggle"><span class="bmd-toggle-slider"></span></label>
   ================================================================ */
.bmd-toggle-wrap {
  display:      inline-flex;
  align-items:  center;
  gap:          10px;
  cursor:       pointer;
  user-select:  none;
  font-size:    14px;
  color:        var(--bmd-dark);
}
.bmd-toggle {
  position:   absolute;
  opacity:    0;
  width:      0 !important;
  height:     0 !important;
  min-height: 0 !important;
  margin:     0 !important;
  padding:    0 !important;
}
.bmd-toggle-slider {
  position:      relative;
  display:       inline-block;
  width:         46px;
  height:        26px;
  background:    #D1D5DB;
  border-radius: 99px;
  transition:    background .25s;
  flex-shrink:   0;
}
.bmd-toggle-slider::after {
  content:       '';
  position:      absolute;
  left:          3px; top: 3px;
  width:         20px; height: 20px;
  border-radius: 50%;
  background:    #ffffff;
  box-shadow:    0 1px 4px rgba(0,0,0,.2);
  transition:    transform .25s;
}
.bmd-toggle:checked + .bmd-toggle-slider { background: var(--bmd-gold); }
.bmd-toggle:checked + .bmd-toggle-slider::after { transform: translateX(20px); }
.bmd-toggle:focus  + .bmd-toggle-slider { box-shadow: 0 0 0 3px rgba(212,175,55,.25); }

/* ================================================================
   INPUT GROUPS — icon prefix / suffix
   Usage: <div class="bmd-input-group"><span class="bmd-input-prefix">@</span><input type="text"></div>
   ================================================================ */
.bmd-input-group {
  display:     flex;
  align-items: stretch;
  width:       100%;
  border:      1.5px solid var(--bmd-border);
  border-radius: var(--bmd-radius-sm);
  overflow:    hidden;
  transition:  border-color .2s, box-shadow .2s;
  background:  #ffffff;
}
.bmd-input-group:focus-within {
  border-color: var(--bmd-gold);
  box-shadow:   0 0 0 3px rgba(212,175,55,.18);
}
.bmd-input-group input {
  border:        none !important;
  border-radius: 0 !important;
  box-shadow:    none !important;
  flex:          1 !important;
  min-width:     0 !important;
  background:    transparent !important;
}
.bmd-input-prefix,
.bmd-input-suffix {
  display:      flex;
  align-items:  center;
  padding:      0 14px;
  background:   var(--bmd-gold-pale);
  color:        var(--bmd-gold-dark);
  font-size:    13px;
  font-weight:  700;
  white-space:  nowrap;
  flex-shrink:  0;
  border-right: 1px solid var(--bmd-border);
}
.bmd-input-suffix { border-right: none; border-left: 1px solid var(--bmd-border); }

/* ================================================================
   RESPONSIVE — full width on mobile
   ================================================================ */
@media (max-width: 600px) {
  input,
  textarea,
  select {
    font-size: 16px !important; /* prevents iOS zoom on focus */
  }
  .search-form { flex-direction: column; gap: 10px; }
  .search-form .search-submit { width: 100% !important; justify-content: center; }
}

.quantity {
    float: left;
}
ul.products.columns-4 {
 grid-template-columns: repeat(4, 1fr) !important;
}
/* ================================================================
   END — BookMyDecoration Form Elements CSS
   ================================================================ */