/* Events Calendar CSS */
.subnav--events{background:#fff;border-bottom:2px solid #e5e7eb;position:sticky;top:0;z-index:100;}
.subnav__inner{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.6rem 0;overflow-x:auto;}
.subnav__links{display:flex;gap:.25rem;flex-wrap:nowrap;}
.subnav__link{padding:.35rem .75rem;border-radius:20px;font-size:.85rem;color:#4b5563;white-space:nowrap;text-decoration:none;transition:background .15s,color .15s;}
.subnav__link:hover{background:#f3f4f6;color:#111827;}
.subnav__link--active{background:var(--color-navy,#1e3a5f);color:#fff!important;}
.events-page{padding-bottom:3rem;}
.events-featured{background:#f8fafc;padding:2rem 0;}
.events-featured__grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:1.25rem;margin-top:1rem;}
.event-feat-card{background:#fff;border-radius:12px;overflow:hidden;box-shadow:0 2px 8px rgba(0,0,0,.08);text-decoration:none;color:inherit;transition:transform .2s,box-shadow .2s;display:flex;flex-direction:column;}
.event-feat-card:hover{transform:translateY(-3px);box-shadow:0 6px 20px rgba(0,0,0,.12);}
.event-feat-card__img{height:160px;overflow:hidden;background:#e5e7eb;}
.event-feat-card__img img{width:100%;height:100%;object-fit:cover;}
.event-feat-card__img--placeholder{display:flex;align-items:center;justify-content:center;font-size:3rem;}
.event-feat-card__body{padding:1rem;flex:1;}
.event-feat-card__body h3{font-size:1rem;margin:.4rem 0 .5rem;line-height:1.4;}
.event-feat-card__meta,.event-feat-card__loc{font-size:.82rem;color:#6b7280;margin:.2rem 0;}
.events-filter{padding:1.25rem 0;background:#fff;border-bottom:1px solid #e5e7eb;}
.filter-form__row{display:flex;gap:.6rem;flex-wrap:wrap;align-items:center;}
.filter-input,.filter-select{padding:.5rem .75rem;border:1px solid #d1d5db;border-radius:8px;font-size:.9rem;}
.filter-input--search{flex:1 1 200px;}
.filter-select{min-width:130px;}
.events-list{padding:1.5rem 0;}
.events-list__header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.25rem;}
.events-count{color:#6b7280;font-size:.9rem;}
.events-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:1.25rem;}
.event-card{background:#fff;border-radius:10px;overflow:hidden;box-shadow:0 1px 4px rgba(0,0,0,.07);border:1px solid #e5e7eb;text-decoration:none;color:inherit;display:flex;flex-direction:column;transition:transform .2s,box-shadow .2s;}
.event-card:hover{transform:translateY(-2px);box-shadow:0 4px 16px rgba(0,0,0,.1);}
.event-card__img{height:140px;overflow:hidden;background:#f3f4f6;}
.event-card__img img{width:100%;height:100%;object-fit:cover;}
.event-card__img--placeholder{display:flex;align-items:center;justify-content:center;font-size:2.5rem;}
.event-card__body{padding:.85rem 1rem;flex:1;display:flex;flex-direction:column;gap:.3rem;}
.event-card__tags{display:flex;gap:.4rem;flex-wrap:wrap;}
.event-card__title{font-size:.95rem;font-weight:600;margin:.1rem 0;line-height:1.4;}
.event-card__date,.event-card__time,.event-card__loc,.event-card__venue{font-size:.8rem;color:#6b7280;}
.event-card__footer{margin-top:auto;display:flex;justify-content:space-between;align-items:center;padding-top:.5rem;}
.event-views{font-size:.78rem;color:#9ca3af;}
.event-tag{display:inline-block;padding:.15rem .55rem;border-radius:12px;font-size:.72rem;font-weight:600;background:#e5e7eb;color:#374151;}
.event-tag--xs{font-size:.68rem;padding:.1rem .4rem;}
.event-tag--free{background:#d1fae5;color:#065f46;}
.event-tag--featured{background:#fef3c7;color:#92400e;}
.event-tag--seminar{background:#dbeafe;color:#1e40af;}
.event-tag--festival{background:#fce7f3;color:#9d174d;}
.event-tag--concert{background:#ede9fe;color:#5b21b6;}
.event-tag--sports{background:#d1fae5;color:#065f46;}
.event-tag--cultural{background:#fef3c7;color:#92400e;}
.event-tag--business{background:#e0f2fe;color:#075985;}
.event-tag--religion{background:#f3e8ff;color:#6b21a8;}
.event-tag--community{background:#fef9c3;color:#713f12;}
.event-tag--other{background:#f3f4f6;color:#374151;}
.event-price{font-size:.82rem;font-weight:600;color:#374151;}
.event-price--free{color:#059669;}
.events-empty{text-align:center;padding:4rem 1rem;color:#6b7280;}
.events-empty p{font-size:1.1rem;margin-bottom:1rem;}
.event-show{padding:1.5rem 1rem 4rem;}
.event-show__layout{display:grid;grid-template-columns:1fr 300px;gap:2rem;margin-top:1.5rem;}
@media(max-width:768px){.event-show__layout{grid-template-columns:1fr;}}
.event-show__hero{border-radius:12px;overflow:hidden;margin-bottom:1.5rem;max-height:400px;}
.event-show__hero img{width:100%;height:100%;object-fit:cover;}
.event-show__body{background:#fff;border-radius:12px;padding:1.5rem;box-shadow:0 2px 8px rgba(0,0,0,.06);}
.event-show__tags{display:flex;gap:.5rem;flex-wrap:wrap;margin-bottom:.75rem;}
.event-show__title{font-size:1.6rem;font-weight:700;margin-bottom:1.25rem;line-height:1.3;}
.event-show__meta-grid{display:grid;grid-template-columns:1fr 1fr;gap:1rem;background:#f8fafc;border-radius:8px;padding:1rem;margin-bottom:1.5rem;}
@media(max-width:600px){.event-show__meta-grid{grid-template-columns:1fr;}}
.event-meta-item{display:flex;gap:.6rem;align-items:flex-start;}
.event-meta-item__icon{font-size:1.2rem;flex-shrink:0;margin-top:.1rem;}
.event-meta-item strong{display:block;font-size:.75rem;color:#6b7280;}
.event-meta-item small{display:block;font-size:.78rem;color:#9ca3af;}
.text-success{color:#059669;font-weight:600;}
.event-show__description{line-height:1.7;color:#374151;margin-bottom:1.5rem;white-space:pre-line;}
.event-organizer{background:#f9fafb;border-radius:8px;padding:1rem 1.25rem;margin-bottom:1.5rem;}
.event-organizer h3{font-size:.95rem;color:#374151;margin-bottom:.5rem;}
.event-organizer p{font-size:.88rem;margin:.25rem 0;}
.event-organizer a{color:var(--color-navy,#1e3a5f);}
.event-show__actions{display:flex;gap:.75rem;flex-wrap:wrap;}
.btn--saved{background:#d1fae5!important;color:#065f46!important;border-color:#6ee7b7!important;}
.event-show__sidebar{display:flex;flex-direction:column;gap:1.25rem;}
.event-sidebar-block{background:#fff;border-radius:10px;padding:1rem 1.25rem;box-shadow:0 1px 4px rgba(0,0,0,.06);}
.event-sidebar-block h4{font-size:.95rem;margin-bottom:.75rem;color:#374151;}
.event-sidebar-item{display:flex;flex-direction:column;gap:.2rem;padding:.65rem 0;border-bottom:1px solid #f3f4f6;text-decoration:none;color:inherit;}
.event-sidebar-item:last-child{border-bottom:none;}
.event-sidebar-item strong{font-size:.85rem;line-height:1.3;}
.event-sidebar-item small{font-size:.76rem;color:#9ca3af;}
.event-sidebar-item:hover strong{color:var(--color-navy,#1e3a5f);}
.btn--block{display:block;text-align:center;}
.event-submit{max-width:780px;margin:2rem auto;padding-bottom:3rem;}
.event-form{margin-top:1.5rem;}
.form-section{background:#fff;border-radius:10px;padding:1.5rem;box-shadow:0 1px 4px rgba(0,0,0,.06);margin-bottom:1.5rem;}
.form-section h3{font-size:1rem;color:#374151;margin-bottom:1rem;padding-bottom:.5rem;border-bottom:1px solid #e5e7eb;}
.form-group{margin-bottom:1rem;}
.form-group label{display:block;font-size:.875rem;font-weight:500;color:#374151;margin-bottom:.3rem;}
.form-control{width:100%;padding:.55rem .75rem;border:1px solid #d1d5db;border-radius:6px;font-size:.9rem;color:#111827;transition:border-color .15s;}
.form-control:focus{outline:none;border-color:var(--color-navy,#1e3a5f);box-shadow:0 0 0 3px rgba(30,58,95,.1);}
.form-row{display:grid;grid-template-columns:1fr 1fr;gap:1rem;}
@media(max-width:600px){.form-row{grid-template-columns:1fr;}}
.form-check label{display:flex;align-items:center;gap:.5rem;cursor:pointer;}
.form-submit{display:flex;gap:1rem;align-items:center;padding-top:.5rem;}
.my-events-list{display:flex;flex-direction:column;gap:.75rem;margin-top:1rem;}
.my-event-row{background:#fff;border-radius:8px;padding:1rem 1.25rem;display:flex;align-items:center;gap:1rem;flex-wrap:wrap;box-shadow:0 1px 3px rgba(0,0,0,.06);}
.my-event-row__info{flex:1 1 200px;display:flex;flex-direction:column;gap:.25rem;}
.my-event-row__info strong{font-size:.9rem;}
.my-event-row__info small{font-size:.78rem;color:#6b7280;}
.my-event-row__status{min-width:70px;}
.my-event-row__actions{display:flex;gap:.4rem;flex-wrap:wrap;}
.status-badge{display:inline-block;padding:.2rem .6rem;border-radius:12px;font-size:.75rem;font-weight:600;}
.status--pending{background:#fef3c7;color:#92400e;}
.status--approved{background:#d1fae5;color:#065f46;}
.status--rejected{background:#fee2e2;color:#991b1b;}
.breadcrumb{font-size:.83rem;color:#6b7280;margin-bottom:1rem;}
.breadcrumb a{color:var(--color-navy,#1e3a5f);text-decoration:none;}
.breadcrumb span{margin:0 .4rem;}
.alert{padding:1rem 1.25rem;border-radius:8px;margin-bottom:1rem;}
.alert--error{background:#fee2e2;color:#991b1b;}
.alert--success{background:#d1fae5;color:#065f46;}
.alert ul{margin:0;padding-left:1.2rem;}
.pagination-wrap{margin-top:2rem;display:flex;justify-content:center;}
.page-title{font-size:1.6rem;font-weight:700;margin-bottom:.4rem;}
.page-sub{color:#6b7280;margin-bottom:1.5rem;}

/* ── Missing button variants for event submit form ── */
.btn--lg { padding: 12px 28px; font-size: 1rem; }
.btn--ghost { background: transparent; color: #374151; border: 1.5px solid #d1d5db; }
.btn--ghost:hover { background: #f3f4f6; border-color: #9ca3af; color: #111827; }