/* Event detail only: distinct phone and desktop presentation. */
.event-detail-page { min-width:0; }
.event-detail-page > * { min-width:0; }
.event-detail-page .detail-head > div { min-width:0; }
.event-detail-page .detail-title,.event-detail-page .detail-sub,.event-detail-page dd { overflow-wrap:anywhere; }
.event-detail-page .detail-banner { width:100%; height:auto; aspect-ratio:16/9; object-fit:contain; background:#fff0f7; box-sizing:border-box; }
.event-detail-page .detail-head { align-items:flex-start; }
.event-detail-page .detail-sub { margin-top:8px; line-height:1.6; }
.event-detail-page .detail-tabs { gap:8px; padding:6px; background:#fff0f7; border:2px solid #111; border-radius:12px; }
.event-detail-page .detail-tab { flex:1; text-align:center; border:0; border-radius:8px; padding:12px 8px; }
.event-detail-page .detail-tab.active { background:#ffd700; color:#111; box-shadow:2px 2px 0 #111; }
.event-detail-page .detail-summary > div { padding:14px; background:#fff9e9; border:1px solid #e4dccc; border-radius:10px; }
.event-detail-page .detail-summary dt { margin-bottom:6px; }
.event-detail-page .detail-section { padding:18px; border:1px solid #e7dfe4; border-radius:12px; background:#fff; gap:12px; }
.event-detail-page .detail-section h3 { color:#a90060; }
.event-detail-page .detail-section ul { margin:0; padding-left:20px; line-height:1.8; }
.event-detail-page .enroll-form,.event-detail-page > .stack { padding:20px; border:2px solid #111; border-radius:14px; background:#fff9e9; }
.event-detail-page .participant-row:not([hidden]) { display:grid; gap:14px; padding:16px; margin:14px 0; background:#fff; border:1px solid #dacfd5; border-radius:12px; }
.event-detail-page .participant-row[hidden] { display:none; }
.event-detail-page .participant-row h4 { margin:0; color:#a90060; }
.event-detail-page .input { width:100%; min-width:0; box-sizing:border-box; border:2px solid #aaa; border-radius:10px; padding:12px; min-height:48px; }
.event-detail-page .enroll-total-price { background:#ffe3ef; padding:16px; border-radius:10px; font-weight:900; }
.event-detail-page .detail-action { box-sizing:border-box; border-radius:12px; text-decoration:none; }
.event-detail-page a:focus-visible,.event-detail-page button:focus-visible,.event-detail-page .input:focus-visible { outline:3px solid #ff1493; outline-offset:3px; }
@media(max-width:1023px) {
 .event-detail-page { gap:18px; padding:0 0 20px; }
 .event-detail-page .detail-banner { border:2px solid #111; border-radius:16px; }
 .event-detail-page .detail-title { font-size:23px; line-height:1.25; }
 .event-detail-page .detail-pills { gap:8px; }
 .event-detail-page .detail-pill { padding:8px 10px; font-size:12px; background:#fff; }
 .event-detail-page .detail-summary { grid-template-columns:repeat(2,minmax(0,1fr)); }
 .event-detail-page .detail-section { padding:16px; }
 .event-detail-page .enroll-form,.event-detail-page > .stack { padding:14px; box-shadow:3px 3px 0 #111; }
 .event-detail-page .input { font-size:16px; }
 .event-detail-page .detail-action { min-height:50px; }
}
@media(min-width:1024px) {
 .event-detail-page.detail-card { padding:24px; gap:24px; background:#fff; border:3px solid #111; border-radius:16px; box-shadow:5px 5px 0 #111; }
 .event-detail-page.detail-card > * { margin-left:0; margin-right:0; }
 .event-detail-page .detail-banner { border:2px solid #111; border-radius:12px; }
 .event-detail-page .detail-title { font-size:clamp(24px,2.2vw,34px); line-height:1.2; letter-spacing:-.5px; }
 .event-detail-page .detail-sub { font-size:14px; }
 .event-detail-page .detail-pills { display:grid; grid-template-columns:repeat(auto-fit,minmax(140px,1fr)); gap:10px; }
 .event-detail-page .detail-pill { justify-content:center; border-radius:10px; padding:14px 10px; font-size:13px; background:#fff9e9; }
 .event-detail-page .detail-pill:last-child { background:#e8f9ed; }
 .event-detail-page .detail-section { padding:22px; }
 .event-detail-page .rich-text { font-size:15px; line-height:1.75; }
 .event-detail-page .detail-summary { grid-template-columns:repeat(2,minmax(0,1fr)); }
 .event-detail-page .participant-row:not([hidden]) { grid-template-columns:repeat(auto-fit,minmax(190px,1fr)); padding:20px; }
 .event-detail-page .participant-row h4 { grid-column:1/-1; }
 .event-detail-page .detail-action { min-height:52px; }
}
/* Approved quantity selector: mobile and desktop share behavior, not dimensions. */
.event-detail-page .quantity-enrollment { background:#fff; padding:20px; border:3px solid #111; box-shadow:4px 4px 0 #111; gap:20px; }
.enroll-heading h3 { margin:0 0 8px; font-size:26px; line-height:1.2; }
.enroll-heading p { margin:0; line-height:1.5; }
.ticket-tiers { display:grid; gap:14px; }
.ticket-tier { display:flex; align-items:center; justify-content:space-between; gap:12px; padding:16px; border:2px solid #111; border-radius:12px; }
.ticket-tier-copy { min-width:0; display:grid; gap:6px; overflow-wrap:anywhere; }
.ticket-tier-copy strong { font-size:20px; }
.ticket-tier-copy span { color:#c40068; font-size:14px; font-weight:800; }
.ticket-stepper { display:flex; align-items:center; gap:6px; flex-shrink:0; }
.ticket-stepper button,.ticket-quantity { box-sizing:border-box; width:44px; height:48px; border:2px solid #111; border-radius:8px; text-align:center; font-size:22px; font-weight:900; color:#111; background:#fff; padding:0; }
.ticket-stepper button[data-step="1"] { background:#ffd700; }
.ticket-stepper button:disabled { opacity:.4; cursor:not-allowed; }
.ticket-quantity { appearance:textfield; -moz-appearance:textfield; background:#ffe3ef; }
.ticket-quantity::-webkit-inner-spin-button,.ticket-quantity::-webkit-outer-spin-button { -webkit-appearance:none; margin:0; }
.ticket-summary { display:grid; grid-template-columns:1fr 1.4fr; padding:20px 12px; border:3px solid #111; border-radius:12px; background:#ffe3ef; text-align:center; gap:10px; }
.ticket-summary > div { display:grid; gap:8px; min-width:0; }
.ticket-summary > div+div { border-left:1px solid #111; padding-left:10px; }
.ticket-summary strong,.event-detail-page .ticket-summary .enroll-total-price { font-size:24px; color:#c40068; overflow-wrap:anywhere; }
.ticket-payment-note { text-align:center; font-size:13px; margin:0; }
.quantity-enrollment [hidden] { display:none !important; }
@media(min-width:1024px) { .event-detail-page .quantity-enrollment { padding:28px; } .enroll-heading h3 { font-size:32px; } .ticket-tier { padding:22px; } .ticket-tier-copy strong { font-size:24px; } .ticket-summary strong { font-size:30px; } }
@media(max-width:420px) { .event-detail-page .quantity-enrollment { padding:12px; } .ticket-tier { padding:12px; flex-wrap:wrap; } .ticket-stepper { margin-left:auto; } .ticket-tier-copy strong { font-size:18px; } .ticket-summary strong { font-size:21px; } }
