/* ============================================================
   SAFFRON AURA — Premium Glassmorphism Theme (fully responsive)
   ============================================================ */
:root {
  --gold: #F0A63C;
  --ember: #D9541E;
  --deep: #A33810;
  --ink: #241A12;
  --muted: #7A6A58;
  --bg: #FAF6EE;
  --glass: rgba(255, 255, 255, .62);
  --glass-strong: rgba(255, 255, 255, .78);
  --stroke: rgba(255, 255, 255, .75);
  --line: rgba(36, 26, 18, .10);
  --radius: 18px;
  --shadow: 0 8px 28px rgba(36, 26, 18, .08);
  --shadow-hover: 0 18px 40px rgba(36, 26, 18, .14);
  --grad: linear-gradient(120deg, var(--gold), var(--ember));
  --maroon: var(--deep); /* purani class compatibility */
}

* { -webkit-tap-highlight-color: transparent; }
html { scroll-behavior: smooth; }
body {
  font-family: 'Mulish', sans-serif;
  color: var(--ink);
  background: var(--bg);
  background-image:
    radial-gradient(900px 520px at 6% -8%, rgba(240, 166, 60, .22), transparent 60%),
    radial-gradient(760px 480px at 102% 6%, rgba(139, 92, 246, .10), transparent 55%),
    radial-gradient(820px 560px at 82% 108%, rgba(217, 84, 30, .12), transparent 58%),
    radial-gradient(560px 420px at 12% 100%, rgba(244, 114, 182, .08), transparent 60%);
  background-attachment: fixed;
  overflow-x: hidden;
}
h1, h2, h3, .site-logo { font-family: 'Rozha One', serif; font-weight: 400; }
a { color: var(--deep); text-decoration: none; }
a:hover { color: var(--ember); }
.text-maroon { color: var(--deep) !important; }
img { max-width: 100%; }

/* ---------- Buttons ---------- */
.btn-brand { background: var(--grad); border: 0; color: #fff; font-weight: 800; border-radius: 12px; box-shadow: 0 6px 18px rgba(217, 84, 30, .30); transition: transform .18s, box-shadow .18s, filter .18s; }
.btn-brand:hover, .btn-brand:focus { color: #fff; filter: brightness(1.07); transform: translateY(-2px); box-shadow: 0 10px 24px rgba(217, 84, 30, .38); }
.btn-gold { background: rgba(240, 166, 60, .18); border: 1.5px solid rgba(217, 84, 30, .45); color: var(--deep); font-weight: 800; border-radius: 12px; backdrop-filter: blur(6px); transition: all .18s; }
.btn-gold:hover { background: var(--grad); border-color: transparent; color: #fff; transform: translateY(-2px); }
.btn-outline-brand { border: 1.5px solid var(--deep); color: var(--deep); font-weight: 700; border-radius: 12px; background: rgba(255,255,255,.4); backdrop-filter: blur(6px); transition: all .18s; }
.btn-outline-brand:hover { background: var(--grad); border-color: transparent; color: #fff; }

/* ---------- Announcement bar ---------- */
.announce-bar { background: linear-gradient(90deg, #2A1608, #6B2A0C, #2A1608); background-size: 200% 100%; animation: shine 8s linear infinite; color: #FBE3BF; font-size: .82rem; font-weight: 700; letter-spacing: .4px; padding: 7px 0; overflow: hidden; white-space: nowrap; }
.announce-track { display: inline-block; padding-left: 100%; animation: marquee 18s linear infinite; will-change: transform; }
.announce-bar:hover .announce-track { animation-play-state: paused; }
@keyframes marquee { to { transform: translateX(-100%); } }
@keyframes shine { to { background-position: 200% 0; } }

/* ---------- Header (glass, sticky) ---------- */
.site-header { position: sticky; top: 0; z-index: 1030; background: var(--glass); backdrop-filter: blur(18px) saturate(170%); -webkit-backdrop-filter: blur(18px) saturate(170%); border-bottom: 1px solid var(--stroke); transition: box-shadow .25s, background .25s; }
.site-header.scrolled { background: var(--glass-strong); box-shadow: 0 6px 24px rgba(36, 26, 18, .10); }
.site-logo { font-size: 1.35rem; color: var(--deep); white-space: nowrap; }
.site-logo img { height: 46px; }
.header-icon { position: relative; display: inline-flex; align-items: center; justify-content: center; width: 42px; height: 42px; border-radius: 50%; font-size: 1.15rem; color: var(--ink); background: rgba(255,255,255,.55); border: 1px solid var(--stroke); margin-left: 6px; transition: all .18s; }
.header-icon:hover { background: var(--grad); color: #fff; transform: translateY(-2px); box-shadow: 0 6px 16px rgba(217,84,30,.3); }
.header-icon .badge-count { position: absolute; top: -4px; right: -4px; min-width: 19px; height: 19px; border-radius: 10px; background: var(--ember); color: #fff; font-size: .66rem; font-weight: 800; display: flex; align-items: center; justify-content: center; padding: 0 4px; box-shadow: 0 2px 6px rgba(217,84,30,.4); }

/* Search */
.search-wrap { position: relative; }
.search-wrap input { width: 100%; border: 1.5px solid var(--line); border-radius: 999px; padding: 11px 52px 11px 20px; background: rgba(255,255,255,.7); backdrop-filter: blur(8px); font-size: .92rem; outline: none; transition: all .2s; }
.search-wrap input:focus { border-color: var(--gold); background: #fff; box-shadow: 0 0 0 4px rgba(240,166,60,.18); }
.search-wrap .search-btn { position: absolute; right: 5px; top: 50%; transform: translateY(-50%); width: 38px; height: 38px; border-radius: 50%; border: 0; background: var(--grad); color: #fff; box-shadow: 0 4px 12px rgba(217,84,30,.3); }
.search-suggest { position: absolute; top: calc(100% + 8px); left: 0; right: 0; background: var(--glass-strong); backdrop-filter: blur(20px); border: 1px solid var(--stroke); border-radius: 16px; box-shadow: var(--shadow-hover); z-index: 1050; overflow: hidden; display: none; }
.search-suggest a { display: flex; align-items: center; gap: 12px; padding: 10px 14px; color: var(--ink); font-size: .88rem; border-bottom: 1px solid var(--line); transition: background .15s; }
.search-suggest a:last-child { border-bottom: 0; }
.search-suggest a:hover { background: rgba(240,166,60,.14); }
.search-suggest img { width: 40px; height: 40px; object-fit: cover; border-radius: 10px; }

/* ---------- Category nav (horizontal scroll on mobile) ---------- */
.cat-nav { background: rgba(255,255,255,.45); backdrop-filter: blur(14px); border-bottom: 1px solid var(--stroke); }
.cat-nav .container { display: flex; gap: 4px; overflow-x: auto; scrollbar-width: none; -webkit-overflow-scrolling: touch; padding-top: 6px; padding-bottom: 6px; }
.cat-nav .container::-webkit-scrollbar { display: none; }
.cat-nav a { flex: 0 0 auto; padding: 7px 15px; font-size: .85rem; font-weight: 700; color: var(--ink); border-radius: 999px; transition: all .16s; white-space: nowrap; }
.cat-nav a:hover, .cat-nav a.active { background: var(--grad); color: #fff; box-shadow: 0 4px 12px rgba(217,84,30,.28); }

/* ---------- Hero ---------- */
.hero-slide { position: relative; min-height: clamp(240px, 42vw, 440px); border-radius: 24px; overflow: hidden; display: flex; align-items: center; background: linear-gradient(130deg, #3A1D07, #8A3413 45%, #D9541E 80%, #F0A63C); background-size: 220% 220%; animation: heroGrad 12s ease infinite; box-shadow: var(--shadow-hover); }
@keyframes heroGrad { 0%,100% { background-position: 0% 50%; } 50% { background-position: 100% 50%; } }
.hero-slide img.hero-bg { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.hero-slide::after { content: ''; position: absolute; inset: 0; background: linear-gradient(100deg, rgba(20,10,4,.62) 8%, rgba(20,10,4,.28) 52%, transparent 85%); }
.hero-slide .hero-content { position: relative; z-index: 2; color: #fff; padding: clamp(22px, 5vw, 56px); max-width: 620px; }
.hero-slide h2 { font-size: clamp(1.6rem, 4.6vw, 3.2rem); line-height: 1.12; text-shadow: 0 4px 24px rgba(0,0,0,.35); }
.hero-slide .hero-content p { opacity: .94; font-size: clamp(.92rem, 2.2vw, 1.2rem); }
.hero-content .btn-gold, .hero-content .btn-brand { background: var(--grad); border: 0; color: #fff; box-shadow: 0 8px 22px rgba(217,84,30,.5), inset 0 1px 0 rgba(255,255,255,.35); text-shadow: 0 1px 2px rgba(0,0,0,.2); }
.hero-content .btn-gold:hover { filter: brightness(1.1); color: #fff; transform: translateY(-2px); }
.carousel-control-prev, .carousel-control-next { width: 46px; height: 46px; top: 50%; transform: translateY(-50%); background: rgba(255,255,255,.22); backdrop-filter: blur(8px); border-radius: 50%; margin: 0 12px; opacity: 1; }

/* ---------- Section titles ---------- */
.section-title { text-align: center; margin: clamp(34px, 6vw, 60px) 0 22px; }
.section-title h2 { font-size: clamp(1.4rem, 3.4vw, 2.1rem); background: linear-gradient(120deg, var(--deep), var(--ember) 55%, var(--gold)); -webkit-background-clip: text; background-clip: text; color: transparent; display: block; margin-bottom: 4px; }
.section-title .divider { font-size: 1.05rem; position: relative; display: block; width: fit-content; margin: 0 auto; padding: 0 16px; }
.section-title .divider::before, .section-title .divider::after { content: ''; position: absolute; top: 50%; width: 56px; height: 2px; background: linear-gradient(90deg, transparent, var(--gold)); }
.section-title .divider::before { right: 100%; }
.section-title .divider::after { left: 100%; transform: scaleX(-1); }

/* ---------- Category tiles ---------- */
.cat-tile { display: block; background: var(--glass); backdrop-filter: blur(12px); border: 1px solid var(--stroke); border-radius: var(--radius); overflow: hidden; text-align: center; font-weight: 800; color: var(--ink); padding-bottom: 12px; box-shadow: var(--shadow); transition: transform .22s, box-shadow .22s; }
.cat-tile:hover { transform: translateY(-6px); box-shadow: var(--shadow-hover); color: var(--deep); }
.cat-tile img { width: 100%; aspect-ratio: 4/3; object-fit: cover; margin-bottom: 10px; transition: transform .35s; }
.cat-tile:hover img { transform: scale(1.05); }

/* ---------- Fragrance scroll row ---------- */
.frag-row { display: flex; gap: 14px; overflow-x: auto; padding: 8px 4px 16px; scroll-snap-type: x mandatory; scrollbar-width: none; -webkit-overflow-scrolling: touch; justify-content: safe center; }
.frag-row::-webkit-scrollbar { display: none; }
.frag-circle { flex: 0 0 auto; scroll-snap-align: center; display: flex; flex-direction: column; align-items: center; gap: 8px; font-size: .82rem; font-weight: 800; color: var(--ink); width: 88px; transition: transform .2s; }
.frag-circle:hover { transform: translateY(-4px); color: var(--deep); }
.frag-circle .dot { width: 72px; height: 72px; border-radius: 50%; display: flex; align-items: center; justify-content: center; font-family: 'Rozha One', serif; font-size: 1.5rem; color: #fff; background: radial-gradient(circle at 30% 28%, rgba(255,255,255,.45), transparent 42%), var(--fc, var(--gold)); border: 3px solid rgba(255,255,255,.85); box-shadow: 0 8px 20px rgba(36,26,18,.18), inset 0 -6px 14px rgba(0,0,0,.18); transition: box-shadow .2s; }
.frag-circle:hover .dot { box-shadow: 0 12px 26px rgba(36,26,18,.26), inset 0 -6px 14px rgba(0,0,0,.18); }

/* ---------- Product card ---------- */
.product-card { position: relative; background: var(--glass); backdrop-filter: blur(14px) saturate(150%); -webkit-backdrop-filter: blur(14px) saturate(150%); border: 1px solid var(--stroke); border-radius: var(--radius); overflow: hidden; height: 100%; display: flex; flex-direction: column; box-shadow: var(--shadow); transition: transform .22s, box-shadow .22s; }
.product-card:hover { transform: translateY(-6px); box-shadow: var(--shadow-hover); }
.product-card .img-box { position: relative; overflow: hidden; aspect-ratio: 1/1; background: rgba(255,255,255,.5); }
.product-card .img-box img { width: 100%; height: 100%; object-fit: cover; transition: transform .4s; }
.product-card:hover .img-box img { transform: scale(1.07); }
.product-card .off-badge { position: absolute; top: 10px; left: 10px; background: var(--grad); color: #fff; font-size: .68rem; font-weight: 800; padding: 4px 10px; border-radius: 999px; box-shadow: 0 4px 12px rgba(217,84,30,.35); z-index: 2; }
.product-card .wish-btn { position: absolute; top: 10px; right: 10px; width: 34px; height: 34px; border-radius: 50%; border: 0; background: rgba(255,255,255,.85); backdrop-filter: blur(6px); color: var(--muted); display: flex; align-items: center; justify-content: center; z-index: 2; box-shadow: 0 3px 10px rgba(36,26,18,.15); transition: all .18s; }
.product-card .wish-btn:hover { transform: scale(1.12); color: var(--ember); }
.product-card .wish-btn.active { color: #E11D48; background: #FFE4E6; }
.product-card .body { padding: 12px 14px 14px; display: flex; flex-direction: column; gap: 6px; flex-grow: 1; }
.product-card .name { font-weight: 800; font-size: .9rem; color: var(--ink); line-height: 1.3; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; min-height: 2.35em; }
.product-card .price { font-weight: 800; font-size: 1.05rem; color: var(--deep); }
.product-card .mrp { font-size: .8rem; color: var(--muted); text-decoration: line-through; font-weight: 600; }
.frag-tag { display: inline-block; font-size: .68rem; font-weight: 800; color: var(--ember); background: rgba(240,166,60,.16); border-radius: 999px; padding: 2px 10px; width: fit-content; }

/* Intensity sticks */
.intensity { display: flex; gap: 3px; align-items: flex-end; height: 16px; }
.intensity .stick { width: 4px; border-radius: 2px; background: var(--line); }
.intensity .stick:nth-child(1){height:6px}.intensity .stick:nth-child(2){height:8px}.intensity .stick:nth-child(3){height:10px}.intensity .stick:nth-child(4){height:13px}.intensity .stick:nth-child(5){height:16px}
.intensity .stick.lit { background: var(--grad); }
.intensity-label { font-size: .7rem; color: var(--muted); font-weight: 700; }

/* ---------- Cards / boxes ---------- */
.bg-white-card, .filter-box, .summary-box, .cart-item, .testi-card, .blog-card { background: var(--glass); backdrop-filter: blur(14px) saturate(150%); -webkit-backdrop-filter: blur(14px) saturate(150%); border: 1px solid var(--stroke); border-radius: var(--radius); box-shadow: var(--shadow); }
.bg-white-card { padding: 4px; }
.filter-box { padding: 18px; }
.filter-box h6 { font-weight: 800; color: var(--deep); font-size: .82rem; text-transform: uppercase; letter-spacing: .6px; }
.summary-box { padding: 20px; position: sticky; top: 90px; }
.cart-item { padding: 14px; transition: box-shadow .2s; }
.cart-item:hover { box-shadow: var(--shadow-hover); }

/* Testimonials */
.testi-card { padding: 22px; height: 100%; position: relative; transition: transform .22s, box-shadow .22s; }
.testi-card:hover { transform: translateY(-5px); box-shadow: var(--shadow-hover); }
.testi-card::before { content: '\201C'; position: absolute; top: 4px; right: 16px; font-family: 'Rozha One', serif; font-size: 4rem; color: rgba(240,166,60,.28); line-height: 1; }
.testi-card .stars { color: var(--gold); letter-spacing: 2px; }

/* Blog cards */
.blog-card { overflow: hidden; height: 100%; transition: transform .22s, box-shadow .22s; }
.blog-card:hover { transform: translateY(-5px); box-shadow: var(--shadow-hover); }
.blog-card img { width: 100%; aspect-ratio: 16/9; object-fit: cover; transition: transform .35s; }
.blog-card:hover img { transform: scale(1.05); }
.blog-card .body { padding: 14px 16px 16px; }
.blog-content { line-height: 1.8; }
.blog-content img { border-radius: 14px; }

/* ---------- Product detail ---------- */
.pd-gallery .main-img { width: 100%; aspect-ratio: 1/1; object-fit: cover; border-radius: 20px; border: 1px solid var(--stroke); box-shadow: var(--shadow); background: rgba(255,255,255,.6); }
.pd-thumbs { display: flex; gap: 10px; margin-top: 12px; overflow-x: auto; scrollbar-width: none; }
.pd-thumbs::-webkit-scrollbar { display: none; }
.pd-thumbs img { width: 68px; height: 68px; object-fit: cover; border-radius: 12px; border: 2px solid transparent; cursor: pointer; opacity: .75; transition: all .18s; flex: 0 0 auto; }
.pd-thumbs img.active, .pd-thumbs img:hover { border-color: var(--gold); opacity: 1; }
.variant-pill { border: 2px solid var(--line); border-radius: 12px; padding: 8px 16px; cursor: pointer; font-weight: 800; font-size: .85rem; background: rgba(255,255,255,.65); backdrop-filter: blur(6px); transition: all .16s; }
.variant-pill:hover { border-color: var(--gold); }
.variant-pill.active { border-color: transparent; background: var(--grad); color: #fff; box-shadow: 0 4px 14px rgba(217,84,30,.3); }
.qty-box { display: inline-flex; align-items: center; border: 1.5px solid var(--line); border-radius: 12px; overflow: hidden; background: rgba(255,255,255,.7); }
.qty-box button { width: 38px; height: 38px; border: 0; background: transparent; font-size: 1.15rem; font-weight: 800; color: var(--deep); transition: background .15s; }
.qty-box button:hover { background: rgba(240,166,60,.18); }
.qty-box input { width: 46px; height: 38px; border: 0; text-align: center; font-weight: 800; background: transparent; }
.spec-table td { padding: 9px 12px; border-bottom: 1px solid var(--line); font-size: .9rem; }
.spec-table td:first-child { font-weight: 800; color: var(--muted); width: 45%; }

/* Stars input */
.stars-input i { font-size: 1.5rem; color: var(--line); cursor: pointer; transition: color .12s, transform .12s; }
.stars-input i:hover { transform: scale(1.15); }
.stars-input i.on { color: var(--gold); }

/* ---------- Order tracking ---------- */
.track-timeline { position: relative; padding-left: 32px; }
.track-timeline::before { content: ''; position: absolute; left: 9px; top: 6px; bottom: 6px; width: 3px; border-radius: 3px; background: var(--line); }
.track-step { position: relative; padding-bottom: 24px; }
.track-step::before { content: ''; position: absolute; left: -29px; top: 3px; width: 18px; height: 18px; border-radius: 50%; background: #fff; border: 3px solid var(--line); transition: all .3s; }
.track-step.done::before { border-color: var(--ember); background: var(--grad); box-shadow: 0 0 0 4px rgba(240,166,60,.22); }
.track-step .step-name { font-weight: 800; font-size: .92rem; }
.track-step.done .step-name { color: var(--deep); }

/* ---------- Status badges ---------- */
.badge-status { padding: .32em .8em; border-radius: 999px; font-size: .72rem; font-weight: 800; text-transform: capitalize; }
.st-confirmed { background: #DBEAFE; color: #1D4ED8; }
.st-packed, .st-processing { background: #FFEDD5; color: #C2410C; }
.st-shipped { background: #E0E7FF; color: #4338CA; }
.st-out_for_delivery { background: #FEF9C3; color: #A16207; }
.st-delivered { background: #DCFCE7; color: #15803D; }
.st-cancelled { background: #FEE2E2; color: #B91C1C; }
.st-returned { background: #FCE7F3; color: #BE185D; }

/* ---------- Account nav ---------- */
.acc-nav a { display: flex; align-items: center; gap: 10px; padding: 10px 14px; border-radius: 12px; color: var(--ink); font-weight: 700; font-size: .9rem; margin: 2px 0; transition: all .15s; }
.acc-nav a:hover { background: rgba(240,166,60,.14); }
.acc-nav a.active { background: var(--grad); color: #fff; box-shadow: 0 4px 14px rgba(217,84,30,.28); }

/* ---------- Footer ---------- */
.site-footer { margin-top: clamp(40px, 7vw, 70px); background: linear-gradient(150deg, #241207, #3D1C09 55%, #4A2408); color: #E8D9C2; position: relative; }
.site-footer::before { content: ''; position: absolute; top: 0; left: 0; right: 0; height: 3px; background: var(--grad); }
.site-footer h5 { font-family: 'Rozha One', serif; color: #F6C877; font-size: 1.05rem; margin-bottom: 14px; }
.site-footer a { display: block; color: rgba(232,217,194,.78); font-size: .88rem; padding: 3px 0; transition: color .15s, transform .15s; }
.site-footer a:hover { color: #F6C877; transform: translateX(3px); }
.site-footer .d-flex a { display: inline-flex; align-items: center; justify-content: center; width: 44px; height: 44px; border-radius: 50%; font-size: 1.25rem; color: #fff !important; border: 1px solid rgba(255,255,255,.18); transition: transform .18s, box-shadow .18s; }
.site-footer .d-flex a:hover { transform: translateY(-4px) scale(1.06); }
.site-footer a:has(.bi-facebook) { background: #1877F2; box-shadow: 0 6px 16px rgba(24,119,242,.4); }
.site-footer a:has(.bi-instagram) { background: radial-gradient(circle at 32% 108%, #FDCB52 8%, #FD3E60 48%, #B22AC0 78%, #4F5BD5); box-shadow: 0 6px 16px rgba(221,42,123,.4); }
.site-footer a:has(.bi-youtube) { background: #FF0000; box-shadow: 0 6px 16px rgba(255,0,0,.4); }
/* :has() fallback (purane browsers) */
.site-footer .bi-facebook, .site-footer .bi-instagram, .site-footer .bi-youtube { color: #fff; }
.newsletter-box { background: rgba(255,255,255,.08); border: 1px solid rgba(255,255,255,.15); border-radius: 999px; padding: 4px; backdrop-filter: blur(8px); }
.newsletter-box input { flex: 1; min-width: 0; background: transparent; border: 0; outline: none; color: #fff; padding: 8px 16px; font-size: .88rem; }
.newsletter-box input::placeholder { color: rgba(232,217,194,.5); }
.newsletter-box button { border-radius: 999px !important; padding: 8px 20px; background: var(--grad); border: 0; color: #fff; font-weight: 800; box-shadow: 0 4px 14px rgba(217,84,30,.45); }
.newsletter-box button:hover { filter: brightness(1.1); color: #fff; }
.footer-bottom { border-top: 1px solid rgba(255,255,255,.12); padding: 16px 0; font-size: .8rem; color: rgba(232,217,194,.6); display: flex; flex-wrap: wrap; gap: 6px 18px; align-items: center; justify-content: center; }
.dev-credit { display: inline-flex; align-items: center; gap: 6px; }
.dev-credit a { display: inline-flex; align-items: center; padding: 0; }
.dev-credit .sg-logo { height: 22px; width: auto; vertical-align: middle; filter: drop-shadow(0 1px 3px rgba(0,0,0,.4)); transition: transform .18s; }
.dev-credit a:hover .sg-logo { transform: scale(1.08); }

/* ---------- Floating buttons ---------- */
.wa-float { position: fixed; bottom: 20px; right: 18px; z-index: 1040; width: 54px; height: 54px; background: #25D366; color: #fff; border-radius: 50%; display: flex; align-items: center; justify-content: center; font-size: 1.7rem; box-shadow: 0 8px 24px rgba(37,211,102,.45); transition: transform .2s; }
.wa-float:hover { color: #fff; transform: scale(1.1); }
.back-top { position: fixed; bottom: 86px; right: 24px; z-index: 1040; width: 42px; height: 42px; border-radius: 50%; border: 1px solid var(--stroke); background: var(--glass-strong); backdrop-filter: blur(12px); color: var(--deep); font-size: 1.1rem; box-shadow: var(--shadow); opacity: 0; pointer-events: none; transform: translateY(10px); transition: all .25s; }
.back-top.show { opacity: 1; pointer-events: auto; transform: none; }

/* ---------- Reveal on scroll ---------- */
.reveal { opacity: 0; transform: translateY(24px); transition: opacity .6s ease, transform .6s ease; }
.reveal.in { opacity: 1; transform: none; }

/* ---------- Mobile responsiveness ---------- */
@media (max-width: 767px) {
  .container { padding-left: 14px; padding-right: 14px; }
  .site-logo { font-size: 1.1rem; }
  .site-logo img { height: 36px; }
  .header-icon { width: 38px; height: 38px; font-size: 1.05rem; margin-left: 3px; }
  .search-wrap { margin-top: 8px; }
  .search-wrap input { padding: 10px 48px 10px 16px; font-size: .88rem; }
  .hero-slide { border-radius: 18px; }
  .carousel-control-prev, .carousel-control-next { width: 36px; height: 36px; margin: 0 6px; }
  .frag-circle { width: 74px; font-size: .74rem; }
  .frag-circle .dot { width: 60px; height: 60px; font-size: 1.25rem; }
  .product-card .name { font-size: .82rem; }
  .product-card .price { font-size: .95rem; }
  .product-card .body { padding: 10px 11px 12px; }
  .summary-box { position: static; }
  .wa-float { width: 48px; height: 48px; font-size: 1.5rem; bottom: calc(14px + env(safe-area-inset-bottom)); right: 14px; }
  .back-top { bottom: calc(74px + env(safe-area-inset-bottom)); right: 17px; }
  .testi-card, .filter-box { padding: 16px; }
  .spec-table td { font-size: .84rem; padding: 7px 10px; }
  .table-responsive { border-radius: 12px; }
}
@media (min-width: 768px) and (max-width: 991px) {
  .summary-box { position: static; }
}

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { animation: none !important; transition: none !important; }
  html { scroll-behavior: auto; }
  .reveal { opacity: 1; transform: none; }
}

<!-- Shop by Fragrance -->
<style>
.frag-circle .dot.frag-img{
  width: clamp(70px, 9vw, 96px) !important;
  height: clamp(70px, 9vw, 96px) !important;
  padding: 0 !important;
  border-radius: 50% !important;
  overflow: hidden !important;
  display: flex !important;
  align-items: center; justify-content: center;
  border: 3px solid #E8912D !important;
  box-shadow: 0 4px 12px rgba(139,58,46,.2);
  background: #fff !important;
  transition: transform .3s ease, box-shadow .3s ease;
}
.frag-circle .dot.frag-img img{
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  border-radius: 50% !important;
  display: block;
  transition: transform .4s ease;
}
.frag-circle:hover .dot.frag-img{
  transform: translateY(-5px) scale(1.06);
  box-shadow: 0 10px 24px rgba(199,123,63,.4);
}
.frag-circle:hover .dot.frag-img img{ transform: scale(1.15); }

.frag-circle{
  display: flex !important;
  flex-direction: column;
  align-items: center;
  text-align: center !important;
  gap: 8px;
  width: clamp(84px, 10vw, 110px);
}
.frag-circle > span:last-child{
  display: block;
  text-align: center !important;
  font-size: .875rem;
  font-weight: 600;
  line-height: 1.25;
  width: 100%;
}

@media (max-width: 768px){
  .frag-circle{
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    text-align: center !important;
    gap: 6px !important;
    width: 84px !important;
    flex: 0 0 auto;
  }
  .frag-circle .dot.frag-img{
    width: 70px !important;
    height: 70px !important;
  }
  .frag-circle > span:last-child{
    display: block !important;
    text-align: center !important;
    font-size: .8rem !important;
    font-weight: 600 !important;
    line-height: 1.2 !important;
    width: 100% !important;
    white-space: normal !important;
  }
}

/* ===== Nav gradient buttons ===== */
nav a[href$="/shop.php"],
nav a[href$="shop.php?combo=1"],
nav a[href$="/blog.php"],
nav a[href$="/wholesale.php"]{
  color: #fff !important;
  padding: .45rem 1.15rem !important;
  border-radius: 50rem;
  font-weight: 600;
  display: inline-block;
  box-shadow: 0 3px 8px rgba(0,0,0,.15);
  transition: transform .2s ease, box-shadow .2s ease, filter .2s ease;
}
nav a[href$="/shop.php"]{        background: linear-gradient(135deg,#F59E0B,#C2410C); }  /* All Products - orange */
nav a[href$="shop.php?combo=1"]{ background: linear-gradient(135deg,#EC4899,#BE185D); }  /* Combo Packs - pink */
nav a[href$="/blog.php"]{        background: linear-gradient(135deg,#14B8A6,#0F766E); }  /* Blog - teal */
nav a[href$="/wholesale.php"]{   background: linear-gradient(135deg,#8B5CF6,#6D28D9); }  /* Bulk/Wholesale - purple */

nav a[href$="/shop.php"]:hover,
nav a[href$="shop.php?combo=1"]:hover,
nav a[href$="/blog.php"]:hover,
nav a[href$="/wholesale.php"]:hover{
  transform: translateY(-2px);
  filter: brightness(1.08);
  box-shadow: 0 6px 16px rgba(0,0,0,.25);
}

/* Footer ke links pe asar na pade */
footer nav a[href$="/shop.php"], footer nav a[href$="/blog.php"]{
  background: none; color: inherit !important; padding: 0 !important;
  border-radius: 0; box-shadow: none; font-weight: inherit;
}

/* Mobile: filters by default hidden, toggle se khulen */
@media (max-width: 991.98px){
  #filterBody{ display: none; padding-top: .75rem; }
  #filterBody.show{ display: block; animation: filterSlide .25s ease; }
}
@keyframes filterSlide{
  from{ opacity: 0; transform: translateY(-8px); }
  to{ opacity: 1; transform: translateY(0); }
}

</style>
<div class="container">
  <div class="section-title"><h2>Shop by Fragrance</h2><div class="divider">🌸</div></div>
  <div class="frag-row">
    <?php foreach ($fragrances as $f): ?>
      <a class="frag-circle" href="<?= BASE_URL ?>/shop.php?fragrance=<?= e($f['slug']) ?>">
        <?php if (!empty($f['icon'])): ?>
          <span class="dot frag-img"><img src="<?= imgUrl($f['icon']) ?>" alt="<?= e($f['name']) ?>" loading="lazy"></span>
        <?php else: ?>
          <span class="dot" style="--fc:<?= e($f['color']) ?>"><?= e(mb_substr($f['name'], 0, 1)) ?></span>
        <?php endif; ?>
        <span><?= e($f['name']) ?></span>
      </a>
    <?php endforeach; ?>
  </div>
</div>