/* Temple Donation: clean sacred theme (Montserrat, saffron + maroon on warm white) */
:root {
    --saffron: #d4600b;
    --saffron-hover: #e7680c;
    --gold-1: #ffcc66;
    --gold-2: #fcb040;
    --gold-3: #e8a020;
    --maroon: #2c0906;
    --maroon-soft: rgba(52, 10, 6, .72);
    --navy: #02014a;
    --ivory: #fffefb;
    --cream: #fff6ec;
}

html { scroll-behavior: smooth; }
body { font-family: 'Montserrat', sans-serif; color: #5c5c5f; -webkit-font-smoothing: antialiased; }
h1, h2, h3, h4 { color: var(--maroon); letter-spacing: -.005em; }

/* soft warm section background used across the site */
.bg-warm {
    background:
        radial-gradient(68% 54% at 10% -6%, rgba(252, 176, 64, .14), transparent 58%),
        radial-gradient(56% 48% at 94% 4%, rgba(212, 96, 11, .09), transparent 52%),
        linear-gradient(180deg, #fffefb 0%, #fff6ec 100%);
}

/* section heading block */
.eyebrow {
    display: block;
    font-family: 'Montserrat', sans-serif;
    font-size: .8rem;
    letter-spacing: .28em;
    text-transform: uppercase;
    color: var(--saffron);
    font-weight: 600;
}
.section-title { font-size: clamp(1.6rem, 3.2vw, 2.2rem); font-weight: 600; line-height: 1.25; color: var(--maroon); margin-top: .5rem; }
.section-lead { color: var(--maroon-soft); font-size: .95rem; line-height: 1.7; max-width: 40rem; margin: .85rem auto 0; }
.section-head { text-align: center; margin-bottom: 2.75rem; }
.divider-om { display: inline-flex; align-items: center; gap: .6rem; margin-top: .9rem; color: var(--saffron); font-size: 1rem; }
.divider-om::before, .divider-om::after { content: ''; width: 2.5rem; height: 1px; background: linear-gradient(90deg, transparent, var(--saffron)); }
.divider-om::after { transform: scaleX(-1); }

/* buttons */
.btn-gold, .btn-saffron, .btn-outline {
    display: inline-flex; align-items: center; justify-content: center; gap: .5rem;
    font-weight: 700; font-size: .85rem; line-height: 1; white-space: nowrap;
    padding: .95rem 1.6rem; border-radius: 12px; transition: all .25s ease; cursor: pointer;
}
.btn-gold { background: linear-gradient(180deg, var(--gold-1) 0%, var(--gold-2) 55%, var(--gold-3) 100%); color: var(--maroon); box-shadow: 0 8px 22px rgba(232, 160, 32, .35); }
.btn-gold:hover { transform: translateY(-2px); box-shadow: 0 12px 28px rgba(232, 160, 32, .45); }
.btn-saffron { background: var(--saffron); color: #fff; border-radius: 6px; }
.btn-saffron:hover { background: var(--saffron-hover); }
.btn-outline { border: 1.5px solid var(--gold-2); color: #fffefb; }
.btn-outline:hover { background: rgba(252, 176, 64, .18); }
.btn-outline--dark { border-color: rgba(212, 96, 11, .45); color: var(--saffron); }
.btn-outline--dark:hover { background: var(--saffron); color: #fff; }

/* cards */
.card-soft {
    background: rgba(255, 254, 251, .96);
    border-radius: 16px;
    box-shadow: 0 10px 28px rgba(44, 10, 6, .06);
    border: 1px solid rgba(212, 96, 11, .08);
    transition: transform .3s ease, box-shadow .3s ease;
}
.card-soft:hover { transform: translateY(-4px); box-shadow: 0 18px 40px rgba(44, 10, 6, .12); }
.card-soft .thumb { border-radius: 12px; overflow: hidden; }
.card-soft .thumb img { transition: transform .6s ease; }
.card-soft:hover .thumb img { transform: scale(1.05); }

/* hero */
.hero { position: relative; min-height: min(86vh, 760px); display: flex; align-items: center; color: #fffefb; overflow: hidden; background: #2c0906; }
.hero__img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; object-position: 70% 50%; }
.hero__slide { opacity: 0; transition: opacity 1.4s ease; object-position: var(--pos, 50% 50%); }
.hero__slide.is-active { opacity: 1; }
.hero__dots { position: absolute; left: 50%; bottom: 1.4rem; z-index: 3; display: flex; gap: .5rem; transform: translateX(-50%); }
.hero__dots span { width: 2.6rem; height: 3px; border-radius: 2px; background: rgba(255, 254, 251, .35); transition: background .4s; }
.hero__dots span.is-active { background: var(--gold-2); }
@media (min-width: 768px) { .hero__slide { transform: scale(1.1); transform-origin: var(--origin, 0 40%); } }
.hero::after { content: ''; position: absolute; inset: 0; background: linear-gradient(90deg, rgba(44, 9, 6, .78) 0%, rgba(44, 9, 6, .45) 45%, rgba(44, 9, 6, .05) 100%); }
.hero__inner { position: relative; z-index: 2; width: 100%; }
.hero__card {
    max-width: 30rem; padding: 1.6rem 1.7rem 1.5rem; border-radius: 18px;
    background: rgba(44, 9, 6, .62); border: 1px solid rgba(252, 176, 64, .35);
    backdrop-filter: blur(6px); -webkit-backdrop-filter: blur(6px);
}
.hero__chip { display: inline-flex; align-items: center; gap: .5rem; padding: .38rem .85rem; border-radius: 8px; border: 1px solid rgba(252, 176, 64, .5); background: rgba(44, 9, 6, .5); font-size: .62rem; font-weight: 700; letter-spacing: .2em; text-transform: uppercase; color: #ffdca0; }
.hero__title { color: #fffefb; font-weight: 800; font-size: clamp(1.45rem, 2.6vw, 2.05rem); line-height: 1.2; margin-top: .9rem; }
.hero__sub { margin-top: .7rem; font-size: .88rem; line-height: 1.55; color: #ffe9cf; }
@media (max-width: 767px) {
    .hero { min-height: 640px; align-items: flex-end; padding-bottom: 1.5rem; }
    .hero::after { background: linear-gradient(180deg, rgba(44, 9, 6, .1) 0%, rgba(44, 9, 6, .55) 100%); }
    .hero__card { padding: 1.2rem 1.1rem; text-align: center; }
    .hero__card .flex { justify-content: center; }
}

/* inner page banner */
.page-banner { position: relative; padding: 4.5rem 0 4rem; text-align: center; color: #fffefb; overflow: hidden; background: #2c0906; }
.page-banner__img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; opacity: .55; }
.page-banner::after { content: ''; position: absolute; inset: 0; background: linear-gradient(180deg, rgba(44, 9, 6, .55), rgba(44, 9, 6, .8)); }
.page-banner > div { position: relative; z-index: 2; }
.page-banner h1 { color: #fffefb; font-weight: 700; font-size: clamp(1.9rem, 4vw, 2.8rem); line-height: 1.2; }
.page-banner .eyebrow { color: var(--gold-2); }
.page-banner p.lead { color: #ffe9cf; max-width: 40rem; margin: 1rem auto 0; font-size: .98rem; line-height: 1.7; }

/* stat tiles */
.stat { text-align: center; padding: 1.6rem 1rem; }
.stat b { display: block; font-size: 2rem; font-weight: 700; color: var(--saffron); line-height: 1.1; }
.stat span { display: block; margin-top: .5rem; font-size: .72rem; letter-spacing: .12em; text-transform: uppercase; font-weight: 700; color: var(--maroon); }
.stat small { display: block; margin-top: .35rem; font-size: .78rem; color: var(--maroon-soft); }

/* navy dark section (footer / festivals) */
.bg-navy { background: var(--navy); color: #fcefe6; }

/* header polish */
.nav-link { position: relative; font-size: .86rem; font-weight: 600; color: #1a1a1a; padding: .5rem .2rem; transition: color .2s; }
.nav-link::after { content: ''; position: absolute; left: 0; right: 100%; bottom: -2px; height: 2px; background: var(--saffron); transition: right .25s ease; }
.nav-link:hover, .nav-link.is-active { color: var(--saffron); }
.nav-link:hover::after, .nav-link.is-active::after { right: 0; }

/* never let a stray element widen the page on phones */
@media (max-width: 767px) { body { overflow-x: hidden; } }
