.xpev-events-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}
.xpev-event-card{min-width:0;overflow:hidden;border:1px solid rgba(127,127,127,.22);border-radius:14px;background:var(--e-global-color-7f6e4a7, #fff)}
.xpev-image-link{display:block;aspect-ratio:16/9;overflow:hidden;background:#f1f1f1}
.xpev-event-image{display:block;width:100%;height:100%;object-fit:cover}
.xpev-event-card-body{padding:16px}
.xpev-event-date{margin:0 0 8px;font-size:.88rem;font-weight:600;opacity:.78}
.xpev-event-card h3{margin:0 0 8px;font-size:1.15rem;line-height:1.35}
.xpev-event-card h3 a,.xpev-event-link{text-decoration:none}
.xpev-event-venue,.xpev-event-mode{margin:0 0 8px;font-size:.92rem;opacity:.8}
.xpev-event-description{font-size:.95rem;line-height:1.55}
.xpev-event-link{display:inline-block;margin-top:10px;font-weight:600}
.xpev-empty{padding:18px 0}
@media(max-width:900px){.xpev-events-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}}
@media(max-width:560px){.xpev-events-grid{grid-template-columns:1fr}.xpev-event-card-body{padding:14px}}


/* Dynamic single-event detail shortcode */
.xpev-event-detail{--xpev-ink:#18212b;--xpev-muted:#68717d;--xpev-accent:#d85d36;max-width:1200px;margin:0 auto;color:var(--xpev-ink)}
.xpev-detail-hero{width:100%;max-height:560px;aspect-ratio:16/7;overflow:hidden;border-radius:18px;background:#f1f1f1;margin-bottom:28px}
.xpev-detail-hero-image{display:block;width:100%;height:100%;object-fit:cover}
.xpev-detail-layout{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:36px;align-items:start}
.xpev-detail-main{min-width:0}
.xpev-detail-categories{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 14px}
.xpev-detail-category{display:inline-flex;padding:5px 10px;border-radius:999px;background:#fff0e9;color:#9f3e20;font-size:12px;font-weight:700}
.xpev-detail-title{font-size:clamp(30px,4vw,46px);line-height:1.12;letter-spacing:-.025em;margin:0 0 14px;color:var(--xpev-ink)}
.xpev-detail-excerpt{font-size:17px;line-height:1.65;color:var(--xpev-muted);margin:0 0 24px}
.xpev-detail-facts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:0 0 34px}
.xpev-detail-fact{display:flex;flex-direction:column;gap:6px;min-width:0;padding:17px;border:1px solid rgba(104,113,125,.2);border-radius:12px;background:#fff}
.xpev-detail-fact-label{font-size:11px;letter-spacing:.08em;font-weight:800;color:var(--xpev-muted)}
.xpev-detail-fact strong{font-size:15px;line-height:1.4;overflow-wrap:anywhere}
.xpev-detail-fact span:not(.xpev-detail-fact-label){font-size:14px;line-height:1.5;color:var(--xpev-muted);overflow-wrap:anywhere}
.xpev-detail-directions{font-size:13px;font-weight:700;color:var(--xpev-accent);text-decoration:none;margin-top:4px}
.xpev-detail-content h2,.xpev-detail-panel h2{font-size:22px;line-height:1.25;margin:0 0 16px;color:var(--xpev-ink)}
.xpev-detail-rich-content{font-size:16px;line-height:1.8;overflow-wrap:anywhere}
.xpev-detail-rich-content>:first-child{margin-top:0}
.xpev-detail-rich-content img{max-width:100%;height:auto;border-radius:10px}
.xpev-detail-sidebar{display:flex;flex-direction:column;gap:16px;position:sticky;top:24px}
.xpev-detail-panel{padding:22px;border:1px solid rgba(104,113,125,.2);border-radius:14px;background:#fff;box-shadow:0 8px 28px rgba(24,33,43,.04)}
.xpev-detail-panel h2{font-size:19px}
.xpev-detail-panel p{font-size:14px;line-height:1.6;margin:0 0 12px;overflow-wrap:anywhere}
.xpev-detail-panel p:last-child{margin-bottom:0}
.xpev-detail-panel a{color:var(--xpev-accent);text-decoration:none}
.xpev-ticketing-note{padding:12px;border-radius:9px;background:#f7f7f4;color:var(--xpev-muted)}
@media(max-width:800px){.xpev-detail-layout{grid-template-columns:minmax(0,1fr);gap:22px}.xpev-detail-sidebar{position:static}.xpev-detail-hero{aspect-ratio:16/9;margin-bottom:20px}.xpev-detail-facts{gap:10px}.xpev-detail-fact{padding:14px}}
@media(max-width:480px){.xpev-detail-title{font-size:30px}.xpev-detail-excerpt{font-size:15px}.xpev-detail-facts{grid-template-columns:minmax(0,1fr)}.xpev-detail-panel{padding:18px}}


/* Event detail refinement, date clarity and non-transactional ticket preview */
.xpev-event-detail{max-width:1180px;padding:0 18px 42px;font-family:inherit}
.xpev-detail-hero{aspect-ratio:16/7;max-height:520px;margin-bottom:26px;border-radius:18px;box-shadow:0 10px 30px rgba(24,33,43,.08)}
.xpev-detail-layout{grid-template-columns:minmax(0,1fr) 360px;gap:28px}
@media(min-width:801px) and (max-width:1050px){.xpev-detail-layout{grid-template-columns:minmax(0,1fr) 330px;gap:22px}.xpev-detail-panel,.xpev-detail-ticket-panel{padding:17px}}
.xpev-detail-title{font-size:clamp(30px,3.2vw,42px);line-height:1.12;margin-bottom:12px}
.xpev-detail-excerpt{font-size:15px;line-height:1.7;margin-bottom:20px}
.xpev-detail-facts{gap:10px;margin-bottom:30px}
.xpev-detail-fact{padding:16px 17px;gap:7px;box-shadow:0 2px 8px rgba(24,33,43,.025)}
.xpev-detail-fact-label{font-size:10px;letter-spacing:.09em}
.xpev-detail-fact strong{font-size:14px}
.xpev-detail-end-date,.xpev-detail-timezone{display:block!important;color:var(--xpev-muted);font-size:12px!important;line-height:1.45;margin-top:2px}
.xpev-detail-content h2{font-size:24px;margin-bottom:12px}
.xpev-detail-rich-content{font-size:15px;line-height:1.8}
.xpev-detail-sidebar{gap:14px}
.xpev-detail-panel{padding:20px;border-radius:14px;box-shadow:0 8px 24px rgba(24,33,43,.045)}
.xpev-detail-panel h2{font-size:18px;margin-bottom:14px}
.xpev-detail-ticket-panel{margin-top:16px;padding:20px;border:1px solid rgba(104,113,125,.2);border-radius:14px;background:#fff;box-shadow:0 8px 24px rgba(24,33,43,.035)}
.xpev-detail-section-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:14px}
.xpev-detail-section-heading h2{font-size:20px;margin:4px 0 0}
.xpev-ticket-status{display:inline-flex;padding:5px 8px;border-radius:999px;background:#fff0e9;color:#9f3e20;font-size:10px;font-weight:800;white-space:nowrap}
.xpev-ticket-row{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:14px 0;border-top:1px solid rgba(104,113,125,.17)}
.xpev-ticket-copy{display:flex;flex-direction:column;gap:4px;min-width:0}
.xpev-ticket-copy strong{font-size:14px}
.xpev-ticket-copy span{font-size:12px;color:var(--xpev-muted)}
.xpev-ticket-price{font-size:16px;white-space:nowrap}
.xpev-ticket-empty{font-size:13px;color:var(--xpev-muted);line-height:1.6}
.xpev-ticket-cta{display:block;width:100%;margin-top:12px;padding:13px 16px;border:0;border-radius:9px;background:#d85d36;color:#fff;font-size:14px;font-weight:800;opacity:.58;cursor:not-allowed}
.xpev-ticket-disclaimer{margin:10px 0 0!important;font-size:11px!important;color:var(--xpev-muted);line-height:1.5!important}
@media(max-width:800px){
 .xpev-event-detail{padding:0 14px 30px}
 .xpev-detail-layout{grid-template-columns:minmax(0,1fr);gap:20px}
 .xpev-detail-hero{aspect-ratio:16/9;max-height:340px;border-radius:14px;margin-bottom:20px}
 .xpev-detail-sidebar{position:static;display:grid;grid-template-columns:minmax(0,1fr)}
 .xpev-detail-panel,.xpev-detail-ticket-panel{padding:17px}
 .xpev-detail-facts{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:480px){
 .xpev-event-detail{padding:0 10px 24px}
 .xpev-detail-title{font-size:29px}
 .xpev-detail-facts{grid-template-columns:minmax(0,1fr);gap:8px}
 .xpev-detail-fact{padding:13px 14px}
 .xpev-detail-section-heading h2{font-size:18px}
 .xpev-detail-ticket-panel{margin-top:12px}
 .xpev-ticket-row{gap:10px}
}


/* Linked venue details and source-listing photo gallery */
.xpev-detail-venue-link{display:inline-flex;align-items:center;gap:5px;margin-top:6px;color:var(--xpev-accent);font-size:13px;font-weight:800;text-decoration:none}
.xpev-detail-venue-link:hover{text-decoration:underline}
.xpev-venue-gallery{margin-top:30px;padding-top:24px;border-top:1px solid rgba(104,113,125,.18)}
.xpev-venue-gallery h2{font-size:24px;line-height:1.25;margin:0 0 5px;color:var(--xpev-ink)}
.xpev-venue-gallery>p{font-size:13px;color:var(--xpev-muted);margin:0 0 16px}
.xpev-venue-gallery-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
.xpev-venue-gallery-item{display:block;aspect-ratio:4/3;overflow:hidden;border-radius:10px;background:#f1f1f1}
.xpev-venue-gallery-item img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .2s ease}
.xpev-venue-gallery-item:hover img{transform:scale(1.04)}
@media(max-width:560px){.xpev-venue-gallery{margin-top:22px;padding-top:20px}.xpev-venue-gallery h2{font-size:21px}.xpev-venue-gallery-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.xpev-venue-gallery-item{border-radius:8px}}


/* Attendee information and event policies */
.xpev-detail-info-section{margin-top:28px;padding:22px 24px;border:1px solid rgba(104,113,125,.18);border-radius:14px;background:#fff}
.xpev-detail-info-section h2{font-size:22px;line-height:1.25;margin:0 0 14px;color:var(--xpev-ink)}
.xpev-detail-info-section ul{list-style:disc;margin:0;padding-left:20px}
.xpev-detail-info-section li{padding-left:2px;margin:0 0 10px;font-size:14px;line-height:1.65;color:#535d69}
.xpev-detail-info-section li:last-child{margin-bottom:0}
.xpev-detail-terms{background:#fbfbfa}
@media(max-width:560px){.xpev-detail-info-section{margin-top:20px;padding:17px 16px;border-radius:12px}.xpev-detail-info-section h2{font-size:20px}.xpev-detail-info-section li{font-size:13px;margin-bottom:9px}}

.xpev-ticket-window,.xpev-ticket-limits{font-size:11px!important;line-height:1.45;color:var(--xpev-muted)}
.xpev-ticket-window{margin-top:2px}


/* Structured event editor controls */
.xpev-ticket-editor{margin:18px 0 24px;padding:16px;border:1px solid #c3c4c7;background:#fff;border-radius:8px}
.xpev-ticket-editor-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;margin-bottom:14px}
.xpev-ticket-editor-heading p{margin:5px 0 0}
.xpev-ticket-admin-row{padding:14px;margin-bottom:12px;border:1px solid #dcdcde;border-radius:6px;background:#f9f9f9}
.xpev-ticket-admin-row-heading{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}
.xpev-ticket-admin-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.xpev-ticket-admin-grid label{display:flex;flex-direction:column;gap:5px;font-size:12px;font-weight:600}
.xpev-ticket-admin-grid input{width:100%;max-width:100%;min-height:34px}
.xpev-admin-choice-field{margin:12px 0;padding:12px;border:1px solid #c3c4c7}
.xpev-admin-choice-field legend{padding:0 5px}
.xpev-admin-choice-field label{display:inline-flex;align-items:center;gap:5px;margin:8px 18px 2px 0;font-weight:400}
@media(max-width:782px){.xpev-ticket-editor-heading{flex-direction:column}.xpev-ticket-admin-grid{grid-template-columns:minmax(0,1fr)}}

/* Attendee-facing free registration form */
.xpev-free-registration{display:grid;grid-template-columns:minmax(0,1fr) 88px;gap:8px 10px;margin-top:12px;align-items:end}
.xpev-free-registration label{grid-column:1/-1;font-size:12px;font-weight:600;color:var(--xpev-text)}
.xpev-free-registration select,.xpev-free-registration input{width:100%;min-width:0;min-height:40px;padding:8px 10px;border:1px solid var(--xpev-border);border-radius:8px;background:#fff;color:var(--xpev-text);font:inherit}
.xpev-free-registration .xpev-ticket-cta{grid-column:1/-1;display:block;width:100%;border:0;cursor:pointer;text-align:center;text-decoration:none}
.xpev-free-registration .xpev-ticket-cta:disabled{opacity:.65;cursor:wait}
.xpev-registration-message{grid-column:1/-1;margin:0;font-size:12px;line-height:1.5;color:var(--xpev-text)}

/* Ensure theme button rules cannot hide attendee registration labels. */
.xpev-free-registration .xpev-ticket-cta,
.xpev-detail-ticket-panel .xpev-ticket-cta:not(:disabled) {
  appearance:none!important;-webkit-appearance:none!important;
  display:block!important;width:100%!important;min-height:44px!important;
  padding:12px 14px!important;margin:12px 0 0!important;
  background:#d85d36!important;background-image:none!important;
  color:#fff!important;-webkit-text-fill-color:#fff!important;
  font-size:14px!important;font-weight:700!important;line-height:1.35!important;
  text-indent:0!important;text-transform:none!important;letter-spacing:normal!important;
  text-align:center!important;white-space:normal!important;
  border:0!important;border-radius:9px!important;box-shadow:none!important;
  opacity:1!important;cursor:pointer!important;visibility:visible!important;
}
.xpev-free-registration .xpev-ticket-cta:disabled{opacity:.7!important;cursor:wait!important}
.xpev-ticket-status-open{background:#e7f7ed!important;color:#17683b!important}
.xpev-free-registration{grid-template-columns:minmax(0,1fr)!important}
.xpev-free-registration label,.xpev-free-registration select,.xpev-free-registration input,.xpev-free-registration .xpev-ticket-cta,.xpev-registration-message{grid-column:1/-1}
.xpev-free-registration select:disabled,.xpev-free-registration input:disabled{opacity:.7}

/* Attendee account: My Event Registrations */
.xpev-my-registrations{max-width:1100px;margin:24px auto;color:var(--xpev-text,#182337)}
.xpev-my-registrations-header{margin-bottom:18px}
.xpev-my-registrations-header h2{margin:0 0 6px;font-size:clamp(22px,3vw,30px);line-height:1.2}
.xpev-my-registrations-header p,.xpev-registration-empty p{margin:0;color:var(--xpev-muted,#68758a)}
.xpev-my-registrations-list{display:grid;gap:14px}
.xpev-my-registration-card{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;padding:20px;border:1px solid var(--xpev-border,#e1e5eb);border-radius:14px;background:var(--xpev-card,#fff);box-shadow:0 4px 18px rgba(18,35,58,.04)}
.xpev-my-registration-main{min-width:0;flex:1}
.xpev-my-registration-main h3{margin:8px 0;font-size:19px;line-height:1.35}
.xpev-my-registration-main h3 a{color:inherit;text-decoration:none}
.xpev-my-registration-main h3 a:hover{color:var(--xpev-accent,#d85d36)}
.xpev-registration-state{display:inline-block;padding:4px 9px;border-radius:999px;background:#e7f7ed;color:#17683b;font-size:12px;font-weight:700}
.xpev-my-registration-meta{margin:5px 0;color:var(--xpev-muted,#68758a);font-size:14px;line-height:1.5}
.xpev-my-registration-ticket{display:flex;flex-direction:column;gap:6px;min-width:190px;padding:14px;border-radius:10px;background:var(--xpev-soft,#f7f8fa);font-size:13px}
.xpev-my-registration-ticket span:first-child{color:var(--xpev-muted,#68758a)}
.xpev-my-registration-ticket strong{font-size:16px;overflow-wrap:anywhere}
.xpev-registration-empty{padding:24px;border:1px dashed var(--xpev-border,#d5dbe4);border-radius:12px}
.xpev-registration-empty .xpev-event-link{display:inline-block;margin-top:12px}
@media(max-width:640px){.xpev-my-registration-card{flex-direction:column;padding:15px;gap:14px}.xpev-my-registration-ticket{width:100%;box-sizing:border-box;min-width:0}.xpev-my-registration-main h3{font-size:17px}}

.xpev-paid-total{display:flex;justify-content:space-between;align-items:center;margin:6px 0;color:var(--xpev-muted,#68758a);font-size:13px}.xpev-paid-total strong{font-size:17px;color:var(--xpev-text,#182337)}.xpev-paid-checkout .xpev-ticket-cta{background:#c95732!important}

.xpev-order-confirmation{margin:26px 0;padding:26px;border:1px solid rgba(104,113,125,.2);border-radius:16px;background:#fff;box-shadow:0 8px 28px rgba(24,33,43,.055);color:var(--xpev-text,#182337)}
.xpev-order-confirmation-head{display:flex;align-items:center;gap:14px;padding-bottom:20px;border-bottom:1px solid rgba(104,113,125,.16)}
.xpev-order-confirmation-icon{display:grid;place-items:center;flex:0 0 42px;width:42px;height:42px;border-radius:50%;background:#e8f6ee;color:#187548;font-size:23px;font-weight:800}
.xpev-order-confirmation-head h2{margin:0 0 5px;font-size:23px;line-height:1.25}
.xpev-order-confirmation-head p{margin:0;color:var(--xpev-muted,#68758a);line-height:1.6}
.xpev-order-confirmation-grid{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(260px,1fr);gap:18px;margin-top:20px}
.xpev-order-confirmation-event,.xpev-order-confirmation-ticket{min-width:0;padding:20px;border:1px solid rgba(104,113,125,.16);border-radius:12px;background:#fff}
.xpev-order-confirmation-label{display:block;margin-bottom:12px;color:var(--xpev-muted,#68758a);font-size:10px;font-weight:800;letter-spacing:.1em}
.xpev-order-confirmation-event h3{margin:0 0 14px;font-size:20px;line-height:1.4}
.xpev-order-confirmation-event h3 a{color:inherit;text-decoration:none}
.xpev-order-confirmation-event p,.xpev-order-confirmation-ticket p{margin:0 0 12px;line-height:1.6;overflow-wrap:anywhere}
.xpev-order-confirmation-ticket p:last-child{margin-bottom:0}
.xpev-order-payment-state{display:inline-flex;padding:5px 9px;border-radius:999px;font-size:12px;font-weight:800}
.xpev-order-payment-state.is-due{background:#fff2e5;color:#95520b}
.xpev-order-payment-state.is-updated{background:#e8f6ee;color:#187548}
.xpev-order-confirmation-note{margin:18px 0 10px;padding:13px 15px;border-radius:10px;background:#f7f8fa;color:var(--xpev-muted,#68758a);font-size:13px;line-height:1.6}
@media(max-width:640px){.xpev-order-confirmation{padding:17px;margin:18px 0}.xpev-order-confirmation-head h2{font-size:20px}.xpev-order-confirmation-grid{grid-template-columns:minmax(0,1fr);gap:12px}.xpev-order-confirmation-event,.xpev-order-confirmation-ticket{padding:16px}}

.xpev-registration-state.is-pending{background:#fff2e5;color:#95520b}
.xpev-registration-state.is-confirmed{background:#e8f6ee;color:#187548}
.xpev-registration-state.is-cancelled{background:#fbe9e9;color:#a52b2b}
.xpev-my-registration-total{display:block;margin-top:9px;color:var(--xpev-text,#182337);font-size:13px}
.xpev-my-payment-due,.xpev-my-payment-cancelled{display:block;margin-top:8px;padding:7px 9px;border-radius:8px;background:#fff2e5;color:#95520b;font-size:12px;line-height:1.45}
.xpev-my-payment-cancelled{background:#fbe9e9;color:#a52b2b}