/* Sanatan Yatra clean design: section by section. See clean.css for the rule pattern. */

/* ---------- Home blocks: plain white, spacing comes from each section ---------- */
#root .home-block, #root .home-shell, #root .home-block-alt { background: #fff !important; border: 0 !important; padding-top: 0 !important; padding-bottom: 0 !important; box-shadow: none !important; }
#root .home-block + .home-block::before { display: none !important; }

/* ---------- Home hero: text and buttons always inside the photo ---------- */
#root .hero-cinema { display: none !important; }
/* Plain crossfade between slides */
#root .hero-slide-img { transform: none !important; }
#root .hero-content { transform: none !important; padding-left: clamp(64px, 8vw, 120px) !important; padding-right: clamp(64px, 8vw, 120px) !important; }
#root .hero-gsap-layer { filter: none !important; }
/* The live build hides the title and buttons 2 seconds after each slide */
#root .hero-inner { opacity: 1 !important; transform: none !important; pointer-events: auto !important; }
#root .hero-title, #root .hero-title.deva {
  font-size: clamp(28px, 4.2vw, 56px) !important;
  font-weight: 600 !important;
  line-height: 1.16 !important;
  letter-spacing: 0 !important;
  color: #fff !important;
  -webkit-text-fill-color: #fff !important;
  background: none !important;
  filter: none !important;
  animation: none !important;
  text-shadow: 0 1px 14px rgba(0, 0, 0, .45) !important;
  padding-top: 0 !important;
  margin: 0 0 20px !important;
}
#root .hero-btns { display: flex !important; flex-wrap: wrap !important; justify-content: center !important; gap: 12px !important; margin: 0 !important; }
#root .hero-btn-primary:nth-child(2) {
  background: rgba(255, 255, 255, .14) !important;
  border-color: rgba(255, 255, 255, .85) !important;
}
@media (hover: hover) { #root .hero-btn-primary:nth-child(2):hover { background: rgba(255, 255, 255, .26) !important; border-color: #fff !important; } }
#root .hero-root .hero-track { left: -40px !important; right: -40px !important; }
#root .hero-root { cursor: grab; background: #1a1006 !important; }
#root .hero-root.lyr-dragging { cursor: grabbing; }
#root .hero-thumbs { gap: 8px !important; }
#root .hero-thumb, #root .hero-thumb.active, #root .hero-thumb:not(.active):hover {
  width: 64px !important; height: 44px !important; border-radius: 6px !important; border: 2px solid rgba(255, 255, 255, .45) !important;
  background: none !important; box-shadow: none !important; transform: none !important;
}
#root .hero-thumb.active { border-color: #fff !important; }
#root .hero-thumb img, #root .hero-thumb.active img { filter: none !important; }

/* Phone hero */
#root .hero-root-m {
  position: relative !important; height: min(84svh, 620px) !important; min-height: 460px !important;
  overflow: hidden !important; background: #1a1006 !important; padding: 0 !important;
}
#root .hero-m-imgwrap {
  position: absolute !important; top: 0 !important; bottom: 0 !important; left: -40px !important; right: -40px !important;
  width: auto !important; height: auto !important; margin: 0 !important; border-radius: 0 !important; background: #1a1006 !important;
}
#root .hero-m-img { position: absolute !important; inset: 0 !important; width: 100% !important; height: 100% !important; max-width: none !important; object-fit: cover !important; }
#root .hero-m-imgwrap::after {
  content: ""; position: absolute; inset: 0; pointer-events: none;
  background: linear-gradient(to top, rgba(15, 8, 0, .82) 0%, rgba(15, 8, 0, .35) 45%, rgba(15, 8, 0, .1) 100%);
}
#root .hero-m-content {
  position: absolute !important; left: 0 !important; right: 0 !important; bottom: 0 !important; z-index: 3 !important;
  padding: 20px 16px 24px !important; margin: 0 !important; background: none !important; text-align: left !important;
}
#root .hero-m-content .hero-title { margin: 0 0 16px !important; text-align: left !important; }
#root .hero-m-content .hero-btns { justify-content: flex-start !important; }

/* ---------- Dev Darshan ---------- */
/* Live scroll effects fade the heading to 40% while it is on screen */
#root div:has(> .dd-title-wrapper) { opacity: 1 !important; transform: none !important; padding-bottom: var(--c-gap) !important; }
#root .dd-title-wrapper + p, #root div:has(+ .dd-title-wrapper) { display: none !important; }
#root div:has(> div > .dd-title-wrapper), #root .dd-main-grid { max-width: var(--c-max) !important; padding-left: var(--c-side) !important; padding-right: var(--c-side) !important; box-sizing: border-box !important; }
#root .dd-main-grid { padding-top: 0 !important; min-height: 0 !important; column-gap: var(--c-gap) !important; }
#root .dd-main-grid > * { border: 0 !important; transform: none !important; }
#root .dd-detail-content h3 { font-size: 22px !important; line-height: 1.25 !important; letter-spacing: 0 !important; margin-bottom: 8px !important; color: var(--c-ink) !important; }
#root .dd-detail-content > div { font-family: var(--c-sans) !important; font-size: 15px !important; font-weight: 500 !important; letter-spacing: 0 !important; text-transform: none !important; color: var(--c-mute) !important; }
#root .dd-detail-content > div + p { display: none !important; }
#root .dd-detail-content p:last-of-type { -webkit-line-clamp: 4 !important; margin: 8px 0 20px !important; color: var(--c-text) !important; }
#root .dd-stage::before, #root .dd-stage::after { display: none !important; }
#root .dd-card-abs { border: 0 !important; border-radius: var(--c-radius) !important; box-shadow: none !important; background: #efe9dc !important; }
#root .dd-card-abs.active { box-shadow: 0 10px 28px rgba(42, 28, 14, .18) !important; }
#root .dd-card-name { font-size: 18px !important; line-height: 1.25 !important; letter-spacing: 0 !important; }
#root .dd-card-abs.active .dd-card-name { font-size: 20px !important; }
#root .dd-carousel-arrow { display: none !important; }

@media (max-width: 767px) {
  #root .dd-carousel-arrow { display: none !important; }
  #root .dd-main-grid { grid-template-columns: minmax(0, 1fr) !important; grid-template-rows: auto auto !important; row-gap: 16px !important; }
  #root .dd-main-grid > * { padding: 0 !important; }
  #root .dd-stage { height: 400px !important; }
}

/* ---------- Home gallery strip ---------- */
#root .pg { background: #fff !important; }
#root .pg-hdr, #root .pg-footer, #root .sy-hero, #root .sy-toolbar, #root .sy-grid-wrap, #root .sy-pager, #root .sy-strip-wrap {
  max-width: var(--c-max) !important;
  margin-left: auto !important;
  margin-right: auto !important;
  padding-left: var(--c-side) !important;
  padding-right: var(--c-side) !important;
  box-sizing: border-box !important;
}
#root .pg-title, #root .pg-title-main { display: block !important; }
#root .pg-title-eyebrow { display: none !important; }
#root .pg-strip { border: 0 !important; padding: 0 !important; background: none !important; }
/* Card width + gap must stay 216 px: the live loop jumps by that distance */
#root .pg-track { gap: 16px !important; }
/* Square frame: the five gallery photos run from 0.81 to 1.5 wide, so a square keeps every temple top to base.
   Size per screen comes from zoom on the track (--pg-z), which keeps the 216 px loop step right. */
:root { --pg-z: 1; }
@media (min-width: 768px) { :root { --pg-z: 1.2; } }
@media (min-width: 1024px) { :root { --pg-z: 1.3; } }
@media (min-width: 1600px) { :root { --pg-z: 1.45; } }
#root .pg-track { zoom: var(--pg-z); }
#root .pg-sc, #root .pg-sc:hover {
  width: 200px !important; height: 200px !important; flex: none !important;
  border: 0 !important; border-radius: var(--c-radius) !important; background: #efe9dc !important;
}
#root .pg-sc-ov, #root .pg-sc:hover .pg-sc-ov {
  opacity: 1 !important; padding: 8px 10px !important;
  background: linear-gradient(to top, rgba(15, 8, 0, .74), rgba(15, 8, 0, 0) 62%);
  transition: background .25s ease;
}
#root .pg-sc-info, #root .pg-sc:hover .pg-sc-info { transform: none !important; width: 100%; min-width: 0; }
#root .pg-sc-name { font-family: var(--c-serif) !important; font-size: 15px !important; font-weight: 600 !important; line-height: 1.25 !important; margin: 0 !important; color: #fff !important; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
#root .pg-sc-loc { display: block !important; font-family: var(--c-sans) !important; font-size: 13px !important; line-height: 1.3 !important; color: rgba(255, 255, 255, .86) !important; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
/* Full title on up to two lines; text size divided by the zoom so it reads the same on every screen */
#root .pg-track .pg-sc .pg-sc-name { font-size: calc(14px / var(--pg-z)) !important; white-space: normal !important; text-overflow: clip !important; display: -webkit-box !important; -webkit-box-orient: vertical; -webkit-line-clamp: 2; overflow: hidden !important; overflow-wrap: anywhere; }
#root .pg-track .pg-sc .pg-sc-loc { font-size: calc(12.5px / var(--pg-z)) !important; }
#root .pg-sc-loc svg { display: none !important; }
#root .pg-footer { padding-top: var(--c-gap) !important; padding-bottom: var(--c-gap) !important; min-height: 0 !important; height: auto !important; background: none !important; }

/* ---------- Home holy sites ---------- */
#root .sy { background: #fff !important; }
#root .sy-hero, #root .sy-h1, #root .sy-h1-main { display: block !important; }
#root .sy-h1-eyebrow, #root .sy-eyebrow { display: none !important; }
#root .sy-toolbar { padding-top: 0 !important; padding-bottom: var(--c-gap) !important; min-height: 0 !important; gap: 12px 16px !important; border: 0 !important; background: none !important; flex-wrap: nowrap !important; }
#root .sy-search-wrap { flex: none !important; width: 240px !important; background: none !important; }
#root .sy-search-input {
  font-family: var(--c-sans) !important; font-size: 15px !important; letter-spacing: 0 !important; min-height: 42px;
  border: 1px solid var(--c-line) !important; border-radius: 8px !important; background: #fff !important; box-shadow: none !important;
}
#root .sy-search-input::placeholder { font-style: normal !important; }
#root .sy-chips { flex: 1 1 auto !important; flex-wrap: nowrap !important; overflow-x: auto !important; scrollbar-width: none; gap: 4px !important; }
#root .sy-chips::-webkit-scrollbar { display: none; }
#root .sy-chip, #root .sy-chip.on, #root .sy-chip:hover {
  flex: none !important; min-height: 42px !important; padding: 0 12px !important; border: 0 !important; border-radius: 8px !important; box-shadow: none !important;
  background: none !important; font-family: var(--c-sans) !important; font-size: 14px !important; font-weight: 500 !important;
  letter-spacing: 0 !important; text-transform: none !important; white-space: nowrap; color: var(--c-text) !important;
}
#root .sy-chip.on { color: var(--c-brand) !important; font-weight: 600 !important; background: var(--c-soft) !important; }
#root .sy-grid-outer { padding: 0 !important; width: 100% !important; border: 0 !important; overflow: visible !important; height: auto !important; }
#root .sy-grid {
  display: grid !important;
  grid-template-columns: repeat(auto-fill, minmax(min(100%, 280px), 1fr)) !important;
  grid-auto-rows: auto !important;
  gap: var(--c-gap) !important;
  border: 0 !important; background: none !important; width: 100% !important; height: auto !important; min-height: 0 !important;
}
#root .sy-card, #root .sy-card--featured {
  grid-column: auto !important; grid-row: auto !important;
  display: flex !important; flex-direction: column !important; height: auto !important;
  border: 0 !important; border-radius: 0 !important; background: none !important; box-shadow: none !important; overflow: visible !important;
}
#root .sy-img-zone { flex: none !important; width: 100% !important; height: auto !important; min-height: 0 !important; aspect-ratio: 4 / 3; border-radius: var(--c-radius) !important; overflow: hidden !important; }
#root .sy-img-zone { cursor: pointer; }
#root .sy-overlay { background: linear-gradient(to top, rgba(15, 8, 0, .72), rgba(15, 8, 0, 0) 55%) !important; transition: background .25s ease; }
#root .sy-title, #root .sy-card--featured .sy-title { font-size: 18px !important; line-height: 1.25 !important; letter-spacing: 0 !important; margin: 0 0 2px !important; color: #fff !important; text-shadow: none !important; }
#root .sy-deity-line { display: none !important; }
#root .sy-loc { font-family: var(--c-sans) !important; font-style: normal !important; font-size: 13px !important; color: rgba(255, 255, 255, .88) !important; }
#root .sy-loc svg { display: none !important; }
/* The whole card is the temple link: the live View Site link is stretched over it and its text hidden */
#root .sy-card { position: relative !important; cursor: pointer; }
#root .sy-foot, #root .sy-card:hover .sy-foot { position: static !important; height: 0 !important; min-height: 0 !important; padding: 0 !important; margin: 0 !important; border: 0 !important; background: none !important; overflow: visible !important; }
#root .sy-cta, #root .sy-card:hover .sy-cta { position: absolute !important; inset: 0 !important; z-index: 6; display: block !important; font-size: 0 !important; color: transparent !important; -webkit-tap-highlight-color: transparent; border-radius: var(--c-radius); }
#root .sy-cta svg { display: none !important; }
#root .sy-cta:focus-visible { outline: 2px solid var(--c-brand); outline-offset: 2px; }
#root .sy-pager { justify-content: center !important; gap: 8px !important; padding-top: var(--c-gap) !important; padding-bottom: var(--c-gap) !important; border: 0 !important; }
#root .sy-pg-btn { width: 44px !important; height: 44px !important; border: 1px solid var(--c-line) !important; border-radius: 50% !important; background: #fff !important; color: var(--c-ink) !important; }
@media (max-width: 767px) {
  #root .sy-toolbar { flex-direction: column !important; align-items: stretch !important; }
  #root .sy-search-wrap { width: 100% !important; }
}
/* Lower strip: width must include the gap, the live loop measures one card */
:root { --c-sc-n: 5; }
@media (max-width: 1023px) { :root { --c-sc-n: 3.4; } }
@media (max-width: 639px) { :root { --c-sc-n: 2.2; } }
#root .sy-strip-wrap { padding-bottom: var(--c-section) !important; border: 0 !important; }
#root .sy-strip, #root .sy-strip-vp, #root .sy-strip-track { height: auto !important; min-height: 0 !important; border: 0 !important; background: none !important; gap: 0 !important; }
#root .sy-sc, #root .sy-sc:hover {
  width: calc((min(100vw, var(--c-max)) - 2 * var(--c-side)) / var(--c-sc-n)) !important;
  padding-right: 16px !important; box-sizing: border-box !important;
  border: 0 !important; background: none !important; height: auto !important;
}
#root .sy-sc-img { height: auto !important; aspect-ratio: 4 / 3; border-radius: var(--c-radius) !important; overflow: hidden !important; }
#root .sy-sc-ov { display: none !important; }
#root .sy-sc-body { padding: 10px 0 0 !important; border: 0 !important; background: none !important; min-height: 0 !important; height: auto !important; }
#root .sy-sc-name { font-size: 15px !important; line-height: 1.3 !important; letter-spacing: 0 !important; margin: 0 0 2px !important; -webkit-line-clamp: 2 !important; }
#root .sy-sc-loc { display: block !important; font-family: var(--c-sans) !important; font-style: normal !important; font-size: 13px !important; line-height: 1.4 !important; color: var(--c-mute) !important; opacity: 1 !important; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
#root .sy-sc-loc svg { display: none !important; }

/* ---------- Home Tantra sadhana: open layout ---------- */
#root .ts { background: #fff !important; padding-bottom: var(--c-section) !important; }
#root .ts-section-hd { max-width: var(--c-max) !important; margin-left: auto !important; margin-right: auto !important; padding-left: var(--c-side) !important; padding-right: var(--c-side) !important; padding-bottom: var(--c-gap) !important; display: block !important; }
#root .ts-section-h2, #root .ts-section-h2-main { display: block !important; }
#root .ts-section-eyebrow, #root .ts-section-h2-eyebrow { display: none !important; }
#root .ts-tabs-wrap {
  max-width: var(--c-max) !important; margin: 0 auto !important; padding: 0 var(--c-side) var(--c-gap) !important;
  display: flex !important; flex-wrap: nowrap !important; gap: 24px !important; overflow-x: auto !important; scrollbar-width: none; border: 0 !important;
}
#root .ts-tabs-wrap::-webkit-scrollbar { display: none; }
#root .ts-tab, #root .ts-tab:hover:not(.ts-tab-on), #root .ts-tab-on {
  flex: none !important; width: auto !important; max-width: 280px; min-height: 42px !important; padding: 0 !important;
  border: 0 !important; border-bottom: 2px solid transparent !important; border-radius: 0 !important; background: none !important; box-shadow: none !important;
}
#root .ts-tab-on { border-bottom-color: var(--c-brand) !important; }
#root .ts-tab-name {
  font-family: var(--c-sans) !important; font-size: 15px !important; font-weight: 500 !important; letter-spacing: 0 !important;
  text-transform: none !important; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; color: var(--c-text) !important;
}
#root .ts-tab-on .ts-tab-name { color: var(--c-brand) !important; font-weight: 600 !important; }
#root .ts-detail {
  max-width: var(--c-max) !important; margin: 0 auto !important; padding: 0 var(--c-side) !important;
  display: grid !important; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) !important; gap: clamp(20px, 4vw, 48px) !important; align-items: center !important;
}
#root .ts-left, #root .ts-right, #root .ts-card {
  position: static !important; border: 0 !important; border-radius: 0 !important; background: none !important; box-shadow: none !important;
  padding: 0 !important; height: auto !important; min-height: 0 !important; overflow: visible !important;
}
#root .ts-title-main { font-size: clamp(20px, 2.2vw, 26px) !important; letter-spacing: 0 !important; line-height: 1.25 !important; margin: 0 0 12px !important; }
#root .ts-title-sub { display: none !important; }
#root .ts-desc { font-family: var(--c-sans) !important; font-size: 16px !important; line-height: 1.6 !important; color: var(--c-text) !important; margin: 0 !important; display: -webkit-box !important; -webkit-box-orient: vertical; -webkit-line-clamp: 5; overflow: hidden; }
/* Tall deity photos: fixed tidy frame, keep the face in view */
#root .ts-card-img { flex: none !important; aspect-ratio: 4 / 3; height: auto !important; min-height: 0 !important; border-radius: var(--c-radius) !important; overflow: hidden !important; background: #efe9dc !important; }
#root .ts-card-img img { width: 100% !important; height: 100% !important; object-fit: cover !important; object-position: center 8% !important; }
#root .ts-card-img-ov, #root .ts-card-deity-tag, #root .ts-card-price-badge { display: none !important; }
#root .ts-card-body { display: flex !important; flex-wrap: wrap !important; gap: 12px !important; padding: 16px 0 0 !important; background: none !important; }
#root .ts-card-body > a { flex: 1 1 auto !important; padding: 0 16px !important; }
#root .ts-footer { max-width: var(--c-max) !important; padding: var(--c-gap) var(--c-side) 0 !important; min-height: 0 !important; border: 0 !important; }
@media (max-width: 599px) { #root .ts-detail { grid-template-columns: minmax(0, 1fr) !important; } }

/* ---------- Footer ---------- */




























/* ---------- /tours (Tantra page) ---------- */
#root .ts-hero { background: #fff !important; height: auto !important; min-height: 0 !important; padding: 0 0 var(--c-section) !important; }
/* Photo row: each item once, four equal cards, no moving strip */
#root .ts-strip-outer { position: static !important; -webkit-mask-image: none !important; mask-image: none !important; width: 100%; max-width: var(--c-max); margin: 0 auto; padding: 0 var(--c-side); box-sizing: border-box; }
#root .ts-strip-overflow { overflow: visible !important; }
#root .ts-strip-track { display: grid !important; grid-template-columns: repeat(4, minmax(0, 1fr)) !important; gap: clamp(12px, 1.6vw, 24px) !important; width: 100% !important; padding: 0 !important; animation: none !important; transform: none !important; will-change: auto !important; }
#root .ts-strip-card, #root .ts-strip-card:hover { width: auto !important; height: auto !important; aspect-ratio: 4 / 5; border: 0 !important; }
#root .ts-strip-card img { object-position: center 15%; }
#root .ts-strip-card.lyr-clone { display: none !important; }
@media (max-width: 599px) { #root .ts-strip-track { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; } }
#root .ts-hero-inner { padding: var(--c-section) var(--c-side) clamp(24px, 3vw, 40px) !important; min-height: 0 !important; height: auto !important; }
#root .ts-hero-content { padding: 0 !important; }
#root .ts-hero-title { display: block !important; margin: 0 0 20px !important; }
#root .ts-intro { padding: var(--c-section) 0 !important; }
#root .ts-intro-p ~ .ts-intro-p { display: none !important; }
#root .ts-intro-grid { grid-template-columns: minmax(0, 5fr) minmax(0, 7fr) !important; gap: clamp(20px, 4vw, 48px) !important; align-items: start !important; height: auto !important; margin-bottom: var(--c-gap) !important; }
@media (max-width: 767px) { #root .ts-intro-grid { grid-template-columns: minmax(0, 1fr) !important; gap: 12px !important; } }
#root .ts-intro-left, #root .ts-intro-right { height: auto !important; min-height: 0 !important; }
#root .ts-intro-p { color: var(--c-text) !important; }
#root .ts-strip-card { border: 0 !important; border-radius: var(--c-radius) !important; }
#root .ts-type-card { border: 0 !important; border-radius: var(--c-radius) !important; box-shadow: none !important; transform: none !important; }
#root .ts-type-name { font-size: 18px !important; letter-spacing: 0 !important; text-shadow: 0 1px 8px rgba(0, 0, 0, .5) !important; }
#root .ts-section-header { margin-bottom: var(--c-gap) !important; }
#root .ts-section-h2 { text-align: left !important; }
#root .ts-pkg { border: 0 !important; background: none !important; border-radius: 0 !important; }
#root .ts-pkg-inner { border: 0 !important; background: none !important; gap: var(--c-gap); }
#root .ts-pkg-img-col { border-radius: var(--c-radius) !important; overflow: hidden !important; }
#root .ts-pkg-img { object-position: center 20% !important; }
#root .ts-pkg-content { padding: 0 !important; }
#root .ts-pkg-title { font-size: clamp(20px, 2.2vw, 26px) !important; letter-spacing: 0 !important; line-height: 1.25 !important; }
#root .ts-pkg-subtitle { font-family: var(--c-sans) !important; font-style: normal !important; font-size: 15px !important; color: var(--c-mute) !important; }
#root .ts-pkg-desc { font-family: var(--c-sans) !important; font-size: 16px !important; line-height: 1.6 !important; color: var(--c-text) !important; }
#root .ts-pkg-tags { gap: 4px 16px !important; }
#root .ts-tag { padding: 0 !important; border: 0 !important; background: none !important; font-family: var(--c-sans) !important; font-size: 14px !important; letter-spacing: 0 !important; text-transform: none !important; color: var(--c-text) !important; }
#root .ts-pkg-footer { border: 0 !important; padding-top: 12px !important; justify-content: flex-start !important; }
#root .ts-pkg-deity-tag { display: none !important; }

/* ---------- /temple/:id ---------- */
#root .tn-title { font-family: var(--c-sans) !important; font-size: 14px !important; letter-spacing: 0 !important; }
#root .tn-back-inner { font-size: 14px !important; letter-spacing: 0 !important; text-transform: none !important; }
#root .tn-lang { min-width: 40px; min-height: 40px; font-size: 14px !important; letter-spacing: 0 !important; }
#root .h1-word, #root .h1-ch { text-shadow: 0 1px 14px rgba(0, 0, 0, .45) !important; filter: none !important; color: #fff !important; -webkit-text-fill-color: #fff !important; background: none !important; letter-spacing: 0 !important; animation: none !important; }
#root .h1-word { font-size: clamp(28px, 4.2vw, 56px) !important; font-weight: 600 !important; margin-right: .28em !important; }
#root .hero-loc { font-family: var(--c-sans) !important; font-size: 16px !important; letter-spacing: 0 !important; text-transform: none !important; font-style: normal !important; }
#root .meta-accent { display: none !important; }
#root .meta-band, #root .meta-cell { border: 0 !important; background: none !important; }
#root .meta-lbl { font-family: var(--c-sans) !important; font-size: 13px !important; font-weight: 500 !important; letter-spacing: 0 !important; text-transform: none !important; color: var(--c-mute) !important; }
#root .meta-val { font-family: var(--c-sans) !important; font-size: 17px !important; font-weight: 500 !important; line-height: 1.4 !important; color: var(--c-ink) !important; }
#root .tdesc-body, #root .tdesc-body p, #root .tdesc-body li { font-family: var(--c-sans) !important; font-size: 16px !important; line-height: 1.7 !important; color: var(--c-text) !important; }
#root .tdesc-sec::before, #root .deity-sec::before, #root .deity-sec::after, #root .deity-txt-card::before { display: none !important; }
#root .meta-band, #root .tdesc-sec, #root .deity-sec { border: 0 !important; box-shadow: none !important; }
#root .tdesc-sec, #root .deity-sec { padding-top: var(--c-section) !important; padding-bottom: var(--c-section) !important; }
#root .deity-sec { background: #fff !important; }
#root .deity-txt-card { border: 0 !important; background: none !important; box-shadow: none !important; padding: 0 !important; border-radius: 0 !important; }
#root .deity-top-bar, #root .deity-txt-accent, #root .deity-zoom-hint, #root .deity-nodesc-quote { display: none !important; }
#root .deity-main, #root .deity-main-wrap { border: 0 !important; border-radius: var(--c-radius) !important; box-shadow: none !important; }
#root .deity-alts-lbl, #root .deity-about-lbl, #root .deity-also-lbl { font-family: var(--c-sans) !important; font-size: 14px !important; font-weight: 500 !important; letter-spacing: 0 !important; text-transform: none !important; color: var(--c-mute) !important; }
#root .deity-alt-pill, #root .deity-also-tag { border: 0 !important; background: var(--c-soft) !important; border-radius: 8px !important; font-size: 14px !important; }
#root .deity-desc-block, #root .deity-nodesc-block { border: 0 !important; background: none !important; padding: 0 !important; }
#root .deity-nodesc-txt { font-size: 16px !important; font-style: normal !important; color: var(--c-mute) !important; }
#root .related-grid { gap: var(--c-gap) !important; }
#root .rel-card { border: 0 !important; background: none !important; box-shadow: none !important; border-radius: 0 !important; }
#root .rel-img-wrap { aspect-ratio: 4 / 3; height: auto !important; border-radius: var(--c-radius) !important; overflow: hidden !important; }
#root .rel-card * { border: 0 !important; }
#root .rel-card > :not(.rel-img-wrap) { padding-left: 0 !important; padding-right: 0 !important; }
#root .rel-loc svg { display: none !important; }
#root .rel-loc { font-size: 13px !important; color: var(--c-mute) !important; }
#root .rel-cta { display: none !important; font-family: var(--c-sans) !important; font-size: 15px !important; font-weight: 600 !important; letter-spacing: 0 !important; text-transform: none !important; color: var(--c-brand) !important; }


/* ---------- /explore ---------- */
#root .ex-h1, #root .ex-title-main { display: block !important; }
#root .ex-hero::after { display: none !important; }
#root .map-badge { display: none !important; }
#root .map-tip-touch { font-size: 13px !important; }
#root .ex-title-eyebrow { display: none !important; }
#root .ex-lc, #root .lc-active, #root .ex-lc:hover:not(.lc-active) { border: 0 !important; border-radius: var(--c-radius) !important; box-shadow: none !important; background: #fff !important; min-width: 0; }
#root .lc-active { background: var(--c-soft) !important; }
#root .ex-lc::before { display: none !important; }
#root .lc-img { border: 0 !important; border-radius: 8px !important; }
#root .lc-name { font-size: 15px !important; letter-spacing: 0 !important; }
#root .lc-loc { font-size: 13px !important; color: var(--c-mute) !important; }
#root .lc-loc svg, #root .gc-loc svg { display: none !important; }
#root .lc-deity, #root .gc-deity { font-family: var(--c-sans) !important; font-size: 13px !important; font-weight: 500 !important; letter-spacing: 0 !important; text-transform: none !important; color: var(--c-brand) !important; }
#root .ex-mapwrap, #root .ex-mapwrap.map-active { border: 0 !important; border-radius: var(--c-radius) !important; box-shadow: none !important; }
#root .ex-grid-hd { border: 0 !important; padding-bottom: 0 !important; }
#root .ex-grid { grid-template-columns: repeat(auto-fill, minmax(min(100%, 260px), 1fr)) !important; gap: var(--c-gap) !important; }
#root .ex-gcard { border: 0 !important; background: none !important; border-radius: 0 !important; overflow: visible !important; }
#root .gc-img { aspect-ratio: 4 / 3; height: auto !important; border-radius: var(--c-radius) !important; overflow: hidden !important; border: 0 !important; }
#root .gc-body { padding: 10px 0 0 !important; border: 0 !important; background: none !important; }
#root .gc-name { font-size: 16px !important; letter-spacing: 0 !important; line-height: 1.3 !important; white-space: normal !important; }
#root .gc-loc { font-size: 13px !important; color: var(--c-mute) !important; }
#root .ex-page-btn, #root .ex-page-num { width: 44px !important; height: 44px !important; min-width: 44px !important; font-size: 15px !important; border-radius: 50% !important; border: 1px solid var(--c-line) !important; }
#root .ex-page-num.active { border-color: var(--c-brand) !important; background: var(--c-brand) !important; }
#root .ex-left, #root .ex-sr, #root .ex-list { min-width: 0 !important; max-width: 100% !important; box-sizing: border-box !important; }
#root .ex-content { min-width: 0 !important; box-sizing: border-box !important; }

/* ---------- /blog ---------- */
#root .bl-hero { background: #fff !important; border: 0 !important; }
#root .bl-hero-inner { padding-top: var(--c-section) !important; padding-bottom: var(--c-gap) !important; min-height: 0 !important; }
#root .bl-title-main, #root .bl-hero-title { display: block !important; }
#root .bl-title-eyebrow { display: none !important; }
#root .bl-hero-gallery:not(:has(img)) { display: none !important; }
#root .bl-hero-inner:not(:has(.bl-hero-gallery img)) { display: block !important; }
#root .bl-hero-title { margin-bottom: 8px !important; }
#root .bl-hero-sub { color: var(--c-text) !important; }
#root .bl-filters-wrap { border: 0 !important; }
#root .bl-hero-inner, #root .bl-filters, #root .bl-content-wrap { max-width: var(--c-max) !important; padding-left: var(--c-side) !important; padding-right: var(--c-side) !important; box-sizing: border-box !important; }
#root .bl-filters { flex-wrap: wrap; gap: 12px !important; min-width: 0; }
#root .bl-lang-tabs { max-width: 100%; min-width: 0; gap: 16px !important; }
#root .bl-lang-tab { font-family: var(--c-sans) !important; font-size: 15px !important; font-weight: 500 !important; letter-spacing: 0 !important; text-transform: none !important; padding: 0 !important; min-height: 44px; white-space: nowrap; flex: none; }
#root .bl-search-box { border-radius: 8px !important; min-height: 44px; padding-top: 0 !important; padding-bottom: 0 !important; max-width: 100%; box-sizing: border-box; min-width: 0; }
#root .bl-retry-btn { min-height: 46px; padding: 0 22px !important; border-radius: 8px !important; font-family: var(--c-sans) !important; font-size: 15px !important; font-weight: 600 !important; letter-spacing: 0 !important; text-transform: none !important; }
#root .bl-search-input { min-height: 42px; }
#root .bl-card, #root .bl-featured { border: 0 !important; border-radius: 0 !important; box-shadow: none !important; }
#root .bl-card-img-wrap { border-radius: var(--c-radius) !important; overflow: hidden !important; aspect-ratio: 4 / 3 !important; }
#root .bl-featured-media { border-radius: var(--c-radius) !important; overflow: hidden !important; }

/* ---------- /gallery ---------- */
#root .glp-hero-h1 { font-size: clamp(28px, 4.2vw, 56px) !important; font-weight: 600 !important; letter-spacing: 0 !important; color: #fff !important; -webkit-text-fill-color: #fff !important; background: none !important; filter: none !important; animation: none !important; text-shadow: 0 1px 14px rgba(0, 0, 0, .45) !important; }
#root .glp-hero-h1 em { color: #fff !important; -webkit-text-fill-color: #fff !important; background: none !important; filter: none !important; }
#root .glp-hero-sub { font-family: var(--c-sans) !important; font-style: normal !important; font-size: 16px !important; }
#root .glp-header { border: 0 !important; padding-top: var(--c-section) !important; }
#root .glp-h-title, #root .glp-title-main { display: block !important; }
#root .glp-title-eyebrow, #root .glp-hero-eyebrow, #root .glp-reels-eyebrow { display: none !important; }
#root .glp-header-top { padding-bottom: 8px !important; }
#root .glp-ftab, #root .glp-ftab:hover, #root .glp-ftab.on { text-transform: capitalize !important; flex: none; min-height: 42px; padding: 0 14px !important; border: 0 !important; border-radius: 8px !important; background: none !important; font-family: var(--c-sans) !important; font-size: 14px !important; font-weight: 500 !important; letter-spacing: 0 !important; color: var(--c-text) !important; }
#root .glp-ftab.on { background: var(--c-soft) !important; color: var(--c-brand) !important; font-weight: 600 !important; }
#root .glp-main { padding-left: clamp(1.5rem, 6vw, 6rem) !important; padding-right: clamp(1.5rem, 6vw, 6rem) !important; }
#root .glp-tile { aspect-ratio: 4 / 3 !important; border-radius: var(--c-radius) !important; }
#root .glp-tile-overlay { background: linear-gradient(to top, rgba(15, 8, 0, .74), rgba(15, 8, 0, 0) 62%) !important; transition: background .25s ease; opacity: 1 !important; }
#root .glp-tile-title { font-family: var(--c-serif) !important; font-size: 15px !important; }
#root .glp-tile-sub { font-size: 13px !important; }
#root .glp-reels { background: #fff !important; border: 0 !important; }
#root .glp-reel-card { border: 0 !important; border-radius: var(--c-radius) !important; }

/* ---------- /about ---------- */
#root .ab-mantra-devanagari, #root .ab-mantra-devanagari.latin { font-family: var(--c-serif) !important; font-size: clamp(28px, 4.2vw, 56px) !important; font-weight: 600 !important; letter-spacing: 0 !important; line-height: 1.16 !important; text-transform: none !important; color: #fff !important; text-shadow: 0 1px 14px rgba(0, 0, 0, .45) !important; filter: none !important; animation: none !important; }
#root .ab-mantra-wrap { padding: 0 !important; }
#root .sm-root { background: #1a1005 !important; }
#root .sm-location, #root .sm-glow, #root .sm-grain-lt, #root .sm-hline, #root .sm-vline, #root .sm-corner, #root .sm-orb { display: none !important; }
#root .sm-inner { padding-top: var(--c-section) !important; padding-bottom: var(--c-section) !important; }
#root .sm-quote { border: 0 !important; background: none !important; backdrop-filter: none !important; box-shadow: none !important; padding: 0 !important; margin: 0 !important; }
#root .sm-quote::before, #root .sm-quote::after { display: none !important; }
#root .sm-img-frame, #root .sm-sub-img, #root .ab-guide-photo-sm, #root .ab-guide-photo-main { border: 0 !important; border-radius: var(--c-radius) !important; box-shadow: none !important; overflow: hidden !important; }
#root .sm-sub-imgs, #root .ab-guide-photos-row { gap: 8px !important; margin-top: 8px !important; }
#root .sm-img-label, #root .sm-sub-img-label, #root .ab-guide-photo-sm-label { font-size: 15px !important; letter-spacing: 0 !important; text-transform: none !important; text-shadow: 0 1px 6px rgba(0, 0, 0, .5) !important; }
#root .ab-guide-nameplate-role, #root .ab-guide-why-label { display: none !important; }
#root .ab-guide-nameplate-name { font-size: 22px !important; letter-spacing: 0 !important; }
#root .ab-guide-nameplate-title { font-family: var(--c-sans) !important; font-style: normal !important; font-size: 15px !important; }
#root .ab-guide-bio > p, #root .ab-guide-intro { color: var(--c-text) !important; border: 0 !important; }
#root .ab-guide-intro { padding-bottom: 0 !important; margin-top: 8px !important; }
#root .ab-guide-bio { padding-top: 16px !important; border: 0 !important; }
#root .ab-guide-tag { min-height: 0; padding: 6px 12px !important; border: 0 !important; border-radius: 8px !important; background: var(--c-soft) !important; font-family: var(--c-sans) !important; font-size: 14px !important; font-weight: 500 !important; letter-spacing: 0 !important; text-transform: none !important; color: var(--c-text) !important; }
#root .ab-sec-header div:has(+ .ab-sec-title) { display: none !important; }
#root .ab-timeline-spine { opacity: .5; }
#root .ab-vp-mantra { display: none !important; }
#root .ab-vp-desc { font-family: var(--c-sans) !important; font-size: 16px !important; line-height: 1.6 !important; color: var(--c-text) !important; }
#root .ab-mantra-translation { font-family: var(--c-sans) !important; font-style: normal !important; font-size: 16px !important; color: #fff !important; text-shadow: 0 1px 8px rgba(0, 0, 0, .5) !important; }
#root .ab-hero { background: #1a1005 !important; }
#root .ab-sec-header::after { display: none !important; }
#root .ab-values-section::before { display: none !important; }
#root .ab-guide-content > * { border: 0 !important; }
#root .ab-section { padding: var(--c-section) 0 !important; }
#root .ab-sec-header { margin-bottom: var(--c-gap) !important; padding-bottom: 0 !important; border: 0 !important; }
#root .ab-values-section { padding: var(--c-section) 0 !important; }
#root .ab-values-grid-new { gap: var(--c-gap) !important; grid-template-columns: repeat(auto-fill, minmax(min(100%, 300px), 1fr)) !important; }
#root .ab-values-header { max-width: var(--max-w); margin: 0 auto var(--c-gap) !important; padding: 0 var(--pad-x); text-align: left !important; box-sizing: border-box; }
@media (min-width: 1024px) { #root .ab-values-grid-new { grid-template-columns: repeat(3, minmax(0, 1fr)) !important; } }
#root .ab-values-spacer { display: none !important; }

#root .ab-value-pillar, #root .ab-value-pillar:hover { border: 0 !important; background: none !important; border-radius: 0 !important; }
#root .ab-vp-body { padding: 0 !important; }
#root .ab-vp-top { margin-bottom: 6px !important; }
#root .ab-vp-title, #root .ab-value-pillar:hover .ab-vp-title, #root .ab-value-pillar.active .ab-vp-title { font-size: 18px !important; font-weight: 700 !important; letter-spacing: 0 !important; text-transform: none !important; color: var(--c-ink) !important; text-shadow: none !important; }
#root .ab-tl-item:nth-child(odd) .ab-tl-left, #root .ab-tl-item:nth-child(even) .ab-tl-right { opacity: 1 !important; }
#root .ab-tl-milestone { font-size: 16px !important; letter-spacing: 0 !important; text-transform: none !important; }
#root .ab-tl-desc { font-family: var(--c-sans) !important; font-style: normal !important; font-size: 15px !important; font-weight: 400 !important; }
#root .ab-tl-year { color: var(--c-brand) !important; }

/* ---------- Gallery photo viewer ---------- */
#root .pg-lb-mood { display: none !important; }
#root .pg-lb-ttl { font-size: 20px !important; letter-spacing: 0 !important; }
#root .pg-lb-loc { font-size: 14px !important; letter-spacing: 0 !important; }
#root .pg-lb-desc { font-family: var(--c-sans) !important; font-style: normal !important; font-size: 16px !important; line-height: 1.6 !important; color: var(--c-text) !important; }
#root .pg-lb-badge-tag { display: none !important; }
#root .pg-lb-b1, #root .pg-lb-b2 { width: 100% !important; }

/* ---------- /contacts ---------- */
#root .ct { background: #fff !important; }
#root .ct-hero, #root .ct-container { max-width: var(--c-max) !important; margin: 0 auto !important; box-sizing: border-box !important; padding-left: var(--c-side) !important; padding-right: var(--c-side) !important; }
#root .ct-hero { background: none !important; border: 0 !important; text-align: left !important; overflow: visible !important; padding-top: var(--c-section) !important; padding-bottom: 0 !important; }
#root .ct-hero::before { display: none !important; }
#root .ct-title { margin: 0 0 16px !important; animation: none !important; }
#root .ct-subtitle { max-width: 640px !important; margin: 0 !important; color: var(--c-text) !important; animation: none !important; }
#root .ct-container { padding-top: var(--c-section) !important; padding-bottom: var(--c-section) !important; }
#root .ct-grid { grid-template-columns: minmax(0, 5fr) minmax(0, 7fr) !important; gap: clamp(32px, 5vw, 64px) !important; }
#root .ct-info-section { gap: 24px !important; }
#root .ct-info-card, #root .ct-info-card:hover { gap: 14px !important; padding: 0 !important; border: 0 !important; border-radius: 0 !important; background: none !important; box-shadow: none !important; transform: none !important; align-items: flex-start; }
#root .ct-info-card::before { display: none !important; }
#root .ct-icon, #root .ct-info-card:hover .ct-icon { width: 44px !important; height: 44px !important; background: var(--c-soft) !important; border-radius: 50% !important; transform: none !important; color: var(--c-brand) !important; }
#root .ct-info-content h3 { font-family: var(--c-sans) !important; font-size: 15px !important; font-weight: 600 !important; letter-spacing: 0 !important; text-transform: none !important; color: var(--c-ink) !important; margin: 0 0 2px !important; }
#root .ct-info-content p, #root .ct-hours p { color: var(--c-text) !important; margin: 0 !important; overflow-wrap: anywhere; }
#root .ct-form-section { gap: 18px !important; }
#root .ct-form-group { gap: 6px !important; animation: none !important; }
#root .ct-form-label { font-family: var(--c-sans) !important; font-size: 15px !important; font-weight: 500 !important; letter-spacing: 0 !important; text-transform: none !important; color: var(--c-ink) !important; }
#root .ct-form-input, #root .ct-form-textarea { width: 100% !important; box-sizing: border-box !important; font-family: var(--c-sans) !important; font-size: 16px !important; background: #fff !important; border: 1px solid var(--c-line) !important; border-radius: 8px !important; box-shadow: none !important; transform: none !important; }
#root .ct-form-input { height: 46px !important; padding: 0 14px !important; }
#root .ct-form-textarea { min-height: 130px !important; padding: 12px 14px !important; }
#root .ct-form-input:focus, #root .ct-form-textarea:focus { border-color: var(--c-brand) !important; background: #fff !important; }
#root .ct-form-input::placeholder, #root .ct-form-textarea::placeholder { color: var(--c-mute); }
#root .ct-form-submit { align-self: flex-start !important; }
#root .ct-form-submit::before { display: none !important; }
#root .ct-map-section { margin-top: var(--c-gap) !important; }
#root .ct-map-header { display: none !important; }
#root .ct-map-frame, #root .ct-map-frame:hover { border: 0 !important; border-radius: var(--c-radius) !important; box-shadow: none !important; height: clamp(280px, 38vw, 440px) !important; }
@media (max-width: 767px) { #root .ct-grid { grid-template-columns: minmax(0, 1fr) !important; } }

/* ---------- /login ---------- */
#root .lg-wrap { min-height: calc(100svh - 136px) !important; padding: clamp(24px, 4vh, 48px) 16px !important; background: var(--c-soft) !important; box-sizing: border-box; }
#root .lg-card { max-width: 420px !important; padding: 28px clamp(20px, 5vw, 32px) !important; border: 1px solid var(--c-line) !important; border-radius: 12px !important; box-shadow: none !important; box-sizing: border-box; }
/* Sign-in buttons always sit under the form, on both tabs */
#root .lg-card { display: flex !important; flex-direction: column !important; }
#root .lg-form { order: 1; }
#root .lyr-social { order: 2; }
#root .lg-back { order: 3; }
#root .lg-brand { margin-bottom: 20px !important; gap: 0 !important; }
#root .lg-brand-om { display: block; width: 112px; height: 112px; font-size: 0 !important; color: transparent !important; background: url(/assets/logo-C2T2kPfU.png?w=320) center / contain no-repeat; }
#root .lg-brand-name { display: none !important; }
/* Plain tabs: a line under the active one, no box inside the card */
#root .lg-tabs { gap: 0 !important; padding: 0 !important; margin-bottom: 20px !important; background: none !important; border-radius: 0 !important; border-bottom: 1px solid var(--c-line); }
#root .lg-tab, #root .lg-tab.on { min-height: 44px; padding: 0 !important; margin-bottom: -1px; border-radius: 0 !important; background: none !important; box-shadow: none !important; border-bottom: 2px solid transparent !important; font-family: var(--c-sans) !important; font-size: 15px !important; font-weight: 500 !important; letter-spacing: 0 !important; text-transform: none !important; color: var(--c-text) !important; }
#root .lg-tab.on { border-bottom-color: var(--c-brand) !important; color: #7a5608 !important; font-weight: 600 !important; }
#root .lg-form { gap: 12px !important; }
#root .lg-row { gap: 12px !important; }
#root .lg-field-ico { left: 14px !important; color: var(--c-brand) !important; opacity: 1 !important; }
#root .lg-field input { height: 48px !important; padding: 0 14px 0 42px !important; border: 1px solid #d9d0c2 !important; border-radius: 8px !important; font-size: 16px !important; color: var(--c-ink) !important; background: #fff !important; box-sizing: border-box !important; }
#root .lg-field input::placeholder { color: var(--c-mute) !important; opacity: 1; }
#root .lg-field input:focus { border-color: var(--c-brand) !important; box-shadow: 0 0 0 3px rgba(143, 100, 16, .16) !important; }
#root .lg-field-otp input { height: 56px !important; padding: 0 !important; font-size: 22px !important; letter-spacing: 10px !important; text-align: center !important; }
#root .lg-avatar-pick { width: 72px !important; height: 72px !important; margin: 0 auto 4px !important; border: 1px solid #d9d0c2 !important; background: var(--c-soft) !important; color: var(--c-brand) !important; overflow: hidden; }
#root .lg-submit { width: 100% !important; min-height: 48px !important; margin-top: 4px !important; }
#root .lg-alert { font-size: 14px !important; margin-bottom: 14px !important; }
#root .lg-otp-sub { font-size: 15px !important; color: var(--c-text) !important; }
#root .lg-resend { font-size: 14px !important; min-height: 40px; color: #7a5608 !important; }
#root .lg-back { display: block; margin-top: 16px !important; font-size: 15px !important; font-weight: 500 !important; letter-spacing: 0 !important; text-transform: none !important; color: #7a5608 !important; }
#root .lg-back:hover { text-decoration: underline; }

/* ---------- Text small in the live build ---------- */
#root .map-tip-mouse, #root .map-tip-touch { font-size: 13px !important; }
#root .bl-lang-tab { min-width: 44px; }

/* ---------- Phone menu ---------- */
#root .nb-dr-lk { font-family: var(--c-sans) !important; font-size: 16px !important; font-weight: 500 !important; letter-spacing: 0 !important; text-transform: none !important; min-height: 44px; padding: 8px 0 !important; border: 0 !important; }
#root .nb-dr-lhd, #root .nb-dr-tag { display: none !important; }
#root .nb-dr-bot { border: 0 !important; }
#root .nb-dr-glogin { min-height: 46px; padding: 0 16px !important; border-radius: 8px !important; font-size: 15px !important; }
#root .nb-dr-lg { min-height: 44px; border-radius: 8px !important; font-size: 14px !important; }
#root .nb-dr-cta { min-height: 46px; padding: 0 22px !important; border-radius: 8px !important; border: 0 !important; background: var(--c-brand) !important; box-shadow: none !important; font-family: var(--c-sans) !important; font-size: 15px !important; font-weight: 600 !important; letter-spacing: 0 !important; text-transform: none !important; }
#root .nb-dr-user-email, #root .nb-dr-user-action { font-size: 14px !important; }

/* ---------- Small screens ---------- */
@media (max-width: 767px) {
  #root .tn-title { display: none !important; }
}
@media (max-width: 480px) {
  #root .glp-tile-sub { display: none !important; }
  #root .glp-tile-title { white-space: normal !important; line-height: 1.25 !important; }
}

/* Gallery strip size per screen: see --pg-z in the home gallery strip block */

/* ---------- Sign in ---------- */
.lyr-social { display: flex; flex-direction: column; gap: 10px; margin-top: 12px; }
.lyr-social-or { text-align: center; font-size: 14px; color: #6b5f52; }
.lyr-social-btn {
  display: flex; align-items: center; justify-content: center; gap: 10px; width: 100%; min-height: 46px;
  padding: 0 16px; background: #fff; color: #2a1c0e; border: 1px solid #ddd5c8; border-radius: 8px;
  font: 500 15px var(--c-sans, sans-serif); cursor: pointer; transition: background-color .15s ease, border-color .15s ease;
}
.lyr-social-btn:hover { background: #faf7f1; border-color: #bfb3a0; }
.lyr-social-btn:focus-visible { outline: 2px solid #8f6410; outline-offset: 2px; }
.lyr-social-note { margin: 0; font-size: 14px; line-height: 1.4; color: #6b5f52; text-align: center; }
.lyr-social-note:empty { display: none; }

/* ---------- Card photos: frame sized per screen so the subject stays in view (2026-11-06) ----------
   Temple photos are mostly landscape (1.3 to 2.1 wide) with a few tall ones, so temple cards keep 4/3
   and sit the crop a little above centre to keep spires and roofs. Deity photos are tall (0.62 to 0.95),
   so deity and sadhana frames are taller and keep the head in view. */
#root .sy-img-zone img, #root .sy-sc-img img, #root .gc-img img, #root .rel-img-wrap img, #root .lc-img img, #root .pg-sc img {
  object-fit: cover !important; object-position: 50% 25% !important;
}
#root .sy-img-zone, #root .sy-sc-img, #root .gc-img, #root .rel-img-wrap { aspect-ratio: 4 / 3 !important; height: auto !important; }
/* Dev Darshan: taller stage so each deity card is portrait, not square */
#root .dd-card-img { object-fit: cover !important; object-position: 50% 12% !important; }
@media (min-width: 768px) { #root .dd-stage { height: clamp(440px, 32vw, 480px) !important; } }
/* Home sadhana card: square frame instead of 4/3 for the tall deity photo */
#root .ts-card-img { aspect-ratio: 1 / 1 !important; }
#root .ts-card-img img { object-position: 50% 12% !important; }
/* Tours: deity type cards */
#root .ts-type-img { object-fit: cover !important; object-position: 50% 18% !important; }
/* Sadhana deity cards: most photos are portrait (about 3:4), so the cards are too, at every width. */
#root .ts-type-card { height: auto !important; aspect-ratio: 3 / 4 !important; }
/* Tours: package photo. One column below 861 px: 4/3 on tablets, 4/5 on phones, not a 320 px strip */
@media (max-width: 860px) {
  #root .ts-pkg-img-col { height: auto !important; min-height: 0 !important; aspect-ratio: 4 / 3 !important; }
  #root .ts-pkg-img { display: block !important; width: 100% !important; height: 100% !important; object-fit: cover !important; object-position: 50% 15% !important; }
}
@media (max-width: 599px) { #root .ts-pkg-img-col { aspect-ratio: 4 / 5 !important; } }
#root .ts-strip-card img { object-fit: cover !important; object-position: 50% 15% !important; }
/* Temple page deity photo: tall frame on phones, keep the head in view */
#root .deity-img { object-fit: cover !important; object-position: 50% 20% !important; }
@media (max-width: 599px) { #root .deity-main { aspect-ratio: 4 / 5 !important; } }
