/* ============================================================
   AMOLI SOULCRAFT — Blush Rose Theme
   (UI reskin only: same content, same features, softer look
   inspired by elegant handmade-brand aesthetics)
   ============================================================ */
:root {
  --cream:  #fdf6f1;     /* page background — warm blush cream   */
  --paper:  #fffdfb;     /* cards                                */
  --ink:    #46332b;     /* headings — warm cocoa                */
  --muted:  #9b8177;     /* secondary text — dusty rose brown    */
  --terra:  #c96f6f;     /* primary — dusty rose                 */
  --terra2: #ad5252;     /* primary hover — deep rose            */
  --gold:   #d9a0a0;     /* accent — soft rose gold              */
  --gold2:  #b97f7f;     /* accent hover                         */
  --sand:   #f3ddd4;     /* borders — pale blush                 */
  --leaf:   #7a9179;     /* success green (kept soft)            */
  --wa:     #45a049;     /* WhatsApp green                       */
  --shadow: 0 18px 45px -20px rgba(150, 90, 80, .28);
}

::selection { background: var(--gold); color: #fff; }
::-webkit-scrollbar-thumb { background: #e3c1b8; border: 3px solid var(--cream); }

/* headings: airy, letter-spaced like the reference */
h1, h2, h3, h4 { letter-spacing: .01em; font-weight: 540; }
.sec__kicker { color: var(--terra); letter-spacing: .34em; }
.sec__kicker::before, .sec__kicker::after { content: '♥'; background: none; width: auto; height: auto; font-size: 11px; color: var(--gold); }
.sec__kicker { gap: 14px; display: inline-flex; align-items: center; }

/* buttons: pill, soft rose */
.btn { border-radius: 999px; letter-spacing: .04em; text-transform: uppercase; font-size: .9rem; padding: 15px 34px; }
.btn--sm { font-size: .8rem; padding: 9px 22px; }
.btn--ghost { border-color: var(--sand); }
.btn--ghost:hover { border-color: var(--terra); color: var(--terra); }

.topbar__side .ms { color: #fff; }

/* header */
.hdr { background: rgba(253, 246, 241, .92); }
.hdr::before { background: rgba(253, 246, 241, .92); }
.hdr.is-stuck::before { background: rgba(255, 253, 251, .96); }
.brand__txt { font-size: 1.42rem; color: var(--ink); letter-spacing: .02em; }
.brand__dot { color: var(--terra); }
.hmenu-wrap { background: #fff; border-color: var(--sand); }
.hmenu-wrap::before { background: linear-gradient(90deg, #fff, transparent); }
.hmenu-wrap::after  { background: linear-gradient(-90deg, #fff, transparent); }
.hmenu__link { color: #6d5a52; text-transform: uppercase; font-size: .82rem; letter-spacing: .08em; font-weight: 600; }
.hmenu__link:hover { color: var(--terra); }
.hmenu__link.is-active { color: var(--terra); }
.hmenu__link.is-active::after { background: var(--terra); height: 2.5px; }
.hmenu__wa { color: var(--wa); }
.hsearch { border-radius: 999px; background: #fff; }
.hsearch button { background: var(--terra); }
.hsearch button:hover { background: var(--terra2); }
.hdr__shop { display: none; }  /* cleaner, reference has no shop pill in header */

/* hero: soft cream band, centered romantic type */
.hero { background: linear-gradient(165deg, #fdf1ec 0%, #fbe9e4 60%, #f9dfd9 100%); }
.hero__kicker { background: #fff; border-color: var(--sand); color: var(--terra); letter-spacing: .18em; }
.hero__kicker .ms { color: var(--terra); }
.hero h1 em { color: var(--terra); }
.hero__word { color: var(--terra); border-bottom: 3px solid var(--gold); }
.hero p.lead { color: #7d6a62; }
.hero__img { border-color: #fff; }
.hero__chip { border-radius: 14px; }
.hero__chip .ms { color: var(--terra); }
.hero__ring { border-color: var(--gold); opacity: .4; }
.hero__stats b { color: var(--ink); }

/* marquee strip */
.marquee { background: var(--terra); color: #fff; }

/* category tiles: circular photos (already) + rose ring hover */
.cat__img { border-color: #fff; box-shadow: 0 10px 26px -12px rgba(150, 90, 80, .3), 0 0 0 1px var(--sand); }
.cat:hover .cat__img::after { box-shadow: inset 0 0 0 3px var(--terra); }
.cat:hover b { color: var(--terra); }
.cat__cnt { color: var(--muted); }

/* product cards: minimal gallery style — price left, icons right */
.pcard { border-radius: 14px; border-color: var(--sand); }
.pcard__name { font-weight: 600; }
.pcard__cat { color: var(--gold2); letter-spacing: .16em; }
.price { color: var(--ink); }
.pcard__wish:hover, .pcard__wish.on { color: var(--terra); }
.pcard__quick { background: rgba(70, 51, 43, .92); border-radius: 999px; }
.pcard__quick:hover { background: var(--terra); }
.tag { background: var(--terra); border-radius: 999px; }
.tag--gold { background: var(--gold2); }

/* story band: cocoa → rose gradient, hearts */
.story { background: linear-gradient(150deg, #4a342c, #6b4740 60%, #8a5a52); }
.story h2 { color: #fff; }
.story h2 em { color: #f3c1b8; }
.story p { color: #e3cdc6; }
.counter b { color: #f3c1b8; }
.counter span { color: #cbb0a8; }

/* trust/vals icons */
.trust .ms, .val .ms, .cinfo .ms { color: var(--terra); }
.val { border-radius: 16px; }

/* summary panel & wapanel */
.summary { background: linear-gradient(160deg, #4a342c, #6f4a42); border-radius: 18px; }
.summary h3 .ms, .summary .grand b { color: #f3c1b8; }
.wapanel { background: linear-gradient(140deg, #3d8b40, #45a049); border-radius: 18px; }

/* forms */
.field input:focus, .field textarea:focus, .field select:focus { border-color: var(--gold); box-shadow: 0 0 0 4px rgba(217, 160, 160, .18); }
.hsearch input::placeholder, input::placeholder, textarea::placeholder { color: #bfa49b; }

/* footer: cocoa with rose accents */
.ftr { background: #46332b; }
.ftr__col a:hover, .ftr__col .ms { color: #e8b3aa; }
.ftr__craft .marquee { background: transparent; color: #b99a92; }
.ftr__base { border-color: rgba(232, 179, 170, .2); }
.ftr__pay .ms { color: #e8b3aa; }
.pdlink { color: #e8b3aa; border-bottom-color: rgba(232, 179, 170, .5); }
.pdlink:hover { color: #ffd9d2; }
.ftr__wa { color: #8fd3a0 !important; }

/* whatsapp fab */
.wafab { background: var(--wa); }
.totop { background: var(--terra); }

/* badge colors */
.badge--new { background: #fdeaea; color: #ad5252; }
.badge--whatsapp, .badge--delivered { background: #e6f3e7; color: #2e7d32; }
.badge--cancelled { background: #fbe7e2; color: #92301e; }

/* shop filter active */
.filt a.filt__cat.on { background: var(--terra); }
.filt__cat img { border-color: var(--sand); }

/* announcement of new section styles used in homepage reskin */
.softband { background: #fff; }
.duo { display: grid; grid-template-columns: 1fr 1fr; gap: 26px; }
@media (max-width: 900px) { .duo { grid-template-columns: 1fr; } }

/* ============================================================
   UI POLISH LAYER — "make more good"
   ============================================================ */

/* 1. smoother global rhythm */
body { font-size: 16px; letter-spacing: .005em; }
.wrap { width: min(1280px, 94%); }

/* 2. header — floating card style */
.hdr__top .hdr__in { padding: 14px 0; }
.hdr { box-shadow: 0 1px 0 rgba(201, 111, 111, .06); }
.hdr.is-stuck::before { box-shadow: 0 10px 34px -18px rgba(150, 90, 80, .35); }
.brand__logo { box-shadow: 0 0 0 2px #fff, 0 10px 24px -10px rgba(150, 90, 80, .5); }
.hsearch { box-shadow: 0 4px 18px -10px rgba(150, 90, 80, .25); }
.hsearch input { font-size: .95rem; }
.iconbtn { border-radius: 14px; }
.iconbtn:hover { background: rgba(201, 111, 111, .1); }

/* 3. hero — softer, larger, more breathing room */
.hero__in { padding: 76px 0 96px; gap: 56px; }
.hero h1 { line-height: 1.08; }
.hero__kicker { padding: 10px 22px; box-shadow: 0 10px 26px -14px rgba(150, 90, 80, .3); }
.hero__chip { border-radius: 16px; padding: 13px 20px; backdrop-filter: blur(8px); background: rgba(255,255,255,.9); }
.hero__img { border: 10px solid #fff; }
.hero__stats b { font-size: 2.1rem; }

/* 4. section headers — smaller kickers, more space */
.sec { padding: 96px 0; }
.sec__head { margin-bottom: 60px; }
.sec__head h2 { font-size: clamp(2rem, 3.6vw, 2.9rem); font-weight: 500; }

/* 5. category tiles — lift higher, ring glow */
.cat__img { border-width: 5px; box-shadow: 0 14px 34px -14px rgba(150, 90, 80, .35), 0 0 0 1px var(--sand); }
.cat:hover .cat__img { transform: translateY(-10px) scale(1.02); }
.cat b { font-size: 1.05rem; letter-spacing: .01em; }
.cat__cnt { letter-spacing: .04em; }

/* 6. product cards — gallery minimal, price row cleaner */
.pcard { border: none; box-shadow: 0 6px 24px -14px rgba(150, 90, 80, .18); border-radius: 16px; }
.pcard:hover { box-shadow: 0 20px 44px -18px rgba(150, 90, 80, .4); }
.pcard__media { border-radius: 16px 16px 0 0; }
.pcard__body { padding: 18px 20px 20px; gap: 8px; }
.pcard__name { font-size: 1.08rem; }
.pcard__rating .ms { font-size: 14px; }
.pcard__foot { padding-top: 10px; }
.price { font-size: 1.25rem; font-weight: 700; }

/* 7. buttons — slight sheen on hover */
.btn { position: relative; }
.btn::after {
  content: ''; position: absolute; inset: 0; border-radius: inherit;
  background: linear-gradient(120deg, transparent 30%, rgba(255,255,255,.22) 50%, transparent 70%);
  transform: translateX(-100%); transition: transform .6s;
}
.btn:hover::after { transform: translateX(100%); }

/* 8. story band — slightly lighter, more readable */
.story .wrap { padding: 100px 0; }
.counter b { font-size: 2.8rem; }

/* 9. testimonial cards */
.tst__card blockquote { font-weight: 480; color: #5f4c44; }

/* 10. footer breathing room */
.ftr__grid { padding: 70px 0 56px; gap: 48px; }

/* 11. cart drawer — softer */
.drawer { border-radius: 0; }
.ditem img { border-radius: 14px; }

/* 12. toasts */
.toast { border-radius: 14px; padding: 13px 26px; backdrop-filter: blur(6px); }

/* 13. image hover zoom - slightly subtler on cards */
.pcard:hover .pcard__media img { transform: scale(1.06); }

/* 14. focus states (accessibility) */
a:focus-visible, button:focus-visible { outline: 2.5px solid var(--terra); outline-offset: 3px; border-radius: 6px; }

/* 15. mobile refinements */
@media (max-width: 640px) {
  .hero__in { padding: 44px 0 64px; gap: 34px; }
  .hero h1 { font-size: clamp(2rem, 9vw, 2.6rem); }
  .sec { padding: 64px 0; }
  .sec__head { margin-bottom: 40px; }
  .cat__img { max-width: 132px; border-width: 4px; }
  .cat b { font-size: .9rem; }
  .hmenu__link { padding: 11px 11px; font-size: .78rem; }
  .hsearch button { padding: 8px 16px; }
  .hero__stats b { font-size: 1.7rem; }
}

/* social handles in footer */
.ftr__handles { display: flex; flex-direction: column; gap: 6px; margin-top: 14px; }
.ftr__handles a {
  display: inline-flex; align-items: center; gap: 8px;
  color: #cbb0a8; font-size: .9rem; width: max-content;
  border-bottom: 1px dashed transparent; padding-bottom: 1px;
}
.ftr__handles a:hover { color: #e8b3aa; border-bottom-color: rgba(232,179,170,.5); }
.ftr__handles .ms { color: #e8b3aa; }

/* contact page social row */
.social-row { align-items: flex-start; }
.social-links { display: flex; flex-direction: column; gap: 7px; margin-top: 8px; }
.social-links a {
  display: inline-flex; align-items: center; gap: 8px;
  color: var(--terra); font-weight: 600; width: max-content;
  background: rgba(201, 111, 111, .07);
  padding: 7px 14px; border-radius: 999px; transition: all .2s;
}
.social-links a:hover { background: var(--terra); color: #fff; }

/* ═══ Full wordmark logo in navbar (blend cream bg into header) ═══ */
.brand__logo.brand__logo--full {
  height: 58px; width: auto; max-width: 46vw; object-fit: contain;
  background: transparent; box-shadow: none; border-radius: 0;
  filter: drop-shadow(0 2px 8px rgba(150, 90, 80, .28));
}
.brand:hover .brand__logo.brand__logo--full { transform: scale(1.03); }
@media (max-width: 720px) { .brand__logo.brand__logo--full { height: 42px; } }

/* ═══ Checkout payment options (Razorpay / COD) ═══ */
.payopts { margin-top: 26px; }
.payopts h3 { display: flex; gap: 8px; align-items: center; margin-bottom: 14px; }
.payopt {
  display: flex; gap: 14px; align-items: center; cursor: pointer;
  border: 1.8px solid #eadfca; background: #fffdf7;
  border-radius: 16px; padding: 16px 18px; margin-bottom: 12px;
  transition: border-color .2s, box-shadow .2s, transform .2s;
}
.payopt:hover { border-color: var(--terra); transform: translateY(-1px); }
.payopt:has(input:checked) { border-color: var(--terra); box-shadow: 0 8px 24px -14px rgba(194,87,31,.45); background: #fff; }
.payopt input[type="radio"] { width: 18px; height: 18px; accent-color: var(--terra); flex: none; }
.payopt__ic { font-size: 26px; color: var(--terra); }
.payopt__txt { flex: 1; display: flex; flex-direction: column; gap: 2px; }
.payopt__txt small { color: var(--muted); font-size: .84rem; }
.payopt--off { opacity: .55; cursor: not-allowed; }
.payopt--off:hover { border-color: #eadfca; transform: none; }
.paytag { font-style: normal; font-size: .72rem; font-weight: 700; letter-spacing: .04em; text-transform: uppercase; background: #f4ecd9; color: #7d6a45; border-radius: 999px; padding: 5px 11px; white-space: nowrap; }
.paytag--rzp { background: #e8f0fe; color: #1a56db; }
.paysec { font-size: .82rem; color: var(--muted); display: flex; gap: 6px; align-items: center; margin-top: 4px; }

/* ═══ Mobile search row (topbar removed; search always reachable) ═══ */
.msearch { display: none; }
@media (max-width: 640px) {
  .msearch {
    display: flex; align-items: center; gap: 8px;
    margin: 10px 14px 2px; padding: 4px 5px 4px 15px;
    background: #fff; border: 1.6px solid #eadfca; border-radius: 999px;
    box-shadow: 0 4px 18px -10px rgba(150, 90, 80, .22);
  }
  .msearch .ms { color: var(--muted); font-size: 20px; }
  .msearch input { flex: 1; border: none; background: none; font-size: .95rem; padding: 9px 0; min-width: 0; }
  .msearch input:focus { outline: none; }
  .msearch button { border: none; background: var(--terra); color: #fff; border-radius: 999px; width: 38px; height: 38px; display: inline-flex; align-items: center; justify-content: center; flex: none; }
}


/* ═══ Product photo gallery ═══ */
.pdp__thumbs { display: flex; gap: 10px; justify-content: center; margin-top: 14px; flex-wrap: wrap; }
.pdp__thumb { width: 74px; height: 74px; border-radius: 14px; overflow: hidden; border: 2px solid #eaddc9; background: #fff; cursor: pointer; padding: 0; transition: border-color .18s, transform .18s; }
.pdp__thumb img { width: 100%; height: 100%; object-fit: cover; display: block; }
.pdp__thumb:hover { transform: translateY(-2px); }
.pdp__thumb.is-active { border-color: var(--terra); box-shadow: 0 6px 16px -8px rgba(179, 85, 44, .45); }

/* ═══ Full stacked logo (header) ═══ */
.brand__logo--stacked { height: clamp(64px, 9vw, 96px); width: auto; object-fit: contain; display: block; transition: transform .4s var(--ease); }
.brand:hover .brand__logo--stacked { transform: scale(1.03); }
