/*
Theme Name: Pune Maheshwari Community
Theme URI: https://punemaheshwari.in/
Author: OpenAI for Pune Jilha Maheshwari Pragati Mandal - Jilha Yuva Samiti
Description: Custom mobile-first community theme for Pune Jilha Maheshwari Pragati Mandal - Jilha Yuva Samiti.
Version: 1.4.0
Requires at least: 6.4
Requires PHP: 8.0
Text Domain: pune-maheshwari
*/

:root{--pm-ink:#19223a;--pm-purple:#5e4aae;--pm-gold:#d99a28;--pm-soft:#f6f4ff;--pm-white:#fff;--pm-muted:#697089;--pm-border:#e7e8ef;--pm-radius:24px;--pm-shadow:0 18px 45px rgba(22,29,54,.10)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:var(--pm-ink);background:#fff;line-height:1.65}a{color:inherit;text-decoration:none}img{max-width:100%;height:auto;display:block}.pm-container{width:min(1180px,calc(100% - 36px));margin-inline:auto}.pm-topbar{background:var(--pm-ink);color:#fff;font-size:.9rem}.pm-topbar .pm-container{display:flex;justify-content:space-between;align-items:center;padding:8px 0;gap:16px}.pm-site-header{position:sticky;top:0;z-index:50;background:rgba(255,255,255,.94);backdrop-filter:blur(14px);border-bottom:1px solid rgba(231,232,239,.8)}.pm-header-inner{display:flex;align-items:center;justify-content:space-between;gap:28px;min-height:84px}.pm-brand{display:flex;align-items:center;gap:12px;min-width:260px}.pm-brand img{width:54px;height:54px;object-fit:contain;border-radius:50%}.pm-brand-copy strong{display:block;font-size:.95rem;line-height:1.2}.pm-brand-copy span{display:block;color:var(--pm-muted);font-size:.78rem;margin-top:3px}.pm-nav ul{display:flex;align-items:center;gap:22px;list-style:none;margin:0;padding:0}.pm-nav a{font-weight:700;font-size:.93rem}.pm-nav a:hover{color:var(--pm-purple)}.pm-menu-toggle{display:none;border:0;background:var(--pm-soft);padding:10px 12px;border-radius:12px;font-weight:800}.pm-hero{position:relative;overflow:hidden;background:radial-gradient(circle at 18% 22%,rgba(217,154,40,.22),transparent 28%),radial-gradient(circle at 82% 20%,rgba(94,74,174,.26),transparent 30%),linear-gradient(135deg,#f9f7ff 0%,#fff 58%,#fff8ec 100%);padding:88px 0 70px}.pm-hero:after{content:"";position:absolute;inset:auto -80px -120px auto;width:360px;height:360px;border:64px solid rgba(94,74,174,.06);border-radius:50%}.pm-hero-grid{display:grid;grid-template-columns:1.18fr .82fr;gap:54px;align-items:center}.pm-kicker{display:inline-flex;align-items:center;gap:8px;background:#fff;border:1px solid var(--pm-border);border-radius:999px;padding:8px 13px;font-size:.82rem;font-weight:800;box-shadow:0 8px 25px rgba(22,29,54,.06)}.pm-kicker:before{content:"";width:8px;height:8px;background:var(--pm-gold);border-radius:50%}.pm-hero h1{font-size:clamp(2.6rem,5.7vw,5.3rem);line-height:.98;letter-spacing:-.055em;margin:22px 0 22px}.pm-hero h1 em{font-style:normal;color:var(--pm-purple)}.pm-hero p{font-size:1.1rem;color:var(--pm-muted);max-width:700px}.pm-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:28px}.pm-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:13px 18px;border-radius:14px;font-weight:800;border:1px solid transparent;transition:.2s}.pm-btn-primary{background:var(--pm-purple);color:#fff;box-shadow:0 14px 28px rgba(94,74,174,.26)}.pm-btn-secondary{background:#fff;border-color:var(--pm-border)}.pm-btn:hover{transform:translateY(-1px)}.pm-hero-card{background:#fff;padding:20px;border-radius:30px;box-shadow:var(--pm-shadow);border:1px solid rgba(231,232,239,.8);transform:rotate(1.5deg)}.pm-hero-card-inner{min-height:390px;border-radius:22px;background:linear-gradient(145deg,#251d55,#6d50c8 60%,#d99a28);display:flex;flex-direction:column;justify-content:flex-end;padding:28px;color:#fff;position:relative;overflow:hidden}.pm-hero-card-inner:before{content:"सेवा • त्याग • सदाचार";position:absolute;top:28px;left:28px;font-weight:800;opacity:.9}.pm-hero-card-inner:after{content:"";position:absolute;width:240px;height:240px;border:42px solid rgba(255,255,255,.08);border-radius:50%;top:24px;right:-72px}.pm-hero-card h3{font-size:2rem;line-height:1.05;margin:0 0 8px}.pm-hero-card p{color:rgba(255,255,255,.82);margin:0}.pm-section{padding:78px 0}.pm-section-muted{background:var(--pm-soft)}.pm-section-head{display:flex;justify-content:space-between;align-items:end;gap:24px;margin-bottom:30px}.pm-section-head h2{font-size:clamp(2rem,3.4vw,3.3rem);letter-spacing:-.04em;margin:0}.pm-section-head p{max-width:600px;color:var(--pm-muted);margin:0}.pm-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}.pm-card{background:#fff;border:1px solid var(--pm-border);border-radius:var(--pm-radius);overflow:hidden;box-shadow:0 10px 28px rgba(22,29,54,.055)}.pm-card-media{aspect-ratio:16/10;overflow:hidden;background:#ececf5}.pm-card-media img{width:100%;height:100%;object-fit:cover}.pm-card-body{padding:20px}.pm-card-body h3{margin:0 0 8px;font-size:1.25rem;line-height:1.25}.pm-meta{display:flex;flex-wrap:wrap;gap:10px;color:var(--pm-muted);font-size:.88rem}.pm-event-track{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(300px,390px);gap:20px;overflow-x:auto;scroll-snap-type:x mandatory;padding:2px 2px 16px}.pm-event-track>.pm-card{scroll-snap-align:start}.pm-countdown{display:inline-flex;margin-top:14px;padding:8px 10px;border-radius:10px;background:#fff4dc;color:#8a5a00;font-weight:800;font-size:.86rem}.pm-empty-banner{min-height:290px;border-radius:30px;background:linear-gradient(135deg,#2c235f,#7056cf 64%,#d99a28);color:#fff;display:flex;align-items:flex-end;padding:34px;overflow:hidden;position:relative}.pm-empty-banner:after{content:"";position:absolute;width:260px;height:260px;border:44px solid rgba(255,255,255,.09);border-radius:50%;right:-40px;top:-50px}.pm-empty-banner h3{font-size:2rem;margin:0 0 4px}.pm-empty-banner p{margin:0;opacity:.86}.pm-stat-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}.pm-stat{padding:22px;border-radius:20px;border:1px solid var(--pm-border);background:#fff}.pm-stat strong{display:block;font-size:2rem;letter-spacing:-.04em}.pm-stat span{color:var(--pm-muted);font-size:.9rem}.pm-member{display:flex;gap:15px;align-items:center;padding:16px}.pm-avatar{width:72px;height:72px;border-radius:18px;object-fit:cover;background:#e9e8f3;flex:none}.pm-member h3{font-size:1rem;margin:0}.pm-member p{font-size:.86rem;color:var(--pm-muted);margin:4px 0 0}.pm-gallery-card .pm-card-media{aspect-ratio:4/3}.pm-gallery-card .pm-card-body{padding:16px 18px}.pm-page-hero{background:linear-gradient(135deg,#f8f6ff,#fff8eb);padding:60px 0}.pm-page-hero h1{font-size:clamp(2.3rem,5vw,4.5rem);letter-spacing:-.05em;margin:0}.pm-content{padding:60px 0}.pm-content article{max-width:900px;margin:auto}.pm-content h2{margin-top:2rem}.pm-table-wrap{overflow:auto;border:1px solid var(--pm-border);border-radius:20px}.pm-table{width:100%;border-collapse:collapse;min-width:720px;background:#fff}.pm-table th,.pm-table td{padding:16px;border-bottom:1px solid var(--pm-border);text-align:left;vertical-align:middle}.pm-table th{background:#f8f8fc;font-size:.85rem;text-transform:uppercase;letter-spacing:.04em}.pm-person-cell{display:flex;align-items:center;gap:12px}.pm-person-cell img{width:54px;height:54px;border-radius:14px;object-fit:cover;background:#ececf5}.pm-form{display:grid;gap:16px}.pm-form-row{display:grid;grid-template-columns:1fr 1fr;gap:16px}.pm-form label{font-weight:700;font-size:.9rem}.pm-form input,.pm-form textarea,.pm-form select{width:100%;padding:13px 14px;border:1px solid #dcdde7;border-radius:12px;font:inherit;background:#fff}.pm-form textarea{min-height:140px;resize:vertical}.pm-alert{padding:12px 14px;border-radius:12px;background:#eef9ef;color:#215f2a;margin-bottom:16px}.pm-footer{background:#151c30;color:#fff;padding:48px 0 24px;margin-top:60px}.pm-footer-grid{display:grid;grid-template-columns:1.4fr .8fr .8fr;gap:32px}.pm-footer p,.pm-footer a{color:rgba(255,255,255,.72)}.pm-footer h4{margin-top:0}.pm-footer-bottom{border-top:1px solid rgba(255,255,255,.12);margin-top:28px;padding-top:20px;color:rgba(255,255,255,.55);font-size:.86rem}.pm-logo-placeholder{width:54px;height:54px;display:grid;place-items:center;border-radius:50%;background:linear-gradient(145deg,#5e4aae,#d99a28);color:#fff;font-weight:900}.pm-gallery-grid{columns:3 260px;column-gap:16px}.pm-gallery-item{break-inside:avoid;margin:0 0 16px;border-radius:18px;overflow:hidden;background:#eee}.pm-gallery-item img,.pm-gallery-item video{width:100%;display:block}.pm-single-event-hero{display:grid;grid-template-columns:1fr 1fr;gap:38px;align-items:center}.pm-single-event-hero img{border-radius:28px;box-shadow:var(--pm-shadow)}
@media(max-width:900px){.pm-hero-grid,.pm-single-event-hero{grid-template-columns:1fr}.pm-grid{grid-template-columns:1fr 1fr}.pm-stat-grid{grid-template-columns:1fr 1fr}.pm-footer-grid{grid-template-columns:1fr}.pm-nav{display:none;position:absolute;left:18px;right:18px;top:78px;background:#fff;border:1px solid var(--pm-border);border-radius:18px;box-shadow:var(--pm-shadow);padding:14px}.pm-nav.is-open{display:block}.pm-nav ul{display:grid;gap:4px}.pm-nav a{display:block;padding:10px}.pm-menu-toggle{display:block}.pm-brand{min-width:0}.pm-topbar .pm-container{justify-content:center}.pm-topbar span:last-child{display:none}}
@media(max-width:620px){.pm-container{width:min(100% - 24px,1180px)}.pm-hero{padding:58px 0}.pm-hero-card-inner{min-height:300px}.pm-grid,.pm-stat-grid,.pm-form-row{grid-template-columns:1fr}.pm-section{padding:56px 0}.pm-section-head{display:block}.pm-section-head p{margin-top:10px}.pm-event-track{grid-auto-columns:86%}.pm-brand-copy strong{font-size:.82rem}.pm-brand-copy span{display:none}.pm-gallery-grid{columns:2 145px}}

/* v1.1 brand refresh — derived from the official Yuva Samiti logo */
:root{--pm-ink:#302f83;--pm-purple:#302f83;--pm-gold:#a7cd16;--pm-red:#ed1c24;--pm-lime:#a7cd16;--pm-blue:#00a8e8;--pm-soft:#f8faf0;--pm-border:#e4e9d3;--pm-shadow:0 18px 45px rgba(48,47,131,.12)}
.pm-topbar{background:linear-gradient(90deg,#302f83,#1f235f)}
.pm-site-header{border-bottom:3px solid var(--pm-lime)}
.pm-brand img,.pm-bundled-logo{width:72px;height:72px!important;object-fit:contain!important;border-radius:0!important}
.pm-brand-copy strong{color:#302f83;font-size:1rem}.pm-brand-copy span{color:#ed1c24;font-weight:700}
.pm-nav a:hover,.pm-member-view{color:#ed1c24}
.pm-kicker{border-color:rgba(167,205,22,.45)}.pm-kicker:before{background:#ed1c24}
.pm-hero{background:radial-gradient(circle at 18% 18%,rgba(167,205,22,.20),transparent 28%),radial-gradient(circle at 82% 18%,rgba(0,168,232,.13),transparent 28%),linear-gradient(135deg,#fff 0%,#fbfff1 54%,#fff5f5 100%)}
.pm-hero h1 em{color:#ed1c24}.pm-btn-primary{background:linear-gradient(135deg,#302f83,#4c49aa);box-shadow:0 14px 28px rgba(48,47,131,.24)}
.pm-hero-card-inner,.pm-empty-banner{background:linear-gradient(145deg,#302f83 0%,#312f86 48%,#ed1c24 78%,#a7cd16 100%)}
.pm-section-muted{background:linear-gradient(180deg,#fbfff4,#f7f8ff)}
.pm-card{border-color:#e7ead8}.pm-card:hover{box-shadow:0 18px 40px rgba(48,47,131,.12)}
.pm-member-card{padding:0}.pm-member-link{display:flex;gap:15px;align-items:center;padding:16px;width:100%}.pm-member-view{display:inline-block;margin-top:8px;font-size:.82rem;font-weight:800}
.pm-member-detail-hero{padding:54px 0 64px}.pm-back-link{display:inline-block;margin-bottom:26px;color:#302f83;font-weight:800}.pm-member-detail-grid{display:grid;grid-template-columns:minmax(260px,360px) 1fr;gap:48px;align-items:center}.pm-member-detail-photo img{width:100%;aspect-ratio:1/1;object-fit:cover;border-radius:32px;box-shadow:var(--pm-shadow);border:6px solid #fff}.pm-member-detail-placeholder{aspect-ratio:1/1;border-radius:32px;background:linear-gradient(135deg,#eef3d7,#e9e8ff)}.pm-member-detail-hero h1{margin:16px 0 8px}.pm-member-lead{font-size:1.12rem;color:var(--pm-red);font-weight:800}.pm-member-info-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:26px}.pm-member-info-grid>div{background:#fff;border:1px solid var(--pm-border);border-radius:16px;padding:14px 16px}.pm-member-info-grid span{display:block;color:var(--pm-muted);font-size:.78rem;text-transform:uppercase;letter-spacing:.05em;margin-bottom:4px}.pm-member-info-grid strong{font-size:.96rem}.pm-member-bio{max-width:850px}.pm-member-bio h2{color:#302f83}
@media(max-width:900px){.pm-member-detail-grid{grid-template-columns:1fr}.pm-member-detail-photo{max-width:340px}.pm-brand img,.pm-bundled-logo{width:58px;height:58px!important}}
@media(max-width:620px){.pm-member-info-grid{grid-template-columns:1fr}.pm-member-detail-grid{gap:28px}.pm-brand img,.pm-bundled-logo{width:50px;height:50px!important}.pm-brand-copy strong{font-size:.76rem}.pm-member-detail-photo{max-width:260px}}

/* v1.2 social connectivity */
.pm-topbar-right{display:flex;align-items:center;gap:14px}.pm-social-links{display:flex;align-items:center;gap:10px}.pm-social-icon{width:38px;height:38px;border-radius:12px;display:inline-grid;place-items:center;border:1px solid rgba(48,47,131,.13);background:#fff;color:var(--pm-purple);transition:transform .18s ease,box-shadow .18s ease,background .18s ease;color .18s ease}.pm-social-icon svg{width:19px;height:19px;fill:currentColor}.pm-social-icon:hover{transform:translateY(-2px);box-shadow:0 9px 22px rgba(48,47,131,.16)}.pm-facebook:hover{background:#1877f2;color:#fff}.pm-instagram:hover{background:linear-gradient(135deg,#833ab4,#fd1d1d,#fcb045);color:#fff}.pm-email:hover{background:var(--pm-red);color:#fff}.pm-social-top .pm-social-icon{width:30px;height:30px;border-radius:9px;background:rgba(255,255,255,.10);border-color:rgba(255,255,255,.20);color:#fff}.pm-social-top .pm-social-icon svg{width:16px;height:16px}.pm-social-hero{margin-top:24px}.pm-social-hero:before{content:"Connect with us";font-size:.82rem;font-weight:800;color:var(--pm-muted);margin-right:4px}.pm-social-footer{margin-top:15px}.pm-social-footer .pm-social-icon{background:rgba(255,255,255,.08);border-color:rgba(255,255,255,.12);color:#fff}
@media(max-width:900px){.pm-topbar-right>span{display:none}.pm-topbar .pm-container{justify-content:space-between}.pm-social-top{display:flex}.pm-social-top .pm-social-icon{width:28px;height:28px}.pm-social-hero{flex-wrap:wrap}}


/* v1.3 devotional homepage hero */
.pm-devotional-card{padding:12px;background:linear-gradient(145deg,#fff,#f6f4ff);box-shadow:0 24px 70px rgba(30,35,80,.20);transform:rotate(.65deg)}
.pm-devotional-inner{min-height:500px;background-size:cover;background-position:center 34%;justify-content:space-between;padding:28px;isolation:isolate}
.pm-devotional-inner:before{content:none}
.pm-devotional-inner:after{content:"";position:absolute;inset:0;background:radial-gradient(circle at 50% 22%,rgba(255,200,88,.18),transparent 28%);z-index:-1}
.pm-devotional-topline{font-weight:850;letter-spacing:.03em;font-size:1rem;text-shadow:0 2px 14px rgba(0,0,0,.45)}
.pm-devotional-copy{margin-top:auto;text-align:center;padding:18px 12px 6px;text-shadow:0 3px 18px rgba(0,0,0,.55)}
.pm-devotional-copy .pm-om{display:block;color:#f4bd47;font-size:2.5rem;line-height:1;margin-bottom:10px}
.pm-devotional-card h3{font-family:Georgia,"Noto Serif Devanagari","Nirmala UI",serif;font-size:clamp(1.75rem,3vw,2.55rem);line-height:1.16;margin:0 0 12px;color:#fff}
.pm-devotional-card .pm-devotional-slogan{font-family:Georgia,"Noto Serif Devanagari","Nirmala UI",serif;color:#f9cf76;font-size:clamp(1.05rem,1.7vw,1.35rem);line-height:1.5;font-weight:700;margin:0 auto;max-width:92%}
@media(max-width:900px){.pm-devotional-card{max-width:680px;margin-inline:auto;width:100%}.pm-devotional-inner{min-height:520px}}
@media(max-width:620px){.pm-devotional-inner{min-height:430px;padding:22px;background-position:center top}.pm-devotional-topline{font-size:.88rem}.pm-devotional-copy{padding-inline:2px}.pm-devotional-card h3{font-size:1.85rem}.pm-devotional-card .pm-devotional-slogan{font-size:1.04rem}}

/* v1.4: descriptive page hero punchlines */
.pm-page-hero .pm-page-subtitle{max-width:780px;margin:14px 0 0;color:var(--pm-muted);font-size:clamp(1rem,1.6vw,1.2rem);line-height:1.7;font-weight:500}.pm-page-hero .pm-kicker + h1{margin-top:14px}.pm-page-hero{position:relative;overflow:hidden}.pm-page-hero:after{content:"";position:absolute;width:240px;height:240px;border-radius:50%;border:42px solid rgba(94,74,174,.055);right:-65px;top:-85px;pointer-events:none}@media(max-width:640px){.pm-page-hero{padding:44px 0}.pm-page-hero .pm-page-subtitle{font-size:.98rem;line-height:1.6}}


/* Quick registration strip — nearest upcoming event with an active registration link */
.pm-quick-register-wrap{position:relative;z-index:50;background:linear-gradient(90deg,#ef233c,#c91432 55%,#8d153a);box-shadow:0 6px 18px rgba(123,20,48,.18)}
.pm-quick-register{max-width:1180px;margin:0 auto;min-height:46px;padding:8px 22px;display:flex;align-items:center;justify-content:center;gap:12px;color:#fff;text-decoration:none;font-size:14px;line-height:1.3}
.pm-quick-register:hover,.pm-quick-register:focus{color:#fff;filter:brightness(1.04)}
.pm-quick-register-pulse{width:9px;height:9px;flex:0 0 9px;border-radius:50%;background:#fff;box-shadow:0 0 0 0 rgba(255,255,255,.7);animation:pm-reg-pulse 1.7s infinite}
.pm-quick-register-copy{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.pm-quick-register-copy strong{font-weight:800}
.pm-quick-register-when{padding:4px 9px;border-radius:999px;background:rgba(255,255,255,.16);font-size:12px;font-weight:700;white-space:nowrap}
.pm-quick-register-cta{margin-left:6px;padding:6px 11px;border-radius:999px;background:#fff;color:#9e1837;font-weight:800;white-space:nowrap}
@keyframes pm-reg-pulse{0%{box-shadow:0 0 0 0 rgba(255,255,255,.65)}70%{box-shadow:0 0 0 8px rgba(255,255,255,0)}100%{box-shadow:0 0 0 0 rgba(255,255,255,0)}}
@media(max-width:700px){
  .pm-quick-register-wrap{position:sticky;top:0;z-index:9999}
  .admin-bar .pm-quick-register-wrap{top:46px}
  .pm-quick-register{min-height:54px;padding:8px 12px;gap:8px;justify-content:flex-start}
  .pm-quick-register-copy{font-size:13px;flex:1;white-space:normal;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}
  .pm-quick-register-copy strong{display:block;font-size:11px;text-transform:uppercase;letter-spacing:.04em;opacity:.88}
  .pm-quick-register-when{display:none}
  .pm-quick-register-cta{font-size:12px;padding:7px 9px;margin-left:auto}
}
@media(min-width:783px){.admin-bar .pm-quick-register-wrap{top:32px}}
