/* =========================================================
   ELARA · HOUSE OF GIFTS
   Design tokens
   ========================================================= */
:root{
  --bg:            #FAF7F5;
  --bg-soft:       #F3ECE7;
  --card:          #FFFFFF;
  --ink:           #1C1618;
  --ink-soft:      #66585C;
  --maroon:        #681A36;
  --maroon-dark:   #4A1024;
  --maroon-deep:   #350817;
  --rose:          #9E354C;
  --gold:          #C69A4A;
  --gold-light:    #E8D3A3;
  --gold-tint:     #FDF9F2;
  --green:         #2E4E49;
  --jute:          #8E633C;
  --line:          #E8DFE5;
  --line-soft:     rgba(80, 20, 41, 0.08);
  --shadow-sm:     0 2px 8px -2px rgba(74, 16, 36, 0.06);
  --shadow:        0 12px 30px -10px rgba(74, 16, 36, 0.12);
  --shadow-hover:  0 18px 40px -12px rgba(74, 16, 36, 0.18);
  --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;
  --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; }
}

/* =========================================================
   LOADER
   ========================================================= */
#loader{
  position:fixed; inset:0; z-index:9999;
  background:linear-gradient(135deg,#FFF8F2 0%,#F8E7EE 38%,#E8E2F2 70%,#DDEDE3 100%);
  display:flex; flex-direction:column; align-items:center; justify-content:center;
  overflow:hidden; isolation:isolate; transition:opacity .8s ease, visibility .8s ease;
}
#loader::before{ content:""; position:absolute; inset:-20%; z-index:0; pointer-events:none; opacity:.5; background-image:radial-gradient(circle at 8% 18%,rgba(255,255,255,.95) 0 1px,transparent 2px),radial-gradient(circle at 24% 76%,rgba(198,154,74,.5) 0 1px,transparent 3px),radial-gradient(circle at 43% 26%,rgba(255,255,255,.8) 0 1px,transparent 2px),radial-gradient(circle at 67% 71%,rgba(198,154,74,.45) 0 1px,transparent 3px),radial-gradient(circle at 86% 32%,rgba(255,255,255,.9) 0 1px,transparent 2px),radial-gradient(circle at 92% 84%,rgba(198,154,74,.5) 0 1px,transparent 3px); background-size:260px 260px,310px 310px,220px 220px,280px 280px,240px 240px,320px 320px; animation:loader-particles 13s linear infinite; }
#loader::after{ content:""; position:absolute; inset:-45%; z-index:0; pointer-events:none; background:linear-gradient(115deg,transparent 42%,rgba(255,255,255,.18) 49%,rgba(255,255,255,.42) 50%,transparent 57%); transform:translateX(-30%) rotate(8deg); animation:loader-sweep 5.5s ease-in-out .8s infinite; }
#loader.done{ opacity:0; visibility:hidden; pointer-events:none; }
#loader .loader-word{
  position:absolute; top:36%; left:50%; width:100%;
  color:var(--maroon-dark);
  font-family:var(--font-display);
  font-size:clamp(64px, 18vw, 170px);
  font-weight:800;
  line-height:.82;
  letter-spacing:.07em;
  text-align:center;
  white-space:nowrap;
  transform:translate(-50%,-50%);
  animation:loader-elara-dim-zoom-dark 3.2s cubic-bezier(.22,.8,.25,1) forwards;
  pointer-events:none;
}
#loader .loader-center{
  position:relative; z-index:2; display:flex; flex-direction:column; align-items:center;
  margin-top:clamp(120px, 24vh, 200px);
}
#loader .loader-spark{ position:absolute; z-index:2; color:var(--gold); font-size:clamp(18px,2vw,28px); filter:drop-shadow(0 0 8px rgba(198,154,74,.55)); animation:loader-sparkle 2.4s ease-in-out infinite; }
#loader .spark-one{ top:24%; left:70%; }
#loader .spark-two{ top:46%; left:22%; animation-delay:.7s; }
#loader .spark-three{ top:50%; left:78%; animation-delay:1.3s; }
@keyframes loader-sparkle{ 0%,100%{ opacity:.35; transform:scale(.8) rotate(0); } 50%{ opacity:1; transform:scale(1.3) rotate(15deg); } }
@keyframes loader-elara-dim-zoom-dark{
  0%{
    opacity:.12;
    transform:translate(-50%,-50%) scale(.82);
    color:rgba(142,40,75,.35);
    filter:blur(3px);
  }
  38%{
    opacity:.85;
    transform:translate(-50%,-50%) scale(1.15);
    color:rgba(100,24,48,.88);
    filter:blur(0);
    text-shadow:0 0 32px rgba(198,154,74,.55), 0 0 12px rgba(255,255,255,.6);
  }
  68%{
    opacity:.95;
    transform:translate(-50%,-50%) scale(.96);
    color:var(--maroon-dark);
    text-shadow:0 2px 14px rgba(80,20,41,.25);
  }
  86%,100%{
    opacity:1;
    transform:translate(-50%,-50%) scale(1);
    color:var(--maroon-dark);
    text-shadow:0 6px 26px rgba(80,20,41,.3);
  }
}
#loader .loader-bar{
  width:220px; height:3px; border-radius:3px; overflow:hidden;
  background:rgba(233,211,163,.2); margin:8px auto 14px;
}
#loader .loader-bar-fill{
  height:100%; width:0%; background:linear-gradient(90deg,var(--gold-light),var(--gold));
  transition:width .18s ease-out;
}
#loader .loader-welcome{
  font-family:var(--font-display); color:var(--maroon-dark); letter-spacing:.03em;
  font-size:clamp(22px,3vw,32px); opacity:0; transform:translateY(10px);
  transition:opacity .6s ease, transform .6s ease; margin-top:0;
}
#loader .loader-welcome.show{ opacity:1; transform:translateY(0); }
#loader .loader-sub{
  font-size:12.5px; letter-spacing:.16em; text-transform:uppercase; color:var(--ink-soft);
  margin-top:6px; margin-bottom:14px;
}
#loader .loader-quote{
  min-height:19px; margin-top:0; color:var(--rose); font-size:11px;
  letter-spacing:.08em; text-transform:uppercase; opacity:0; transform:translateY(5px);
  transition:opacity .5s ease,transform .5s ease; text-align:center;
}
#loader .loader-quote.show{ opacity:.9; transform:translateY(0); }
@keyframes loader-particles{ from{ transform:translate3d(0,0,0) rotate(0); } to{ transform:translate3d(34px,-28px,0) rotate(2deg); } }
@keyframes loader-sweep{ 0%,35%{ transform:translateX(-30%) rotate(8deg); opacity:0; } 50%{ opacity:1; } 75%,100%{ transform:translateX(30%) rotate(8deg); opacity:0; } }

/* =========================================================
   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 28px; display:inline-flex; align-items:center; gap:8px; }
.marquee-track span::before{ content:"✦"; color:var(--gold); font-size:10px; }
@keyframes marquee-scroll{
  from{ transform:translateX(0); }
  to{ transform:translateX(-50%); }
}

/* =========================================================
   HEADER
   ========================================================= */
header.site-header{
  position:sticky; top:0; z-index:500;
  background:rgba(255,250,252,.94);
  backdrop-filter:blur(10px);
  border-bottom:1px solid var(--line);
}
.header-row{
  height:72px;
  display:flex; align-items:center; justify-content:space-between; gap:18px;
}
.brand{ display:flex; align-items:center; gap:10px; }
.brand img{ width:42px; height:42px; border-radius:50%; object-fit:cover; }
.brand .brand-text{ font-family:var(--font-display); font-size:21px; color:var(--maroon-dark); line-height:1; }
.brand .brand-text small{ display:block; font-family:var(--font-body); font-size:9.5px; letter-spacing:.2em; 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:6px; }
.icon-btn{
  width:38px; height:38px; border-radius:50%; border:1px solid transparent;
  background:transparent; display:flex; align-items:center; justify-content:center;
  color:var(--maroon-dark); position:relative;
  transition:background .2s ease, transform .22s cubic-bezier(.2,.8,.2,1), color .2s ease;
}
.icon-btn:hover{ background:var(--bg-soft); transform:translateY(-2px) scale(1.05); color:var(--maroon); }
.icon-btn:active{ transform:scale(0.92); }
.icon-btn svg{ width:19px; height:19px; }
.icon-badge{
  position:absolute; top:-2px; right:-2px; min-width:16px; height:16px; border-radius:999px;
  background:var(--maroon); color:#fff; font-size:10px; font-weight:700;
  display:flex; align-items:center; justify-content:center; padding:0 4px;
  transition:transform .2s ease;
}
.icon-btn:hover .icon-badge{ transform:scale(1.12); }
.social-divider{ width:1px; height:22px; background:var(--line); margin:0 6px; }

/* Mobile Subnav Rail (Native-App Horizontal Navigation) */
.mobile-subnav-rail{
  display:none;
  background:#fff;
  border-top:1px solid rgba(80,20,41,.06);
  border-bottom:1px solid rgba(80,20,41,.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(80,20,41,.03);
  border:1px solid rgba(80,20,41,.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(80,20,41,.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: 8px;
  margin-bottom: 14px;
}
.checkout-section-title h3{
  margin: 0;
  font-size: 17px;
}
.step-badge-inline{
  width: 24px;
  height: 24px;
  border-radius: 50%;
  background: var(--maroon);
  color: #fff;
  font-size: 12px;
  font-weight: 700;
  display: inline-flex;
  align-items: center;
  justify-content: center;
}
.checkout-customization-centered{
  background: #FAF5EE;
  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(80, 20, 41, 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: #6B1D38 !important; }
.purple-stars svg{ fill: #6B1D38 !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: #6B1D38 !important;
  margin: 8px 0 6px !important;
}
.wedtree-review-card .review-comment{
  font-size: 13.5px !important;
  line-height: 1.55 !important;
  color: var(--ink) !important;
  margin-bottom: 18px !important;
  font-style: italic !important;
}
.author-name-italic{
  font-style: italic !important;
  font-size: 13px !important;
  color: #6B1D38 !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:#FAF5EE; 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, #4A1024 0%, #6B1D38 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(80,20,41,.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(80,20,41,.06);
  transition:background .18s ease, color .18s ease;
}
.drawer-nav-item:hover, .drawer-nav-item:active{
  background:#F2E8DC;
  color:var(--maroon);
}
.drawer-nav-item svg{
  width:15px;
  height:15px;
  color:var(--maroon);
  flex-shrink:0;
  opacity:0.75;
}
.drawer-enquiries-section{
  padding:18px 20px 24px;
  background:#FAF3E7;
}
.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:13px;
  line-height:1.6;
  margin:0 0 6px;
  color:var(--maroon-dark);
}
.drawer-enquiry-lbl{
  font-weight:700;
  letter-spacing:0.02em;
}
.drawer-enquiry-line a{
  color:var(--maroon-dark);
  text-decoration:underline;
}
.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(80,20,41,.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(80,20,41,.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(30,10,20,.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(74, 16, 36, 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(74, 16, 36, 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,#FFF8F2 0%, #F9E8EF 40%, #E8E3F3 72%, #E0F0E4 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 p.lead{ color:var(--ink-soft); font-size:16.5px; max-width:52ch; margin-bottom:24px; line-height:1.6; }
.hero-actions{ display:flex; gap:14px; flex-wrap:wrap; margin-bottom:24px; }

/* 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(3,1fr); gap:0;
  margin-top:20px; padding:0; max-width:680px;
  background:transparent; border:none; outline:none; box-shadow:none;
}
.hero-values div{ padding-right:18px; margin-right:18px; border:none; border-right:1px solid rgba(80,20,41,.18); background:transparent; }
.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:16px; color:var(--maroon-dark); line-height:1.2; }
.hero-values div span{ display:-webkit-box; margin-top:5px; font-size:11.5px; line-height:1.4; color:var(--ink-soft); overflow:hidden; -webkit-box-orient:vertical; -webkit-line-clamp:2; }

.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(80,20,41,.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:nth-of-type(even){ background:rgba(255,255,255,.24); }
.section-head{ display:flex; align-items:flex-end; justify-content:space-between; gap:20px; margin-bottom:32px; }
.section-head h2{ font-size:clamp(26px,3vw,38px); margin:0; letter-spacing:-.01em; }
.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 54px; }
.section-kicker{ display:block; color:var(--gold); font-size:12px; font-weight:600; letter-spacing:.28em; margin-bottom:14px; }
.category-section-head h2{ font-size:clamp(26px,3vw,38px); line-height:1.1; margin:0 0 18px; text-transform:uppercase; letter-spacing:.04em; }
.category-section-head p{ color:var(--ink-soft); font-size:14px; margin:10px auto 16px; }
.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(5,1fr); gap:18px; }
.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(80,20,41,.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,#E7BFC8,#C9748A); color:var(--maroon-dark); }
.tint-rose{ background:linear-gradient(160deg,#F3D3D9,#E3A4B0); 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,#F6DEE3,#EBB9C4); 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(80,20,41,.035);
  transition:transform .3s cubic-bezier(.2,.8,.2,1), box-shadow .3s ease, border-color .3s ease;
  display:flex; flex-direction:column;
}
.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(80,20,41,.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:transform .6s cubic-bezier(.2,.75,.25,1); }
.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:scale(1.06) !important; }
.product-media svg{ transition:transform .6s cubic-bezier(.2,.75,.25,1); }
.product-media{
  aspect-ratio:1/1.1; min-height:285px; position:relative; display:flex; align-items:center; justify-content:center; overflow:hidden;
  background:var(--bg-soft, #F3ECE7);
}
.product-media svg{ width:44%; height:44%; }

.product-media img,.pd-media img,.thumb img,.past-order-thumb img,.ordered-product-image img{
  width:100%; height:100%; object-fit:cover; border-radius:inherit;
}
.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(122,34,66,.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(80,20,41,.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(80,20,41,.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(158,53,76,.25);
  border-color:var(--rose);
}
.product-quick button:active{
  transform:scale(0.92);
}
.product-quick button.active{ color:var(--rose); background:#FFF5F7; 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; }
.product-body .p-cat{ display:none; }
.product-body h4{ font-size:15px; margin:0; line-height:1.3; }
.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; }
.price-row .now{ font-family:var(--font-display); font-size:18px; color:var(--maroon-dark); }
.price-row .was{ font-size:12.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:10px; 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); }
.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;
}
.chip.active,.chip:hover{ background:var(--maroon); border-color:var(--maroon); color:#fff; }
.filter-sort{ align-self:flex-end; }
.filter-sort select{
  border:1px solid var(--line); border-radius:18px; padding:7px 12px; font-family:inherit; font-size:12px; background:#fff; min-height:34px;
}
.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(101,27,50,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(101,27,50,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(80,20,41,.06); position:relative; overflow:hidden;
}
.cat-square-card:hover{
  transform:translateY(-7px); border-color:var(--maroon);
  box-shadow:0 16px 32px -8px rgba(80,20,41,.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(80,20,41,.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(80,20,41,.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(80,20,41,.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(80,20,41,.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:#FAF5EE;
  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, #501429 0%, #681A36 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, #641531 0%, #801E42 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(80,20,41,.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(80,20,41,.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);
}
.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(80,20,41,.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(80,20,41,.4);
}
.budget-strip-blurb{
  font-size:11.5px; color:#6E5338; line-height:1.35; margin:6px 0 0;
  white-space:nowrap; overflow:hidden; text-overflow:ellipsis;
}

/* 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(80,20,41,.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;
}
.reviews-grid::-webkit-scrollbar{ display: none !important; }
.review-card{
  flex: 0 0 280px !important;
  min-width: 280px !important;
  max-width: 280px !important;
  scroll-snap-align: start !important;
  background:#fff; border:1px solid rgba(198,154,74,.3); border-radius:16px;
  padding:20px 16px 18px; display:flex; flex-direction:column; justify-content:space-between;
  box-shadow:0 4px 16px -6px rgba(80,20,41,.06);
  transition:transform .28s cubic-bezier(.2,.8,.2,1), box-shadow .28s ease, border-color .28s ease;
  position:relative;
  box-sizing: border-box;
}
.review-card:hover{
  transform:translateY(-6px);
  box-shadow:0 14px 28px -6px rgba(80,20,41,.16), 0 0 0 1px rgba(198,154,74,.35);
  border-color:var(--maroon);
}
.review-card-stars{ display:flex; align-items:center; gap:2px; color:var(--gold); margin-bottom:10px; }
.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:14px; font-weight:700; color:var(--maroon-dark); margin:0 0 8px; line-height:1.3; }
.review-comment{
  font-size:12px; color:var(--ink); line-height:1.5; font-style:italic; margin:0 0 16px;
  display:-webkit-box; -webkit-line-clamp:5; -webkit-box-orient:vertical; overflow:hidden;
}
.review-author{ margin-top:auto; padding-top:12px; border-top:1px solid var(--line-soft); }
.review-author strong{ font-size:12.5px; color:var(--maroon-dark); display:block; }
.review-location{ font-size:11px; color:var(--ink-soft); display:block; margin-top:1px; }
.review-verified{
  display:inline-flex; align-items:center; gap:3px; font-size:10.5px; font-weight:600;
  color:#2E7D32; margin-top:6px;
}
.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(92,15,42,.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:sticky; top:96px; 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:#FFF7F9; 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:#B3261E; }

/* =========================================================
   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-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; }


/* =========================================================
   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:.9fr 1fr; gap:52px; }
.pd-media{
  aspect-ratio:1/1.08; min-height:440px; border-radius:var(--radius-l); display:flex; align-items:center; justify-content:center;
  position:relative; overflow:hidden; background:var(--bg-soft, #F3ECE7);
}
.pd-media svg{ width:42%; height:42%; }
.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 .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; }
.pd-price{ display:flex; align-items:baseline; gap:8px; margin-bottom:18px; }
.pd-price .now{ font-family:var(--font-display); font-size:18px; color:var(--maroon-dark); }
.pd-price .was{ font-size:12.5px; color:var(--ink-soft); text-decoration:line-through; }
.pd-price .off{ font-size:12px; color:var(--gold); padding:0; border-radius:0; font-weight:700; }
.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-rating small{ color:var(--ink-soft); font-size:12px; }
.pd-desc{ color:var(--ink-soft); margin-bottom:22px; max-width:52ch; }
.qty-row{ display:flex; align-items:center; gap:16px; margin-bottom:22px; }
.qty-control{ display:flex; align-items:center; border:1px solid var(--line); border-radius:24px; overflow:hidden; }
.qty-control button{ width:38px; height:38px; background:#fff; border:none; font-size:16px; color:var(--maroon-dark); }
.qty-control button:hover{ background:var(--bg-soft); }
.qty-control span{ width:34px; text-align:center; font-weight:600; }
.pd-actions{ display:flex; gap:12px; flex-wrap:nowrap; margin-bottom:14px; align-items:center; }
.pd-actions .btn{ flex:1; min-width:160px; }
.pd-actions .icon-btn{ 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; }
.pd-actions .icon-btn:hover{ background:var(--bg-soft); }
.pd-actions .icon-btn.active{ color:#fff; border-color:var(--maroon); background:var(--maroon); }
.pd-actions .icon-btn svg{ width:17px; height:17px; }
.pd-actions .icon-btn span{ white-space:nowrap; }
.pd-size-field{ margin:0 0 20px; padding:16px 18px; border:1px solid var(--line); border-radius:14px; background:rgba(255,255,255,.7); box-shadow:0 8px 22px -20px rgba(80,20,41,.7); }
.pd-size-label{ display:block; font-size:12px; color:var(--ink-soft); font-weight:700; letter-spacing:.08em; text-transform:uppercase; margin-bottom:11px; }
.pd-size-options{ display:flex; flex-wrap:wrap; gap:8px; }
.pd-size-option{ min-width:52px; border:1px solid var(--line); background:#fff; color:var(--ink); border-radius:999px; padding:10px 16px; font:600 13px var(--font-body); transition:background .2s ease,color .2s ease,border-color .2s ease,transform .2s ease; }
.pd-size-option:hover{ transform:translateY(-1px); }
.pd-size-option.active,.pd-size-option:hover{ background:var(--maroon); border-color:var(--maroon); color:#fff; }
.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:#B3261E; }
.field .err-msg{ font-size:12px; color:#B3261E; display:none; }
.field.error .err-msg{ display:block; }
.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; }
.summary-line .thumb svg{ width:20px; height:20px; }
.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(30,10,20,.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; }
.rate-modal-head{ display:flex; align-items:center; gap:12px; margin-bottom:12px; }
.rate-modal-icon{ display:inline-flex; align-items:center; justify-content:center; width:40px; height:40px; border-radius:50%; background:#FDF4EA; color:var(--gold-dark); font-size:20px; flex-shrink:0; }
.rate-modal-titles h3{ margin:0; font-size:20px; font-family:var(--font-display); color:var(--maroon-dark); }
.rate-modal-sub{ margin:0; font-size:12.5px; color:var(--ink-soft); white-space:nowrap; }
.rate-user-line{ background:#FAF5EE; border-radius:10px; padding:10px 14px; margin:12px 0 16px; font-size:13px; color:var(--ink-soft); display:flex; justify-content:space-between; align-items:center; white-space:nowrap; }
.rate-user-name strong{ color:var(--maroon); margin-left:4px; }
.rate-user-phone{ font-size:12px; font-weight:600; }
.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{ white-space:nowrap; font-size:11.5px; font-weight:600; margin-bottom:6px; display:block; overflow:hidden; text-overflow:ellipsis; }
.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:#FAF5EE; 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:#25D366; display:flex; align-items:center; justify-content:center; box-shadow:0 10px 26px rgba(37,211,102,.5);
  z-index:600; animation:wa-pulse 2.6s ease-in-out infinite;
}
.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, #7A2242 0%, #4D1226 100%); display:flex; align-items:center; justify-content:center;
  box-shadow:0 10px 26px rgba(80,20,41,.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(80,20,41,.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:#d32f2f; 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(80,20,41,.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(122,34,66,.08); color:var(--maroon); border:1px solid rgba(122,34,66,.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:#FAF5EE; 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:#FAF5EE; 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-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:#FAF5EE; 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; }

/* 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(80,20,41,.08);
}
.checkout-login-icon{
  width:64px; height:64px; border-radius:50%; background:#FAF5EE; 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(122,34,66,.12);
  padding:36px 0 30px;
  position:relative;
  z-index:1;
}
.trust-bar-grid{
  display:grid;
  grid-template-columns:repeat(6,1fr);
  gap:16px;
  align-items:start;
}
.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-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:#6E5348;
  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:"ELARA"; position:absolute; left:50%; top:50%; transform:translate(-50%,-50%);
  color:rgba(122,34,66,.035); font-family:var(--font-display); font-size:clamp(180px,24vw,360px);
  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(122,34,66,.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(80,20,41,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(80,20,41,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; transition:transform .3s ease, opacity .3s ease; box-shadow:var(--shadow);
}
.toast.show{ transform:translateY(0); opacity:1; }
.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{ opacity:1; transform:none; transition:none; }

/* =========================================================
   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,#F5E7F1 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:grid; grid-template-columns:220px 1fr; gap:44px; padding-top:34px; align-items:start; }
.account-side{ display:flex; flex-direction:column; gap:7px; border-right:1px solid var(--line); padding:4px 30px 18px 0; }
.account-side-mark{ width:48px; height:48px; border-radius:50%; background:var(--maroon); color:#fff; display:flex; align-items:center; justify-content:center; margin-bottom:6px; }
.account-side-mark svg{ width:23px; height:23px; }
.account-side strong{ color:var(--maroon-dark); font-family:var(--font-display); font-size:18px; }
.account-side span{ color:var(--ink-soft); font-size:12px; overflow-wrap:anywhere; margin-bottom:16px; }
.account-side-link{ border-top:1px solid var(--line); padding:13px 0; color:var(--ink-soft); font-size:13px; }
.account-side-link:hover,.account-side-link.active{ color:var(--maroon); font-weight:600; }
.account-side-nav{ display:flex; flex-direction:column; gap:4px; }
.account-side-sublinks{ display:flex; align-items:center; gap:8px; margin-top:4px; padding:2px 0; }
.account-sublink{ color:var(--ink-soft); font-size:12.5px; text-decoration:none; }
.account-sublink:hover{ color:var(--maroon); text-decoration:underline; font-weight:600; }
.account-sublink-sep{ color:var(--line); font-size:12px; }
.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(80, 20, 41, 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(122, 34, 66, 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(80, 20, 41, 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(4,1fr); gap:16px; }
.help-topic{ display:flex; flex-direction:column; gap:16px; min-height:190px; padding:22px; background:var(--card); border:1px solid var(--line); border-radius:var(--radius-m); transition:transform .2s ease, box-shadow .2s ease; }
.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); }
.help-topic-icon svg{ width:24px; height:24px; }
.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-topic-copy em{ display:flex; align-items:center; gap:4px; margin-top:8px; color:var(--maroon); font-size:12px; font-style:normal; font-weight:600; }
.help-topic-copy em svg{ width:14px; height:14px; }
.help-faq{ max-width:820px; margin:50px auto 0; }
.help-faq details{ border-top:1px solid var(--line); padding:18px 0; }
.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-contact{ display:flex; align-items:center; justify-content:space-between; gap:24px; margin:50px auto 0; padding:26px 30px; background:linear-gradient(110deg,#F7E3EB,#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(122,34,66,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(80,20,41,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.12; min-height:250px; }
  .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(3,1fr); gap:24px 14px; }
  .checkout-grid{ grid-template-columns:1fr; }
  .order-summary{ position:static; }
}
@media (max-width:860px){
  .header-row{ display:flex; align-items:center; justify-content:space-between; gap:6px; height:58px; padding:4px 0; }
  .header-back-btn.show{ display:inline-flex; width:34px; height:34px; border-radius:8px; border:1px solid var(--line); }
  .header-back-btn svg{ width:16px; height:16px; }
  .top-menu-toggle{ display:inline-flex; width:34px; height:34px; border:1px solid var(--line); background:#fff; border-radius:8px; flex-shrink:0; align-items:center; justify-content:center; }
  .brand{ display:flex; min-width:0; gap:6px; align-items:center; flex-shrink:0; }
  .brand .brand-text{ font-size:18px; }
  .brand .brand-text small{ font-size:7.5px; letter-spacing:.14em; }
  .brand img{ width:36px; height:36px; }
  nav.main-nav{ display:none; }
  .mobile-subnav-rail{ display:block; }
  .header-icons{ display:flex; align-items:center; justify-content:flex-end; gap:3px; flex-shrink:0; width:auto; padding:0; }
  .header-icons .icon-btn{ width:33px; height:33px; min-width:33px; padding:0; display:inline-flex; align-items:center; justify-content:center; }
  .header-icons .icon-btn svg{ width:16px; height:16px; }
  .header-icons .social-divider{ display:inline-block; width:1px; height:16px; background:rgba(80,20,41,.14); margin:0 2px; }
  .header-icons .search-toggle,
  .header-icons .account-toggle,
  .header-icons a[aria-label="Wishlist"],
  .header-icons #cartBtn,
  .header-icons a[aria-label="Instagram"],
  .header-icons a[aria-label="Facebook"]{ display:inline-flex !important; }
  .header-icons .hamburger{ display:none; }
  .hero .container{ grid-template-columns:1fr; }
  .hero-visual{ order:-1; max-width:340px; margin:0 auto; }
  .pd-grid{ grid-template-columns:1fr; gap:28px; }
  .trust-strip{ grid-template-columns:1fr 1fr; }
  .account-layout{ grid-template-columns:1fr; gap:24px; }
  .account-side{ border-right:0; border-bottom:1px solid var(--line); padding:0 0 18px; }
  .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(80,20,41,.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: scale(1.08) !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(80,20,41,.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(80,20,41,.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(80,20,41,.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(101,27,50,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(80,20,41,.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(80,20,41,.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(80, 20, 41, 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{
    white-space: normal !important;
    font-size: clamp(18px, 5vw, 24px) !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(80,20,41,.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;
    align-items: center !important;
    justify-content: center !important;
    width: 100% !important;
  }
  .budget-strip-price{ font-size: 14px !important; font-weight: 700 !important; }
  .budget-strip-arrow{ display: none !important; }
  .budget-strip-blurb{
    font-size: 9.5px !important;
    margin-top: 2px !important;
    line-height: 1.2 !important;
    white-space: nowrap !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    max-width: 100% !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;
  }
  .reviews-grid::-webkit-scrollbar{ display: none !important; }
  .wedtree-review-card{
    flex: 0 0 100% !important;
    min-width: 100% !important;
    max-width: 100% !important;
    scroll-snap-align: center !important;
    padding: 20px 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(80, 20, 41, 0.08) !important;
    box-sizing: border-box !important;
    text-align: center !important;
    overflow: hidden !important;
    word-break: break-word !important;
    overflow-wrap: anywhere !important;
  }
  .wedtree-review-card .review-comment{
    overflow-wrap: anywhere !important;
    word-break: break-word !important;
    word-wrap: break-word !important;
    white-space: pre-wrap !important;
    max-width: 100% !important;
  }
  .wedtree-review-card .review-title{
    overflow-wrap: anywhere !important;
    word-break: break-word !important;
    max-width: 100% !important;
  }
  .review-nav-arrow{
    width: 32px !important;
    height: 32px !important;
    flex-shrink: 0 !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    background: #fff !important;
    border: 1px solid rgba(198, 154, 74, 0.4) !important;
    border-radius: 50% !important;
    box-shadow: 0 2px 8px rgba(80, 20, 41, 0.1) !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;
  }
  .wedtree-review-card .review-card-stars{
    justify-content: center !important;
    margin-bottom: 6px !important;
  }
  .wedtree-review-card .review-author{
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    gap: 3px !important;
    margin-top: 14px !important;
    padding-top: 12px !important;
    border-top: 1px dashed rgba(80, 20, 41, 0.12) !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 (Clean, Uncluttered, Touch-Optimized) */
  .header-row{ display:flex; align-items:center; justify-content:space-between; gap:4px; height:54px; padding-top:4px; padding-bottom:4px; }
  .header-back-btn.show{ display:inline-flex; width:32px; height:32px; border-radius:8px; border:1px solid var(--line); }
  .header-back-btn svg{ width:15px; height:15px; }
  .top-menu-toggle{ display:inline-flex; width:32px; height:32px; border:1px solid var(--line); background:#fff; border-radius:8px; flex-shrink:0; align-items:center; justify-content:center; }
  .top-menu-toggle svg{ width:16px; height:16px; }
  .brand{ display:flex; min-width:0; gap:5px; align-items:center; flex-shrink:0; }
  .brand .brand-text{ font-size:16.5px; }
  .brand .brand-text small{ font-size:7px; letter-spacing:.12em; }
  .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:2px; flex-shrink:0; width:auto; padding:0; }
  .header-icons .icon-btn{ width:31px; height:31px; min-width:31px; padding:0; display:inline-flex; align-items:center; justify-content:center; }
  .header-icons .icon-btn svg{ width:15px; height:15px; }
  .header-icons .social-divider{ display:inline-block; width:1px; height:15px; background:rgba(80,20,41,.14); margin:0 1px; }
  .header-icons .search-toggle,
  .header-icons .account-toggle,
  .header-icons a[aria-label="Wishlist"],
  .header-icons #cartBtn,
  .header-icons a[aria-label="Instagram"],
  .header-icons a[aria-label="Facebook"]{ display:inline-flex !important; }
  .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; }
  .filter-bar{ gap:12px; }
  .filter-sort{ align-self:stretch; }
  .filter-sort select{ width:100%; }
  .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-card{ border-radius:16px; }
  .product-media{ aspect-ratio:1/1.15 !important; min-height:195px !important; }
  .product-body{ padding:11px 9px 13px !important; }
  .product-body h4{ font-size:13px !important; line-height:1.25 !important; margin:0; }
  .price-row{
    display:flex !important;
    flex-wrap:wrap !important;
    align-items:baseline !important;
    gap:2px 6px !important;
    margin-top:3px !important;
  }
  .price-row .now{
    font-size:14.5px !important;
    font-weight:700 !important;
    color:var(--maroon-dark) !important;
    line-height:1.2 !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; width:100%; gap:5px; margin:8px 0 0; align-items:center; padding:0; box-sizing:border-box; }
  .product-actions .btn{ display:inline-flex; align-items:center; justify-content:center; gap:4px; box-sizing:border-box; height:32px; font-size:11px; font-weight:600; line-height:1; white-space:nowrap; border-radius:999px; }
  .product-actions .btn:first-child{ flex:1 1 auto; min-width:0; padding:0 6px; border:1px solid var(--maroon); background:transparent; color:var(--maroon); }
  .product-actions .btn:first-child:hover{ background:var(--maroon); color:#fff; }
  .product-actions .btn:last-child{ flex:0 0 42px; min-width:42px; padding:0 6px; background:var(--maroon); color:#fff; border:1px solid var(--maroon); }
  .product-actions .btn:last-child:hover{ background:var(--maroon-dark); }
  .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 - Clean unboxed horizontal layout without box outline */
  .hero-values{
    display: grid !important;
    grid-template-columns: repeat(3, 1fr) !important;
    gap: 0 !important;
    margin-top: 14px !important;
    margin-bottom: 18px !important;
    padding: 4px 0 !important;
    background: transparent !important;
    backdrop-filter: none !important;
    border: none !important;
    outline: none !important;
    border-radius: 0 !important;
    box-shadow: none !important;
  }
  .hero-values div{
    border: none !important;
    border-right: 1px solid rgba(80, 20, 41, 0.16) !important;
    background: transparent !important;
    border-radius: 0 !important;
    padding: 2px 8px !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: 11px !important;
    color: var(--maroon-dark) !important;
    font-weight: 700 !important;
    line-height: 1.25 !important;
    margin-bottom: 3px !important;
    white-space: normal !important;
  }
  .hero-values div span{
    font-size: 9.5px !important;
    line-height: 1.3 !important;
    color: var(--ink-soft) !important;
    display: -webkit-box !important;
    -webkit-box-orient: vertical !important;
    -webkit-line-clamp: 2 !important;
    overflow: hidden !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{ margin-bottom: 14px !important; }
  .checkout-section-title h3{
    white-space: nowrap !important;
    font-size: clamp(13px, 3.8vw, 17px) !important;
  }
  .step-badge-inline{ width: 22px !important; height: 22px !important; font-size: 11px !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{
    grid-template-columns: 1fr !important;
    gap: 18px !important;
    padding-top: 16px !important;
  }
  .account-side{
    border-right: none !important;
    border-bottom: 1px solid var(--line) !important;
    padding: 0 0 14px !important;
    flex-direction: column !important;
    align-items: flex-start !important;
    gap: 8px !important;
  }
  .account-side-nav{
    display: flex !important;
    flex-direction: column !important;
    gap: 6px !important;
    width: 100% !important;
  }
  .account-side .account-side-link{
    border-top: none !important;
    padding: 4px 12px !important;
    background: var(--bg-soft) !important;
    border-radius: 20px !important;
    font-size: 12px !important;
    display: inline-block !important;
  }
  .account-side-sublinks{
    display: flex !important;
    align-items: center !important;
    gap: 8px !important;
    margin-top: 2px !important;
  }
  .account-sublink{
    font-size: 12px !important;
    padding: 4px 10px !important;
    background: #FAF5EE !important;
    border: 1px solid rgba(198, 154, 74, 0.3) !important;
    border-radius: 20px !important;
    color: var(--maroon-dark) !important;
    font-weight: 500 !important;
  }
  .account-sublink-sep{ display: none !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 (3 items per row: 1 2 3 / 4 5 6) */
  .site-trust-bar{ padding:26px 0 20px; }
  .trust-bar-grid{
    display: grid !important;
    grid-template-columns: repeat(3, 1fr) !important;
    gap: 16px 6px !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{ width:38px !important; height:38px !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: 13.5px !important;
    margin: 0 0 8px !important;
    color: var(--maroon-dark) !important;
    line-height: 1.4 !important;
  }
  .mobile-enquiry-line em{
    font-style: italic !important;
    font-weight: 600 !important;
    margin-right: 4px !important;
  }
  .mobile-enquiry-line a{
    color: var(--maroon-dark) !important;
    text-decoration: underline !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(122,34,66,.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(122,34,66,.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(60px, 18vw, 84px) !important;
    letter-spacing: .08em !important;
    width: 100% !important;
    text-align: center !important;
    left: 50% !important;
    transform: translate(-50%, -50%) !important;
    color: rgba(122, 34, 66, 0.045) !important;
  }
  .footer-bottom{
    padding: 24px 16px 28px !important;
    text-align: center !important;
    border-top: 1px solid rgba(122,34,66,.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: Stacked on bottom right on mobile so they never block action buttons or left content */
  .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{
    width: 44px !important;
    height: 44px !important;
    bottom: 68px !important;
    right: 14px !important;
    left: auto !important;
    z-index: 400 !important;
    box-shadow: 0 6px 18px rgba(80,20,41,.25) !important;
  }
  .mail-float svg{ width: 20px !important; height: 20px !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-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;
    overflow-x: auto !important;
    padding: 10px 4px 14px !important;
    -webkit-overflow-scrolling: touch !important;
    scrollbar-width: none !important;
  }
  .status-steps::-webkit-scrollbar{ display: none !important; }
  .status-step{
    flex: 0 0 74px !important;
    min-width: 74px !important;
    text-align: center !important;
    position: relative !important;
    margin-bottom: 0 !important;
  }
  .status-step .dot{
    width: 28px !important;
    height: 28px !important;
    border-radius: 50% !important;
    margin: 0 auto 6px !important;
    z-index: 2 !important;
    position: relative !important;
  }
  .status-step .dot svg{ width: 13px !important; height: 13px !important; }
  .status-step::after{
    display: block !important;
    content: "" !important;
    position: absolute !important;
    top: 14px !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: 10px !important;
    line-height: 1.2 !important;
    word-break: break-word !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: 22px 16px 20px !important; width: 94vw !important; max-width: 94vw !important; }
  .rate-modal-titles h3{ font-size: 18px !important; }
  .rate-modal-sub{ font-size: 11.5px !important; }
  .rate-user-line{ font-size: 11.5px !important; padding: 8px 10px !important; }
  .rate-user-phone{ font-size: 11px !important; }
  .rate-fields-row{ gap: 8px !important; }
  .rate-fields-row label{ font-size: 10px !important; }
  .rate-fields-row input{ padding: 8px !important; font-size: 12px !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: 290px !important;
    width: 100% !important;
    border-radius: 16px !important;
    margin: 0 auto 10px !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-size: 20px !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 .btn{ min-width: 0 !important; width: 100% !important; height: 42px !important; font-size: 13.5px !important; padding: 0 10px !important; }
  .pd-actions .icon-btn{ grid-column: 1 / -1 !important; width: 100% !important; height: 38px !important; font-size: 12.5px !important; border-radius: 999px !important; }
  .pd-secondary-actions{ align-items: stretch !important; margin-bottom: 14px !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{ justify-self:end; }
}

@media (max-width:380px){
  .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; }
  .brand .brand-text{ font-size:15px; }
  .header-icons{ gap:1px; }
  .header-icons .icon-btn{ width:29px; height:29px; min-width:29px; }
  .header-icons .icon-btn svg{ width:14px; height:14px; }
  .header-icons .social-divider{ margin:0 1px; }
}

/* =========================================================
   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, #7A2242 0%, #4D1226 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;
  }
}
