/* 참여형 이벤트: 기존 기능과 분리된 05·08 공통 표현 계층 */
.event-participation { font-size:var(--bj-type-body); background:var(--bj-clean); }
.event-participation .event-system-inner,.event-participation .event-top-navigation { width:min(1000px,calc(100% - 48px)); margin:0 auto; }
.event-participation .event-top-navigation { padding:64px 0 32px; }
.event-participation .event-top-navigation a { display:inline-flex; gap:6px; min-height:24px; align-items:center; color:var(--bj-muted); font-size:var(--bj-type-caption); line-height:var(--bj-type-caption-line); }
.event-participation .event-top-navigation + section { padding-top:0; }
.event-participation .event-top-navigation + section .event-label { color:var(--bj-danger,#a14b46); }
.event-participation .event-section-head > * { min-width:0; }
.event-participation .event-section-summary { align-self:start; color:var(--bj-muted); font-size:var(--bj-type-body); line-height:var(--bj-type-body-line); word-break:keep-all; }
.event-participation .event-section-summary span { font:inherit; color:inherit; }
.event-participation .event-summary-line { display:block; }
.event-participation .event-facts { margin-top:48px; }
.event-participation .event-facts > div { padding-top:24px; }
.event-participation .event-disclosure__list { padding-bottom:24px; }
.event-participation .event-disclosure__content .event-disclosure__list { padding-bottom:0; }
.event-participation .event-action { cursor:pointer; }
.event-participation .event-action::after { content:none; }
.event-participation .event-actions { padding-top:48px; }
.event-participation .event08-entry { display:flex; justify-content:center; margin-top:48px; }
.event-participation .event05-hero { position:relative; overflow:hidden; aspect-ratio:3/2; margin-top:48px; background:var(--bj-product-stage); }
.event-participation .event05-hero img { position:absolute; top:100%; left:0; width:100%; height:auto; max-width:none; transform:translateY(-79%); }
.event-participation .event08-hero-media { position:relative; overflow:hidden; aspect-ratio:3/2; margin-top:48px; background:var(--bj-product-stage); }
.event-participation .event08-hero-media picture { display:block; width:100%; height:100%; }
.event-participation .event08-hero-media img { display:block; width:100%; height:100%; object-fit:cover; transform:scale(1.045); transform-origin:center bottom; }
/* PC는 영상·스탬프 공통 21:10 영역. 모바일 승인 구도는 유지한다. */
@media (min-width:768px) {
    .event-participation:not(.event-participation--mobile) :is(.event05-hero,.event08-hero-media) { aspect-ratio:21/10; }
    .event-participation:not(.event-participation--mobile) .event05-hero img { top:0; left:0; width:100%; height:100%; object-fit:contain; transform:none; filter:brightness(1.025); }
    .event-participation:not(.event-participation--mobile) .event08-hero-media img { object-position:center; transform:scale(1.16); }
}
.event-participation .event05-product-groups { display:grid; gap:48px; margin-top:48px; }
.event-participation .event05-product-group { padding:0; }
.event-participation .event05-product-group-head { display:flex; justify-content:space-between; align-items:baseline; gap:16px; padding-bottom:16px; border-bottom:1px solid var(--bj-ink); }
.event-participation .event05-product-group-head h3 { margin:0; font-size:20px; font-weight:600; }
.event-participation .event05-product-group-head p { margin:0; color:var(--bj-muted); font-size:var(--bj-type-caption); }
.event-participation .event05-products { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:20px; margin-top:32px; }
.event-participation .event05-product-link { display:block; width:100%; max-width:180px; justify-self:center; }
.event-participation .event05-product-media-wrap { display:block; overflow:hidden; background:var(--bj-product-stage); transition:transform 200ms ease,box-shadow 200ms ease; }
.event-participation .event05-product-link:hover .event05-product-media-wrap,.event-participation .event05-product-link:focus-visible .event05-product-media-wrap { transform:translateY(-4px); box-shadow:0 3px 10px rgba(0,0,0,.09); }
.event-participation .event05-product-link:focus-visible { outline:none; }
.event-participation .event05-product-link:focus-visible .event05-product-copy strong { text-decoration: underline; text-decoration-thickness: 2px; text-underline-offset: 4px; }
.event-participation img.event05-product-media { display:block; width:100%; aspect-ratio:5/6; object-fit:cover; }
.event-participation .event05-product-media--table-silver { object-position:54% 68%; transform:scale(1.15); }
.event-participation .event05-product-media--table-diasec { object-position:53% 67%; transform:scale(1.05); }
.event-participation .event05-product-media--table-artlux { object-position:57% 70%; transform:scale(1.3); }
.event-participation .event05-product-media--table-wood { object-position:49% 68%; transform:scale(1.1); }
.event-participation .event05-product-copy { padding:16px 0 40px; border-bottom:1px solid var(--bj-line); background:transparent; }
.event-participation .event05-product-copy strong { display:block; font-size:var(--bj-type-control); line-height:1.6; }
.event-participation .event-list-title { margin-bottom:32px; }
.event-participation .event-live-list { width:100%; border-collapse:collapse; table-layout:fixed; font-size:var(--bj-type-body); line-height:1.6; }
.event-participation .event-live-list th,.event-participation .event-live-list td { width:auto; padding:18px 12px; border:0; border-bottom:1px solid var(--bj-line); text-align:left; overflow-wrap:anywhere; background:transparent; color:var(--bj-ink); font:inherit; }
.event-participation .event-live-list th.ths { color:var(--bj-muted); font-size:var(--bj-type-caption); font-weight:400; }
.event-participation .event-live-list td.tds { font-size:var(--bj-type-body); }
.event-participation .event-live-list td.coupon_complete,.event-participation .event-live-list td:last-child { color:var(--bj-success); }
.event-participation .event-live-list .event-coupon-issued { text-align:center; }
.event-participation .event-live-list td .event-status-badge--complete { border-color:var(--bj-ink); background:var(--bj-ink); color:var(--bj-clean); }
.event-participation .event-list--comments td.tds[data-label="작성일"],.event-participation .event-list--comments td.tds[data-label="할인쿠폰"] { font-size:var(--bj-type-caption); font-variant-numeric:tabular-nums; }
.event-participation .event-list--comments th:nth-child(2) { width:46%; }
.event-participation .event-list--members th:nth-child(3) { width:38%; }
.event-participation #pagging_tbl { margin:32px 0 0; }
.event-participation #pagging_tbl ul { gap:4px; flex-wrap:wrap; justify-content:center; padding:0; margin:0; }
.event-participation #pagging_tbl .num_el { min-width:32px; width:38px; height:38px; line-height:38px; border:0; font-family:var(--bj-font-family); }
.event-participation #pagging_tbl .num_el a { display:block; width:100%; height:100%; }
.event-participation #pagging_tbl .sel_td { text-decoration:underline; text-underline-offset:6px; font-weight:700; }
.event-participation #pagging_tbl .sel_td:after { content:none; }
.event-participation #pagging_tbl .arrow_l,.event-participation #pagging_tbl .arrow_r { position:relative; width:38px; height:38px; border:1px solid var(--bj-line); border-radius:50%; background:#fff; margin:0; transform:none; }
.event-participation #pagging_tbl .arrow_l:after,.event-participation #pagging_tbl .arrow_r:after { position:absolute; inset:0; display:grid; place-items:center; content:"←"; line-height:1; text-align:center; pointer-events:none; color:var(--bj-ink); }
.event-participation #pagging_tbl .arrow_r:after { content:"→"; }
.event-participation #pagging_tbl .arrow_l:hover,.event-participation #pagging_tbl .arrow_r:hover { border-color:#726e69; }
/* jQuery show/hide와 AJAX form 로딩 계약은 그대로 유지한다. */
.event-participation .event-live-modal { position:fixed; inset:0; z-index:10050; display:none; overflow:auto; background:rgba(12,20,27,.52); padding:24px; font-family:var(--bj-font-family); }
.event-participation .event-live-modal__sheet { width:min(480px,100%); max-height:calc(100dvh - 48px); overflow:auto; margin:max(0px,calc((100dvh - 600px)/2)) auto 0; padding:24px; border-radius:18px; background:#fff; color:#17232f; box-shadow:0 24px 72px rgba(13,25,35,.2); }
.event-participation .event-modal-close { float:right; position:relative; z-index:1; display:grid; place-items:center; width:42px; height:42px; border:0; border-radius:50%; background:#f7f7f6; color:#39434c; cursor:pointer; font-size:24px; }
.event-participation .event-modal-title { margin:0 52px 16px 0; font-size:22px; font-weight:800; line-height:1.35; letter-spacing:-.035em; }
.event-participation .event-modal-desc { margin:0 0 14px; font-size:14px; line-height:1.6; color:#667085; }
.event-participation .event-live-modal textarea { display:block; width:100%; min-height:120px; padding:14px 16px; border:1px solid #8a857e; border-radius:8px; resize:vertical; color:#17232f; font:16px/1.6 var(--bj-font-family); }
.event-participation .event-modal-actions { display:grid; grid-template-columns:112px minmax(0,1fr); gap:9px; margin-top:20px; }
.event-participation .event-modal-actions .event-action { min-width:0; width:100%; font-size:14px; }
.event-participation .event-modal-cancel { border:0; background:#fff; color:#48535d; font:700 14px var(--bj-font-family); cursor:pointer; }
.event-participation .event-id-field { display:grid; grid-template-columns:minmax(0,1fr) 100px; gap:10px; margin:16px 0 24px; }
.event-participation .event-id-field input { min-width:0; width:100%; height:48px; padding:12px; border:1px solid #8a857e; border-radius:8px; font:16px var(--bj-font-family); }
.event-participation .event-id-field button { min-width:0; height:48px; }
.event-participation .event-valid-list { list-style:none; padding:0; margin:12px 0; }
.event-participation .event-valid-list li { display:grid; grid-template-columns:32px 1fr auto; padding:14px 0; border-bottom:1px solid var(--bj-line); gap:12px; font-size:15px; }
.event-participation .event-valid-list b { color:var(--bj-muted); font-weight:400; }
.event-participation .event-valid-list [id^="qrs"] { color:var(--bj-success); }
.event-participation #reg_notice_txt { font-size:14px; color:var(--bj-muted); }
.event-participation .event-live-modal :focus-visible { outline:2px solid var(--bj-charcoal); outline-offset:3px; }
@media (max-width:767px) {
 .event-participation .event-system-inner { width:100%; padding:0 16px; }
 .event-participation .event-top-navigation { display:none; }
 .event-participation .event-top-navigation + section { padding-top:var(--bj-space-4); }
 .event-participation .event-display { font-size:30px; }
 .event-participation .event-section-title .event-label { margin-bottom:16px; }
 .event-participation .event-summary-line { display:inline; }
 .event-participation .event-summary-line + .event-summary-line:before { content:" "; }
 .event-participation .event-facts { gap:16px; }
 .event-participation .event-facts--stacked { grid-template-columns:1fr; }
 .event-participation .event05-hero { aspect-ratio:1/1; margin-left:-16px; margin-right:-16px; }
 .event-participation .event08-hero-media { aspect-ratio:1/1; margin-left:-16px; margin-right:-16px; }
 .event-participation .event05-product-groups { gap:40px; margin-top:32px; }
 .event-participation .event05-product-group-head { display:block; }
 .event-participation .event05-product-group-head p { margin-top:6px; }
 .event-participation .event05-products { grid-template-columns:repeat(2,minmax(0,1fr)); gap:24px 12px; margin-top:24px; }
 .event-participation .event05-product-copy { padding:14px 0 32px; }
 .event-participation .event-actions { padding-top:32px; }
 .event-participation .event08-entry .event-action { width:100%; }
 .event-participation .event-live-list,.event-participation .event-live-list tbody,.event-participation .event-live-list tr,.event-participation .event-live-list td { display:block; width:100%; }
 .event-participation .event-live-list thead { display:none; }
 .event-participation .event-live-list tr { padding:24px 0; border-bottom:1px solid var(--bj-line); }
 .event-participation .event-live-list td { display:grid; grid-template-columns:78px minmax(0,1fr); gap:16px; border:0; padding:5px 0; }
 .event-participation .event-live-list td:before { content:attr(data-label); color:var(--bj-muted); }
 .event-participation .event-live-modal { padding:0; }
 .event-participation .event-live-modal__sheet { position:absolute; bottom:0; width:100%; max-height:calc(100dvh - 24px); margin:0; padding:18px; border-radius:18px 18px 0 0; }
 .event-participation .event-modal-title { font-size:20px; }
 .event-participation .event-modal-actions { grid-template-columns:86px minmax(0,1fr); }
}
@media (hover:none) { .event-participation .event05-product-link:hover .event05-product-media-wrap { transform:none; box-shadow:none; } }
@media (prefers-reduced-motion:reduce) { .event-participation .event05-product-media-wrap { transition:none; } .event-participation .event05-product-link:hover .event05-product-media-wrap,.event-participation .event05-product-link:focus-visible .event05-product-media-wrap { transform:none; } }

/* 기존 /m 진입은 넓은 PC 창에서도 모바일 전용 shell을 유지한다. */

 .event-participation--mobile .event-system-inner { width:100%; padding:0 16px; }
 .event-participation--mobile .event-top-navigation { display:none; }
 .event-participation--mobile .event-top-navigation + section { padding-top:var(--bj-space-4); }
 .event-participation--mobile .event-display { font-size:30px; }
 .event-participation--mobile .event-section-title .event-label { margin-bottom:16px; }
 .event-participation--mobile .event-summary-line { display:inline; }
 .event-participation--mobile .event-summary-line + .event-summary-line:before { content:" "; }
 .event-participation--mobile .event-facts { gap:16px; }
 .event-participation--mobile .event-facts--stacked { grid-template-columns:1fr; }
 .event-participation--mobile .event05-hero { aspect-ratio:1/1; margin-left:-16px; margin-right:-16px; }
 .event-participation--mobile .event08-hero-media { aspect-ratio:1/1; margin-left:-16px; margin-right:-16px; }
 .event-participation--mobile .event05-product-groups { gap:40px; margin-top:32px; }
 .event-participation--mobile .event05-product-group-head { display:block; }
 .event-participation--mobile .event05-product-group-head p { margin-top:6px; }
 .event-participation--mobile .event05-products { grid-template-columns:repeat(2,minmax(0,1fr)); gap:24px 12px; margin-top:24px; }
 .event-participation--mobile .event05-product-copy { padding:14px 0 32px; }
 .event-participation--mobile .event-actions { padding-top:32px; }
 .event-participation--mobile .event-live-list,.event-participation--mobile .event-live-list tbody,.event-participation--mobile .event-live-list tr,.event-participation--mobile .event-live-list td { display:block; width:100%; }
 .event-participation--mobile .event-live-list thead { display:none; }
 .event-participation--mobile .event-live-list tr { padding:24px 0; border-bottom:1px solid var(--bj-line); }
 .event-participation--mobile .event-live-list td { display:grid; grid-template-columns:78px minmax(0,1fr); gap:16px; border:0; padding:5px 0; }
 .event-participation--mobile .event-live-list td:before { content:attr(data-label); color:var(--bj-muted); }
 .event-participation--mobile .event-live-modal { padding:0; }
 .event-participation--mobile .event-live-modal__sheet { position:absolute; bottom:0; width:100%; max-height:calc(100dvh - 24px); margin:0; padding:18px; border-radius:18px 18px 0 0; }
 .event-participation--mobile .event-modal-title { font-size:20px; }
 .event-participation--mobile .event-modal-actions { grid-template-columns:86px minmax(0,1fr); }
.event-participation--mobile .event-section-head { grid-template-columns:1fr; }
.event-participation--mobile .event-section-title { display:block; }
.event-participation--mobile .event-section-summary { grid-column:auto; grid-row:auto; }
.event-participation--mobile .event-steps { grid-template-columns:1fr !important; gap:0; }
.event-participation--mobile .event-step { min-height:0; padding:24px 0; }
.event-participation--mobile .event-actions { flex-direction:column; }
.event-participation--mobile .event-actions .event-action { width:100%; }
.event-participation--mobile .event08-entry .event-action { width:100%; }

/* 셋이모여 목록: 데이터/열 순서/페이징은 유지하고 후기 목록의 정보 위계만 적용한다. */
body:has(.event-list--members) .bj-compact-footer,
body:has(.event-participation #event_entry_list) .bj-compact-footer { margin-top:0; }
.event-participation:has(.event-list--members) #pagging_tbl .num_el[hidden] { display:none !important; }
@media (max-width:767px) {
    .event-participation:has(.event-list--members) #pagging_tbl ul { flex-wrap:nowrap; gap:2px; }
    .event-participation:has(.event-list--members) #pagging_tbl .num_el { width:32px; min-width:32px; height:38px; line-height:38px; }
    .event-participation:has(.event-list--members) #pagging_tbl :is(.arrow_l,.arrow_r) { width:38px; min-width:38px; }
}
.event-participation :is(.event-list--members, #event_entry_list) th {
    padding:16px 12px;
    color:var(--bj-muted);
    font-size:var(--bj-type-caption);
    font-weight:400;
}
.event-participation :is(.event-list--members, #event_entry_list) td {
    padding:24px 12px;
    vertical-align:middle;
    color:var(--bj-muted);
    font-size:var(--bj-type-body);
    font-weight:400;
    line-height:1.7;
    border-bottom-color:var(--bj-line);
}
.event-participation :is(.event-list--members, #event_entry_list) td[data-label="참여아이디"] {
    color:var(--bj-ink);
    font-size:var(--bj-type-body);
    font-weight:600;
    text-align:left;
}
.event-participation :is(.event-list--members, #event_entry_list) td[data-label="신청일"] {
    font-size:var(--bj-type-caption);
    font-variant-numeric:tabular-nums;
}
.event-participation :is(.event-list--members, #event_entry_list) td[data-label="쿠폰"] {
    color:var(--bj-success, #48765e);
    font-size:var(--bj-type-caption);
}
.event-participation :is(.event-list--members, #event_entry_list) td[data-label="쿠폰"] > div {
    color:inherit !important;
    font:inherit;
    text-align:left !important;
}
.event-participation--mobile #event_entry_list td {
    display:block;
    position:relative;
    padding:6px 0 6px 94px;
    border-bottom:0;
}
.event-participation--mobile #event_entry_list td::before {
    position:absolute;
    left:0;
    top:6px;
    width:78px;
}
.event-participation :is(.event-list--members, #event_entry_list) td::before {
    font-size:var(--bj-type-caption);
    font-weight:400;
}
@media (max-width:767px) {
    .event-participation :is(.event-list--members, #event_entry_list) td {
        /* 마스킹 span, 구분자, 쿠폰 div를 개별 grid 셀로 분리하지 않는다. */
        display:block;
        position:relative;
        padding:6px 0 6px 94px;
        border-bottom:0;
    }
    .event-participation :is(.event-list--members, #event_entry_list) td::before {
        position:absolute;
        left:0;
        top:6px;
        width:78px;
    }
}
