body.event-page { min-width: 0; }
.event-board [data-event-link] { display:none !important; }
.event-page .footer-inner { width: 100%; max-width: 1320px; }
@media (min-width: 769px) and (max-width: 1320px) {
    .event-page .header-nav { padding-right: 0; }
    .event-page .header-nav a { padding: 0 12px; font-size: 14px; }
    .event-page .header-site-depth { width: 100%; }
    .event-page .footer_info { flex-direction: column; gap: 40px; }
    .event-page .footer_info_left { width: 100%; border-right: 0; }
    .event-page .footer_info_right { padding-left: 0; }
}
.event-board { padding: 100px 0 120px; }
.event-container { width: calc(100% - 48px); max-width: 1280px; margin: 0 auto; }
.event-heading { text-align: center; margin-bottom: 60px; }
.event-heading :is(h1:where(:not([data-original-heading])), :where([data-original-heading="h1"])) { font-family: var(--font-family-tit); font-size: 46px; font-weight: 700; line-height: 1.2; }
.event-heading p { margin-top: 14px; color: #666; font-size: 18px; line-height: 1.6; }
.event-summary { margin-bottom: 24px; font-size: 15px; color: #666; }
.event-summary strong { color: #222; font-weight: 700; }
.event-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 44px 28px; }
.event-grid > li { min-width: 0; }
.event-card { display: block; height: 100%; background: #fff; }
.event-card-image { position:relative; }
.event-card.is-expired .event-card-image > img,
.event-card.is-expired .event-card-image > svg { filter:grayscale(1) brightness(.78); }
.event-card.is-expired .event-card-caption { color:#777; }
.event-card-image .event-ended { position:absolute; inset:14px 14px auto auto; display:inline-flex; align-items:center; justify-content:center; z-index:1; padding:5px 12px; border:1px solid #fff; border-radius:999px; background:transparent; color:#fff; font-size:12px; font-weight:600; line-height:1.2; white-space:nowrap; pointer-events:none; }
.event-period { margin-top:12px; color:#666; font-size:13px; line-height:1.6; }
.event-period-ended { color:#555; font-weight:700; }
.event-card-image { display: flex; align-items: center; justify-content: center; aspect-ratio: 580 / 655; border-radius: 5%; overflow: hidden; }
.event-card-image img { display: block; width: 100%; height: 100%; object-fit: contain; }
.event-card-caption { padding: 22px 24px 26px; }
.event-label { display: inline-block; padding: 5px 10px; background: #fcebed; color: #9c4557; font-size: 12px; font-weight: 700; line-height: 1.3; }
.event-card :is(h2:where(:not([data-original-heading])), :where([data-original-heading="h2"])) { margin-top: 0; font-size: 19px; font-weight: 600; line-height: 1.5; overflow-wrap: anywhere; }

.event-status { padding: 80px 20px; text-align: center; background: #faf8f8; font-size: 17px; line-height: 1.7; }
.event-status .event-button { display: table; margin: 24px auto 0; }
.event-detail-header { padding: 30px 0; border-top: 1px solid #222; border-bottom: 1px solid #eee; text-align: center; }
.event-detail-header :is(h2:where(:not([data-original-heading])), :where([data-original-heading="h2"])) { margin-top: 16px; font-size: 28px; font-weight: 600; line-height: 1.5; overflow-wrap: anywhere; }
.event-detail-body { padding: 40px 0; text-align: center; }
/* 원본보다 확대하지 않으며, 콘텐츠 폭보다 큰 이미지만 축소한다. */
.event-detail-body img { display: block; width: auto; max-width: 100%; height: auto; margin: 0 auto; }
.event-image-error { padding: 40px 16px; text-align: center; font-size: 15px; color: #777; }
.event-actions { display: flex; justify-content: center; flex-wrap: wrap; gap: 12px; margin-top: 36px; }
.event-button { display: inline-block; min-width: 160px; padding: 16px 26px; border: 1px solid #222; background: #fff; color: #222; font-size: 15px; text-align: center; line-height: 1.3; cursor: pointer; }
.event-button-primary { background: #222; color: #fff; }
.event-board [hidden] { display: none !important; }
.event-board a:focus-visible, .event-board button:focus-visible { outline: 3px solid #b35c6f; outline-offset: 4px; }
@media (max-width: 768px) {
    .event-page .footer-inner { padding: 0 3rem; }
    .event-page .fixed_reserve_inner { flex-direction: column; align-items: stretch; }
    .event-page .fixed_reserve_info { text-align: center; }
    .event-page .fixed_reserve_info strong { justify-content: center; }
    .event-page .fixed_reserve_agree { justify-content: center; flex-wrap: wrap; }
    .event-page .fixed_reserve_fields { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; }
    .event-page .fixed_reserve_fields input { width: 100%; min-width: 0; }
    .event-page .fixed_reserve_fields button { grid-column: 1 / -1; width: 100%; }
    .event-board { padding: 44px 0 70px; }
    .event-container { width: calc(100% - 32px); }
    .event-heading { margin-bottom: 32px; }
    .event-heading :is(h1:where(:not([data-original-heading])), :where([data-original-heading="h1"])) { font-size: 32px; }
    .event-heading p { font-size: 15px; }
    .event-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 24px 14px; }
    .event-card-caption { padding: 16px 12px; }
    .event-card :is(h2:where(:not([data-original-heading])), :where([data-original-heading="h2"])) { font-size: 16px; }

    .event-detail-header :is(h2:where(:not([data-original-heading])), :where([data-original-heading="h2"])) { font-size: 23px; }
    .event-detail-body { padding: 24px 0; }
}
@media (max-width: 480px) {
    .event-grid { grid-template-columns: 1fr; }
}

/* Round the actual image, including letterboxed posters and text-overlay SVGs. */
.event-board .event-card-image > img,
.event-board .event-card-image > .post-artwork {
    width:auto; height:auto; max-width:100%; max-height:100%; border-radius:5%;
}

/* Gently zoom only the thumbnail; keep the card and caption stationary. */
@media (hover: hover) and (pointer: fine) and (prefers-reduced-motion: no-preference) {
    .event-board .event-card-image > img,
    .event-board .event-card-image > .post-artwork {
        transition: transform 1s ease;
    }
    .event-board .event-card:hover .event-card-image > img,
    .event-board .event-card:hover .event-card-image > .post-artwork {
        transform: scale(1.04);
    }
}
