/* Vedapitham public landing pages: pujas, events, about, contact */
.pp-hero {
    position: relative;
    overflow: hidden;
    padding: 86px 24px 78px;
    background:
        radial-gradient(circle at 82% 20%, rgba(220,164,67,.20), transparent 27%),
        linear-gradient(135deg, #4a0811 0%, #6e101c 55%, #8a2630 100%);
    color: #fff7e9;
}
.pp-hero::after {
    content: "ॐ";
    position: absolute;
    right: 7%;
    top: 50%;
    transform: translateY(-50%);
    color: rgba(232,198,110,.16);
    font-family: Georgia, "Times New Roman", serif;
    font-size: clamp(110px, 18vw, 270px);
    line-height: 1;
    pointer-events: none;
}
.pp-hero-inner {
    position: relative;
    z-index: 1;
    width: min(1180px, 100%);
    margin: 0 auto;
}
.pp-eyebrow {
    display: inline-block;
    margin-bottom: 18px;
    color: var(--vp-gold-light, #e8c66e);
    font-weight: 800;
    letter-spacing: .18em;
    font-size: .78rem;
}
.pp-hero h1 {
    max-width: 820px;
    margin: 0;
    font-family: Georgia, "Times New Roman", serif;
    font-size: clamp(2.8rem, 6vw, 5.3rem);
    line-height: .98;
    font-weight: 500;
}
.pp-hero p {
    max-width: 700px;
    margin: 24px 0 0;
    color: rgba(255,247,233,.88);
    font-size: 1.1rem;
    line-height: 1.75;
}
.pp-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 14px;
    margin-top: 30px;
}
.pp-button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 48px;
    padding: 0 22px;
    border-radius: 999px;
    border: 1px solid rgba(232,198,110,.7);
    font-weight: 700;
}
.pp-button.gold { background: var(--vp-gold-light, #e8c66e); color: #4b0911; }
.pp-button.outline { color: #fff5e7; }
.pp-section { padding: 72px 24px; background: #fffaf3; }
.pp-section.soft { background: #f6eee2; }
.pp-container { width: min(1180px, 100%); margin: 0 auto; }
.pp-heading { max-width: 760px; margin-bottom: 34px; }
.pp-heading.center { margin-left: auto; margin-right: auto; text-align: center; }
.pp-heading h2 {
    margin: 8px 0 12px;
    color: #6a0e19;
    font-family: Georgia, "Times New Roman", serif;
    font-size: clamp(2rem, 4vw, 3.3rem);
    font-weight: 500;
}
.pp-heading p { margin: 0; color: #6f6157; line-height: 1.75; font-size: 1.02rem; }
.pp-grid { display: grid; grid-template-columns: repeat(3, minmax(0,1fr)); gap: 20px; }
.pp-card {
    padding: 26px;
    background: rgba(255,255,255,.78);
    border: 1px solid #ead8bf;
    border-radius: 18px;
    box-shadow: 0 10px 28px rgba(77,31,23,.06);
}
.pp-card-icon {
    width: 52px; height: 52px; display: grid; place-items: center;
    margin-bottom: 18px; border-radius: 50%;
    background: #f5e8d4; color: #7a101c; font-size: 1.45rem;
}
.pp-card h3 { margin: 0 0 10px; color: #64101a; font-family: Georgia,"Times New Roman",serif; font-size: 1.45rem; }
.pp-card p { margin: 0; color: #6d5d53; line-height: 1.65; }
.pp-card a { display: inline-block; margin-top: 18px; color: #7b101c; font-weight: 800; }
.pp-steps { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 18px; counter-reset: step; }
.pp-step { position: relative; padding: 25px 22px; border-top: 2px solid #d2a244; background: #fffaf3; }
.pp-step b { display: block; color: #c18d2f; font-family: Georgia,"Times New Roman",serif; font-size: 2rem; margin-bottom: 8px; }
.pp-step h3 { margin: 0 0 8px; color: #64101a; }
.pp-step p { margin: 0; color: #6f6157; line-height: 1.6; }
.pp-banner {
    display: grid; grid-template-columns: 1.4fr .6fr; gap: 28px; align-items: center;
    padding: 34px; border-radius: 22px; background: linear-gradient(135deg,#5e0b15,#8b252e); color: #fff7e9;
}
.pp-banner h2 { margin: 0 0 10px; font-family: Georgia,"Times New Roman",serif; font-size: clamp(1.8rem,3vw,2.8rem); }
.pp-banner p { margin: 0; color: rgba(255,247,233,.82); line-height: 1.7; }
.pp-banner .pp-actions { margin: 0; justify-content: flex-end; }
.pp-empty {
    padding: 34px; border: 1px dashed #d5b98f; border-radius: 18px; background: rgba(255,255,255,.55); text-align: center;
}
.pp-empty strong { display: block; color: #64101a; font-size: 1.15rem; margin-bottom: 8px; }
.pp-empty p { margin: 0; color: #76665b; }
.pp-two-col { display: grid; grid-template-columns: 1fr 1fr; gap: 24px; }
.pp-values { display:grid; gap:14px; }
.pp-value { padding: 20px; border-left: 3px solid #d2a244; background: #fffaf3; }
.pp-value h3 { margin:0 0 7px; color:#64101a; }
.pp-value p { margin:0; color:#6f6157; line-height:1.6; }
.pp-contact-grid { display:grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap:18px; }
.pp-contact-card { padding:24px; border:1px solid #ead8bf; border-radius:18px; background:#fff; }
.pp-contact-card small { display:block; color:#b27e27; font-weight:800; letter-spacing:.12em; margin-bottom:8px; }
.pp-contact-card strong { display:block; color:#64101a; font-size:1.1rem; overflow-wrap:anywhere; }
.pp-contact-card span { display:block; color:#6f6157; margin-top:6px; line-height:1.55; white-space:pre-line; }
.pp-topic-grid { display:grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap:16px; margin-top:24px; }
.pp-topic { display:flex; align-items:center; justify-content:space-between; gap:14px; padding:18px 20px; background:#fff; border:1px solid #ead8bf; border-radius:14px; color:#64101a; font-weight:800; }
.pp-topic span { color:#c18d2f; }

@media (max-width: 900px) {
    .pp-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
    .pp-steps { grid-template-columns: repeat(2,minmax(0,1fr)); }
    .pp-banner { grid-template-columns: 1fr; }
    .pp-banner .pp-actions { justify-content: flex-start; }
    .pp-contact-grid { grid-template-columns: 1fr; }
}
@media (max-width: 640px) {
    .pp-hero { padding: 58px 20px 50px; }
    .pp-hero::after { right:-6%; top:35%; font-size:130px; }
    .pp-hero h1 { font-size: clamp(2.5rem,14vw,4rem); }
    .pp-section { padding: 50px 18px; }
    .pp-grid, .pp-steps, .pp-two-col, .pp-topic-grid { grid-template-columns: 1fr; }
    .pp-card { padding: 22px; }
    .pp-actions .pp-button { width: 100%; }
    .pp-banner { padding: 26px 22px; }
}
