/* 이벤트는 사이트 공통 셸·탐색·이용후기 컴포넌트를 사용하고 고유 배치만 정의합니다. */
.nb-event-mobile{display:none}
.nb-event-renew .weddingCatalogIdentity,.nb-event-renew .weddingCatalogContextNav{width:100%}
.nb-event-renew__status{margin:0}
@media(max-width:768px){
    /* 레거시 테이블 안에서도 실제 가용 폭과 공통 좌우 여백을 기준으로 채웁니다. */
    html body .ev2.bj-review-page.nb-event-renew{width:auto!important;margin-inline:var(--bj-page-gutter-mobile)!important}
    .nb-event-desktop{display:none}
    .nb-event-mobile{display:block;width:calc(100% + var(--bj-page-gutter-mobile) * 2);margin-left:calc(0px - var(--bj-page-gutter-mobile))}
}
.newyear-event-subheader{display:flex;flex-direction:column;align-items:stretch;gap:var(--bj-space-2);margin-top:var(--bj-space-3)}
.newyear-event-subtitle{margin:0;color:var(--bj-ink);font-size:var(--bj-type-subsection);font-weight:var(--bj-type-subsection-weight);line-height:var(--bj-type-subsection-line)}
/* 히어로·참여 방법·유의사항의 간격은 공통 section--spaced가 소유합니다. */
.newyear-event-showcase .review-editorial__gifts{grid-template-columns:1fr}
.newyear-event-showcase{width:100%;margin:0}
.newyear-event-photo-frame{width:100%;margin:0;overflow:hidden}
.newyear-event-photo-frame #heroPhoto{display:block;width:100%;height:auto;aspect-ratio:3 / 2;object-fit:cover}
.newyear-event-photo-frame #heroPhoto[src*="event_regular_photo"]{transform:scale(1.12)}
.newyear-event-steps{padding-left:0;list-style:none}
.newyear-event-steps .bj-review-body{margin-top:var(--bj-space-2)}
/* 요청한 두 줄 설명과 사진·주요 버튼 하단 정렬을 위한 페이지 고유 배치입니다. */
@media(min-width:1024px){
/* 공통 12열 전체를 텍스트 4열과 사진 8열로 채웁니다. */
.newyear-event-hero{grid-template-rows:auto auto}
.newyear-event-hero .review-editorial__heading{grid-column:1 / span 4;grid-row:1 / span 2;display:grid;grid-template-columns:minmax(0,1fr);grid-template-rows:subgrid;gap:var(--bj-space-2);margin:0}
.newyear-event-hero .review-editorial__copy{grid-column:1;grid-row:1}
.newyear-event-hero .review-editorial__actions{display:contents}
.newyear-event-hero #eventCta{grid-column:1;grid-row:2;align-self:end;justify-self:start;width:auto}
.newyear-event-hero .review-editorial__showcase{grid-column:5 / span 8;grid-row:1 / span 2;display:grid;grid-template-rows:subgrid;align-self:stretch}
.newyear-event-showcase :is(.review-editorial__gifts,.review-editorial__gift,figure){display:contents}
.newyear-event-photo-frame{position:relative;grid-row:1 / span 2;min-height:0;overflow:hidden;background:var(--bj-product-stage)}
.newyear-event-photo-frame #heroPhoto{position:absolute;inset:0;width:100%;height:100%;aspect-ratio:auto;object-fit:cover}
/* 원본 사진의 회전으로 생긴 빈 가장자리만 프레임 밖으로 보냅니다. */
.newyear-event-photo-frame #heroPhoto[src*="event_regular_photo"]{transform:scale(1.08)}

}

/* 이용후기 목록 */
.nb-event-review__heading { display:flex; flex-wrap:wrap; align-items:baseline; justify-content:space-between; gap:var(--bj-space-2); }
.nb-event-review__count { margin:0; color:var(--bj-muted); font-family:var(--bj-font-family); font-size:var(--bj-type-caption); line-height:var(--bj-type-caption-line); }
.nb-event-review__count b { color:var(--bj-ink); font-size:var(--bj-type-body); font-weight:var(--bj-type-nav-weight); line-height:var(--bj-type-body-line); }
.nb-event-review__list { margin-top: var(--bj-space-3); border-top: 1px solid var(--bj-ink); }
.nb-event-review__entry { display: grid; grid-template-columns: minmax(0, 1fr) 240px; gap: var(--event-grid-gap); padding: var(--bj-space-4) 0; border-bottom: 1px solid var(--bj-line); }
/* 전역 div 자동 여백이 짧은 후기를 가운데로 모으지 않도록 본문 열을 채웁니다. */
.nb-event-review__body { width: 100%; min-width: 0; margin: 0; }
.nb-event-review__meta { display: flex; margin: 0; align-items: center; justify-content: space-between; gap: var(--bj-space-2); }
.nb-event-review__code { color: var(--bj-ink); font-size: var(--bj-type-control); font-weight: 600; line-height: var(--bj-type-control-line); }
.nb-event-review__author { display: flex; margin: var(--bj-space-1) 0 0; flex-wrap: wrap; align-items: center; gap: var(--bj-space-2); color: var(--bj-muted); font-size: var(--bj-type-caption); line-height: var(--bj-type-caption-line); }
.nb-event-review__text { margin: var(--bj-space-3) 0 0; color: var(--bj-ink); font-size: var(--bj-type-body); font-weight: var(--bj-type-body-weight); line-height: var(--bj-type-body-line); overflow-wrap: break-word; word-break: keep-all; }
.nb-event-review__reply { margin: var(--bj-space-3) 0 0; padding: var(--bj-space-3); background: var(--bj-stone); color: var(--bj-muted); font-size: var(--bj-type-control); line-height: var(--bj-type-control-line); word-break: keep-all; }
.nb-event-review__reply b { display: block; margin-bottom: var(--bj-space-1); color: var(--bj-ink); font-weight: 600; }
.nb-event-review__tools { display: flex; margin: var(--bj-space-3) 0 0; gap: var(--bj-space-3); }
.nb-event-review__tools a,
.nb-event-review__tools button { padding: 0; border: 0; background: none; color: var(--bj-muted); cursor: pointer; font-family: var(--bj-font-family); font-size: var(--bj-type-caption); line-height: var(--bj-type-caption-line); text-decoration: underline; text-underline-offset: 3px; }
.nb-event-review__media { margin: 0; aspect-ratio: 1 / 1; overflow: hidden; background: var(--bj-product-stage); cursor: pointer; }
.nb-event-review__media img { display: block; width: 100%; height: 100%; object-fit: cover; }
.nb-event-review__empty { margin: 0; padding: var(--bj-space-4) 0; border-bottom: 1px solid var(--bj-line); color: var(--bj-muted); font-size: var(--bj-type-body); line-height: var(--bj-type-body-line); text-align: center; }

/* 모달의 표면·간격·행동 버튼·입력 상태는 공통 컴포넌트가 소유합니다. */
body:has(#nbReviewDialog[open]){overflow:hidden}
.nb-event-review__dialog[open]{display:flex;flex-direction:column;overflow:hidden}
.nb-event-review__dialog .bj-modal__head{flex-shrink:0}
.nb-event-review__dialog .bj-modal__body{min-height:0;overflow-y:auto}
.nb-event-review__dialog :is(.bj-modal__body,.bj-action-form,.bj-form-row,.bj-form-row__control,.nb-event-review__phone){width:100%;margin-inline:0}
.nb-event-review__dialog .bj-review-board-actions{width:100%;margin-inline:0}
.nb-event-review__dialog .bj-form-control :is(input,select,textarea){box-sizing:border-box;width:100%;max-width:100%;min-width:0;padding:var(--bj-space-1)}
.nb-event-review__phone{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr) auto minmax(0,1fr);align-items:center;gap:var(--bj-space-1)}
.nb-event-review__phone>span{color:var(--bj-muted)}
@media(max-width:768px){
    .nb-event-review__entry{grid-template-columns:minmax(0,1fr)}
    .nb-event-review__media{order:-1}
}
