/* ==========================================================================
   DHARMIKAM — PACKAGES (inner page)
   Page-specific blocks only — the shared banner, breadcrumb and
   header-over-banner treatment live in inner-page.css. Every selector below
   is a `.pkg-*` / `.kalari-card*` / `.feature-band` / `.therapy-*` block that
   exists nowhere else, so this file cannot reach any page that does not load it.

   Load order: base.css → sections.css → animations.css → responsive.css
               → inner-page.css → packages.css (last, so it can refine)
   ========================================================================== */

/* ==========================================================================
   3. INTRO COLLAGE
   A calmer, rectangular cousin of the home page's morphing about collage.
   ========================================================================== */
.pkg-collage{position:relative;z-index:2}
.pkg-collage__grid{
  display:grid;gap:clamp(.7rem,1.4vw,1.1rem);
  grid-template-columns:1fr 1.12fr;
  grid-template-rows:1fr 1fr;
}
.pkg-collage__frame{
  position:relative;overflow:hidden;
  border-radius:var(--r-md);
  box-shadow:var(--sh-md);
  background-image:linear-gradient(150deg,var(--mist),var(--sand));
}
.pkg-collage__frame img{
  width:100%;height:100%;object-fit:cover;display:block;
  transition:transform 1.3s var(--ease-out);
}
.pkg-collage:hover .pkg-collage__frame img{transform:scale(1.06)}
.pkg-collage__frame--tall{
  grid-row:span 2;border-radius:var(--r-lg) var(--r-md) var(--r-md) var(--r-lg);
}
.pkg-collage__frame--a{aspect-ratio:4/5}
.pkg-collage__frame--b{aspect-ratio:4/3}
.pkg-collage__frame--c{aspect-ratio:4/3}

.pkg-collage__badge{
  position:absolute;z-index:4;left:-3%;bottom:7%;
  display:flex;align-items:center;gap:.8rem;
  padding:.95rem 1.3rem;border-radius:var(--r-md);
  background:var(--deep);color:var(--cream);box-shadow:var(--sh-md);
  animation:floatY 7.5s ease-in-out .6s infinite;
}
.pkg-collage__badge .num{
  font-family:var(--font-display);font-size:1.55rem;font-weight:600;
  color:var(--gold-soft);line-height:1;
}
.pkg-collage__badge .lab{
  font-size:.64rem;letter-spacing:.18em;text-transform:uppercase;
  opacity:.84;line-height:1.45;
}
.pkg-collage__ring{inset:-6% -4% -4% -4%;z-index:1}

@media (max-width:991.98px){
  .pkg-collage{margin-bottom:3rem}
  .pkg-collage__badge{left:0}
}
@media (max-width:479.98px){
  .pkg-collage__grid{grid-template-columns:1fr;grid-template-rows:auto}
  .pkg-collage__frame--tall{grid-row:auto;aspect-ratio:4/3}
  .pkg-collage__badge{position:static;margin-top:1.1rem;animation:none;width:max-content}
}

/* ==========================================================================
   4. THERAPY CHIP BAND
   ========================================================================== */
.therapy-band{
  position:relative;overflow:hidden;text-align:center;
  padding:clamp(52px,6vw,80px) 0;
  background:linear-gradient(180deg,#F3EFE3,var(--cream));
  border-block:1px solid var(--line);
}
.therapy-chips{
  display:flex;flex-wrap:wrap;justify-content:center;
  gap:.65rem;margin:1.6rem 0 0;padding:0;list-style:none;
}
.therapy-chips li{
  display:inline-flex;align-items:center;gap:.55rem;
  padding:.6rem 1.2rem;border-radius:var(--r-pill);
  background:#fff;border:1px solid var(--line);
  box-shadow:var(--sh-xs);
  font-size:.87rem;font-weight:500;color:var(--ink);
  transition:transform .4s var(--ease-out),box-shadow .4s var(--ease-out),
             background-color .35s var(--ease),color .35s var(--ease);
}
.therapy-chips li svg{width:17px;height:17px;color:var(--herb);flex:none;transition:color .35s var(--ease)}
.therapy-chips li:hover{
  transform:translateY(-3px);box-shadow:var(--sh-sm);
  background:var(--deep);color:var(--cream);
}
.therapy-chips li:hover svg{color:var(--gold-soft)}

/* ==========================================================================
   5. PACKAGE (DURATION) CARDS
   ========================================================================== */
.pkg-ribbon{
  display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:.7rem;
  margin:0 auto clamp(2rem,3.5vw,2.9rem);
  padding:.85rem 1.7rem;width:max-content;max-width:100%;
  border-radius:var(--r-pill);
  background:linear-gradient(100deg,var(--deep),var(--forest));
  color:var(--cream);text-align:center;
  box-shadow:var(--sh-sm);
  font-size:.79rem;font-weight:600;letter-spacing:.14em;text-transform:uppercase;
}
.pkg-ribbon i{color:var(--gold-soft);font-size:1rem}

.pkg-grid{--gap:clamp(1.1rem,1.8vw,1.55rem)}

.pkg-card{
  position:relative;height:100%;isolation:isolate;overflow:hidden;
  display:flex;flex-direction:column;
  padding:clamp(1.7rem,2.4vw,2.1rem) clamp(1.5rem,2.2vw,1.9rem) clamp(1.6rem,2.2vw,2rem);
  background:#fff;border:1px solid var(--line);
  border-radius:var(--r-md);
  box-shadow:var(--sh-xs);
  transition:transform .55s var(--ease-out),box-shadow .55s var(--ease-out),
             border-color .4s var(--ease);
}
/* soft wash that fades in on hover */
.pkg-card::before{
  content:"";position:absolute;inset:0;z-index:-1;opacity:0;
  background:linear-gradient(165deg,rgba(220,233,225,.6),rgba(242,233,216,.5));
  transition:opacity .55s var(--ease);
}
/* gradient hairline that draws across the top */
.pkg-card::after{
  content:"";position:absolute;top:0;left:0;right:0;height:3px;
  background:linear-gradient(90deg,var(--gold),var(--herb));
  transform:scaleX(0);transform-origin:left;
  transition:transform .6s var(--ease-out);
}
.pkg-card:hover,.pkg-card:focus-within{
  transform:translateY(-9px);
  box-shadow:var(--sh-md);
  border-color:rgba(45,106,79,.22);
}
.pkg-card:hover::before,.pkg-card:focus-within::before{opacity:1}
.pkg-card:hover::after,.pkg-card:focus-within::after{transform:scaleX(1)}

.pkg-card__days{
  display:flex;align-items:baseline;gap:.45rem;
  margin-bottom:.2rem;
}
.pkg-card__num{
  font-family:var(--font-display);
  font-size:clamp(2.7rem,4.6vw,3.5rem);font-weight:600;line-height:.92;
  color:var(--deep);letter-spacing:-.04em;
  transition:color .4s var(--ease);
}
.pkg-card:hover .pkg-card__num{color:var(--herb)}
.pkg-card__unit{
  font-size:.72rem;font-weight:600;letter-spacing:.2em;text-transform:uppercase;
  color:var(--muted);
}
.pkg-card__title{
  font-family:var(--font-body);
  font-size:.74rem;font-weight:600;letter-spacing:.2em;text-transform:uppercase;
  color:var(--herb);margin:0 0 1.15rem;
}
.pkg-card__rule{
  height:1px;border:0;margin:0 0 1.15rem;
  background:linear-gradient(90deg,var(--gold-soft),transparent);
  opacity:.85;
}
.pkg-card__list{
  list-style:none;margin:0 0 1.6rem;padding:0;
  display:grid;gap:.62rem;flex:1 1 auto;
  /* cards are equal height, so the shorter lists must stay top-aligned
     instead of stretching their rows to fill the leftover space */
  align-content:start;
}
.pkg-card__list li{
  display:flex;align-items:flex-start;gap:.7rem;
  font-size:.93rem;line-height:1.5;color:var(--ink);font-weight:500;
}
.pkg-card__list i{
  flex:none;margin-top:.3rem;width:19px;height:19px;border-radius:50%;
  display:grid;place-items:center;font-size:.56rem;
  background:var(--mist);color:var(--herb);
  transition:background-color .35s var(--ease),color .35s var(--ease),transform .45s var(--ease-out);
}
.pkg-card:hover .pkg-card__list i{background:var(--deep);color:var(--gold-soft)}
.pkg-card__list li:hover i{transform:rotate(-12deg) scale(1.14)}

.pkg-card__foot{margin-top:auto}

/* Flag on the most complete programme */
.pkg-card__flag{
  position:absolute;top:1.1rem;right:1.1rem;z-index:2;
  padding:.34rem .78rem;border-radius:var(--r-pill);
  background:linear-gradient(105deg,var(--gold),#D9B45F);
  color:#231705;
  font-size:.6rem;font-weight:700;letter-spacing:.15em;text-transform:uppercase;
  box-shadow:0 8px 18px -10px rgba(15,46,30,.6);
}
.pkg-card--featured{
  border-color:rgba(192,153,63,.4);
  box-shadow:var(--sh-sm);
}
.pkg-card--featured::after{transform:scaleX(1)}

/* Devanagari falls back to a system face that sets much wider than Fraunces,
   so the sloka needs its own measure or it clips on a phone. */
.pkg-sanskrit{
  max-width:none;
  font-size:clamp(1.55rem,5vw,2.9rem);
  line-height:1.55;
}

/* ==========================================================================
   6. FEATURE BAND (postnatal)
   ========================================================================== */
.feature-band__media{
  position:relative;overflow:hidden;
  border-radius:var(--r-lg);
  box-shadow:var(--sh-lg);
  /* the photograph is portrait — a tall frame keeps the whole scene in view
     instead of cropping it down to a head-and-shoulders */
  aspect-ratio:4/4.4;
  background-image:linear-gradient(150deg,var(--mist),var(--sand));
}
.feature-band__media img{
  width:100%;height:100%;object-fit:cover;display:block;
  object-position:center 42%;
  transition:transform 1.3s var(--ease-out);
}
.feature-band__media:hover img{transform:scale(1.06)}
.feature-band__ring{inset:-8% -5% -5% -5%;z-index:1}

.min-stay{
  display:inline-flex;align-items:center;gap:.75rem;
  margin-top:.35rem;padding:.75rem 1.35rem;
  border-radius:var(--r-pill);
  background:var(--mist);border:1px solid rgba(45,106,79,.18);
  color:var(--deep);
  font-size:.78rem;font-weight:600;letter-spacing:.13em;text-transform:uppercase;
}
.min-stay i{color:var(--herb);font-size:1rem}

@media (max-width:991.98px){
  .feature-band__media{
    margin-bottom:3rem;
    aspect-ratio:4/3.6;
    width:min(100%,520px);margin-inline:auto;
  }
}

/* ==========================================================================
   7. KALARI PACKAGE CARDS
   ========================================================================== */
.kalari-card{
  position:relative;height:100%;overflow:hidden;
  display:flex;flex-direction:column;
  background:#fff;border:1px solid var(--line);
  border-radius:var(--r-md);
  box-shadow:var(--sh-sm);
  transition:transform .55s var(--ease-out),box-shadow .55s var(--ease-out);
}
.kalari-card:hover,.kalari-card:focus-within{
  transform:translateY(-10px);box-shadow:var(--sh-md);
}
.kalari-card__media{
  position:relative;overflow:hidden;aspect-ratio:16/11;flex:none;
  background-image:linear-gradient(150deg,var(--mist),var(--sand));
}
.kalari-card__media img{
  width:100%;height:100%;object-fit:cover;display:block;
  transition:transform 1.2s var(--ease-out);
}
.kalari-card:hover .kalari-card__media img,
.kalari-card:focus-within .kalari-card__media img{transform:scale(1.09)}
.kalari-card__media::after{
  content:"";position:absolute;inset:0;
  background:linear-gradient(180deg,transparent 40%,rgba(15,46,30,.5));
}
.kalari-card__tag{
  position:absolute;z-index:2;left:1.1rem;top:1.1rem;
  padding:.4rem .9rem;border-radius:var(--r-pill);
  background:rgba(15,46,30,.72);color:var(--gold-soft);
  border:1px solid rgba(226,200,138,.3);
  backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);
  font-size:.62rem;font-weight:600;letter-spacing:.17em;text-transform:uppercase;
}
.kalari-card__body{
  display:flex;flex-direction:column;flex:1 1 auto;
  padding:1.9rem clamp(1.4rem,2vw,1.8rem) clamp(1.5rem,2vw,1.85rem);
}
.kalari-card__body h3{margin-bottom:.7rem}
.kalari-card__body p{font-size:.94rem;margin-bottom:1.35rem}
.kalari-card__body .link-more{margin-top:auto;align-self:flex-start}

/* ==========================================================================
   8. SHARED SMALL PIECES
   ========================================================================== */
/* A muted note under a card grid */
.pkg-footnote{
  margin-top:clamp(1.8rem,3vw,2.6rem);
  text-align:center;font-size:.9rem;color:var(--muted);
}
.pkg-footnote strong{color:var(--ink);font-weight:600}

/* Decorative blobs for this page's sections */
.blob--pkg-a{
  width:min(56vw,620px);aspect-ratio:1;top:-14%;right:-16%;
  background:radial-gradient(circle,rgba(169,201,182,.5),transparent 68%);
  animation:driftB 26s ease-in-out infinite;
}
.blob--pkg-b{
  width:min(50vw,540px);aspect-ratio:1;bottom:-18%;left:-14%;
  background:radial-gradient(circle,rgba(226,200,138,.42),transparent 68%);
  animation:driftA 30s ease-in-out infinite;
}
.blob--pkg-c{
  width:min(46vw,500px);aspect-ratio:1;top:6%;left:-13%;
  background:radial-gradient(circle,rgba(169,201,182,.44),transparent 68%);
  animation:driftA 28s ease-in-out infinite;
}

@media print{
  .page-hero{min-height:auto;padding:1.5rem 0;color:#000;background:#fff}
  .page-hero::before,.page-hero__bg{display:none}
  .page-hero__title{color:#000}
  .pkg-card,.kalari-card{break-inside:avoid;box-shadow:none}
}
