/* =========================================================
   D S Care — stylesheet
   Palette:  --leaf (herbal green) / --plum (deep aubergine)
             --marigold (yellow accent) / --cream (background)
   Type:     'Fraunces' for display headings, 'Hind' for body/Hindi
   ========================================================= */

:root{
  --leaf:        #4f9b1e;
  --leaf-dark:   #3c7717;
  --plum:        #362544;
  --plum-soft:   #4a3560;
  --marigold:    #f0b429;
  --marigold-dark:#d99a12;
  --cream:       #fbf8f1;
  --paper:       #ffffff;
  --ink:         #2a2320;
  --ink-soft:    #6b6157;
  --line:        #e8e0d2;
  --radius:      14px;
  --shadow:      0 18px 40px -20px rgba(54,37,68,.35);
}

*{ box-sizing:border-box; }

html{ scroll-behavior:smooth; }

body{
  font-family:'Hind', -apple-system, sans-serif;
  background:var(--cream);
  color:var(--ink);
  font-size:16px;
  line-height:1.65;
}

h1,h2,h3,h4,.display{
  font-family:'Fraunces', Georgia, serif;
  color:var(--plum);
  font-weight:600;
  letter-spacing:-0.01em;
}

a{ color:var(--leaf-dark); text-decoration:none; }
a:hover{ color:var(--leaf); }

::selection{ background:var(--marigold); color:var(--plum); }

/* visible focus ring, kept even on custom controls */
a:focus-visible, button:focus-visible, .btn:focus-visible, .nav-link:focus-visible{
  outline:3px solid var(--marigold-dark);
  outline-offset:2px;
}

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

.container-narrow{ max-width:920px; margin-inline:auto; }

/* ---------------- Buttons ---------------- */
.btn{
  border-radius:999px;
  padding:.7rem 1.7rem;
  font-weight:600;
  font-size:.95rem;
  border:2px solid transparent;
  transition:transform .15s ease, box-shadow .15s ease, background-color .15s ease, color .15s ease;
  display:inline-flex;
  align-items:center;
  gap:.5rem;
}
.btn-brand{
  background:var(--leaf);
  color:#fff;
}
.btn-brand:hover{ background:var(--leaf-dark); color:#fff; transform:translateY(-2px); box-shadow:var(--shadow); }
.btn-outline-brand{
  border-color:var(--plum);
  color:var(--plum);
  background:transparent;
}
.btn-outline-brand:hover{ background:var(--plum); color:#fff; transform:translateY(-2px); }
.btn-marigold{
  background:var(--marigold);
  color:var(--plum);
}
.btn-marigold:hover{ background:var(--marigold-dark); color:var(--plum); transform:translateY(-2px); }

/* ---------------- Top utility bar ---------------- */
.topbar{
  background:var(--plum);
  color:#e9e3f1;
  font-size:.85rem;
}
.topbar a{ color:#e9e3f1; }
.topbar a:hover{ color:var(--marigold); }

/* ---------------- Navbar ---------------- */
.site-navbar{
  background:var(--cream);
  border-bottom:1px solid var(--line);
  padding-block:.6rem;
}
.brand-mark{
  display:inline-flex;
  align-items:center;
  gap:.6rem;
}
.brand-badge{
  width:46px; height:46px; border-radius:50%;
  background:var(--paper);
  border:2px solid var(--leaf);
  display:flex; align-items:center; justify-content:center;
  flex-shrink:0;
}
.brand-badge svg{ width:26px; height:26px; }
.brand-word{
  font-family:'Fraunces', serif;
  font-weight:700;
  font-size:1.4rem;
  color:#c0392b;
  line-height:1;
}
.brand-word small{
  display:block;
  font-family:'Hind', sans-serif;
  font-size:.62rem;
  letter-spacing:.14em;
  color:var(--leaf-dark);
  font-weight:600;
  margin-top:2px;
}
.site-navbar .nav-link{
  color:var(--ink);
  font-weight:600;
  padding:.5rem 1rem !important;
}
.site-navbar .nav-link.active,
.site-navbar .nav-link:hover{ color:var(--leaf-dark); }

/* ---------------- Hero / Slider ---------------- */
.hero-slider{ border-bottom:1px solid var(--line); }
.hero-slide{
  position:relative;
  min-height:520px;
  display:flex;
  align-items:center;
  background-size:cover;
  background-position:center;
}
.hero-slide::before{
  content:"";
  position:absolute; inset:0;
  background:linear-gradient(100deg, rgba(54,37,68,.88) 0%, rgba(54,37,68,.62) 45%, rgba(54,37,68,.18) 78%);
}
.hero-slide .container{ position:relative; z-index:2; }
.hero-eyebrow{
  color:var(--marigold);
  font-weight:600;
  font-size:.95rem;
  margin-bottom:.6rem;
}
.hero-slide h1{
  color:#fff;
  font-size:clamp(2rem, 4vw, 3.2rem);
  max-width:640px;
  margin-bottom:1rem;
}
.hero-slide p{
  color:#efe9dd;
  max-width:520px;
  font-size:1.08rem;
  margin-bottom:1.6rem;
}
.carousel-indicators [data-bs-target]{
  background-color:var(--marigold);
  width:9px; height:9px; border-radius:50%;
}
.carousel-control-prev, .carousel-control-next{ width:5%; }

/* ---------------- Section headings ---------------- */
.section{ padding-block:4.5rem; }
.section-tight{ padding-block:2.75rem; }
.section-head{ margin-bottom:2.5rem; }
.section-head h2{ font-size:clamp(1.6rem, 3vw, 2.3rem); margin-bottom:.6rem; }
.section-head p{ color:var(--ink-soft); max-width:620px; }
.section-alt{ background:var(--paper); }

/* ---------------- About / trust strip ---------------- */
.trust-strip{
  background:var(--plum);
  color:#efe9f4;
}
.trust-item{ display:flex; gap:.9rem; align-items:flex-start; }
.trust-item svg{ flex-shrink:0; width:30px; height:30px; color:var(--marigold); }
.trust-item h6{ color:#fff; margin-bottom:.15rem; font-weight:700; }
.trust-item p{ color:#cfc3de; font-size:.88rem; margin:0; }

.about-photo{
  border-radius:var(--radius);
  overflow:hidden;
  box-shadow:var(--shadow);
}
.about-photo img{ width:100%; height:100%; object-fit:cover; display:block; }

/* ---------------- Category pills ---------------- */
.cat-pill{
  display:inline-flex;
  align-items:center;
  padding:.55rem 1.1rem;
  border-radius:999px;
  background:var(--paper);
  border:1px solid var(--line);
  color:var(--ink);
  font-size:.88rem;
  font-weight:600;
  white-space:nowrap;
}
.cat-pill.active, .cat-pill:hover{
  background:var(--leaf);
  border-color:var(--leaf);
  color:#fff;
}
.cat-scroll{
  display:flex; gap:.6rem; overflow-x:auto; padding-bottom:.5rem;
  scrollbar-width:thin;
}

/* ---------------- Product cards ---------------- */
.product-card{
  background:var(--paper);
  border:1px solid var(--line);
  border-radius:var(--radius);
  overflow:hidden;
  height:100%;
  display:flex;
  flex-direction:column;
  transition:box-shadow .18s ease, transform .18s ease, border-color .18s ease;
}
.product-card:hover{
  box-shadow:var(--shadow);
  transform:translateY(-4px);
  border-color:transparent;
}
.product-card .thumb{
  background:linear-gradient(180deg,#f4efe1,#eee6d3);
  height:210px;
  display:flex; align-items:center; justify-content:center;
  padding:1.2rem;
  position:relative;
}
.product-card .thumb img{
  max-height:100%; max-width:100%; object-fit:contain;
  filter:drop-shadow(0 12px 14px rgba(0,0,0,.18));
}
.product-card .cat-tag{
  position:absolute; top:.7rem; left:.7rem;
  background:var(--plum);
  color:#fff;
  font-size:.68rem;
  font-weight:700;
  letter-spacing:.03em;
  padding:.28rem .6rem;
  border-radius:999px;
}
.product-card .body{
  padding:1.1rem 1.15rem 1.3rem;
  display:flex; flex-direction:column; flex:1;
}
.product-card h3{
  font-size:1.08rem;
  margin-bottom:.15rem;
}
.product-card .hindi-name{
  font-size:.88rem;
  color:var(--ink-soft);
  margin-bottom:.5rem;
}
.product-card .tagline{
  font-size:.85rem;
  color:var(--ink-soft);
  margin-bottom:.9rem;
  flex:1;
}
.product-card .meta-row{
  display:flex; align-items:center; justify-content:space-between;
  margin-top:auto;
}
.product-card .pack{
  font-size:.78rem;
  color:var(--ink-soft);
  background:var(--cream);
  border:1px solid var(--line);
  padding:.2rem .55rem;
  border-radius:6px;
}
.product-card .price{
  font-family:'Fraunces', serif;
  font-weight:700;
  color:var(--leaf-dark);
  font-size:1.15rem;
}

/* ---------------- Product detail page ---------------- */
.detail-image-frame{
  background:linear-gradient(180deg,#f4efe1,#eee6d3);
  border-radius:var(--radius);
  padding:2.5rem;
  display:flex; align-items:center; justify-content:center;
  min-height:420px;
}
.detail-image-frame img{
  max-height:400px; max-width:100%; object-fit:contain;
  filter:drop-shadow(0 20px 22px rgba(0,0,0,.2));
}
.price-tag{
  display:inline-flex;
  align-items:baseline;
  gap:.4rem;
  background:var(--plum);
  color:#fff;
  padding:.6rem 1.2rem;
  border-radius:12px;
}
.price-tag .amount{ font-family:'Fraunces',serif; font-size:1.7rem; font-weight:700; color:var(--marigold); }
.spec-card{
  background:var(--paper);
  border:1px solid var(--line);
  border-radius:var(--radius);
  padding:1.6rem;
  margin-bottom:1.3rem;
}
.spec-card h5{
  display:flex; align-items:center; gap:.5rem;
  color:var(--plum);
  margin-bottom:.7rem;
  font-family:'Fraunces',serif;
}
.spec-card h5 .dot{
  width:8px; height:8px; border-radius:50%; background:var(--leaf);
}
.variant-row{
  display:flex; justify-content:space-between; align-items:center;
  padding:.55rem 0;
  border-bottom:1px dashed var(--line);
}
.variant-row:last-child{ border-bottom:none; }

/* ---------------- Contact / footer ---------------- */
.site-footer{
  background:var(--plum);
  color:#cfc3de;
}
.site-footer h6{ color:#fff; font-weight:700; margin-bottom:1rem; letter-spacing:.02em; }
.site-footer a{ color:#cfc3de; }
.site-footer a:hover{ color:var(--marigold); }
.footer-bottom{
  border-top:1px solid rgba(255,255,255,.12);
  font-size:.85rem;
  color:#a998bf;
}

.badge-soft{
  background:rgba(79,155,30,.12);
  color:var(--leaf-dark);
  font-weight:600;
  border-radius:999px;
  padding:.3rem .75rem;
  font-size:.8rem;
}

/* whatsapp float */
.whatsapp-float{
  position:fixed;
  right:1.25rem; bottom:1.25rem;
  z-index:1040;
  width:56px; height:56px;
  border-radius:50%;
  background:#25D366;
  display:flex; align-items:center; justify-content:center;
  box-shadow:0 10px 24px rgba(0,0,0,.25);
  transition:transform .15s ease;
}
.whatsapp-float:hover{ transform:scale(1.08); }
.whatsapp-float svg{ width:28px; height:28px; fill:#fff; }

@media (max-width:767.98px){
  .hero-slide{ min-height:460px; text-align:left; }
  .section{ padding-block:3rem; }
}
