/* 75 디자인 봉투 서비스 전용 이미지·선형 옵션·미리보기 배치 */
.event75-service__hero-media {
    aspect-ratio: 21 / 10;
    margin: var(--event-section-compact) 0 0;
    background: #f1eee9;
}
.event75-service__hero-media img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center bottom;
}
.event75-service__catalog-group { margin-top: var(--event-section-compact); }
.event75-service__catalog-group + .event75-service__catalog-group { margin-top: 48px; }
.event75-service__catalog-head {
    display: flex;
    min-height: 54px;
    padding-bottom: var(--bj-space-2);
    align-items: flex-end;
    justify-content: space-between;
    gap: var(--bj-space-3);
    border-bottom: 1px solid var(--bj-ink);
}
.event75-service__catalog-head h3 {
    margin: 0;
    font-size: var(--event-type-subhead);
    font-weight: var(--event-type-subhead-weight);
    line-height: var(--event-type-subhead-line);
}
.event75-service__catalog-head p {
    margin: 0;
    color: var(--bj-muted);
    font-size: var(--bj-type-control);
    line-height: var(--bj-type-control-line);
}
.event75-service .design_bong_slide_wrapper {
    position: relative;
    width: 100%;
    max-width: none;
    margin: var(--bj-space-3) auto 0;
    padding: 0;
}
.event75-service .design_bong_slide {
    position: static;
    overflow: hidden;
}
.event75-service .design_bong_slide .swiper-slide {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: var(--event-grid-gap);
}
.event75-service .bong_design_img_wrapper {
    min-width: 0;
    padding-bottom: var(--bj-space-3);
    border-bottom: 1px solid var(--bj-line);
}
.event75-service .bong_design_media {
    position: relative;
    overflow: hidden;
    aspect-ratio: 3 / 2;
    border: 1px solid var(--bj-line);
    background: var(--bj-clean);
}
.event75-service .bong_design_img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: contain;
}
.event75-service .bong_design_zoom {
    position: absolute;
    inset: 0;
    width: 100%;
    padding: 0;
    border: 0;
    background: transparent;
    cursor: zoom-in;
}
.event75-service .bong_design_zoom_icon {
    position: absolute;
    top: 10px;
    right: 10px;
    display: grid;
    box-sizing: border-box;
    width: 30px;
    height: 30px;
    place-items: center;
    border: 1px solid var(--bj-line);
    border-radius: 50%;
    background: rgba(255, 255, 255, .9);
    color: var(--bj-ink);
    transition: border-color .2s ease, background-color .2s ease;
}
.event75-service .bong_design_zoom_icon svg {
    width: 16px;
    height: 16px;
    fill: none;
    stroke: currentColor;
    stroke-linecap: round;
    stroke-linejoin: round;
    stroke-width: 1.6;
}
.event75-service .bong_design_zoom:hover .bong_design_zoom_icon,
.event75-service .bong_design_zoom:focus-visible .bong_design_zoom_icon {
    border-color: var(--bj-ink);
    background: var(--bj-clean);
}
/* Block surface focus: the image zoom tile keeps its inverted zoom icon as the cue; no box. */
.event75-service .bong_design_zoom:focus-visible { outline: none; }
.event75-service .bong_design_name {
    display: block;
    margin-top: var(--bj-space-2);
    color: var(--bj-ink);
    font-size: var(--bj-type-control);
    font-weight: 600;
    line-height: var(--bj-type-control-line);
}
.event75-service .bong_slide_button_next,
.event75-service .bong_slide_button_prev {
    position: static;
    display: grid;
    width: 38px;
    height: 38px;
    padding: 0;
    place-items: center;
    margin: 0;
    border: 1px solid var(--bj-line);
    border-radius: 50%;
    background-color: var(--bj-clean);
    background-image: none;
    color: var(--bj-ink);
    flex: 0 0 38px;
}
.event75-service .bong_slide_button_next::after,
.event75-service .bong_slide_button_prev::after {
    display: grid;
    width: 100%;
    height: 100%;
    place-items: center;
    color: inherit;
    font: 400 12px/1 var(--bj-font-family), sans-serif;
}
.event75-service .bong_slide_button_next::after { content: '\2192'; }
.event75-service .bong_slide_button_prev::after { content: '\2190'; }
.event75-service .bong_slide_button_next:hover,
.event75-service .bong_slide_button_prev:hover { border-color: var(--bj-ink); }
.event75-service .bong_slide_controls {
    display: flex;
    margin-top: 24px;
    align-items: center;
    justify-content: flex-end;
    gap: var(--bj-space-2);
}
.event75-service .bong_slide_fraction {
    min-width: 44px;
    margin: 0;
    color: var(--bj-muted);
    font-family: 'Spoqa Han Sans', sans-serif;
    font-size: 12px;
    font-weight: 400;
    line-height: normal;
    text-align: center;
}
.event75-service .bong_slide_fraction span {
    color: inherit;
    font-family: inherit;
    font-size: inherit;
    font-weight: inherit;
    line-height: inherit;
}
.event75-service__free-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: var(--event-grid-gap);
    width: 100%;
    max-width: none;
    margin: var(--bj-space-3) auto 0;
    padding: 0;
}
.event75-service__free-item {
    display: grid;
    grid-column: span 2;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    min-width: 0;
    padding-bottom: var(--bj-space-3);
    align-items: center;
    gap: var(--event-grid-gap);
    border-bottom: 1px solid var(--bj-line);
}
.event75-service__free-visual {
    display: grid;
    overflow: hidden;
    box-sizing: border-box;
    width: 100%;
    min-width: 0;
    aspect-ratio: 3 / 2;
    place-items: center;
    border: 1px solid var(--bj-line);
    background: var(--bj-clean);
}
.event75-service__free-visual--address img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: contain;
}
.event75-service__free-visual--message {
    align-content: center;
    gap: 4px;
    padding: var(--bj-space-3);
    color: var(--bj-ink);
    font-family: serif;
    text-align: center;
}
.event75-service__free-visual--message span,
.event75-service__free-visual--message strong {
    max-width: 100%;
    overflow-wrap: anywhere;
}
.event75-service__free-visual--message span { font-size: clamp(10px, 1vw, 12px); }
.event75-service__free-visual--message strong { font-size: clamp(10px, .95vw, 11px); font-weight: 400; }
.event75-service__free-copy { min-width: 0; }
.event75-service__free-item h4 {
    margin: 0;
    font-size: var(--bj-type-control);
    font-weight: 600;
    line-height: var(--bj-type-control-line);
}
.event75-service__free-item p {
    margin: var(--bj-space-1) 0 0;
    color: var(--bj-muted);
    font-size: var(--bj-type-control);
    line-height: var(--bj-type-control-line);
    word-break: keep-all;
}
.event75-dialog-open { overflow: hidden; }
.bong_design_dialog {
    width: min(900px, calc(100vw - 48px));
    max-width: none;
    max-height: calc(100dvh - 48px);
    padding: 0;
    overflow: visible;
    border: 0;
    background: transparent;
}
.bong_design_dialog::backdrop { background: rgba(18, 18, 17, .72); }
.bong_design_dialog_panel {
    position: relative;
    box-sizing: border-box;
    padding: 48px 72px 28px;
    background: var(--bj-clean);
}
.bong_design_dialog_figure { margin: 0; }
.bong_design_dialog_image {
    display: block;
    width: 100%;
    max-height: calc(100dvh - 180px);
    aspect-ratio: 3 / 2;
    object-fit: contain;
    background: var(--bj-clean);
}
.bong_design_dialog_caption {
    display: flex;
    margin-top: var(--bj-space-2);
    align-items: center;
    justify-content: space-between;
    gap: var(--bj-space-3);
    color: var(--bj-ink);
    font: 400 13px/1.5 var(--bj-font-family), sans-serif;
}
.bong_design_dialog_caption strong { font: inherit; font-weight: 600; }
.bong_design_dialog_close,
.bong_design_dialog_prev,
.bong_design_dialog_next {
    position: absolute;
    display: grid;
    width: 38px;
    height: 38px;
    padding: 0;
    place-items: center;
    border: 1px solid var(--bj-line);
    border-radius: 50%;
    background: var(--bj-clean);
    color: var(--bj-ink);
    font: 400 16px/1 var(--bj-font-family), sans-serif;
    cursor: pointer;
}
.bong_design_dialog_close { top: 8px; right: 8px; border: 0; font-size: 24px; }
.bong_design_dialog_prev { top: 50%; left: 18px; transform: translateY(-50%); }
.bong_design_dialog_next { top: 50%; right: 18px; transform: translateY(-50%); }
.bong_design_dialog_close:hover,
.bong_design_dialog_prev:hover,
.bong_design_dialog_next:hover { border-color: var(--bj-ink); }

@media (max-width: 1023px) {
    /* PC 공통 테이블 셸이 Swiper의 최소 폭을 따라 늘어나지 않도록 좁은 화면 폭을 고정합니다. */
    body:has(.event75-service) #content_wrapper,
    body:has(.event75-service) #content_wrapper > tbody,
    body:has(.event75-service) #content_wrapper > tbody > tr,
    body:has(.event75-service) #content_wrapper > tbody > tr > td {
        display: block;
        width: 100% !important;
        min-width: 0 !important;
    }
    .event75-service { width: 100vw; max-width: 100vw; overflow: hidden; }
    .event75-service .event-system-inner,
    .event75-service .design_bong_slide_wrapper,
    .event75-service .design_bong_slide { min-width: 0; max-width: 100%; }
    .event75-service .design_bong_slide .swiper-slide { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .event75-service__free-item { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 767px) {
    .event75-service__hero-media img { object-position: center bottom; }
    .event75-service__catalog-group + .event75-service__catalog-group { margin-top: 40px; }
    .event75-service__catalog-head { display: block; min-height: 0; padding-bottom: var(--bj-space-2); }
    .event75-service__catalog-head p { margin-top: var(--bj-space-1); }
    .event75-service .design_bong_slide_wrapper { margin-top: var(--bj-space-3); padding: 0; }
    .event75-service .design_bong_slide .swiper-slide { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .event75-service .design_bong_slide .swiper-slide { gap: var(--bj-space-2); }
    .event75-service .bong_slide_controls { margin-top: 24px; }
    .event75-service__free-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--bj-space-3); padding: 0; }
    .event75-service__free-item { grid-column: 1 / -1; gap: var(--bj-space-2); }
    .event75-service__free-item p { font-size: 14px; line-height: 1.6; }
    .event75-service .bong_design_zoom_icon { top: 8px; right: 8px; width: 28px; height: 28px; }
    .bong_design_dialog { width: calc(100vw - 32px); max-height: calc(100dvh - 32px); }
    .bong_design_dialog_panel { padding: 46px 16px 20px; }
    .bong_design_dialog_image { max-height: calc(100dvh - 150px); }
    .bong_design_dialog_prev { left: 8px; }
    .bong_design_dialog_next { right: 8px; }
    .bong_design_dialog_prev,
    .bong_design_dialog_next { top: auto; bottom: 16px; transform: none; }
    .bong_design_dialog_caption { padding: 0 48px; }
}
