/* ============================================================
   PURNIMA — STRUCTURAL OVERRIDES (Festive Bengali Boutique)
   ============================================================ */

body {
  background:
    radial-gradient(circle at 0% 0%, #ffe9c8 0%, transparent 38%),
    radial-gradient(circle at 100% 100%, #ffd9c0 0%, transparent 40%),
    #fff8f0 !important;
  background-attachment: fixed;
}
::selection { background: #c44d2c; color: #fff8f0; }

/* --- Announcement bar: festive marigold ribbon --- */
.announce {
  background: linear-gradient(90deg, #c44d2c 0%, #e9a93a 50%, #264653 100%) !important;
  color: #fff8f0 !important;
  font-weight: 700 !important;
  letter-spacing: 0.08em !important;
  font-size: 13px !important;
  padding: 12px 0 !important;
  border-bottom: 3px double #f5cc7a !important;
}
.announce::before, .announce::after {
  content: '✦'; position: absolute; top: 50%; transform: translateY(-50%);
  color: #fff8f0; font-size: 14px; z-index: 2;
}
.announce::before { left: 18px; }
.announce::after { right: 18px; }

/* --- Header: cream with scalloped bottom --- */
.header {
  background: rgba(255, 248, 240, 0.97) !important;
  border-bottom: 2px solid #f0d9bf !important;
  position: relative;
}
.header::after {
  content: '';
  position: absolute; bottom: -10px; left: 0; right: 0; height: 10px;
  background-image: radial-gradient(circle at 8px 0, #fff8f0 8px, transparent 9px);
  background-size: 16px 10px;
  background-repeat: repeat-x;
  z-index: 1;
}
.header-inner { padding: 18px 40px !important; }
.nav a { color: #5a3a28 !important; font-family: 'Lora', serif !important; font-size: 14px !important; letter-spacing: 0.05em !important; font-weight: 500 !important; text-transform: none !important; }
.nav a::after { background: #c44d2c !important; height: 2px !important; }
.nav a:hover { color: #c44d2c !important; }
.icon-btn { color: #c44d2c !important; }
.icon-btn:hover { background: #fce9d4 !important; }
.cart-count { background: #c44d2c !important; color: #fff8f0 !important; }

/* --- Wordmark: ornate boutique with flanking ✦ ornaments --- */
.logo-text { padding-left: 4px; }
.logo-name {
  background: none !important;
  -webkit-text-fill-color: #c44d2c !important;
  color: #c44d2c !important;
  font-family: 'Marcellus', Georgia, serif !important;
  font-style: normal !important;
  font-weight: 400 !important;
  font-size: 32px !important;
  letter-spacing: 0.04em !important;
  position: relative;
  display: inline-block;
  padding: 0 22px;
  line-height: 1;
}
.logo-name::before, .logo-name::after {
  content: '✦';
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  color: #e9a93a;
  font-size: 11px;
  font-style: normal;
}
.logo-name::before { left: 0; }
.logo-name::after { right: 0; }
.logo-tag {
  font-family: 'Lora', serif !important;
  font-style: italic !important;
  font-size: 12px !important;
  letter-spacing: 0.04em !important;
  text-transform: none !important;
  color: #946a4f !important;
  font-weight: 400 !important;
  margin-top: 8px !important;
  text-align: center;
  padding: 0 22px;
  position: relative;
}
.logo-tag::before, .logo-tag::after {
  content: '·';
  color: #c44d2c;
  font-weight: 700;
  margin: 0 6px;
}
.footer-brand .logo-name { -webkit-text-fill-color: #f5cc7a !important; color: #f5cc7a !important; }
.footer-brand .logo-name::before, .footer-brand .logo-name::after { color: #e9a93a; }
.footer-brand .logo-tag { color: rgba(245,204,122,0.75) !important; }
.logo-mark { filter: drop-shadow(0 4px 12px rgba(196,77,44,0.3)) !important; }

/* --- Hero: centered ornate festive --- */
.hero {
  padding: 80px 32px 100px !important;
  background:
    radial-gradient(ellipse at 50% 30%, rgba(245,204,122,0.35) 0%, transparent 60%),
    linear-gradient(180deg, #fff8f0 0%, #fce9d4 100%) !important;
  position: relative;
  overflow: hidden;
}
.hero-bg { display: none !important; }
.hero::before, .hero::after {
  content: '';
  position: absolute;
  width: 320px; height: 320px;
  background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 100'><path d='M50 8 C 78 22 78 78 50 92 C 22 78 22 22 50 8 Z M50 20 C 38 30 38 70 50 80 C 62 70 62 30 50 20 Z' fill='none' stroke='%23c44d2c' stroke-width='0.6' opacity='0.4'/></svg>");
  background-size: contain;
  background-repeat: no-repeat;
  opacity: 0.55;
  pointer-events: none;
}
.hero::before { top: 5%; left: -80px; transform: rotate(-15deg); }
.hero::after { bottom: 5%; right: -80px; transform: rotate(165deg); }
.hero-inner {
  display: flex !important;
  flex-direction: column;
  align-items: center;
  text-align: center;
  max-width: 980px !important;
  margin: 0 auto;
  gap: 0 !important;
  position: relative;
  z-index: 2;
}
.hero-text { padding: 0 !important; max-width: 880px; }
.hero-eyebrow {
  color: #c44d2c !important;
  font-family: 'Lora', serif !important;
  font-style: italic !important;
  letter-spacing: 0.12em !important;
  font-size: 14px !important;
  position: relative;
  display: inline-block;
  padding: 0 32px;
}
.hero-eyebrow::before, .hero-eyebrow::after {
  content: ''; position: absolute; top: 50%;
  width: 22px; height: 1px; background: #c44d2c;
}
.hero-eyebrow::before { left: 0; }
.hero-eyebrow::after { right: 0; }
.hero-title {
  font-family: 'Marcellus', serif !important;
  font-weight: 400 !important;
  font-size: 68px !important;
  line-height: 1.05 !important;
  margin: 24px 0 !important;
  color: #2a1810 !important;
}
.hero-title em {
  font-family: 'Lora', serif !important;
  font-style: italic !important;
  background: linear-gradient(135deg, #c44d2c 0%, #e9a93a 100%);
  -webkit-background-clip: text; background-clip: text; -webkit-text-fill-color: transparent;
  font-weight: 500 !important;
}
.hero-sub {
  font-family: 'Lora', serif !important;
  font-style: italic !important;
  font-size: 18px !important;
  color: #5a3a28 !important;
  max-width: 640px;
  margin: 0 auto !important;
}
.hero-cta { justify-content: center !important; gap: 18px !important; margin-top: 40px !important; }
.btn-primary {
  background: linear-gradient(135deg, #c44d2c 0%, #e9a93a 100%) !important;
  color: #fff8f0 !important;
  border-radius: 999px !important;
  padding: 16px 38px !important;
  font-weight: 700 !important;
  letter-spacing: 0.08em !important;
  box-shadow: 0 8px 24px rgba(196,77,44,0.3);
}
.btn-primary:hover { transform: translateY(-2px); box-shadow: 0 12px 32px rgba(196,77,44,0.4); }
.btn-ghost {
  border: 2px solid #c44d2c !important;
  color: #c44d2c !important;
  background: transparent !important;
  border-radius: 999px !important;
  padding: 14px 36px !important;
  font-weight: 600 !important;
}
.btn-ghost:hover { background: #c44d2c !important; color: #fff8f0 !important; }
.hero-stats {
  margin-top: 56px !important;
  justify-content: center !important;
  gap: 64px !important;
  padding-top: 36px !important;
  border-top: 1px dashed #c44d2c40 !important;
}
.hero-stats strong { font-family: 'Marcellus', serif !important; font-size: 36px !important; color: #c44d2c !important; }
.hero-stats span { color: #946a4f !important; font-style: italic; }
.hero-visual { display: none !important; }

/* --- Trust strip: gold roundels --- */
.trust-strip {
  background: linear-gradient(180deg, #fff1d6 0%, #fce9d4 100%) !important;
  border: none !important;
  border-top: 1px solid #f5cc7a !important;
  border-bottom: 1px solid #f5cc7a !important;
  padding: 32px !important;
  border-radius: 0 !important;
  margin: 0 !important;
}
.trust-item { color: #5a3a28 !important; }
.trust-item svg {
  background: linear-gradient(135deg, #f5cc7a 0%, #e9a93a 100%);
  border-radius: 50%;
  padding: 14px;
  width: 56px !important; height: 56px !important;
  stroke: #fff8f0 !important;
  box-shadow: 0 6px 16px rgba(233,169,58,0.35);
}
.trust-item strong { color: #c44d2c !important; font-family: 'Marcellus', serif; }
.trust-item span { color: #946a4f !important; font-style: italic; font-size: 12px; }

/* --- Section heads: ornate display --- */
.section-eyebrow {
  font-family: 'Lora', serif !important;
  font-style: italic !important;
  letter-spacing: 0.1em !important;
  color: #c44d2c !important;
  font-size: 14px !important;
  text-transform: none !important;
}
.section-title {
  font-family: 'Marcellus', serif !important;
  font-size: 56px !important;
  font-weight: 400 !important;
  color: #2a1810 !important;
  position: relative;
  display: inline-block;
}
.section-title em { font-family: 'Lora', serif !important; font-style: italic !important; color: #c44d2c !important; font-weight: 500 !important; }
.section-head { position: relative; }
.section-head::after {
  content: '✦';
  display: block;
  text-align: center;
  color: #e9a93a;
  font-size: 18px;
  margin-top: 18px;
  letter-spacing: 0;
}

/* --- Categories: rounded marigold tiles --- */
.cat-grid { gap: 20px !important; }
.cat-card { border-radius: 28px !important; border: 2px solid transparent !important; transition: all 0.4s; }
.cat-card:hover { border-color: #e9a93a !important; transform: translateY(-4px); box-shadow: 0 18px 40px rgba(196,77,44,0.2) !important; }
.cat-card-inner { border-radius: 26px !important; }
.cat-card h3 { font-family: 'Marcellus', serif !important; }

/* --- Product cards: petal-soft rounded --- */
.product {
  border-radius: 28px !important;
  border: 1px solid #f0d9bf !important;
  background: #ffffff !important;
  overflow: hidden;
  box-shadow: 0 6px 20px rgba(196,77,44,0.06) !important;
  transition: all 0.4s cubic-bezier(.2,.9,.3,1);
}
.product:hover {
  transform: translateY(-8px) !important;
  box-shadow: 0 24px 50px rgba(196,77,44,0.18) !important;
  border-color: #f5cc7a !important;
}
.product-img { border-radius: 0 !important; aspect-ratio: 3/4 !important; }
.product-info { padding: 20px 22px 22px !important; text-align: center; }
.product-cat { font-family: 'Lora', serif !important; font-style: italic !important; color: #c44d2c !important; font-size: 12px !important; letter-spacing: 0.06em !important; text-transform: none !important; }
.product-name { font-family: 'Marcellus', serif !important; font-weight: 400 !important; color: #2a1810 !important; font-size: 17px !important; }
.product-prices { justify-content: center; gap: 10px; }
.price-now { font-family: 'Marcellus', serif !important; color: #c44d2c !important; font-size: 20px !important; }
.price-was { color: #946a4f !important; }
.price-off { background: linear-gradient(135deg, #c44d2c 0%, #e9a93a 100%) !important; color: #fff8f0 !important; border-radius: 999px !important; padding: 3px 10px !important; font-size: 11px !important; font-weight: 700; letter-spacing: 0.04em; }
.product-rating { justify-content: center; }
.product-quickadd {
  background: linear-gradient(135deg, #c44d2c 0%, #e9a93a 100%) !important;
  color: #fff8f0 !important;
  border-radius: 0 !important;
  font-weight: 700 !important;
  letter-spacing: 0.08em !important;
  padding: 14px 0 !important;
  text-transform: uppercase;
  font-size: 12px !important;
}
.product-wishlist { background: rgba(255,255,255,0.95) !important; box-shadow: 0 4px 12px rgba(196,77,44,0.18); }
.badge { border-radius: 999px !important; padding: 5px 12px !important; font-weight: 700; letter-spacing: 0.04em; }

/* --- Filter pills: round festive chips --- */
.filter-pill {
  border-radius: 999px !important;
  border: 1.5px solid #f0d9bf !important;
  background: #fff !important;
  color: #5a3a28 !important;
  padding: 10px 20px !important;
  font-family: 'Lora', serif !important;
  font-style: italic !important;
}
.filter-pill.active, .filter-pill:hover {
  background: linear-gradient(135deg, #c44d2c 0%, #e9a93a 100%) !important;
  border-color: transparent !important;
  color: #fff8f0 !important;
  font-style: normal !important;
}
.filter-sort select { border-radius: 999px !important; border: 1.5px solid #f0d9bf !important; padding: 8px 18px !important; }

/* --- Testimonials: arched marigold cards --- */
.testimonials { background: linear-gradient(180deg, #fff8f0 0%, #fce9d4 100%) !important; }
.testi-grid { grid-template-columns: repeat(3, 1fr) !important; gap: 28px !important; }
.testi-card {
  border-radius: 28px 28px 28px 28px !important;
  background: #ffffff !important;
  border: 2px solid #f0d9bf !important;
  box-shadow: 0 8px 24px rgba(196,77,44,0.08) !important;
  position: relative;
  padding-top: 56px !important;
}
.testi-card::before {
  content: '✦' !important;
  font-family: 'Marcellus', serif !important;
  font-size: 28px !important;
  color: #e9a93a !important;
  background: linear-gradient(135deg, #f5cc7a 0%, #e9a93a 100%);
  -webkit-background-clip: text; background-clip: text; -webkit-text-fill-color: transparent;
  position: absolute;
  top: 22px; left: 50%; right: auto; transform: translateX(-50%);
  opacity: 1 !important;
  width: 40px; height: 40px;
  display: flex; align-items: center; justify-content: center;
  border: 2px solid #e9a93a;
  border-radius: 50%;
  background: #fff8f0;
}
.testi-stars { color: #e9a93a !important; text-align: center; }
.testi-card p { font-family: 'Lora', serif !important; color: #2a1810 !important; text-align: center; font-size: 16px !important; }
.testi-author { justify-content: center; }
.testi-author strong { font-family: 'Marcellus', serif !important; color: #c44d2c !important; }
.testi-author span { color: #946a4f !important; font-style: italic; }

/* --- Newsletter: warm gradient --- */
.newsletter { background: linear-gradient(135deg, #c44d2c 0%, #8a2a14 100%) !important; }
.newsletter h2 em { color: #f5cc7a !important; }
.newsletter-form input { border-radius: 999px !important; }
.newsletter-form .btn-primary { background: #fff8f0 !important; color: #c44d2c !important; }

/* --- Footer: warm earthy --- */
.footer { background: linear-gradient(180deg, #2a1810 0%, #1a0e08 100%) !important; color: #f5cc7a; }
.footer h4 { color: #f5cc7a !important; font-family: 'Marcellus', serif !important; font-size: 18px !important; letter-spacing: 0 !important; text-transform: none !important; font-weight: 400; }
.footer h4::after { content: ''; display: block; width: 32px; height: 1px; background: #e9a93a; margin-top: 8px; }
.footer-about { color: rgba(245,204,122,0.7) !important; font-style: italic; font-family: 'Lora', serif; }
.footer a { color: rgba(245,204,122,0.85) !important; }
.footer a:hover { color: #fff8f0 !important; }
.pm { background: rgba(245,204,122,0.1) !important; border-color: rgba(245,204,122,0.25) !important; color: #f5cc7a !important; border-radius: 8px !important; }
.footer-contact a, .footer address { color: rgba(245,204,122,0.85) !important; font-family: 'Lora', serif; }

/* Mobile */
@media (max-width: 900px) {
  .hero-title { font-size: 44px !important; }
  .section-title { font-size: 36px !important; }
  .testi-grid { grid-template-columns: 1fr !important; }
  .hero::before, .hero::after { display: none !important; }
  .header-inner { padding: 14px 20px !important; }
}
