@import url('https://fonts.googleapis.com/css2?family=Anek+Telugu:wght@100..800&display=swap');

/* =====================================================================
   divyakshetram — tenant theme
   Scope: EVERY rule must be prefixed `#t-divyakshetram`. One file, no @import.
   Spec: .claude/theme-work/divyakshetram/spec.md
   Design: .claude/theme-work/divyakshetram/design/*.png

   ⚠️ EDIT FENCES — two authors work this file in parallel.
      Acharya (main thread) owns  [ROOT] [CHROME] [HOME] [CARDS] [FOOTER] [BPAGES]
      Chitrakar (designer agent)  owns  [PD] and [PKG] only.
      Never edit outside your own fence.
   ===================================================================== */

/* ==== [ROOT] day-one brand remap — auto-themes every base component ==== */
#t-divyakshetram{
  /* palette */
  --brand-primary:#B3261E;
  --brand-primary-dark:#8E1D17;
  --brand-dark-b:#17100B;
  --brand-accent:#D9B968;
  --brand-accent-dark:#C0A155;
  --brand-ink:#1C120A;
  --brand-ink-soft:#382E25;
  --brand-muted:#5A4635;
  --brand-muted-2:#8C8378;
  --brand-line:rgba(28,18,10,.10);
  --brand-ground:#FDF4E6;
  --brand-ground-2:#F7E9D2;
  --brand-surface:#FFFBF4;
  --brand-gold-soft:#FBEECA;
  --brand-gold-line:#D5C08D;
  --brand-green:#2E5E45;

  /* radii — this tenant is PILL, not radius-8 */
  --brand-cta-radius:999px;
  --brand-card-radius:16px;

  /* type */
  /* Designer's call (Boss, 2026-08-19): Anek Telugu across the theme — one
     variable family (100..800) for both display and body, so headings get REAL
     weights instead of the faux-bold a single-weight Indic face forces. */
  --dk-serif:'Anek Telugu','Noto Sans Telugu','Noto Sans',system-ui,sans-serif;
  --dk-sans:'Anek Telugu','Noto Sans Telugu','Noto Sans',system-ui,sans-serif;
  --dk-container:1150px;

  /* the Telugu display face is single-weight: without this every 600/700
     heading faux-bolds. */
  font-synthesis:none;
}
/* ==== [/ROOT] ==== */

/* ==== [CHROME]  header · marquee · nav — Acharya ==== */
/* --- page ground ------------------------------------------------------- */
#t-divyakshetram,
#t-divyakshetram body,
#t-divyakshetram .vmv2.dk{ background:var(--brand-ground); color:var(--brand-ink); }
/* the shared user layout wrapper paints white under every route; on pages whose
   own section backgrounds don't cover it (checkout) that showed as a white band */
#t-divyakshetram .user-layout,
#t-divyakshetram .user-main-content,
#t-divyakshetram app-user-layout{ background:var(--brand-ground); }
/* tenant-WIDE, not scoped to the home wrapper — every route (listings, account,
   checkout, status) must take the theme face, not a system Telugu fallback. */
#t-divyakshetram,
#t-divyakshetram input,
#t-divyakshetram select,
#t-divyakshetram textarea,
#t-divyakshetram button{ font-family:var(--dk-sans); }
#t-divyakshetram .vmv2.dk .container{ width:min(var(--dk-container),90%); margin-inline:auto; }

#t-divyakshetram .display,
#t-divyakshetram h1,
#t-divyakshetram h2,
#t-divyakshetram h3,
#t-divyakshetram h4,
#t-divyakshetram h5{ font-family:var(--dk-serif); color:var(--brand-ink); font-weight:600; letter-spacing:-.01em; }

/* --- header ------------------------------------------------------------ */
#t-divyakshetram app-vm-header .vm-header,
#t-divyakshetram app-vm-header header{
  background:var(--brand-ground);
  border-bottom:1px solid var(--brand-line);
  box-shadow:none;
}
#t-divyakshetram app-vm-header .vm-logo img,
#t-divyakshetram app-vm-header .logo img{ height:38px; width:auto; }
#t-divyakshetram app-vm-header a{ font-family:var(--dk-sans); color:var(--brand-ink); }
#t-divyakshetram app-vm-header nav a{
  font-size:16px; font-weight:600; letter-spacing:.02em; text-transform:none; color:var(--brand-ink);
}
#t-divyakshetram app-vm-header nav a:hover{ color:var(--brand-primary); }

/* the "Whatsapp Support" pill — solid maroon in this design, not outlined.
   `.nav-wa` is the real class (probed off the rendered header). */
#t-divyakshetram app-vm-header .nav-wa{
  background:var(--brand-primary); border:0; border-radius:999px; color:#fff;
  padding:10px 20px; font-weight:700; font-size:13px; box-shadow:none;
}
#t-divyakshetram app-vm-header .nav-wa *{ color:#fff; border-color:transparent; }
#t-divyakshetram app-vm-header .nav-wa svg{ stroke:#fff; fill:none; }
#t-divyakshetram app-vm-header .nav-wa img{ filter:brightness(0) invert(1); }
/* the two-line "Need Help? / Whatsapp Support" collapses to one label here */
#t-divyakshetram app-vm-header .nav-wa small,
#t-divyakshetram app-vm-header .nav-wa .wa-cap{ display:none; }

/* --- marquee (maroon strip directly under the header) ------------------- */
#t-divyakshetram .dk-marquee{
  width:100%; max-width:none; margin:0; padding:0;
  background:var(--brand-primary); overflow:hidden;
}
#t-divyakshetram .dk-marquee .marquee-track{
  display:flex; flex-wrap:nowrap; gap:0; padding:0; width:max-content;
  animation:dk-mq 42s linear infinite;
}
#t-divyakshetram .dk-marquee:hover .marquee-track{ animation-play-state:paused; }
@keyframes dk-mq{ from{ transform:translateX(0); } to{ transform:translateX(-50%); } }
#t-divyakshetram .dk-marquee .mq-set{
  display:flex; flex-wrap:nowrap; align-items:center; gap:0;
  flex:0 0 auto; width:auto; padding:0; justify-content:flex-start;
}
#t-divyakshetram .dk-marquee .mq-set--dup{ display:flex; }
#t-divyakshetram .dk-marquee .mq-item{
  display:inline-flex; align-items:center; gap:8px;
  flex:0 0 auto; width:auto; min-width:0; max-width:none;
  margin:0; padding:11px 26px;
  background:none; border:0; border-radius:0; box-shadow:none;
  color:#FBEFD9; font-family:var(--dk-sans); font-size:14px; font-weight:500; white-space:nowrap;
}
#t-divyakshetram .dk-marquee .mq-ic{ width:14px; height:14px; filter:brightness(0) invert(1) opacity(.85); }
#t-divyakshetram .dk-marquee .mq-sep{
  flex:0 0 auto; width:9px; height:9px; margin:0; background:none; border:0; align-self:center;
  color:var(--brand-accent); position:relative;
}
#t-divyakshetram .dk-marquee .mq-sep::before{
  content:'\2726'; color:var(--brand-accent); font-size:11px; line-height:1;
  position:absolute; inset:0; display:grid; place-items:center;
}

/* --- scroll-reveal off ---------------------------------------------------
   The base fades `[data-reveal]` in on intersection. In this theme whole
   sections were sticking at opacity:0 (the observer never reaches presenter
   markup mounted after init), and the design has no scroll animation anyway. */
#t-divyakshetram .vmv2.dk .reveal,
#t-divyakshetram .vmv2.dk [data-reveal]{
  opacity:1 !important; transform:none !important; visibility:visible !important;
}

/* --- shared section furniture ------------------------------------------ */
#t-divyakshetram .vmv2.dk .dk-eyebrow{
  display:flex; align-items:center; gap:10px;
  font-family:var(--dk-sans); font-size:11px; font-weight:600;
  letter-spacing:.18em; color:var(--brand-primary); margin-bottom:14px;
}
#t-divyakshetram .vmv2.dk .dk-dash{
  flex:none; width:22px; height:2px; background:var(--brand-primary); border-radius:2px;
}
#t-divyakshetram .vmv2.dk .hero-eyebrow{
  display:flex; align-items:center; gap:10px;
  font-family:var(--dk-sans); font-size:11px; font-weight:600;
  letter-spacing:.18em; color:var(--brand-primary); margin:0 0 18px;
}
#t-divyakshetram .vmv2.dk .dk-head-sub{
  font-family:var(--dk-sans); font-size:14px; line-height:1.75;
  color:var(--brand-muted); max-width:52ch; margin:14px 0 0;
}
#t-divyakshetram .vmv2.dk .dk-head-center,
#t-divyakshetram .vmv2.dk .dk-head-center .display,
#t-divyakshetram .vmv2.dk .dk-head-center h2{ text-align:center; }
#t-divyakshetram .vmv2.dk .dk-head-center .dk-eyebrow{ justify-content:center; }
#t-divyakshetram .vmv2.dk .dk-head-center .dk-head-sub{ margin-inline:auto; }

/* --- sticky chrome stack on the details pages ---------------------------
   The site header is already `position:sticky; top:0` (91px on desktop; under
   1025px it collapses and a 59px minibar takes over). The marquee strip and the
   section nav now stack UNDER it so the whole chrome travels together and the
   tab nav stays reachable down the page (Boss, 2026-08-19).
   Heights are a variable, so one edit moves the whole stack. */
#t-divyakshetram{ --dk-hdr-h:91px; --dk-strip-h:39px; --dk-tabs-h:54px; }
@media (max-width:1024px){ #t-divyakshetram{ --dk-hdr-h:59px; --dk-tabs-h:48px; } }

#t-divyakshetram .dk-marquee--stick{
  position:sticky; top:var(--dk-hdr-h); z-index:9998;
}
#t-divyakshetram .dk-pd .dk-tabs{
  position:sticky; top:calc(var(--dk-hdr-h) + var(--dk-strip-h)); z-index:9997;
  background:var(--brand-ground);
  border-bottom:1px solid var(--brand-line);
  box-shadow:0 6px 14px -12px rgba(28,18,10,.5);
  /* a sticky bar sitting on scrolling content needs its own ground, or the
     page shows through as it passes underneath */
}
@media (max-width:900px){
  #t-divyakshetram .dk-pd .dk-tab{ padding:13px 0; font-size:12.5px; }
}
/* The desktop booking bar sits above the sticky tab nav (9997) too — see the
   matching note on .pd-mobile-cta. */
#t-divyakshetram .dk-pd .booking-bar-wrap,
#t-divyakshetram .dk-pd .fixed-price-bar{ z-index:9998 !important; }
/* the page's own scroll-to-section offset must clear the whole stack */
#t-divyakshetram .dk-pd [id$="-section"]{
  scroll-margin-top:calc(var(--dk-hdr-h) + var(--dk-strip-h) + var(--dk-tabs-h) + 12px);
}
/* ==== [/CHROME] ==== */

/* ==== [HOME]  hero · stats · journey · packages · faq — Acharya ==== */
/* --- hero --------------------------------------------------------------- */
#t-divyakshetram .vmv2.dk .dk-hero{
  background:var(--brand-ground); padding:64px 0 78px; position:relative; overflow:hidden;
}
#t-divyakshetram .vmv2.dk .dk-hero .corner-design{ display:none; }
/* the base hero paints vedamandir's mandala watermark through ::after — this
   design has a plain cream ground, and the flagship's art must not leak in */
#t-divyakshetram .vmv2.dk .dk-hero::after,
#t-divyakshetram .vmv2.dk .dk-hero::before{ background-image:none; content:none; }
#t-divyakshetram .vmv2.dk .dk-hero .hero-inner{
  display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1.05fr); gap:64px; align-items:center;
}
#t-divyakshetram .vmv2.dk .dk-hero .hero-title{
  font-family:var(--dk-serif); font-size:clamp(38px,3.6vw,54px); line-height:1.18;
  color:var(--brand-ink); margin:0 0 20px; font-weight:600; letter-spacing:-.015em;
}
#t-divyakshetram .vmv2.dk .dk-hero .hero-sub{
  font-family:var(--dk-sans); font-size:14px; line-height:1.85;
  color:var(--brand-muted); margin:0 0 30px; max-width:46ch;
}
#t-divyakshetram .vmv2.dk .dk-hero .hero-ctas{ display:flex; }
#t-divyakshetram .vmv2.dk .pill-btn.primary{
  display:inline-flex; align-items:center; gap:12px;
  background:var(--brand-primary); color:#fff; border:0; border-radius:999px;
  padding:15px 26px; font-family:var(--dk-sans); font-weight:700; font-size:14px;
  box-shadow:0 8px 22px rgba(179,38,30,.22); transition:background .18s ease;
}
#t-divyakshetram .vmv2.dk .pill-btn.primary:hover{ background:var(--brand-primary-dark); }
#t-divyakshetram .vmv2.dk .pill-btn.primary .pill-text{ color:#fff; }
#t-divyakshetram .vmv2.dk .pill-btn.primary .pill-icon{
  width:26px; height:26px; display:grid; place-items:center;
  background:rgba(255,255,255,.16); border-radius:999px;
}
#t-divyakshetram .vmv2.dk .pill-btn.primary .pill-icon img{ width:12px; filter:brightness(0) invert(1); }

#t-divyakshetram .vmv2.dk .dk-hero .hero-card{
  border-radius:18px; overflow:hidden; box-shadow:0 18px 44px rgba(28,18,10,.16); background:none;
}
#t-divyakshetram .vmv2.dk .dk-hero .hcard-img img{ width:100%; height:auto; display:block; }
#t-divyakshetram .vmv2.dk .dk-hero .hero-dots{ display:flex; gap:7px; justify-content:center; margin-top:18px; }
#t-divyakshetram .vmv2.dk .dk-hero .hero-dot{
  width:7px; height:7px; border-radius:999px; border:0; padding:0;
  background:rgba(28,18,10,.20); transition:width .2s ease,background .2s ease;
}
#t-divyakshetram .vmv2.dk .dk-hero .hero-dot.is-on{ width:22px; background:var(--brand-primary); }

/* --- stats band (full-bleed dark) --------------------------------------- */
#t-divyakshetram .vmv2.dk .dk-stats{ background:var(--brand-dark-b); padding:34px 0; }
#t-divyakshetram .vmv2.dk .dk-stats-row{
  display:grid; grid-auto-flow:column; grid-auto-columns:1fr; align-items:center;
}
#t-divyakshetram .vmv2.dk .dk-stat{
  display:flex; flex-direction:column; align-items:center; gap:4px;
  text-align:center; padding:4px 22px; border-left:1px solid rgba(216,185,104,.20);
}
#t-divyakshetram .vmv2.dk .dk-stat:first-child{ border-left:0; }
#t-divyakshetram .vmv2.dk .dk-stat-num{
  font-family:var(--dk-serif);     font-weight: 700;
    font-size: 30.4px;
    line-height: 42px;
    text-align: center; color:var(--brand-accent);
}
#t-divyakshetram .vmv2.dk .dk-stat-lbl{
  font-family:var(--dk-sans); font-size:11.5px; line-height:1.6; color:rgba(253,244,230,.72); max-width:26ch;
}
/* a value-less item is the design's 4th cell — the label carries it, in gold serif */
#t-divyakshetram .vmv2.dk .dk-stat.label-only .dk-stat-lbl{
  font-family:var(--dk-serif); font-size:20px; font-weight:600; line-height:1.4;
  color:var(--brand-accent); max-width:22ch;
}

/* --- puja section head -------------------------------------------------- */
#t-divyakshetram .vmv2.dk .pujas{ background:var(--brand-ground); padding:78px 0 84px; }
#t-divyakshetram .vmv2.dk .pujas-head{ display:block; margin-bottom:22px; }
#t-divyakshetram .vmv2.dk .pujas-head .display{
  font-size:clamp(30px,2.7vw,42px); line-height:1.2; margin:0; color:var(--brand-ink);
}
#t-divyakshetram .vmv2.dk .dk-count-pill{
  flex:0 0 auto; margin-left:6px; white-space:nowrap;
  display:inline-flex; align-items:center;
  padding:15px 20px 10px 21px; border-radius:999px;
  border:1px solid var(--brand-gold-line); background:var(--brand-ground);
  font-family:var(--dk-sans); font-size:12.5px; font-weight:600; color:var(--brand-ink);
  text-decoration:none; transition:background .18s ease,color .18s ease;
}
#t-divyakshetram .vmv2.dk .dk-count-pill:hover{ background:var(--brand-primary); border-color:var(--brand-primary); color:#fff; }

/* --- journey ------------------------------------------------------------ */
#t-divyakshetram .vmv2.dk .dk-journey{ background:var(--brand-ground); padding:20px 0 78px; }
#t-divyakshetram .vmv2.dk .dk-journey .journey-grid{ display:block; }
/* The design centres the whole head block; the base grid was left-aligning it. */
#t-divyakshetram .vmv2.dk .dk-journey .dk-head-center,
#t-divyakshetram .vmv2.dk .dk-journey .display,
#t-divyakshetram .vmv2.dk .dk-journey .dk-head-sub{ text-align:center; }
#t-divyakshetram .vmv2.dk .dk-journey .display{
  font-size:clamp(28px,2.7vw,42px);     line-height: 1.22;
    margin: 0 auto;
    max-width: fit-content;
    text-align: center;
}
#t-divyakshetram .vmv2.dk .dk-journey .journey-steps{
  display:grid; grid-template-columns:repeat(4,1fr); gap:34px; margin-top:52px;
  padding-bottom:44px; border-bottom:1px solid var(--brand-line);
  align-items:start;
}
/* Ghost numeral, icon, title, copy — a plain column in that order. It used to be
   an absolutely-positioned numeral, which overlapped the icon at every width. */
#t-divyakshetram .vmv2.dk .dk-journey .jstep{
  position:static; display:flex; flex-direction:column; align-items:flex-start;
  text-align:left; padding:0; gap:0; min-width:0;
}
#t-divyakshetram .vmv2.dk .dk-journey .dk-ghost-num{
  position:static; display:block; margin:0 0 6px;
  font-family:var(--dk-serif); font-size:52px; font-weight:600; line-height:1;
  color:var(--brand-gold-line); opacity:.55; pointer-events:none;
}
#t-divyakshetram .vmv2.dk .dk-journey .jstep-num{
  display:none;
}
#t-divyakshetram .vmv2.dk .dk-journey .jstep-num img{ width:24px; height:24px; }
#t-divyakshetram .vmv2.dk .dk-journey .jstep-label{
  font-family:var(--dk-sans); font-size:16px; line-height:1.7;
  color:var(--brand-muted); text-align:left; max-width:30ch; margin:0;
}
#t-divyakshetram .vmv2.dk .dk-journey .jstep-label b,
#t-divyakshetram .vmv2.dk .dk-journey .jstep-label strong{
  display:block; margin-bottom:6px; font-size:14px; font-weight:700; color:var(--brand-ink);
}
#t-divyakshetram .vmv2.dk .dk-journey .step-arrow{ display:none; }

/* --- packages ----------------------------------------------------------- */
#t-divyakshetram .vmv2.dk .dk-packages{ background:var(--brand-ground); padding:44px 0 84px; }
#t-divyakshetram .vmv2.dk .dk-pk-head{ font-size:clamp(28px,2.5vw,38px); margin:0 0 30px; }
#t-divyakshetram .vmv2.dk .dk-pk-grid{ display:grid; grid-template-columns:repeat(2,1fr); gap:28px; }
#t-divyakshetram .vmv2.dk .dk-pk-card{
  background:var(--brand-surface); border:1px solid var(--brand-line);
  border-radius:var(--brand-card-radius); overflow:hidden; cursor:pointer;
  box-shadow:0 2px 10px rgba(28,18,10,.05); transition:box-shadow .2s ease;
  display:flex; flex-direction:column;
}
#t-divyakshetram .vmv2.dk .dk-pk-card:hover{ box-shadow:0 12px 30px rgba(28,18,10,.12); }
#t-divyakshetram .vmv2.dk .dk-pk-img{ padding:14px 14px 0; }
#t-divyakshetram .vmv2.dk .dk-pk-img img{
  width:100%; aspect-ratio:3/2; object-fit:cover; display:block; border-radius:12px;
}
#t-divyakshetram .vmv2.dk .dk-pk-body{ padding:18px 20px 20px; display:flex; flex-direction:column; gap:10px; flex:1; }
#t-divyakshetram .vmv2.dk .dk-pk-chip{
  align-self:flex-start; padding:5px 12px; border-radius:999px;
  background:var(--brand-ground-2); color:var(--brand-muted);
  font-family:var(--dk-sans); font-size:11px; font-weight:600;
}
#t-divyakshetram .vmv2.dk .dk-pk-name{
  font-family:var(--dk-serif); font-size:20px; line-height:1.35; margin:0; color:var(--brand-ink);
}
#t-divyakshetram .vmv2.dk .dk-pk-foot{
  display:flex; align-items:center; justify-content:space-between; gap:14px; margin-top:auto; padding-top:12px;
}
#t-divyakshetram .vmv2.dk .dk-pk-amt{
  display:block; font-family:var(--dk-sans); font-size:21px; font-weight:700; color:var(--brand-ink);
}
#t-divyakshetram .vmv2.dk .dk-pk-strike{
  margin-right:8px; font-size:14px; font-weight:500; color:var(--brand-muted-2); text-decoration:line-through;
}
#t-divyakshetram .vmv2.dk .dk-pk-per{
  display:block; margin-top:2px; font-family:var(--dk-sans); font-size:11px; color:var(--brand-muted-2);
}

/* --- faq ---------------------------------------------------------------- */
#t-divyakshetram .vmv2.dk .dk-faq{ background:var(--brand-surface); padding:56px 0 88px; }
#t-divyakshetram .vmv2.dk .dk-faq .faq-grid{ display:block; }
#t-divyakshetram .vmv2.dk .dk-faq .faq-head{ margin:0 0 40px; }
#t-divyakshetram .vmv2.dk .dk-faq .faq-head h2{ justify-content:center; text-align:center; }
#t-divyakshetram .vmv2.dk .dk-faq .display{ font-size:clamp(30px,2.7vw,42px); line-height:1.22; margin:0; }
#t-divyakshetram .vmv2.dk .dk-faq .faq-list{ max-width:760px; margin-inline:auto; }
#t-divyakshetram .vmv2.dk .dk-faq .faq-item{
  background:none; border:0; border-bottom:1px solid var(--brand-line); border-radius:0;
  padding:0; box-shadow:none;
}
#t-divyakshetram .vmv2.dk .dk-faq .faq-item summary{
  display:flex; align-items:center; justify-content:space-between; gap:20px;
  padding:20px 4px; cursor:pointer; list-style:none;
  font-family:var(--dk-sans); font-size:14.5px; font-weight:600; color:var(--brand-ink);
}
#t-divyakshetram .vmv2.dk .dk-faq .faq-item summary::-webkit-details-marker{ display:none; }
#t-divyakshetram .vmv2.dk .dk-faq .faq-mark{
  flex:none; width:20px; height:20px; display:grid; place-items:center;
  background:none; border:0; border-radius:0; color:var(--brand-primary);
}
#t-divyakshetram .vmv2.dk .dk-faq .faq-body{
  padding:0 4px 22px; font-family:var(--dk-sans); font-size:13.5px; line-height:1.8; color:var(--brand-muted);
}

/* --- mobile (430) -------------------------------------------------------- */
@media (max-width:900px){
  #t-divyakshetram .vmv2.dk .dk-hero{ padding:34px 0 42px; }
  #t-divyakshetram .vmv2.dk .dk-hero .hero-inner{ grid-template-columns:1fr; gap:28px; }
  #t-divyakshetram .vmv2.dk .dk-hero .hero-title{ font-size:30px; }
  #t-divyakshetram .vmv2.dk .dk-stats-row{ grid-auto-flow:row; grid-auto-columns:auto; gap:0; }
  #t-divyakshetram .vmv2.dk .dk-stat{
    border-left:0; border-top:1px solid rgba(216,185,104,.20); padding:18px 10px;
  }
  #t-divyakshetram .vmv2.dk .dk-stat:first-child{ border-top:0; }
  #t-divyakshetram .vmv2.dk .pujas{ padding:44px 0 48px; }
  #t-divyakshetram .vmv2.dk .pujas-head{ flex-direction:column; align-items:flex-start; gap:18px; }
  #t-divyakshetram .vmv2.dk .dk-journey .journey-steps{ grid-template-columns:1fr 1fr; gap:26px; }
  #t-divyakshetram .vmv2.dk .dk-pk-grid{ grid-template-columns:1fr; gap:18px; }
  #t-divyakshetram .vmv2.dk .dk-faq{ padding:20px 0 56px; }
}
/* ==== [/HOME] ==== */

/* ==== [CARDS]  .puja-card shared by /pujas /packages /chadavas + home grid — Acharya ==== */
/* Shared by the home grid AND /pujas, /packages, /chadavas — ONE card. */
#t-divyakshetram .puja-grid{
  display:grid; grid-template-columns:repeat(3,1fr); gap:24px;
}
#t-divyakshetram .puja-card{
  background:var(--brand-surface);
  border:1px solid var(--brand-line);
  border-radius:var(--brand-card-radius);
  overflow:hidden; cursor:pointer;
  box-shadow:0 2px 10px rgba(28,18,10,.05);
  transition:box-shadow .2s ease;
  display:flex; flex-direction:column;
}
#t-divyakshetram .puja-card:hover{ box-shadow:0 12px 30px rgba(28,18,10,.12); transform:none; }

#t-divyakshetram .puja-card .puja-img{ position:relative; aspect-ratio:3/2; overflow:hidden; }
/* the design has NO hover zoom — the creatives carry baked text that a scale
   crops into. */
#t-divyakshetram .puja-card .puja-img img{
  width:100%; height:100%; object-fit:cover; display:block; transform:none; transition:none;
}
#t-divyakshetram .puja-card:hover .puja-img img{ transform:none; }

/* date + time chip in the card BODY (Boss, 2026-08-19) — the design's slot held
   the weekday; the date and the muhurat time are the useful half. */
#t-divyakshetram .puja-card .dk-when{
  align-self:flex-start; padding:5px 12px; border-radius:999px;
  background:var(--brand-ground-2); color:var(--brand-muted);
  font-family:var(--dk-sans); font-size:11px; font-weight:600; white-space:nowrap;
}
#t-divyakshetram .puja-card .dk-ribbon{
  position:absolute; top:10px; left:10px; z-index:2; max-width:52%;
  padding:5px 10px; border-radius:999px;
  background:rgba(216,185,104,.94); color:#3B2A10;
  font-family:var(--dk-sans); font-size:10.5px; font-weight:700; line-height:1.25;
  white-space:nowrap; overflow:hidden; text-overflow:ellipsis;
}
/* Wishlist + share kept (Boss, 2026-08-19) even though the design omits them —
   they sit top-RIGHT, opposite the tag, so the two never collide. */
#t-divyakshetram .puja-card .puja-acts{
  position:absolute; top:10px; right:10px; left:auto; bottom:auto; z-index:2;
  display:flex; flex-direction:column; gap:7px;
}
#t-divyakshetram .puja-card .puja-act{
  background:rgba(255,251,244,.92); border:1px solid var(--brand-line); color:var(--brand-ink);
  box-shadow:0 2px 8px rgba(28,18,10,.12);
}
#t-divyakshetram .puja-card .puja-act.is-saved{ color:var(--brand-primary); }

#t-divyakshetram .puja-card .puja-body{
  padding:16px 18px 18px; display:flex; flex-direction:column; gap:9px; flex:1;
}
/* The home grid and the listing grid ship the SAME markup: title, desc, then a
   .puja-date-place holding a temple row and a date row. `display:contents`
   promotes those two rows to flex children of .puja-body so `order` can lift the
   date above the title — matching the design's chip — without either template
   having to change. One card, four pages. */
#t-divyakshetram .puja-card .puja-date-place{
  display:contents;
}
#t-divyakshetram .puja-card .puja-date:not(.templename){
  order:-1; align-self:flex-start; width:auto; max-width:100%;
  display:inline-flex; align-items:center; gap:6px;
  margin:0 0 2px; padding:5px 12px; border:0; border-radius:999px;
  background:var(--brand-ground-2); color:var(--brand-muted);
  font-family:var(--dk-sans); font-size:11px; font-weight:600; white-space:nowrap;
}
#t-divyakshetram .puja-card .puja-name{ order:0; }
#t-divyakshetram .puja-card .puja-desc{ order:1; }
#t-divyakshetram .puja-card .puja-date.templename{ order:2; }
#t-divyakshetram .puja-card .puja-foot{ order:3; }
#t-divyakshetram .puja-card .puja-yaga{ display:none; }
#t-divyakshetram .puja-card .puja-name{
  font-family:var(--dk-serif); font-weight:600; letter-spacing:-.01em;
  font-size:17px; line-height:1.38; color:var(--brand-ink); margin:0;
  display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden;
}
#t-divyakshetram .puja-card .puja-desc{
  font-family:var(--dk-sans); font-size:12.5px; line-height:1.65; color:var(--brand-muted); margin:0;
  display:-webkit-box; -webkit-line-clamp:3; -webkit-box-orient:vertical; overflow:hidden;
}
#t-divyakshetram .puja-card .puja-date{
  display:flex; align-items:center; gap:7px;
  background:none; border:0; border-radius:0; padding:0;
  font-family:var(--dk-sans); font-size:12px; color:var(--brand-muted);
}
#t-divyakshetram .puja-card .puja-date .yaga-ic,
#t-divyakshetram .puja-card .puja-date .cal-ic{ width:13px; height:13px; opacity:.75; }

#t-divyakshetram .puja-card .puja-foot{
  display:flex; align-items:center; justify-content:space-between; gap:12px;
  margin-top:auto; padding-top:14px;
}
#t-divyakshetram .puja-card .puja-price{ display:flex; flex-direction:column; gap:1px; }
#t-divyakshetram .puja-card .puja-amt{
  font-family:var(--dk-sans); font-size:20px; font-weight:700; color:var(--brand-ink); line-height:1.2;
}
#t-divyakshetram .puja-card .puja-amt > span{
  margin-right:7px; font-size:13px; font-weight:500; color:var(--brand-muted-2); text-decoration:line-through;
}
#t-divyakshetram .puja-card .puja-per{
  font-family:var(--dk-sans); font-size:10.5px; color:var(--brand-muted-2);
}

/* card CTA is the DARK pill (the maroon pill is reserved for the page's primary
   action — two-button system, see spec.md §2). */
#t-divyakshetram .book-btn,
#t-divyakshetram .dk-pk-card .book-btn{
  display:inline-flex; align-items:center; gap:9px;
  background:var(--brand-ink-soft); color:#fff; border:0; border-radius:999px;
  padding:15px 15px 10px 15px;
  font-family:var(--dk-sans); font-size:12.5px; font-weight:600; white-space:nowrap;
  box-shadow:none; transition:background .18s ease;
}
#t-divyakshetram .book-btn:hover{ background:var(--brand-ink); }
/* keep the pill hugging its label — in the 2-up package grid it was flexing to
   fill the whole footer row. */
#t-divyakshetram .puja-foot .book-btn,
#t-divyakshetram .dk-pk-foot .book-btn{ flex:0 0 auto; width:auto; justify-content:flex-start; }
#t-divyakshetram .book-btn .book-ic{
  width:20px; height:20px; display:grid; place-items:center;
  background:rgba(255,255,255,.18); border-radius:999px;
  color:#fff; border:0;
}
#t-divyakshetram .book-btn .book-ic img{ width:10px; filter:brightness(0) invert(1); }
/* the listing card's arrow is an inline SVG on currentColor, not an <img> —
   without this it inherits a dark colour and vanishes into the pill. */
#t-divyakshetram .book-btn .book-ic svg{ width:12px; height:12px; stroke:#fff; color:#fff; fill:none; }

/* category chips */
/* Chips were wrapping to four rows on mobile and looked broken on desktop.
   One line, scrollable, snap points, scrollbar hidden — the flagship behaviour. */
#t-divyakshetram .pujas-filter,
#t-divyakshetram .puja-chips{
  display:flex; flex-wrap:nowrap; gap:9px; margin:0 0 26px;
  overflow-x:auto; overflow-y:hidden;
  scroll-snap-type:x proximity;
  -webkit-overflow-scrolling:touch;
  scrollbar-width:none;
  /* bleed to the viewport edge on mobile so the row reads as scrollable */
  padding-bottom:2px;
}
#t-divyakshetram .pujas-filter::-webkit-scrollbar,
#t-divyakshetram .puja-chips::-webkit-scrollbar{ display:none; }
#t-divyakshetram .pujas-filter > *,
#t-divyakshetram .puja-chips > *{ flex:0 0 auto; scroll-snap-align:start; }
#t-divyakshetram .filter-chip{
  flex:0 0 auto; white-space:nowrap;
  padding:15px 20px 10px 21px; border-radius:999px;
  border:1px solid var(--brand-gold-line); background:var(--brand-ground);
  font-family:var(--dk-sans); font-size:12px; font-weight:600; color:var(--brand-muted);
  transition:background .16s ease,color .16s ease,border-color .16s ease;
}
#t-divyakshetram .filter-chip .filter-tick{ display:none; }
#t-divyakshetram .filter-chip.is-on{
  background:var(--brand-primary); border-color:var(--brand-primary); color:#fff;
}

/* --- listing pages: /pujas, /packages, /chadavas ------------------------- */
#t-divyakshetram .pujas-page{ background:var(--brand-ground); }
#t-divyakshetram .puja-hero{
  position:relative; overflow:hidden;
  background:
    /* a faint gold weave, drawn in CSS — no artwork, so nothing to leak or load */
    repeating-linear-gradient(135deg, rgba(216,185,104,.055) 0 1px, rgba(216,185,104,0) 1px 11px),
    radial-gradient(120% 150% at 50% -35%, rgba(216,185,104,.20) 0%, rgba(216,185,104,0) 62%),
    var(--brand-ground-2);
  border-bottom:1px solid var(--brand-gold-line);
  padding:64px 0 56px;
}
/* The flagship band paints vedamandir's chakra line-art left and right through
   two `.puja-hero-orn` spans (assets/home-v2/chakra1|2.png). This design is
   typographic and must not inherit another brand's ornament. */
#t-divyakshetram .puja-hero-orn{ display:none !important; }

/* thin gold rule top and bottom — the tenant's own framing device */
#t-divyakshetram .puja-hero::before,
#t-divyakshetram .puja-hero::after{
  content:''; position:absolute; left:0; right:0; height:1px; pointer-events:none;
  background:linear-gradient(90deg,transparent,var(--brand-gold-line),transparent);
}
#t-divyakshetram .puja-hero::before{ top:0; }
#t-divyakshetram .puja-hero::after{ bottom:0; }
#t-divyakshetram .puja-hero .container,
#t-divyakshetram .puja-list .container{ width:min(var(--dk-container),90%); margin-inline:auto; }
#t-divyakshetram .puja-hero-inner{ position:relative; text-align:center; z-index:1; }

#t-divyakshetram .puja-hero-title{
  position:relative; display:inline-block; margin:0 auto;
  font-family:var(--dk-serif); font-weight:600; letter-spacing:-.022em;
  font-size:clamp(30px,3.1vw,48px); line-height:1.16; color:var(--brand-ink);
  padding:30px 0 20px;
}
/* the signature maroon dash above, and a short gold rule below — two marks that
   belong to this tenant and read nothing like the flagship band */
#t-divyakshetram .puja-hero-title::before{
  content:''; position:absolute; top:0; left:50%; transform:translateX(-50%);
  width:38px; height:2px; border-radius:2px; background:var(--brand-primary);
}
#t-divyakshetram .puja-hero-title::after{
  content:''; position:absolute; bottom:0; left:50%; transform:translateX(-50%);
  width:96px; height:1px;
  background:linear-gradient(90deg,transparent,var(--brand-gold-line),transparent);
}
#t-divyakshetram .puja-hero-inner > p{
  max-width:52ch; margin:16px auto 0;
  font-family:var(--dk-sans); font-size:14px; line-height:1.9; color:var(--brand-muted);
}

/* --- search: a low, wide slab with a gold hairline; not the flagship pill --- */
#t-divyakshetram .puja-search{
  display:flex; align-items:center; justify-content:center; gap:10px;
  margin-top:28px;
}
#t-divyakshetram .puja-search-field{
  flex:1 1 auto; max-width:560px;
  display:flex; align-items:center; gap:10px;
  height:54px; padding:0 8px 0 20px;
  background:var(--brand-surface);
  border:1px solid var(--brand-gold-line);
  border-radius:14px;
  box-shadow:0 1px 0 rgba(255,255,255,.7) inset, 0 6px 18px rgba(28,18,10,.06);
  transition:border-color .18s ease, box-shadow .18s ease;
}
#t-divyakshetram .puja-search-field:focus-within{
  border-color:var(--brand-primary);
  box-shadow:0 0 0 3px rgba(179,38,30,.12), 0 8px 22px rgba(28,18,10,.08);
}
#t-divyakshetram .puja-search-input{
  flex:1; height:100%; border:0; background:transparent; outline:none;
  font-family:var(--dk-sans); font-size:14.5px; color:var(--brand-ink);
}
#t-divyakshetram .puja-search-input::placeholder{ color:var(--brand-muted-2); font-weight:500; }

/* square-ish action buttons, not circles */
#t-divyakshetram .puja-search-go{
  flex:0 0 auto; width:40px; height:40px; display:grid; place-items:center;
  background:var(--brand-primary); border:0; border-radius:11px; color:#fff;
  box-shadow:0 4px 12px rgba(179,38,30,.24);
  transition:background .18s ease;
}
#t-divyakshetram .puja-search-go:hover{ background:var(--brand-primary-dark); }
#t-divyakshetram .puja-filter-btn{
  flex:0 0 auto; width:54px; height:54px; display:grid; place-items:center;
  background:var(--brand-surface); border:1px solid var(--brand-gold-line);
  border-radius:14px; color:var(--brand-primary);
  transition:background .18s ease, color .18s ease, border-color .18s ease;
}
#t-divyakshetram .puja-filter-btn:hover{
  background:var(--brand-primary); border-color:var(--brand-primary); color:#fff;
}
#t-divyakshetram .puja-search-go svg,
#t-divyakshetram .puja-filter-btn svg{ stroke:currentColor; color:inherit; }

#t-divyakshetram .puja-list{ background:var(--brand-ground); padding:56px 0 72px; }
#t-divyakshetram .puja-list-title{
  font-family:var(--dk-serif); font-weight:600; letter-spacing:-.015em;
  font-size:clamp(26px,2.4vw,36px); color:var(--brand-ink);
}
#t-divyakshetram .puja-chip{
  flex:0 0 auto; white-space:nowrap;
  padding:9px 16px; border-radius:999px;
  border:1px solid var(--brand-gold-line); background:var(--brand-surface);
  font-family:var(--dk-sans); font-size:12px; font-weight:600; color:var(--brand-muted);
}
#t-divyakshetram .puja-chip.is-on,
#t-divyakshetram .puja-chip[aria-selected="true"]{
  background:var(--brand-primary); border-color:var(--brand-primary); color:#fff;
}
#t-divyakshetram .puja-list-grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:24px; }

/* the listing card wraps temple/date in bordered boxes — flatten to the
   design's plain rows, same as the home grid. */
/* the listing wraps these two rows in a bordered box — flattened; the shared
   card block above owns their layout (display:contents + order). */
#t-divyakshetram .puja-list-grid .puja-date-place{
  border:0; background:none; border-radius:0; padding:0;
}
#t-divyakshetram .puja-list-grid .puja-date{
  background:none; border:0; border-radius:0; padding:0;
  font-family:var(--dk-sans); font-size:12px; color:var(--brand-muted);
}
#t-divyakshetram .puja-list-grid .puja-yaga{ display:none; }

/* filter modal */
#t-divyakshetram .puja-modal{ background:var(--brand-surface); border-radius:16px; }
#t-divyakshetram .puja-modal-title{ font-family:var(--dk-serif); color:var(--brand-ink); }
#t-divyakshetram .puja-modal-tab.is-on{ color:var(--brand-primary); border-color:var(--brand-primary); }

@media (max-width:900px){
  #t-divyakshetram .puja-list-grid{ grid-template-columns:1fr; gap:18px; }
  #t-divyakshetram .puja-hero{ padding:32px 0 28px; }
}

@media (max-width:900px){
  #t-divyakshetram .puja-grid{ grid-template-columns:1fr; gap:18px; }
}

/* A dead thumbnail URL (there is at least one in the catalog) rendered its ALT
   text inside the image box and stretched the card to twice its height. The box
   keeps its ratio and the alt is hidden — the pooja title sits directly beneath
   it anyway, so nothing is lost to a screen reader. */
#t-divyakshetram .puja-card .puja-img,
#t-divyakshetram .dk-rel-img,
#t-divyakshetram .dk-pk-img{ min-height:0; background:rgba(28,18,10,.06); }
#t-divyakshetram .puja-card .puja-img img,
#t-divyakshetram .dk-rel-img img,
#t-divyakshetram .dk-pk-img img{
  font-size:0; color:transparent; max-height:100%; min-height:0;
}
/* ==== [/CARDS] ==== */

/* ==== [FOOTER] — Acharya ==== */
#t-divyakshetram .vm-footer .dark-zone{
  background:var(--brand-dark-b);
  /* the base reserves 90px above the finale for a heading this design drops —
     that left a large empty band over the social row */
  padding-top:0;
}
#t-divyakshetram .vm-footer .dark-bg,
#t-divyakshetram .vm-footer .dark-glow{ display:none; }
/* The design has no big "book your puja" finale band — but the SOCIAL ICONS the
   design does show live inside it, so the wrapper stays and only the band's own
   copy goes. The trust-proof pills go too: cta_footer.proof_items is the SHARED
   per-language CMS, so rendering them would put vedamandir's claims in this
   franchise's footer — same rule-6 call as the home stats band. */
#t-divyakshetram .vm-footer .finale{
  display:flex; align-items:center; justify-content:center; gap:16px;
  flex-wrap:wrap; padding:30px 0 4px;
  width:min(var(--dk-container),90%); margin-inline:auto;
}
#t-divyakshetram .vm-footer .finale-title,
#t-divyakshetram .vm-footer .finale-sub,
#t-divyakshetram .vm-footer .finale-proof{ display:none; }
/* kept (Boss, 2026-08-19): a real CTA is better than empty space */
#t-divyakshetram .vm-footer .view-all-pill{
  display:inline-flex; align-items:center; gap:10px;
  padding:15px 24px 10px 24px; border-radius:999px; border:0;
  background:var(--brand-primary); color:#fff;
  font-family:var(--dk-sans); font-size:13.5px; font-weight:700; text-decoration:none;
  box-shadow:0 8px 20px rgba(179,38,30,.22);
}
#t-divyakshetram .vm-footer .view-all-pill:hover{ background:var(--brand-primary-dark); }
#t-divyakshetram .vm-footer .follow-cap{
  font-family:var(--dk-sans); font-size:11px; letter-spacing:.16em;
  color:var(--brand-accent); margin:0;
}
#t-divyakshetram .vm-footer .footer-grid{
  display:grid; grid-template-columns:1.5fr 1fr 1fr 1.15fr; gap:48px;
  width:min(var(--dk-container),90%); margin-inline:auto; padding:34px 0 34px;
}
#t-divyakshetram .vm-footer .foot-brand .brand img{ height:40px; width:auto; }
#t-divyakshetram .vm-footer .foot-brand p{
  margin-top:16px; font-family:var(--dk-sans); font-size:16px; line-height:1.8;
  color:rgba(253,244,230,.66); max-width:34ch;
}
#t-divyakshetram .vm-footer .foot-col h5{
  font-family:var(--dk-sans); font-size:14px; font-weight:700; letter-spacing:.16em;
  color:var(--brand-accent); margin:0 0 16px;
}
#t-divyakshetram .vm-footer .foot-col a{
  display:flex; align-items:center; gap:8px; margin-bottom:11px;
  font-family:var(--dk-sans); font-size:16px; color:rgba(253,244,230,.72); text-decoration:none;
}
#t-divyakshetram .vm-footer .foot-col a:hover{ color:#fff; }
#t-divyakshetram .vm-footer .follow-row{
  display:flex; gap:10px; margin:0; justify-content:flex-start;
}
#t-divyakshetram .vm-footer .sicon{
  width:40px; height:40px; display:grid; place-items:center; border-radius:8px;
  background:rgba(253,244,230,.08); border:1px solid rgba(216,185,104,.22); color:rgba(253,244,230,.8);
}
#t-divyakshetram .vm-footer .sicon:hover{ background:var(--brand-primary); border-color:var(--brand-primary); color:#fff; }
#t-divyakshetram .vm-footer .footer-base{ border-top:1px solid rgba(216,185,104,.16); }
#t-divyakshetram .vm-footer .fb-inner{
  display:block; width:min(var(--dk-container),90%); margin-inline:auto; padding:20px 0;
  font-family:var(--dk-sans); font-size:11.5px; color:rgba(253,244,230,.5);
}

@media (max-width:900px){
  #t-divyakshetram .vm-footer .footer-grid{ grid-template-columns:1fr; gap:30px; padding:38px 0 26px; }
}
/* ==== [/FOOTER] ==== */

/* ==== [BPAGES] account · payment-status · checkout token remaps — Acharya ==== */
/* Mechanism B: these pages funnel colour through alias tokens. Remapping the
   aliases themes them wholesale — no per-class redesign. The GREEN success
   badge is SEMANTIC and is deliberately left alone. */

/* account — the sidebar re-declares the aliases on its own :host, so the remap
   has to land on BOTH or the sidebar shadows it. */
#t-divyakshetram .account-page,
#t-divyakshetram app-account-sidebar{
  --maroon:var(--brand-primary);
  --ink:var(--brand-ink);
  --muted:var(--brand-muted);
  --line:var(--brand-line);
  --gold:var(--brand-accent);
  --serif:var(--dk-serif);
  --sans:var(--dk-sans);
  /* base account CSS hardcodes --paper white; warm it to the theme surface so
     every card/panel/input/sidebar reads as part of the divyakshetram palette. */
  --paper:var(--brand-surface);
}
#t-divyakshetram .account-page{ background:var(--brand-ground); }
/* logout pill hardcodes #fff (base) — warm it to the sidebar surface tone. */
#t-divyakshetram .account-logout{ background:var(--brand-surface); }
/* bookings + subscriptions re-@include brand-aliases on this container, which
   re-sets --paper to #fff and shadows the .account-page remap above — so their
   .sub-card panels stayed white. Re-assert the surface remap on that container. */
#t-divyakshetram .bookings-container.sub-page{ --paper:var(--brand-surface); }

/* payment status — /status and /paylater-status share the container. Accent is
   GOLD here, not the flagship orange. */
#t-divyakshetram .payment-status-container{
  --brand-primary:#B3261E;
  --brand-dark-b:#17100B;
  --brand-accent:#D9B968;
  --brand-accent-dark:#C0A155;
  --brand-ink:#1C120A;
  --bp-a55:rgba(179,38,30,.55);
  --bpac-a5:rgba(216,185,104,.5);
  --bpac-a7:rgba(216,185,104,.7);
  --ps-serif:var(--dk-serif);
  --ps-sans:var(--dk-sans);
  background:var(--brand-ground);
}

/* --- checkout (/user-details-form, checkout_classic) ----------------------
   The alias remap alone left this page reading as the flagship: white panels,
   grey hairlines, mint date chip, square CTA. Designed here so the checkout
   looks like divyakshetram owns it — cream ground, surface panels on a gold
   hairline, pill CTAs, Anek throughout. The GREEN trust ticks stay: green is
   semantic here, not brand. */
#t-divyakshetram .variant-checkout-classic{
  --brand-primary:#B3261E;
  --brand-primary-dark:#8E1D17;
  --brand-accent:#D9B968;
  --brand-ink:#1C120A;
  --ck-serif:var(--dk-serif);
  --ck-sans:var(--dk-sans);
  --ck-line:var(--brand-line);
  --ck-field:var(--brand-surface);
  --ck-card-line:var(--brand-line);
  --ck-peach:var(--brand-ground-2);
  --ck-peach-2:var(--brand-ground);
  background:var(--brand-ground);
}
#t-divyakshetram .ck,
#t-divyakshetram .ck-container,
#t-divyakshetram .ck-grid,
#t-divyakshetram .ck-main,
#t-divyakshetram .ck-summary{ background:transparent; }
#t-divyakshetram .ck-topbar,
#t-divyakshetram .ck-title-row{
  background:var(--brand-ground); border-bottom:0;
}
#t-divyakshetram .ck-page-title{
  font-family:var(--dk-serif); font-weight:600; letter-spacing:-.02em;
  color:var(--brand-ink);
}
#t-divyakshetram .ck-desktop-back{
  font-family:var(--dk-sans); font-size:13px; font-weight:600; color:var(--brand-muted);
}
#t-divyakshetram .ck-desktop-back:hover{ color:var(--brand-primary); }

/* stepper — maroon for done/active, gold hairline ahead */
#t-divyakshetram .ck-step-dot{
  background:var(--brand-surface); border:1px solid var(--brand-gold-line);
  color:var(--brand-muted-2); box-shadow:none;
}
#t-divyakshetram .ck-step.is-active .ck-step-dot,
#t-divyakshetram .ck-step-clickable .ck-step-dot{
  background:var(--brand-primary); border-color:var(--brand-primary); color:#fff;
}
#t-divyakshetram .ck-step-num{ font-family:var(--dk-sans); font-weight:700; }
#t-divyakshetram .ck-step-label{
  font-family:var(--dk-sans); font-size:11.5px; font-weight:600; color:var(--brand-muted);
}
#t-divyakshetram .ck-step.is-active .ck-step-label{ color:var(--brand-primary); }
#t-divyakshetram .ck-step-line{ background:var(--brand-gold-line); opacity:.7; }

/* panels */
#t-divyakshetram .ck-step-panel,
#t-divyakshetram .ck-order,
#t-divyakshetram .ck-trust{
  background:var(--brand-surface);
  border:1px solid var(--brand-line);
  border-radius:var(--brand-card-radius);
  box-shadow:0 2px 12px rgba(28,18,10,.05);
}
/* the panels shipped near-flush to their content — give the box real breathing
   room and a consistent vertical rhythm between field groups (Boss, 2026-08-19) */
#t-divyakshetram .ck-step-panel{ padding:28px 30px 30px; }
#t-divyakshetram .ck-order{ padding:22px 24px 24px; }
#t-divyakshetram .ck-trust{ padding:18px 22px; }
#t-divyakshetram .ck-field{ margin-bottom:26px; }
#t-divyakshetram .ck-field:last-child{ margin-bottom:0; }
#t-divyakshetram .ck-field-label{ display:block; margin-bottom:10px; }
#t-divyakshetram .ck-help,
#t-divyakshetram .ck-req-hint{ display:block; margin-top:9px; }
/* the row is a grid CELL, not a control — the input inside it is the field. */
#t-divyakshetram .ck-devotee-rows{ gap:14px; margin-top:2px; }
#t-divyakshetram .ck-devotee-row{
  background:none; border:0; border-radius:0; padding:0; box-shadow:none;
  display:flex; min-width:0;
}
#t-divyakshetram .ck-devotee-name{ width:100%; min-width:0; }
/* the phone wrapper IS the control — its inner input must stay bare */
#t-divyakshetram .ck-phone .ck-input{
  border:0; background:transparent; padding:0; border-radius:0; box-shadow:none;
}
#t-divyakshetram .ck-phone .ck-input:focus{ box-shadow:none; }
#t-divyakshetram .ck-check{ margin-top:14px; gap:10px; }
@media (max-width:900px){
  #t-divyakshetram .ck-step-panel{ padding:20px 18px 22px; }
  #t-divyakshetram .ck-order{ padding:18px 16px 20px; }
  #t-divyakshetram .ck-field{ margin-bottom:22px; }
}
#t-divyakshetram .ck-field-label{
  font-family:var(--dk-sans); font-size:13px; font-weight:700; color:var(--brand-ink);
}
#t-divyakshetram .ck-help,
#t-divyakshetram .ck-req-hint{
  font-family:var(--dk-sans); font-size:12px; color:var(--brand-muted);
}

/* fields — surface on a gold hairline, maroon focus ring */
#t-divyakshetram .ck-input,
#t-divyakshetram .ck-textarea,
#t-divyakshetram .ck-phone{
  background:var(--brand-surface);
  border:1px solid var(--brand-gold-line);
  border-radius:12px;
  padding:14px 16px;
  font-family:var(--dk-sans); color:var(--brand-ink);
  transition:border-color .18s ease, box-shadow .18s ease;
}
#t-divyakshetram .ck-input::placeholder,
#t-divyakshetram .ck-textarea::placeholder{ color:var(--brand-muted-2); }
#t-divyakshetram .ck-input:focus,
#t-divyakshetram .ck-textarea:focus,
#t-divyakshetram .ck-phone:focus-within{
  outline:none; border-color:var(--brand-primary);
  box-shadow:0 0 0 3px rgba(179,38,30,.12);
}
#t-divyakshetram .ck-devotee-rows{ gap:10px; }
#t-divyakshetram .ck-country-code{
  font-family:var(--dk-sans); font-weight:600; color:var(--brand-ink);
  border-right:1px solid var(--brand-line);
}
#t-divyakshetram .ck-edit-pencil{ color:var(--brand-primary); }
/* the verified tick is semantic — left green, only sized to the type scale */
#t-divyakshetram .ck-check-box{
  border:1px solid var(--brand-gold-line); border-radius:6px; background:var(--brand-surface);
}
#t-divyakshetram .ck-check input:checked + .ck-check-box,
#t-divyakshetram .ck-check-box.is-checked{
  background:var(--brand-primary); border-color:var(--brand-primary);
}

/* order summary */
#t-divyakshetram .ck-order-title{
  font-family:var(--dk-serif); font-weight:600; font-size:19px; color:var(--brand-ink);
  border-bottom:1px solid var(--brand-line);
  padding-bottom:14px; margin-bottom:16px;
}
#t-divyakshetram .ck-order-date{ padding:12px 14px; margin:14px 0; }
#t-divyakshetram .ck-bill-row{ padding:7px 0; }
#t-divyakshetram .ck-order-cta{ padding:15px 24px; margin-top:16px; width:100%; }
#t-divyakshetram .ck-order-secure{ margin-top:12px; }
#t-divyakshetram .ck-trust-item{ padding:7px 0; }
#t-divyakshetram .ck-op-name{
  font-family:var(--dk-sans); font-size:13.5px; font-weight:600; color:var(--brand-ink);
}
#t-divyakshetram .ck-op-pkg{ font-family:var(--dk-sans); font-size:12px; color:var(--brand-muted); }
#t-divyakshetram .ck-order-product img{ border-radius:10px; }
/* the date chip shipped mint — theme-tinted, and green kept for status only */
#t-divyakshetram .ck-order-date{
  background:var(--brand-ground-2);
  border:1px solid var(--brand-gold-line);
  border-radius:12px;
  font-family:var(--dk-sans); font-size:13px; font-weight:600; color:var(--brand-ink);
}
#t-divyakshetram .ck-order-date svg,
#t-divyakshetram .ck-order-date img{ color:var(--brand-primary); }
#t-divyakshetram .ck-bill-lbl{ font-family:var(--dk-sans); font-size:12.5px; color:var(--brand-muted); }
#t-divyakshetram .ck-bill-val,
#t-divyakshetram .ck-amt{ font-family:var(--dk-sans); font-size:12.5px; color:var(--brand-ink); }
#t-divyakshetram .ck-strike,
#t-divyakshetram .ck-total-was{
  color:var(--brand-muted-2); text-decoration:line-through; font-weight:500;
}
#t-divyakshetram .ck-free{ color:var(--brand-green); font-weight:700; }
#t-divyakshetram .ck-bill-divider{ background:var(--brand-line); }
#t-divyakshetram .ck-bill-total .lbl{
  font-family:var(--dk-serif); font-size:17px; font-weight:600; color:var(--brand-ink);
}
#t-divyakshetram .ck-total-amt{
  font-family:var(--dk-sans); font-size:23px; font-weight:700; color:var(--brand-primary);
}

/* CTAs — pills, like every other primary action on this tenant */
#t-divyakshetram .ck-order-cta,
#t-divyakshetram .ck-sticky-btn{
  background:var(--brand-primary); border:0; border-radius:999px; color:#fff;
  font-family:var(--dk-sans); font-size:14.5px; font-weight:700;
  box-shadow:0 8px 22px rgba(179,38,30,.22);
  transition:background .18s ease;
}
#t-divyakshetram .ck-order-cta:hover,
#t-divyakshetram .ck-sticky-btn:hover{ background:var(--brand-primary-dark); }
#t-divyakshetram .ck-order-cta:disabled,
#t-divyakshetram .ck-sticky-btn:disabled{
  background:var(--brand-muted-2); box-shadow:none; opacity:.75;
}
#t-divyakshetram .ck-order-secure{
  font-family:var(--dk-sans); font-size:12px; color:var(--brand-green); font-weight:600;
}

/* trust list — green ticks are semantic, left alone */
#t-divyakshetram .ck-trust-item{
  font-family:var(--dk-sans); font-size:12.5px; color:var(--brand-muted);
}

/* mobile sticky pay bar + safety strip */
#t-divyakshetram .ck-sticky{
  background:var(--brand-surface); border-top:1px solid var(--brand-gold-line);
  box-shadow:0 -2px 14px rgba(28,18,10,.10);
}
#t-divyakshetram .ck-sticky-price .now{
  font-family:var(--dk-sans); font-size:19px; font-weight:700; color:var(--brand-ink);
}
#t-divyakshetram .ck-sticky-price .was{ color:var(--brand-muted-2); text-decoration:line-through; }
#t-divyakshetram .ck-safety-strip{
  background:var(--brand-primary); color:#FBEFD9;
}
#t-divyakshetram .ck-strip-item{
  font-family:var(--dk-sans); font-size:11.5px; color:#FBEFD9;
}

/* ==== [/BPAGES] ==== */

/* ==== [PD]  pooja-details presenter — Chitrakar ONLY ==== */
/* Target: .claude/theme-work/divyakshetram/design/divyakshetram_pooja_details.png
   (5760px export = 4x a 1440 frame). Every number below is measured off that
   file at 1:1, not eyeballed. Presenter:
   pages/pooja-details/themes/divyakshetram/details/.
   This same sheet paints the CHADHAVA page (catalog_type === 2) and, further
   down in [PKG], package-details.
   The presenter carries NO styleUrls, so the base page SCSS never loads here —
   everything on the page, including the sticky and mobile booking bars and the
   skeleton chrome, has to be stated here. */

#t-divyakshetram .dk-pd{
  --pd-wrap:1088px;          /* hero / benefits / about — design 1086 */
  --pd-wrap-n:880px;         /* procedure / temple / receive / reviews — design 864 */
  --pd-wrap-q:660px;         /* FAQ rows — design 648 */
  --pd-gut:24px;

  --pd-ground:#FDF4E6;
  --pd-band-2:#F7E9D2;
  --pd-band-faq:#FFFBF4;
  --pd-dark:#17100B;
  --pd-surface:#FFFBF4;
  --pd-ink:#1C120A;
  --pd-muted:#5A4635;
  --pd-muted-2:#8C8378;
  --pd-maroon:#B3261E;
  --pd-maroon-dark:#8E1D17;
  --pd-gold:#D9B968;
  --pd-gold-soft:#FBEECA;
  --pd-gold-line:#E3D3AE;
  --pd-green:#2E5E45;
  --pd-line:rgba(28,18,10,.12);
  --pd-card-line:#EADFC8;
  --pd-shadow:0 2px 10px rgba(28,18,10,.05);

  display:block;
  background:var(--pd-ground);
  color:var(--pd-ink);
  font-family:var(--dk-sans);
  -webkit-font-smoothing:antialiased;
}

/* Angular's page host is a custom element; without this the two branches would
   both need `display:block` from the host `styles` block, which only names the
   presenters. */
#t-divyakshetram app-details-divyakshetram,
#t-divyakshetram app-package-details-divyakshetram{ display:block; }

#t-divyakshetram .dk-pd *,
#t-divyakshetram .dk-pd *::before,
#t-divyakshetram .dk-pd *::after{ box-sizing:border-box; }

/* Content box, not box+padding: the design's hero columns are 524px each with a
   40px gutter, which only comes out right when the wrap resolves to exactly
   1088 at 1440. */
#t-divyakshetram .dk-wrap{
  width:min(var(--pd-wrap), 100% - var(--pd-gut) * 2);
  margin-inline:auto;
}
#t-divyakshetram .dk-wrap-n{ width:min(var(--pd-wrap-n), 100% - var(--pd-gut) * 2); }
#t-divyakshetram .dk-wrap-q{ width:min(var(--pd-wrap-q), 100% - var(--pd-gut) * 2); }

/* --- shared furniture ---------------------------------------------------- */
#t-divyakshetram .dk-pd .dk-eyebrow{
  display:flex; align-items:center; gap:10px;
  font-family:var(--dk-sans); font-size:11px; font-weight:600;
  letter-spacing:.18em; line-height:1.6; color:var(--pd-maroon);
  flex-wrap:wrap; row-gap:2px; margin:0 0 14px;
}
#t-divyakshetram .dk-pd .dk-eyebrow.is-center{ justify-content:center; }
#t-divyakshetram .dk-pd .dk-dash{
  flex:none; width:22px; height:2px; border-radius:2px; background:var(--pd-maroon);
}
#t-divyakshetram .dk-pd .dk-eyebrow-sep{ opacity:.55; letter-spacing:0; }

#t-divyakshetram .dk-pd .dk-h2{
  font-family:var(--dk-serif); font-size:40px; line-height:1.16; font-weight:600;
  letter-spacing:-.02em; color:var(--pd-ink); margin:0 0 16px;
}
#t-divyakshetram .dk-pd .dk-h2.is-center{ text-align:center; }

#t-divyakshetram .dk-pd .dk-more{
  display:inline-block; margin-top:10px; padding:0; border:0; background:none;
  font-family:var(--dk-sans); font-size:13px; font-weight:700; color:var(--pd-maroon);
  cursor:pointer; text-decoration:underline; text-underline-offset:3px;
}
#t-divyakshetram .dk-pd .dk-more-block{ display:block; margin:20px auto 0; }
#t-divyakshetram .dk-pd .dk-empty{ font-size:14px; color:var(--pd-muted); margin:0; }

#t-divyakshetram .dk-pd .dk-band{ padding:58px 0 64px; }
#t-divyakshetram .dk-pd .dk-band-cream{ background:var(--pd-ground); }
#t-divyakshetram .dk-pd .dk-band-2{ background:var(--pd-band-2); }
#t-divyakshetram .dk-pd .dk-band-faq{ background:var(--pd-band-faq); }
#t-divyakshetram .dk-pd .dk-band-dark{ background:var(--pd-dark); }

/* ------------------------------------------------------------------ HERO -- */
#t-divyakshetram .dk-pd .dk-hero{ background:var(--pd-ground); padding:24px 0 72px; }
#t-divyakshetram .dk-pd .dk-hero-in{
  display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr);
  gap:40px; align-items:start;
}

#t-divyakshetram .dk-pd .dk-h1{
  font-family:var(--dk-serif); font-size:44px; line-height:1.14; font-weight:600;
  letter-spacing:-.02em; color:var(--pd-ink); margin:0 0 22px;
}
#t-divyakshetram .dk-pd .dk-h1-line{ display:block; }
/* The design's second title line is maroon. Honoured only when the pooja_name
   already carries a break — there is no reliable way to split one string. */
#t-divyakshetram .dk-pd .dk-h1-line.is-accent{ color:var(--pd-maroon); }

#t-divyakshetram .dk-pd .dk-chips{ display:flex; flex-wrap:wrap; gap:8px; margin:0 0 22px; }
#t-divyakshetram .dk-pd .dk-chip{
  display:inline-flex; align-items:center; gap:6px;
  padding:5px 13px; border-radius:999px;
  background:var(--pd-band-2); border:1px solid var(--pd-gold-line);
  font-size:11.5px; font-weight:500; line-height:1.5; color:var(--pd-muted);
}
#t-divyakshetram .dk-pd .dk-chip-gold{
  background:#F9E7BB; border-color:#EBD096; color:#5A4326;
}

#t-divyakshetram .dk-pd .dk-lede{
  font-size:16px; line-height:1.5; color:var(--pd-muted); margin:0;
}

#t-divyakshetram .dk-pd .dk-rule{
  height:1px; background:rgba(28,18,10,.16); margin:26px 0 20px;
}

#t-divyakshetram .dk-pd .dk-priceline{ display:flex; align-items:baseline; gap:12px; flex-wrap:wrap; }
#t-divyakshetram .dk-pd .dk-price{
  font-family:var(--dk-serif); font-size:30px; font-weight:700;
  letter-spacing:-.01em; color:var(--pd-ink); line-height:1.1;
}
#t-divyakshetram .dk-pd .dk-price-soon{ font-size:22px; color:var(--pd-muted); }
#t-divyakshetram .dk-pd .dk-price-was{ font-size:16px; color:var(--pd-muted-2); }
#t-divyakshetram .dk-pd .dk-skel{
  display:inline-block; width:120px; height:26px; border-radius:6px;
  background:rgba(28,18,10,.08);
}
/* GREEN is semantic — the inclusive-of-GST reassurance. Never re-tinted. */
#t-divyakshetram .dk-pd .dk-gst{
  padding:4px 11px; border-radius:999px;
  background:rgba(46,94,69,.10); color:var(--pd-green);
  font-size:11px; font-weight:600; line-height:1.4;
}

#t-divyakshetram .dk-pd .dk-metanote{
  display:flex; gap:8px; flex-wrap:wrap;
  font-size:12px; color:var(--pd-muted-2); margin:10px 0 0;
}

#t-divyakshetram .dk-pd .dk-ctarow{
  display:flex; align-items:center; flex-wrap:wrap; gap:12px; margin:26px 0 0;
}
#t-divyakshetram .dk-pd .dk-cd{
  display:inline-flex; align-items:center; gap:7px;
  padding:20px 14px 14px 14px; border-radius:6px; background:#F6DFD2;
  font-size:11px; line-height:1.3; white-space:nowrap;
}
#t-divyakshetram .dk-pd .dk-cd-label{ color:#7A6257; }
#t-divyakshetram .dk-pd .dk-cd-val{ color:var(--pd-ink); font-weight:700; }
#t-divyakshetram .dk-pd .dk-cd-closed{ background:rgba(28,18,10,.06); }

#t-divyakshetram .dk-pd .dk-cta{
  display:inline-flex; align-items:center; justify-content:center; gap:10px;
  min-width:200px; padding:14px 26px 14px 26px; border:0; border-radius:999px;
  background:var(--pd-maroon); color:#fff; cursor:pointer;
  font-family:var(--dk-sans); font-size:15px; font-weight:700; line-height:1.6;
  box-shadow:0 10px 22px rgba(179,38,30,.26);
  transition:background .18s ease, box-shadow .18s ease;
}
#t-divyakshetram .dk-pd .dk-cta:hover{ background:var(--pd-maroon-dark); }
#t-divyakshetram .dk-pd .dk-cta.is-disabled,
#t-divyakshetram .dk-pd .dk-cta[disabled]{ opacity:.55; cursor:not-allowed; box-shadow:none; }
#t-divyakshetram .dk-pd .dk-cta-arrow{ font-size:16px; line-height:1; }
#t-divyakshetram .dk-pd .dk-cta-notify.notify-set{ background:var(--pd-green); box-shadow:none; }

/* tier picker — data-gated, only when the pooja offers a real choice */
#t-divyakshetram .dk-pd .dk-tiers{ display:flex; flex-wrap:wrap; gap:10px; margin:18px 0 0; }
#t-divyakshetram .dk-pd .dk-tier{ display:block; cursor:pointer; }
#t-divyakshetram .dk-pd .dk-tier input{ position:absolute; opacity:0; width:0; height:0; }
#t-divyakshetram .dk-pd .dk-tier-card{
  position:relative; display:flex; align-items:center; gap:10px;
  padding:10px 16px 10px 12px; border-radius:14px;
  background:var(--pd-surface); border:1px solid var(--pd-card-line);
}
#t-divyakshetram .dk-pd .dk-tier input:checked + .dk-tier-card{
  border-color:var(--pd-maroon); box-shadow:0 0 0 1px var(--pd-maroon) inset;
}
#t-divyakshetram .dk-pd .dk-tier-ic{ width:26px; height:26px; object-fit:contain; }
#t-divyakshetram .dk-pd .dk-tier-copy{ display:flex; flex-direction:column; gap:2px; }
#t-divyakshetram .dk-pd .dk-tier-name{ font-size:13px; font-weight:600; color:var(--pd-ink); }
#t-divyakshetram .dk-pd .dk-tier-price{ font-size:12px; color:var(--pd-muted); }
#t-divyakshetram .dk-pd .dk-tier-price s{ margin-right:5px; color:var(--pd-muted-2); }
#t-divyakshetram .dk-pd .dk-tier-price em{ font-style:normal; color:var(--pd-muted-2); }
#t-divyakshetram .dk-pd .dk-tier-badge{
  position:absolute; top:-8px; right:10px; padding:2px 8px; border-radius:999px;
  background:var(--pd-gold-soft); border:1px solid var(--pd-gold-line);
  font-size:10px; font-weight:700; color:#6B5220;
}

/* hero media */
#t-divyakshetram .dk-pd .dk-media{
  position:relative; aspect-ratio:3 / 2; border-radius:16px; overflow:hidden;
  background:rgba(28,18,10,.06);
}
#t-divyakshetram .dk-pd .dk-media-track{
  display:flex; height:100%; overflow-x:auto; scroll-snap-type:x mandatory;
  scrollbar-width:none;
}
#t-divyakshetram .dk-pd .dk-media-track::-webkit-scrollbar{ display:none; }
#t-divyakshetram .dk-pd .dk-media-slide{
  flex:0 0 100%; height:100%; scroll-snap-align:start;
}
#t-divyakshetram .dk-pd .dk-media-slide img,
#t-divyakshetram .dk-pd .dk-media-slide video{
  display:block; width:100%; height:100%; object-fit:cover;
}
#t-divyakshetram .dk-pd .dk-media-video{ position:relative; height:100%; }
#t-divyakshetram .dk-pd .dk-media-sound{
  position:absolute; left:12px; bottom:12px; width:32px; height:32px;
  display:grid; place-items:center; border-radius:999px;
  background:rgba(23,16,11,.55); color:#fff; cursor:pointer;
}
#t-divyakshetram .dk-pd .dk-media-nav{
  position:absolute; top:50%; transform:translateY(-50%);
  width:32px; height:32px; display:grid; place-items:center;
  border:0; border-radius:999px; background:rgba(253,244,230,.88);
  color:var(--pd-ink); cursor:pointer;
}
#t-divyakshetram .dk-pd .dk-media-nav.prev{ left:10px; }
#t-divyakshetram .dk-pd .dk-media-nav.next{ right:10px; }
#t-divyakshetram .dk-pd .dk-media-missing{
  position:absolute; inset:0; display:grid; place-items:center;
  padding:20px; text-align:center; font-size:13px; color:var(--pd-muted);
}

#t-divyakshetram .dk-pd .dk-tools{
  position:absolute; top:12px; right:12px; display:flex; gap:8px;
}
#t-divyakshetram .dk-pd .dk-tool{
  width:32px; height:32px; display:grid; place-items:center;
  border:0; border-radius:999px; background:rgba(253,244,230,.88);
  color:var(--pd-ink); cursor:pointer; text-decoration:none;
}
#t-divyakshetram .dk-pd .dk-tool.is-on{ color:var(--pd-maroon); }

#t-divyakshetram .dk-pd .dk-thumbs{
  display:grid; grid-template-columns:repeat(4,minmax(0,1fr));
  gap:8px; margin-top:11px;
}
#t-divyakshetram .dk-pd .dk-thumb{
  padding:0; border:0; border-radius:10px; overflow:hidden; cursor:pointer;
  aspect-ratio:124 / 80; background:rgba(28,18,10,.06);
}
#t-divyakshetram .dk-pd .dk-thumb img{ display:block; width:100%; height:100%; object-fit:cover; }
#t-divyakshetram .dk-pd .dk-thumb.is-active{ box-shadow:0 0 0 2px var(--pd-maroon); }

/* ------------------------------------------------------------- TAB STRIP -- */
/* Deliberately NOT sticky: the design shows the strip inline, and a static
   strip makes sectionScrollOffset() fall back to the flagship's 110px, which is
   the right clearance under this tenant's 61px header. */
#t-divyakshetram .dk-pd .dk-tabs{
  background:var(--pd-ground); border-bottom:1px solid var(--pd-line);
}
#t-divyakshetram .dk-pd .dk-tabs-in{
  display:flex; gap:30px; overflow-x:auto; scrollbar-width:none;
}
#t-divyakshetram .dk-pd .dk-tabs-in::-webkit-scrollbar{ display:none; }
#t-divyakshetram .dk-pd .dk-tab{
  flex:none; padding:16px 0 16px; border:0; background:none; cursor:pointer;
  font-family:var(--dk-sans); font-size:13px; font-weight:500; white-space:nowrap;
  color:var(--pd-muted); border-bottom:2px solid transparent; margin-bottom:-1px;
}
#t-divyakshetram .dk-pd .dk-tab.is-active{ color:var(--pd-maroon); font-weight:600; border-bottom-color:var(--pd-maroon); }

/* -------------------------------------------------------------- BENEFITS -- */
#t-divyakshetram .dk-pd .dk-benefits{
  display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:16px; margin-top:28px;
}
#t-divyakshetram .dk-pd .dk-benefit{
  display:grid; grid-template-columns:34px minmax(0,1fr);
  column-gap:12px; row-gap:6px; align-items:start;
  padding:18px 20px 20px; border-radius:14px;
  background:var(--pd-surface); border:1px solid var(--pd-card-line);
  box-shadow:var(--pd-shadow);
}
#t-divyakshetram .dk-pd .dk-icoring{
  grid-row:1; width:34px; height:34px; display:grid; place-items:center;
  border-radius:10px; background:var(--pd-gold-soft);
  box-shadow:inset 0 0 0 1px rgba(217,185,104,.45); color:var(--pd-maroon);
}
#t-divyakshetram .dk-pd .dk-benefit-t{
  grid-column:2; margin:5px 0 0;
  font-family:var(--dk-serif); font-size:16px; font-weight:600; line-height:1.3;
  letter-spacing:-.01em; color:var(--pd-ink);
}
#t-divyakshetram .dk-pd .dk-benefit-d{
  grid-column:2; margin:0; font-size:12.5px; line-height:1.55; color:var(--pd-muted);
}

/* ----------------------------------------------------------------- ABOUT -- */
#t-divyakshetram .dk-pd .dk-prose{
  font-size:14.5px; line-height:1.8; color:#4A3B2C; max-width:none;
}
#t-divyakshetram .dk-pd .dk-prose-sm{ font-size:14px; line-height:1.75; }
#t-divyakshetram .dk-pd .dk-prose p{ margin:0 0 14px; }
#t-divyakshetram .dk-pd .dk-prose p:last-child{ margin-bottom:0; }
#t-divyakshetram .dk-pd .dk-prose strong,
#t-divyakshetram .dk-pd .dk-prose b{ color:var(--pd-ink); font-weight:700; }
#t-divyakshetram .dk-pd .dk-prose h2,
#t-divyakshetram .dk-pd .dk-prose h3,
#t-divyakshetram .dk-pd .dk-prose h4{
  font-family:var(--dk-serif); font-size:16px; font-weight:700; line-height:1.4;
  color:var(--pd-ink); margin:26px 0 8px;
}
#t-divyakshetram .dk-pd .dk-prose blockquote{
  margin:22px 0; padding:2px 0 2px 16px;
  border-left:3px solid var(--pd-maroon); color:var(--pd-muted);
}
#t-divyakshetram .dk-pd .dk-prose ul,
#t-divyakshetram .dk-pd .dk-prose ol{ margin:0 0 14px; padding-left:20px; }
#t-divyakshetram .dk-pd .dk-prose li{ margin:0 0 6px; }
#t-divyakshetram .dk-pd .dk-prose a{ color:var(--pd-maroon); }

/* ------------------------------------------------------------- PROCEDURE -- */
#t-divyakshetram .dk-pd .dk-band-dark .dk-h2{ color:#FAF0DE; }
#t-divyakshetram .dk-pd .dk-band-dark .dk-eyebrow{ color:#E1C06C; }
#t-divyakshetram .dk-pd .dk-band-dark .dk-dash{ background:var(--pd-gold); }

#t-divyakshetram .dk-pd .dk-timeline{
  position:relative; list-style:none; margin:34px 0 0; padding:0;
}
/* the rail: sits at the centre of the 40px number chip and stops at the last
   chip so it never dangles past the final step */
#t-divyakshetram .dk-pd .dk-timeline::before{
  content:''; position:absolute; left:19px; top:20px; bottom:38px;
  width:2px; background:#2A1E14;
}
#t-divyakshetram .dk-pd .dk-step{
  position:relative; display:grid; grid-template-columns:40px minmax(0,1fr);
  column-gap:22px; padding:0 0 38px;
}
#t-divyakshetram .dk-pd .dk-step:last-child{ padding-bottom:0; }
#t-divyakshetram .dk-pd .dk-step-n{
  position:relative; z-index:1;
  width:40px; height:40px; display:grid; place-items:center; border-radius:12px;
  background:var(--pd-dark); box-shadow:inset 0 0 0 1px rgba(217,185,104,.34);
  font-family:var(--dk-sans); font-size:12px; font-weight:700;
  letter-spacing:.04em; color:var(--pd-gold);
}
/* Presentation only: the design fills the opening and closing steps maroon and
   outlines the rest. Nothing in `process` marks a step as key. */
#t-divyakshetram .dk-pd .dk-step.is-key .dk-step-n{
  background:var(--pd-maroon); box-shadow:none; color:#fff;
}
#t-divyakshetram .dk-pd .dk-step-b{ display:block; padding-top:2px; }
#t-divyakshetram .dk-pd .dk-step-t{
  display:block; font-family:var(--dk-serif); font-size:17px; font-weight:600;
  letter-spacing:-.01em; line-height:1.35; color:#FBF2E2; margin:0 0 7px;
}
#t-divyakshetram .dk-pd .dk-step-d{
  display:block; font-size:13.5px; line-height:1.65; color:#9A8E7E;
}

/* ---------------------------------------------------------------- TEMPLE -- */
#t-divyakshetram .dk-pd .dk-temple{
  display:grid; grid-template-columns:minmax(0,416fr) minmax(0,416fr);
  gap:32px; align-items:start;
}
/* No temple artwork on this pooja: the copy takes the full row rather than
   leaving an empty column. */
#t-divyakshetram .dk-pd .dk-temple > .dk-temple-b:only-child{ grid-column:1 / -1; }
#t-divyakshetram .dk-pd .dk-temple-img{
  position:relative; border-radius:16px; overflow:hidden;
  aspect-ratio:416 / 325; background:rgba(28,18,10,.06);
  box-shadow:0 6px 20px rgba(28,18,10,.10);
}
#t-divyakshetram .dk-pd .dk-temple-track{
  display:flex; height:100%; overflow-x:auto; scroll-snap-type:x mandatory; scrollbar-width:none;
}
#t-divyakshetram .dk-pd .dk-temple-track::-webkit-scrollbar{ display:none; }
#t-divyakshetram .dk-pd .dk-temple-slide{ flex:0 0 100%; height:100%; scroll-snap-align:start; }
#t-divyakshetram .dk-pd .dk-temple-slide img{ display:block; width:100%; height:100%; object-fit:cover; }
#t-divyakshetram .dk-pd .dk-temple-badge{
  position:absolute; left:16px; bottom:16px; max-width:calc(100% - 32px);
  padding:7px 14px; border-radius:999px; background:#DEAB13;
  font-size:11px; font-weight:700; line-height:1.4; color:#3A2408;
}
#t-divyakshetram .dk-pd .dk-temple-dots{
  position:absolute; right:14px; bottom:18px; display:flex; gap:6px;
}
#t-divyakshetram .dk-pd .dk-dot{
  width:7px; height:7px; padding:0; border:0; border-radius:999px;
  background:rgba(253,244,230,.55); cursor:pointer;
}
#t-divyakshetram .dk-pd .dk-dot.is-active{ background:#FDF4E6; }

#t-divyakshetram .dk-pd .dk-facts{
  display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; margin:22px 0 0;
}
#t-divyakshetram .dk-pd .dk-fact{
  display:flex; flex-direction:column; gap:5px;
  padding:12px 15px; border-radius:12px;
  background:var(--pd-surface); border:1px solid var(--pd-card-line);
}
#t-divyakshetram .dk-pd .dk-fact-l{ font-size:11px; letter-spacing:.04em; color:var(--pd-muted-2); }
#t-divyakshetram .dk-pd .dk-fact-v{ font-size:15px; font-weight:700; color:var(--pd-ink); }

#t-divyakshetram .dk-pd .dk-temple-note{
  display:flex; align-items:flex-start; gap:7px;
  margin:18px 0 0; font-size:12.5px; line-height:1.6; color:var(--pd-muted);
}
#t-divyakshetram .dk-pd .dk-temple-note svg{ flex:none; margin-top:2px; color:var(--pd-maroon); }

/* --------------------------------------------------------------- RECEIVE -- */
#t-divyakshetram .dk-pd .dk-recv{
  display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:16px; margin-top:28px;
}
#t-divyakshetram .dk-pd .dk-recv-card{
  padding:18px 18px 20px; border-radius:14px;
  background:var(--pd-surface); border:1px solid var(--pd-card-line);
  box-shadow:var(--pd-shadow);
}
#t-divyakshetram .dk-pd .dk-recv-ic{ display:block; color:var(--pd-maroon); margin:0 0 14px; }
#t-divyakshetram .dk-pd .dk-recv-t{
  margin:0; font-family:var(--dk-serif); font-size:14.5px; font-weight:600;
  line-height:1.4; letter-spacing:-.01em; color:var(--pd-ink);
}

/* --------------------------------------------------------------- GALLERY -- */
#t-divyakshetram .dk-pd .dk-gal{
  display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:12px; margin-top:26px;
}
#t-divyakshetram .dk-pd .dk-gal-cell{
  padding:0; border:0; border-radius:12px; overflow:hidden; cursor:pointer;
  aspect-ratio:1; background:rgba(28,18,10,.06);
}
#t-divyakshetram .dk-pd .dk-gal-cell img{ display:block; width:100%; height:100%; object-fit:cover; }

/* --------------------------------------------------------------- REVIEWS -- */
#t-divyakshetram .dk-pd .dk-reviews{
  display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:16px; margin-top:28px;
}
#t-divyakshetram .dk-pd .dk-review{
  display:flex; flex-direction:column; padding:20px 22px 22px; border-radius:14px;
  background:var(--pd-surface); border:1px solid var(--pd-card-line);
  box-shadow:var(--pd-shadow);
}
#t-divyakshetram .dk-pd .dk-stars{ display:flex; gap:3px; margin:0 0 14px; }
#t-divyakshetram .dk-pd .dk-stars i{ font-style:normal; font-size:13px; line-height:1; color:#E5AA00; }
#t-divyakshetram .dk-pd .dk-stars i.is-off{ color:rgba(28,18,10,.18); }
#t-divyakshetram .dk-pd .dk-review-text{
  margin:0 0 auto; padding-bottom:18px;
  font-size:13.5px; line-height:1.65; color:#4A3B2C;
}
#t-divyakshetram .dk-pd .dk-review-text::before{ content:'\201C'; }
#t-divyakshetram .dk-pd .dk-review-text::after{ content:'\201D'; }
#t-divyakshetram .dk-pd .dk-review-by{ display:flex; align-items:center; gap:10px; }
#t-divyakshetram .dk-pd .dk-review-av{
  width:30px; height:30px; border-radius:999px; object-fit:cover; flex:none;
}
#t-divyakshetram .dk-pd .dk-review-name{ font-size:13px; font-weight:600; color:var(--pd-ink); }

/* ------------------------------------------------------------------- FAQ -- */
#t-divyakshetram .dk-pd .dk-band-faq{ padding:66px 0 74px; }
#t-divyakshetram .dk-pd .dk-faqs{ margin-top:30px; border-top:1px solid var(--pd-line); }
#t-divyakshetram .dk-pd .dk-faq{ border-bottom:1px solid var(--pd-line); }
#t-divyakshetram .dk-pd .dk-faq-q{
  width:100%; display:flex; align-items:center; justify-content:space-between; gap:18px;
  padding:19px 0; border:0; background:none; cursor:pointer; text-align:left;
}
#t-divyakshetram .dk-pd .dk-faq-text{
  font-family:var(--dk-sans); font-size:14.5px; font-weight:600; line-height:1.5; color:var(--pd-ink);
}
#t-divyakshetram .dk-pd .dk-faq-mark{
  flex:none; display:grid; place-items:center; color:var(--pd-maroon);
  transition:transform .2s ease;
}
#t-divyakshetram .dk-pd .dk-faq.is-open .dk-faq-mark{ transform:rotate(180deg); }
#t-divyakshetram .dk-pd .dk-faq-a{ padding:0 0 18px; }
#t-divyakshetram .dk-pd .dk-faq-a p{ margin:0; font-size:13.5px; line-height:1.7; color:var(--pd-muted); }

/* ------------------------------------------------- CHADHAVA OFFERINGS ---- */
/* catalog_type 2: base price is zero and the whole amount comes from here, so
   this block is the pricing UI, not decoration. */
#t-divyakshetram .dk-pd .dk-offer-grid{
  display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:16px; margin-top:26px;
}
#t-divyakshetram .dk-pd .dk-offer{
  padding:16px; border-radius:14px;
  background:var(--pd-surface); border:1px solid var(--pd-card-line);
  box-shadow:var(--pd-shadow);
}
#t-divyakshetram .dk-pd .dk-offer-head{ display:flex; align-items:flex-start; gap:14px; }
#t-divyakshetram .dk-pd .dk-offer-media{
  flex:none; width:72px; height:72px; border-radius:12px; overflow:hidden;
  background:rgba(28,18,10,.06);
}
#t-divyakshetram .dk-pd .dk-offer-media img{ display:block; width:100%; height:100%; object-fit:cover; }
#t-divyakshetram .dk-pd .dk-offer-mid{ flex:1 1 auto; min-width:0; }
#t-divyakshetram .dk-pd .dk-offer-badge{
  display:inline-block; margin:0 0 6px; padding:2px 9px; border-radius:999px;
  background:var(--pd-gold-soft); border:1px solid var(--pd-gold-line);
  font-size:10px; font-weight:700; color:#6B5220;
}
#t-divyakshetram .dk-pd .dk-offer-title{
  font-family:var(--dk-serif); font-size:15px; font-weight:600; line-height:1.35;
  letter-spacing:-.01em; color:var(--pd-ink);
}
#t-divyakshetram .dk-pd .dk-offer-buy{
  flex:none; display:flex; flex-direction:column; align-items:flex-end; gap:8px;
}
#t-divyakshetram .dk-pd .dk-offer-price{ font-size:14px; font-weight:700; color:var(--pd-ink); }
#t-divyakshetram .dk-pd .dk-offer-add{
  padding:7px 16px; border:1px solid var(--pd-maroon); border-radius:999px;
  background:var(--pd-surface); color:var(--pd-maroon); cursor:pointer;
  font-family:var(--dk-sans); font-size:12px; font-weight:700;
}
#t-divyakshetram .dk-pd .dk-offer-add:hover{ background:var(--pd-maroon); color:#fff; }
#t-divyakshetram .dk-pd .dk-qty{
  display:inline-flex; align-items:center; gap:0; padding:0;
  border:1px solid var(--pd-maroon); border-radius:999px; overflow:hidden;
}
#t-divyakshetram .dk-pd .dk-qty-btn{
  width:28px; height:30px; border:0; background:var(--pd-surface);
  color:var(--pd-maroon); font-size:15px; font-weight:700; cursor:pointer;
}
#t-divyakshetram .dk-pd .dk-qty-btn[disabled]{ opacity:.4; cursor:not-allowed; }
#t-divyakshetram .dk-pd .dk-qty-n{
  min-width:26px; text-align:center; font-size:13px; font-weight:700; color:var(--pd-ink);
}
#t-divyakshetram .dk-pd .dk-offer-choices{ display:flex; flex-wrap:wrap; gap:8px; margin-top:14px; }
#t-divyakshetram .dk-pd .dk-amt{
  padding:6px 14px; border:1px solid var(--pd-gold-line); border-radius:999px;
  background:var(--pd-band-2); color:var(--pd-muted); cursor:pointer;
  font-size:12px; font-weight:600;
}
#t-divyakshetram .dk-pd .dk-amt.is-picked{ background:var(--pd-maroon); border-color:var(--pd-maroon); color:#fff; }
#t-divyakshetram .dk-pd .dk-offer-foot{ margin-top:12px; }
#t-divyakshetram .dk-pd .dk-offer-desc{
  margin:0; font-size:12.5px; line-height:1.6; color:var(--pd-muted);
  display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden;
}
#t-divyakshetram .dk-pd .dk-offer-desc.is-open{ -webkit-line-clamp:unset; overflow:visible; }
#t-divyakshetram .dk-pd .dk-offer-grid:not(.is-expanded) > .dk-offer:nth-child(n+7){ display:none; }

/* ------------------------------------------- STICKY + MOBILE BOOKING BARS - */
/* The base page SCSS does not load on a themed branch, so both bars are painted
   from scratch here. */
#t-divyakshetram .dk-pd .booking-bar-wrap{ position:relative; z-index:50; }
/* Anchored to the BOTTOM, not the top: vm-header is sticky at z-index 9999, so
   a top-anchored bar renders underneath it and the CTA is unclickable. The
   design has no pinned bar at all, so the bottom edge is also the least
   intrusive place to keep booking reachable. */
#t-divyakshetram .dk-pd .fixed-price-bar{
  position:fixed; left:0; right:0; bottom:0; z-index:50;
  display:flex; align-items:center; gap:16px;
  padding:18px max(24px, calc((100% - var(--pd-wrap)) / 2));
  background:var(--pd-ground); border-top:1px solid var(--pd-line);
  box-shadow:0 -6px 18px rgba(28,18,10,.08);
  transform:translateY(110%); opacity:0; visibility:hidden;
  transition:transform .22s ease, opacity .22s ease;
}
#t-divyakshetram .dk-pd .fixed-price-bar.show{ transform:none; opacity:1; visibility:visible; }
#t-divyakshetram .dk-pd .fixed-price-bar .flower-pic{ display:none; }
#t-divyakshetram .dk-pd .fixed-price-bar .puja-name-details{ flex:1 1 auto; min-width:0; }
#t-divyakshetram .dk-pd .fixed-price-bar .puja-name-details p{
  margin:0; font-size:16px; font-weight:600; color:var(--pd-ink);
  white-space:nowrap; overflow:hidden; text-overflow:ellipsis;
}
#t-divyakshetram .dk-pd .fixed-price-bar .puja-name-details h2{
  margin:2px 0 0; font-family:var(--dk-serif); font-size:25px; font-weight:700; color:var(--pd-ink);
}
#t-divyakshetram .dk-pd .fixed-price-bar .puja-name-details h2 s{
  margin-left:8px; font-size:13px; font-weight:400; color:var(--pd-muted-2);
}
#t-divyakshetram .dk-pd .view-all-pill{
  flex:none; display:inline-flex; align-items:center; gap:10px;
  padding:10px 22px; border:0; border-radius:999px;
  background:var(--pd-maroon); color:#fff; cursor:pointer;
  font-family:var(--dk-sans); font-size:14px; font-weight:700;
}
#t-divyakshetram .dk-pd .view-all-pill:hover{ background:var(--pd-maroon-dark); }
#t-divyakshetram .dk-pd .view-all-pill[disabled]{ opacity:.55; cursor:not-allowed; }
#t-divyakshetram .dk-pd .view-all-pill.notify.notify-set{ background:var(--pd-green); }
#t-divyakshetram .dk-pd .view-all-pill .va-ic{ display:grid; place-items:center; width:18px; height:18px; }
#t-divyakshetram .dk-pd .view-all-pill .va-ic img{ width:14px; }

#t-divyakshetram .dk-pd .pd-mobile-cta{ display:none; }

#t-divyakshetram .dk-pd .pd-desktop-footer{ margin-top:0; }
#t-divyakshetram .dk-pd .pd-share-embed{ display:none; }

/* ------------------------------------------------------------- 1024 down -- */
@media (max-width:1024px){
  #t-divyakshetram .dk-pd .dk-hero-in{ grid-template-columns:minmax(0,1fr); gap:26px; }
  /* Artwork leads on a narrow viewport — the identity block is long and the
     image is what tells a devotee they are on the right pooja. */
  #t-divyakshetram .dk-pd .dk-hero-r{ order:-1; }
  #t-divyakshetram .dk-pd .dk-benefits{ grid-template-columns:repeat(2,minmax(0,1fr)); }
  #t-divyakshetram .dk-pd .dk-recv{ grid-template-columns:repeat(2,minmax(0,1fr)); }
  #t-divyakshetram .dk-pd .dk-reviews{ grid-template-columns:repeat(2,minmax(0,1fr)); }
  #t-divyakshetram .dk-pd .dk-temple{ grid-template-columns:minmax(0,1fr); gap:24px; }
  #t-divyakshetram .dk-pd .dk-gal{ grid-template-columns:repeat(3,minmax(0,1fr)); }
  #t-divyakshetram .dk-pd .dk-offer-grid{ grid-template-columns:minmax(0,1fr); }
}

/* --------------------------------------------------------------- 768 down - */
@media (max-width:768px){
  #t-divyakshetram .dk-pd{ --pd-gut:18px; }
  #t-divyakshetram .dk-pd .dk-hero{ padding:18px 0 34px; }
  #t-divyakshetram .dk-pd .dk-band{ padding:38px 0 42px; }
  #t-divyakshetram .dk-pd .dk-band-faq{ padding:42px 0 48px; }

  #t-divyakshetram .dk-pd .dk-h1{ font-size:30px; margin-bottom:16px; }
  #t-divyakshetram .dk-pd .dk-h2{ font-size:27px; }
  #t-divyakshetram .dk-pd .dk-lede{ font-size:14.5px; }
  #t-divyakshetram .dk-pd .dk-price{ font-size:26px; }

  #t-divyakshetram .dk-pd .dk-media{ aspect-ratio:16 / 11; border-radius:14px; }
  #t-divyakshetram .dk-pd .dk-thumbs{ gap:6px; }

  #t-divyakshetram .dk-pd .dk-benefits,
  #t-divyakshetram .dk-pd .dk-recv,
  #t-divyakshetram .dk-pd .dk-reviews,
  #t-divyakshetram .dk-pd .dk-facts{ grid-template-columns:minmax(0,1fr); }
  #t-divyakshetram .dk-pd .dk-gal{ grid-template-columns:repeat(2,minmax(0,1fr)); }

  #t-divyakshetram .dk-pd .dk-temple-img{ aspect-ratio:16 / 11; }

  #t-divyakshetram .dk-pd .dk-timeline::before{ left:15px; }
  #t-divyakshetram .dk-pd .dk-step{ grid-template-columns:32px minmax(0,1fr); column-gap:14px; padding-bottom:28px; }
  #t-divyakshetram .dk-pd .dk-step-n{ width:32px; height:32px; border-radius:10px; font-size:11px; }
  #t-divyakshetram .dk-pd .dk-step-t{ font-size:15.5px; }
  #t-divyakshetram .dk-pd .dk-step-d{ font-size:13px; }

  /* One CTA on a phone: the fixed bottom bar. The inline hero CTA row would sit
     directly above it offering the same action. */
  #t-divyakshetram .dk-pd .dk-ctarow .dk-cta{ display:none; }
  /* With the inline CTA gone the row can be empty (a package has no countdown
     pill), so the spacing moves onto the pill itself. */
  #t-divyakshetram .dk-pd .dk-ctarow{ margin:0; }
  #t-divyakshetram .dk-pd .dk-ctarow .dk-cd{ margin-top:20px; }
  #t-divyakshetram .dk-pd .dk-cd{ width:100%; justify-content:center; }
  #t-divyakshetram .dk-pd .dk-page{ padding-bottom:76px; }

  /* the desktop pinned bar is a desktop affordance only */
  #t-divyakshetram .dk-pd .booking-bar-wrap{ display:none; }

  #t-divyakshetram .dk-pd .pd-mobile-cta{
    /* above the sticky tab nav (9997), below the header (9999) — at 60 the nav
       painted straight over this bar where they met at the viewport foot. */
    position:fixed; left:0; right:0; bottom:0; z-index:9998; display:block;
    background:var(--pd-ground); border-top:1px solid var(--pd-line);
    box-shadow:0 -2px 14px rgba(28,18,10,.10);
  }
  #t-divyakshetram .dk-pd .pd-mobile-bar{
    display:flex; align-items:center; gap:12px;
    padding:10px 16px calc(10px + env(safe-area-inset-bottom));
  }
  #t-divyakshetram .dk-pd .pd-mobile-bar.is-closed{ justify-content:stretch; }
  #t-divyakshetram .dk-pd .pd-mb-wish{
    flex:none; width:40px; height:40px; display:inline-grid; place-items:center;
    padding:0; border:1px solid var(--pd-card-line); border-radius:999px;
    background:var(--pd-surface); color:var(--pd-muted); cursor:pointer;
  }
  #t-divyakshetram .dk-pd .pd-mb-wish.is-on{ border-color:var(--pd-maroon); color:var(--pd-maroon); }
  #t-divyakshetram .dk-pd .pd-mb-price{ flex:1 1 auto; min-width:0; display:flex; flex-direction:column; }
  #t-divyakshetram .dk-pd .pd-mb-amt{
    font-family:var(--dk-serif); font-size:18px; font-weight:700; color:var(--pd-ink); line-height:1.2;
  }
  #t-divyakshetram .dk-pd .pd-price-skel{
    display:inline-block; width:76px; height:18px; border-radius:5px; background:rgba(28,18,10,.08);
  }
  #t-divyakshetram .dk-pd .pd-mb-was{ font-size:12px; color:var(--pd-muted-2); }
  #t-divyakshetram .dk-pd .pd-mb-price .closetime{ font-size:11px; color:var(--pd-muted-2); }
  #t-divyakshetram .dk-pd .pd-mb-price .closetime strong{ color:var(--pd-maroon); }
  #t-divyakshetram .dk-pd .pd-mb-name{
    flex:1 1 auto; min-width:0; font-size:13px; font-weight:600; color:var(--pd-ink);
    white-space:nowrap; overflow:hidden; text-overflow:ellipsis;
  }
  #t-divyakshetram .dk-pd .pd-mb-btn{
    flex:0 1 auto; max-width:62%; padding:12px 22px; border:0; border-radius:999px;
    background:var(--pd-maroon); color:#fff; cursor:pointer;
    font-family:var(--dk-sans); font-size:14px; font-weight:700;
    white-space:nowrap; overflow:hidden; text-overflow:ellipsis;
  }
  #t-divyakshetram .dk-pd .pd-mobile-bar.is-closed .pd-mb-btn{ flex:1 1 auto; max-width:none; }
  #t-divyakshetram .dk-pd .pd-mb-btn[disabled]{ opacity:.55; }
  #t-divyakshetram .dk-pd .pd-mb-btn.notify.notify-set{ background:var(--pd-green); }
}

/* --- related poojas rail (category-matched) — added with the feature -------- */
#t-divyakshetram .dk-band-related{ background:var(--brand-surface); padding:52px 0 60px; }
/* Horizontal rail at every width (Boss, 2026-08-19) — it sits directly under
   About now, so a stacked grid would shove the rest of the page down. */
#t-divyakshetram .dk-related{
  display:flex; gap:20px; margin-top:26px;
  overflow-x:auto; overflow-y:hidden;
  scroll-snap-type:x proximity; -webkit-overflow-scrolling:touch;
  scrollbar-width:none; padding-bottom:4px;
}
#t-divyakshetram .dk-related::-webkit-scrollbar{ display:none; }
#t-divyakshetram .dk-rel-card{
  flex:0 0 clamp(250px,30%,320px); scroll-snap-align:start;
  display:flex; flex-direction:column; overflow:hidden; cursor:pointer;
  background:var(--brand-surface); border:1px solid var(--brand-line);
  border-radius:var(--brand-card-radius);
  box-shadow:0 2px 10px rgba(28,18,10,.05); transition:box-shadow .2s ease;
}
#t-divyakshetram .dk-rel-card:hover{ box-shadow:0 12px 30px rgba(28,18,10,.12); }
#t-divyakshetram .dk-rel-img{ aspect-ratio:3/2; overflow:hidden; }
#t-divyakshetram .dk-rel-img img{ width:100%; height:100%; object-fit:cover; display:block; }
#t-divyakshetram .dk-rel-body{
  display:flex; flex-direction:column; gap:9px; padding:16px 18px 18px; flex:1;
}
#t-divyakshetram .dk-rel-name{
  margin:0; font-family:var(--dk-serif); font-weight:600; letter-spacing:-.01em;
  font-size:17px; line-height:1.38; color:var(--brand-ink);
  display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden;
}
#t-divyakshetram .dk-rel-temple{
  font-family:var(--dk-sans); font-size:12px; color:var(--brand-muted);
}
#t-divyakshetram .dk-rel-foot{
  display:flex; align-items:center; justify-content:space-between; gap:12px;
  margin-top:auto; padding-top:12px;
}
#t-divyakshetram .dk-rel-price{
  font-family:var(--dk-sans); font-size:20px; font-weight:700; color:var(--brand-ink);
}
#t-divyakshetram .dk-rel-cta{
  flex:0 0 auto; padding:10px 16px; border:0; border-radius:999px;
  background:var(--brand-ink-soft); color:#fff;
  font-family:var(--dk-sans); font-size:12.5px; font-weight:600; white-space:nowrap;
  cursor:pointer; transition:background .18s ease;
}
#t-divyakshetram .dk-rel-cta:hover{ background:var(--brand-ink); }
@media (max-width:900px){
  #t-divyakshetram .dk-related{ gap:14px; }
  #t-divyakshetram .dk-rel-card{ flex:0 0 78%; }
  #t-divyakshetram .dk-band-related{ padding:32px 0 40px; }
}
/* ==== [/PD] ==== */

/* ==== [PKG] package-details presenter — Chitrakar ONLY ==== */
/* The package presenter reuses the pooja-details DOM verbatim, so it also
   carries `.dk-pd` and inherits the entire [PD] sheet above. Only what a
   RECURRING package adds needs its own rules. */

/* The recurring schedule replaces the single muhurat note, so it reads as a
   fact, not a footnote. */
#t-divyakshetram .dk-pkg .dk-metanote{
  align-items:center; gap:10px; font-size:12.5px; color:var(--pd-muted);
}
#t-divyakshetram .dk-pkg .dk-sched{
  padding:4px 11px; border-radius:999px;
  background:var(--pd-band-2); border:1px solid var(--pd-gold-line);
  font-weight:600; color:var(--pd-ink);
}

/* First-cycle start banner — the package's equivalent of the pooja's
   "booking closes in" urgency. */
#t-divyakshetram .dk-pkg .dk-startbanner{
  display:flex; align-items:baseline; gap:10px; flex-wrap:wrap;
  margin:16px 0 0; padding:12px 16px; border-radius:12px;
  background:var(--pd-surface); border:1px solid var(--pd-card-line);
  border-left:3px solid var(--pd-maroon);
}
#t-divyakshetram .dk-pkg .dk-startbanner-w{
  font-family:var(--dk-sans); font-size:11px; font-weight:700;
  letter-spacing:.14em; color:var(--pd-maroon);
}
#t-divyakshetram .dk-pkg .dk-startbanner-p{
  margin:0; flex:1 1 220px; font-size:12.5px; line-height:1.6; color:var(--pd-muted);
}

@media (max-width:768px){
  #t-divyakshetram .dk-pkg .dk-startbanner{ padding:11px 14px; }
}
/* ==== [/PKG] ==== */



  #t-divyakshetram .hero-title .line-a,   #t-divyakshetram .hero-title .line-b {
 
    overflow: visible;
}

  #t-divyakshetram  .vmv2 .jstep-label span {
    font-weight: 700;
}


