/* ==========================================================================
   Pulse Moments — Events Platform (dark luxury)
   ========================================================================== */
:root { --e-gold:#c9a24b; --e-gold2:#e2c074; --e-ink:#0d1117; --e-card:#1c2333; --e-card2:#232c40; --e-line:rgba(201,162,75,.16); --e-line2:rgba(255,255,255,.07); --e-text:#f5efe0; --e-mut:#c8cdd8; --e-mut2:#8a93a6; }

.pm-evts, .pm-evt-detail { background: var(--e-ink); }
.pm-evts .pg-wrap, .pm-evt-detail .pg-wrap { max-width: 1300px; margin: 0 auto; padding: 0 24px; }

/* ---------- Listing hero + search ---------- */
.pm-evts-hero {
  padding: 70px 0 54px; text-align: center; position: relative; overflow: hidden;
  background: radial-gradient(120% 130% at 50% -10%, rgba(201,162,75,.14), transparent 55%), linear-gradient(180deg,#11161f,#0d1117);
  border-bottom: 1px solid var(--e-line);
}
.pm-evts-hero h1 { font-family:'Fraunces',Georgia,serif; font-size: 46px; font-weight: 700; color: var(--e-text); margin: 8px 0 12px; }
.pm-evts-hero h1 em { font-style: italic; color: var(--e-gold); }
.pm-evts-hero p { color: var(--e-mut2); font-size: 17px; margin: 0 auto 30px; max-width: 560px; }
.pm-evts-search {
  display: flex; gap: 8px; max-width: 880px; margin: 0 auto; background: var(--e-card);
  border: 1px solid var(--e-line); border-radius: 16px; padding: 8px; flex-wrap: wrap; align-items: stretch;
}
.pm-evts-field {
  display: flex; align-items: center; gap: 8px; background: #0f141d;
  border: 1px solid var(--e-line2); border-radius: 11px; padding: 0 14px;
}
.pm-evts-field--q { flex: 1 1 230px; min-width: 200px; }
.pm-evts-fico { color: var(--e-gold); font-size: 16px; line-height: 1; opacity: .9; }
.pm-evts-field input[type="text"] { flex: 1; background: none; border: none; padding: 13px 0; color: var(--e-text); font-size: 15px; outline: none; }
.pm-evts-field select { background: none; border: none; padding: 13px 4px 13px 0; color: var(--e-text); font-size: 14px; outline: none; cursor: pointer; min-width: 130px; }
.pm-evts-field option { background:#11161f; }
.pm-evts-field:focus-within { border-color: var(--e-gold); }
.pm-evts-search button { background: linear-gradient(135deg,var(--e-gold),var(--e-gold2)); color:#11161f; border:none; border-radius:11px; padding: 0 28px; font-weight: 800; font-size: 15px; cursor:pointer; transition: filter .2s, transform .2s; }

/* combined-bar result summary */
.pm-evts-summary { display:flex; align-items:center; justify-content:space-between; gap:14px; flex-wrap:wrap; padding: 30px 0 22px; }
.pm-evts-summary__count { color: var(--e-mut2); font-size: 15px; }
.pm-evts-summary__count b { color: var(--e-text); font-weight: 800; }
.pm-evts-summary__for { color: var(--e-gold2); }
.pm-evts-clear { color: var(--e-mut2); font-size: 13px; text-decoration:none; border:1px solid var(--e-line2); border-radius:999px; padding:7px 15px; transition:.15s; }
.pm-evts-clear:hover { color: var(--e-gold2); border-color: rgba(201,162,75,.6); }
.pm-evts-search button:hover { filter: brightness(1.05); transform: translateY(-1px); }

/* ---------- Category chips ---------- */
.pm-evts-chips { display: flex; gap: 10px; flex-wrap: wrap; justify-content: center; padding: 36px 0 28px; }
.pm-evts-chip {
  padding: 9px 18px; border-radius: 999px; font-size: 13.5px; font-weight: 600; text-decoration: none;
  background: var(--e-card); border: 1px solid var(--e-line); color: var(--e-mut); transition: all .2s;
}
.pm-evts-chip:hover { border-color: rgba(201,162,75,.6); color: var(--e-gold2); }
.pm-evts-chip.active { background: linear-gradient(135deg,var(--e-gold),var(--e-gold2)); color:#11161f !important; border-color: var(--e-gold); }

/* ---------- Event cards grid ---------- */
.pm-evts-grid { display: grid; grid-template-columns: repeat(4,1fr); gap: 24px; padding-bottom: 40px; }
.pm-evts-grid--home { grid-template-columns: repeat(4,1fr); padding-bottom: 0; }
.pm-evt-card {
  display: block; text-decoration: none; background: linear-gradient(165deg,var(--e-card),#141a28);
  border: 1px solid var(--e-line); border-radius: 18px; overflow: hidden;
  box-shadow: 0 22px 50px -30px rgba(0,0,0,.85); transition: transform .35s, border-color .35s, box-shadow .35s;
}
.pm-evt-card:hover { transform: translateY(-8px); border-color: rgba(201,162,75,.5); box-shadow: 0 36px 70px -28px rgba(201,162,75,.25); }
.pm-evt-card__img { position: relative; height: 170px; background-size: cover; background-position: center; }
.pm-evt-card__img::after { content:''; position:absolute; inset:0; background: linear-gradient(180deg, transparent 40%, rgba(13,17,23,.7)); }
.pm-evt-card__cat { position: absolute; top: 12px; left: 12px; z-index: 2; background: linear-gradient(135deg,var(--e-gold),var(--e-gold2)); color:#11161f; font-size: 10.5px; font-weight: 800; letter-spacing:.5px; text-transform: uppercase; padding: 5px 11px; border-radius: 999px; }
.pm-evt-card__price { position: absolute; bottom: 12px; right: 12px; z-index: 2; background: rgba(13,17,23,.8); color: var(--e-gold2); font-size: 12.5px; font-weight: 700; padding: 5px 12px; border-radius: 999px; border: 1px solid rgba(201,162,75,.3); }
.pm-evt-card__body { padding: 18px 18px 20px; }
.pm-evt-card__body h3 { font-family:'Fraunces',Georgia,serif; font-size: 17px; font-weight: 600; color: var(--e-text); margin: 0 0 12px; line-height: 1.3; display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden; min-height: 44px; }
.pm-evt-card:hover .pm-evt-card__body h3 { color: var(--e-gold2); }
.pm-evt-card__meta { display: flex; flex-direction: column; gap: 5px; font-size: 12.5px; color: var(--e-mut2); }

.pm-evts-empty { color: var(--e-mut2); text-align: center; padding: 60px 0; grid-column: 1/-1; }

/* ---------- Pagination ---------- */
.pm-evts-pager { display: flex; justify-content: center; gap: 8px; padding: 20px 0 70px; flex-wrap: wrap; }
.pm-evts-page { min-width: 44px; height: 44px; display: inline-flex; align-items: center; justify-content: center; border-radius: 11px; background: var(--e-card); border: 1px solid var(--e-line); color: var(--e-mut); text-decoration: none; font-weight: 700; transition: all .2s; }
.pm-evts-page:hover { border-color: rgba(201,162,75,.6); color: var(--e-gold2); }
.pm-evts-page.current { background: linear-gradient(135deg,var(--e-gold),var(--e-gold2)); color:#11161f; border-color: var(--e-gold); }

/* ==========================================================================
   SINGLE EVENT DETAIL
   ========================================================================== */
/* Single event = full-width inner page (remove Kadence boxed container) */
.single-pm_event .content-container.site-container,
.single-pm_event .entry-content-wrap,
.single-pm_event .entry-content.single-content,
.single-pm_event .entry.single-entry { max-width: 100% !important; width: 100% !important; padding: 0 !important; margin: 0 !important; }
.single-pm_event .entry.single-entry,
.single-pm_event .content-bg.entry { background: transparent !important; box-shadow: none !important; border: 0 !important; }
.single-pm_event #primary, .single-pm_event #main { padding: 0 !important; }

.pm-evt-detail { margin: 0; }
.pm-evt-hero { min-height: 460px; display: flex; align-items: flex-end; background-size: cover; background-position: center; }
.pm-evt-hero__inner { max-width: 1300px; margin: 0 auto; width: 100%; padding: 0 24px 50px; }
.pm-evt-badge { display:inline-block; background: linear-gradient(135deg,var(--e-gold),var(--e-gold2)); color:#11161f; font-size: 12px; font-weight: 800; letter-spacing:.6px; text-transform: uppercase; padding: 7px 16px; border-radius: 999px; box-shadow: 0 10px 26px -8px rgba(201,162,75,.6); }
.pm-evt-hero__inner h1 { font-family:'Fraunces',Georgia,serif; font-size: 46px; font-weight: 700; color:#f7f2e6; line-height:1.1; margin: 16px 0 16px; text-shadow: 0 2px 30px rgba(0,0,0,.6); }
.pm-evt-hero__meta { display: flex; gap: 22px; flex-wrap: wrap; color: #e4e7ee; font-size: 15px; }

.pm-evt-body { max-width: 1300px; margin: 0 auto; padding: 50px 24px 80px; display: grid; grid-template-columns: 1fr 360px; gap: 44px; align-items: start; }
.pm-evt-main h2 { font-family:'Fraunces',Georgia,serif; font-size: 26px; color: var(--e-text); margin: 0 0 16px; }
.pm-evt-main h2:not(:first-child) { margin-top: 40px; }
.pm-evt-about, .pm-evt-about p { color: var(--e-mut); font-size: 16.5px; line-height: 1.85; }
.pm-evt-lineup { display: flex; gap: 14px; flex-wrap: wrap; }
.pm-evt-artist { display:flex; align-items:center; gap:10px; background: var(--e-card); border:1px solid var(--e-line); border-radius: 14px; padding: 10px 16px 10px 10px; color: var(--e-text); font-weight:600; }
.pm-evt-artist__av { width: 38px; height: 38px; border-radius: 50%; display:flex; align-items:center; justify-content:center; background: linear-gradient(135deg,var(--e-gold),var(--e-gold2)); color:#11161f; font-weight:800; }
.pm-evt-tags { margin-top: 34px; display:flex; gap:10px; flex-wrap:wrap; }
.pm-evt-tag { background: rgba(201,162,75,.1); border:1px solid rgba(201,162,75,.35); color: var(--e-gold2); padding:6px 14px; border-radius:999px; font-size:13px; text-decoration:none; }
.pm-evt-tag:hover { background: var(--e-gold); color:#11161f; }

/* Ticket sidebar */
.pm-evt-side { position: sticky; top: 96px; }
.pm-evt-ticket { background: linear-gradient(180deg,var(--e-card),#141a28); border:1px solid rgba(201,162,75,.25); border-radius: 22px; padding: 30px 28px; box-shadow: 0 30px 70px -30px rgba(0,0,0,.85); }
.pm-evt-ticket__label { font-size: 12px; text-transform: uppercase; letter-spacing: 1px; color: var(--e-mut2); }
.pm-evt-ticket__price { font-family:'Fraunces',Georgia,serif; font-size: 38px; font-weight: 700; color: var(--e-gold); margin: 6px 0 20px; }
.pm-evt-ticket__btn { display:block; text-align:center; background: linear-gradient(135deg,var(--e-gold),var(--e-gold2)); color:#11161f !important; font-weight:800; font-size:16px; padding: 15px; border-radius: 13px; text-decoration:none; box-shadow: 0 16px 38px -14px rgba(201,162,75,.6); transition: transform .2s, filter .2s; }
.pm-evt-ticket__btn:hover { transform: translateY(-2px); filter: brightness(1.05); }
.pm-evt-ticket__info { list-style:none; padding: 22px 0 0; margin: 22px 0 0; border-top:1px solid var(--e-line2); }
.pm-evt-ticket__info li { color: var(--e-mut); font-size: 14px; padding: 7px 0; }

/* Hero action buttons */
.pm-evt-actions { display:flex; gap:12px; flex-wrap:wrap; margin-top: 22px; }
.pm-evt-act { display:inline-flex; align-items:center; gap:8px; cursor:pointer; background: rgba(255,255,255,.1); backdrop-filter: blur(6px); border:1px solid rgba(255,255,255,.22); color:#f7f2e6 !important; font-weight:600; font-size:14px; padding:11px 18px; border-radius:11px; text-decoration:none; transition:.18s; }
.pm-evt-act:hover { background: rgba(201,162,75,.25); border-color: var(--e-gold); }
.pm-evt-act .ic { font-size:15px; line-height:1; }
.pm-evt-act.on { background: var(--e-gold); color:#11161f !important; border-color: var(--e-gold); }

/* Date & Location */
.pm-evt-dl { display:flex; flex-direction:column; gap:14px; }
.pm-evt-dl__row { display:flex; gap:14px; align-items:flex-start; background: var(--e-card); border:1px solid var(--e-line); border-radius:14px; padding:16px 18px; }
.pm-evt-dl__ic { font-size:20px; line-height:1.2; }
.pm-evt-dl__row b { color: var(--e-text); display:block; font-size:15.5px; }
.pm-evt-dl__row small { color: var(--e-mut2); display:block; margin-top:3px; font-size:13px; }
.pm-evt-map { margin-top:18px; border-radius:16px; overflow:hidden; border:1px solid var(--e-line); line-height:0; }
.pm-evt-map iframe { width:100%; height:300px; border:0; filter: grayscale(.2) contrast(1.05); }

/* FAQ */
.pm-evt-faq { display:flex; flex-direction:column; gap:12px; }
.pm-evt-faq__item { background: var(--e-card); border:1px solid var(--e-line); border-radius:14px; padding:4px 18px; }
.pm-evt-faq__item summary { cursor:pointer; list-style:none; padding:16px 24px 16px 0; color: var(--e-text); font-weight:600; font-size:15.5px; position:relative; }
.pm-evt-faq__item summary::-webkit-details-marker { display:none; }
.pm-evt-faq__item summary::after { content:'+'; position:absolute; right:0; top:50%; transform:translateY(-50%); color: var(--e-gold); font-size:22px; font-weight:400; }
.pm-evt-faq__item[open] summary::after { content:'−'; }
.pm-evt-faq__item p { color: var(--e-mut); font-size:14.5px; line-height:1.75; margin:0 0 16px; }

/* Social proof in sidebar */
.pm-evt-going { display:flex; align-items:center; gap:12px; margin-top:20px; padding-top:20px; border-top:1px solid var(--e-line2); }
.pm-evt-going__avs { display:flex; }
.pm-evt-going__avs span { width:30px; height:30px; border-radius:50%; border:2px solid var(--e-card); margin-left:-9px; background: linear-gradient(135deg,var(--e-gold),var(--e-gold2)); }
.pm-evt-going__avs span:first-child { margin-left:0; }
.pm-evt-going__avs span:nth-child(2){ background: linear-gradient(135deg,#5b8def,#9b7ede); }
.pm-evt-going__avs span:nth-child(3){ background: linear-gradient(135deg,#e0709a,#d4685f); }
.pm-evt-going__avs span:nth-child(4){ background: linear-gradient(135deg,#48b59a,#5fcf8e); }
.pm-evt-going__txt { color: var(--e-mut); font-size:13.5px; line-height:1.4; }
.pm-evt-going__txt b { color: var(--e-text); }

/* Share row */
.pm-evt-share { display:flex; gap:8px; flex-wrap:wrap; margin-top:18px; }
.pm-evt-share a, .pm-evt-copy { cursor:pointer; font-size:12.5px; font-weight:600; color: var(--e-gold2); background: rgba(201,162,75,.1); border:1px solid rgba(201,162,75,.3); border-radius:999px; padding:7px 13px; text-decoration:none; }
.pm-evt-share a:hover, .pm-evt-copy:hover { background: var(--e-gold); color:#11161f; }

/* Host card */
.pm-evt-host { margin-top:20px; background: var(--e-card); border:1px solid var(--e-line); border-radius:18px; padding:22px; }
.pm-evt-host__top { display:flex; align-items:center; gap:12px; }
.pm-evt-host__logo { width:46px; height:46px; border-radius:12px; display:flex; align-items:center; justify-content:center; font-weight:800; color:#11161f; background: linear-gradient(135deg,var(--e-gold),var(--e-gold2)); }
.pm-evt-host__top b { color: var(--e-text); display:block; font-size:15px; }
.pm-evt-host__top small { color: var(--e-mut2); font-size:12.5px; }
.pm-evt-host__desc { color: var(--e-mut); font-size:13.5px; margin:14px 0; }
.pm-evt-host__btn { display:block; text-align:center; border:1px solid rgba(201,162,75,.5); color: var(--e-gold2) !important; font-weight:700; padding:11px; border-radius:11px; text-decoration:none; transition:.18s; }
.pm-evt-host__btn:hover { background: var(--e-gold); color:#11161f !important; }

.pm-evt-more__h { margin-top:46px !important; }
.pm-evt-more { margin-top: 20px; }

/* ==========================================================================
   HOMEPAGE events section
   ========================================================================== */
.pm-evts-home__cats { display:flex; gap:10px; flex-wrap:wrap; justify-content:center; margin: 0 0 40px; }
.pm-evts-home__cat { padding: 9px 16px; border-radius: 999px; font-size:13px; font-weight:600; text-decoration:none; background: rgba(255,255,255,.04); border:1px solid var(--e-line2); color: var(--e-mut); transition: all .2s; }
.pm-evts-home__cat:hover { border-color: rgba(201,162,75,.5); color: var(--e-gold2); }
.pm-evts-home__cta { text-align:center; margin-top: 40px; }

@media (max-width: 1100px){ .pm-evts-grid, .pm-evts-grid--home { grid-template-columns: repeat(3,1fr); } }
@media (max-width: 900px){ .pm-evt-body { grid-template-columns: 1fr; } .pm-evt-side { position: static; } }
@media (max-width: 760px){ .pm-evts-grid, .pm-evts-grid--home { grid-template-columns: repeat(2,1fr); } .pm-evt-hero__inner h1 { font-size: 30px; } .pm-evts-hero h1 { font-size: 32px; } }
@media (max-width: 460px){ .pm-evts-grid, .pm-evts-grid--home { grid-template-columns: 1fr; } }

/* ---------- Single event page: hide Kadence title-hero + full width ---------- */
.single-pm_event .entry-hero, .single-pm_event .entry-header.page-title, .single-pm_event header.entry-header { display: none !important; }
.single-pm_event .content-container.site-container { max-width: 100% !important; padding: 0 !important; }
.single-pm_event .entry-content-wrap { padding: 0 !important; }
.single-pm_event .entry.single-entry { background: transparent !important; box-shadow: none !important; padding: 0 !important; border: none !important; }
.single-pm_event .content-area { margin: 0 !important; }
.single-pm_event .entry-content { max-width: 100% !important; margin: 0 !important; }
/* the event tag-link buttons must stay readable (override master cta rule) */
.single-pm_event .pm-evt-ticket__btn, .single-pm_event .pm-evt-ticket__btn:hover { color:#11161f !important; }
