.mk-offer-old { display: inline-block; font-size: .65em; font-weight: 400; opacity: .65; }
.mk-offer-badge { display: block; font-size: 11px; font-weight: 500; line-height: 1.5; margin-top: 4px; }
.mk-opening-notice { box-sizing: border-box; width: min(720px,calc(100vw - 32px)); max-height: 88dvh; padding: 0; border: 1px solid rgba(255,255,255,.22); border-radius: 16px; background: var(--bg,#1d201e); color: var(--text,#f5efe5); font: inherit; box-shadow: 0 24px 90px #0008; overflow: auto; overscroll-behavior: contain; }
.mk-opening-notice::backdrop { background: #080d14b3; backdrop-filter: blur(8px); }
.mk-opening-notice[data-palette=navy] { background: #102133; color: #ead9bd; }
.mk-opening-notice[data-palette=light] { background: #f4eee5; color: #282522; }
.mk-notice-layout.has-image { display: grid; grid-template-columns: minmax(0,1fr) minmax(0,1fr); }
.mk-notice-image { width: 100%; height: 100%; max-height: 72dvh; object-fit: contain; display: block; align-self: center; }
.mk-notice-copy { padding: 54px 32px 36px; min-width: 0; text-align: center; align-content: center; display: grid; justify-items: center; gap: 18px; }
.mk-notice-copy h2 { font: inherit; font-size: clamp(24px,4vw,38px); line-height: 1.16; margin: 0; overflow-wrap: anywhere; }
.mk-notice-copy p { font-size: 15px; line-height: 1.6; white-space: pre-line; overflow-wrap: anywhere; margin: 0; }
.mk-notice-eyebrow { font-size: 10px; letter-spacing: .24em; }
.mk-notice-dates { font-size: 11px; opacity: .75; }
.mk-notice-link { display: inline-flex; align-items: center; justify-content: center; min-height: 44px; padding: 4px 24px; border: 1px solid currentColor; background: transparent; color: inherit; text-decoration: none; font-size: 13px; font-family: inherit; cursor: pointer; }
.mk-notice-close { box-sizing: border-box; position: absolute; top: 10px; right: 10px; display: grid; place-items: center; width: 44px; height: 44px; min-width: 44px; min-height: 44px; margin: 0; padding: 0; border: 1px solid #ffffff60; border-radius: 50%; appearance: none; background: #1118; color: #fff; line-height: 1; z-index: 1; cursor: pointer; }
.mk-notice-close svg { display: block; width: 20px; height: 20px; fill: none; stroke: currentColor; stroke-width: 1.75; stroke-linecap: round; pointer-events: none; }
.mk-notice-close:hover { background: #111c; border-color: #ffffffa6; }
.mk-notice-nav { display: flex; justify-content: center; align-items: center; gap: 20px; padding: 0 20px 16px; }
.mk-notice-nav button { width: 44px; height: 44px; font: inherit; font-size: 25px; border: 1px solid currentColor; background: transparent; color: inherit; cursor: pointer; }
.mk-notice-nav button:disabled { opacity: .3; cursor: default; }
.mk-notice-nav span { font-size: 12px; }
.mk-opening-notice :focus-visible { outline: 2px solid currentColor; outline-offset: 3px; }
.mk-opening-notice .mk-notice-close:focus-visible { outline-offset: -2px; border-color: transparent; }
@media(max-width:600px) {
  .mk-notice-layout.has-image { grid-template-columns: 1fr; }
  .mk-notice-image { max-height: 30dvh; margin-top: 16px; }
  .mk-notice-copy { padding: 40px 24px 24px; gap: 14px; }
  .has-image .mk-notice-copy { padding-top: 20px; }
}
