/* =========================================================
   AJ SMILES FOR MILES
   Design tokens
   ========================================================= */
:root{
  --bg:            #FFFFFF;
  --bg-soft:       #FFF5F5;
  --card:          #FFFFFF;
  --ink:           #272727;
  --ink-soft:      #6F6A6A;
  --maroon:        #D71920;
  --maroon-dark:   #A80F1C;
  --maroon-deep:   #211719;
  --rose:          #E66B73;
  --gold:          #B88A43;
  --gold-light:    #E9D5B0;
  --gold-tint:     #FFFAF6;
  --green:         #B32635;
  --jute:          #8E633C;
  --line:          #F0DFE0;
  --line-soft:     rgba(168, 15, 28, 0.08);
  --shadow-sm:     0 2px 8px -2px rgba(168, 15, 28, 0.08);
  --shadow:        0 12px 30px -10px rgba(168, 15, 28, 0.14);
  --shadow-hover:  0 18px 40px -12px rgba(168, 15, 28, 0.20);
  --radius-s:      8px;
  --radius-m:      14px;
  --radius-l:      22px;
  --radius-full:   999px;
  --font-display:  'Fraunces', Georgia, serif;
  --font-body:     'Work Sans', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
  --font-price:    'Cinzel', 'Playfair Display', 'Cormorant Garamond', Georgia, serif;
  --header-h:      68px;
  --marquee-h:     34px;
}

*,*::before,*::after{ box-sizing:border-box; }
html{ scroll-behavior:smooth; }
body{
  margin:0;
  background: var(--bg);
  color:var(--ink);
  font-family:var(--font-body);
  font-size:15.5px;
  line-height:1.55;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}
::selection{ background:var(--gold-light); color:var(--maroon-dark); }
img{ max-width:100%; display:block; }
a{ color:inherit; text-decoration:none; }
button{ font-family:inherit; cursor:pointer; }
h1,h2,h3,h4{ font-family:var(--font-display); font-weight:600; margin:0 0 .4em; color:var(--maroon-dark); }
p{ margin:0 0 1em; }
ul{ margin:0; padding:0; list-style:none; }
.container{ width:100%; max-width:1240px; margin:0 auto; padding:0 24px; }
.hide{ display:none !important; }
:focus-visible{ outline:2px solid var(--maroon); outline-offset:2px; }

@media (prefers-reduced-motion: reduce){
  *{ animation-duration:.001ms !important; animation-iteration-count:1 !important; transition-duration:.001ms !important; scroll-behavior:auto !important; }
}

/* =========================================================
   SPARKLE RAIN (ambient, hero only)
   ========================================================= */
.sparkle-field{ position:absolute; inset:0; overflow:hidden; pointer-events:none; z-index:1; }
.sparkle{
  position:absolute; top:-5%;
  width:6px; height:6px;
  background:radial-gradient(circle, #fff 0%, var(--gold-light) 45%, transparent 70%);
  border-radius:50%;
  opacity:0; filter:drop-shadow(0 0 3px var(--gold-light));
  animation-name:sparkle-fall; animation-timing-function:linear; animation-iteration-count:infinite;
}
@keyframes sparkle-fall{
  0%{ transform:translateY(0) scale(.4) rotate(0deg); opacity:0; }
  10%{ opacity:1; }
  90%{ opacity:.9; }
  100%{ transform:translateY(420px) scale(1) rotate(90deg); opacity:0; }
}

/* =========================================================
   TOP MARQUEE
   ========================================================= */
.marquee-bar{
  height:var(--marquee-h);
  background:var(--maroon-dark);
  color:var(--gold-light);
  overflow:hidden;
  position:relative;
  font-size:12.5px; letter-spacing:.04em;
}
.marquee-track{
  display:flex; align-items:center; height:100%;
  width:max-content;
  animation:marquee-scroll 26s linear infinite;
  white-space:nowrap;
}
.marquee-track span{
  padding:0 24px;
  display:inline-flex !important;
  align-items:center !important;
  gap:8px;
  height:100%;
  line-height:var(--marquee-h, 34px);
}
.marquee-track span,
.marquee-track span *{
  vertical-align:middle !important;
  box-sizing:border-box !important;
}
.marquee-track span p,
.marquee-track span div{
  display:inline !important;
  margin:0 !important;
  padding:0 !important;
  line-height:inherit !important;
}
.marquee-track span::before{
  content:"✦";
  color:var(--gold, #C69A4A);
  font-size:11px;
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  line-height:1 !important;
  flex-shrink:0;
  vertical-align:middle;
}
@keyframes marquee-scroll{
  from{ transform:translateX(0); }
  to{ transform:translateX(-50%); }
}

/* =========================================================
   HEADER
   ========================================================= */
header.site-header{
  position:sticky; top:0; z-index:500;
  background:rgba(252, 253, 253, .94);
  backdrop-filter:blur(10px);
  border-bottom:1px solid var(--line);
}
.header-row{
  height:80px;
  display:flex; align-items:center; justify-content:space-between; gap:20px;
}
.brand{ display:flex; align-items:center; gap:12px; }
.brand img{ width:48px; height:48px; border-radius:12px; object-fit:contain; }
.brand .brand-text{ font-family:var(--font-display); font-size:24.5px; color:var(--maroon-dark); line-height:1.05; }
.brand .brand-text small{ display:block; font-family:var(--font-body); font-size:10px; letter-spacing:.22em; color:var(--ink-soft); margin-top:3px; }

nav.main-nav{ display:flex; align-items:center; gap:30px; }
nav.main-nav a{
  font-size:14px; color:var(--ink); position:relative; padding:4px 0;
  transition:color .2s ease;
}
nav.main-nav a::after{
  content:""; position:absolute; left:0; right:100%; bottom:-2px; height:1.5px; background:var(--maroon);
  transition:right .25s ease;
}
nav.main-nav a:hover{ color:var(--maroon); }
nav.main-nav a:hover::after,
nav.main-nav a.active::after{ right:0; }
nav.main-nav a.active{ color:var(--maroon); }
.category-menu{ position:relative; }
.category-toggle{ display:flex; align-items:center; gap:6px; border:0; background:none; color:var(--ink); font:inherit; font-size:14px; padding:4px 0; }
.category-toggle:hover{ color:var(--maroon); }
.category-toggle span{ color:var(--maroon); font-size:16px; line-height:1; transition:transform .2s ease; }
.category-toggle[aria-expanded="true"] span{ transform:rotate(180deg); }
.category-dropdown{ position:absolute; top:calc(100% + 18px); left:50%; min-width:190px; padding:8px; background:#fff; border:1px solid var(--line); border-radius:var(--radius-s); box-shadow:var(--shadow); opacity:0; visibility:hidden; transform:translate(-50%, -6px); transition:opacity .2s ease, transform .2s ease, visibility .2s ease; z-index:20; }
.category-dropdown.open{ opacity:1; visibility:visible; transform:translate(-50%, 0); }
.category-dropdown a{ display:block; padding:10px 12px; border-radius:6px; font-size:13px; }
.category-dropdown a:hover{ color:var(--maroon); background:var(--bg-soft); }

.header-icons{ display:flex; align-items:center; gap:9px; }
.icon-btn{
  width:44px; height:44px; min-width:44px; border-radius:50%; border:1.2px solid rgba(215, 25, 32, 0.18);
  background:rgba(215, 25, 32, 0.04); display:flex; align-items:center; justify-content:center;
  color:#D71920; position:relative;
  transition:background .2s ease, transform .22s cubic-bezier(.2,.8,.2,1), color .2s ease, border-color .2s ease;
}
.icon-btn:hover{ background:#FFF5F5; border-color:rgba(215, 25, 32, 0.35); transform:translateY(-2px) scale(1.06); color:#A80F1C; }
.icon-btn:active{ transform:scale(0.92); }
.icon-btn svg{ width:22px; height:22px; stroke-width:2px; }
.icon-badge{
  position:absolute; top:-3px; right:-2px; min-width:17px; height:17px; border-radius:999px;
  background:linear-gradient(135deg, #D71920 0%, #A80F1C 100%); color:#fff; font-size:9.5px; font-weight:800;
  display:flex; align-items:center; justify-content:center; padding:0 3px;
  box-shadow:0 1.5px 5px rgba(60, 194, 160, 0.4);
  border:1.5px solid #fff;
  transition:transform .2s ease;
  pointer-events:none;
  z-index:3;
}
.icon-btn:hover .icon-badge{ transform:scale(1.15); }
.social-divider{ width:1.5px; height:24px; background:rgba(215, 25, 32, 0.18); margin:0 5px; }

/* Mobile Subnav Rail (Native-App Horizontal Navigation) */
.mobile-subnav-rail{
  display:none;
  background:#fff;
  border-top:1px solid rgba(200, 16, 46, .06);
  border-bottom:1px solid rgba(200, 16, 46, .08);
  padding:6px 0;
  overflow-x:auto;
  -webkit-overflow-scrolling:touch;
  scrollbar-width:none;
}
.mobile-subnav-rail::-webkit-scrollbar{ display:none; }
.mobile-subnav-track{
  display:flex;
  align-items:center;
  gap:6px;
  padding:0 14px;
  min-width:max-content;
}
.mobile-subnav-track a{
  font-size:12.5px;
  font-weight:600;
  color:var(--maroon-dark);
  text-decoration:none;
  padding:5px 13px;
  border-radius:999px;
  white-space:nowrap;
  background:rgba(200, 16, 46, .03);
  border:1px solid rgba(200, 16, 46, .08);
  transition:all .18s ease;
}
.mobile-subnav-track a:hover,
.mobile-subnav-track a.active{
  background:var(--maroon-dark);
  color:#fff;
  border-color:var(--maroon-dark);
  box-shadow:0 2px 8px rgba(200, 16, 46, .2);
}

.header-back-btn{
  display: none !important;
  align-items: center;
  justify-content: center;
  width: 36px;
  height: 36px;
  min-width: 36px;
  border-radius: 50%;
  border: 1px solid var(--line);
  background: #fff;
  color: var(--maroon);
  cursor: pointer;
  transition: all .2s ease;
  flex-shrink: 0;
}
.header-back-btn.show{
  display: inline-flex !important;
}
.header-back-btn:hover{
  background: var(--bg-soft);
  color: var(--maroon-dark);
  border-color: var(--gold);
  transform: translateX(-2px);
}
.header-back-btn svg{
  width: 17px;
  height: 17px;
}
.page-back-strip,
.back-pill-btn{
  display: none !important;
}

/* Checkout 1 2 3 Steps Bar */
.checkout-steps-bar{
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  margin: 20px auto 0;
  max-width: 520px;
}
.checkout-step-item{
  display: flex;
  align-items: center;
  gap: 6px;
  font-size: 12px;
  font-weight: 600;
  color: var(--ink-soft);
}
.checkout-step-item.active{
  color: var(--maroon-dark);
}
.step-badge{
  width: 22px;
  height: 22px;
  border-radius: 50%;
  background: var(--maroon);
  color: #fff;
  font-size: 11px;
  font-weight: 700;
  display: inline-flex;
  align-items: center;
  justify-content: center;
}
.step-divider-line{
  flex: 1;
  height: 1px;
  background: rgba(198, 154, 74, 0.4);
  min-width: 16px;
}
.checkout-section-title{
  display: flex;
  align-items: center;
  gap: 10px;
  margin-bottom: 14px;
}
.checkout-section-title h3{
  margin: 0 !important;
  padding: 0 !important;
  font-size: 17px !important;
  line-height: 1.2 !important;
  display: inline-flex !important;
  align-items: center !important;
}
.step-badge-inline{
  width: 22px !important;
  height: 22px !important;
  border-radius: 50% !important;
  background: var(--maroon) !important;
  color: #fff !important;
  font-size: 11.5px !important;
  font-weight: 700 !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  flex-shrink: 0 !important;
  line-height: 1 !important;
  text-align: center !important;
  margin: 0 !important;
  transform: translateY(-3px) !important;
}
.checkout-customization-centered{
  background: #FFF8F8;
  border: 1px dashed rgba(198, 154, 74, 0.6);
  padding: 16px 14px;
  border-radius: 14px;
  margin: 16px 0 20px;
  text-align: center;
}
.checkout-place-order-wrap{
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 8px;
  text-align: center;
  margin-top: 18px;
}
.checkout-place-btn{
  width: 100%;
  max-width: 360px;
  height: 48px;
  font-size: 15px;
  border-radius: 999px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
}
.checkout-assurance-note{
  font-size: 11.5px;
  color: var(--ink-soft);
  font-weight: 500;
}

/* Reviews Carousel Styles (Wedtree Style) */
.reviews-carousel-outer{
  display: flex;
  align-items: center;
  gap: 12px;
  position: relative;
  width: 100%;
}
.review-nav-arrow{
  width: 38px;
  height: 38px;
  border-radius: 50%;
  background: #fff;
  border: 1px solid rgba(198, 154, 74, 0.45);
  box-shadow: 0 4px 12px rgba(200, 16, 46, 0.12);
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--maroon);
  flex-shrink: 0;
  cursor: pointer;
  transition: transform .2s ease, background .2s ease, color .2s ease;
  z-index: 5;
}
.review-nav-arrow:hover{
  transform: scale(1.1);
  background: var(--maroon);
  color: #fff;
}
.review-nav-arrow svg{ width: 18px; height: 18px; }
.purple-stars{ color: #D71920 !important; }
.purple-stars svg{ fill: #D71920 !important; width: 15px !important; height: 15px !important; }
.wedtree-review-card .review-title.italic{
  font-size: 15px !important;
  font-style: italic !important;
  font-weight: 700 !important;
  color: #D71920 !important;
  margin: 8px 0 6px !important;
}
.wedtree-review-card .review-comment{
  font-size: 13px !important;
  line-height: 1.55 !important;
  color: #374151 !important;
  margin: 0 0 14px !important;
  padding: 0 !important;
  text-indent: 0 !important;
  text-align: left !important;
  font-style: italic !important;
  display: block !important;
  -webkit-line-clamp: unset !important;
  -webkit-box-orient: unset !important;
  overflow: visible !important;
  text-overflow: clip !important;
  word-break: break-word !important;
  overflow-wrap: anywhere !important;
  word-wrap: break-word !important;
  white-space: pre-line !important;
  max-width: 100% !important;
}
.author-name-italic{
  font-style: italic !important;
  font-size: 13px !important;
  color: #D71920 !important;
}
.reviews-bottom-summary{
  display: none;
}

.top-menu-toggle{ display:flex; flex-shrink:0; }
.hamburger{ display:none; }

/* mobile search */
.search-panel{
  max-height:0; overflow:hidden; transition:max-height .3s ease;
  border-bottom:1px solid var(--line); background:var(--bg);
}
.search-panel.open{ max-height:140px; }
.search-panel .container{ padding-top:12px; padding-bottom:12px; }
.search-panel input{
  width:100%; border:1px solid var(--line); background:#fff; border-radius:24px;
  padding:10px 18px; font-size:14px; font-family:inherit;
}
.search-quick-tags{
  display:flex; align-items:center; gap:8px; margin-top:8px; overflow-x:auto; white-space:nowrap;
  padding-bottom:2px; -webkit-overflow-scrolling:touch; scrollbar-width:none;
}
.search-quick-tags::-webkit-scrollbar{ display:none; }
.search-quick-label{ font-size:11.5px; font-weight:700; color:var(--maroon-dark); text-transform:uppercase; letter-spacing:.05em; flex-shrink:0; }
.search-pill{
  background:#fff; border:1px solid var(--line); border-radius:999px; padding:4px 12px;
  font-size:12px; font-weight:500; color:var(--ink); cursor:pointer; flex-shrink:0;
  transition:all .2s ease;
}
.search-pill:hover{
  background:var(--maroon); border-color:var(--maroon); color:#fff;
}

/* mobile drawer nav */
.mobile-nav{
  position:fixed; top:0; bottom:0; left:0; right:auto; width:min(86vw,340px);
  background:#FFF8F8; z-index:900; transform:translateX(-100%);
  transition:transform .32s cubic-bezier(.2,.8,.2,1); box-shadow:10px 0 35px rgba(0,0,0,.22);
  padding:0; display:flex; flex-direction:column; gap:0; overflow-y:auto; -webkit-overflow-scrolling:touch;
}
.mobile-nav.open{ transform:translateX(0); }
.drawer-header{
  background:linear-gradient(135deg, #A80F1C 0%, #D71920 100%);
  color:#fff;
  padding:16px 20px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  position:sticky;
  top:0;
  z-index:2;
  border-bottom:1px solid rgba(255,255,255,.1);
}
.drawer-title{
  font-family:var(--font-display);
  font-size:20px;
  font-weight:700;
  letter-spacing:0.02em;
  color:#fff;
}
.drawer-close{
  background:none;
  border:none;
  color:#fff;
  font-size:26px;
  line-height:1;
  cursor:pointer;
  padding:0 4px;
  display:flex;
  align-items:center;
  justify-content:center;
  opacity:0.9;
  transition:opacity 0.2s ease;
}
.drawer-close:hover{ opacity:1; }
.drawer-nav-list{
  padding:6px 0;
  border-bottom:1px solid rgba(200, 16, 46, .1);
}
.drawer-nav-item{
  display:flex;
  align-items:center;
  justify-content:space-between;
  padding:13px 20px;
  color:var(--maroon-dark);
  font-size:14.5px;
  font-weight:600;
  text-decoration:none;
  border-bottom:1px solid rgba(200, 16, 46, .06);
  transition:background .18s ease, color .18s ease;
}
.drawer-nav-item:hover, .drawer-nav-item:active{
  background:#FFF1F2;
  color:var(--maroon);
}
.drawer-nav-item svg{
  display:none !important;
}
.drawer-enquiries-section{
  padding:18px 20px 24px;
  background:#FFF5F5;
}
.drawer-enquiries-title{
  font-size:14px;
  font-weight:700;
  color:var(--maroon-dark);
  margin:0 0 12px;
  letter-spacing:0.05em;
  text-transform:uppercase;
}
.drawer-enquiry-line{
  font-size:clamp(11.5px, 3.2vw, 13px);
  line-height:1.6;
  margin:0 0 6px;
  color:var(--maroon-dark);
  display: flex !important;
  align-items: center !important;
  gap: 6px !important;
  flex-wrap: nowrap !important;
  white-space: nowrap !important;
  overflow-x: auto !important;
  scrollbar-width: none !important;
}
.drawer-enquiry-line::-webkit-scrollbar{ display: none; }
.drawer-enquiry-lbl{
  font-weight:700;
  letter-spacing:0.02em;
  flex-shrink: 0 !important;
  white-space: nowrap !important;
}
.drawer-enquiry-line a{
  color:var(--maroon-dark);
  text-decoration:underline;
  white-space: nowrap !important;
  flex-shrink: 0 !important;
}
.drawer-support-links{
  display:flex;
  flex-direction:column;
  gap:4px;
  margin:12px 0 16px;
}
.drawer-support-link{
  color:var(--maroon-dark);
  text-decoration:underline;
  font-size:13px;
  padding:2px 0;
  display:inline-block;
}
.drawer-support-link:hover{
  color:var(--maroon);
}
.drawer-rate-link{
  text-decoration:none !important;
  font-weight:600;
  color:var(--maroon) !important;
  margin-top:2px;
}
.drawer-follow{
  border-top:1px solid rgba(200, 16, 46, .12);
  padding-top:14px;
  display:flex;
  align-items:center;
  justify-content:space-between;
}
.drawer-follow span{
  font-size:13px;
  font-weight:600;
  color:var(--maroon-dark);
}
.drawer-social-icons{
  display:flex;
  gap:8px;
}
.drawer-social-icons a{
  width:32px;
  height:32px;
  border-radius:50%;
  background:#fff;
  border:1px solid rgba(200, 16, 46, .16);
  display:inline-flex;
  align-items:center;
  justify-content:center;
  color:var(--maroon);
  transition:background .2s, color .2s;
}
.drawer-social-icons a svg{
  width:15px;
  height:15px;
}
.drawer-social-icons a:hover{
  background:var(--maroon);
  color:#fff;
}
.scrim{ position:fixed; inset:0; background:rgba(168, 15, 28, .4); z-index:890; opacity:0; pointer-events:none; transition:opacity .3s ease; }
.scrim.open{ opacity:1; pointer-events:auto; }

/* =========================================================
   BUTTONS
   ========================================================= */
.btn{
  display:inline-flex; align-items:center; justify-content:center; gap:8px;
  padding:13px 22px; border-radius:999px; font-size:13px; letter-spacing:.02em; font-weight:600;
  border:1px solid transparent; transition:transform .22s cubic-bezier(.2,.8,.2,1), box-shadow .22s ease, background .22s ease, border-color .22s ease, color .22s ease;
  position:relative;
}
.btn:active{ transform:scale(0.97) !important; }
.btn-primary{ background:var(--maroon); color:#fff; box-shadow:var(--shadow-sm); }
.btn-primary:hover{ background:var(--maroon-dark); transform:translateY(-2px); box-shadow:0 8px 24px -4px rgba(168, 15, 28, 0.35); }
.btn-outline{ background:transparent; border-color:var(--maroon); color:var(--maroon); }
.btn-outline:hover{ background:var(--maroon); color:#fff; transform:translateY(-2px); box-shadow:0 6px 18px -4px rgba(168, 15, 28, 0.22); }
.btn-gold{ background:var(--gold); color:var(--maroon-dark); }
.btn-gold:hover{ background:var(--gold-light); transform:translateY(-2px); box-shadow:0 6px 20px -4px rgba(198, 154, 74, 0.38); }
.btn-block{ width:100%; }
.btn-sm{ padding:9px 16px; font-size:13px; }
.btn[disabled]{ opacity:.5; cursor:not-allowed; transform:none !important; }

/* =========================================================
   HERO
   ========================================================= */
.hero{
  position:relative; overflow:hidden;
  background:linear-gradient(135deg,#FFF8F8 0%, #FFF5F5 40%, #FFF1F2 72%, #FDF6EC 100%);
  padding:52px 0 58px;
}
.hero-cover, .hero-cover img{
  display:none !important;
  visibility:hidden !important;
  opacity:0 !important;
  height:0 !important;
  max-height:0 !important;
  margin:0 !important;
  padding:0 !important;
  pointer-events:none !important;
  overflow:hidden !important;
}
.hero-copy-wrap{ position:relative; z-index:2; display:block; padding-top:0; }
.hero-copy{ max-width:860px; }
.hero-eyebrow{ font-size:13px; letter-spacing:.14em; color:var(--rose); font-weight:600; margin-bottom:14px; display:flex; align-items:center; gap:8px; }
.hero-eyebrow::before{ content:""; width:26px; height:1px; background:var(--rose); display:inline-block; }
.hero h1{ font-size:clamp(34px,4.2vw,48px); line-height:1.12; max-width:14ch; letter-spacing:-0.01em; margin-bottom:14px; }
.hero h1 em{ font-style:italic; color:var(--rose); }
.hero-actions{ display:flex; gap:14px; flex-wrap:wrap; margin-bottom:24px; }

/* Dynamic Alignment Support for Admin Rich Text Content */
.hero-eyebrow:has([style*="text-align: center"]),
.hero-eyebrow:has([style*="text-align:center"]),
.hero-eyebrow[style*="text-align: center"],
.hero-eyebrow[style*="text-align:center"] {
  justify-content: center !important;
  text-align: center !important;
}
.hero-eyebrow:has([style*="text-align: right"]),
.hero-eyebrow:has([style*="text-align:right"]),
.hero-eyebrow[style*="text-align: right"],
.hero-eyebrow[style*="text-align:right"] {
  justify-content: flex-end !important;
  text-align: right !important;
}
.hero h1:has([style*="text-align: center"]),
.hero h1:has([style*="text-align:center"]),
.hero h1[style*="text-align: center"],
.hero h1[style*="text-align:center"] {
  max-width: 100% !important;
  text-align: center !important;
}
.hero h1:has([style*="text-align: right"]),
.hero h1:has([style*="text-align:right"]),
.hero h1[style*="text-align: right"],
.hero h1[style*="text-align:right"] {
  max-width: 100% !important;
  text-align: right !important;
}
.hero p.lead:has([style*="text-align: center"]),
.hero p.lead:has([style*="text-align:center"]),
.hero p.lead[style*="text-align: center"],
.hero p.lead[style*="text-align:center"] {
  max-width: 100% !important;
  text-align: center !important;
  margin-left: auto !important;
  margin-right: auto !important;
}
.hero p.lead:has([style*="text-align: right"]),
.hero p.lead:has([style*="text-align:right"]),
.hero p.lead[style*="text-align: right"],
.hero p.lead[style*="text-align:right"] {
  max-width: 100% !important;
  text-align: right !important;
}
.section-head > div:has([style*="text-align: center"]),
.section-head > div:has([style*="text-align:center"]) {
  width: 100% !important;
  text-align: center !important;
}

/* Quick Category / Celebration Chips inside Hero - Removed */
.hero-quick-rail{
  display:none !important;
  visibility:hidden !important;
  height:0 !important;
  margin:0 !important;
  padding:0 !important;
  pointer-events:none !important;
}

.hero-values{
  display:grid; grid-template-columns:repeat(var(--hero-cols, 3), minmax(0, 1fr)); gap:0;
  margin-top:20px; padding:0; max-width:var(--hero-max-w, 840px); width:100%;
  background:transparent; border:none; outline:none; box-shadow:none;
}
.hero-values div{ padding:0 20px; margin:0; border:none; border-right:1px solid rgba(200, 16, 46, .18); background:transparent; }
.hero-values div:first-child{ padding-left:0; }
.hero-values div:last-child{ padding-right:0; margin-right:0; border-right:0; }
.hero-values div b{ display:block; font-family:var(--font-display); font-size:clamp(13px,1.25vw,16px); color:var(--maroon-dark); line-height:1.25; white-space:nowrap !important; }
.hero-values div span{ display:-webkit-box; margin-top:5px; font-size:11.5px; line-height:1.38; color:var(--ink-soft); overflow:hidden; -webkit-box-orient:vertical; -webkit-line-clamp:2; white-space:normal !important; }

.hero-visual{ display:none; }
.hero-card{
  aspect-ratio:1/1; border-radius:50%;
  background:linear-gradient(150deg,var(--maroon) 0%, var(--maroon-dark) 100%);
  position:relative; overflow:hidden; box-shadow:0 26px 55px -24px rgba(200, 16, 46, .65), 0 0 0 12px rgba(255,255,255,.38);
  display:flex; align-items:center; justify-content:center;
}
.hero-card svg{ width:52%; height:52%; opacity:.92; }
.hero-logo{ position:absolute; inset:0; width:100%; height:100%; object-fit:cover; border-radius:50%; z-index:1; box-shadow:none; }
.hero-card .ring{
  position:absolute; border:1px solid rgba(233,211,163,.35); border-radius:50%;
}
.hero-card .ring.r1{ width:78%; height:78%; }
.hero-card .ring.r2{ width:100%; height:100%; }
.hero-float-badge{
  position:absolute; bottom:-18px; left:-18px; background:#fff; border-radius:var(--radius-m);
  padding:14px 18px; box-shadow:var(--shadow); display:flex; align-items:center; gap:10px; max-width:220px;
}
.hero-float-badge svg{ width:26px; height:26px; color:var(--gold); flex-shrink:0; }
.hero-float-badge b{ display:block; font-size:13px; color:var(--maroon-dark); }
.hero-float-badge span{ font-size:11.5px; color:var(--ink-soft); }

/* =========================================================
   SECTION HEADINGS
   ========================================================= */
.section{ padding:64px 0; }
.section-head{ display:flex; align-items:flex-end; justify-content:space-between; gap:20px; margin-bottom:32px; }
.section-head h2{
  font-family: var(--font-display, 'Fraunces', Georgia, serif);
  font-size: clamp(22px, 3.2vw, 36px);
  font-weight: 700;
  color: var(--maroon-dark, #C8102E);
  margin: 0;
  letter-spacing: -0.01em;
}
.section-head h2 *,
.section-head h2 p{
  font-family: inherit !important;
  font-size: inherit !important;
  font-weight: inherit !important;
  color: inherit !important;
  margin: 0 !important;
  display: inline !important;
  line-height: inherit !important;
}
.section-head .see-all{
  font-size:13.5px; font-weight:600; color:var(--maroon); border-bottom:1px solid var(--maroon); padding-bottom:2px; white-space:nowrap;
  display:inline-flex; align-items:center; gap:4px; transition:color .2s ease, border-color .2s ease, transform .2s ease;
}
.section-head .see-all:hover{
  color:var(--maroon-dark); border-bottom-color:var(--gold); transform:translateX(3px);
}
.category-section-head{ text-align:center; margin:0 auto 28px; max-width:820px; position:relative; }
.section-kicker{ display:block; color:var(--gold); font-size:12px; font-weight:600; letter-spacing:.28em; margin-bottom:14px; }
.category-section-head h2{
  font-family: var(--font-display, 'Fraunces', Georgia, serif) !important;
  font-size: 20px !important;
  font-weight: 700 !important;
  line-height: 1.3 !important;
  margin: 0 0 10px !important;
  color: var(--maroon-dark, #A80F1C) !important;
  text-transform: none !important;
  letter-spacing: 0 !important;
  text-align: center !important;
}
.category-section-head p{
  color: var(--ink-soft, #66585C) !important;
  font-size: 14.5px !important;
  line-height: 1.6 !important;
  max-width: 68ch !important;
  margin: 0 auto 12px !important;
  text-align: center !important;
}
.category-section-head .cat-view-all-wrap{
  display: flex;
  justify-content: flex-end;
  margin-top: 4px;
}
.section-ornament{ width:max-content; margin:0 auto; display:flex; align-items:center; justify-content:center; gap:16px; color:var(--gold); }
.section-ornament i{ display:block; width:116px; border-top:4px dashed var(--gold); }
.section-ornament b{ font-size:20px; font-weight:400; line-height:1; }

/* =========================================================
   CATEGORY GRID
   ========================================================= */
.cat-grid{ display:grid; grid-template-columns:repeat(auto-fit, minmax(160px, 1fr)); gap:20px; justify-content:center; }
.cat-card{
  background:transparent; border-radius:0; padding:0 8px 12px; text-align:center; overflow:visible;
  border:0; transition:transform .25s ease;
}
.cat-card:hover{ transform:translateY(-5px); }
.cat-card .cat-ico{
  width:136px; height:136px; margin:0 auto 18px; border-radius:50%;
  display:flex; align-items:center; justify-content:center; overflow:hidden;
  box-shadow:0 14px 24px -18px rgba(200, 16, 46, .6);
}
.cat-card .cat-ico svg{ width:44px; height:44px; }
.cat-card .cat-ico img{ width:100%; height:100%; object-fit:cover; border-radius:50%; }
.cat-card h4{ font-size:15px; margin-bottom:4px; }
.cat-card p{ font-size:12px; color:var(--ink-soft); margin:0; }

.categories-page-section{ padding-top:28px; }
.category-page-grid{ display:grid; grid-template-columns:repeat(2,1fr); gap:18px; max-width:920px; margin:0 auto; }
.category-page-card{ min-height:150px; display:flex; align-items:center; gap:18px; padding:24px; border-radius:var(--radius-m); border:1px solid rgba(228,214,198,.78); transition:transform .25s ease, box-shadow .25s ease; }
.category-page-card:hover{ transform:translateY(-4px); box-shadow:var(--shadow); }
.category-page-icon{ width:68px; height:68px; border-radius:50%; display:flex; align-items:center; justify-content:center; flex-shrink:0; background:rgba(255,255,255,.58); }
.category-page-icon svg{ width:32px; height:32px; }
.category-page-icon img{ width:100%; height:100%; object-fit:cover; border-radius:inherit; }
.category-page-copy{ display:flex; flex-direction:column; gap:5px; flex:1; }
.category-page-copy b{ color:var(--maroon-dark); font-family:var(--font-display); font-size:21px; }
.category-page-copy small{ color:var(--ink-soft); font-size:12.5px; line-height:1.45; }
.category-page-arrow{ color:var(--maroon); }
.category-page-arrow svg{ width:20px; height:20px; }

.tint-gold{ background:linear-gradient(160deg,#F4E1B8,#E4C176); color:var(--maroon-dark); }
.tint-maroon{ background:linear-gradient(160deg,#FFF5F5,#FFF5F5); color:var(--maroon-dark); }
.tint-rose{ background:linear-gradient(160deg,#FFF5F5,#F5F9F8); color:var(--maroon-dark); }
.tint-wood{ background:linear-gradient(160deg,#E4C6A0,#C79764); color:#4a2f14; }
.tint-green{ background:linear-gradient(160deg,#D7E2C9,#AFC498); color:#33461f; }
.tint-jute{ background:linear-gradient(160deg,#E7D3AE,#C9A468); color:#4a3416; }
.tint-blush{ background:linear-gradient(160deg,#FFF5F5,#FFF5F5); color:var(--maroon-dark); }

/* =========================================================
   PRODUCT CARDS / GRID
   ========================================================= */
.product-grid{ display:grid; grid-template-columns:repeat(4,1fr); gap:24px; }
.product-card{
  background:var(--card); border-radius:var(--radius-m); overflow:hidden; position:relative;
  border:1px solid rgba(228,214,198,.78); box-shadow:0 5px 18px rgba(200, 16, 46, .035);
  transition:transform .3s cubic-bezier(.2,.8,.2,1), box-shadow .3s ease, border-color .3s ease;
  display:flex; flex-direction:column; height:100%;
}
.product-card::after{
  content:""; position:absolute; z-index:6; top:115%; left:-12%; width:124%; height:42%;
  pointer-events:none; opacity:0; transform:rotate(18deg) translateX(-120%);
  background:linear-gradient(180deg, transparent 12%, rgba(255,255,255,.08) 34%, rgba(255,255,255,.68) 50%, rgba(255,255,255,.08) 66%, transparent 88%);
  transition:opacity .18s ease, transform .72s cubic-bezier(.2,.75,.25,1);
}
.product-card:hover{
  transform:translateY(-8px);
  box-shadow:0 16px 36px -8px rgba(200, 16, 46, .16), 0 0 0 1px rgba(198,154,74,.38);
  border-color:rgba(198,154,74,.5);
}
.product-card:active{
  transform:translateY(-3px) scale(0.99);
}
.product-card:hover::after,.product-card:active::after,.product-card:focus-within::after,.product-card.shine-active::after{
  opacity:1 !important; transform:rotate(18deg) translateY(-390%);
}
.product-media img{ transition:none; }
.product-card:hover .product-media img,
.product-card:active .product-media img,
.product-card:focus-within .product-media img,
.product-card.shine-active .product-media img,
.product-card:hover .product-media svg,
.product-card:active .product-media svg,
.product-card:focus-within .product-media svg,
.product-card.shine-active .product-media svg{ transform:none !important; }
.product-media svg{ transition:none; }
.product-media{
  aspect-ratio:1/1; position:relative; display:flex; align-items:center; justify-content:center; overflow:hidden;
  background:#FAF8F5;
}
.product-media svg{ width:44%; height:44%; }

/* Soft blurred backdrop for landscape or portrait product images (eliminates harsh letterbox bands) */
.pm-bg,
.pd-media-bg{
  display: none !important;
}

.product-media .pm-bg{
  display: block !important;
  position: absolute;
  top: -20%;
  left: -20%;
  width: 140%;
  height: 140%;
  object-fit: cover !important;
  filter: blur(28px) saturate(1.05);
  opacity: 1;
  transform: scale(1.2);
  pointer-events: none;
  z-index: 1;
}

.product-media img,
.product-media .pm-main{
  width: 100%;
  height: 100%;
  object-fit: contain !important;
  background: transparent !important;
  border-radius: inherit;
  position: relative;
  z-index: 2;
}

.pd-media img,
.pd-media .pd-media-main,
#pdMainImage{
  width:100%; height:100%; object-fit:contain !important; background:transparent !important; border-radius:inherit;
  position:relative; z-index:2;
}

.pd-media .pd-media-bg{
  display: block !important;
  position: absolute;
  top: -20%;
  left: -20%;
  width: 140%;
  height: 140%;
  object-fit: cover !important;
  filter: blur(28px) saturate(1.05);
  opacity: 1;
  transform: scale(1.2);
  pointer-events: none;
  z-index: 1;
}

/* Soft blurred backdrop fills the empty space (top/bottom for landscape, left/right for portrait) */
.product-media .pm-bg,
.pd-media .pd-media-bg{
  display: block !important;
}

.pd-gallery-thumb img,
.thumb img,
.past-order-thumb img,
.ordered-product-image img,
.paired-card-media img{
  width:100%; height:100%; object-fit:cover !important; background:#FAF8F5 !important; border-radius:inherit;
  position:relative; z-index:2;
}
.cat-square-media img,.cat-showcase-media img,.occ-media-wrap img{
  width:100%; height:100%; object-fit:cover; border-radius:inherit;
}
.product-tag.oos-tag{ background:rgba(83, 194, 166, .92); color:#fff; }
.product-tag{
  position:absolute; z-index:7; top:10px; left:10px; background:rgba(255,255,255,.94); color:var(--maroon-dark);
  font-size:10.5px; font-weight:700; letter-spacing:.03em; padding:4px 10px; border-radius:20px;
  box-shadow:0 2px 8px rgba(200, 16, 46, .08); backdrop-filter:blur(4px);
}
.product-quick{
  position:absolute; top:10px; right:10px; display:flex; flex-direction:column; gap:8px;
  opacity:0; transform:translateX(6px); transition:opacity .25s ease, transform .25s ease;
  z-index:8;
}
.product-card:hover .product-quick{ opacity:1; transform:translateX(0); }
.product-quick button{
  width:36px; height:36px; border-radius:50%; background:#fff; border:1px solid rgba(198,154,74,.25); box-shadow:0 4px 12px rgba(200, 16, 46, .14);
  display:flex; align-items:center; justify-content:center; color:var(--maroon-dark);
  transition:transform .22s cubic-bezier(.2,.8,.2,1), background .2s ease, color .2s ease, box-shadow .2s ease, border-color .2s ease;
}
.product-quick button:hover{
  transform:scale(1.15);
  background:#fff;
  color:var(--rose);
  box-shadow:0 6px 16px rgba(142, 211, 194, .25);
  border-color:var(--rose);
}
.product-quick button:active{
  transform:scale(0.92);
}
.product-quick button.active{ color:var(--rose); background:#FFF5F5; border-color:var(--rose); }
.product-quick button svg{ width:16px; height:16px; transition:transform .2s ease; }
.product-quick button:hover svg{ transform:scale(1.1); }
.product-body{ padding:18px 18px 20px; display:flex; flex-direction:column; gap:6px; flex:1 1 auto; }
.product-body .p-cat{ display:none; }
.product-body h4{
  font-size:15px; margin:0; line-height:1.35;
  height:2.7em; min-height:2.7em;
  display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden;
}
.product-body h4 a{ color:var(--ink); transition:color .2s ease; }
.product-card:hover .product-body h4 a,
.product-body h4 a:hover{ color:var(--maroon); }
.price-row{ display:flex; align-items:baseline; gap:8px; margin-top:2px; min-height:24px; }
.price-row .now{ font-family:var(--font-price) !important; font-size:22px; font-weight:800; color:var(--maroon-dark); letter-spacing:-0.02em; }
.price-row .was{ font-size:13.5px; color:var(--ink-soft); text-decoration:line-through; }
.discount-label{ color:var(--gold); font-size:12px; font-weight:700; white-space:nowrap; }
.product-actions{ margin-top:auto !important; display:flex; gap:8px; }
.product-actions .btn{
  flex:1; min-width:0; padding:10px 10px; font-size:13px; white-space:nowrap;
  transition:transform .2s cubic-bezier(.2,.8,.2,1), background .2s ease, box-shadow .2s ease, border-color .2s ease;
}
.product-actions .btn:hover{ transform:translateY(-2px); }
.product-actions .btn:active{ transform:scale(0.96); }
.ico { display:inline-flex; align-items:center; justify-content:center; line-height:1; vertical-align:middle; }
.ico svg { width:1em; height:1em; max-width:100%; max-height:100%; display:inline-block; vertical-align:middle; }
.product-actions .ico{ display:inline-flex; }
.product-actions .ico svg{ width:15px; height:15px; }
.btn-text-short{ display:none; }
.btn-text-full{ display:inline; }

/* =========================================================
   FILTER BAR (shop page)
   ========================================================= */
.filter-bar{
  display:flex; flex-direction:column; gap:10px; margin-bottom:30px; align-items:stretch;
}
.filter-scroll{ display:flex; align-items:center; gap:10px; min-width:0; overflow-x:auto; overflow-y:hidden; cursor:grab; scrollbar-width:none; -ms-overflow-style:none; -webkit-overflow-scrolling:touch; }
.filter-scroll::-webkit-scrollbar{ display:none; }
.filter-scroll:active{ cursor:grabbing; }
.filter-scroll .social-divider{ width:0; margin:0 2px; }
.chip{
  flex:0 0 auto; padding:9px 18px; border-radius:22px; border:1px solid var(--line); background:#fff; font-size:13.5px;
  transition:all .2s ease;
}
.filter-sort{ align-self:flex-end; }
.filter-sort select{
  border:1px solid var(--line);
  border-radius:18px;
  padding:7px 28px 7px 12px;
  font-family:inherit;
  font-size:12px;
  background:#fff;
  min-height:34px;
  appearance:none;
  -webkit-appearance:none;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%23555' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");
  background-repeat:no-repeat;
  background-position:right 10px center;
  cursor:pointer;
  outline:none;
  color:var(--ink);
}
.filter-sort select:focus{
  border-color:var(--maroon);
  box-shadow:0 0 0 2px rgba(215, 25, 32, 0.12);
}
.empty-state{ text-align:center; padding:60px 20px; color:var(--ink-soft); }
.empty-state svg{ width:50px; height:50px; color:var(--gold); margin-bottom:14px; }

/* =========================================================
   OCCASION BENTO SHOWCASE (Wedtree Inspiration)
   ========================================================= */
.occasion-bento-grid{
  display:grid; grid-template-columns:repeat(6, 1fr); gap:14px; margin-top:20px;
}
.occasion-card{
  background:transparent; border:none; border-radius:var(--radius-m);
  padding:12px 8px; display:flex; flex-direction:column; align-items:center; text-align:center;
  position:relative; overflow:visible; transition:transform .28s cubic-bezier(.2,.8,.2,1);
  box-shadow:none; text-decoration:none;
}
.occasion-card:hover{
  transform:translateY(-5px); box-shadow:none;
}
.occasion-card:active{ transform:scale(0.98); }
.occasion-card .occ-badge{
  font-size:9.5px; font-weight:700; letter-spacing:.12em; text-transform:uppercase; color:var(--rose); margin-bottom:10px;
  transition:color .2s ease;
}
.occasion-card:hover .occ-badge{ color:var(--maroon-dark); }
.occasion-card .occ-icon-wrap{
  width:58px; height:58px; border-radius:50%; background:var(--gold-tint); border:1px solid var(--gold-light);
  display:flex; align-items:center; justify-content:center; color:var(--maroon-dark); margin-bottom:12px;
  transition:transform .35s cubic-bezier(.2,.8,.2,1), background .3s ease, box-shadow .3s ease;
}
.occasion-card:hover .occ-icon-wrap{
  transform:scale(1.12) rotate(5deg); background:var(--gold-light);
  box-shadow:0 6px 18px -4px rgba(198,154,74,.4);
}
.occasion-card .occ-icon-wrap svg{ width:28px; height:28px; }

.occasion-card .occ-media-wrap{
  width:116px; height:116px; border-radius:50%; overflow:hidden;
  margin:0 auto 12px; background:var(--bg-soft, #FAF6F0);
  border:3px solid #fff;
  box-shadow:0 4px 14px rgba(62, 176, 147, 0.12), 0 0 0 1.5px var(--gold-light);
  position:relative; display:flex; align-items:center; justify-content:center;
  flex-shrink:0;
  transition:transform .35s cubic-bezier(.2,.8,.2,1), box-shadow .35s ease;
}
.occasion-card:hover .occ-media-wrap{
  transform:scale(1.08);
  box-shadow:0 8px 22px rgba(62, 176, 147, 0.22), 0 0 0 2px var(--gold);
}
.occasion-card .occ-media-wrap img{
  width:100%; height:100%; object-fit:cover; border-radius:50%;
  transition:transform .4s cubic-bezier(.2,.8,.2,1);
}
.occasion-card:hover .occ-media-wrap img{
  transform:scale(1.08);
}
.occasion-card .occ-media-wrap svg{
  width:44px; height:44px; color:var(--maroon-dark);
}
.occasion-card h3{
  font-family:var(--font-display); font-size:16.5px; color:var(--maroon-dark); margin:0 0 4px; line-height:1.2;
}
.occasion-card p{
  font-size:11.5px; color:var(--ink-soft); margin:0 0 10px; line-height:1.4;
  display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden;
}
.occasion-card .occ-link{
  margin-top:auto; font-size:11.5px; font-weight:600; color:var(--maroon); display:inline-flex; align-items:center; gap:4px;
  transition:color .2s ease;
}
.occasion-card:hover .occ-link{ color:var(--maroon-dark); }
.occasion-card .occ-link svg{ width:13px; height:13px; transition:transform .25s cubic-bezier(.2,.8,.2,1); }
.occasion-card:hover .occ-link svg{ transform:translateX(5px); }

/* =========================================================
   SQUARE CATEGORY BOXES (Modern Boutique Model)
   ========================================================= */
.cat-square-grid{
  display:grid; grid-template-columns:repeat(5, 1fr); gap:18px; margin-top:20px;
}
.cat-square-card{
  background:#fff; border:1px solid rgba(198,154,74,.32); border-radius:18px;
  padding:22px 16px 18px; display:flex; flex-direction:column; align-items:center; text-align:center;
  text-decoration:none; transition:transform .28s cubic-bezier(.2,.8,.2,1), box-shadow .28s ease, border-color .28s ease;
  box-shadow:0 4px 16px -6px rgba(200, 16, 46, .06); position:relative; overflow:hidden;
}
.cat-square-card:hover{
  transform:translateY(-7px); border-color:var(--maroon);
  box-shadow:0 16px 32px -8px rgba(200, 16, 46, .2), 0 0 0 1px rgba(198,154,74,.35);
}
.cat-square-card:active{ transform:scale(0.98); }
.cat-square-media{
  width:108px; height:108px; border-radius:50%; display:flex; align-items:center; justify-content:center;
  margin:0 auto 16px; position:relative; overflow:hidden; box-shadow:0 8px 22px -8px rgba(200, 16, 46, .22);
  transition:transform .35s cubic-bezier(.2,.8,.2,1), box-shadow .35s ease;
}
.cat-square-card:hover .cat-square-media{
  transform:scale(1.09);
  box-shadow:0 0 0 4px rgba(198,154,74,.22), 0 12px 28px -6px rgba(200, 16, 46, .28);
}
.cat-square-media svg{ width:46px; height:46px; }
.cat-square-media img{ width:100%; height:100%; object-fit:cover; border-radius:inherit; }
.cat-square-body{ display:flex; flex-direction:column; align-items:center; width:100%; flex:1; }
.cat-square-body h3,.cat-square-body h4{
  font-family:var(--font-display); font-size:18px; color:var(--maroon-dark); margin:0 0 6px;
  transition:color .2s ease;
}
.cat-square-card:hover .cat-square-body h3,
.cat-square-card:hover .cat-square-body h4{
  color:var(--maroon);
}
.cat-square-body p{
  font-size:12px; color:var(--ink-soft); line-height:1.45; margin:0 0 12px;
  display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden; max-width:26ch;
}
.cat-square-link{
  font-size:12px; font-weight:600; color:var(--maroon); display:inline-flex; align-items:center; gap:4px;
  margin-top:auto; transition:color .2s ease;
}
.cat-square-card:hover .cat-square-link{ color:var(--maroon-dark); }
.cat-square-link svg{ width:13px; height:13px; transition:transform .25s cubic-bezier(.2,.8,.2,1); }
.cat-square-card:hover .cat-square-link svg{ transform:translateX(5px); }

/* =========================================================
   CATEGORY PAGE SHOWCASE (Big Wedtree-Style Cards)
   ========================================================= */
.cat-showcase-grid{
  display:grid;
  grid-template-columns:repeat(3, 1fr);
  gap:26px;
  margin-top:28px;
}
.cat-showcase-card{
  background:#fff;
  border:1px solid rgba(198,154,74,.32);
  border-radius:18px;
  overflow:hidden;
  display:flex;
  flex-direction:column;
  text-decoration:none;
  box-shadow:0 6px 20px -4px rgba(200, 16, 46, .08);
  transition:transform .3s cubic-bezier(.2,.8,.2,1), box-shadow .3s ease, border-color .3s ease;
  position:relative;
}
.cat-showcase-card:hover{
  transform:translateY(-8px);
  border-color:var(--maroon);
  box-shadow:0 18px 36px -8px rgba(200, 16, 46, .2), 0 0 0 1px rgba(198,154,74,.35);
}
.cat-showcase-card:active{
  transform:scale(0.985);
}
.cat-showcase-media{
  width:100%;
  height:310px;
  position:relative;
  overflow:hidden;
  background:#FFF8F8;
  display:flex;
  align-items:center;
  justify-content:center;
}
.cat-showcase-media img{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
  transition:transform .45s cubic-bezier(.2,.8,.2,1);
}
.cat-showcase-card:hover .cat-showcase-media > img:not(.prod-img-blur){
  transform:scale(1.07);
}
.cat-showcase-media svg{
  width:84px;
  height:84px;
  opacity:0.85;
  transition:transform .35s ease;
}
.cat-showcase-card:hover .cat-showcase-media svg{
  transform:scale(1.12);
}
.cat-showcase-banner{
  background:linear-gradient(135deg, #C8102E 0%, #C8102E 100%);
  color:#fff;
  padding:14px 18px;
  text-align:center;
  display:flex;
  align-items:center;
  justify-content:center;
  transition:background .25s ease;
}
.cat-showcase-card:hover .cat-showcase-banner{
  background:linear-gradient(135deg, #D71920 0%, #D71920 100%);
}
.cat-showcase-name{
  font-family:var(--font-display, "Playfair Display", serif);
  font-size:16.5px;
  font-weight:700;
  letter-spacing:1.2px;
  text-transform:uppercase;
  color:#fff;
  text-shadow:0 1px 2px rgba(0,0,0,.15);
}
.cat-showcase-details{
  padding:18px 20px 22px;
  display:flex;
  flex-direction:column;
  align-items:center;
  text-align:center;
  flex:1;
  background:#fff;
}
.cat-showcase-blurb{
  font-size:13px;
  color:var(--ink-soft);
  line-height:1.5;
  margin:0 0 14px;
  max-width:34ch;
}
.cat-showcase-action{
  font-size:12px;
  font-weight:700;
  letter-spacing:.3px;
  color:var(--maroon);
  display:inline-flex;
  align-items:center;
  gap:5px;
  margin-top:auto;
  text-transform:uppercase;
  transition:color .2s ease;
}
.cat-showcase-card:hover .cat-showcase-action{
  color:var(--maroon-dark);
}
.cat-showcase-action svg{
  width:13px;
  height:13px;
  transition:transform .25s ease;
}
.cat-showcase-card:hover .cat-showcase-action svg{
  transform:translateX(5px);
}

/* =========================================================
   BUDGET STRIP EXPLORER (Royal Luxury Indian Aesthetic)
   ========================================================= */
.budget-strip-grid{
  display:grid; grid-template-columns:repeat(5, 1fr); gap:14px; margin-top:20px;
}
.budget-strip-card{
  background:linear-gradient(145deg, #FFFDF9 0%, #FAF3E6 100%);
  border:1px solid rgba(198,154,74,.42); border-radius:16px;
  padding:16px 16px 14px; display:flex; flex-direction:column; justify-content:space-between;
  text-decoration:none; transition:all .28s cubic-bezier(.2,.8,.2,1);
  box-shadow:0 4px 16px -4px rgba(200, 16, 46, .07); position:relative; overflow:hidden;
}
.budget-strip-card::before{
  content:""; position:absolute; top:0; left:0; right:0; height:3px;
  background:linear-gradient(90deg, var(--gold-light), var(--maroon), var(--gold-light));
  opacity:0; transition:opacity .25s ease;
}
.budget-strip-card:hover{
  transform:translateY(-6px); border-color:var(--maroon);
  box-shadow:0 14px 30px -6px rgba(200, 16, 46, .22), 0 0 0 1px rgba(198,154,74,.35); background:#fff;
}
.budget-strip-card:hover::before{ opacity:1; }
.budget-strip-card:active{ transform:scale(0.98); }
.budget-strip-pill{
  display:inline-flex; align-items:center; gap:5px; font-size:10px; font-weight:700;
  letter-spacing:.06em; text-transform:uppercase; color:var(--maroon);
  background:rgba(198,154,74,.18); border:1px solid rgba(198,154,74,.3);
  padding:2px 8px; border-radius:999px; width:fit-content; margin-bottom:6px;
  transition:all .2s ease;
}
.budget-strip-card:hover .budget-strip-pill{
  background:var(--maroon);
  color:#fff;
  border-color:var(--maroon);
}
.budget-strip-card:hover .budget-strip-pill svg{
  color:#fff;
}
.budget-strip-pill svg{ width:11px; height:11px; color:var(--maroon); transition:color .2s ease; }
.budget-strip-main{
  display:flex; align-items:center; justify-content:space-between; gap:6px; margin:2px 0;
}
.budget-strip-price{
  font-family:var(--font-display); font-size:21px; font-weight:700; color:var(--maroon-dark);
  white-space: nowrap !important;
}
.budget-strip-arrow{
  width:26px; height:26px; border-radius:50%; background:var(--maroon); color:#fff;
  display:flex; align-items:center; justify-content:center; flex-shrink:0; transition:all .25s cubic-bezier(.2,.8,.2,1);
  box-shadow:0 2px 8px -2px rgba(200, 16, 46, .3);
}
.budget-strip-arrow svg{ width:12px; height:12px; }
.budget-strip-card:hover .budget-strip-arrow{
  background:var(--maroon-dark); transform:translateX(4px) scale(1.08);
  box-shadow:0 4px 12px rgba(200, 16, 46, .4);
}
.budget-strip-blurb{
  font-size:11.5px; color:#6E5338; line-height:1.35; margin:6px 0 0;
  white-space:normal; overflow:visible; text-overflow:clip;
}

/* Integrated Filter Bar Controls */
.filter-controls-group{ display:flex; align-items:center; gap:10px; flex-wrap:wrap; }
.filter-budget select{
  border:1px solid var(--line); border-radius:18px; padding:7px 12px; font-family:inherit;
  font-size:12px; background:#fff; min-height:34px; color:var(--ink); font-weight:600;
}

/* =========================================================
   CUSTOMER REVIEWS / TESTIMONIALS (Wedtree Model)
   ========================================================= */
.reviews-section{ background:linear-gradient(180deg, rgba(255,251,245,0.7) 0%, rgba(250,243,235,0.7) 100%); }
.reviews-header{ text-align:center; max-width:680px; margin:0 auto 28px; }
.reviews-header h2{ font-family:var(--font-display); font-size:clamp(26px, 4vw, 34px); color:var(--maroon-dark); margin:6px 0 10px; }
.reviews-rating-bar{
  display:inline-flex; align-items:center; justify-content:center; gap:8px; flex-wrap:wrap;
  background:#fff; border:1px solid rgba(198,154,74,.35); padding:6px 16px; border-radius:999px;
  box-shadow:0 2px 10px -2px rgba(200, 16, 46, .06); margin-top:4px;
}
.stars-row{ display:inline-flex; align-items:center; gap:2px; color:var(--gold); }
.stars-row svg{ width:15px; height:15px; fill:currentColor; }
.rating-number{ font-weight:700; color:var(--maroon-dark); font-size:13.5px; }
.rating-divider{ color:var(--line); font-size:12px; }
.reviews-count{ color:var(--ink-soft); font-size:12px; }
.verified-shield{
  display:inline-flex; align-items:center; gap:4px; font-size:11px; font-weight:600;
  color:#2E7D32; background:#EAF6EC; padding:2px 8px; border-radius:999px;
}
.verified-shield svg{ width:12px; height:12px; }
.reviews-grid{
  display: flex !important;
  overflow-x: auto !important;
  flex-wrap: nowrap !important;
  gap: 16px !important;
  padding: 10px 4px 20px !important;
  margin: 0 !important;
  scroll-snap-type: x mandatory !important;
  -webkit-overflow-scrolling: touch !important;
  scrollbar-width: none !important;
  width: 100% !important;
  align-items: stretch !important;
}
.reviews-grid::-webkit-scrollbar{ display: none !important; }
.review-card{
  flex: 0 0 285px !important;
  min-width: 285px !important;
  max-width: 285px !important;
  scroll-snap-align: start !important;
  background:#fff;
  border:1px solid rgba(198,154,74,.3);
  border-radius:14px;
  padding:20px 18px 18px;
  display:flex !important;
  flex-direction:column !important;
  justify-content:space-between !important;
  min-height: 250px !important;
  box-shadow:0 4px 16px -6px rgba(200, 16, 46, .06);
  transition:transform .28s cubic-bezier(.2,.8,.2,1), box-shadow .28s ease, border-color .28s ease;
  position:relative;
  box-sizing: border-box;
  text-align: left !important;
}
.review-card > div{
  text-align: left !important;
  width: 100% !important;
}
.review-card:hover{
  transform:translateY(-6px);
  box-shadow:0 14px 28px -6px rgba(200, 16, 46, .16), 0 0 0 1px rgba(198,154,74,.35);
  border-color:var(--maroon);
}
.review-card-stars{
  display:flex !important;
  align-items:center !important;
  justify-content: flex-start !important;
  gap:2px;
  color:var(--gold);
  margin-bottom:8px !important;
  text-align: left !important;
}
.review-card-stars svg{ width:13px; height:13px; fill:currentColor; transition:transform .2s ease; }
.review-card:hover .review-card-stars svg{ transform:scale(1.12); }
.review-title{
  font-size:14.5px !important;
  font-weight:700 !important;
  color:var(--maroon-dark) !important;
  margin:0 0 8px !important;
  line-height:1.35 !important;
  text-align: left !important;
}
.review-comment{
  font-size: 13px !important;
  color: #374151 !important;
  line-height: 1.55 !important;
  font-style: italic !important;
  margin: 0 0 14px !important;
  padding: 0 !important;
  text-indent: 0 !important;
  display: block !important;
  text-align: left !important;
  -webkit-line-clamp: unset !important;
  -webkit-box-orient: unset !important;
  overflow: visible !important;
  text-overflow: clip !important;
  word-break: break-word !important;
  overflow-wrap: anywhere !important;
  word-wrap: break-word !important;
  white-space: pre-line !important;
  max-width: 100% !important;
}
.review-author{
  margin-top: auto !important;
  padding-top: 12px !important;
  border-top: 1px dashed rgba(200, 16, 46, 0.14) !important;
  width: 100% !important;
  text-align: left !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: flex-start !important;
  gap: 3px !important;
}
.review-author strong{ font-size:13px !important; color:var(--maroon-dark) !important; display:block !important; text-align: left !important; }
.review-location{ font-size:11.5px !important; color:var(--ink-soft) !important; display:block !important; margin-top:1px !important; text-align: left !important; }
.review-verified{
  display:inline-flex !important;
  align-items:center !important;
  justify-content: flex-start !important;
  gap:3px !important;
  font-size:11px !important;
  font-weight:600 !important;
  color:#16A34A !important;
  margin-top:6px !important;
  text-align: left !important;
}
.review-verified svg{ width:11px; height:11px; }

/* =========================================================
   CLEAN TEXT POLICY PAGES (Simple, elegant reading format)
   ========================================================= */
.policy-page-section{ padding:36px 0 60px; }
.policy-container{ max-width:820px; margin:0 auto; }
.policy-header{ margin-bottom:24px; padding-bottom:16px; border-bottom:1px solid var(--line); }
.policy-header h1{ font-size:clamp(26px, 4vw, 36px); color:var(--maroon-dark); margin:0 0 8px; font-family:var(--font-display); }
.policy-meta{ font-size:13.5px; color:var(--ink-soft); margin:0; line-height:1.5; }
.policy-meta span{ color:var(--maroon); font-weight:500; }
.policy-text-tabs{ display:flex; gap:8px; flex-wrap:wrap; margin-bottom:28px; padding-bottom:16px; border-bottom:1px dashed var(--line); }
.policy-text-tab{ font-size:13px; font-weight:500; color:var(--ink-soft); padding:6px 14px; border-radius:999px; background:var(--bg-soft); border:1px solid var(--line); text-decoration:none; transition:all .2s ease; }
.policy-text-tab:hover{ color:var(--maroon-dark); border-color:var(--gold); background:#fff; }
.policy-text-tab.active{ color:var(--maroon-dark); background:#fff; border-color:var(--maroon); font-weight:600; box-shadow:0 2px 8px rgba(45, 164, 134, .08); }
.policy-prose-content{ font-size:15px; line-height:1.8; color:var(--ink); }
.policy-prose-content h2, .policy-prose-content h3{ font-family:var(--font-display); color:var(--maroon-dark); margin:28px 0 10px; font-size:19px; }
.policy-prose-content p{ margin:0 0 16px; }
.policy-prose-content ul,
.policy-bullet-list{
  margin: 14px 0 20px 24px !important;
  padding-left: 12px !important;
  list-style: disc !important;
  list-style-type: disc !important;
}
.policy-prose-content li,
.policy-bullet-list li{
  display: list-item !important;
  list-style: disc !important;
  list-style-type: disc !important;
  margin-bottom: 9px !important;
  line-height: 1.65 !important;
  color: var(--ink) !important;
}
.policy-prose-content strong{ color:var(--maroon-dark); }
.policy-footer-note{ margin-top:36px; padding:18px 20px; background:var(--bg-soft); border-radius:12px; font-size:13.5px; color:var(--ink-soft); border:1px solid var(--line); }
.policy-footer-note a{ color:var(--maroon); font-weight:600; text-decoration:underline; }

@media (min-width:901px){
  .pd-media{ position:relative !important; top:auto !important; align-self:start; }
}

/* =========================================================
   TIERED BULK DISCOUNT ENGINE (Wedtree Model)
   ========================================================= */
.bulk-perk-card{
  background:linear-gradient(135deg, #FFFBF5 0%, #FAF3ED 100%);
  border:1px solid var(--gold-light); border-radius:var(--radius-m);
  padding:18px 20px; margin:20px 0;
}
.bulk-perk-head{
  display:flex; align-items:center; justify-content:space-between; gap:12px; margin-bottom:10px;
}
.bulk-perk-title{
  font-size:13.5px; font-weight:700; color:var(--maroon-dark); display:flex; align-items:center; gap:8px;
}
.bulk-perk-title svg{ width:18px; height:18px; color:var(--gold); }
.bulk-perk-table{
  display:grid; grid-template-columns:repeat(4, 1fr); gap:8px; margin-top:8px;
}
.bulk-perk-step{
  background:#fff; border:1px solid rgba(198,154,74,.3); border-radius:8px; padding:8px 6px; text-align:center;
  transition:border-color .2s ease, transform .2s ease;
}
.bulk-perk-step.active{
  border-color:var(--maroon); background:#FFF5F5; box-shadow:0 0 0 1px var(--maroon);
}
.bulk-perk-qty{ font-size:11px; color:var(--ink-soft); font-weight:600; }
.bulk-perk-saving{ font-size:12px; color:var(--maroon); font-weight:700; margin-top:2px; }
.bulk-enquire-btn{
  margin-top:12px; display:inline-flex; align-items:center; gap:6px; font-size:12.5px; font-weight:600;
  color:var(--maroon); background:none; border:none; padding:0; cursor:pointer; text-decoration:underline;
}

/* Live Product Page Savings Tag */
.bulk-savings-badge{
  display:inline-flex; align-items:center; gap:6px; padding:4px 10px; border-radius:999px;
  background:#EAF6EC; border:1px solid #A4D9AC; color:#1C682A; font-size:11.5px; font-weight:700;
}

/* =========================================================
   DELIVERY PINCODE ESTIMATOR
   ========================================================= */
.pincode-estimator{
  margin:18px 0; padding:14px 16px; border:1px solid var(--line); border-radius:12px; background:#fff;
}
.pincode-label{
  display:flex; align-items:center; gap:6px; font-size:12px; font-weight:700; letter-spacing:.06em;
  text-transform:uppercase; color:var(--ink-soft); margin-bottom:8px;
}
.pincode-label svg{ width:15px; height:15px; color:var(--gold); }
.pincode-input-row{
  display:flex; gap:8px;
}
.pincode-input-row input{
  flex:1; border:1px solid var(--line); border-radius:999px; padding:8px 14px; font-size:13.5px;
  font-family:inherit; outline:none; transition:border-color .2s ease;
}
.pincode-input-row input:focus{ border-color:var(--maroon); }
.pincode-input-row button{
  padding:8px 16px; border-radius:999px; background:var(--maroon); color:#fff; border:none;
  font-size:12.5px; font-weight:600; cursor:pointer; transition:background .2s ease;
}
.pincode-input-row button:hover{ background:var(--maroon-dark); }
.pincode-status{
  margin-top:8px; font-size:12px; line-height:1.4; display:none;
}
.pincode-status.show{ display:block; }
.pincode-status.success{ color:#1C682A; }
.pincode-status.error{ color:#C8102E; }

/* =========================================================
   CART FREE DELIVERY PROGRESS BAR
   ========================================================= */
.free-shipping-card{
  background:var(--gold-tint); border:1px solid var(--gold-light); border-radius:10px;
  padding:10px 14px; margin-bottom:12px;
}
.free-shipping-label{
  display:flex; align-items:center; justify-content:space-between; font-size:12px; font-weight:600;
  color:var(--maroon-dark); margin-bottom:6px;
}
.free-shipping-label span{
  display:inline-flex; align-items:center; gap:6px;
}
.free-shipping-label svg, .free-shipping-label .ico svg{
  width:15px; height:15px; flex-shrink:0; display:inline-block; vertical-align:middle;
}
.free-shipping-bar{
  width:100%; height:5px; background:rgba(198,154,74,.25); border-radius:4px; overflow:hidden;
}
.free-shipping-fill{
  height:100%; background:linear-gradient(90deg, var(--gold), var(--maroon)); transition:width .3s ease;
}
.cart-bulk-pill{
  display:inline-flex; align-items:center; gap:4px; font-size:11px; font-weight:600;
  color:#1C682A; background:#EAF6EC; border:1px solid #A4D9AC; border-radius:4px;
  padding:2px 6px; margin:4px 0;
}
.cart-bulk-pill svg{ width:11px; height:11px; }

.cart-tax-shipping-note{
  font-size: 12px;
  color: var(--ink-soft);
  margin: 6px 0 14px;
  line-height: 1.45;
  text-align: center;
}


/* =========================================================
   MOBILE STICKY ACTION BAR (CRT Mode)
   ========================================================= */
.mobile-sticky-action-bar{ display:none !important; }

/* =========================================================
   PROMO BAND
   ========================================================= */
.promo-band{
  background:linear-gradient(120deg,var(--maroon) 0%, var(--maroon-dark) 100%);
  color:#fff; border-radius:var(--radius-m); padding:52px 56px;
  display:flex; align-items:center; justify-content:space-between; gap:30px; position:relative; overflow:hidden;
}
.promo-band::after{
  content:""; position:absolute; right:-40px; top:-40px; width:220px; height:220px; border-radius:50%;
  background:radial-gradient(circle,rgba(233,211,163,.28),transparent 70%);
}
.promo-band h3{ color:#fff; font-size:26px; max-width:16ch; margin-bottom:8px; }
.promo-band p{ color:rgba(255,255,255,.75); max-width:40ch; margin:0; }

/* =========================================================
   TESTIMONIAL / TRUST STRIP
   ========================================================= */
.trust-strip{ display:grid; grid-template-columns:repeat(4,1fr); gap:20px; }
.trust-item{ text-align:center; padding:22px 14px; }
.trust-item svg{ width:30px; height:30px; color:var(--gold); margin:0 auto 10px; }
.trust-item h5{ font-size:14px; margin:0 0 4px; color:var(--maroon-dark); font-family:var(--font-body); font-weight:700; }
.trust-item p{ font-size:12.5px; color:var(--ink-soft); margin:0; }
.budget-grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:18px; }
.budget-card{ min-height:150px; border:1px solid var(--gold-light); background:linear-gradient(145deg,#FFF8D9,#F8E9A8); color:#7A4A12; display:flex; flex-direction:column; align-items:center; justify-content:center; padding:20px; text-align:center; transition:transform .2s ease, box-shadow .2s ease; }
.budget-card:hover{ transform:translateY(-4px); box-shadow:var(--shadow); }
.budget-card span{ font-size:15px; }
.budget-card strong{ font-family:var(--font-display); font-size:34px; line-height:1.1; }
.budget-card small{ display:inline-flex; align-items:center; gap:4px; margin-top:10px; border:1px solid currentColor; border-radius:20px; padding:4px 10px; font-size:11px; }
.budget-card small svg{ width:13px; height:13px; }

/* =========================================================
   PRODUCT DETAIL PAGE
   ========================================================= */
.breadcrumb{ font-size:13px; color:var(--ink-soft); margin-bottom:22px; }
.breadcrumb a:hover{ color:var(--maroon); }
.pd-grid{
  display:grid;
  grid-template-columns:minmax(0, .9fr) minmax(0, 1fr);
  gap:52px;
  align-items:start;
  clear:both;
  margin-bottom:32px;
  position:relative;
  width:100%;
}
.pd-related-section{
  clear:both !important;
  display:block !important;
  width:100% !important;
  position:relative !important;
  z-index:5 !important;
  margin-top:24px !important;
}
.pd-media{
  min-width:0; max-width:100%; aspect-ratio:1/1; max-height:550px; border-radius:var(--radius-l); display:flex; align-items:center; justify-content:center;
  position:relative; overflow:hidden; background:#FAF8F5;
}
.pd-media svg{ width:42%; height:42%; }

.pd-gallery-container{
  display: flex;
  flex-direction: column;
  gap: 14px;
  width: 100%;
  min-width: 0;
}
.pd-gallery-strip{
  display: flex;
  gap: 10px;
  overflow-x: auto;
  overflow-y: hidden;
  padding: 4px 2px 8px;
  scrollbar-width: thin;
  scrollbar-color: var(--gold, #C69A4A) transparent;
  -webkit-overflow-scrolling: touch;
}
.pd-gallery-strip::-webkit-scrollbar{
  height: 5px;
}
.pd-gallery-strip::-webkit-scrollbar-thumb{
  background: var(--gold, #C69A4A);
  border-radius: 4px;
}
.pd-gallery-thumb{
  width: 72px;
  height: 72px;
  min-width: 72px;
  aspect-ratio: 1/1;
  border: 2px solid #E5E7EB;
  border-radius: 8px;
  background: #FFFFFF;
  padding: 2px;
  cursor: pointer;
  overflow: hidden;
  transition: border-color .2s ease, box-shadow .2s ease, transform .18s ease;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
}
.pd-gallery-thumb:hover{
  border-color: var(--gold, #C69A4A);
  transform: translateY(-2px);
}
.pd-gallery-thumb.active{
  border-color: var(--maroon, #C8102E) !important;
  box-shadow: 0 0 0 2px rgba(61, 180, 150, 0.3) !important;
  transform: scale(1.02);
}
.pd-gallery-thumb img{
  width: 100%;
  height: 100%;
  object-fit: contain !important;
  background: #FFFFFF;
  border-radius: 5px;
}

/* Shipping Timeline Accordion — minimal clean design */
.pd-shipping-accordion-wrap{
  border-top: 1px solid #ECE7E1;
  border-bottom: 1px solid #ECE7E1;
  margin: 18px 0;
  padding: 0;
  background: transparent;
}
.pd-shipping-accordion-wrap.open{
  border-color: #D5CFC7;
}
.pd-shipping-accordion-head{
  width: auto;
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 12px 0;
  background: none;
  border: none;
  cursor: pointer;
  text-align: left;
  user-select: none;
  font-family: inherit;
  font-size: 14px;
  font-weight: 500;
  color: #2C2426;
  transition: opacity .2s ease;
}
.pd-shipping-accordion-head:hover{
  opacity: 0.8;
}
.pd-shipping-accordion-icon{
  flex-shrink: 0;
  line-height: 1;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  color: #2C2426;
}
.pd-shipping-accordion-icon svg{
  width: 19px;
  height: 19px;
  stroke: currentColor;
  fill: none;
  stroke-width: 1.6;
}
.pd-shipping-accordion-title{
  font-size: 14px;
  font-weight: 500;
  color: #2C2426;
  line-height: 1.3;
  margin: 0;
}
.pd-shipping-chevron{
  width: 16px;
  height: 16px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  color: #555;
  flex-shrink: 0;
  transition: transform 0.25s cubic-bezier(0.2,0.8,0.2,1);
  margin-left: 2px;
}
.pd-shipping-accordion-wrap.open .pd-shipping-chevron{
  transform: rotate(180deg);
}

/* Add to cart outline button */
.pd-add-btn{
  background: #FFFFFF !important;
  color: var(--maroon, #C8102E) !important;
  border: 1.5px solid var(--maroon, #C8102E) !important;
  font-weight: 600 !important;
  box-shadow: none !important;
  transition: all .2s ease !important;
}
.pd-add-btn:hover{
  background: rgba(61, 180, 150, 0.06) !important;
  color: var(--maroon, #C8102E) !important;
  border-color: var(--maroon, #C8102E) !important;
}
.pd-add-btn.active, .pd-add-btn:active{
  background: var(--maroon, #C8102E) !important;
  color: #FFFFFF !important;
  border-color: var(--maroon, #C8102E) !important;
  box-shadow: 0 4px 12px rgba(61, 180, 150, 0.25) !important;
}
.pd-shipping-accordion-body{
  padding: 0 0 14px;
  border-top: 1px solid #F0EBE5;
}
.pd-shipping-accordion-inner{
  font-size: 13px;
  color: var(--ink-soft);
  line-height: 1.6;
  margin-top: 10px;
}
.pd-shipping-accordion-inner p{
  margin: 0 0 6px;
}
.pd-shipping-accordion-inner p:last-child{
  margin-bottom: 0;
}

.oos-notice{
  display:flex; gap:10px; align-items:flex-start; background:var(--bg-soft,#F4E7D8); border:1px solid var(--line,#E7D8C4);
  border-radius:14px; padding:14px 16px; margin-bottom:18px; font-size:13.5px; color:var(--ink);
}
.oos-notice svg{ width:18px; height:18px; color:var(--maroon-dark); flex-shrink:0; margin-top:1px; }
.oos-notice a{ color:var(--maroon); font-weight:600; text-decoration:underline; }
.pd-info{ min-width:0; max-width:100%; width:100%; }
.pd-info .p-cat{ font-size:12px; letter-spacing:.09em; text-transform:uppercase; color:var(--rose); font-weight:600; }
.pd-info h1{ font-size:clamp(24px,3vw,32px); margin:8px 0 12px; word-break:break-word; }
.pd-price{ display:flex; align-items:baseline; gap:10px; margin-bottom:18px; flex-wrap:wrap; }
.pd-price .now{ font-family:var(--font-price) !important; font-size:34px; font-weight:800; color:var(--maroon-dark); letter-spacing:-0.025em; line-height:1.1; }
.pd-price .was{ font-size:15px; color:var(--ink-soft); text-decoration:line-through; }
.pd-price .off{ font-size:13px; color:var(--gold); padding:2px 8px; border-radius:4px; font-weight:700; background:rgba(198,154,74,.12); }
.pd-rating{ display:flex; align-items:center; gap:7px; margin:-6px 0 18px; color:var(--gold); font-size:17px; }
.pd-rating b{ color:var(--maroon-dark); font-size:13px; }
.pd-desc{ color:var(--ink-soft); margin-bottom:22px; max-width:56ch; font-size:14.5px; line-height:1.65; }
.pd-desc p{ margin:0 0 10px; }
.pd-desc p:last-child{ margin-bottom:0; }
.pd-desc h3{
  font-family: var(--font-display, 'Fraunces', Georgia, serif) !important;
  font-size: 20px !important;
  font-weight: 700 !important;
  color: var(--maroon-dark, #A80F1C) !important;
  margin: 18px 0 8px !important;
  letter-spacing: -0.01em !important;
}
.pd-desc ul, .pd-desc ol{ margin:8px 0 14px 22px; padding:0; }
.pd-desc ul li{ list-style-type:disc; margin-bottom:6px; line-height:1.55; font-size:14px; color:var(--ink); }
.pd-desc ol li{ list-style-type:decimal; margin-bottom:6px; line-height:1.55; font-size:14px; color:var(--ink); }
.pd-desc ul li::marker, .pd-desc ol li::marker,
.pd-desc ul.pd-desc-list li::marker, .pd-desc ol.pd-desc-list li::marker {
  font-size: inherit;
  color: inherit;
}
.pd-desc ul.pd-desc-list, .pd-desc ol.pd-desc-list{ margin:8px 0 12px 22px; padding:0; }
.pd-desc ul.pd-desc-list li{ list-style-type:disc; margin-bottom:5px; }
.pd-desc ol.pd-desc-list li{ list-style-type:decimal; margin-bottom:5px; }
.qty-row{ display:flex; align-items:center; gap:14px; margin:16px 0 20px; flex-wrap:wrap; }
.qty-control{ display:inline-flex; align-items:center; border:1.5px solid rgba(215, 25, 32, 0.22); border-radius:999px; overflow:hidden; background:#fff; box-shadow:0 1px 3px rgba(0,0,0,0.04); }
.qty-control button{ width:30px; height:30px; background:#fff; border:none; font-size:15px; font-weight:700; color:var(--maroon-dark); cursor:pointer; display:inline-flex; align-items:center; justify-content:center; transition:background .15s ease; }
.qty-control button:hover{ background:rgba(215, 25, 32, 0.08); }
.qty-control span{ width:28px; text-align:center; font-size:13.5px; font-weight:700; color:var(--maroon-dark); }
.pd-stock-notice{ display:inline-flex; align-items:center; gap:6px; font-size:12.5px; font-weight:600; color:#15803D; background:#F0FDF4; border:1px solid #BBF7D0; padding:4px 10px; border-radius:999px; }
.pd-actions{ display:flex; gap:12px; flex-wrap:nowrap; margin-bottom:14px; align-items:center; }
.pd-actions .btn{
  flex: 1;
  min-width: 150px;
  height: 48px;
  font-size: 14px;
  font-weight: 700;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  padding: 0 18px;
  border-radius: 999px;
}
.pd-actions .btn-primary{
  background: var(--maroon);
  color: #fff;
  border: 1px solid var(--maroon);
}
.pd-actions .btn-primary:hover{
  background: var(--maroon-dark);
}
.pd-actions .pd-add-btn{
  background: #fff;
  color: var(--maroon);
  border: 1px solid var(--maroon);
}
.pd-actions .pd-add-btn:hover{
  background: var(--bg-soft);
}
.pd-actions .icon-btn,
.wish-action{
  border: 1px solid var(--maroon);
  width: auto;
  min-width: 94px;
  height: 48px;
  border-radius: 999px;
  gap: 7px;
  color: var(--maroon);
  background: #fff;
  font: 600 13px var(--font-body);
  padding: 0 14px;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  line-height: 1 !important;
  vertical-align: middle !important;
}
.pd-actions .icon-btn:hover,
.wish-action:hover{ background:var(--bg-soft); }
.pd-actions .icon-btn.active,
.wish-action.active{ color:#fff; border-color:var(--maroon); background:var(--maroon); }
.pd-actions .icon-btn svg,
.wish-action svg{
  width: 17px !important;
  height: 17px !important;
  display: inline-block !important;
  vertical-align: middle !important;
  flex-shrink: 0 !important;
  margin: 0 !important;
}
.pd-actions .icon-btn span,
.wish-action span{
  white-space: nowrap !important;
  line-height: 1 !important;
  display: inline-flex !important;
  align-items: center !important;
  vertical-align: middle !important;
  margin: 0 !important;
}
.pd-size-field{ margin:0 0 20px; padding:0; border:none; background:transparent; box-shadow:none; width:100%; max-width:100%; min-width:0; }
.pd-size-header-row{ display:flex; align-items:center; justify-content:space-between; margin-bottom:8px; gap:8px; }
.pd-size-label{ display:inline-block; font-size:12px; color:var(--ink-soft); font-weight:700; letter-spacing:.08em; text-transform:uppercase; margin-bottom:0; }
.pd-size-scroll-wrap{ position:relative; width:100%; max-width:100%; min-width:0; }
.pd-size-options{
  display:flex;
  flex-wrap:nowrap;
  gap:8px;
  overflow-x:auto;
  overflow-y:hidden;
  -webkit-overflow-scrolling:touch;
  scroll-behavior:smooth;
  padding:4px 2px 6px;
  margin:0;
  width:100%;
  max-width:100%;
  min-width:0;
  cursor:grab;
  scrollbar-width:none;
  -ms-overflow-style:none;
}
.pd-size-options:active{ cursor:grabbing; }
.pd-size-options::-webkit-scrollbar{ display:none; width:0; height:0; }
.pd-size-option{ flex-shrink:0; min-width:48px; white-space:nowrap; border:1.5px solid var(--line); background:#fff; color:var(--ink); border-radius:999px; padding:9px 18px; font:600 13.5px var(--font-body); transition:background .2s ease,color .2s ease,border-color .2s ease,transform .2s ease,box-shadow .2s ease; cursor:pointer; user-select:none; }
.pd-size-option:hover{ transform:translateY(-1px); border-color:var(--maroon); color:var(--maroon); }
.pd-size-option.active{ background:var(--maroon); border-color:var(--maroon); color:#fff; box-shadow:0 4px 12px rgba(61, 180, 150, 0.3); }
button.pd-size-option.oos:disabled,
button.pd-size-option.oos[disabled],
.pd-size-option.oos{
  position: relative !important;
  background: #FFFFFF !important;
  border: 1.5px solid #E5E7EB !important;
  color: #1F2937 !important;
  -webkit-text-fill-color: #1F2937 !important;
  cursor: not-allowed !important;
  opacity: 1 !important;
  pointer-events: none !important;
  transform: none !important;
  box-shadow: none !important;
  font-weight: 500 !important;
}
.pd-size-option.oos .pd-size-name{
  position: relative !important;
  display: inline-block !important;
  line-height: 1.2 !important;
  color: #1F2937 !important;
  -webkit-text-fill-color: #1F2937 !important;
  font-weight: 500 !important;
  text-decoration: none !important;
}
.pd-size-option.oos .pd-size-name::after{
  content: "" !important;
  position: absolute !important;
  left: -5px !important;
  right: -5px !important;
  top: 50% !important;
  height: 1.5px !important;
  background: #D71920 !important;
  transform: translateY(-50%) !important;
  border-radius: 1px !important;
  pointer-events: none !important;
}
.pd-size-option.oos .pd-size-oos-tag{
  display: none !important;
}
@keyframes shakeSize {
  0%, 100% { transform: translateX(0); }
  20%, 60% { transform: translateX(-6px); }
  40%, 80% { transform: translateX(6px); }
}
.shake-attention { animation: shakeSize 0.5s ease-in-out; }
.pd-secondary-actions{ display:flex; align-items:center; gap:10px; flex-wrap:wrap; padding:14px 0 4px; border-top:1px solid var(--line); }
.share-product-btn{ display:inline-flex; align-items:center; gap:8px; border:1px solid var(--line); background:#fff; color:var(--maroon); font:600 13px var(--font-body); padding:10px 14px; border-radius:8px; transition:background .2s ease,border-color .2s ease,transform .2s ease; }
.share-product-btn:hover{ background:var(--bg-soft); border-color:var(--maroon); transform:translateY(-1px); }
.share-product-btn svg{ width:17px; height:17px; }
.customize-link{
  display:inline-flex; align-items:center; gap:8px; font-size:13px; color:#fff; font-weight:600;
  border:1px solid var(--maroon); padding:10px 14px; border-radius:8px; background:var(--maroon); transition:background .2s ease,transform .2s ease;
}
.customize-link:hover{ background:var(--maroon-dark); transform:translateY(-1px); }
.customize-link svg{ width:16px; height:16px; }
.customize-note{ margin-top:12px; font-size:13px; background:var(--bg-soft); padding:10px 14px; border-radius:12px; color:var(--ink); }
.pd-meta{ margin-top:26px; border-top:1px solid var(--line); padding-top:20px; display:flex; flex-direction:column; gap:10px; }
.pd-meta div{ display:flex; gap:10px; align-items:flex-start; font-size:13.5px; color:var(--ink-soft); }
.pd-meta svg{ width:17px; height:17px; color:var(--gold); flex-shrink:0; margin-top:1px; }

/* =========================================================
   CART DRAWER
   ========================================================= */
.cart-drawer{
  position:fixed; inset:0 0 0 auto; width:min(92vw,420px); background:var(--bg); z-index:950;
  transform:translateX(100%); transition:transform .34s cubic-bezier(.2,.9,.3,1); box-shadow:-16px 0 50px rgba(0,0,0,.2);
  display:flex; flex-direction:column;
}
.cart-drawer.open{ transform:translateX(0); }
.cart-head{ display:flex; align-items:center; justify-content:space-between; padding:20px 22px; border-bottom:1px solid var(--line); }
.cart-head h3{ margin:0; font-size:19px; }
.cart-items{ flex:1; overflow-y:auto; padding:14px 22px; }
.cart-line{ display:flex; gap:12px; padding:14px 0; border-bottom:1px solid var(--line); }
.cart-line .thumb{ width:64px; height:64px; border-radius:12px; flex-shrink:0; display:flex; align-items:center; justify-content:center; }
.cart-line .thumb svg{ width:30px; height:30px; }
.cart-line .info{ flex:1; min-width:0; }
.cart-line .info h5{ font-size:13.5px; margin:0 0 3px; }
.cart-line .info .cust{ font-size:11.5px; color:var(--ink-soft); font-style:italic; }
.cart-line .row2{ display:flex; align-items:center; justify-content:space-between; margin-top:8px; }
.cart-line .qty-control button{ width:28px; height:28px; font-size:14px; }
.cart-line .qty-control span{ width:24px; font-size:13px; }
.cart-line .remove{ background:none; border:none; color:var(--ink-soft); font-size:12px; text-decoration:underline; }
.cart-empty{ text-align:center; padding:60px 10px; color:var(--ink-soft); }
.cart-empty svg{ width:44px; height:44px; color:var(--gold); margin-bottom:14px; }
.cart-foot{ padding:18px 22px 22px; border-top:1px solid var(--line); }
.cart-foot .subtotal{ display:flex; justify-content:space-between; font-size:15px; margin-bottom:14px; }
.cart-foot .subtotal b{ font-family:var(--font-display); font-size:19px; color:var(--maroon-dark); }

/* =========================================================
   CHECKOUT / FORMS
   ========================================================= */
.checkout-grid{ display:grid; grid-template-columns:1.2fr .8fr; gap:44px; align-items:start; }
.form-card{ background:var(--card); border:1px solid var(--line); border-radius:var(--radius-m); padding:28px; }
.form-card h3{ font-size:19px; margin-bottom:18px; }
.form-row{ display:grid; grid-template-columns:1fr 1fr; gap:16px; margin-bottom:16px; }
.field{ display:flex; flex-direction:column; gap:6px; margin-bottom:16px; }
.field label{ font-size:13px; font-weight:600; color:var(--ink); }
.field label .opt{ color:var(--ink-soft); font-weight:400; }
.field input,.field textarea,.field select{
  border:1px solid var(--line); border-radius:10px; padding:12px 14px; font-family:inherit; font-size:14px; background:#fff; width:100%;
}
.field input:focus,.field textarea:focus{ border-color:var(--maroon); }
.field.error input,.field.error textarea{ border-color:#C8102E; }
.field .err-msg{ font-size:12px; color:#C8102E; display:none; }
.field.error .err-msg{ display:block; }

/* Payment Methods Grid */
.payment-options-grid{
  display: flex;
  flex-direction: column;
  gap: 10px;
  margin-top: 4px;
}
.payment-option-card{
  display: flex;
  align-items: flex-start;
  gap: 12px;
  padding: 13px 15px;
  border: 1.5px solid var(--line);
  border-radius: 12px;
  background: #FFF;
  cursor: pointer;
  transition: all .2s ease;
}
.payment-option-card:hover{
  border-color: rgba(61, 180, 150, 0.35);
  background: #FFFDFB;
}
.payment-option-card.active{
  border-color: var(--maroon);
  background: #FBFDFC;
  box-shadow: 0 2px 10px rgba(61, 180, 150, 0.08);
}
.payment-option-card input[type="radio"]{
  margin-top: 3px;
  accent-color: var(--maroon);
  width: 17px;
  height: 17px;
  cursor: pointer;
  flex-shrink: 0;
}
.payment-option-content{
  flex: 1;
  min-width: 0;
  box-sizing: border-box;
}
.payment-option-header{
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  flex-wrap: wrap;
}
.payment-option-title{
  font-weight: 600;
  font-size: 13.5px;
  color: var(--ink);
}
.payment-badge-rec{
  background: #E8F5E9;
  color: #1B5E20;
  font-size: 10.5px;
  font-weight: 700;
  padding: 2px 8px;
  border-radius: 999px;
  border: 1px solid #C8E6C9;
}
.payment-subtext{
  font-size: 12px;
  color: var(--ink-soft);
  margin-top: 3px;
  line-height: 1.4;
}
.payment-icons-strip{
  display: flex;
  align-items: center;
  gap: 5px;
  margin-top: 7px;
  flex-wrap: wrap;
}
.payment-icon-pill{
  font-size: 10px;
  font-weight: 600;
  padding: 2px 7px;
  border-radius: 4px;
  background: #F3ECE7;
  color: var(--ink);
}
.payment-badge-paid{
  display: inline-flex;
  align-items: center;
  gap: 4px;
  background: #E8F5E9;
  color: #1B5E20;
  border: 1px solid #A5D6A7;
  padding: 2px 8px;
  border-radius: 6px;
  font-size: 11px;
  font-weight: 700;
}
.payment-badge-cod{
  display: inline-flex;
  align-items: center;
  gap: 4px;
  background: #FFF8E1;
  color: #7A5300;
  border: 1px solid #FFE082;
  padding: 2px 8px;
  border-radius: 6px;
  font-size: 11px;
  font-weight: 700;
}
.order-summary{ background:var(--card); border:1px solid var(--line); border-radius:var(--radius-m); padding:26px; position:sticky; top:calc(var(--header-h) + var(--marquee-h) + 20px); }
.order-summary h3{ font-size:17px; margin-bottom:16px; }
.summary-line{ display:flex; gap:10px; padding:10px 0; border-bottom:1px solid var(--line); font-size:13.5px; }
.summary-line .thumb{ width:44px; height:44px; border-radius:8px; display:flex; align-items:center; justify-content:center; flex-shrink:0; overflow:hidden; transition:opacity .15s ease; }
.summary-line .thumb:hover{ opacity:0.85; }
.summary-line .thumb img{ width:100%; height:100%; object-fit:cover; }
.summary-line .thumb svg{ width:20px; height:20px; }
.summary-line-name{ color:inherit; text-decoration:none; font-weight:600; transition:color .15s ease; }
.summary-line-name:hover{ color:var(--maroon); text-decoration:underline; }
.summary-line .info{ flex:1; }
.summary-customize{ display:inline-flex; align-items:center; gap:4px; border:0; background:none; color:var(--maroon); font:inherit; font-size:11.5px; padding:0; text-decoration:underline; }
.summary-customize svg{ width:13px; height:13px; }
.summary-price-remove{ display:flex; align-items:center; gap:8px; flex-shrink:0; }
.summary-line-price{ font-weight:700; color:var(--maroon-dark); font-size:13.5px; }
.summary-remove-btn{
  width:22px; height:22px; border-radius:50%; border:1px solid var(--line);
  background:var(--bg-soft); color:var(--maroon); font-size:15px; line-height:1;
  display:inline-flex; align-items:center; justify-content:center; cursor:pointer;
  transition:all .2s ease; padding:0; flex-shrink:0;
}
.summary-remove-btn:hover{
  background:var(--maroon); color:#fff; border-color:var(--maroon); transform:scale(1.1);
}
.summary-totals{ margin-top:14px; }
.summary-totals div{ display:flex; justify-content:space-between; font-size:13.5px; padding:5px 0; color:var(--ink-soft); }
.summary-totals .grand{ font-size:17px; color:var(--maroon-dark); font-weight:700; border-top:1px solid var(--line); margin-top:8px; padding-top:12px; }
.summary-totals .grand b{ font-family:var(--font-display); }

/* =========================================================
   MODALS (customize / order success)
   ========================================================= */
.modal-overlay{
  position:fixed; inset:0; background:rgba(168, 15, 28, .5); z-index:1000; display:flex; align-items:center; justify-content:center;
  opacity:0; pointer-events:none; transition:opacity .25s ease; padding:20px;
}
.modal-overlay.open{ opacity:1; pointer-events:auto; }
.modal-box{
  position:relative;
  background:#fff; border-radius:var(--radius-m); max-width:460px; width:100%; padding:32px 28px 28px;
  transform:scale(.93) translateY(10px); transition:transform .3s cubic-bezier(.2,.9,.3,1); text-align:center;
  max-height:88vh; overflow-y:auto;
}
.modal-box:has(#rateUsForm){ max-width:530px; }
.rate-modal-wrap{ text-align:left; max-width:100%; box-sizing:border-box; }
.rate-modal-head{ text-align:center; margin-bottom:14px; padding:0 36px; }
.rate-modal-titles h3{ margin:0; font-size:20px; font-family:var(--font-display); color:var(--maroon-dark); }
.rate-modal-sub{ margin:4px 0 0; font-size:12.5px; color:var(--ink-soft); }
.rate-stars-section{ text-align:center; margin-bottom:16px; }
.rate-stars-title{ font-size:13px; font-weight:600; color:var(--ink); margin-bottom:6px; }
.rate-stars-label{ font-size:13px; font-weight:600; color:var(--gold-dark); margin-top:4px; }
.rate-fields-row{ display:grid; grid-template-columns:1fr 1fr; gap:12px; margin-bottom:12px; }
.rate-fields-row .field{ margin-bottom:0; }
.rate-fields-row label{ font-size:11.5px; font-weight:600; margin-bottom:6px; display:block; text-align:left; }
.rate-form-fields input, .rate-form-fields textarea{ text-align:left; }
.modal-box:has(#rateFeedbackModal) .modal-close { top: 12px; right: 12px; z-index: 30; }
.rate-submit-btn{ margin-top:14px; padding:12px; }
.modal-overlay.open .modal-box{ transform:scale(1) translateY(0); }
.modal-box.text-left{ text-align:left; }
.modal-close{
  position:absolute; top:14px; right:14px;
  width:32px; height:32px; border-radius:50%;
  background:#FFF8F8; border:1px solid rgba(198,154,74,.35);
  color:var(--maroon-dark); font-size:20px; font-weight:700; line-height:1;
  display:flex; align-items:center; justify-content:center;
  cursor:pointer; z-index:25; transition:all .2s ease;
}
.modal-close:hover{ background:var(--maroon); color:#fff; border-color:var(--maroon); transform:scale(1.08); }
.modal-close svg{ width:16px; height:16px; min-width:16px; }
.success-badge{
  width:78px; height:78px; border-radius:50%; background:linear-gradient(150deg,var(--gold-light),var(--gold));
  display:flex; align-items:center; justify-content:center; margin:0 auto 18px; box-shadow:var(--shadow);
}
.success-badge svg{ width:36px; height:36px; color:var(--maroon-dark); }
.modal-box h3{ font-size:22px; margin-bottom:8px; }
.account-modal-icon{ width:58px; height:58px; border-radius:50%; background:var(--bg-soft); color:var(--maroon); display:flex; align-items:center; justify-content:center; margin:0 auto 14px; }
.account-modal-icon svg{ width:28px; height:28px; }
.modal-copy{ color:var(--ink-soft); font-size:13.5px; margin-bottom:18px; }
.account-form{ text-align:left; }
.account-form .field{ margin-bottom:12px; }
.account-signout{ background:none; border:0; color:var(--ink-soft); font-size:13px; margin-top:16px; text-decoration:underline; }
.order-id-chip{
  display:inline-block; background:var(--bg-soft); color:var(--maroon-dark); padding:6px 16px; border-radius:20px;
  font-weight:700; font-size:13.5px; margin:8px 0 18px; letter-spacing:.03em;
}
.modal-actions{ display:flex; flex-direction:column; gap:10px; margin-top:8px; }
.notify-list{ text-align:left; background:var(--bg-soft); border-radius:12px; padding:14px 16px; margin:14px 0; font-size:12.8px; color:var(--ink); }
.notify-list div{ display:flex; gap:8px; align-items:flex-start; margin-bottom:6px; }
.notify-list div:last-child{ margin-bottom:0; }
.notify-list svg{ width:15px; height:15px; color:var(--green); flex-shrink:0; margin-top:2px; }

/* confetti canvas */
#confetti-canvas{ position:fixed; inset:0; z-index:1100; pointer-events:none; }

/* =========================================================
   TRACK ORDER PAGE
   ========================================================= */
.track-form{ display:flex; gap:12px; max-width:520px; margin-bottom:40px; }
.track-form input{ flex:1; border:1px solid var(--line); border-radius:24px; padding:12px 20px; font-family:inherit; font-size:14px; }
.tracker-card{ background:var(--card); border:1px solid var(--line); border-radius:var(--radius-m); padding:30px; }
.order-items-card{ background:var(--card); border:1px solid var(--line); border-radius:var(--radius-m); padding:24px; margin-bottom:20px; }
.order-items-head{ display:flex; align-items:flex-start; justify-content:space-between; gap:16px; padding-bottom:16px; border-bottom:1px solid var(--line); }
.order-items-head h3{ font-size:20px; margin:0 0 3px; }
.order-items-head p{ color:var(--ink-soft); font-size:13px; margin:0; }
.order-status-label{ color:var(--green); background:rgba(92,122,82,.12); border-radius:20px; padding:6px 12px; font-size:12px; font-weight:700; white-space:nowrap; }
.ordered-products{ display:flex; flex-direction:column; }
.ordered-product{ display:flex; align-items:center; gap:14px; padding:16px 0; border-bottom:1px solid var(--line); }
.ordered-product:last-child{ border-bottom:0; padding-bottom:0; }
.ordered-product-image{ width:76px; height:76px; border-radius:12px; display:flex; align-items:center; justify-content:center; flex-shrink:0; }
.ordered-product-image svg{ width:38px; height:38px; }
.ordered-product-info{ flex:1; min-width:0; display:flex; flex-direction:column; gap:3px; }
.ordered-product-info b{ color:var(--ink); font-size:14px; }
.ordered-product-info span,.ordered-product-info em{ color:var(--ink-soft); font-size:12px; font-style:normal; }
.ordered-product-info em{ color:var(--maroon); }
.ordered-product>strong{ color:var(--maroon-dark); font-family:var(--font-display); font-size:17px; white-space:nowrap; }
.order-sections{ display:flex; flex-direction:column; gap:22px; }
.past-orders{ background:var(--card); border:1px solid var(--line); border-radius:var(--radius-m); padding:24px; }
.past-orders-heading{ display:flex; align-items:center; justify-content:space-between; gap:16px; padding-bottom:14px; border-bottom:1px solid var(--line); }
.past-orders-heading h2{ font-size:22px; margin:0 0 3px; }
.past-orders-heading p{ color:var(--ink-soft); font-size:13px; margin:0; }
.past-orders-heading span{ color:var(--ink-soft); font-size:13px; }
.past-order-row{ display:grid; grid-template-columns:1.2fr .8fr auto auto; align-items:center; gap:18px; padding:18px 0; border-bottom:1px solid var(--line); }
.past-order-row:last-child{ border-bottom:0; padding-bottom:0; }
.past-order-row>div{ display:flex; flex-direction:column; gap:4px; }
.past-order-row>div:nth-child(2){ flex-direction:row; gap:14px; align-items:baseline; }
.past-order-product{ flex-direction:row !important; align-items:center; gap:12px; }
.past-order-thumb{ width:58px; height:58px; border-radius:10px; display:flex; align-items:center; justify-content:center; flex-shrink:0; }
.past-order-thumb svg{ width:29px; height:29px; }
.past-order-row b{ color:var(--maroon-dark); font-size:14px; }
.past-order-row span{ color:var(--ink-soft); font-size:12px; }
.past-order-row strong{ color:var(--maroon-dark); font-family:var(--font-display); font-size:16px; }
.order-group-empty{ display:flex; align-items:center; gap:10px; color:var(--ink-soft); font-size:13px; padding:22px 0 4px; }
.order-group-empty svg{ width:22px; height:22px; color:var(--gold); }
.tracker-head{ display:flex; justify-content:space-between; flex-wrap:wrap; gap:14px; margin-bottom:30px; padding-bottom:20px; border-bottom:1px solid var(--line); }
.tracker-head h4{ margin:0 0 4px; font-size:17px; }
.tracker-head span{ font-size:12.5px; color:var(--ink-soft); }
.status-steps{ display:flex; }
.status-step{ flex:1; text-align:center; position:relative; }
.status-step .dot{
  width:34px; height:34px; border-radius:50%; background:var(--bg-soft); border:2px solid var(--line);
  display:flex; align-items:center; justify-content:center; margin:0 auto 10px; color:var(--ink-soft); position:relative; z-index:2;
}
.status-step .dot svg{ width:16px; height:16px; }
.status-step::after{
  content:""; position:absolute; top:17px; left:50%; width:100%; height:2px; background:var(--line); z-index:1;
}
.status-step:last-child::after{ display:none; }
.status-step.done .dot{ background:var(--maroon); border-color:var(--maroon); color:#fff; }
.status-step.done::after{ background:var(--maroon); }
.status-step.current .dot{ background:var(--gold); border-color:var(--gold); color:var(--maroon-dark); box-shadow:0 0 0 5px rgba(198,154,74,.25); }
.status-step p{ font-size:12.5px; margin:0; color:var(--ink-soft); }
.status-step.done p,.status-step.current p{ color:var(--ink); font-weight:600; }
.admin-status{ margin-top:26px; padding-top:20px; border-top:1px dashed var(--line); display:flex; align-items:center; gap:12px; flex-wrap:wrap; }
.admin-status label{ font-size:12.5px; color:var(--ink-soft); }
.admin-status select{ border:1px solid var(--line); border-radius:20px; padding:8px 14px; font-family:inherit; font-size:13px; }

/* =========================================================
   WHATSAPP FLOAT + SOCIAL RAIL
   ========================================================= */
.wa-float{
  position:fixed; bottom:26px; right:26px; width:58px; height:58px; border-radius:50%;
  background:linear-gradient(135deg, #D71920 0%, #A80F1C 100%); display:flex; align-items:center; justify-content:center; box-shadow:0 10px 26px rgba(48, 144, 120, .45);
  z-index:600; animation:wa-pulse 2.6s ease-in-out infinite;
}
.wa-float.is-whatsapp{ background:#25D366; box-shadow:0 10px 26px rgba(37,211,102,.5); }
.wa-float svg{ width:28px; height:28px; color:#fff; }
@keyframes wa-pulse{ 0%,100%{ transform:scale(1); } 50%{ transform:scale(1.07); } }

.mail-float{
  position:fixed; bottom:26px; left:26px; width:58px; height:58px; border-radius:50%;
  background:linear-gradient(135deg, #D71920 0%, #A80F1C 100%); display:flex; align-items:center; justify-content:center;
  box-shadow:0 10px 26px rgba(200, 16, 46, .4);
  z-index:600; animation:mail-pulse 2.6s ease-in-out infinite; animation-delay:1.3s;
  transition:transform .2s ease, box-shadow .2s ease;
}
.mail-float:hover{ transform:scale(1.08); box-shadow:0 14px 30px rgba(200, 16, 46, .5); }
.mail-float svg{ width:26px; height:26px; color:#fff; }
@keyframes mail-pulse{ 0%,100%{ transform:scale(1); } 50%{ transform:scale(1.07); } }

.req-star{ color:#D71920; margin-left:3px; font-weight:700; }

/* =========================================================
   TRACK ORDER MODERN REDESIGN
   ========================================================= */
.track-page-container{ max-width:880px; margin:0 auto; }
.track-card{
  background:#fff; border:1px solid rgba(198,154,74,.32); border-radius:18px;
  padding:26px 28px; box-shadow:0 8px 24px -6px rgba(200, 16, 46, .07); margin-bottom:24px;
}
.track-header-row{
  display:flex; justify-content:space-between; align-items:flex-start; flex-wrap:wrap; gap:16px;
  padding-bottom:18px; border-bottom:1px solid var(--line);
}
.track-header-row h3{ font-family:var(--font-display); font-size:22px; color:var(--maroon-dark); margin:0 0 4px; }
.track-header-sub{ font-size:13px; color:var(--ink-soft); margin:0; }
.track-badge{
  background:rgba(83, 194, 166, .08); color:var(--maroon); border:1px solid rgba(83, 194, 166, .2);
  padding:6px 14px; border-radius:30px; font-size:12.5px; font-weight:700; display:inline-flex; align-items:center; gap:6px;
}
.track-badge.delivered{ background:#E8F5E9; color:#2E7D32; border-color:#A5D6A7; }
.track-meta-grid{
  display:grid; grid-template-columns:repeat(auto-fit, minmax(180px, 1fr)); gap:16px;
  padding:16px 0; border-bottom:1px solid var(--line);
}
.track-meta-item small{ display:block; font-size:11px; text-transform:uppercase; color:var(--ink-soft); letter-spacing:.5px; margin-bottom:3px; }
.track-meta-item strong{ font-size:14px; color:var(--ink); }
.confirm-note{
  display:flex; align-items:center; gap:12px; padding:12px 16px; border-radius:10px;
  background:#FDF8F0; border:1px solid rgba(198,154,74,.3); color:var(--ink); font-size:13.5px; line-height:1.45; margin-top:20px;
}
.confirm-note svg{ width:22px; height:22px; min-width:22px; max-width:22px; flex-shrink:0; color:var(--maroon); }
.confirm-note.is-confirmed{ background:#F1F8E9; border-color:#C5E1A5; color:#33691E; }
.confirm-note.is-confirmed svg{ color:#2E7D32; }
.track-grid-2{ display:grid; grid-template-columns:1fr 1fr; gap:20px; margin-top:20px; }
.track-box{
  background:#FFF8F8; border-radius:12px; padding:18px 20px; border:1px solid rgba(198,154,74,.2);
}
.track-box h4{ font-size:14.5px; color:var(--maroon-dark); margin:0 0 10px; display:flex; align-items:center; gap:7px; }
.track-box h4 svg{ width:17px; height:17px; min-width:17px; max-width:17px; color:var(--maroon); }
.track-box p{ font-size:13px; color:var(--ink-soft); line-height:1.5; margin:0 0 6px; }
.track-box svg, .track-box p svg{ width:15px; height:15px; min-width:15px; max-width:15px; display:inline-block; vertical-align:-2px; margin-right:5px; color:var(--maroon); }
.track-info-line{ display:flex; align-items:center; gap:8px; font-size:13px; color:var(--ink); margin-top:6px; }
.track-info-line svg{ width:15px; height:15px; min-width:15px; max-width:15px; color:var(--maroon); flex-shrink:0; }
.track-actions-bar{ display:flex; gap:12px; flex-wrap:wrap; margin-top:22px; }

/* Product detail assurance & custom available badges */
.pd-assurance-card{
  background:#FFF8F8; border-radius:12px; padding:14px 16px; border:1px solid rgba(198,154,74,.25);
  display:flex; flex-direction:column; gap:10px; margin:18px 0 16px;
}
.pd-assurance-item{ display:flex; align-items:center; gap:12px; }
.pd-assurance-icon{
  width:34px; height:34px; min-width:34px; border-radius:50%; background:#fff; color:var(--maroon);
  display:inline-flex; align-items:center; justify-content:center; box-shadow:0 2px 6px rgba(0,0,0,.04);
}
.pd-assurance-icon svg{ width:17px; height:17px; min-width:17px; }
.pd-assurance-icon img{ width:19px; height:19px; min-width:19px; max-width:19px; max-height:19px; object-fit:contain; display:block; }
.pd-assurance-item strong{ display:block; font-size:13px; color:var(--maroon-dark); font-weight:700; line-height:1.25; }
.pd-assurance-item span{ font-size:12px; color:var(--ink-soft); line-height:1.3; }

.pd-custom-available-tag{
  display:inline-flex; align-items:center; gap:8px; padding:10px 14px;
  background:#FFF8F8; border:1px dashed rgba(198,154,74,.6); border-radius:10px;
  color:var(--maroon-dark); font-size:13px; line-height:1.4;
}
.pd-custom-available-tag strong{ color:var(--maroon-dark); font-weight:700; }
.pd-custom-available-tag span.badge-star{ color:var(--gold-dark); font-size:15px; font-weight:bold; }

.pd-desc-block{
  margin-top:18px;
  padding-top:16px;
  border-top:1px solid var(--line, #E7D8C4);
}
.pd-desc-block .pd-desc{
  margin-bottom:0;
  max-width:100%;
}

/* Rate us CTA on homepage and modal */
.reviews-rate-cta{
  background:linear-gradient(135deg, #FAF3E6 0%, #FFFDF9 100%);
  border:1px solid rgba(198,154,74,.35); border-radius:16px;
  padding:22px 28px; margin-top:28px; display:flex; justify-content:space-between; align-items:center; gap:20px; flex-wrap:wrap;
}
.reviews-rate-text h4{ font-family:var(--font-display); font-size:18px; color:var(--maroon-dark); margin:0 0 4px; }
.star-picker{ display:flex; gap:8px; justify-content:center; margin:16px 0 14px; user-select:none; }
.star-btn{ background:none; border:none; font-size:34px; color:#D8D8DF; cursor:pointer; transition:all .18s cubic-bezier(.2,.8,.2,1); padding:2px 4px; line-height:1; }
.star-btn.active{ color:#F4B400; text-shadow:0 1px 4px rgba(244,180,0,0.3); }
@media (hover: hover) and (pointer: fine) {
  .star-btn:hover{ transform:scale(1.22); color:#F4B400; }
}
.star-btn:active{ transform:scale(0.95); }
.checkout-login-card{
  background:#fff; border:1px solid rgba(198,154,74,.32); border-radius:18px;
  padding:40px 28px; max-width:540px; margin:20px auto; text-align:center;
  box-shadow:0 8px 24px -6px rgba(200, 16, 46, .08);
}
.checkout-login-icon{
  width:64px; height:64px; border-radius:50%; background:#FFF8F8; color:var(--maroon);
  display:flex; align-items:center; justify-content:center; margin:0 auto 16px;
}
.checkout-login-icon svg{ width:30px; height:30px; }
.checkout-login-card h2{ font-family:var(--font-display); font-size:24px; color:var(--maroon-dark); margin:0 0 8px; }
.checkout-login-card p{ font-size:14px; color:var(--ink-soft); margin:0 0 24px; line-height:1.55; }

/* =========================================================
   TRUST & ASSURANCE STRIP (WEDTREE STYLE)
   ========================================================= */
.site-trust-bar{
  background:#FBF5E8;
  border-top:1px solid var(--line);
  border-bottom:1px solid rgba(83, 194, 166, .12);
  padding:36px 0 30px;
  position:relative;
  z-index:1;
}
.trust-bar-grid{
  display:grid;
  grid-template-columns:repeat(auto-fit, minmax(200px, 1fr));
  gap:20px;
  align-items:start;
  justify-content:center;
}
.trust-bar-item{
  text-align:center;
  display:flex;
  flex-direction:column;
  align-items:center;
  padding:8px 6px;
  border-radius:var(--radius-s);
  transition:transform .25s ease;
}
.trust-bar-item:hover{
  transform:translateY(-3px);
}
.trust-bar-icon{
  width:56px;
  height:56px;
  margin-bottom:10px;
  display:flex;
  align-items:center;
  justify-content:center;
  color:var(--maroon-dark);
  transition:transform .3s cubic-bezier(.2,.8,.2,1), filter .3s ease;
}
.trust-bar-item:hover .trust-bar-icon{
  transform:scale(1.1) rotate(2deg);
  filter:drop-shadow(0 4px 10px rgba(198,154,74,.4));
}
.trust-bar-icon svg{
  width:52px;
  height:52px;
  display:block;
}
.trust-bar-icon img{
  width:52px;
  height:52px;
  object-fit:contain;
  display:block;
}
.trust-bar-title{
  font-family:var(--font-body);
  font-size:13.5px;
  font-weight:700;
  color:var(--maroon-dark);
  margin:0 0 5px;
  line-height:1.3;
  letter-spacing:-0.01em;
}
.trust-bar-sub{
  font-size:12px;
  font-style:italic;
  color:#E66B73;
  line-height:1.45;
  margin:0;
}
.trust-bar-links{
  font-style:normal;
  display:flex;
  flex-wrap:wrap;
  justify-content:center;
  gap:6px;
  margin-top:4px;
}
.trust-bar-links a{
  font-size:11.5px;
  font-weight:600;
  color:#1A5FA0;
  text-decoration:underline;
  transition:color .2s ease;
}
.trust-bar-links a:hover{
  color:var(--maroon);
}

/* =========================================================
   FOOTER
   ========================================================= */
footer{ background:#FBF5E8; color:var(--maroon-dark); margin-top:0; position:relative; overflow:hidden; }
footer::before{
  content:"AJ SMILES"; position:absolute; left:50%; top:50%; transform:translate(-50%,-50%);
  color:rgba(83, 194, 166, .035); font-family:var(--font-display); font-size:clamp(130px, 16vw, 240px);
  font-weight:700; letter-spacing:.08em; line-height:1; white-space:nowrap; pointer-events:none;
}
.footer-grid,
.footer-desktop-grid{
  display:grid;
  grid-template-columns:1.15fr 1fr 1.15fr;
  gap:64px;
  padding:64px 0 34px;
  position:relative;
  z-index:1;
}

.footer-brand-title{
  font-family:var(--font-display);
  font-size:26px;
  font-weight:700;
  color:var(--maroon-dark);
  display:block;
  margin-bottom:12px;
}
.footer-brand-desc{
  font-size:14.5px;
  line-height:1.65;
  color:var(--maroon-dark);
  max-width:360px;
  margin:0;
}
.footer-grid h5, .footer-desktop-grid h5{ color:var(--maroon-dark); font-family:var(--font-body); font-size:18px; margin-bottom:18px; font-weight:700; }
.footer-grid p, .footer-desktop-grid p{ font-size:14.5px; line-height:1.65; }
.footer-grid ul, .footer-desktop-grid ul{ list-style:none; padding-left:0; margin:0; }
.footer-grid ul li, .footer-desktop-grid ul li{ margin-bottom:13px; }
.footer-grid ul a, .footer-desktop-grid ul a{ font-size:14.5px; color:var(--maroon-dark); }
.footer-grid ul a:hover, .footer-desktop-grid ul a:hover{ color:var(--rose); text-decoration:underline; }

.footer-enquiry{ margin-bottom:9px; font-size:14.5px; }
.footer-enquiry a{ color:var(--maroon-dark); text-decoration:none !important; }
.footer-enquiry a:hover{ text-decoration:underline !important; }
.footer-rate-us-link{ color:var(--maroon); font-weight:600; font-size:13.5px; text-decoration:none !important; }
.footer-rate-us-link:hover{ text-decoration:underline !important; }

.footer-follow{ margin-top:24px; }
.footer-follow h5{ font-size:15px; margin-bottom:10px; }
.footer-social{ display:flex; gap:12px; margin-top:10px; }
.footer-social a{
  width:44px; height:44px; border-radius:50%; border:1px solid rgba(83, 194, 166, .12); background:#fff;
  display:flex; align-items:center; justify-content:center; transition:background .2s ease, transform .2s ease;
  box-shadow:0 2px 6px rgba(0,0,0,.04);
}
.footer-social a:hover{ background:var(--gold-light); transform:translateY(-2px); }
.footer-social svg{ width:16px; height:16px; }

.footer-bottom{ border-top:1px solid var(--line); padding:18px 24px; font-size:13.5px; color:var(--maroon-dark); text-align:center; position:relative; z-index:1; }
.footer-bottom-track{ width:100%; max-width:900px; margin:0 auto; text-align:center; white-space:normal; line-height:1.5; }

/* Desktop visibility */
.footer-desktop-grid{ display:grid; }
.footer-mobile-view{ display:none !important; }
.footer-wedtree-brand{ display:none; }

/* =========================================================
   PAGE-LEVEL TOP BACK BAR (Subpages only)
   ========================================================= */
.page-top-back-bar{
  padding:16px 0 4px;
  display:flex;
  align-items:center;
  position:relative;
  z-index:10;
}
.page-top-back-btn{
  display:inline-flex;
  align-items:center;
  gap:7px;
  background:#ffffff;
  border:1px solid var(--line);
  color:var(--maroon-dark);
  font-family:var(--font-body);
  font-size:13.5px;
  font-weight:600;
  padding:7px 15px;
  border-radius:var(--radius-full);
  box-shadow:0 2px 8px -2px rgba(200, 16, 46, 0.08);
  cursor:pointer;
  transition:all .22s cubic-bezier(.2,.8,.2,1);
  text-decoration:none;
}
.page-top-back-btn svg{
  width:16px;
  height:16px;
  stroke-width:2.2;
}
.page-top-back-btn:hover{
  background:var(--maroon);
  color:#ffffff;
  border-color:var(--maroon);
  transform:translateX(-3px);
  box-shadow:0 4px 12px rgba(200, 16, 46, 0.2);
}
.page-top-back-btn:active{
  transform:scale(0.96);
}


/* =========================================================
   TOAST
   ========================================================= */
.toast{
  position:fixed; bottom:100px; right:26px; background:var(--maroon-dark); color:#fff; padding:13px 20px;
  border-radius:12px; font-size:13.5px; z-index:1200; display:flex; align-items:center; gap:10px;
  transform:translateY(12px); opacity:0; pointer-events:none; transition:transform .3s ease, opacity .3s ease; box-shadow:var(--shadow);
}
.toast.show{ transform:translateY(0); opacity:1; pointer-events:auto; }
.toast svg{ width:17px; height:17px; color:var(--gold-light); flex-shrink:0; }

/* =========================================================
  SCROLL REVEALS
  ========================================================= */
.reveal{ opacity:0; transform:translateY(24px); transition:opacity .7s ease var(--reveal-delay, 0ms), transform .7s cubic-bezier(.2,.75,.25,1) var(--reveal-delay, 0ms); }
.reveal.is-visible{ opacity:1; transform:translateY(0); }
.hero.reveal, .page-hero.reveal,
.track-card, .track-card.reveal,
.track-page-container, .track-page-container.reveal,
.past-orders, .past-orders.reveal,
.order-sections, .order-sections.reveal,
#trackOrderLoadingBox, #trackOrderLoadingBox.reveal,
.section:has(.track-card), .section:has(.track-page-container),
.section:has(.past-orders), .section:has(.order-sections),
.section:has(#trackOrderLoadingBox){
  opacity:1 !important;
  transform:none !important;
  transition:none !important;
  visibility:visible !important;
}

/* =========================================================
   MISC PAGE HEADER (shop / cat)
   ========================================================= */
.page-hero{ padding:44px 0 10px; text-align:center; }
.page-hero h1{ font-size:clamp(26px,4vw,38px); }
.page-hero p{ color:var(--ink-soft); max-width:50ch; margin:0 auto; }
.about-hero{ padding-bottom:34px; }
.about-hero h1{ max-width:760px; margin:0 auto 14px; }
.about-hero>p:not(.account-kicker){ max-width:650px; line-height:1.8; }
.about-hero .section-ornament{ margin-top:22px; }
.about-story{ background:linear-gradient(110deg,#FFF7F1,#EAF2F0 55%,#E5F0E7); }
.about-story-inner{ display:grid; grid-template-columns:.8fr 1.2fr; gap:70px; align-items:center; max-width:900px; }
.about-story-inner h2{ font-size:clamp(28px,4vw,44px); line-height:1.1; }
.about-story-inner>p{ color:var(--ink-soft); line-height:1.9; margin:0; }
.about-policies{ padding-top:50px; }
.about-policy-grid{ display:grid; grid-template-columns:repeat(4,1fr); gap:18px; }
.about-policy-card{ min-height:220px; padding:28px 20px; text-align:center; background:rgba(255,255,255,.48); border:1px solid var(--line); border-radius:24px; transition:transform .25s ease, box-shadow .25s ease; }
.about-policy-card:hover{ transform:translateY(-5px); box-shadow:var(--shadow); }
.about-policy-icon{ width:72px; height:72px; margin:0 auto 18px; border-radius:50%; display:flex; align-items:center; justify-content:center; background:var(--gold); color:#fff; }
.about-policy-icon svg{ width:32px; height:32px; }
.about-policy-card h3{ font-size:19px; margin-bottom:8px; }
.about-policy-card p{ color:var(--ink-soft); font-size:13px; line-height:1.6; margin:0; }

/* =========================================================
  ACCOUNT PAGE
  ========================================================= */
.account-page{ min-height:560px; }
.account-kicker{ color:var(--rose); font-size:11px; font-weight:700; letter-spacing:.16em; margin:0 0 8px; }
.account-gate{ max-width:620px; text-align:center; padding-top:44px; }
.account-gate-icon{ width:78px; height:78px; border-radius:50%; background:var(--bg-soft); color:var(--maroon); display:flex; align-items:center; justify-content:center; margin:0 auto 22px; }
.account-gate-icon svg{ width:34px; height:34px; }
.account-gate h1{ font-size:clamp(30px,4vw,46px); margin-bottom:12px; }
.account-gate p:not(.account-kicker){ color:var(--ink-soft); max-width:46ch; margin:0 auto 24px; }
.account-welcome{ display:flex; align-items:flex-end; justify-content:space-between; gap:20px; padding:18px 0 34px; border-bottom:1px solid var(--line); }
.account-welcome h1{ font-size:clamp(30px,4vw,44px); margin:0 0 4px; }
.account-welcome p:last-child{ color:var(--ink-soft); margin:0; }
.account-layout{
  display: flex;
  flex-direction: column;
  gap: 28px;
  padding-top: 26px;
}
.account-header-card{
  background: #ffffff;
  border: 1px solid var(--line);
  border-radius: var(--radius-m);
  padding: 24px 28px;
  display: flex;
  flex-direction: column;
  gap: 18px;
  box-shadow: 0 2px 10px -2px rgba(200, 16, 46, 0.05);
}
.account-user-profile-row{
  display: flex;
  align-items: center;
  gap: 16px;
  padding-bottom: 16px;
  border-bottom: 1px solid var(--line);
}
.account-user-meta{
  display: flex;
  flex-direction: column;
  gap: 2px;
}
.account-user-meta strong{
  font-family: var(--font-display);
  font-size: 20px;
  color: var(--maroon-dark);
}
.account-user-meta span{
  font-size: 13px;
  color: var(--ink-soft);
}
.account-side-mark{
  width: 48px;
  height: 48px;
  border-radius: 50%;
  background: var(--maroon);
  color: #fff;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
}
.account-side-mark svg{
  width: 23px;
  height: 23px;
}
.account-overview-section{
  display: flex;
  flex-direction: column;
  gap: 12px;
}
.account-overview-heading{
  font-family: var(--font-display, 'Fraunces', Georgia, serif);
  font-size: 19px !important;
  font-weight: 700 !important;
  color: var(--maroon-dark) !important;
  margin: 0 !important;
}
.account-overview-pills{
  display: flex;
  align-items: center;
  gap: 12px;
  flex-wrap: wrap;
}
.account-overview-btn{
  height: 40px !important;
  padding: 0 20px !important;
  border-radius: 999px !important;
  font-size: 13.5px !important;
  font-weight: 600 !important;
  display: inline-flex !important;
  align-items: center !important;
  gap: 8px !important;
  color: var(--maroon-dark) !important;
  border-color: rgba(215, 25, 32, 0.3) !important;
  background: #ffffff !important;
  transition: all 0.2s ease !important;
  text-decoration: none !important;
}
.account-overview-btn:hover{
  background: var(--maroon) !important;
  color: #ffffff !important;
  border-color: var(--maroon) !important;
}
.account-overview-btn svg{
  width: 17px !important;
  height: 17px !important;
}
.account-content{ min-width:0; }
.account-cards-row{ display:grid; grid-template-columns:1fr 1fr; gap:24px; margin-bottom:30px; }
.account-card-block{ display:flex; flex-direction:column; min-width:0; }
.account-card-block .account-section-heading{ margin-top:0 !important; }
.account-card-block .account-info-grid{ display:flex; flex-direction:column; gap:10px; grid-template-columns:1fr; }
.account-section-heading{ display:flex; justify-content:space-between; align-items:flex-end; gap:20px; margin:0 0 14px; }
.account-section-heading:not(:first-child){ margin-top:36px; }
.account-section-heading h2{ font-size:22px; margin:0 0 3px; }
.account-section-heading p{ color:var(--ink-soft); font-size:13px; margin:0; }
.text-action{ color:var(--maroon); border:0; border-bottom:1px solid var(--maroon); background:none; padding:0 0 3px; font-size:13px; white-space:nowrap; }
.account-info-grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:14px; }
.account-info-grid>div,.account-address-card,.account-order-card{ background:var(--card); border:1px solid var(--line); border-radius:var(--radius-m); padding:18px; }
.account-info-grid span,.account-address-card span,.account-order-card span{ display:block; color:var(--ink-soft); font-size:11px; margin-bottom:6px; }
.account-info-grid b{ font-size:13px; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; display:block; max-width:100%; }
.account-address-card{ display:flex; justify-content:space-between; gap:16px; }
.account-address-card b,.account-order-card b{ color:var(--maroon-dark); font-size:14px; }
.account-address-card p{ margin:4px 0; color:var(--ink-soft); font-size:13px; max-width:48ch; }
.account-address-card .saved-label{ color:var(--green); font-weight:600; margin:0; }
.address-empty{ display:flex; align-items:center; gap:10px; color:var(--ink-soft); font-size:13px; }
.address-empty svg{ width:20px; height:20px; color:var(--gold); }
.address-empty a{ color:var(--maroon); text-decoration:underline; }
.account-order-card{ display:flex; align-items:center; gap:14px; }
.account-order-icon{ width:42px; height:42px; border-radius:10px; background:var(--bg-soft); color:var(--maroon); display:flex; align-items:center; justify-content:center; flex-shrink:0; }
.account-order-icon svg{ width:22px; height:22px; }
.account-order-card>div:nth-child(2){ flex:1; }
.account-order-card .btn{ margin-left:auto; }

/* Account page inline login card */
.account-gate-wrap{
  max-width: 520px;
  margin: 0 auto;
  padding: 30px 16px 50px;
}
.account-login-card{
  background: #fff;
  border: 1px solid var(--line);
  border-radius: 20px;
  padding: 36px 32px;
  box-shadow: 0 16px 40px -12px rgba(200, 16, 46, 0.12);
  text-align: center;
}
.account-login-card h1{
  font-size: clamp(24px, 4vw, 32px);
  margin: 0 0 8px;
  color: var(--maroon-dark);
}
.account-login-card .account-sub{
  font-size: 13.5px;
  line-height: 1.55;
  color: var(--ink-soft);
  max-width: 42ch;
  margin: 0 auto 24px;
}
.account-login-card .account-form{
  text-align: left;
}
.phone-input-wrap{
  display: flex;
  align-items: center;
  border: 1px solid var(--line);
  border-radius: var(--radius-s);
  background: #fff;
  overflow: hidden;
  transition: border-color .2s ease, box-shadow .2s ease;
}
.phone-input-wrap:focus-within{
  border-color: var(--maroon);
  box-shadow: 0 0 0 3px rgba(83, 194, 166, 0.12);
}
.phone-prefix{
  padding: 10px 12px;
  font-size: 13.5px;
  font-weight: 600;
  color: var(--maroon-dark);
  background: var(--bg-soft);
  border-right: 1px solid var(--line);
  user-select: none;
}
.phone-input-wrap input{
  border: none !important;
  box-shadow: none !important;
  border-radius: 0 !important;
  padding: 10px 12px !important;
  width: 100% !important;
  background: transparent !important;
}
.phone-input-wrap input:focus{
  outline: none !important;
}
.account-perks-row{
  display: flex;
  justify-content: space-around;
  gap: 12px;
  margin-top: 26px;
  padding-top: 20px;
  border-top: 1px solid rgba(200, 16, 46, 0.1);
}
.account-perks-row div{
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 6px;
  color: var(--maroon);
}
.account-perks-row svg{
  width: 20px;
  height: 20px;
}
.account-perks-row span{
  font-size: 11px;
  font-weight: 600;
  color: var(--ink-soft);
}
@media (max-width: 640px){
  .account-gate-wrap{ padding: 18px 8px 36px; }
  .account-login-card{ padding: 24px 18px; border-radius: 16px; }
  .account-login-card h1{ font-size: 22px; }
  .account-login-card .account-sub{ font-size: 12.5px; margin-bottom: 18px; }
}

.help-hero{ padding-bottom:28px; }
.help-section{ padding-top:20px; }
.help-topic-grid{ display:grid; grid-template-columns:repeat(auto-fit, minmax(230px, 1fr)); gap:16px; }
.help-topic{ display:flex; flex-direction:column; gap:16px; min-height:170px; padding:22px; background:var(--card); border:1px solid var(--line); border-radius:var(--radius-m); transition:transform .2s ease, box-shadow .2s ease; cursor:pointer; user-select:none; }
.help-topic:hover{ transform:translateY(-3px); box-shadow:var(--shadow); }
.help-topic-icon{ width:48px; height:48px; display:flex; align-items:center; justify-content:center; border-radius:50%; background:var(--bg-soft); color:var(--maroon); flex-shrink:0; overflow:hidden; }
.help-topic-icon svg{ width:24px; height:24px; }
.help-topic-icon img, .help-topic-custom-img{ width:26px; height:26px; object-fit:contain; display:block; }
.help-topic-copy{ display:flex; flex-direction:column; gap:5px; }
.help-topic-copy b{ color:var(--maroon-dark); font-family:var(--font-display); font-size:18px; }
.help-topic-copy small{ color:var(--ink-soft); font-size:13px; line-height:1.45; }
.help-faq{ max-width:820px; margin:50px auto 0; }
.help-faq details{ border-top:1px solid var(--line); padding:18px 0; transition:background 0.3s ease; }
.help-faq details.help-faq-highlight{ animation:helpFaqPulse 1.6s ease-out; border-radius:8px; padding-left:10px; padding-right:10px; }
@keyframes helpFaqPulse {
  0% { background:rgba(61, 180, 150, 0.12); }
  100% { background:transparent; }
}
.help-faq details:last-child{ border-bottom:1px solid var(--line); }
.help-faq summary{ cursor:pointer; color:var(--maroon-dark); font-weight:600; list-style:none; padding-right:24px; position:relative; }
.help-faq summary::-webkit-details-marker{ display:none; }
.help-faq summary::after{ content:"+"; position:absolute; right:0; color:var(--maroon); font-size:20px; font-weight:400; }
.help-faq details[open] summary::after{ content:"-"; }
.help-faq details p{ color:var(--ink-soft); font-size:13.5px; margin:10px 0 0; max-width:70ch; }
.help-faq-answer{ color:var(--ink-soft); font-size:13.5px; margin:10px 0 0; max-width:70ch; line-height:1.6; }
.help-faq-answer p{ margin:0 0 10px; color:inherit; font-size:inherit; }
.help-faq-answer p:last-child{ margin-bottom:0; }
.help-faq-answer ul{ margin:8px 0 10px 20px; padding:0; }
.help-faq-answer li{ margin-bottom:4px; }
.help-contact{ display:flex; align-items:center; justify-content:space-between; gap:24px; margin:50px auto 0; padding:26px 30px; background:linear-gradient(110deg,#FFF5F5,#E8E0F2,#E0F0E5); border-radius:var(--radius-m); max-width:820px; }
.help-contact h3{ margin:0 0 4px; font-size:22px; }
.help-contact p{ color:var(--ink-soft); margin:0; font-size:13.5px; }
.help-contact .btn{ flex-shrink:0; }

/* =========================================================
   RESPONSIVE
   ========================================================= */
/* Touch device micro-interactions & tactile response */
@media (max-width: 900px) {
  .product-card,
  .cat-square-card,
  .cat-showcase-card,
  .occasion-card,
  .budget-strip-card,
  .about-policy-card,
  .help-topic,
  .account-address-card,
  .account-order-card {
    -webkit-tap-highlight-color: rgba(83, 194, 166, 0.06);
    transition: transform 0.15s cubic-bezier(.2,.8,.2,1), box-shadow 0.15s ease !important;
  }
  .product-card:active,
  .cat-square-card:active,
  .cat-showcase-card:active,
  .budget-strip-card:active,
  .about-policy-card:active,
  .help-topic:active {
    transform: scale(0.97) !important;
    box-shadow: 0 2px 8px rgba(200, 16, 46, 0.06) !important;
  }
  .occasion-card:active .occ-media-wrap {
    transform: scale(0.94) !important;
    transition: transform 0.15s ease !important;
  }
  .btn:active,
  .icon-btn:active {
    transform: scale(0.94) !important;
    transition: transform 0.12s ease !important;
  }
}

@media (max-width:1020px){
  .product-grid{ grid-template-columns:repeat(3,1fr); gap:20px; }
  .product-media{ aspect-ratio:1/1; min-height:0; }
  .cat-grid{ grid-template-columns:repeat(3,1fr); }
  .cat-square-grid{ grid-template-columns:repeat(3,1fr); gap:14px; }
  .cat-showcase-grid{ grid-template-columns:repeat(2,1fr); gap:20px; }
  .cat-showcase-media{ height:270px; }
  .occasion-bento-grid{ grid-template-columns:repeat(3,1fr); gap:12px; }
  .budget-strip-grid{ display:flex; overflow-x:auto; flex-wrap:nowrap; gap:10px; padding-bottom:6px; -webkit-overflow-scrolling:touch; scrollbar-width:none; }
  .budget-strip-grid::-webkit-scrollbar{ display:none; }
  .budget-strip-card{ flex:0 0 175px; }
  .help-topic-grid{ grid-template-columns:repeat(2,1fr); }
  .footer-grid{ grid-template-columns:1fr 1fr; }
  .trust-bar-grid{ grid-template-columns:repeat(2,1fr); gap:20px 14px; }
  .checkout-grid{ grid-template-columns:1fr; }
  .order-summary{ position:static; }
}
@media (max-width:860px){
  .site-header .container{ padding:0 14px; }
  .header-row{ display:flex; align-items:center; justify-content:space-between; gap:10px; height:68px; padding:4px 0; }
  .header-back-btn.show{ display:inline-flex; width:38px; height:38px; border-radius:9px; border:1px solid rgba(215, 25, 32, 0.2); color:#D71920; }
  .header-back-btn svg{ width:18px; height:18px; stroke-width:2px; }
  .top-menu-toggle{ display:inline-flex; width:38px; height:38px; border:1.5px solid rgba(215, 25, 32, 0.22); background:#fff; border-radius:9px; flex-shrink:0; align-items:center; justify-content:center; color:#D71920; }
  .top-menu-toggle svg{ width:19px; height:19px; stroke-width:2px; }
  .brand{ display:flex; flex-direction:column; align-items:center; justify-content:center; text-align:center; min-width:0; gap:0; flex-shrink:0; padding:0 4px; }
  .brand .brand-text{ font-family:var(--font-display, 'Fraunces', Georgia, serif); font-size:26px; font-weight:700; line-height:1.05; letter-spacing:-0.01em; color:var(--maroon-dark, #C8102E); display:flex; flex-direction:column; align-items:center; }
  .brand .brand-text small{ display:block; font-family:var(--font-sans, sans-serif); font-size:10px; letter-spacing:.18em; font-weight:700; text-transform:uppercase; color:var(--maroon, #D71920); margin-top:2px; line-height:1; }
  .brand img{ width:38px; height:38px; }
  nav.main-nav{ display:none; }
  .mobile-subnav-rail{ display:block; }
  .header-icons{ display:flex; align-items:center; justify-content:flex-end; gap:9px; flex-shrink:0; width:auto; padding:0 3px 0 0; }
  .header-icons .icon-btn{ width:38px; height:38px; min-width:38px; padding:0; display:inline-flex !important; align-items:center; justify-content:center; color:#D71920; background:rgba(215, 25, 32, 0.05); border:1.3px solid rgba(215, 25, 32, 0.22); border-radius:50%; }
  .header-icons .icon-btn svg{ width:19px; height:19px; stroke-width:2px; }
  .header-icons .social-divider{ display:none !important; }
  .header-icons a[aria-label="Instagram"],
  .header-icons a[aria-label="Facebook"]{ display:none !important; }
  .header-icons .search-toggle,
  .header-icons .account-toggle,
  .header-icons a[aria-label="Wishlist"],
  .header-icons #cartBtn{ display:inline-flex !important; }
  .header-icons a[aria-label="Wishlist"]{ margin-right:0; }
  .header-icons #cartBtn{ margin-right:0; }
  .header-icons .hamburger{ display:none; }
  .icon-badge{ min-width:16px; height:16px; font-size:9px; font-weight:800; top:-3px; right:-2px; border:1.5px solid #fff; }
  .hero .container{ grid-template-columns:1fr; }
  .hero-visual{ order:-1; max-width:340px; margin:0 auto; }
  .pd-grid{ grid-template-columns:1fr; gap:28px; }
  .account-layout{ gap:20px; }
  .footer-desktop-grid{ display:none !important; }
  .footer-mobile-view{ display:flex !important; flex-direction:column !important; }
}
@media (max-width:640px){
  html,body{ max-width:100%; overflow-x:hidden; }
  .container{ padding:0 14px; }
  .product-grid{ grid-template-columns:repeat(2,minmax(0,1fr)); gap:16px 14px; }
  
  /* Mobile Touch Card Zoom In / Zoom Out Feedback */
  .product-card{
    transition: transform .28s cubic-bezier(.2,.8,.2,1), box-shadow .28s ease, border-color .28s ease !important;
  }
  .product-card:active,
  .product-card.card-touch-active{
    transform: translateY(-4px) scale(1.03) !important;
    box-shadow: 0 12px 28px -6px rgba(200, 16, 46, .2), 0 0 0 1px rgba(198,154,74,.4) !important;
    border-color: rgba(198,154,74,.5) !important;
  }
  .product-card:active .product-media img,
  .product-card.card-touch-active .product-media img,
  .product-card:active .product-media svg,
  .product-card.card-touch-active .product-media svg{
    transform: none !important;
  }

  .cat-showcase-card{
    transition: transform .28s cubic-bezier(.2,.8,.2,1), box-shadow .28s ease, border-color .28s ease !important;
  }
  .cat-showcase-card:active,
  .cat-showcase-card.card-touch-active{
    transform: translateY(-4px) scale(1.025) !important;
    border-color: var(--maroon) !important;
    box-shadow: 0 12px 28px -6px rgba(200, 16, 46, .22) !important;
  }
  .cat-showcase-card:active .cat-showcase-media img,
  .cat-showcase-card.card-touch-active .cat-showcase-media img{
    transform: scale(1.08) !important;
  }
  .cat-showcase-card:active .cat-showcase-media svg,
  .cat-showcase-card.card-touch-active .cat-showcase-media svg{
    transform: scale(1.1) !important;
  }

  .cat-square-card{
    transition: transform .28s cubic-bezier(.2,.8,.2,1), box-shadow .28s ease, border-color .28s ease !important;
  }
  .cat-square-card:active,
  .cat-square-card.card-touch-active{
    transform: translateY(-4px) scale(1.03) !important;
    border-color: var(--maroon) !important;
    box-shadow: 0 10px 24px -4px rgba(200, 16, 46, .22), 0 0 0 1px rgba(198,154,74,.38) !important;
  }
  .cat-square-card:active .cat-square-media,
  .cat-square-card.card-touch-active .cat-square-media{
    transform: scale(1.1) !important;
    box-shadow: 0 0 0 3px rgba(198,154,74,.25), 0 8px 20px -4px rgba(200, 16, 46, .25) !important;
  }
  .cat-square-card:active .cat-square-body h3,
  .cat-square-card:active .cat-square-body h4,
  .cat-square-card.card-touch-active .cat-square-body h3,
  .cat-square-card.card-touch-active .cat-square-body h4{
    color: var(--maroon) !important;
  }

  .occasion-card{
    transition: transform .28s cubic-bezier(.2,.8,.2,1) !important;
  }
  .occasion-card:active,
  .occasion-card.card-touch-active{
    transform: translateY(-4px) scale(1.04) !important;
  }
  .occasion-card:active .occ-media-wrap,
  .occasion-card.card-touch-active .occ-media-wrap{
    transform: scale(1.08) !important;
    box-shadow: 0 8px 22px rgba(62, 176, 147, 0.22), 0 0 0 2px var(--gold) !important;
  }
  .occasion-card:active .occ-media-wrap img,
  .occasion-card.card-touch-active .occ-media-wrap img{
    transform: scale(1.08) !important;
  }
  .occasion-card:active .occ-icon-wrap,
  .occasion-card.card-touch-active .occ-icon-wrap{
    transform: scale(1.1) rotate(4deg) !important;
    background: var(--gold-light) !important;
  }

  .budget-strip-card{
    transition: transform .28s cubic-bezier(.2,.8,.2,1), box-shadow .28s ease, border-color .28s ease !important;
  }
  .budget-strip-card:active,
  .budget-strip-card.card-touch-active{
    transform: translateY(-3px) scale(1.03) !important;
    border-color: var(--maroon) !important;
    box-shadow: 0 10px 24px -6px rgba(200, 16, 46, .2), 0 0 0 1px rgba(198,154,74,.35) !important;
  }
  .budget-strip-card:active .budget-strip-pill,
  .budget-strip-card.card-touch-active .budget-strip-pill{
    background: var(--maroon) !important;
    color: #fff !important;
  }
  
  /* Category Showcase Grid (2 per line: 1 2 / 3 4) */
  .cat-showcase-grid{
    display: grid !important;
    grid-template-columns: repeat(2, 1fr) !important;
    gap: 12px 8px !important;
    margin-top: 14px !important;
  }
  .cat-showcase-card{
    border-radius: 14px !important;
    overflow: hidden !important;
  }
  .cat-showcase-media{ height: 130px !important; }
  .cat-showcase-banner{ padding: 8px 10px !important; }
  .cat-showcase-name{ font-size: 13px !important; }
  .cat-showcase-details{ padding: 8px 10px 12px !important; }
  .cat-showcase-blurb{
    font-size: 11px !important;
    line-height: 1.35 !important;
    margin-bottom: 6px !important;
    display: -webkit-box !important;
    -webkit-line-clamp: 2 !important;
    -webkit-box-orient: vertical !important;
    overflow: hidden !important;
  }
  .cat-showcase-action{ font-size: 10.5px !important; }

  /* Category Square Grid & Cards (Modern Boutique Mobile Experience) */
  .cat-square-grid{ display:grid !important; grid-template-columns:repeat(2,1fr) !important; gap:12px 10px !important; margin-top:16px !important; }
  .cat-square-card{
    aspect-ratio:1 / 1; min-height:0; padding:12px 8px 10px; border-radius:16px;
    display:flex; flex-direction:column; align-items:center; justify-content:center; text-align:center;
    box-sizing:border-box; width:100% !important; grid-column:auto !important;
  }
  .cat-square-media{ width:56px; height:56px; margin:0 auto 6px; box-shadow:0 4px 14px -4px rgba(200, 16, 46, .18); }
  .cat-square-media svg{ width:26px; height:26px; }
  .cat-square-body{ display:flex; flex-direction:column; align-items:center; justify-content:center; width:100%; flex:0 1 auto; }
  .cat-square-body h3,.cat-square-body h4{
    font-size:13.5px; font-weight:700; line-height:1.2; margin:0 0 2px;
    white-space:nowrap; overflow:hidden; text-overflow:ellipsis; max-width:100%; color:var(--maroon-dark);
  }
  .cat-square-body p{ display:none; }
  .cat-square-link{ font-size:10.5px; font-weight:600; color:var(--maroon); gap:2px; margin-top:2px; display:inline-flex; align-items:center; }
  .cat-square-link svg{ width:10px; height:10px; }

  /* Occasion Bento Grid & Cards (Circle Only, No Square Outline) */
  .occasion-bento-grid{
    display: grid !important;
    grid-template-columns: repeat(3, 1fr) !important;
    gap: 14px 6px !important;
    margin-top: 14px !important;
  }
  .occasion-card{
    padding: 6px 2px 8px !important;
    border-radius: 0 !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    text-align: center !important;
    background: transparent !important;
    border: none !important;
    box-shadow: none !important;
  }
  .occasion-card .occ-badge{ display: none !important; }
  .occasion-card .occ-media-wrap{
    width: 74px !important;
    height: 74px !important;
    margin: 0 auto 8px !important;
    border-radius: 50% !important;
    overflow: hidden !important;
    box-shadow: 0 4px 12px -2px rgba(200, 16, 46, 0.16) !important;
  }
  .occasion-card .occ-media-wrap img{
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
    border-radius: 50% !important;
  }
  .occasion-card .occ-icon-wrap{
    width: 44px !important;
    height: 44px !important;
    margin-bottom: 6px !important;
  }
  .occasion-card .occ-icon-wrap svg{ width: 22px !important; height: 22px !important; }
  .occasion-card h3{
    font-size: 12px !important;
    font-weight: 700 !important;
    margin: 0 0 2px !important;
    line-height: 1.25 !important;
    color: var(--maroon-dark) !important;
    white-space: nowrap !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    max-width: 100% !important;
  }
  .occasion-card p{ display: none !important; }
  .occasion-card .occ-link{
    font-size: 10.5px !important;
    gap: 2px !important;
    margin-top: 2px !important;
    color: var(--maroon) !important;
    display: inline-flex !important;
    align-items: center !important;
  }
  .occasion-card .occ-link svg{ width: 9px !important; height: 9px !important; }

  /* Budget Section Head & 3x2 Grid (1 2 3 / 4 5 6 on Mobile) */
  .budget-section .section-head{
    display: flex !important;
    align-items: flex-start !important;
    justify-content: space-between !important;
    gap: 12px !important;
    margin-bottom: 16px !important;
  }
  .budget-section .section-head > div{
    flex: 1 1 auto !important;
    min-width: 0 !important;
  }
  .budget-section .section-head h2{
    font-family: var(--font-display, 'Fraunces', Georgia, serif) !important;
    white-space: normal !important;
    font-size: clamp(22px, 5.8vw, 30px) !important;
    font-weight: 700 !important;
    color: var(--maroon-dark, #C8102E) !important;
    margin: 0 0 4px !important;
    line-height: 1.25 !important;
  }
  .budget-section .section-head p{
    font-size: 12.5px !important;
    white-space: normal !important;
    overflow: visible !important;
    text-overflow: clip !important;
    line-height: 1.45 !important;
    color: var(--ink-soft) !important;
    margin: 0 !important;
  }
  .budget-section .section-head .see-all,
  .budget-section .see-all{
    flex-shrink: 0 !important;
    display: inline-flex !important;
    align-items: center !important;
    gap: 4px !important;
    font-size: 13px !important;
    font-weight: 600 !important;
    color: var(--maroon) !important;
    white-space: nowrap !important;
    margin-top: 4px !important;
  }
  #occasions .category-section-head h2{
    white-space: nowrap !important;
    font-size: clamp(12.5px, 3.8vw, 20px) !important;
    letter-spacing: 0.02em !important;
    text-align: center !important;
    overflow: visible !important;
  }
  .section-head p{
    font-size: 13px !important;
    line-height: 1.55 !important;
    white-space: normal !important;
  }
  .category-section-head p{
    font-size: 13px !important;
    line-height: 1.55 !important;
    white-space: normal !important;
  }
  .budget-strip-grid{
    display: grid !important;
    grid-template-columns: repeat(3, 1fr) !important;
    gap: 8px 6px !important;
    padding: 0 !important;
    margin: 12px 0 0 !important;
    overflow-x: visible !important;
  }
  .budget-strip-grid::-webkit-scrollbar{ display:none; }
  .budget-strip-card{
    flex: none !important;
    width: 100% !important;
    min-width: 0 !important;
    padding: 8px 5px !important;
    border-radius: 12px !important;
    background: #fff !important;
    border: 1px solid rgba(198,154,74,.32) !important;
    box-shadow: 0 2px 8px -2px rgba(200, 16, 46, .06) !important;
    box-sizing: border-box !important;
    text-align: center !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: center !important;
  }
  .budget-strip-pill{
    font-size: 8.5px !important;
    letter-spacing: .02em !important;
    gap: 2px !important;
    margin-bottom: 2px !important;
    justify-content: center !important;
  }
  .budget-strip-pill svg{ width: 9px !important; height: 9px !important; }
  .budget-strip-main{
    display: flex !important;
    flex-direction: row !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 4px !important;
    width: 100% !important;
    white-space: nowrap !important;
  }
  .budget-strip-price{
    font-size: clamp(12.5px, 3.4vw, 14.5px) !important;
    font-weight: 700 !important;
    white-space: nowrap !important;
    letter-spacing: -0.01em !important;
    flex-shrink: 0 !important;
  }
  .budget-strip-arrow{
    width: 18px !important;
    height: 18px !important;
    flex-shrink: 0 !important;
  }
  .budget-strip-arrow svg{
    width: 9px !important;
    height: 9px !important;
  }
  .budget-strip-blurb,
  .budget-strip-card .budget-strip-blurb,
  .budget-strip-card p{
    font-size: 10px !important;
    margin-top: 3px !important;
    line-height: 1.3 !important;
    white-space: normal !important;
    overflow: visible !important;
    text-overflow: clip !important;
    max-width: 100% !important;
    display: block !important;
    width: 100% !important;
    text-align: center !important;
  }

  /* Shop Page Budget Filter Strip on Mobile */
  .budget-filter-strip{ margin:0 -16px 12px; padding:4px 16px 8px; -webkit-overflow-scrolling:touch; }
  .budget-chip{ padding:6px 12px; font-size:11.5px; }

  /* Customer Reviews Carousel on Mobile (Wedtree Style) */
  .reviews-carousel-outer{
    display: flex !important;
    align-items: center !important;
    gap: 6px !important;
    width: 100% !important;
    position: relative !important;
  }
  .reviews-grid{
    display: flex !important;
    overflow-x: auto !important;
    flex-wrap: nowrap !important;
    gap: 12px !important;
    padding: 6px 4px 14px !important;
    margin: 0 !important;
    scroll-snap-type: x mandatory !important;
    -webkit-overflow-scrolling: touch !important;
    scrollbar-width: none !important;
    width: 100% !important;
    align-items: stretch !important;
  }
  .reviews-grid::-webkit-scrollbar{ display: none !important; }
  .review-card,
  .wedtree-review-card{
    flex: 0 0 100% !important;
    min-width: 100% !important;
    max-width: 100% !important;
    scroll-snap-align: center !important;
    padding: 18px 16px !important;
    border-radius: 14px !important;
    background: #fff !important;
    border: 1px solid rgba(198, 154, 74, 0.28) !important;
    box-shadow: 0 4px 16px -4px rgba(200, 16, 46, 0.08) !important;
    box-sizing: border-box !important;
    text-align: left !important;
    align-items: flex-start !important;
    display: flex !important;
    flex-direction: column !important;
    justify-content: space-between !important;
    min-height: 240px !important;
    overflow: visible !important;
    word-break: break-word !important;
    overflow-wrap: anywhere !important;
  }
  .review-card > div,
  .wedtree-review-card > div{
    text-align: left !important;
    width: 100% !important;
  }
  .review-card .review-comment,
  .wedtree-review-card .review-comment{
    display: block !important;
    -webkit-line-clamp: unset !important;
    -webkit-box-orient: unset !important;
    overflow: visible !important;
    text-overflow: clip !important;
    text-align: left !important;
    text-indent: 0 !important;
    padding: 0 !important;
    margin: 0 0 14px !important;
    overflow-wrap: anywhere !important;
    word-break: break-word !important;
    word-wrap: break-word !important;
    white-space: pre-line !important;
    max-width: 100% !important;
    font-size: 13px !important;
    line-height: 1.55 !important;
    color: #374151 !important;
    font-style: italic !important;
  }
  .review-card .review-title,
  .wedtree-review-card .review-title{
    text-align: left !important;
    overflow-wrap: anywhere !important;
    word-break: break-word !important;
    max-width: 100% !important;
  }
  .review-nav-arrow{
    width: 36px !important;
    height: 36px !important;
    min-width: 36px !important;
    min-height: 36px !important;
    flex-shrink: 0 !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    background: #fff !important;
    border: 1.5px solid rgba(198, 154, 74, 0.45) !important;
    border-radius: 50% !important;
    box-shadow: 0 2px 8px rgba(200, 16, 46, 0.12) !important;
    z-index: 10 !important;
    cursor: pointer !important;
    touch-action: manipulation !important;
  }
  .wedtree-reviews-header{
    text-align: center !important;
    margin-bottom: 18px !important;
  }
  .wedtree-rating-bar{
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 8px !important;
    margin-top: 6px !important;
  }
  .wedtree-rating-bar .reviews-count{
    font-size: 13px !important;
    color: var(--ink-soft) !important;
  }
  .review-card .review-card-stars,
  .wedtree-review-card .review-card-stars{
    display: flex !important;
    justify-content: flex-start !important;
    align-items: center !important;
    text-align: left !important;
    margin-bottom: 6px !important;
  }
  .review-card .review-author,
  .wedtree-review-card .review-author{
    display: flex !important;
    flex-direction: column !important;
    align-items: flex-start !important;
    text-align: left !important;
    gap: 3px !important;
    margin-top: auto !important;
    padding-top: 12px !important;
    border-top: 1px dashed rgba(200, 16, 46, 0.12) !important;
    width: 100% !important;
  }
  .review-card .review-author strong,
  .wedtree-review-card .review-author strong,
  .review-card .review-author .review-location,
  .wedtree-review-card .review-author .review-location,
  .review-card .review-author .review-verified,
  .wedtree-review-card .review-author .review-verified{
    text-align: left !important;
    justify-content: flex-start !important;
  }

  /* Policy Pages on Mobile */
  .policy-header h1{ font-size:24px; }
  .policy-text-tabs{ overflow-x:auto; flex-wrap:nowrap; padding-bottom:8px; margin-bottom:20px; -webkit-overflow-scrolling:touch; }
  .policy-text-tab{ white-space:nowrap; flex-shrink:0; }
  .policy-prose-content{ font-size:14px; line-height:1.7; }

  .bulk-perk-table{ grid-template-columns:repeat(2,1fr); }
  .cat-grid{ grid-template-columns:repeat(2,1fr); }
  .cat-card .cat-ico{ width:80px; height:80px; }
  .category-page-grid{ display:grid; grid-template-columns:repeat(2,1fr); gap:10px; }

  /* Mobile Header Bar (Enlarged, Touch-Optimized & Bright Vibrant Icons - Pai by Lee Gifts Inspired) */
  .site-header .container{ padding:0 12px; }
  .header-row{ display:flex; align-items:center; justify-content:space-between; gap:8px; height:66px; padding:3px 0; }
  .header-back-btn.show{ display:inline-flex; width:37px; height:37px; border-radius:9px; border:1px solid rgba(215, 25, 32, 0.22); color:#D71920; }
  .header-back-btn svg{ width:18px; height:18px; stroke-width:2px; }
  .top-menu-toggle{ display:inline-flex; width:38px; height:38px; min-width:38px; border:1.5px solid rgba(215, 25, 32, 0.25); background:#fff; border-radius:9px; flex-shrink:0; align-items:center; justify-content:center; color:#D71920; box-shadow:0 1px 4px rgba(215, 25, 32, 0.06); }
  .top-menu-toggle svg{ width:19px; height:19px; stroke-width:2.2px; }
  .brand{ display:flex; flex-direction:column; align-items:center; justify-content:center; text-align:center; min-width:0; gap:0; flex-shrink:0; padding:0 2px; }
  .brand .brand-text{ font-family:var(--font-display, 'Fraunces', Georgia, serif); font-size:clamp(23.5px, 6.4vw, 27px); font-weight:700; line-height:1.05; letter-spacing:-0.01em; color:var(--maroon-dark, #C8102E); display:flex; flex-direction:column; align-items:center; }
  .brand .brand-text small{ display:block; font-family:var(--font-sans, sans-serif); font-size:clamp(9px, 2.4vw, 10.5px); letter-spacing:.17em; font-weight:700; text-transform:uppercase; color:var(--maroon, #D71920); margin-top:2px; line-height:1; }
  .brand img{ width:32px; height:32px; }
  nav.main-nav{ display:none; }
  .mobile-subnav-rail{ display:block; }
  .header-icons{ display:flex; align-items:center; justify-content:flex-end; gap:8.5px; flex-shrink:0; width:auto; padding:0 3px 0 0; }
  .header-icons .icon-btn{ width:37px; height:37px; min-width:37px; padding:0; display:inline-flex !important; align-items:center; justify-content:center; color:#D71920; background:rgba(215, 25, 32, 0.05); border:1.25px solid rgba(215, 25, 32, 0.22); border-radius:50%; }
  .header-icons .icon-btn svg{ width:18.5px; height:18.5px; stroke-width:2px; }
  .header-icons .social-divider{ display:none !important; }
  .header-icons a[aria-label="Instagram"],
  .header-icons a[aria-label="Facebook"]{ display:none !important; }
  .header-icons .search-toggle,
  .header-icons .account-toggle,
  .header-icons a[aria-label="Wishlist"],
  .header-icons #cartBtn{ display:inline-flex !important; }
  .header-icons a[aria-label="Wishlist"]{ margin-right:0; }
  .header-icons #cartBtn{ margin-right:0; }
  .icon-badge{ min-width:16px; height:16px; font-size:8.5px; font-weight:800; top:-3px; right:-2px; border:1.5px solid #fff; }
  .mobile-nav{ width:min(86vw,340px); padding:0 !important; overflow-y:auto; }
  .page-hero{ padding-top:26px; }
  .page-hero h1{ font-size:clamp(30px,9vw,42px); }
  .page-hero p{ font-size:14px; line-height:1.55; }
  .section-head h2{ font-family:var(--font-display, 'Fraunces', Georgia, serif) !important; font-weight:700 !important; font-size:clamp(20px, 5.5vw, 26px) !important; color:var(--maroon-dark, #C8102E) !important; }
  .section-head > div{ display:flex !important; flex-direction:column !important; align-items:flex-start !important; }
  .filter-bar{ gap:12px; }
  .filter-sort{ align-self:flex-start; width:auto; }
  .filter-sort select{ width:auto; min-width:130px; max-width:180px; }
  .filter-scroll{ display:flex; flex-wrap:nowrap; overflow-x:auto; white-space:nowrap; justify-content:flex-start; gap:8px; padding-bottom:4px; }
  .chip{ flex:0 0 auto; padding:9px 14px; font-size:12.8px; }
  .product-grid{
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 16px 12px !important;
    align-items: stretch !important;
  }
  .product-card{
    border-radius: 16px !important;
    display: flex !important;
    flex-direction: column !important;
    height: 100% !important;
  }
  .product-media{ aspect-ratio: 1/1 !important; min-height: 0 !important; }
  .product-body{
    padding: 11px 9px 12px !important;
    display: flex !important;
    flex-direction: column !important;
    flex: 1 1 auto !important;
    justify-content: flex-start !important;
  }
  .product-body h4{
    font-size: 13px !important;
    line-height: 1.3 !important;
    margin: 0 !important;
    height: 2.6em !important;
    min-height: 2.6em !important;
    max-height: 2.6em !important;
    display: -webkit-box !important;
    -webkit-line-clamp: 2 !important;
    -webkit-box-orient: vertical !important;
    overflow: hidden !important;
    word-break: break-word !important;
  }
  .price-row{
    display: flex !important;
    flex-wrap: wrap !important;
    align-items: baseline !important;
    gap: 2px 6px !important;
    margin-top: 4px !important;
    min-height: 20px !important;
  }
  .price-row .now{
    font-family: var(--font-price) !important;
    font-size: 19.5px !important;
    font-weight: 800 !important;
    color: var(--maroon-dark) !important;
    line-height: 1.15 !important;
    letter-spacing: -0.02em !important;
  }
  .price-row .was{
    font-size: 11px !important;
    color: var(--ink-soft) !important;
    text-decoration: line-through !important;
    line-height: 1.2 !important;
  }
  .discount-label{
    color: var(--gold) !important;
    font-size: 10.5px !important;
    font-weight: 700 !important;
    white-space: nowrap !important;
    line-height: 1.2 !important;
  }
  .btn-text-short{ display: inline !important; }
  .btn-text-full{ display: none !important; }
  .product-actions{
    display: flex !important;
    width: 100% !important;
    gap: 5px !important;
    margin: auto 0 0 !important;
    margin-top: auto !important;
    align-items: center !important;
    padding: 8px 0 0 !important;
    box-sizing: border-box !important;
  }
  .product-actions .btn{
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 4px !important;
    box-sizing: border-box !important;
    height: 32px !important;
    font-size: 11px !important;
    font-weight: 600 !important;
    line-height: 1 !important;
    white-space: nowrap !important;
    border-radius: 999px !important;
  }
  .product-actions .btn:first-child{
    flex: 1 1 auto !important;
    min-width: 0 !important;
    padding: 0 6px !important;
    border: 1px solid var(--maroon) !important;
    background: transparent !important;
    color: var(--maroon) !important;
  }
  .product-actions .btn:first-child:hover{ background: var(--maroon) !important; color: #fff !important; }
  .product-actions .btn:last-child{
    flex: 0 0 44px !important;
    min-width: 44px !important;
    padding: 0 6px !important;
    background: var(--maroon) !important;
    color: #fff !important;
    border: 1px solid var(--maroon) !important;
  }
  .product-actions .btn:last-child:hover{ background: var(--maroon-dark) !important; }
  .product-actions .btn .ico{ display:inline-flex; align-items:center; justify-content:center; flex-shrink:0; width:13px; height:13px; }
  .product-actions .btn .ico svg{ width:13px; height:13px; }
  .product-actions .btn span{ overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
  .hero{ padding:20px 0 28px !important; }
  .hero-cover{ display:none !important; }
  .hero-copy-wrap{ padding-top:0 !important; }
  .hero-copy{ max-width:none !important; }
  .hero-visual{ display:none !important; }
  .hero h1{ font-size:clamp(26px,7.5vw,34px) !important; max-width:none !important; line-height:1.18 !important; margin-bottom:10px !important; }
  .hero-eyebrow{ font-size:11px !important; letter-spacing:.12em !important; margin-bottom:10px !important; }
  .hero p.lead{ font-size:13.5px !important; line-height:1.55 !important; margin-bottom:16px !important; }

  /* Hero Actions - Side-by-side straight row on mobile */
  .hero-actions{
    display: flex !important;
    flex-direction: row !important;
    align-items: center !important;
    gap: 10px !important;
    width: 100% !important;
    flex-wrap: nowrap !important;
    margin-bottom: 16px !important;
  }
  .hero-actions .btn{
    flex: 1 1 50% !important;
    min-width: 0 !important;
    padding: 12px 8px !important;
    font-size: 12.5px !important;
    white-space: nowrap !important;
    text-align: center !important;
    justify-content: center !important;
  }

  .hero-quick-rail{
    display: none !important;
    visibility: hidden !important;
    height: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    pointer-events: none !important;
  }

  /* Hero Values - Dynamic straight columns on mobile */
  .hero-values{
    display: grid !important;
    grid-template-columns: repeat(var(--hero-cols, 3), minmax(115px, 1fr)) !important;
    gap: 0 !important;
    overflow-x: auto !important;
    -webkit-overflow-scrolling: touch !important;
    scrollbar-width: none !important;
    margin-top: 14px !important;
    margin-bottom: 16px !important;
    padding: 8px 0 10px !important;
    max-width: 100% !important;
    width: 100% !important;
    background: transparent !important;
    backdrop-filter: none !important;
    border: none !important;
    outline: none !important;
    border-radius: 0 !important;
    box-shadow: none !important;
  }
  .hero-values::-webkit-scrollbar{ display: none !important; }
  .hero-values div{
    flex: none !important;
    min-width: 0 !important;
    max-width: none !important;
    background: transparent !important;
    border: none !important;
    border-right: 1px solid rgba(200, 16, 46, 0.18) !important;
    border-radius: 0 !important;
    padding: 0 4px !important;
    margin: 0 !important;
    box-shadow: none !important;
    text-align: center !important;
  }
  .hero-values div:last-child{
    border-right: none !important;
  }
  .hero-values div b{
    font-size: clamp(9.5px, 2.7vw, 12px) !important;
    color: var(--maroon-dark) !important;
    font-weight: 700 !important;
    line-height: 1.2 !important;
    margin-bottom: 2px !important;
    display: block !important;
    white-space: nowrap !important;
    letter-spacing: -0.2px !important;
  }
  .hero-values div span{
    font-size: clamp(8px, 2.2vw, 9.5px) !important;
    line-height: 1.25 !important;
    color: var(--ink-soft) !important;
    display: -webkit-box !important;
    -webkit-box-orient: vertical !important;
    -webkit-line-clamp: 2 !important;
    overflow: hidden !important;
    white-space: normal !important;
  }

  /* About Story Section - Clean Vertical Stack on Mobile */
  .about-story-inner{
    display: flex !important;
    flex-direction: column !important;
    text-align: center !important;
    gap: 14px !important;
    max-width: 520px !important;
    margin: 0 auto !important;
    padding: 10px 8px !important;
  }
  .about-story-brand{
    text-align: center !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
  }
  .about-story-brand .account-kicker{
    display: inline-block !important;
    font-size: 13px !important;
    letter-spacing: .16em !important;
    font-weight: 700 !important;
    color: var(--rose) !important;
    margin-bottom: 8px !important;
    text-align: center !important;
    white-space: nowrap !important;
  }
  .about-story-brand h2{
    font-size: clamp(22px, 5.5vw, 28px) !important;
    line-height: 1.25 !important;
    color: var(--maroon-dark) !important;
    margin: 0 0 6px !important;
    text-align: center !important;
  }
  .about-story-text{
    font-size: 13.5px !important;
    line-height: 1.65 !important;
    color: var(--ink-soft) !important;
    margin: 0 !important;
    text-align: center !important;
  }

  /* Mobile Checkout (1-2-3 Steps & Centered Customization) */
  .checkout-name-phone-row,
  .checkout-city-state-row{
    display: grid !important;
    grid-template-columns: 1fr 1fr !important;
    gap: 10px !important;
  }
  .checkout-steps-bar{ gap: 6px !important; margin-top: 14px !important; padding: 10px 12px !important; }
  .checkout-step-item{ font-size: 11px !important; gap: 5px !important; }
  .step-badge{ width: 20px !important; height: 20px !important; font-size: 10.5px !important; }
  .step-divider-line{ width: 14px !important; }
  .checkout-section-title{
    display: flex !important;
    align-items: center !important;
    gap: 8px !important;
    margin-bottom: 14px !important;
  }
  .checkout-section-title h3{
    white-space: nowrap !important;
    font-size: clamp(13px, 3.8vw, 17px) !important;
    margin: 0 !important;
    line-height: 1.2 !important;
    display: inline-flex !important;
    align-items: center !important;
  }
  .step-badge-inline{
    width: 22px !important;
    height: 22px !important;
    font-size: 11px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    flex-shrink: 0 !important;
    line-height: 1 !important;
    margin: 0 !important;
    transform: none !important;
  }
  .checkout-customization-centered{
    text-align: center !important;
    background: rgba(255, 248, 240, 0.6) !important;
    border: 1px dashed rgba(198, 154, 74, 0.45) !important;
    border-radius: 12px !important;
    padding: 14px 12px !important;
    margin: 18px 0 !important;
  }
  .checkout-customization-centered textarea{ text-align: center !important; border-radius: 8px !important; }
  .checkout-place-order-wrap{
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: center !important;
    margin-top: 20px !important;
    text-align: center !important;
  }
  .checkout-place-btn{
    width: 100% !important;
    max-width: 320px !important;
    padding: 14px 16px !important;
    font-size: 15px !important;
  }

  /* Account Page on Mobile (Profile & Address side-by-side: 1 | 2) */
  .account-layout{
    gap: 16px !important;
    padding-top: 14px !important;
  }
  .account-header-card{
    padding: 16px 14px !important;
    border-radius: 14px !important;
    gap: 14px !important;
  }
  .account-user-profile-row{
    gap: 12px !important;
    padding-bottom: 12px !important;
  }
  .account-user-meta strong{
    font-size: 17px !important;
  }
  .account-overview-heading{
    font-size: 16px !important;
  }
  .account-overview-btn{
    height: 36px !important;
    padding: 0 16px !important;
    font-size: 12.5px !important;
  }
  .account-cards-row{
    display: grid !important;
    grid-template-columns: 1fr 1fr !important;
    gap: 8px !important;
    margin-bottom: 18px !important;
  }
  .account-card-block{
    display: flex !important;
    flex-direction: column !important;
    min-width: 0 !important;
  }
  .account-card-block .account-section-heading{
    margin-top: 0 !important;
    margin-bottom: 6px !important;
    flex-direction: column !important;
    align-items: flex-start !important;
    gap: 2px !important;
  }
  .account-card-block .account-section-heading h2{
    font-size: 14px !important;
    white-space: nowrap !important;
  }
  .account-card-block .account-section-heading p{
    display: none !important;
  }
  .account-card-block .text-action{
    font-size: 11px !important;
  }
  .account-card-block .account-info-grid{
    display: flex !important;
    flex-direction: column !important;
    gap: 6px !important;
    grid-template-columns: 1fr !important;
  }
  .account-card-block .account-info-grid > div{
    padding: 8px !important;
  }
  .account-card-block .account-info-grid span{
    font-size: 9.5px !important;
    margin-bottom: 2px !important;
  }
  .account-card-block .account-info-grid b{
    font-size: 11.5px !important;
  }
  .account-card-block .account-address-card{
    padding: 8px !important;
    flex-direction: column !important;
    gap: 4px !important;
  }
  .account-card-block .account-address-card b{
    font-size: 11.5px !important;
  }
  .account-card-block .account-address-card p{
    font-size: 10.5px !important;
    line-height: 1.35 !important;
    margin: 2px 0 !important;
  }
  .account-card-block .account-address-card span{
    font-size: 9.5px !important;
  }

  .promo-band{ flex-direction:column; text-align:center; padding:34px 24px; }
  .footer-grid{ grid-template-columns:1fr 1fr; gap:28px 18px; padding:40px 16px 20px; }

  /* Trust & Assurance Bar (2 items per row: 1 2 / 3 4) */
  .site-trust-bar{ padding:26px 0 20px; }
  .trust-bar-grid{
    display: grid !important;
    grid-template-columns: repeat(2, 1fr) !important;
    gap: 16px 12px !important;
  }
  .trust-bar-item{
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    text-align: center !important;
    padding: 0 2px !important;
  }
  .trust-bar-icon{ width:42px !important; height:42px !important; margin-bottom:6px !important; }
  .trust-bar-icon svg,
  .trust-bar-icon img{ width:38px !important; height:38px !important; object-fit:contain !important; }
  .trust-bar-title{ font-size:11px !important; font-weight:700 !important; margin-bottom:2px !important; line-height:1.2 !important; }
  .trust-bar-sub{ font-size:9.5px !important; line-height:1.25 !important; color:var(--ink-soft) !important; }
  .trust-bar-links{ gap:3px !important; font-size:9.5px !important; margin-top:3px !important; }

  /* Mobile Footer matching 2nd pic (Wedtree layout) */
  .footer-desktop-grid{
    display: none !important;
  }
  .footer-mobile-view{
    display: flex !important;
    flex-direction: column !important;
    gap: 0 !important;
    padding: 24px 20px 10px !important;
  }

  .footer-desktop-brand,
  .footer-col-shop,
  .footer-desktop-policies,
  .footer-desktop-touch{
    display: none !important;
  }

  .footer-mobile-enquiries,
  .footer-mobile-brand-acc,
  .footer-mobile-policy-acc,
  .footer-wedtree-brand{
    display: block !important;
  }

  /* 1. ENQUIRIES & SUPPORT (matching 2nd pic) */
  .mobile-enquiries-title{
    color: var(--maroon-dark) !important;
    font-size: 15px !important;
    font-weight: 700 !important;
    letter-spacing: 0.04em !important;
    margin: 0 0 14px !important;
    text-transform: uppercase !important;
  }
  .mobile-enquiry-line{
    font-size: clamp(11.5px, 3.2vw, 13.5px) !important;
    margin: 0 0 8px !important;
    color: var(--maroon-dark) !important;
    line-height: 1.4 !important;
    display: flex !important;
    align-items: center !important;
    gap: 6px !important;
    flex-wrap: nowrap !important;
    white-space: nowrap !important;
    overflow-x: auto !important;
    scrollbar-width: none !important;
  }
  .mobile-enquiry-line::-webkit-scrollbar{ display: none; }
  .mobile-enquiry-line em{
    font-style: italic !important;
    font-weight: 700 !important;
    margin-right: 0 !important;
    flex-shrink: 0 !important;
    white-space: nowrap !important;
  }
  .mobile-enquiry-line a{
    color: var(--maroon-dark) !important;
    text-decoration: underline !important;
    white-space: nowrap !important;
    flex-shrink: 0 !important;
  }
  .mobile-enquiry-links{
    display: flex !important;
    flex-direction: column !important;
    gap: 8px !important;
    margin: 14px 0 16px !important;
  }
  .mobile-enquiry-links a{
    color: var(--maroon-dark) !important;
    font-size: 13px !important;
    text-decoration: underline !important;
  }
  .mobile-follow-section{ margin-top: 14px !important; }
  .mobile-follow-lbl{
    display: block !important;
    font-size: 13px !important;
    color: var(--maroon-dark) !important;
    margin-bottom: 10px !important;
  }
  .mobile-social-row{
    display: flex !important;
    gap: 12px !important;
    margin-top: 0 !important;
  }
  .mobile-social-row a{
    width: 38px !important;
    height: 38px !important;
    border-radius: 50% !important;
    background: #fff !important;
    border: 1px solid rgba(83, 194, 166, .12) !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    box-shadow: 0 2px 6px rgba(0,0,0,.04) !important;
  }
  .mobile-social-row a svg{ width: 16px !important; height: 16px !important; }

  /* 2. Collapsible Accordions (matching 2nd pic) */
  details.footer-accordion{
    border-top: 1px solid rgba(83, 194, 166, .12) !important;
    padding: 0 !important;
    margin: 0 !important;
    width: 100% !important;
  }
  details.footer-accordion summary.footer-accordion-summary{
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    padding: 14px 0 !important;
    cursor: pointer !important;
    list-style: none !important;
    font-size: 15px !important;
    font-weight: 700 !important;
    color: var(--maroon-dark) !important;
    user-select: none !important;
  }
  details.footer-accordion summary.footer-accordion-summary::-webkit-details-marker{
    display: none !important;
  }
  .footer-acc-chevron{
    width: 18px !important;
    height: 18px !important;
    color: var(--maroon-dark) !important;
    transition: transform .25s ease !important;
    flex-shrink: 0 !important;
  }
  details[open] .footer-acc-chevron{
    transform: rotate(180deg) !important;
  }
  .footer-accordion-body{
    padding-bottom: 16px !important;
  }
  .footer-accordion-desc{
    font-size: 12.5px !important;
    line-height: 1.6 !important;
    color: var(--maroon-dark) !important;
    font-style: italic !important;
    margin: 0 !important;
  }
  .footer-mobile-policy-acc ul{
    display: flex !important;
    flex-direction: column !important;
    gap: 8px !important;
    padding-left: 0 !important;
    list-style: none !important;
  }
  .footer-mobile-policy-acc ul li a{
    font-size: 13px !important;
    color: var(--maroon-dark) !important;
    text-decoration: underline !important;
  }

  footer::before{
    font-size: clamp(95px, 22vw, 135px) !important;
    letter-spacing: .08em !important;
    width: 100% !important;
    text-align: center !important;
    left: 50% !important;
    top: 50% !important;
    transform: translate(-50%, -50%) !important;
    color: rgba(83, 194, 166, 0.045) !important;
  }
  .footer-bottom{
    padding: 24px 16px 28px !important;
    text-align: center !important;
    border-top: 1px solid rgba(83, 194, 166, .1) !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: center !important;
  }
  .footer-wedtree-brand{
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    margin-bottom: 8px !important;
  }
  .footer-wedtree-logo{
    font-family: var(--font-display) !important;
    font-size: 26px !important;
    font-weight: 700 !important;
    color: var(--maroon-dark) !important;
    letter-spacing: 0.04em !important;
    line-height: 1.1 !important;
    text-transform: none !important;
  }
  .footer-wedtree-tagline{
    font-size: 11.5px !important;
    color: var(--maroon) !important;
    letter-spacing: 0.12em !important;
    margin-top: 2px !important;
    text-transform: none !important;
  }
  .footer-bottom-track{
    margin: 0 auto !important;
    text-align: center !important;
    font-size: 12px !important;
    color: var(--ink-soft) !important;
    white-space: normal !important;
  }

  .form-row{ grid-template-columns: 1fr; gap: 0; }
  .form-row.checkout-name-phone-row,
  .form-row.checkout-city-state-row{
    grid-template-columns: 1fr 1fr !important;
    gap: 12px !important;
    margin-bottom: 12px !important;
  }

  /* Floating Contact Buttons: WhatsApp on bottom-right, Mail on bottom-left */
  .wa-float{
    width: 44px !important;
    height: 44px !important;
    bottom: 18px !important;
    right: 14px !important;
    left: auto !important;
    z-index: 400 !important;
    box-shadow: 0 6px 18px rgba(37,211,102,.35) !important;
  }
  .wa-float svg{ width: 22px !important; height: 22px !important; }
  .mail-float{
    display: flex !important;
    position: fixed !important;
    bottom: 18px !important;
    left: 14px !important;
    right: auto !important;
    width: 44px !important;
    height: 44px !important;
    border-radius: 50% !important;
    background: var(--maroon, #C8102E) !important;
    color: #fff !important;
    align-items: center !important;
    justify-content: center !important;
    z-index: 400 !important;
    box-shadow: 0 6px 18px rgba(61, 180, 150, .35) !important;
  }
  .mail-float svg{ width: 22px !important; height: 22px !important; color: #fff !important; }

  main#app{ padding-bottom:110px !important; }
  .reviews-rate-cta{ flex-direction:column; text-align:center; }
  .section{ padding: 42px 0 !important; }
  .cart-drawer{ width:100vw; }

  /* Track Order Page on Mobile (1 | 2 Layouts and Stepper Line) */
  .track-card{
    padding: 18px 14px !important;
    border-radius: 14px !important;
    margin-bottom: 18px !important;
  }
  .track-header-row{
    padding-bottom: 12px !important;
    gap: 8px !important;
  }
  .track-header-row h3{
    font-size: 19px !important;
  }
  .track-form{
    display: flex !important;
    align-items: center !important;
    gap: 10px !important;
    width: 100% !important;
    max-width: 480px !important;
    margin: 0 auto 24px !important;
    padding: 0 4px !important;
    box-sizing: border-box !important;
  }
  .track-form input{
    flex: 1 !important;
    min-width: 0 !important;
    border-radius: 28px !important;
    padding: 10px 16px !important;
    font-size: 13.5px !important;
  }
  .track-form .btn{
    flex-shrink: 0 !important;
    border-radius: 28px !important;
    padding: 10px 20px !important;
    font-size: 13.5px !important;
    margin: 0 !important;
  }
  .track-meta-grid{
    display: grid !important;
    grid-template-columns: 1fr 1fr !important;
    gap: 12px 10px !important;
  }
  .track-meta-item strong{
    font-size: 13px !important;
    overflow-wrap: break-word !important;
  }
  .track-grid-2{
    display: flex !important;
    flex-direction: column !important;
    gap: 14px !important;
  }
  .status-steps{
    display: flex !important;
    flex-wrap: nowrap !important;
    justify-content: space-between !important;
    padding: 10px 0 14px !important;
    overflow: visible !important;
  }
  .status-steps::-webkit-scrollbar{ display: none !important; }
  .status-step{
    flex: 1 1 0% !important;
    min-width: 0 !important;
    text-align: center !important;
    position: relative !important;
    margin-bottom: 0 !important;
  }
  .status-step .dot{
    width: 32px !important;
    height: 32px !important;
    border-radius: 50% !important;
    margin: 0 auto 6px !important;
    z-index: 2 !important;
    position: relative !important;
  }
  .status-step .dot svg{ width: 14px !important; height: 14px !important; }
  .status-step::after{
    display: block !important;
    content: "" !important;
    position: absolute !important;
    top: 16px !important;
    left: 50% !important;
    width: 100% !important;
    height: 2px !important;
    background: var(--line) !important;
    z-index: 1 !important;
  }
  .status-step.done::after{
    background: var(--maroon) !important;
  }
  .status-step:last-child::after{
    display: none !important;
  }
  .status-step p{
    font-size: 11px !important;
    line-height: 1.25 !important;
    font-weight: 600 !important;
    white-space: nowrap !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
  }
  .track-actions-bar{
    display: grid !important;
    grid-template-columns: 1fr 1fr !important;
    gap: 10px !important;
    margin-top: 22px !important;
  }
  .track-actions-bar .btn{
    width: 100% !important;
    justify-content: center !important;
    padding: 10px 8px !important;
    font-size: 12px !important;
    white-space: nowrap !important;
  }
  .modal-box{ padding: 20px 14px 18px !important; width: 92vw !important; max-width: 92vw !important; max-height: 85vh !important; overflow-y: auto !important; box-sizing: border-box !important; }
  .rate-modal-wrap{ width: 100% !important; max-width: 100% !important; box-sizing: border-box !important; overflow-x: hidden !important; text-align: center !important; }
  .rate-modal-titles h3{ font-size: 18px !important; }
  .rate-modal-sub{ font-size: 11.5px !important; }
  .rate-fields-row{ display: flex !important; flex-direction: column !important; gap: 10px !important; margin-bottom: 10px !important; width: 100% !important; }
  .rate-fields-row .field{ width: 100% !important; }
  .rate-fields-row label{ font-size: 11px !important; text-align: left !important; }
  .rate-fields-row input{ padding: 10px 12px !important; font-size: 13px !important; width: 100% !important; box-sizing: border-box !important; text-align: left !important; }
  .rate-form-fields input, .rate-form-fields textarea{ text-align: left !important; }
  .filter-bar{ display:block; margin-bottom:20px; }
  .filter-sort{ width:auto; margin:0 0 2px; }
  .filter-sort select{ width:max-content; min-width:132px; min-height:34px; }
  .filter-scroll{ flex-wrap:nowrap; gap:8px; padding:2px 2px 6px; }
  .filter-scroll .chip{ white-space:nowrap; padding:8px 14px; font-size:13px; }
  .filter-scroll .social-divider{ flex:0 0 1px; }
  .section-head{ align-items:flex-start; margin-bottom:16px; }
  .section-head h2{ font-size:clamp(20px, 5.5vw, 24px); }
  .empty-state{ padding:40px 10px; }
  /* Product Detail Page Mobile Optimization: Compact, fully visible, nothing hidden */
  .pd-grid{
    grid-template-columns: 1fr !important;
    gap: 12px !important;
  }
  .pd-media{
    aspect-ratio: 1/1 !important;
    min-height: unset !important;
    max-height: none !important;
    width: 100% !important;
    border-radius: 18px !important;
    overflow: hidden !important;
    margin: 0 auto 12px !important;
  }
  .pd-media img,
  #pdMainImage,
  .pd-media-main{
    border-radius: 18px !important;
    overflow: hidden !important;
  }
  .pd-info .p-cat{ font-size: 11px !important; letter-spacing: .08em !important; }
  .pd-info h1{ font-size: 21px !important; margin: 3px 0 6px !important; line-height: 1.22 !important; }
  .pd-price{ margin-bottom: 8px !important; gap: 8px !important; }
  .pd-price .now{ font-family: var(--font-price) !important; font-size: 28px !important; font-weight: 800 !important; letter-spacing: -0.02em !important; }
  .pd-desc{ font-size: 13.5px !important; margin-bottom: 12px !important; line-height: 1.48 !important; }
  .qty-row{ align-items: center !important; flex-direction: row !important; gap: 12px !important; margin-bottom: 14px !important; }
  .qty-control{ align-self: center !important; }
  .pd-actions{ display: grid !important; grid-template-columns: 1fr 1fr !important; gap: 8px !important; margin-bottom: 14px !important; }
  .pd-actions .icon-btn,
  .wish-action{
    grid-column: 1 / -1 !important;
    width: 100% !important;
    height: 38px !important;
    font-size: 12.5px !important;
    border-radius: 999px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 8px !important;
    line-height: 1 !important;
    vertical-align: middle !important;
  }
  .pd-actions .icon-btn svg,
  .wish-action svg{
    width: 16px !important;
    height: 16px !important;
    display: inline-block !important;
    vertical-align: middle !important;
    flex-shrink: 0 !important;
    margin: 0 !important;
  }
  .pd-actions .icon-btn span,
  .wish-action span{
    line-height: 1 !important;
    display: inline-flex !important;
    align-items: center !important;
    vertical-align: middle !important;
    margin: 0 !important;
  }
  .pd-secondary-actions > button{ flex: 1 1 140px !important; justify-content: center !important; }
  .account-welcome{ align-items:flex-start; flex-direction:column; }
  .account-info-grid{ grid-template-columns:1fr; }
  .account-section-heading{ align-items:flex-start; }
  .account-address-card{ flex-direction:column; }
  .account-order-card{ flex-wrap:wrap; }
  .account-order-card .btn{ margin-left:56px; }
  .help-contact{ align-items:flex-start; flex-direction:column; padding:22px; }
  .help-contact .btn{ width:100%; justify-content:center; }
  .order-items-card{ padding:18px; }
  .ordered-product>strong{ font-size:15px; }
  .past-orders{ padding:18px; }
  .past-order-row{ grid-template-columns:1fr auto; gap:12px; }
  .past-order-product{ grid-column:1 / -1; }
  .past-order-row .order-status-label{ justify-self:start; }
  .past-order-row .btn,
  .past-order-row .track-order-action-btn{
    grid-column: 1 / -1 !important;
    justify-self: center !important;
    width: 100% !important;
    max-width: 220px !important;
    margin: 8px auto 0 !important;
    text-align: center !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
  }
  .page-top-back-btn{
    padding: 4px 10px !important;
    font-size: 12px !important;
    gap: 4px !important;
  }
  .page-top-back-btn svg{
    width: 13px !important;
    height: 13px !important;
  }
  .help-topic-copy em{
    white-space: nowrap !important;
    display: inline-flex !important;
    align-items: center !important;
    gap: 4px !important;
  }
}

@media (max-width:380px){
  .container{ padding:0 10px; }
  .cat-square-media{ width:48px; height:48px; }
  .cat-square-media svg{ width:22px; height:22px; }
  .cat-square-body h3, .cat-square-body h4{ font-size:12px; }
  .budget-strip-card{ flex:0 0 124px; min-width:124px; padding:8px 10px; }
  .budget-strip-price{ font-size:15px; }
  .site-header .container{ padding:0 10px; }
  .header-row{ height:64px; gap:6px; padding:2px 0; justify-content:space-between; }
  .top-menu-toggle{ width:36px; height:36px; min-width:36px; border-radius:9px; }
  .top-menu-toggle svg{ width:18.5px; height:18.5px; stroke-width:2.2px; }
  .brand{ padding:0 1px; }
  .brand .brand-text{ font-family:var(--font-display, 'Fraunces', Georgia, serif); font-size:23.5px; font-weight:700; line-height:1.05; }
  .brand .brand-text small{ font-size:9px; letter-spacing:.15em; font-weight:700; text-transform:uppercase; color:var(--maroon, #D71920); margin-top:2px; }
  .brand img{ width:28px; height:28px; }
  .header-icons{ display:flex; align-items:center; justify-content:flex-end; gap:7.5px; padding-right:3px; }
  .header-icons .icon-btn{ width:35.5px; height:35.5px; min-width:35.5px; padding:0; display:inline-flex !important; align-items:center; justify-content:center; color:#D71920; background:rgba(215, 25, 32, 0.05); border:1.2px solid rgba(215, 25, 32, 0.22); border-radius:50%; }
  .header-icons .icon-btn svg{ width:18px; height:18px; stroke-width:2px; }
  .header-icons .social-divider{ display:none !important; }
  .header-icons a[aria-label="Instagram"],
  .header-icons a[aria-label="Facebook"]{ display:none !important; }
  .header-icons .search-toggle,
  .header-icons .account-toggle,
  .header-icons a[aria-label="Wishlist"],
  .header-icons #cartBtn{ display:inline-flex !important; }
  .header-icons a[aria-label="Wishlist"]{ margin-right:0; }
  .header-icons #cartBtn{ margin-right:0; }
  .icon-badge{ min-width:15px; height:15px; font-size:8px; font-weight:800; top:-3px; right:-2px; border:1.5px solid #fff; }
}

@media (max-width:330px){
  .site-header .container{ padding:0 6px; }
  .brand .brand-text{ font-size:21px; }
  .brand .brand-text small{ font-size:8px; letter-spacing:.12em; }
  .header-icons{ gap:5.5px; padding-right:2px; }
  .header-icons .icon-btn{ width:33px; height:33px; min-width:33px; }
  .header-icons .icon-btn svg{ width:16.5px; height:16.5px; }
}

/* =========================================================
   FLIPKART-STYLE ENTRANCE LOGIN MODAL (Disabled)
   ========================================================= */
#entranceLoginOverlay,
.fk-modal-overlay{
  display:none !important;
  visibility:hidden !important;
  pointer-events:none !important;
}
.fk-modal-container{
  background:#fff;
  border-radius:12px;
  overflow:hidden;
  width:100%;
  max-width:760px;
  min-height:430px;
  box-shadow:0 24px 60px rgba(0,0,0,.35), 0 0 0 1px rgba(0,0,0,.08);
  position:relative;
  transform:scale(.92) translateY(12px);
  transition:transform .3s cubic-bezier(.2,.8,.2,1);
}
.fk-modal-overlay.open .fk-modal-container{
  transform:scale(1) translateY(0);
}
.fk-close-btn{
  position:absolute;
  top:12px;
  right:14px;
  width:36px;
  height:36px;
  border-radius:50%;
  border:none;
  background:rgba(0,0,0,.06);
  color:#333;
  font-size:26px;
  line-height:1;
  cursor:pointer;
  display:flex;
  align-items:center;
  justify-content:center;
  z-index:10;
  transition:background .2s ease, color .2s ease, transform .2s ease;
}
.fk-close-btn:hover{
  background:var(--maroon);
  color:#fff;
  transform:rotate(90deg);
}
.fk-modal-grid{
  display:grid;
  grid-template-columns:290px 1fr;
  min-height:430px;
}
.fk-banner{
  background:linear-gradient(155deg, #D71920 0%, #A80F1C 100%);
  color:#fff;
  padding:36px 28px 24px;
  display:flex;
  flex-direction:column;
  justify-content:space-between;
  position:relative;
  overflow:hidden;
}
.fk-banner h2{
  font-family:var(--font-display);
  font-size:30px;
  color:#fff;
  margin:0 0 12px;
  letter-spacing:.02em;
}
.fk-banner p{
  font-size:14px;
  line-height:1.55;
  color:rgba(255,255,255,.88);
  margin:0;
}
.fk-banner-art{
  margin-top:20px;
  display:flex;
  justify-content:center;
}
.fk-art-svg{
  width:100%;
  max-width:180px;
  height:auto;
  display:block;
}
.fk-body{
  padding:40px 36px 32px;
  display:flex;
  flex-direction:column;
  justify-content:center;
  background:#fff;
}
.fk-body-content{
  max-width:380px;
  width:100%;
  margin:0 auto;
}
.fk-body-content h3{
  font-size:18px;
  font-weight:700;
  color:#212121;
  margin:0 0 6px;
  font-family:var(--font-body);
}
.fk-sub{
  font-size:13px;
  color:#717478;
  margin:0 0 24px;
}
.fk-input-group{
  position:relative;
  display:flex;
  align-items:center;
  border:1px solid #D4D5D9;
  border-radius:6px;
  padding:0 12px;
  margin-bottom:12px;
  background:#fff;
  transition:border-color .2s ease, box-shadow .2s ease;
}
.fk-input-group:focus-within{
  border-color:#2874F0;
  box-shadow:0 0 0 1px #2874F0;
}
.fk-prefix{
  font-size:14.5px;
  font-weight:600;
  color:#212121;
  padding-right:8px;
  border-right:1px solid #E0E0E0;
  margin-right:8px;
}
.fk-input{
  border:none;
  outline:none;
  width:100%;
  padding:14px 0;
  font-size:14.5px;
  font-family:inherit;
  color:#212121;
  background:transparent;
}
.fk-input-email{
  padding:14px 0;
}
.fk-label{
  position:absolute;
  left:58px;
  top:50%;
  transform:translateY(-50%);
  font-size:13.5px;
  color:#878787;
  pointer-events:none;
  transition:all .2s ease;
}
.fk-input-email + .fk-label,
.fk-input-no-prefix + .fk-label{
  left:14px;
}
.fk-input:focus + .fk-label,
.fk-input:not(:placeholder-shown) + .fk-label{
  top:-9px;
  left:10px;
  font-size:11px;
  background:#fff;
  padding:0 4px;
  color:#2874F0;
  font-weight:600;
}
.fk-toggle-row{
  text-align:right;
  margin-bottom:20px;
}
.fk-toggle-link{
  background:none;
  border:none;
  color:#2874F0;
  font-size:12.5px;
  font-weight:600;
  cursor:pointer;
  padding:0;
  font-family:inherit;
}
.fk-toggle-link:hover{
  text-decoration:underline;
}
.fk-legal-text{
  font-size:11px;
  color:#878787;
  line-height:1.55;
  margin:0 0 20px;
}
.fk-legal-text a{
  color:#2874F0;
  text-decoration:underline;
}
.fk-btn-continue{
  width:100%;
  padding:13px;
  background:#FB641B;
  color:#fff;
  border:none;
  border-radius:4px;
  font-size:15px;
  font-weight:700;
  font-family:inherit;
  cursor:pointer;
  box-shadow:0 2px 4px rgba(0,0,0,.15);
  transition:background .2s ease, transform .1s ease;
}
.fk-btn-continue:hover{
  background:#E65100;
}
.fk-btn-continue:active{
  transform:scale(.99);
}

@media(max-width:680px){
  .fk-modal-container{
    max-width:92vw;
    min-height:auto;
  }
  .fk-modal-grid{
    grid-template-columns:1fr;
  }
  .fk-banner{
    padding:24px 20px 16px;
    text-align:center;
  }
  .fk-banner-art{
    display:none;
  }
  .fk-banner h2{
    font-size:22px;
    margin-bottom:6px;
  }
  .fk-banner p{
    font-size:12.5px;
  }
  .fk-body{
    padding:24px 20px 24px;
  }
}

/* =========================================================
   LIVE SOCIAL PROOF NOTIFICATION CARD
   ========================================================= */
.social-proof-container {
  position: fixed;
  bottom: 24px;
  left: 24px;
  z-index: 1000;
  pointer-events: none;
}
.social-proof-toast {
  display: flex;
  align-items: center;
  gap: 12px;
  background: #ffffff;
  border: 1px solid rgba(198, 154, 74, 0.4);
  border-radius: 12px;
  padding: 10px 32px 10px 10px;
  box-shadow: 0 10px 28px -6px rgba(200, 16, 46, 0.22), 0 2px 6px rgba(0, 0, 0, 0.06);
  max-width: 340px;
  position: relative;
  cursor: pointer;
  pointer-events: auto;
  opacity: 0;
  transform: translateY(20px) scale(0.96);
  transition: opacity 0.35s cubic-bezier(0.16, 1, 0.3, 1), transform 0.35s cubic-bezier(0.16, 1, 0.3, 1);
}
.social-proof-toast.visible {
  opacity: 1;
  transform: translateY(0) scale(1);
}
.social-proof-toast:hover {
  border-color: var(--maroon, #C8102E);
  box-shadow: 0 12px 32px -4px rgba(200, 16, 46, 0.28);
}
.sp-thumb {
  width: 48px;
  height: 48px;
  border-radius: 8px;
  overflow: hidden;
  background: #FAF6EE;
  flex-shrink: 0;
  border: 1px solid rgba(0,0,0,0.06);
}
.sp-thumb img {
  width: 100%;
  height: 100%;
  object-fit: contain !important;
  background: #ffffff;
  display: block;
}
.sp-content {
  flex: 1;
  min-width: 0;
}
.sp-buyer {
  font-size: 11.5px;
  color: var(--ink-soft, #555);
  line-height: 1.3;
}
.sp-buyer strong {
  color: var(--maroon-dark, #C8102E);
  font-weight: 700;
}
.sp-prod {
  font-size: 12.5px;
  font-weight: 700;
  color: var(--ink, #2A6556);
  line-height: 1.35;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  margin-top: 1px;
}
.sp-time {
  font-size: 10.5px;
  color: #16A34A;
  font-weight: 600;
  display: flex;
  align-items: center;
  gap: 5px;
  margin-top: 2px;
}
.sp-dot {
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: #16A34A;
  display: inline-block;
  animation: spPulse 2s infinite;
}
@keyframes spPulse {
  0%, 100% { opacity: 1; transform: scale(1); }
  50% { opacity: 0.4; transform: scale(0.85); }
}
.sp-close-btn {
  position: absolute;
  top: 6px;
  right: 8px;
  background: transparent;
  border: none;
  font-size: 18px;
  color: #9CA3AF;
  cursor: pointer;
  padding: 0 4px;
  line-height: 1;
  transition: color 0.15s ease;
}
.sp-close-btn:hover {
  color: #D71920;
}

@media (max-width: 768px) {
  .social-proof-container {
    bottom: 18px !important;
    left: 12px !important;
    right: auto !important;
    max-width: calc(100vw - 80px) !important;
    display: flex;
    justify-content: flex-start;
    z-index: 380;
  }
  .social-proof-toast {
    max-width: 100%;
    width: auto;
    font-size: 11.5px;
    padding: 8px 12px;
  }
}

/* =========================================================
   CUSTOMER REVIEWS RESPONSIVE PADDING (CLEAN GAP)
   ========================================================= */
.reviews-section {
  padding: 48px 0 28px;
  background: #FAF7F2;
  border-top: 1px solid rgba(198,154,74,0.15);
  border-bottom: 1px solid rgba(198,154,74,0.15);
}
@media (max-width: 640px) {
  .reviews-section {
    padding: 24px 0 6px !important;
  }
  .reviews-grid {
    padding-bottom: 4px !important;
  }
  .reviews-header {
    margin-bottom: 16px !important;
  }
}

/* =========================================================
   RATE US STRIP BANNER (DIRECTLY ABOVE FOOTER)
   ========================================================= */
.rate-us-banner-strip {
  background: linear-gradient(135deg, #FAF6F0 0%, #F5EFEB 100%);
  color: var(--ink, #3C655B);
  padding: 18px 24px;
  border: none;
  position: relative;
  box-shadow: 0 2px 10px rgba(0,0,0,0.02);
}
.rate-us-strip-inner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
  flex-wrap: wrap;
}
.rate-us-strip-text {
  display: flex;
  align-items: center;
  gap: 14px;
  flex: 1 1 auto;
}
.rate-us-strip-star-icon {
  width: 38px;
  height: 38px;
  border-radius: 50%;
  background: rgba(197, 160, 89, 0.15);
  border: 1px solid rgba(197, 160, 89, 0.4);
  color: var(--gold-dark, #B48228);
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
}
.rate-us-strip-star-icon svg {
  width: 18px;
  height: 18px;
}
.rate-us-strip-copy {
  display: flex;
  flex-direction: column;
  gap: 2px;
}
.rate-us-strip-tagline {
  font-size: 10.5px;
  font-weight: 700;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--gold-dark, #926A18);
}
.rate-us-strip-main {
  font-size: 14.5px;
  font-weight: 500;
  color: var(--ink, #3C655B);
  line-height: 1.4;
  font-family: 'Playfair Display', Georgia, serif;
  font-style: italic;
}
.rate-us-strip-btn {
  background: var(--maroon, #D71920);
  color: #FFF !important;
  font-weight: 600;
  font-size: 13.5px;
  letter-spacing: 0.03em;
  padding: 10px 24px;
  border-radius: 999px;
  border: 1px solid var(--gold, #C5A059);
  cursor: pointer;
  display: inline-flex;
  align-items: center;
  gap: 8px;
  transition: all 0.25s ease;
  white-space: nowrap;
  box-shadow: 0 4px 14px rgba(65, 184, 154, 0.25);
  flex-shrink: 0;
}
.rate-us-strip-btn:hover {
  background: #A80F1C;
  border-color: #DFBA73;
  transform: translateY(-1px);
  box-shadow: 0 6px 18px rgba(65, 184, 154, 0.35);
}
.rate-us-btn-star {
  color: #F59E0B;
  font-size: 15px;
}
@media (max-width: 640px) {
  .rate-us-banner-strip {
    padding: 14px 16px;
    border: none;
  }
  .rate-us-strip-inner {
    flex-direction: column;
    text-align: center;
    justify-content: center;
    gap: 10px;
  }
  .rate-us-strip-text {
    flex-direction: column;
    align-items: center;
    gap: 6px;
  }
  .rate-us-strip-main {
    font-size: 13px;
    line-height: 1.45;
  }
  .rate-us-strip-btn {
    width: auto !important;
    max-width: 250px !important;
    margin: 4px auto 0 !important;
    padding: 9px 20px !important;
    font-size: 13px !important;
    justify-content: center !important;
  }
}

/* Product Description: Prevent unwanted top space */
.pd-desc > *:first-child,
.pd-desc-block h3:first-child,
.pd-desc-block p:first-child {
  margin-top: 0 !important;
  padding-top: 0 !important;
}
.pd-desc > p:empty,
.pd-desc > p:has(> br:only-child) {
  display: none !important;
}

/* =========================================================
   CHECKOUT MODERN PAYMENT METHOD UI STYLES
   ========================================================= */
.pay-main-head-wrap {
  display: flex;
  align-items: center;
  gap: 8px;
  flex-wrap: wrap;
}
.payment-sub-pill {
  font-size: 10.5px;
  font-weight: 600;
  color: var(--maroon);
  background: rgba(61, 180, 150, 0.08);
  padding: 2px 7px;
  border-radius: 4px;
}
.pay-showcase-container {
  margin-top: 10px;
  display: flex;
  flex-direction: column;
  gap: 10px;
  background: #FAF8F6;
  border: 1px solid #ECE4DD;
  border-radius: 10px;
  padding: 12px;
  box-sizing: border-box;
  width: 100%;
  max-width: 100%;
  overflow: hidden;
}
.pay-showcase-group {
  display: flex;
  flex-direction: column;
  gap: 8px;
  width: 100%;
  box-sizing: border-box;
}
.pay-group-header {
  display: flex;
  align-items: center;
  gap: 5px;
  font-size: 10px;
  font-weight: 700;
  letter-spacing: 0.08em;
  color: var(--ink-soft);
  text-transform: uppercase;
}
.pay-group-dot {
  width: 5px;
  height: 5px;
  border-radius: 50%;
  background: #D71920;
  flex-shrink: 0;
}
.pay-logos-flex {
  display: flex;
  align-items: center;
  gap: 8px;
  flex-wrap: wrap;
  width: 100%;
  box-sizing: border-box;
}
.pay-brand-badge {
  background: #FFFFFF;
  border: 1.5px solid #E2E8F0;
  border-radius: 8px;
  padding: 6px 12px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 6px;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.04);
  height: 36px;
  box-sizing: border-box;
  transition: all 0.22s cubic-bezier(0.2, 0.8, 0.2, 1);
  cursor: pointer;
  user-select: none;
  position: relative;
  flex-shrink: 0;
  max-width: 100%;
}
.pay-brand-badge:hover {
  border-color: #C69A4A;
  transform: translateY(-2px);
  box-shadow: 0 4px 10px rgba(198, 154, 74, 0.18);
}
.pay-brand-badge.selected,
.pay-brand-badge.active {
  border-color: #C8102E !important;
  background: #FFFDF9 !important;
  box-shadow: 0 0 0 2px #C69A4A, 0 4px 14px rgba(198, 154, 74, 0.25) !important;
  transform: translateY(-2px);
}
.pay-tap-hint {
  display: none !important;
}
.pay-svg-icon {
  height: 19px;
  max-width: 100%;
  width: auto;
  display: block;
}
.phonepe-badge .pay-svg-icon {
  max-width: 76px;
}
.card-visual-badge {
  gap: 8px;
  padding: 5px 12px;
  height: auto;
  min-height: 36px;
}
.card-art-svg {
  height: 20px;
  width: auto;
  flex-shrink: 0;
}
.card-visual-text {
  display: flex;
  flex-direction: column;
  text-align: left;
}
.card-visual-text .card-title {
  font-size: 11px;
  font-weight: 700;
  color: var(--ink);
  line-height: 1.2;
}
.card-visual-text .card-sub {
  font-size: 9.5px;
  color: var(--ink-soft);
  line-height: 1.2;
}
.netbanking-visual-badge {
  gap: 6px;
  padding: 5px 12px;
  height: auto;
  min-height: 36px;
}
.nb-art-svg {
  width: 16px;
  height: 16px;
  flex-shrink: 0;
}
.nb-title {
  font-size: 11px;
  font-weight: 700;
  color: var(--ink);
}

/* Mobile Phone View Mode - Clean 2-Column Grid (1 2 / 3 4 / 5 6) */
@media (max-width: 640px) {
  .pay-showcase-container {
    padding: 10px 8px;
  }
  .pay-logos-flex {
    display: grid !important;
    grid-template-columns: repeat(2, 1fr) !important;
    gap: 8px !important;
    width: 100% !important;
    box-sizing: border-box !important;
  }
  .pay-brand-badge {
    width: 100% !important;
    max-width: 100% !important;
    height: 40px !important;
    padding: 6px 6px !important;
    box-sizing: border-box !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    flex-shrink: 1 !important;
    overflow: hidden !important;
  }
  .pay-brand-badge .pay-svg-icon {
    height: 19px !important;
    max-width: 88% !important;
    width: auto !important;
    object-fit: contain !important;
  }
  .phonepe-badge .pay-svg-icon {
    max-width: 82px !important;
  }
  .card-visual-badge {
    height: 40px !important;
    min-height: 40px !important;
    gap: 6px !important;
    padding: 4px 6px !important;
  }
  .card-visual-text .card-title {
    font-size: 10.5px !important;
  }
  .card-visual-text .card-sub {
    font-size: 8px !important;
    white-space: nowrap !important;
  }
  .netbanking-visual-badge {
    height: 40px !important;
    min-height: 40px !important;
    gap: 5px !important;
    padding: 4px 6px !important;
  }
  .nb-title {
    font-size: 10px !important;
    white-space: normal !important;
    text-align: center !important;
    line-height: 1.15 !important;
  }
}

/* =========================================================
   ANTI-SCREENSHOT & COPY PROTECTION STYLES
   ========================================================= */
@media print {
  html, body {
    display: none !important;
    visibility: hidden !important;
  }
}

img, .product-media, .pd-media, .hero-slide-bg {
  -webkit-touch-callout: none;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
  -webkit-user-drag: none;
}

body.anti-screenshot-flash {
  filter: blur(20px) !important;
  transition: filter 0.15s ease;
}

body.anti-screenshot-blur .product-card img,
body.anti-screenshot-blur .pd-media img,
body.anti-screenshot-blur .hero-slide-img,
body.anti-screenshot-blur .cat-showcase-card img,
body.anti-screenshot-blur .royal-cat-card img {
  filter: blur(24px) grayscale(100%) !important;
  opacity: 0.12 !important;
  transition: filter 0.1s ease, opacity 0.1s ease;
}

header.site-header{
  background:rgba(255,255,255,.94);
  border-bottom-color:rgba(168,15,28,.12);
}
.brand-logo{ filter:drop-shadow(0 3px 7px rgba(168,15,28,.12)); }
.marquee-bar{
  background:linear-gradient(100deg,#8F0D21 0%,#D71920 48%,#A80F1C 100%);
  color:#fff;
}
.marquee-track span::before{ color:var(--gold-light); }
.icon-btn{
  border-color:rgba(215,25,32,.16);
  background:rgba(215,25,32,.035);
  color:var(--maroon);
}
.icon-btn:hover{
  background:#fff;
  border-color:rgba(215,25,32,.34);
  color:var(--maroon-dark);
  box-shadow:0 5px 16px rgba(168,15,28,.12);
}
.hero{
  background:
    radial-gradient(ellipse at 88% 12%,rgba(215,25,32,.075),transparent 34%),
    linear-gradient(135deg,#fff 0%,#fffafa 55%,#fff3f3 100%);
}
.btn-primary{
  overflow:hidden;
  isolation:isolate;
  background:linear-gradient(115deg,#A80F1C 0%,#D71920 52%,#B70F22 100%);
  box-shadow:0 8px 22px -8px rgba(168,15,28,.48);
}
.btn-primary::after{
  content:"";
  position:absolute;
  inset:-40% auto -40% -45%;
  width:32%;
  transform:skewX(-22deg);
  background:linear-gradient(90deg,transparent,rgba(255,255,255,.42),transparent);
  transition:left .65s cubic-bezier(.2,.75,.25,1);
  pointer-events:none;
}
.btn-primary:hover{
  background:linear-gradient(115deg,#8F0D21 0%,#C8102E 52%,#A80F1C 100%);
  box-shadow:0 12px 28px -8px rgba(168,15,28,.52);
}
.btn-primary:hover::after{ left:120%; }
.product-card,
.cat-showcase-card,
.review-card,
.royal-cat-card{
  border-color:rgba(168,15,28,.12);
  box-shadow:0 8px 24px -14px rgba(168,15,28,.24);
}
.product-card:hover,
.cat-showcase-card:hover,
.review-card:hover,
.royal-cat-card:hover{
  border-color:rgba(215,25,32,.42);
  box-shadow:0 18px 36px -16px rgba(168,15,28,.32),0 0 0 1px rgba(215,25,32,.08);
}
::selection{ background:#F5D7D9; color:#8F0D21; }

@media (prefers-reduced-motion: no-preference){
  .brand-logo{ transition:filter .3s ease,transform .3s ease; }
  .brand:hover .brand-logo{
    filter:drop-shadow(0 5px 12px rgba(168,15,28,.24));
    transform:translateY(-1px) scale(1.035);
  }
}


/* ---- order photos + customization (checkout) ---- */
.order-extras{ display:grid; gap:16px; margin:6px 0 18px; }
.order-extras .field{ background:#FBF6EE; border:1px dashed rgba(198,154,74,.65); border-radius:14px; padding:16px; }
.order-extras-label{ display:block; color:var(--maroon-dark); font-weight:700; font-size:14px; margin-bottom:4px; text-align:left; }
.order-extras-label .opt{ font-weight:400; color:var(--ink-soft); font-size:11.5px; }
.order-extras-hint{ font-size:12px; color:var(--ink-soft); margin:0 0 10px; line-height:1.45; text-align:left; }
.order-extras textarea{ text-align:left !important; width:100%; }
.order-photo-grid{ display:flex; flex-wrap:wrap; gap:10px; margin-bottom:10px; }
.order-photo-grid:empty{ display:none; }
.op-item{ position:relative; width:84px; height:84px; border-radius:10px; overflow:hidden; border:1px solid rgba(0,0,0,.12); background:#fff; display:block; }
.op-item img{ width:100%; height:100%; object-fit:cover; display:block; }
.op-item.op-up{ display:grid; place-items:center; font-weight:700; font-size:12px; color:var(--maroon-dark); }
.op-x{ position:absolute; top:3px; right:3px; width:22px; height:22px; border-radius:50%; border:0; background:rgba(40,10,10,.78); color:#fff; font-size:15px; line-height:22px; padding:0; cursor:pointer; }
.order-photo-add{ cursor:pointer; }
.order-photo-msg{ font-size:12px; margin-top:8px; color:var(--ink-soft); }
.order-photo-msg.error{ color:#B91C1C; }
@media (max-width:560px){ .op-item{ width:72px; height:72px; } }
