/* =========================================================
   Temple Donation System — theme
   Krishna blue / gold palette, serif headings. The CSS
   variable names below (--maroon, --maroon-dark) are kept
   from the original warm palette to avoid touching every
   rule that references them -- their VALUES are now deep
   blue, not maroon. Read them as "primary" / "primary-dark".
   Overrides Bootstrap 5.3 CSS variables so components
   (buttons, badges, links, focus rings) pick the theme up
   automatically without a Sass build step.
   ========================================================= */

:root {
  --maroon: #1d3b6d;
  --maroon-dark: #0f2444;
  --maroon-rgb: 29, 59, 109;
  --saffron: #e2a33d;
  --saffron-dark: #c8862a;
  --saffron-light: #f4d9a6;
  --gold: #d4af37;
  --cream: #fbf5ea;
  --cream-alt: #f4e9d5;
  --ink: #2c1c14;
  --muted: #7a6a5c;

  --bs-primary: var(--maroon);
  --bs-primary-rgb: var(--maroon-rgb);
  --bs-link-color: var(--maroon);
  --bs-link-hover-color: var(--maroon-dark);
  --bs-link-color-rgb: var(--maroon-rgb);
  --bs-body-bg: var(--cream);
  --bs-body-color: var(--ink);
  --bs-body-font-family: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
  --bs-border-radius: 0.65rem;
  --bs-border-radius-sm: 0.5rem;
  --bs-border-radius-lg: 1rem;
}

body {
  background-color: var(--cream);
  color: var(--ink);
}

h1, h2, h3, h4, h5, .brand-font {
  font-family: 'Playfair Display', Georgia, serif;
  color: var(--maroon-dark);
}

a {
  color: var(--maroon);
}
a:hover {
  color: var(--maroon-dark);
}

/* ---------- Cards ---------- */
.card {
  border: none;
  border-radius: 1rem;
  box-shadow: 0 2px 10px rgba(29, 59, 109, 0.07);
}
.card.shadow-sm {
  box-shadow: 0 4px 18px rgba(29, 59, 109, 0.09) !important;
}
.stat-card {
  border-radius: 1rem;
  padding: 1.1rem 1.25rem;
  background: linear-gradient(135deg, #ffffff 0%, var(--cream-alt) 100%);
  border: 1px solid rgba(29, 59, 109, 0.08);
}
.stat-card .stat-label {
  font-size: 0.78rem;
  text-transform: uppercase;
  letter-spacing: 0.04em;
  color: var(--muted);
  font-weight: 600;
}
.stat-card .stat-value {
  font-family: 'Playfair Display', Georgia, serif;
  font-size: 1.7rem;
  font-weight: 700;
  color: var(--maroon-dark);
}

/* ---------- Buttons ---------- */
.btn-primary {
  --bs-btn-bg: var(--maroon);
  --bs-btn-border-color: var(--maroon);
  --bs-btn-hover-bg: var(--maroon-dark);
  --bs-btn-hover-border-color: var(--maroon-dark);
  --bs-btn-active-bg: var(--maroon-dark);
  --bs-btn-active-border-color: var(--maroon-dark);
  --bs-btn-focus-shadow-rgb: var(--maroon-rgb);
  font-weight: 600;
  letter-spacing: 0.01em;
}
.btn-gold {
  background-color: var(--saffron);
  border-color: var(--saffron);
  color: var(--maroon-dark);
  font-weight: 600;
}
.btn-gold:hover {
  background-color: var(--saffron-dark);
  border-color: var(--saffron-dark);
  color: #fff;
}
.btn-outline-secondary {
  --bs-btn-color: var(--maroon);
  --bs-btn-border-color: rgba(29, 59, 109, 0.35);
  --bs-btn-hover-bg: var(--maroon);
  --bs-btn-hover-border-color: var(--maroon);
}

/* ---------- Forms ---------- */
.form-control:focus,
.form-select:focus {
  border-color: var(--saffron);
  box-shadow: 0 0 0 0.2rem rgba(226, 163, 61, 0.25);
}
.form-label {
  font-weight: 600;
  color: var(--maroon-dark);
  font-size: 0.9rem;
}

/* ---------- Badges ---------- */
.badge.bg-success { background-color: #4c7a45 !important; }
.badge.bg-warning { background-color: var(--saffron) !important; color: var(--ink) !important; }
.badge.bg-danger { background-color: var(--maroon) !important; }

/* ---------- Public hero header ---------- */
.hero-banner {
  background: linear-gradient(135deg, var(--maroon) 0%, var(--maroon-dark) 65%, #0a1930 100%);
  color: #fff;
  padding: 2.75rem 1.5rem 3.25rem;
  border-radius: 0 0 1.5rem 1.5rem;
  text-align: center;
  position: relative;
  overflow: hidden;
}
.hero-banner::after {
  content: "";
  position: absolute;
  inset: 0;
  background: radial-gradient(circle at 50% -10%, rgba(226,163,61,0.35), transparent 55%);
  pointer-events: none;
}
.hero-banner .hero-symbol {
  font-size: 2.4rem;
  color: var(--saffron-light);
  display: block;
  margin-bottom: 0.4rem;
}
.hero-banner h1 {
  color: #fff;
  font-size: 1.9rem;
  margin-bottom: 0.25rem;
}
.hero-banner p {
  color: var(--saffron-light);
  margin-bottom: 0;
}
.hero-card-offset {
  margin-top: -2.25rem;
  position: relative;
  z-index: 2;
}

/* ---------- Public site footer note ---------- */
.site-footer-note {
  color: var(--muted);
  font-size: 0.82rem;
  text-align: center;
  margin-top: 2rem;
}

/* ---------- Admin navbar ---------- */
.admin-navbar {
  background: linear-gradient(90deg, var(--maroon-dark) 0%, var(--maroon) 100%);
  padding: 0.6rem 1.25rem;
  box-shadow: 0 2px 10px rgba(0,0,0,0.15);
}
.admin-navbar .navbar-brand {
  font-family: 'Playfair Display', Georgia, serif;
  font-weight: 700;
  color: #fff !important;
  font-size: 1.2rem;
}
.navbar-brand-logo { height:34px; width:auto; }
.admin-navbar .nav-link {
  color: rgba(255,255,255,0.85) !important;
  font-size: 0.92rem;
  border-radius: 0.4rem;
  padding: 0.4rem 0.7rem !important;
  transition: background-color .15s ease, color .15s ease;
}
.admin-navbar .nav-link:hover {
  background-color: rgba(255,255,255,0.12);
  color: #fff !important;
}
.admin-navbar .nav-link.active {
  background-color: var(--saffron);
  color: var(--maroon-dark) !important;
  font-weight: 600;
}
.admin-navbar .dropdown-menu {
  background: #fff;
  border: none;
  border-radius: .6rem;
  box-shadow: 0 10px 24px rgba(15,36,68,.25);
  padding: .4rem;
  margin-top: .3rem;
  min-width: 12rem;
}
.admin-navbar .dropdown-item {
  border-radius: .4rem;
  padding: .5rem .75rem;
  font-size: .88rem;
  color: var(--maroon-dark);
}
.admin-navbar .dropdown-item:hover,
.admin-navbar .dropdown-item:focus {
  background-color: var(--cream-alt);
  color: var(--maroon-dark);
}
.admin-navbar .dropdown-item.active {
  background-color: var(--saffron);
  color: var(--maroon-dark) !important;
  font-weight: 600;
}
.admin-navbar .dropdown-divider {
  margin: .3rem .2rem;
  border-color: rgba(15,36,68,.1);
}
@media (max-width: 991.98px) {
  .admin-navbar .dropdown-menu {
    position: static;
    box-shadow: none;
    background: rgba(255,255,255,.08);
    margin: .2rem 0 .5rem 1rem;
  }
  .admin-navbar .dropdown-item {
    color: rgba(255,255,255,.85);
  }
  .admin-navbar .dropdown-item:hover,
  .admin-navbar .dropdown-item:focus {
    background-color: rgba(255,255,255,.12);
    color: #fff;
  }
  .admin-navbar .dropdown-divider {
    border-color: rgba(255,255,255,.15);
  }
}

/* ---------- Offline Donation page tabs (Single Entry / Bulk Upload) ---------- */
.offline-tabs { display:flex; gap:.5rem; border-bottom:1px solid rgba(15,36,68,.12); }
.offline-tab-btn {
  border:none; background:none; padding:.65rem 1.1rem; font-size:.92rem; font-weight:600;
  color: var(--muted); border-bottom:3px solid transparent; margin-bottom:-1px; transition:.15s ease;
}
.offline-tab-btn:hover { color: var(--maroon-dark); }
.offline-tab-btn.active { color: var(--maroon-dark); border-bottom-color: var(--saffron); }

/* ---------- Tables ---------- */
.table {
  --bs-table-bg: transparent;
}
.table thead th {
  color: var(--maroon-dark);
  font-size: 0.78rem;
  text-transform: uppercase;
  letter-spacing: 0.03em;
  border-bottom-width: 2px;
  border-bottom-color: rgba(29,59,109,0.2);
}
.table.bg-white {
  background-color: #fff !important;
  border-radius: 0.75rem;
  overflow: hidden;
}

/* ---------- Alerts ---------- */
.alert-info {
  background-color: var(--cream-alt);
  border-color: rgba(29,59,109,0.15);
  color: var(--maroon-dark);
}
.alert-warning {
  background-color: #fdf1dc;
  border-color: rgba(226,163,61,0.4);
  color: #7a5310;
}

/* ---------- Donor experience refresh ---------- */
body {
  background: #fbf8f2;
  min-height: 100vh;
}
.site-topbar {
  background: rgba(255, 253, 248, 0.9);
  border-bottom: 1px solid rgba(15,36,68,0.1);
  backdrop-filter: blur(12px);
  position: sticky;
  top: 0;
  z-index: 30;
}
.site-nav { min-height: 76px; }
.site-brand { color: var(--maroon-dark); max-width: min(58vw, 430px); }
.site-nav-right { flex:0 1 auto; }
.brand-logo-main { height:42px; width:auto; flex:0 0 auto; }
.brand-logo-iyf {
  height:34px; width:34px; border-radius:50%; flex:0 0 auto;
  object-fit:cover; box-shadow:0 2px 7px rgba(15,36,68,.18);
}
.brand-caption { display:block; margin-top:.15rem; font-size:.72rem; font-weight:700; letter-spacing:-.01em; line-height:1.15; white-space:nowrap; }
.site-account-link { color:var(--maroon-dark); font-size:.82rem; font-weight:700; white-space:nowrap; padding:.54rem .75rem; border:1px solid rgba(29,59,109,.15); border-radius:99px; transition:.18s ease; }
.site-account-link:hover { background:var(--maroon); border-color:var(--maroon); color:#fff; }
.nav-give-btn { color:#fff; background:var(--maroon); font-size:.82rem; font-weight:700; white-space:nowrap; padding:.56rem 1.05rem; border-radius:99px; transition:.18s ease; box-shadow:0 4px 10px rgba(15,36,68,.2); }
.nav-give-btn:hover { background:var(--maroon-dark); color:#fff; }
.site-main { min-height: calc(100vh - 148px); }

/* Mobile nav toggle -- hidden at lg+ (see .d-lg-none on the button and
   .d-lg-flex on .site-nav-links in base.html), shown as a hamburger below
   that so the 4 nav links + donor-login pill don't overflow a phone-width
   header. */
.site-nav-toggle {
  display:flex; flex-direction:column; align-items:center; justify-content:center; gap:4px;
  width:40px; height:40px; flex:0 0 auto; background:#fff;
  border:1px solid rgba(29,59,109,.2); border-radius:.6rem; padding:0;
}
.site-nav-toggle span { display:block; width:18px; height:2px; background:var(--maroon-dark); border-radius:2px; }
.site-nav-toggle[aria-expanded="true"] span:nth-child(1) { transform:translateY(6px) rotate(45deg); }
.site-nav-toggle[aria-expanded="true"] span:nth-child(2) { opacity:0; }
.site-nav-toggle[aria-expanded="true"] span:nth-child(3) { transform:translateY(-6px) rotate(-45deg); }

@media (max-width: 991.98px) {
  .site-nav-links {
    position:absolute; top:100%; left:0; right:0; z-index:10;
    flex-direction:column; align-items:stretch; gap:0;
    background:#fffdf8; padding:.3rem 1.25rem 1.1rem;
    box-shadow:0 14px 30px rgba(15,36,68,.14);
    border-bottom:1px solid rgba(15,36,68,.08);
    border-radius:0 0 1rem 1rem;
  }
  .site-nav-links.show { display:flex !important; }
  .site-nav-links a { padding:.75rem .1rem; border-bottom:1px solid rgba(15,36,68,.07); border-radius:0; width:100%; }
  .site-nav-links .site-account-link { margin-top:.6rem; border-radius:.6rem; text-align:center; justify-content:center; display:flex; border-bottom:1px solid rgba(29,59,109,.15); }
  .site-nav-links .nav-give-btn { margin-top:.5rem; border-radius:.6rem; text-align:center; display:block; border-bottom:none; }
}

.donation-hero {
  position:relative; isolation:isolate; overflow:hidden; border-radius:1.5rem;
  min-height: 318px; padding: 3.6rem 4rem; display:flex; align-items:center;
  background: linear-gradient(90deg, rgba(10,20,38,.86) 0%, rgba(14,28,50,.68) 32%, rgba(18,38,66,.38) 58%, rgba(22,46,78,.18) 78%, rgba(22,46,78,.12) 100%),
              url('images/temple/front-view.jpg') center 30%/cover no-repeat;
  color:#fff; box-shadow: 0 18px 38px rgba(15,36,68,.15);
}
.donation-hero:before { content:""; position:absolute; inset:0; z-index:-1; background:radial-gradient(circle at 78% 38%, rgba(239,185,88,.32), transparent 18%), radial-gradient(circle at 98% 98%, rgba(255,255,255,.1), transparent 38%); }
.donation-hero-copy { max-width:610px; }
.hero-eyebrow, .section-kicker { color:#edc56f; font-size:.67rem; letter-spacing:.14em; font-weight:700; text-transform:uppercase; margin:0 0 .7rem; }
.donation-hero h1 { color:#fff; margin:0; max-width:565px; font-size:clamp(2.75rem,5vw,4.2rem); line-height:.98; letter-spacing:-.06em; text-shadow:0 2px 18px rgba(4,10,20,.45); }
.donation-hero h1 em { color:#f5ca75; font-style:italic; }
.hero-lede { max-width:505px; margin:1.15rem 0 1.45rem; color:#f6dcb0; font-size:1.02rem; line-height:1.6; text-shadow:0 1px 10px rgba(4,10,20,.4); }
.hero-trust-row { display:flex; gap:1.35rem; flex-wrap:wrap; color:#f7e8ce; font-size:.76rem; }
.hero-trust-row span { display:flex; gap:.35rem; align-items:center; }.hero-trust-row b { color:#f6ca70; font-size:.85rem; }
.hero-lotus { position:absolute; right:8.5%; top:50%; transform:translateY(-50%); width:185px; height:185px; z-index:-1; }
.lotus-glow { position:absolute; inset:23px; border-radius:50%; display:grid; place-items:center; background:rgba(249,219,154,.18); color:#ffe8b3; font-size:3.8rem; box-shadow:0 0 0 23px rgba(255,255,255,.04),0 0 0 48px rgba(255,255,255,.025); }
.lotus-glow-logo { width:62%; height:62%; object-fit:contain; filter:drop-shadow(0 2px 6px rgba(4,10,20,.35)); }
.hero-lotus i { position:absolute; display:block; width:68px; height:118px; left:59px; top:31px; border-radius:100% 0 100% 0; background:linear-gradient(140deg,#f3c872,#d78a52); opacity:.92; transform-origin:50% 100%; }
.hero-lotus i:nth-of-type(1){transform:rotate(0deg)} .hero-lotus i:nth-of-type(2){transform:rotate(90deg)} .hero-lotus i:nth-of-type(3){transform:rotate(180deg)} .hero-lotus i:nth-of-type(4){transform:rotate(270deg)}
/* Photo gallery -- real temple render photos. */
.photo-gallery { margin: 3.2rem 0 2.6rem; }
.photo-gallery-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:1rem; }
.photo-gallery-grid.cols-5 { grid-template-columns:repeat(5,1fr); }
.photo-gallery-grid.cols-5 .photo-card { aspect-ratio:4/3; }
.photo-card {
  position:relative; aspect-ratio:4/5; border-radius:1rem; overflow:hidden;
  display:flex; align-items:flex-end; box-shadow:0 10px 24px rgba(14,26,46,.14);
  background:linear-gradient(150deg,var(--maroon) 0%,#3f6ea8 100%);
}
.photo-card img {
  position:absolute; inset:0; width:100%; height:100%; object-fit:cover;
  transition:.35s ease;
}
.photo-card:hover img { transform:scale(1.05); }
.photo-card .photo-card-icon {
  position:absolute; top:50%; left:50%; transform:translate(-50%,-58%);
  font-size:2.4rem; opacity:.85; color:#fff;
}
.photo-card-caption {
  position:relative; z-index:1; width:100%; padding:.9rem .85rem .8rem;
  background:linear-gradient(0deg, rgba(5,10,20,.72) 0%, transparent 100%);
  color:#fff; font-size:.78rem; font-weight:700; letter-spacing:.01em;
}

/* .live-to-give-banner rules removed -- Live To Give is now the main
   Donate page itself (see donate.html/public.py), not a separate page
   this banner used to link out to. static/images/live-to-give/*.jpg are
   left in place unused, in case that artwork gets reused elsewhere. */

/* "Ways to give" hub cards -- links out to the dedicated Festival Seva /
   BACE Contribution forms so they're discoverable from the homepage. */
.ways-to-give { margin: 0 0 2.8rem; }
.ways-to-give-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:1rem; }
.give-way-card {
  display:block; text-decoration:none; background:#fffdfa; border:1px solid rgba(22,42,72,.11);
  border-radius:1rem; padding:1.4rem 1.3rem; box-shadow:0 8px 20px rgba(14,26,46,.08);
  transition:.18s ease; height:100%;
}
.give-way-card:hover { transform:translateY(-3px); box-shadow:0 14px 28px rgba(14,26,46,.15); border-color:rgba(29,59,109,.25); }
.give-way-card .give-way-icon {
  display:grid; place-items:center; width:44px; height:44px; margin-bottom:.75rem;
  background:var(--cream-alt); color:var(--maroon); border-radius:50%; font-size:1.3rem;
}
.give-way-card h3 { font-size:1.08rem; margin:0 0 .35rem; letter-spacing:-.02em; color:var(--maroon-dark); }
.give-way-card p { margin:0; color:#756453; font-size:.82rem; line-height:1.5; }
.give-way-card .give-way-arrow { display:inline-block; margin-top:.6rem; color:var(--saffron-dark); font-weight:700; font-size:.82rem; }

/* Devotional quote strip -- a single, quiet scriptural note rather than
   impact stats or testimonials, per the "keep it devotional, not NGO
   marketing" homepage direction. */
.devotional-quote { text-align:center; margin:0 0 2.8rem; padding:2.4rem 1.5rem; background:var(--cream-alt); border-radius:1.25rem; }
.devotional-quote p.quote-text { font-family:'Playfair Display',serif; font-style:italic; font-size:1.35rem; color:var(--maroon-dark); max-width:640px; margin:0 auto .7rem; line-height:1.45; }
.devotional-quote p.quote-source { margin:0; color:var(--saffron-dark); font-weight:700; font-size:.78rem; letter-spacing:.04em; text-transform:uppercase; }
.devotional-quote p.quote-sanskrit { font-size:1.2rem; font-weight:600; color:var(--maroon-dark); line-height:2; max-width:620px; margin:0 auto .6rem; }
.devotional-quote p.quote-attribution { color:var(--saffron-dark); font-weight:700; font-size:.98rem; margin:.7rem 0 .4rem; }

/* Compact trust strip -- three short reassurances, no elaboration needed. */
.trust-strip { display:grid; grid-template-columns:repeat(3,1fr); gap:1rem; margin:0 0 2.8rem; }
.trust-strip-item { text-align:center; padding:1.5rem 1rem; background:#fffdfa; border:1px solid rgba(22,42,72,.11); border-radius:1rem; }
.trust-strip-item .trust-icon { font-size:1.6rem; margin-bottom:.5rem; }
.trust-strip-item h4 { font-size:.92rem; margin:0 0 .3rem; color:var(--maroon-dark); letter-spacing:-.01em; }
.trust-strip-item p { margin:0; color:#756453; font-size:.78rem; line-height:1.45; }

/* Final CTA banner -- one line, one button, nothing else. */
.final-cta-banner { text-align:center; padding:2.6rem 1.5rem; margin:0 0 2.8rem; border-radius:1.25rem; background:linear-gradient(135deg, var(--maroon) 0%, var(--maroon-dark) 100%); }
.final-cta-banner h3 { color:#fff; font-size:1.7rem; margin:0 0 1.1rem; letter-spacing:-.03em; }
.final-cta-banner .btn-gold { min-height:48px; padding:0 1.8rem; }

.donation-layout { margin-top:-2.9rem; position:relative; z-index:2; }
.donation-card { background:#fffdfa; border:1px solid rgba(22,42,72,.11); border-radius:1.25rem; padding:2rem; box-shadow:0 18px 42px rgba(14,26,46,.13); }
.donation-card-head { display:flex; justify-content:space-between; gap:1rem; align-items:flex-start; padding-bottom:1.35rem; border-bottom:1px solid #eee4d6; }
.donation-card .section-kicker, .account-intro .section-kicker { color:var(--saffron-dark); display:block; margin-bottom:.32rem; }
.donation-card h2 { font-size:1.8rem; margin:0; letter-spacing:-.04em; }.secure-pill { color:#555e47; background:#edf1e5; border-radius:99px; padding:.42rem .68rem; font-size:.7rem; font-weight:700; white-space:nowrap; }
.form-section { padding:1.5rem 0; border-bottom:1px solid #eee4d6; }.form-section:last-of-type { border:0; }
.form-label { font-size:.78rem; letter-spacing:.01em; margin-bottom:.48rem; }.field-note { color:#857566; font-size:.73rem; }
.amount-label { font-size:1.08rem; font-weight:700; letter-spacing:-.01em; color:var(--maroon-dark); }
.form-select,.form-control { border-color:#dfd5c6; min-height:46px; background:#fffefa; font-size:.93rem; }.form-control::placeholder{color:#a99b8d}.form-select:hover,.form-control:hover{border-color:#bdab95}
.amount-picker { display:grid; grid-template-columns:repeat(4,1fr); gap:.55rem; margin: .8rem 0; }.amount-option { border:1px solid #e0d7c9; color:var(--maroon-dark); background:#fff; border-radius:.58rem; padding:.58rem .35rem; font-weight:700; font-size:.85rem; transition:.18s ease; }.amount-option:hover,.amount-option.active { background:var(--maroon); border-color:var(--maroon); color:#fff; box-shadow:0 4px 9px rgba(15,36,68,.18); }
.currency-input { position:relative; }.currency-input>span { position:absolute; top:50%; transform:translateY(-50%); left: .9rem; z-index:2; color:var(--maroon-dark); font-weight:700; }.currency-input input { padding-left:2rem; }
.section-label { display:flex; align-items:center; gap:.55rem; color:var(--maroon-dark); font-size:.8rem; font-weight:700; margin:0 0 1rem; text-transform:uppercase; letter-spacing:.08em; }.section-label span { display:grid; place-items:center; background:var(--cream-alt); color:var(--maroon); width:23px; height:23px; border-radius:50%; font-size:.64rem; }
.consent-box { margin:1.45rem 0 1.2rem; padding:1rem; border:1px solid #eee1d0; border-radius:.7rem; background:#fcf8f0; }.consent-box .form-check-input{margin-left:-1.5rem}.consent-box .form-check-label{line-height:1.5;color:#716455!important;}
.donation-submit { min-height:52px; display:flex; align-items:center; justify-content:space-between; padding:0 1.15rem; border-radius:.7rem; font-size:.95rem; }.donation-submit span:last-child{font-size:1.3rem}.donation-reassurance{text-align:center;color:#867666;font-size:.71rem;margin: .85rem 0 0;}

.success-card { margin-top: 4.5rem; border-top:5px solid var(--saffron); padding:2.8rem!important; }.success-symbol,.account-symbol { display:grid; place-items:center; width:54px; height:54px; margin:0 auto .8rem; background:var(--cream-alt); color:var(--maroon); border-radius:50%; font-size:1.8rem; overflow:hidden; }.success-symbol img,.account-symbol img { width:70%; height:70%; object-fit:contain; }.success-card h3 { font-size:2rem; }.receipt-reference { display:inline-block; padding:.45rem .7rem; border-radius:.45rem; color:#756453; background:#fbf4e8; font-size:.82rem; }.success-action { display:flex; justify-content:space-between; align-items:center; width:min(100%,280px); margin:1.25rem auto .35rem; }
.account-intro { margin-top:3.25rem; }.account-intro .account-symbol{width:48px;height:48px;font-size:1.45rem;margin-bottom:.55rem}.account-intro h3{font-size:2.15rem;letter-spacing:-.05em}.account-card{border-top:4px solid var(--saffron);}.account-card .btn-gold{min-height:47px}
.site-footer-note { margin:0; padding:1.4rem 1rem 2rem; color:#8a7c6d; font-size:.75rem; text-align:center; }.site-footer-note span { color:var(--saffron-dark); font-size:1rem; margin-right:.3rem; }
.site-footer-note .footer-logo { height:18px; width:auto; vertical-align:-4px; margin-right:.35rem; }
.site-footer-note .footer-admin-link { color:#b4a897; font-size:.75rem; margin:0 0 0 .35rem; }.site-footer-note .footer-admin-link a { color:#b4a897; text-decoration:underline; text-decoration-color:rgba(180,168,151,.5); }.site-footer-note .footer-admin-link a:hover { color:var(--maroon); }

/* ---------- Public site footer: About Us / Located On / Contact Us ---------- */
.site-footer { background:var(--maroon-dark); margin-top:3rem; }
.footer-grid { display:grid; grid-template-columns:1.4fr 1fr 1fr; gap:2.2rem; padding:2.8rem 1rem 2.2rem; }
.footer-brand { display:flex; align-items:center; gap:.7rem; margin-bottom:.85rem; }
.footer-brand-logo { height:40px; width:auto; flex:0 0 auto; }
.footer-brand-name { font-family:'Playfair Display',serif; font-weight:700; color:#fff; font-size:1.05rem; line-height:1.25; }
.footer-brand-sub { color:var(--saffron-light); font-size:.72rem; font-weight:600; letter-spacing:.02em; margin-top:.15rem; }
.footer-about-text { font-size:.82rem; line-height:1.6; color:rgba(255,255,255,.72); margin:0; }
.footer-heading { color:var(--saffron-light); font-size:.76rem; font-weight:700; text-transform:uppercase; letter-spacing:.06em; margin:0 0 .7rem; }
.footer-text { font-size:.82rem; line-height:1.6; color:rgba(255,255,255,.78); margin:0 0 .5rem; }
.footer-text a { color:#fff; text-decoration:underline; text-decoration-color:rgba(255,255,255,.4); }
.footer-text a:hover { color:var(--saffron-light); }
.footer-text-note { font-size:.74rem; line-height:1.55; color:rgba(255,255,255,.58); margin:0; }
.site-footer .site-footer-note { border-top:1px solid rgba(255,255,255,.12); padding:1.2rem 1rem; margin:0; color:rgba(255,255,255,.6); }
.site-footer .site-footer-note span { color:rgba(255,255,255,.6); }
.site-footer .site-footer-note .footer-admin-link,
.site-footer .site-footer-note .footer-admin-link a { color:rgba(255,255,255,.55); }
.site-footer .site-footer-note .footer-admin-link a:hover { color:var(--saffron-light); }

@media (max-width: 767.98px) {
  .site-nav { min-height:67px; }.brand-caption { font-size:.62rem; }.brand-logo-main{height:34px}.brand-logo-iyf{width:27px;height:27px}.site-account-link{font-size:.72rem;padding:.46rem .55rem}
  .site-main{padding-top:1rem!important}.donation-hero{border-radius:1rem;padding:2.6rem 1.5rem;min-height:360px;align-items:flex-start}.donation-hero h1{font-size:3rem}.hero-lede{font-size:.93rem;max-width:340px}.hero-trust-row{gap:.7rem;font-size:.69rem}.hero-lotus{right:-18px;bottom:-40px;top:auto;transform:none;opacity:.74}
  .donation-layout{margin-top:-1.6rem}.donation-card{padding:1.3rem;border-radius:1rem}.donation-card-head{padding-bottom:1rem}.donation-card h2{font-size:1.55rem}.secure-pill{font-size:.61rem;padding:.35rem .48rem}.form-section{padding:1.15rem 0}.amount-picker{grid-template-columns:repeat(2,1fr)}.consent-box{margin:1.1rem 0 .9rem;padding:.8rem}.success-card{margin-top:2.2rem;padding:2rem 1.25rem!important}.account-intro{margin-top:1.7rem}
  .photo-gallery-grid{grid-template-columns:repeat(2,1fr)}.photo-gallery-grid.cols-5{grid-template-columns:repeat(2,1fr)}.ways-to-give-grid{grid-template-columns:1fr}
  .footer-grid { grid-template-columns:1fr; gap:1.7rem; padding:2.2rem 1rem 1.6rem; }
}
