/* PMI Events Page — events-page.css | min font-size 14px */
*, *::before, *::after { box-sizing: border-box; }
.elementor-widget-pmievp_hero .elementor-widget-container,
.elementor-widget-pmievp_list .elementor-widget-container { padding: 0 !important; margin: 0 !important; }

/* HERO — white bg, centered */
.pmievp-hero { background: #fff; padding: 60px 24px 56px; text-align: center; border-bottom: 1px solid #f0f2f5; }
.pmievp-hero__inner { max-width: 720px; margin: 0 auto; }
.pmievp-hero__heading { font-family:'DM Sans',sans-serif; font-size:36px; font-weight:800; color:#111827; margin:0 0 14px; letter-spacing:-0.02em; }
.pmievp-hero__sub     { font-family:'DM Sans',sans-serif; font-size:16px; color:#6b7280; line-height:1.65; margin:0; }

/* SECTION */
.pmievp-section { background:#f8fafc; padding:52px 0 72px; }
.pmievp-inner   { max-width:1100px; margin:0 auto; padding:0 24px; }

/* FILTER TABS */
.pmievp-filters { display:flex; align-items:center; gap:8px; margin-bottom:36px; flex-wrap:wrap; }
.pmievp-filters__icon { color:#6b7280; }
.pmievp-filters__icon svg { width:18px; height:18px; display:block; }
.pmievp-filter-btn {
    padding:8px 20px; border-radius:100px;
    font-family:'DM Sans',sans-serif; font-size:14px; font-weight:600;
    background:#fff; border:1.5px solid #e5e7eb; color:#374151;
    cursor:pointer; transition:all 0.18s ease;
}
.pmievp-filter-btn:hover      { border-color:#0f2d58; color:#0f2d58; }
.pmievp-filter-btn.is-active  { background:#0f2d58; border-color:#0f2d58; color:#fff; }
.pmievp-filter-btn:focus-visible { outline:2px solid #f97316; outline-offset:2px; }

/* EVENT LIST */
.pmievp-list { display:flex; flex-direction:column; gap:20px; }
.pmievp-card[hidden] { display:none; }

/* HORIZONTAL CARD: image left | content centre | button right */
.pmievp-card {
    display:grid; grid-template-columns:280px 1fr auto;
    align-items:center; gap:0;
    background:#fff; border:1px solid #e5e7eb; border-radius:10px;
    overflow:hidden;
    transition:box-shadow 0.22s ease, transform 0.22s ease;
}
.pmievp-card:hover { box-shadow:0 8px 32px rgba(15,45,88,0.10); transform:translateY(-2px); }

/* Image column */
.pmievp-card__img-wrap { position:relative; height:160px; overflow:hidden; flex-shrink:0; }
.pmievp-card__img      { width:100%; height:100%; object-fit:cover; display:block; transition:transform 0.4s ease; }
.pmievp-card:hover .pmievp-card__img { transform:scale(1.04); }
.pmievp-card__img-placeholder { width:100%; height:100%; background:linear-gradient(135deg,#0f2d58,#1a8fe8); }
.pmievp-card__badge {
    position:absolute; top:12px; left:12px;
    background:#f97316; color:#fff;
    font-family:'DM Sans',sans-serif; font-size:11px; font-weight:700;
    letter-spacing:0.06em; text-transform:uppercase;
    padding:3px 10px; border-radius:4px;
}

/* Body column */
.pmievp-card__body { padding:24px 28px; }
.pmievp-card__title {
    font-family:'DM Sans',sans-serif; font-size:18px; font-weight:700;
    color:#111827; line-height:1.35; margin:0 0 14px; letter-spacing:-0.01em;
}
.pmievp-card__meta { display:flex; flex-direction:column; gap:8px; }
.pmievp-card__meta-row { display:flex; align-items:center; gap:20px; flex-wrap:wrap; }
.pmievp-card__meta-item {
    display:flex; align-items:center; gap:6px;
    font-family:'DM Sans',sans-serif; font-size:14px; color:#6b7280; line-height:1;
}
.pmievp-card__meta-item svg { width:14px; height:14px; flex-shrink:0; color:#9ca3af; }
.pmievp-card__cost { font-family:'DM Sans',sans-serif; font-size:14px; font-weight:600; color:#0f2d58; }

/* Action column */
.pmievp-card__action { padding:24px 24px 24px 0; }
.pmievp-card__btn {
    display:inline-flex; align-items:center; justify-content:center;
    padding:10px 22px; background:#0f2d58; border:none; border-radius:6px;
    font-family:'DM Sans',sans-serif; font-size:14px; font-weight:700; color:#fff;
    cursor:pointer; white-space:nowrap; text-decoration:none;
    transition:background 0.18s ease, transform 0.15s ease;
}
.pmievp-card__btn:hover { background:#1a4a8a; transform:translateY(-1px); }
.pmievp-card__btn:focus-visible { outline:2px solid #f97316; outline-offset:2px; }

/* No results */
.pmievp-no-results { text-align:center; padding:56px 24px; color:#9ca3af; font-family:'DM Sans',sans-serif; font-size:16px; }
.pmievp-no-results[hidden] { display:none; }

/* MODAL */
.pmievp-modal { position:fixed; inset:0; z-index:99999; display:flex; align-items:center; justify-content:center; padding:20px; }
.pmievp-modal[hidden] { display:none !important; }
.pmievp-modal__backdrop { position:absolute; inset:0; background:rgba(10,20,50,0.72); cursor:pointer; }
.pmievp-modal__box {
    position:relative; background:#fff; border-radius:12px;
    width:100%; max-width:520px; max-height:92vh; overflow-y:auto;
    padding:36px 32px 32px; box-shadow:0 24px 80px rgba(0,0,0,0.28);
    animation:pmievp-in 0.22s ease;
}
@keyframes pmievp-in { from{opacity:0;transform:translateY(14px) scale(0.98)} to{opacity:1;transform:none} }
.pmievp-modal__close {
    position:absolute; top:14px; right:14px; width:32px; height:32px;
    border-radius:50%; background:#f3f4f6; border:none; cursor:pointer;
    display:flex; align-items:center; justify-content:center; transition:background 0.15s;
}
.pmievp-modal__close:hover { background:#e5e7eb; }
.pmievp-modal__close svg { width:14px; height:14px; color:#374151; }
.pmievp-modal__heading { font-family:'DM Sans',sans-serif; font-size:22px; font-weight:800; color:#111827; margin:0 0 8px; }
.pmievp-modal__sub     { font-family:'DM Sans',sans-serif; font-size:14px; color:#6b7280; margin:0 0 24px; line-height:1.55; }
.pmievp-modal__form    { display:flex; flex-direction:column; gap:16px; }
.pmievp-modal__row     { display:grid; grid-template-columns:1fr 1fr; gap:16px; }
.pmievp-modal__field   { display:flex; flex-direction:column; gap:6px; }
.pmievp-modal__field label { font-family:'DM Sans',sans-serif; font-size:14px; font-weight:600; color:#374151; }
.pmievp-modal__field label span { color:#f97316; }
.pmievp-modal__field input {
    width:100%; padding:11px 14px; border:1.5px solid #e5e7eb; border-radius:6px;
    font-family:'DM Sans',sans-serif; font-size:14px; color:#111827; outline:none; transition:border-color 0.18s;
}
.pmievp-modal__field input:focus { border-color:#f97316; }
.pmievp-readonly { background:#f9fafb !important; color:#6b7280 !important; cursor:default !important; }
.pmievp-modal__msg { padding:12px 16px; border-radius:6px; font-family:'DM Sans',sans-serif; font-size:14px; font-weight:500; }
.pmievp-modal__msg--success { background:#ecfdf5; color:#065f46; border:1px solid #a7f3d0; }
.pmievp-modal__msg--error   { background:#fef2f2; color:#991b1b; border:1px solid #fecaca; }
.pmievp-modal__msg[hidden]  { display:none; }
.pmievp-modal__submit {
    width:100%; padding:14px; background:#f97316; border:none; border-radius:6px; cursor:pointer;
    font-family:'DM Sans',sans-serif; font-size:16px; font-weight:700; color:#fff;
    transition:background 0.18s, transform 0.15s;
}
.pmievp-modal__submit:hover    { background:#ea6c0a; transform:translateY(-1px); }
.pmievp-modal__submit:disabled { opacity:0.6; cursor:not-allowed; transform:none; }

/* RESPONSIVE */
@media (max-width:900px) {
    .pmievp-card { grid-template-columns:200px 1fr; }
    .pmievp-card__action { grid-column:1/-1; padding:0 24px 24px; }
    .pmievp-card__btn { width:100%; justify-content:center; }
}
@media (max-width:640px) {
    .pmievp-card { grid-template-columns:1fr; }
    .pmievp-card__img-wrap { height:180px; }
    .pmievp-card__body { padding:20px; }
    .pmievp-card__action { padding:0 20px 20px; }
    .pmievp-modal__row { grid-template-columns:1fr; }
    .pmievp-hero__heading { font-size:28px; }
}
@media (prefers-reduced-motion:reduce) { *, *::before, *::after { transition:none !important; animation:none !important; } }
