/*
Theme Name: Blocksy Child - Temple
Theme URI: https://npd.test
Description: Devotional child theme for the temple site. Saffron, maroon and gold palette with elegant serif headings.
Author: Rana
Template: blocksy
Version: 1.8.0
Text Domain: blocksy-child
*/

/* ============================================================
   Devotional palette
   Saffron #B7410E · Maroon #800000 · Gold #D4AF37 · Cream #FFF8EC
   ============================================================ */
:root {
  --temple-saffron: #CC7A2E;   /* warm orange accent (not red) */
  --temple-maroon:  #8A5A22;   /* warm brown for headings */
  --temple-gold:    #C99A2E;   /* deep gold */
  --temple-cream:   #FFFBF3;   /* ivory */
  --temple-sand:    #F5E9D2;   /* soft sand for bands/footer */
  --temple-ink:     #3a2c1e;   /* warm dark text */
}

/* Keep the header geometry stable between full-page menu navigations. */
html {
  overflow-y: scroll;
  scrollbar-gutter: stable;
}

@media (min-width: 1200px) {
  #header > [data-device="desktop"] { display: block !important; }
  #header > [data-device="mobile"] { display: none !important; }
}

@media (max-width: 1199.98px) {
  html {
    overflow-y: auto;
    scrollbar-gutter: auto;
  }

  #header > [data-device="desktop"] { display: none !important; }
  #header > [data-device="mobile"] { display: block !important; }

  #header [data-device="mobile"] [data-row="middle"],
  #header [data-device="mobile"] [data-row="middle"] .ct-container {
    min-height: 76px !important;
    --height: 76px !important;
  }
}

#header [data-id="logo"] .site-title,
#header [data-id="logo"] .site-title a {
  font-family: Georgia, "Times New Roman", serif !important;
  font-synthesis: none;
  line-height: 1.08 !important;
}

#header [data-id="menu"] .ct-menu-link,
#header [data-id="trigger"] {
  font-family: Arial, Helvetica, sans-serif !important;
  font-synthesis: none;
}

#header [data-device="desktop"] [data-id="logo"],
#header [data-device="desktop"] [data-id="menu"],
#header [data-device="desktop"] .site-title,
#header [data-device="desktop"] .ct-menu-link {
  animation: none !important;
  transition: none !important;
}

/* Keep navigation stable while WordPress/Blocksy swaps pages. */
body,
#header,
#header > [data-device],
#header [data-row],
#header [data-id="menu"],
#header [data-id="menu"] > ul,
#header [data-id="menu"] a {
  animation: none !important;
  transition: none !important;
}

@media (min-width: 1200px) {
  #header [data-device="desktop"] [data-id="menu"] > ul.menu {
    display: flex !important;
    flex-wrap: nowrap !important;
    column-gap: 7px !important;
  }

  #header [data-device="desktop"] [data-id="menu"] > ul.menu > li > a {
    white-space: nowrap !important;
    font-size: 11px !important;
  }

  #header [data-device="desktop"] [data-id="menu"] > ul.menu > li.more-items-container {
    display: contents !important;
  }

  #header [data-device="desktop"] [data-id="menu"] > ul.menu > li.more-items-container > a,
  #header [data-device="desktop"] [data-id="menu"] > ul.menu > li.more-items-container > button {
    display: none !important;
  }

  #header [data-device="desktop"] [data-id="menu"] > ul.menu > li.more-items-container > .sub-menu {
    display: contents !important;
  }
}

@media (min-width: 1200px) {
  #header [data-device="desktop"] .site-title {
    max-width: 330px !important;
    font-size: clamp(20px, 1.65vw, 25px) !important;
  }

  #header [data-device="desktop"] [data-id="menu"] > ul > li > a {
    min-height: 96px;
    font-size: 12px;
    letter-spacing: .025em;
  }
}

@media (max-width: 1199.98px) {
  #header [data-device="mobile"] .site-title {
    max-width: 230px !important;
    font-size: clamp(16px, 2.4vw, 20px) !important;
  }
}

@media (max-width: 480px) {
  #header [data-device="mobile"] [data-id="logo"] .site-title-container:before {
    flex-basis: 68px;
    width: 68px;
    height: 42px;
  }

  #header [data-device="mobile"] .site-title {
    max-width: 185px !important;
    font-size: 15px !important;
  }
}

/* ---------- Typography ---------- */
body,
p,
li {
  font-family: "Mukta", "Inter", system-ui, sans-serif;
  color: var(--temple-ink);
}

h1, h2, h3, h4,
.entry-title,
.page-title {
  font-family: "Playfair Display", "Tiro Devanagari Sanskrit", Georgia, serif;
  color: var(--temple-maroon);
  letter-spacing: .2px;
}

/* ---------- Section helpers (used by the setup plugin) ---------- */
.temple-hero {
  position: relative;
  width: min(1180px, calc(100% - 40px));
  margin: clamp(20px, 3vw, 38px) auto 0;
  overflow: hidden;
  background: linear-gradient(135deg, #fff9ec, #f6e5bd);
  color: var(--temple-ink);
  text-align: left;
  padding: clamp(44px, 6vw, 76px) clamp(28px, 6vw, 76px);
  border: 1px solid rgba(201,154,46,.3);
  border-radius: 20px;
  box-shadow: 0 18px 52px rgba(58,44,30,.08);
  isolation: isolate;
}
.temple-hero:after {
  content: "ॐ";
  position: absolute;
  z-index: -1;
  top: 50%;
  right: clamp(20px, 7vw, 96px);
  transform: translateY(-50%);
  color: rgba(138,90,34,.07);
  font-family: "Tiro Devanagari Sanskrit", Georgia, serif;
  font-size: clamp(8rem, 20vw, 15rem);
  line-height: 1;
}
.temple-hero h1 {
  max-width: 820px;
  margin: .18rem 0 .7rem;
  color: var(--temple-maroon);
  font-size: clamp(2.35rem, 5vw, 4.35rem);
  line-height: 1.02;
}
.temple-hero > p:not(.overline) {
  max-width: 720px;
  margin: .7rem 0 0;
  color: var(--temple-ink) !important;
  font-size: 1.08rem;
  line-height: 1.6;
}
.temple-hero .overline {
  margin: 0;
  color: var(--temple-saffron) !important;
  font-size: .8rem;
  font-weight: 800;
  letter-spacing: .17em;
  text-transform: uppercase;
}
.temple-page-intro--plain {
  margin-top: 0;
  padding-block: clamp(40px, 5vw, 62px);
  border-width: 0 0 1px;
  border-radius: 0;
  background: linear-gradient(180deg, #fff, #fffaf1);
  box-shadow: none;
}
.temple-page-intro--plain:after { opacity: .55; }
.temple-page-intro--warm {
  background:
    radial-gradient(circle at 88% 22%, rgba(255,255,255,.7), transparent 28%),
    linear-gradient(135deg, #fff8e8, #f3ddb0);
}

body:not(.home) .entry-content > .wp-block-heading,
body:not(.home) .entry-content > p {
  width: min(940px, calc(100% - 40px));
  margin-inline: auto;
}
body:not(.home) .entry-content > .wp-block-heading:first-of-type {
  margin-top: clamp(48px, 7vw, 82px);
}
body:not(.home) .entry-content > p {
  font-size: 1.08rem;
  line-height: 1.75;
}

.temple-band {
  background: var(--temple-sand);
  color: var(--temple-ink);
  text-align: center;
  padding: 3.5rem 1.5rem;
  border-top: 1px solid rgba(201,154,46,.4);
  border-bottom: 1px solid rgba(201,154,46,.4);
}
.temple-band h2 { color: var(--temple-maroon); }

.temple-soft { background: var(--temple-cream); padding: 3.5rem 1.5rem; }

.temple-card {
  background: #fff;
  border: 1px solid rgba(212,175,55,.4);
  border-top: 4px solid var(--temple-gold);
  border-radius: 10px;
  padding: 1.75rem;
  box-shadow: 0 6px 18px rgba(128,0,0,.06);
}
.temple-card h3 { margin-top: 0; }

/* ---------- Buttons ---------- */
.wp-block-button__link,
.wp-block-button.is-style-fill .wp-block-button__link {
  background: var(--temple-saffron) !important;
  color: #fff !important;
  border: 2px solid var(--temple-saffron) !important;
  border-radius: 999px;
  font-weight: 600;
  padding: .75rem 1.9rem;
  transition: background .2s ease, color .2s ease, border-color .2s ease;
}
.wp-block-button.is-style-fill .wp-block-button__link:hover,
.wp-block-button__link:hover {
  background: var(--temple-maroon) !important;
  border-color: var(--temple-maroon) !important;
  color: #fff !important;
}

/* Outline button — dark text so it is readable on light backgrounds */
.wp-block-button.is-style-outline .wp-block-button__link {
  background: transparent !important;
  color: var(--temple-maroon) !important;
  border: 2px solid var(--temple-saffron) !important;
}
.wp-block-button.is-style-outline .wp-block-button__link:hover {
  background: var(--temple-saffron) !important;
  color: #fff !important;
}

/* Gold button (used on maroon bands) */
.temple-btn-gold .wp-block-button__link {
  background: var(--temple-gold) !important;
  border-color: var(--temple-gold) !important;
  color: var(--temple-maroon) !important;
}
.temple-btn-gold .wp-block-button__link:hover {
  background: #c39a2c !important;
  border-color: #c39a2c !important;
  color: #fff !important;
}

/* ---------- Site title (logo text) ---------- */
.site-title,
.site-title a,
.ct-logo-container .site-title a {
  font-family: "Playfair Display", Georgia, serif !important;
  color: var(--temple-maroon) !important;
  font-weight: 700 !important;
  font-size: clamp(1.15rem, 1.6vw, 1.6rem) !important;
  line-height: 1.15 !important;
  letter-spacing: .3px;
  max-width: 20ch;
}
.site-title a:hover { color: var(--temple-saffron) !important; }

/* ---------- Timings table ---------- */
.temple-table table { width: 100%; border-collapse: collapse; background: #fff; }
.temple-table th, .temple-table td { padding: .85rem 1rem; border-bottom: 1px solid rgba(212,175,55,.35); text-align: left; }
.temple-table thead th { background: var(--temple-sand); color: var(--temple-maroon); }

/* ---------- Temple sliders and gallery ---------- */
.npd-slider .npd-wrap {
  width: min(1120px, calc(100% - 36px));
  margin: 0 auto;
  padding: 0 1rem;
}
.npd-slider .overline,
.temple-section-head .overline,
.temple-gallery-intro .overline {
  color: var(--temple-saffron) !important;
  font-weight: 800;
  letter-spacing: .14em;
  text-transform: uppercase;
}
.temple-home-slider,
.temple-gallery-slider {
  border-bottom: 3px solid var(--temple-gold);
}
.temple-gallery-slider {
  min-height: 520px;
}
.temple-gallery-section {
  padding: 4rem 1.5rem 4.5rem;
  background: var(--temple-cream);
}
.temple-section-head {
  max-width: 760px;
  margin: 0 auto 2rem;
  text-align: center;
}
.temple-section-head h2 {
  margin: .25rem 0 0;
  font-size: clamp(2rem, 4vw, 3.2rem);
}
.temple-gallery-modern {
  background:
    linear-gradient(180deg, #fffaf0 0%, #fff 42%, #fff8ec 100%);
  padding-block: clamp(56px, 7vw, 92px);
}
.temple-gallery-intro {
  width: min(1180px, 100%);
  margin: 0 auto 28px;
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 28px;
  align-items: end;
}
.temple-gallery-intro h2 {
  margin: .2rem 0 .75rem;
  font-size: clamp(2.3rem, 5vw, 4.25rem);
  line-height: 1;
}
.temple-gallery-intro p {
  max-width: 700px;
  font-size: 1.1rem;
  line-height: 1.65;
}
.temple-gallery-count {
  min-width: 170px;
  padding: 22px;
  border-radius: 8px;
  background: #fff;
  border: 1px solid rgba(201,154,46,.34);
  box-shadow: 0 12px 30px rgba(58,44,30,.08);
  text-align: center;
}
.temple-gallery-count strong {
  display: block;
  color: var(--temple-maroon);
  font-family: "Playfair Display", Georgia, serif;
  font-size: 3rem;
  line-height: .9;
}
.temple-gallery-count span {
  display: block;
  margin-top: 8px;
  color: var(--temple-saffron);
  font-weight: 900;
  letter-spacing: .1em;
  text-transform: uppercase;
  font-size: .78rem;
}
.temple-gallery-chips {
  width: min(1180px, 100%);
  margin: 0 auto 26px;
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}
.temple-gallery-chips span {
  display: inline-flex;
  align-items: center;
  min-height: 36px;
  padding: 0 15px;
  border-radius: 999px;
  background: #fff;
  border: 1px solid rgba(201,154,46,.4);
  color: var(--temple-maroon);
  font-weight: 800;
  font-size: .9rem;
}
.temple-gallery-chips span:first-child {
  background: var(--temple-maroon);
  color: #fff;
  border-color: var(--temple-maroon);
}
.temple-gallery-featured,
.temple-gallery-grid {
  width: min(1180px, 100%);
  margin: 0 auto;
  display: grid;
  gap: 16px;
}
.temple-gallery-featured {
  grid-template-columns: minmax(0, 1.4fr) minmax(260px, .8fr);
  grid-template-rows: repeat(2, minmax(230px, 1fr));
  margin-bottom: 16px;
}
.temple-gallery-grid {
  grid-template-columns: repeat(4, minmax(0, 1fr));
  grid-auto-flow: dense;
}
.temple-gallery-item {
  position: relative;
  margin: 0;
  min-height: 0;
  overflow: hidden;
  border-radius: 8px;
  background: #130f0b;
  border: 1px solid rgba(201,154,46,.32);
  box-shadow: 0 16px 34px rgba(58,44,30,.12);
  isolation: isolate;
}
.temple-gallery-item.feature-large {
  grid-row: span 2;
}
.temple-gallery-item.wide {
  grid-column: span 2;
}
.temple-gallery-item.tall {
  grid-row: span 2;
}
.temple-gallery-open {
  display: block;
  width: 100%;
  height: 100%;
  min-height: 100%;
  padding: 0;
  border: 0;
  border-radius: 0;
  background: transparent;
  cursor: zoom-in;
}
.temple-gallery-open img {
  display: block;
  width: 100%;
  height: 100%;
  min-height: 260px;
  aspect-ratio: 4 / 5;
  object-fit: cover;
  transition: transform .35s ease, filter .35s ease;
}
.temple-gallery-item.feature-large img,
.temple-gallery-item.wide img,
.temple-gallery-item.feature-small img {
  aspect-ratio: 16 / 10;
}
.temple-gallery-item.tall img {
  aspect-ratio: 3 / 5;
}
.temple-gallery-item:after {
  content: "";
  position: absolute;
  inset: auto 0 0;
  height: 54%;
  background: linear-gradient(180deg, rgba(19,15,11,0), rgba(19,15,11,.82));
  z-index: 1;
  pointer-events: none;
}
.temple-gallery-item figcaption {
  position: absolute;
  left: 18px;
  right: 18px;
  bottom: 16px;
  z-index: 2;
  color: #fff;
  pointer-events: none;
}
.temple-gallery-item figcaption span {
  display: inline-flex;
  margin-bottom: 7px;
  padding: 4px 8px;
  border-radius: 999px;
  background: rgba(255,255,255,.16);
  color: #fff;
  font-size: .72rem;
  font-weight: 900;
  letter-spacing: .1em;
  text-transform: uppercase;
}
.temple-gallery-item figcaption strong {
  display: block;
  color: #fff;
  font-family: "Playfair Display", Georgia, serif;
  font-size: clamp(1.15rem, 1.7vw, 1.55rem);
  line-height: 1.12;
  text-shadow: 0 2px 12px rgba(0,0,0,.45);
}
.temple-gallery-item:hover img,
.temple-gallery-item:focus-within img {
  transform: scale(1.045);
  filter: saturate(1.08);
}
.temple-gallery-lightbox {
  position: fixed;
  inset: 0;
  z-index: 999999;
  display: grid;
  place-items: center;
  padding: 28px;
  background: rgba(19,15,11,.9);
}
.temple-gallery-lightbox[hidden] {
  display: none;
}
.temple-gallery-lightbox img {
  max-width: min(1040px, 100%);
  max-height: 82vh;
  border-radius: 8px;
  object-fit: contain;
  box-shadow: 0 20px 70px rgba(0,0,0,.45);
}
.temple-gallery-lightbox p {
  color: #fff;
  margin: 14px 0 0;
  font-size: 1.05rem;
}
.temple-gallery-lightbox button {
  position: fixed;
  top: 20px;
  right: 20px;
  min-height: 42px;
  padding: 0 16px;
  border: 1px solid rgba(255,255,255,.35);
  border-radius: 999px;
  background: rgba(255,255,255,.12);
  color: #fff;
  font-weight: 800;
  cursor: pointer;
}

.temple-home-slider .npd-slide {
  background-position: center;
}
.temple-home-slider .npd-slide .npd-wrap {
  width: min(720px, 100%) !important;
  margin: 0 !important;
  padding: 0 !important;
}
.temple-home-intro,
.temple-home-visit {
  width: min(1120px, calc(100% - 40px));
  margin: 0 auto;
  display: grid;
  grid-template-columns: minmax(0, 1.05fr) minmax(280px, .95fr);
  gap: clamp(28px, 5vw, 64px);
  align-items: center;
  padding: clamp(56px, 7vw, 92px) 0;
}
.temple-home-copy h2,
.temple-home-visit h2,
.temple-home-support h2 {
  font-size: clamp(2.1rem, 4.2vw, 3.5rem);
  line-height: 1.08;
  margin: .25rem 0 1rem;
}
.temple-home-copy p,
.temple-home-visit p,
.temple-home-support p {
  font-size: 1.12rem;
  line-height: 1.65;
  max-width: 660px;
}
.temple-home-photo {
  border-radius: 8px;
  overflow: hidden;
  border: 1px solid rgba(201,154,46,.4);
  box-shadow: 0 18px 44px rgba(58,44,30,.14);
}
.temple-home-photo img {
  display: block;
  width: 100%;
  aspect-ratio: 4 / 5;
  object-fit: cover;
}
.temple-actions,
.temple-centered-action {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  margin-top: 24px;
}
.temple-centered-action {
  justify-content: center;
}
.temple-action {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 46px;
  padding: 0 22px;
  border-radius: 999px;
  font-weight: 800;
  text-decoration: none;
}
.temple-action.primary {
  background: var(--temple-saffron);
  color: #fff;
  border: 2px solid var(--temple-saffron);
}
.temple-action.secondary {
  background: transparent;
  color: var(--temple-maroon);
  border: 2px solid rgba(204,122,46,.75);
}
.temple-action:hover {
  background: var(--temple-maroon);
  border-color: var(--temple-maroon);
  color: #fff;
}
.temple-home-timings,
.temple-home-gallery {
  background: var(--temple-cream);
  padding: clamp(56px, 7vw, 88px) 1.5rem;
}
.temple-home-sevas {
  background: #fff;
  padding: clamp(56px, 7vw, 88px) 1.5rem;
}
.temple-timing-grid,
.temple-seva-grid {
  width: min(1120px, 100%);
  margin: 2rem auto 0;
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 14px;
}
.temple-timing-grid div,
.temple-seva-grid article,
.temple-visit-card {
  background: #fff;
  border: 1px solid rgba(201,154,46,.34);
  border-radius: 8px;
  padding: 24px;
  box-shadow: 0 10px 28px rgba(58,44,30,.08);
}
.temple-timing-grid span,
.temple-visit-card strong {
  display: block;
  color: var(--temple-saffron);
  font-size: .82rem;
  font-weight: 900;
  letter-spacing: .12em;
  text-transform: uppercase;
}
.temple-timing-grid strong,
.temple-visit-card span {
  display: block;
  color: var(--temple-maroon);
  font-family: "Playfair Display", Georgia, serif;
  font-size: clamp(1.35rem, 2.2vw, 1.75rem);
  line-height: 1.2;
  margin-top: 8px;
}
.temple-seva-grid article {
  border-top: 4px solid var(--temple-gold);
}
.temple-seva-grid h3 {
  margin: 0 0 8px;
}
.temple-seva-grid p {
  margin: 0;
  line-height: 1.55;
}
.temple-feature-gallery {
  width: min(1120px, 100%);
  margin: 2rem auto 0;
  display: grid;
  grid-template-columns: 1.4fr 1fr;
  grid-template-rows: repeat(2, minmax(180px, 1fr));
  gap: 14px;
}
.temple-feature-gallery figure {
  margin: 0;
  overflow: hidden;
  border-radius: 8px;
  border: 1px solid rgba(201,154,46,.34);
  box-shadow: 0 12px 32px rgba(58,44,30,.1);
}
.temple-feature-gallery .large {
  grid-row: span 2;
}
.temple-feature-gallery img {
  display: block;
  width: 100%;
  height: 100%;
  min-height: 240px;
  object-fit: cover;
}
.temple-home-visit {
  grid-template-columns: minmax(0, 1fr) minmax(260px, 360px);
}
.temple-visit-card {
  background: var(--temple-sand);
}
.temple-visit-card .temple-action {
  margin-top: 22px;
  width: 100%;
}
.temple-home-support {
  background: linear-gradient(135deg, rgba(58,44,30,.92), rgba(138,90,34,.9)), url("/wp-content/uploads/2026/07/inner-sanctum-decorated.jpeg") center/cover;
  color: #fff;
  text-align: center;
  padding: clamp(64px, 8vw, 104px) 1.5rem;
}
.temple-home-support h2,
.temple-home-support p {
  color: #fff !important;
  margin-inline: auto;
}
.temple-home-support .temple-action {
  margin-top: 12px;
}

/* ---------- Event accounts ---------- */
.temple-accounts,
.temple-accounts-login {
  width: min(1180px, calc(100% - 40px));
  margin: 0 auto;
  padding: clamp(48px, 6vw, 82px) 0;
}
.temple-accounts-head,
.temple-accounts-login {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 24px;
  align-items: center;
}
.temple-accounts-head h2,
.temple-accounts-login h2 {
  margin: .2rem 0 .75rem;
  font-size: clamp(2.1rem, 4vw, 3.5rem);
  line-height: 1.05;
}
.temple-accounts-head p,
.temple-accounts-login p {
  max-width: 720px;
  font-size: 1.05rem;
  line-height: 1.6;
}
.temple-account-message {
  margin: 22px 0;
  padding: 14px 18px;
  border-radius: 8px;
  background: #fff7df;
  border: 1px solid rgba(201,154,46,.4);
  color: var(--temple-maroon);
  font-weight: 800;
}
.temple-account-layout {
  display: grid;
  grid-template-columns: minmax(260px, 320px) minmax(0, 1fr);
  gap: 22px;
  align-items: start;
  margin-top: 28px;
}
.temple-account-panel,
.temple-account-form,
.temple-login-card,
.temple-account-table-wrap {
  background: #fff;
  border: 1px solid rgba(201,154,46,.34);
  border-radius: 8px;
  padding: 24px;
  box-shadow: 0 12px 30px rgba(58,44,30,.08);
}
.temple-account-panel h3,
.temple-account-form h3,
.temple-account-table-wrap h3 {
  margin: 0 0 16px;
}
.temple-step-number {
  display: inline-grid;
  place-items: center;
  width: 28px;
  height: 28px;
  margin-right: 8px;
  border-radius: 50%;
  background: var(--temple-saffron);
  color: #fff;
  font-size: .78rem;
  vertical-align: middle;
}
.temple-form-help {
  margin: -6px 0 4px;
  color: #766858;
  font-size: .92rem;
  line-height: 1.45;
}
.temple-form-tabs {
  display: flex;
  flex-direction: column;
  flex-wrap: wrap;
  gap: 8px;
  margin: 0;
  padding: 7px;
  background: #fff;
  border: 1px solid rgba(201,154,46,.34);
  border-radius: 14px;
  box-shadow: 0 8px 22px rgba(58,44,30,.06);
}
.temple-form-tabs-heading {
  margin: 10px 10px 2px;
  color: #8a765f;
  font-size: .72rem;
  font-weight: 900;
  letter-spacing: .12em;
  text-transform: uppercase;
}
.temple-form-tabs-heading:first-child { margin-top: 4px; }
.temple-form-tabs button,
.temple-form-tabs a {
  width: 100%;
  min-height: 44px;
  padding: 9px 14px;
  border: 0;
  border-radius: 9px;
  background: transparent;
  color: var(--temple-maroon);
  font-weight: 800;
  cursor: pointer;
  text-decoration: none;
}
.temple-account-workspace {
  display: grid;
  grid-template-columns: minmax(190px, 230px) minmax(0, 1fr);
  gap: 22px;
  align-items: start;
  margin-top: 24px;
}
.temple-account-main-column {
  min-width: 0;
}
.temple-content-workspace-intro {
  margin-bottom: 18px;
  padding: 22px;
  border: 1px solid rgba(201,154,46,.34);
  border-left: 5px solid var(--temple-saffron);
  border-radius: 12px;
  background: #fffaf0;
}
.temple-content-workspace-intro h3 { margin: 3px 0 7px; }
.temple-content-workspace-intro p:last-child { margin: 0; color: #6f6255; }
.temple-content-records { margin-top: 26px; }
.temple-account-topbar {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 16px;
  margin-bottom: 18px;
}
.temple-working-status {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 20px;
  margin-bottom: 18px;
  padding: 18px 20px;
  border: 1px solid rgba(201,154,46,.38);
  border-left: 5px solid #9a7a4a;
  border-radius: 12px;
  background: #fff;
  box-shadow: 0 8px 22px rgba(58,44,30,.06);
}
.temple-working-status.has-public-version { border-left-color: #2d7b43; }
.temple-working-status.has-changes {
  border-left-color: #d17a00;
  background: #fffaf0;
}
.temple-working-status > div:first-child {
  display: grid;
  grid-template-columns: auto 1fr;
  align-items: center;
  gap: 5px 10px;
}
.temple-working-status strong { color: var(--temple-maroon); }
.temple-working-status p {
  grid-column: 1 / -1;
  margin: 2px 0 0;
  color: #6f6255;
  font-size: .9rem;
}
.temple-working-actions {
  display: flex;
  flex: 0 0 auto;
  flex-wrap: wrap;
  align-items: center;
  justify-content: flex-end;
  gap: 9px;
}
.temple-form-publication-note,
.temple-preview-notice {
  padding: 11px 13px;
  border-left: 4px solid #d17a00;
  border-radius: 7px;
  background: #fff6df;
  color: #674718;
  font-size: .9rem;
  line-height: 1.45;
}
.temple-review-heading {
  grid-column: 1 / -1;
  padding: 0 !important;
  border: 0 !important;
  background: transparent !important;
}
.temple-review-heading h3 { margin: 0 0 5px; }
.temple-review-heading p { margin: 0; color: #766858; font-size: .92rem; }
.temple-preview-notice {
  display: flex;
  gap: 8px 16px;
  justify-content: space-between;
  margin: 12px 0 18px;
}
.temple-top-card {
  min-height: 150px;
  padding: 22px;
  background: #fff;
  border: 1px solid rgba(201,154,46,.34);
  border-radius: 12px;
  box-shadow: 0 8px 22px rgba(58,44,30,.06);
}
.temple-top-card h3 {
  margin: 4px 0 14px;
}
.temple-download-card {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  justify-content: center;
}
.temple-download-card .temple-action {
  margin-top: auto;
}
.temple-account-workspace .temple-account-layout {
  margin-top: 0;
  display: block;
}
.temple-account-workspace .temple-account-layout > aside {
  display: none;
}
.temple-form-tabs button[aria-selected="true"],
.temple-form-tabs a[aria-selected="true"] {
  background: var(--temple-saffron);
  color: #fff;
  box-shadow: 0 5px 14px rgba(201,154,46,.24);
}
.temple-form-block[hidden] {
  display: none !important;
}
.temple-accounts [data-form-panel]:not(.is-active) {
  display: none !important;
}
.temple-accounts [data-form-panel].is-active {
  display: block !important;
}
.temple-event-switcher {
  margin-bottom: 22px;
}
.temple-account-form {
  display: grid;
  gap: 14px;
}
.temple-account-form.compact {
  padding: 0;
  border: 0;
  box-shadow: none;
}
.temple-account-form label,
.temple-event-switcher label,
.temple-login-card label {
  display: grid;
  gap: 6px;
  color: var(--temple-ink);
  font-weight: 800;
}
.temple-account-form input,
.temple-account-form select,
.temple-account-form textarea,
.temple-event-switcher select,
.temple-login-card input[type="text"],
.temple-login-card input[type="password"] {
  width: 100%;
  min-height: 44px;
  border: 1px solid rgba(58,44,30,.22);
  border-radius: 8px;
  padding: 9px 12px;
  background: #fffdf8;
  color: var(--temple-ink);
}
.temple-account-form textarea {
  resize: vertical;
}
.temple-account-form button,
.temple-login-card input[type="submit"] {
  min-height: 46px;
  border: 0;
  border-radius: 999px;
  background: var(--temple-saffron);
  color: #fff;
  font-weight: 900;
  cursor: pointer;
}
.temple-account-summary {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 14px;
  margin-bottom: 18px;
}
.temple-account-summary div {
  padding: 20px;
  border-radius: 8px;
  background: var(--temple-sand);
  border: 1px solid rgba(201,154,46,.34);
}
.temple-account-summary span {
  display: block;
  color: var(--temple-saffron);
  font-weight: 900;
  letter-spacing: .12em;
  text-transform: uppercase;
  font-size: .78rem;
}
.temple-account-summary strong {
  display: block;
  margin-top: 8px;
  color: var(--temple-maroon);
  font-family: "Playfair Display", Georgia, serif;
  font-size: clamp(1.25rem, 2.2vw, 1.75rem);
  line-height: 1.1;
}
.temple-entry-forms {
  display: block;
}
.temple-entry-forms > form {
  width: 100%;
}
.temple-sponsor-form {
  margin-top: 18px;
}
.temple-inline-fields {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 14px;
}
.temple-account-table-wrap {
  margin-top: 18px;
  overflow-x: auto;
}
.temple-admin-ledger {
  margin-top: 22px;
}
.temple-ledger-tabs {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-top: 18px;
  padding: 6px;
  background: var(--temple-cream);
  border: 1px solid rgba(201,154,46,.3);
  border-radius: 999px;
}
.temple-ledger-tabs button {
  flex: 1 1 150px;
  min-height: 42px;
  padding: 8px 14px;
  border: 0;
  border-radius: 999px;
  background: transparent;
  color: var(--temple-maroon);
  font-weight: 800;
  cursor: pointer;
}
.temple-ledger-tabs button[aria-selected="true"] {
  background: var(--temple-saffron);
  color: #fff;
  box-shadow: 0 5px 14px rgba(201,154,46,.24);
}
.temple-ledger-tabs button span {
  display: inline-grid;
  place-items: center;
  min-width: 24px;
  height: 24px;
  margin-left: 5px;
  padding: 0 6px;
  border-radius: 999px;
  background: rgba(112,73,28,.1);
  font-size: .75rem;
}
.temple-ledger-tabs button[aria-selected="true"] span { background: rgba(255,255,255,.22); }
.temple-admin-ledger h4 {
  margin: 0 0 10px;
  color: var(--temple-maroon);
  font-size: 1.15rem;
}
.temple-admin-ledger h4 span {
  color: #766858;
  font-size: .88rem;
  font-weight: 600;
}
.temple-entry-pagination {
  display: flex;
	flex-wrap: wrap;
	align-items: center;
  justify-content: center;
	gap: 7px;
	width: 100%;
  margin-top: 16px;
}
.temple-entry-pagination .page-numbers {
  display: inline-flex;
  align-items: center;
  min-width: 34px;
  min-height: 34px;
  justify-content: center;
  margin: 0;
  padding: 0 9px;
  border: 1px solid rgba(201,154,46,.4);
  border-radius: 999px;
  color: var(--temple-maroon);
  text-decoration: none;
  font-weight: 700;
}
.temple-entry-pagination .page-numbers.current {
  background: var(--temple-saffron);
  border-color: var(--temple-saffron);
  color: #fff;
}
.temple-admin-ledger.is-loading,
.temple-public-ledger.is-loading {
	opacity: .55;
	pointer-events: none;
	transition: opacity .16s ease;
}
.temple-account-table {
  width: 100%;
  border-collapse: collapse;
  min-width: 720px;
}
.temple-account-table th,
.temple-account-table td {
  padding: 12px;
  border-bottom: 1px solid rgba(201,154,46,.28);
  text-align: left;
  vertical-align: top;
}
.temple-account-table th {
  color: var(--temple-maroon);
  background: var(--temple-cream);
}
.temple-account-table td span {
  opacity: .78;
}
.temple-inline-edit {
	display: inline-block;
	vertical-align: middle;
	margin: 0;
	font-size: .8rem;
}
.temple-inline-edit summary {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 34px;
	min-width: 0;
	padding: 6px 13px;
	border: 1px solid rgba(145, 93, 28, .38);
	border-radius: 999px;
	background: #fff8eb;
	color: var(--temple-maroon);
	font-weight: 800;
	line-height: 1;
	cursor: pointer;
}
.temple-inline-edit summary::-webkit-details-marker { display: none; }
.temple-inline-edit summary::marker { content: ""; }
.temple-inline-edit summary:hover,
.temple-inline-edit[open] summary {
	border-color: var(--temple-saffron);
	background: var(--temple-saffron);
	color: #fff;
}
.temple-inline-edit form {
  display: grid;
  gap: 8px;
  min-width: 210px;
  margin-top: 8px;
  padding: 12px;
  background: var(--temple-cream);
  border: 1px solid rgba(201,154,46,.34);
  border-radius: 8px;
}
.temple-inline-edit label {
  display: grid;
  gap: 4px;
  font-weight: 700;
}
.temple-inline-edit input {
  width: 100%;
  min-height: 34px;
  padding: 6px 8px;
  border: 1px solid rgba(58,44,30,.22);
  border-radius: 6px;
}
.temple-inline-edit button {
  min-height: 34px;
  border: 0;
  border-radius: 999px;
  background: var(--temple-saffron);
  color: #fff;
  font-weight: 800;
  cursor: pointer;
}
.temple-delete-form {
	display: inline-block;
	vertical-align: middle;
	margin: 0;
}
.temple-delete-form button {
	min-height: 34px;
	min-width: 0;
	padding: 6px 13px;
	border: 1px solid #b42318;
	border-radius: 999px;
	background: #fff;
	color: #b42318;
	font-size: .8rem;
	font-weight: 800;
	line-height: 1;
	cursor: pointer;
}
.temple-delete-form button:hover {
  background: #b42318;
  color: #fff;
}
.temple-table-date {
	margin-bottom: 10px;
	white-space: nowrap;
	font-variant-numeric: tabular-nums;
}
.temple-record-actions {
	display: flex;
	align-items: flex-start;
	gap: 8px;
	flex-wrap: wrap;
}
.temple-record-edit-button {
  min-height: 34px;
  padding: 6px 15px;
  border: 1px solid rgba(145,93,28,.38);
  border-radius: 999px;
  background: #fff8eb;
  color: var(--temple-maroon);
  font-size: .8rem;
  font-weight: 800;
  cursor: pointer;
}
.temple-record-edit-button:hover,
.temple-record-edit-button[aria-expanded="true"] {
  border-color: var(--temple-saffron);
  background: var(--temple-saffron);
  color: #fff;
}
.temple-record-summary-row {
  transition: background-color .18s ease;
}
.temple-record-summary-row.is-editing > td {
  border-bottom-color: transparent;
  background: #fffaf0;
}
.temple-record-edit-row[hidden] {
  display: none;
}
.temple-record-edit-row > td {
  padding: 0 16px 24px;
  border-bottom: 1px solid rgba(201,154,46,.35);
  background: linear-gradient(180deg, #fffaf0 0%, #fffdf8 100%);
}
.temple-record-edit-row > td span {
  opacity: 1;
}
.temple-record-edit-form {
  display: grid;
  gap: 22px;
  width: 100%;
  max-width: 1120px;
  margin-inline: auto;
  padding: clamp(20px, 3vw, 32px);
  border: 1px solid rgba(201,154,46,.42);
  border-top: 4px solid var(--temple-saffron);
  border-radius: 16px;
  background: #fff;
  box-shadow: 0 16px 38px rgba(58,44,30,.1);
}
.temple-record-edit-heading {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 20px;
  padding-bottom: 18px;
  border-bottom: 1px solid rgba(201,154,46,.26);
}
.temple-record-edit-heading p,
.temple-record-edit-heading h5 { margin: 0; }
.temple-record-edit-heading h5 {
  margin-top: 3px;
  color: var(--temple-ink);
  font-family: "Playfair Display", Georgia, serif;
  font-size: clamp(1.2rem, 2.2vw, 1.55rem);
  line-height: 1.25;
}
.temple-record-edit-heading .temple-edit-subtitle {
  margin-top: 6px;
  color: #766858;
  font-size: .94rem;
  line-height: 1.45;
}
.temple-record-edit-heading button {
  flex: 0 0 auto;
  min-height: 38px;
  padding: 7px 14px;
  border: 1px solid rgba(58,44,30,.2);
  border-radius: 999px;
  background: #fff;
  color: var(--temple-maroon);
  font-weight: 800;
  cursor: pointer;
}
.temple-record-edit-heading button:hover {
  border-color: var(--temple-maroon);
  background: var(--temple-maroon);
  color: #fff;
}
.temple-record-edit-fields {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 18px 20px;
}
.temple-record-edit-fields .temple-edit-field {
  display: grid;
  align-content: start;
  gap: 7px;
  min-width: 0;
  color: var(--temple-ink);
  font-weight: 800;
}
.temple-record-edit-fields .is-full {
  grid-column: 1 / -1;
}
.temple-record-edit-fields input,
.temple-record-edit-fields textarea,
.temple-record-edit-fields select {
  width: 100%;
  min-height: 46px;
  padding: 10px 12px;
  border: 1px solid rgba(58,44,30,.22);
  border-radius: 9px;
  background: #fffdf8;
  color: var(--temple-ink);
  font: inherit;
}
.temple-record-edit-fields textarea {
  resize: vertical;
  line-height: 1.55;
}
.temple-record-edit-fields input:focus,
.temple-record-edit-fields textarea:focus,
.temple-record-edit-fields select:focus {
  border-color: var(--temple-saffron);
  outline: 3px solid rgba(211,128,39,.14);
}
.temple-record-edit-fields input[type="file"] {
  padding: 8px;
  background: #fff;
}
.temple-record-edit-fields input[type="file"]::file-selector-button {
  margin-right: 10px;
  padding: 8px 12px;
  border: 0;
  border-radius: 7px;
  background: #fff3dc;
  color: var(--temple-maroon);
  font-weight: 800;
  cursor: pointer;
}
.temple-edit-visibility {
  display: flex !important;
  align-items: center;
  gap: 9px !important;
  min-height: 48px;
  padding: 11px 14px;
  border: 1px solid rgba(201,154,46,.32);
  border-radius: 10px;
  background: #fffaf0;
  color: var(--temple-ink);
  font-weight: 800;
}
.temple-edit-visibility input[type="checkbox"] {
  width: 18px;
  min-height: 18px;
  margin: 0;
}
.temple-record-edit-actions {
  display: flex;
  justify-content: flex-end;
  gap: 10px;
  padding-top: 18px;
  border-top: 1px solid rgba(201,154,46,.26);
}
.temple-record-edit-actions button {
  min-height: 44px;
  padding: 9px 20px;
  border: 1px solid var(--temple-saffron);
  border-radius: 999px;
  background: var(--temple-saffron);
  color: #fff;
  font-weight: 900;
  cursor: pointer;
}
.temple-record-edit-actions .temple-editor-cancel {
  border-color: rgba(58,44,30,.24);
  background: #fff;
  color: var(--temple-maroon);
}
.temple-record-edit-actions .temple-editor-cancel:hover {
  border-color: var(--temple-maroon);
  background: #fff8eb;
}
.temple-record-actions .temple-inline-edit[open] {
	flex: 1 0 100%;
}
.temple-account-table th:last-child,
.temple-account-table td:last-child {
	min-width: 240px;
}
.temple-admin-updates {
  margin-top: 28px;
}
.temple-admin-updates h4 {
  margin-bottom: 12px;
}
.temple-inline-edit select,
.temple-inline-edit textarea,
.temple-inline-edit input[type="file"] {
  width: 100%;
}
.temple-current-videos,
.temple-current-media {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
	gap: 7px;
	margin: 4px 0;
	padding: 14px;
	border: 1px solid rgba(201,154,46,.3);
	border-radius: 10px;
	background: #fffdf8;
}
.temple-current-videos legend,
.temple-current-media legend {
	padding: 0 5px;
	color: var(--temple-maroon);
	font-weight: 800;
}
.temple-current-image {
	display: grid !important;
	grid-template-columns: 88px minmax(0, 1fr);
	align-items: center;
	gap: 10px !important;
	padding: 8px;
	border: 1px solid rgba(58,44,30,.12);
	border-radius: 8px;
	background: #fff;
}
.temple-current-image img {
	display: block;
	width: 88px;
	height: 68px;
	border-radius: 6px;
	object-fit: cover;
}
.temple-current-image span {
	display: flex;
	align-items: center;
	gap: 7px;
}
.temple-current-image input[type="checkbox"] {
	width: auto;
	min-height: 0;
}
.temple-admin-public-preview {
  margin-top: 24px;
}
.temple-admin-public-preview > summary {
  display: inline-flex;
  align-items: center;
  min-height: 44px;
  padding: 10px 18px;
  border-radius: 999px;
  background: var(--temple-ink);
  color: #fff;
  font-weight: 800;
  cursor: pointer;
  list-style: none;
}
.temple-admin-public-preview > summary::-webkit-details-marker {
  display: none;
}
.temple-admin-public-preview > summary::after {
  content: "＋";
  margin-left: 10px;
  font-size: 1.1em;
}
.temple-admin-public-preview[open] > summary::after {
  content: "−";
}
.temple-admin-public-preview > .overline,
.temple-admin-public-preview > h2,
.temple-admin-public-preview > .temple-public-accounts {
  margin-top: 18px;
}
.temple-login-card {
  width: min(420px, 100%);
}
.temple-login-card .login-remember {
  display: flex !important;
  align-items: center;
  gap: 8px;
  margin: 0 0 14px;
}
.temple-login-card .login-remember label {
  display: flex !important;
  align-items: center;
  gap: 8px;
  font-weight: 700;
}
.temple-login-card .login-remember input[type="checkbox"] {
  width: 16px !important;
  min-width: 16px;
  min-height: 16px !important;
  margin: 0;
  padding: 0;
}
.temple-login-note {
  margin: 14px 0 0;
  font-size: .95rem;
}

.temple-admin-actions,
.temple-event-toolbar > div,
.temple-event-toolbar > div:last-child {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 10px;
}
.temple-update-form {
  margin-top: 28px;
  padding-top: 26px !important;
  border-top: 1px solid rgba(201,154,46,.34) !important;
}
.temple-check {
  display: flex !important;
  grid-template-columns: none !important;
  flex-direction: row;
  align-items: center;
  gap: 9px !important;
  font-size: .94rem;
}
.temple-check input {
  width: 18px !important;
  min-height: 18px !important;
  accent-color: var(--temple-saffron);
}
.temple-event-toolbar {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 18px;
  margin-bottom: 16px;
  padding: 15px 18px;
  border: 1px solid rgba(201,154,46,.34);
  border-radius: 8px;
  background: #fff;
}
.temple-event-toolbar strong {
  color: var(--temple-maroon);
  font-family: "Playfair Display", Georgia, serif;
  font-size: 1.15rem;
}
.temple-report-status {
  display: inline-flex;
  padding: 5px 9px;
  border-radius: 999px;
  background: #f0ece5;
  color: #6f6255;
  font-size: .72rem;
  font-weight: 900;
  letter-spacing: .08em;
  text-transform: uppercase;
}
.temple-report-status.is-live {
  background: #e4f3e8;
  color: #256b38;
}
.temple-inline-form { margin: 0; }
.temple-inline-form button {
  min-height: 46px;
  padding: 0 18px;
  border: 0;
  border-radius: 999px;
  background: var(--temple-maroon);
  color: #fff;
  font-weight: 900;
  cursor: pointer;
}
.temple-unpublish-trigger,
.temple-unpublish-form button {
  min-height: 46px;
  padding: 0 18px;
  border-radius: 999px;
  border: 1px solid #a2372b;
  background: #fff;
  color: #a2372b;
  font-weight: 900;
  cursor: pointer;
}
.temple-unpublish-trigger:hover,
.temple-unpublish-form button:hover {
  background: #a2372b;
  color: #fff;
}
.temple-unpublish-confirm {
  width: min(420px, 100%);
  padding: 14px;
  border: 1px solid rgba(162,55,43,.35);
  border-radius: 10px;
  background: #fff6f4;
  color: #5f2822;
  text-align: left;
}
.temple-unpublish-confirm p {
  margin: 5px 0 12px;
  color: #70443e;
  font-size: .88rem;
}
.temple-unpublish-confirm > div {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 8px;
}
.temple-unpublish-cancel {
  min-height: 42px;
  padding: 0 14px;
  border: 0;
  background: transparent;
  color: #5f2822;
  font-weight: 800;
  cursor: pointer;
}
.temple-report-settings {
  margin: 0 0 18px;
  border: 1px solid rgba(201,154,46,.34);
  border-radius: 8px;
  background: #fffdf8;
}
.temple-report-settings summary {
  padding: 14px 18px;
  color: var(--temple-maroon);
  font-weight: 900;
  cursor: pointer;
}
.temple-report-settings .temple-account-form {
  margin: 0 16px 16px;
  box-shadow: none;
}
.temple-admin-public-preview {
  margin-top: clamp(54px, 7vw, 90px);
  padding-top: clamp(42px, 5vw, 64px);
  border-top: 2px solid var(--temple-gold);
}
.temple-admin-public-preview > h2 { margin: .2rem 0 1rem; }

/* ---------- Public annual reports ---------- */
.temple-public-accounts {
  padding: clamp(54px, 7vw, 88px) 1.5rem;
  background: linear-gradient(180deg, #fffaf0, #fff 45%, #fff9ef);
}
.temple-public-accounts.is-preview {
  padding: 12px 0 0;
  background: transparent;
}
.temple-public-report-intro,
.temple-year-tabs,
.temple-report-selector,
.temple-report-sheet,
.temple-empty-report {
  width: min(1120px, 100%);
  margin-inline: auto;
}
.temple-public-report-intro {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 24px;
  align-items: end;
  margin-bottom: 30px;
}
.temple-public-report-intro h2 {
  margin: .25rem 0 .7rem;
  font-size: clamp(2.1rem, 4vw, 3.5rem);
  line-height: 1.05;
}
.temple-public-report-intro p { max-width: 740px; }
.temple-year-tabs {
  display: flex;
  gap: 10px;
  overflow-x: auto;
  padding: 2px 2px 14px;
}
.temple-year-tabs a {
  flex: 0 0 auto;
  min-width: 168px;
  padding: 13px 16px;
  border: 1px solid rgba(201,154,46,.38);
  border-radius: 8px;
  background: #fff;
  color: var(--temple-ink);
  font-weight: 800;
  text-decoration: none;
  box-shadow: 0 8px 20px rgba(58,44,30,.06);
}
.temple-year-tabs a span {
  display: block;
  color: var(--temple-saffron);
  font-size: .76rem;
  letter-spacing: .12em;
  text-transform: uppercase;
}
.temple-year-tabs a.is-active {
  border-color: var(--temple-maroon);
  background: var(--temple-maroon);
  color: #fff;
}
.temple-year-tabs a.is-active span { color: #f4cf84; }
.temple-report-selector {
  display: grid;
  grid-template-columns: auto minmax(240px, 460px);
  align-items: center;
  gap: 14px;
  margin-bottom: 18px;
  padding: 16px 18px;
  border: 1px solid rgba(201,154,46,.35);
  border-radius: 10px;
  background: #fff;
}
.temple-report-selector label {
  color: var(--temple-maroon);
  font-weight: 900;
}
.temple-report-selector select {
  width: 100%;
  min-height: 46px;
  padding: 8px 12px;
  border: 1px solid rgba(58,44,30,.22);
  border-radius: 8px;
  background: #fffdf8;
  color: var(--temple-ink);
  font-weight: 800;
}
.temple-report-sheet {
  padding: clamp(22px, 4vw, 42px);
  border: 1px solid rgba(201,154,46,.38);
  border-radius: 10px;
  background: #fff;
  box-shadow: 0 18px 48px rgba(58,44,30,.1);
}
.temple-report-heading {
  display: flex;
  justify-content: space-between;
  gap: 24px;
  align-items: center;
  padding-bottom: 24px;
  border-bottom: 1px solid rgba(201,154,46,.3);
}
.temple-report-heading h3 {
  margin: .2rem 0 .35rem;
  font-size: clamp(1.8rem, 3.2vw, 2.7rem);
}
.temple-report-heading p { margin: 0; }
.public-summary { margin: 24px 0; }
.temple-report-note {
  margin: 0 0 24px;
  padding: 16px 18px;
  border-left: 4px solid var(--temple-gold);
  background: var(--temple-cream);
}
.temple-public-ledgers {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 18px;
}
.temple-public-ledger > h4 {
  margin: 26px 0 10px;
  font-size: 1.25rem;
}
.temple-public-ledger .temple-account-table-wrap {
  margin-top: 0;
  padding: 0;
  box-shadow: none;
}
.public-table {
  min-width: 0;
  width: 100%;
  table-layout: fixed;
}
.public-table th:first-child,
.public-table td:first-child { width: 72%; word-break: break-word; }
.public-table th:last-child,
.public-table td:last-child { width: 28%; }
.public-table td:last-child,
.public-table th:last-child { text-align: right; }
.temple-empty-report {
  padding: 34px;
  border: 1px dashed rgba(201,154,46,.55);
  border-radius: 8px;
  background: #fffdf8;
  text-align: center;
}

/* ---------- Festival update tabs ---------- */
.temple-updates {
  padding: clamp(56px, 7vw, 90px) 1.5rem;
  background: linear-gradient(180deg, #fffaf0, #fff);
}
.temple-update-tabs,
.temple-update-panel {
  width: min(1040px, 100%);
  margin-inline: auto;
}
.temple-update-tabs {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
  margin-bottom: 24px;
  padding: 6px;
  border: 1px solid rgba(201,154,46,.35);
  border-radius: 999px;
  background: #fff;
}
.temple-update-tabs button {
  min-height: 48px;
  padding: 0 20px;
  border: 0;
  border-radius: 999px;
  background: transparent;
  color: var(--temple-maroon);
  font-weight: 900;
  cursor: pointer;
}
.temple-update-tabs button[aria-selected="true"] {
  background: var(--temple-maroon);
  color: #fff;
  box-shadow: 0 8px 22px rgba(58,44,30,.16);
}
.temple-update-panel[hidden] { display: none; }
.temple-update-list { display: grid; gap: 14px; }
.temple-update-list article {
  display: grid;
  grid-template-columns: 92px minmax(0, 1fr);
  gap: 24px;
  padding: clamp(20px, 3vw, 30px);
  border: 1px solid rgba(201,154,46,.35);
  border-radius: 8px;
  background: #fff;
  box-shadow: 0 10px 26px rgba(58,44,30,.07);
}
.temple-update-list article.has-image {
  grid-template-columns: 92px minmax(0, 1fr);
}
.temple-update-image {
  align-self: start;
  margin: 0;
}
.temple-update-media {
  display: grid;
	grid-template-columns: repeat(auto-fill, minmax(240px, 280px));
	justify-content: start;
	gap: 14px;
  align-self: start;
	grid-column: 2;
}
.temple-update-list article.has-image > div:last-child { grid-column: 2; }
.temple-update-video {
	position: relative;
	width: 280px;
	max-width: 100%;
	aspect-ratio: 16 / 9;
	overflow: hidden;
	border-radius: 10px;
	background: #111;
	box-shadow: 0 5px 16px rgba(34,25,18,.14);
}
.temple-update-video .wp-video,
.temple-update-video .mejs-container,
.temple-update-video .mejs-inner,
.temple-update-video .mejs-mediaelement,
.temple-update-video video {
	width: 100% !important;
	height: 100% !important;
	max-width: 100%;
}
.temple-update-video video { object-fit: contain; background: #111; }
.temple-update-image img {
  display: block;
  width: 100%;
  aspect-ratio: 4 / 3;
  object-fit: cover;
  border-radius: 8px;
}
.temple-update-list time {
  align-self: start;
  padding: 13px 8px;
  border-radius: 8px;
  background: var(--temple-sand);
  color: var(--temple-maroon);
  text-align: center;
  font-weight: 900;
  text-transform: uppercase;
}
.temple-update-list time span {
  display: block;
  font-family: "Playfair Display", Georgia, serif;
  font-size: 2rem;
  line-height: 1;
}
.temple-update-list h3 { margin: .15rem 0 .5rem; }
.temple-update-list p:last-child { margin-bottom: 0; line-height: 1.65; }
@media (max-width: 900px) {
  .temple-home-intro,
  .temple-home-visit,
  .temple-accounts-head,
  .temple-accounts-login,
  .temple-account-layout,
  .temple-account-workspace {
    grid-template-columns: 1fr;
  }
  .temple-account-topbar { grid-template-columns: 1fr; }
	.temple-working-status,
	.temple-preview-notice {
		align-items: flex-start;
		flex-direction: column;
	}
	.temple-working-actions { justify-content: flex-start; }
  .temple-timing-grid,
  .temple-seva-grid,
  .temple-account-summary,
  .temple-entry-forms,
  .temple-inline-fields {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .temple-feature-gallery {
    grid-template-columns: 1fr;
    grid-template-rows: none;
  }
  .temple-feature-gallery .large {
    grid-row: span 1;
  }
  .temple-gallery-intro {
    grid-template-columns: 1fr;
  }
  .temple-gallery-count {
    width: 100%;
    min-width: 0;
  }
  .temple-gallery-featured {
    grid-template-columns: 1fr;
    grid-template-rows: none;
  }
  .temple-gallery-item.feature-large,
  .temple-gallery-item.tall {
    grid-row: span 1;
  }
  .temple-gallery-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .temple-public-report-intro,
  .temple-public-ledgers {
    grid-template-columns: 1fr;
  }
  .temple-report-selector {
    grid-template-columns: 1fr;
  }
  .temple-event-toolbar,
  .temple-report-heading {
    align-items: flex-start;
    flex-direction: column;
  }
  .temple-gallery-grid .wide {
    grid-column: span 2;
  }
	.temple-record-edit-fields { grid-template-columns: 1fr; }
	.temple-record-edit-form { padding: 22px; }
	.temple-record-edit-heading { align-items: flex-start; }
}

@media (max-width: 560px) {
  .temple-timing-grid,
  .temple-seva-grid,
  .temple-account-summary,
  .temple-entry-forms,
  .temple-inline-fields {
    grid-template-columns: 1fr;
  }
  .temple-gallery-section {
    padding-inline: 1rem;
  }
  .temple-gallery-modern {
    padding-block: 44px;
  }
  .temple-record-edit-row > td {
    padding: 0 8px 18px;
  }
  .temple-record-edit-form {
    position: sticky;
    left: 0;
    width: calc(100vw - 64px);
    max-width: calc(100vw - 64px);
    box-sizing: border-box;
    gap: 17px;
    padding: 17px 15px;
    border-radius: 12px;
  }
  .temple-record-edit-heading {
    align-items: flex-start;
    flex-direction: column;
    gap: 12px;
    padding-bottom: 14px;
  }
  .temple-record-edit-heading button {
    align-self: flex-start;
  }
  .temple-record-edit-fields {
    gap: 14px;
  }
  .temple-current-videos,
  .temple-current-media {
    grid-template-columns: 1fr;
  }
  .temple-record-edit-actions {
    display: grid;
    grid-template-columns: 1fr 1fr;
  }
  .temple-record-edit-actions button {
    width: 100%;
    padding-inline: 12px;
  }
  .temple-gallery-chips {
    gap: 8px;
  }
  .temple-gallery-chips span {
    min-height: 34px;
    padding-inline: 12px;
    font-size: .82rem;
  }
  .temple-gallery-grid {
    grid-template-columns: 1fr;
  }
  .temple-gallery-grid .wide {
    grid-column: span 1;
  }
  .temple-gallery-open img,
  .temple-gallery-item.feature-large img,
  .temple-gallery-item.wide img,
  .temple-gallery-item.feature-small img,
  .temple-gallery-item.tall img {
    min-height: 280px;
    aspect-ratio: 4 / 5;
  }
  .temple-gallery-lightbox {
    padding: 16px;
  }
  .temple-gallery-lightbox button {
    top: 12px;
    right: 12px;
  }
  .temple-public-accounts { padding-inline: 1rem; }
  .temple-report-sheet { padding: 18px 14px; }
  .temple-update-tabs {
    grid-template-columns: 1fr;
    border-radius: 12px;
  }
  .temple-update-list article {
    grid-template-columns: 64px minmax(0, 1fr);
    gap: 14px;
  }
  .temple-update-list article.has-image {
    grid-template-columns: 64px minmax(0, 1fr);
  }
  .temple-update-list article.has-image .temple-update-image,
  .temple-update-list article.has-image > div {
    grid-column: 2;
  }
	.temple-update-media { grid-template-columns: minmax(0, 1fr); }
	.temple-update-video { width: 100%; }
  .temple-update-list time { font-size: .72rem; }
  .temple-update-list time span { font-size: 1.55rem; }
	.temple-gallery-video-grid { grid-template-columns: 1fr; }
	.temple-video-controls { gap: 8px; }
	.temple-video-controls button { min-width: 0; padding-inline: 13px; }
}

/* ---------- Hide commerce UI (cart / checkout) ---------- */
.ct-header-cart,
[data-id="cart"],
.ct-cart-content,
li.woocommerce-mini-cart,
a[href*="/cart"],
a[href*="/checkout"],
.ct-header-search,
[data-id="searchform"],
.npd-inline-search,
.npd-search-results {
  display: none !important;
}

/* ---------- Custom temple footer ---------- */
#footer { display: none !important; } /* hide Blocksy default footer credit */

.temple-footer {
  background: #2d241c;
  color: #f8edd8;
  padding: clamp(48px, 6vw, 74px) 1.5rem 1.25rem;
  font-family: "Mukta", "Inter", sans-serif;
  border-top: 4px solid var(--temple-gold);
}
.temple-footer a { color: #f5cf84; text-decoration: none; }
.temple-footer a:hover { color: #fff; }
.temple-footer .tf-grid {
  max-width: 1180px;
  margin: 0 auto;
  display: grid;
  grid-template-columns: minmax(240px, 1.35fr) .75fr 1fr 1fr;
  gap: clamp(28px, 4vw, 58px);
}
.temple-footer h4 {
  font-family: "Playfair Display", Georgia, serif;
  color: #fff8eb;
  margin: 0 0 .9rem;
  font-size: 1.15rem;
}
.temple-footer ul { list-style: none; margin: 0; padding: 0; }
.temple-footer li { margin: .35rem 0; }
.temple-footer p,
.temple-footer li { color: rgba(255,248,235,.78); }
.temple-footer .tf-brand { position: relative; padding-left: 0; }
.temple-footer .tf-brand-mark {
  display: grid;
  place-items: center;
  width: 54px;
  height: 54px;
  margin-bottom: 18px;
  border: 1px solid rgba(245,207,132,.45);
  border-radius: 50%;
  background: rgba(255,255,255,.05);
  color: #f5cf84;
  font-family: "Tiro Devanagari Sanskrit", Georgia, serif;
  font-size: 1.65rem;
}
.temple-footer .tf-blessing {
  font-family: "Playfair Display", Georgia, serif;
  font-style: italic;
  font-size: 1.05rem;
  color: rgba(255,248,235,.8);
}
.temple-footer .tf-om { color: var(--temple-saffron); font-size: 1.4rem; }
.temple-footer .tf-follow > p {
  margin: 0 0 16px;
  line-height: 1.55;
}
.tf-socials {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}
.tf-socials a {
  display: grid;
  place-items: center;
  width: 44px;
  height: 44px;
  border: 1px solid rgba(245,207,132,.35);
  border-radius: 50%;
  background: rgba(255,255,255,.06);
  transition: transform .2s ease, background .2s ease, border-color .2s ease;
}
.tf-socials a:hover {
  transform: translateY(-2px);
  border-color: #f5cf84;
  background: var(--temple-saffron);
}
.tf-socials svg {
  width: 19px;
  height: 19px;
  fill: currentColor;
}
.temple-footer .tf-bottom {
  max-width: 1180px;
  margin: 2.5rem auto 0;
  padding-top: 1.25rem;
  border-top: 1px solid rgba(245,207,132,.2);
  text-align: center;
  font-size: .9rem;
  color: rgba(255,248,235,.58);
}

@media (max-width: 960px) {
  .temple-footer .tf-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 560px) {
  .temple-hero {
    width: calc(100% - 24px);
    margin-top: 12px;
    padding: 30px 22px;
    border-radius: 14px;
  }
  .temple-page-intro--plain {
    width: 100%;
    margin-top: 0;
    border-radius: 0;
  }
  .temple-hero h1 { font-size: clamp(2rem, 9.5vw, 2.8rem); }
  .temple-hero > p:not(.overline) { font-size: 1rem; line-height: 1.5; }
  .temple-hero:after { right: 8px; font-size: 8rem; }
  body:not(.home) .entry-content > .wp-block-heading,
  body:not(.home) .entry-content > p { width: calc(100% - 32px); }
  .temple-footer .tf-grid { grid-template-columns: 1fr; }
}

/* ---------- Links & accents ---------- */
a { color: var(--temple-saffron); }
a:hover { color: var(--temple-maroon); }
.has-drop-cap:not(:focus):first-letter { color: var(--temple-saffron); }
