/* ---------------------------------------- Reservation Step 01 ---------------------------------------- */
.reservation__step01[hidden] { display: none !important; }

/* Reservation Notice */
.reservation__notice { display: flex; flex-direction: column; gap: var(--space-8); margin-bottom: var(--space-80); padding: var(--space-24) var(--space-32); background-color: var(--color-surface-muted); font-size: var(--font-size-body-lg); font-weight: 500; line-height: var(--line-height-body-lg); color: var(--color-text-default); }

/* Reservation Board */
.reservation__board { display: grid; grid-template-columns: 40rem minmax(0, 1fr); gap: var(--space-40); align-items: start; }
.reservation-panel { display: flex; flex-direction: column; gap: var(--space-24); min-width: 0; }
.reservation-panel__title { font-size: var(--font-size-h3); font-weight: 700; line-height: var(--line-height-h3); color: var(--color-text-default); }

/* Reservation Calendar */
.calendar { position: relative; display: flex; flex-direction: column; gap: var(--space-24); width: 100%; max-width: 40rem; min-height: 720px; padding: var(--space-40); border: 1px solid var(--color-border-subtle); background-color: var(--color-surface-default); }
.calendar__header { display: flex; align-items: center; gap: var(--space-32); min-height: var(--space-60); }
.calendar__nav { display: inline-flex; flex-shrink: 0; align-items: center; justify-content: center; width: 28px; height: 28px; }
.calendar__nav .icon-arrow { width: 100%; height: 100%; color: var(--color-text-default); }
.calendar__month { flex: 1; font-size: var(--font-size-h3); font-weight: 700; line-height: var(--line-height-h3); color: var(--color-text-default); text-align: center; }
.calendar__weekdays, .calendar__grid { display: grid; grid-template-columns: repeat(7, var(--space-80)); }
.calendar__weekdays { border-bottom: 1px solid var(--color-border-subtle); }
.calendar__weekday { display: flex; align-items: center; justify-content: center; height: var(--space-50); font-size: var(--font-size-body); font-weight: 700; line-height: var(--line-height-body); color: #2b2622; }
.calendar__weekday--sun { color: #c0392b; }
.calendar__weekday--sat { color: #3d6eb8; }
.calendar__day { display: flex; align-items: center; justify-content: center; width: var(--space-80); height: var(--space-80); border: 1px solid transparent; background-color: var(--color-surface-default); font-size: var(--font-size-body-lg); font-weight: 500; line-height: var(--line-height-body-lg); color: var(--color-text-default); }
.calendar__day:disabled { cursor: not-allowed; }
.calendar__day.is-empty { background: transparent; pointer-events: none; }
.calendar__day.is-past { color: #c9c2b7; }
.calendar__day.is-today { border: 1.5px solid var(--color-brand-accent-soft); }
.calendar__day.is-unavailable { background-color: var(--color-surface-cream); color: #c9c2b7; }
.calendar__day--sun.is-past, .calendar__day--sun.is-unavailable { color: #e5bab5; }
.calendar__day--sat.is-past, .calendar__day--sat.is-unavailable { color: #b8cade; }
.calendar__day.is-selected { border-color: var(--color-brand-accent-soft); background-color: var(--color-brand-accent-soft); color: var(--color-text-inverse); }
.calendar__day--sun:not(.is-past):not(.is-unavailable):not(.is-selected) { color: #c0392b; }
.calendar__day--sat:not(.is-past):not(.is-unavailable):not(.is-selected) { color: #3d6eb8; }

/* Reservation Legend */
.calendar__legend { display: flex; gap: var(--space-20); align-items: center; position: absolute; left: 0; bottom: 0; padding-block: var(--space-20); transform: translateY(100%); }
.calendar__legend-item { display: inline-flex; gap: var(--space-8); align-items: center; font-size: var(--font-size-body-lg); font-weight: 700; line-height: var(--line-height-body-lg); color: var(--color-text-muted); }
.calendar__legend-item::before { content: ""; flex-shrink: 0; width: var(--space-16); height: var(--space-16); }
.calendar__legend-item--unavailable::before { border: 1px solid var(--color-border-subtle); background-color: var(--color-surface-cream); }
.calendar__legend-item--available::before { background-color: var(--color-brand-accent-soft); }

/* Reservation Status */
.status { --status-visible-rows: 8; --status-empty-rows: 8; --status-row-height: 72px; --status-thead-height: 56px; border: 1px solid var(--color-border-subtle); }
.status__date { padding: var(--space-24) var(--space-32); border-bottom: 1px solid var(--color-border-subtle); background-color: var(--color-surface-cream); font-size: var(--font-size-h3); font-weight: 700; line-height: var(--line-height-h3); color: var(--color-text-default); }
.status__table-wrap { overflow-x: auto; }
.status__empty { display: none; align-items: center; justify-content: center; width: 100%; height: calc(var(--status-row-height) * var(--status-empty-rows)); background-color: var(--color-surface-default); font-size: var(--font-size-body-lg); font-weight: 500; line-height: var(--line-height-body-lg); color: var(--color-text-muted); text-align: center; }
.status.is-empty .status__empty { display: flex; }
.status.is-empty .status__table tbody { display: none; }
.status__table { width: 100%; table-layout: fixed; }
.status__table thead, .status__table tbody { display: block; }
.status__table tbody { overflow-y: hidden; max-height: none; }
.status__table tbody.is-scrollable { overflow-y: auto; max-height: calc(var(--status-row-height) * var(--status-visible-rows)); }
.status__table tr { display: table; width: 100%; table-layout: fixed; }
.status__table tbody tr { height: var(--status-row-height); }
.status__diocese, .status__group { width: 22.37%; }
.status__count { width: 10.53%; }
.status__mass, .status__booking { width: 18.42%; }
.status__data { height: 100%; padding: var(--space-16) var(--space-10); border-bottom: 1px solid var(--color-border-subtle); font-size: var(--font-size-body-lg); font-weight: 500; line-height: var(--line-height-body-lg); color: var(--color-text-default); text-align: center; }
html:not([data-site-lang="ko"]):not([data-site-lang="ja"]):not([data-site-lang="zh-TW"]) .status__data { width: fit-content; font-size: var(--font-size-body-sm); line-height: var(--line-height-body-sm); overflow-wrap: break-word; }
.status__table thead th { height: var(--status-thead-height); padding: 0 var(--space-8); border-bottom: 1px solid #d9d4cc; background-color: var(--color-surface-cream); font-weight: 700; }
.status__row--empty .status__data { height: 100%; padding: 0; }
.status__badge { display: inline-flex; align-items: center; justify-content: center; width: 100%; min-width: 52px; padding: 6px 14px; font-size: var(--font-size-body-sm); font-weight: 700; line-height: var(--line-height-body-sm); overflow-wrap: anywhere; }
.status__badge--done { background-color: var(--color-neutral-950); color: var(--color-text-inverse); }
.status__badge--wait { background-color: #f0ede8; color: #8a8178; }

/* Reservation Submit */
.submit { display: flex; flex-direction: column; gap: var(--space-16); align-items: center; margin-top: var(--space-120); }
.submit__button { display: inline-flex; gap: var(--space-20); align-items: center; justify-content: center; width: 280px; height: var(--space-60); background-color: var(--color-brand-accent-soft); color: var(--color-text-inverse); font-size: 22px; font-weight: 700; line-height: 1; }
.submit__button .icon-pencil { width: var(--space-24); height: var(--space-24); color: var(--color-text-inverse); --icon-stroke-width: 5; }
.submit__button:disabled { border: 1px solid #d9d4cc; background-color: #f7f7f7; color: var(--color-text-default); cursor: not-allowed; }
.submit__button:disabled .icon-pencil { color: var(--color-text-default); }
.submit__message { max-width: 504px; font-size: var(--font-size-body-lg); font-weight: 500; line-height: var(--line-height-body-lg); color: var(--color-text-muted); text-align: center; }

/* Guidelines */
.guidelines { padding-block: var(--space-80) 0; }
.guidelines__header { display: flex; gap: 26px; align-items: center; }
.guidelines__icon { flex-shrink: 0; width: 84px; height: 84px; border-radius: 50%; background-color: #E6E4E1; color: var(--color-text-default); }
.guidelines__title { font-size: var(--font-size-h2); font-weight: 700; line-height: 30px; letter-spacing: -0.44px; color: var(--color-text-default); }
.guidelines__list { padding-left: var(--space-120); font-size: var(--font-size-h4); font-weight: 500; line-height: var(--line-height-h4); color: var(--color-text-muted); list-style: disc; }

/* Contact */
.contact { display: flex; gap: var(--space-24); align-items: center; margin-top: var(--space-30); margin-left: 108px; padding-block: var(--space-40); border-top: 1px solid var(--color-neutral-950); border-bottom: 1px solid var(--color-neutral-950); }
.contact .label { flex-shrink: 0; width: 161px; font-size: var(--font-size-h3); font-weight: 700; line-height: var(--line-height-h3); color: var(--color-text-default); }
.contact__tel { font-size: var(--font-size-h3); font-weight: 500; line-height: var(--line-height-h3); }
.contact__tel a { color: var(--color-text-muted); }

/* ---------------------------------------- Reservation Step 02 ---------------------------------------- */
.reservation__step02[hidden] { display: none !important; }
.reservation__step02 { display: flex; flex-direction: column; gap: var(--space-50); }

/* Form */
.form { border: 1px solid var(--color-border-default); }
.form__row { display: flex; border-bottom: 1px solid var(--color-border-subtle); }
.form__row:last-child { border-bottom: 0; }
.form__row--catholic[hidden], .form__row--plgrm-simple[hidden], .form__row--separate-mass[hidden], .form__row--offi-prst[hidden], .form__row--prst-attach[hidden], .guide__item--catholic[hidden] { display: none !important; }
.form__label { display: flex; flex-shrink: 0; align-items: center; justify-content: center; width: 200px; padding: var(--space-16) var(--space-32); border-right: 1px solid var(--color-border-subtle); color: var(--color-text-default); background-color: var(--color-surface-cream); font-size: var(--font-size-body-lg); font-weight: 500; line-height: var(--line-height-body-lg); text-align: center; overflow-wrap: anywhere; }
.form__value { display: flex; flex: 1; align-items: center; flex-wrap: wrap; min-width: 0; padding: var(--space-16) var(--space-32); }
.form__value--labeled { gap: var(--space-12); }
.form__value--wrap { flex-wrap: wrap; gap: var(--space-16); align-items: center; }
.form__date { font-size: var(--font-size-body-lg); font-weight: 500; line-height: var(--line-height-body-lg); }
.form__options { display: flex; flex-wrap: wrap; gap: var(--space-50); align-items: center; }
.form__options--mass { gap: var(--space-32); }
.form__option { display: inline-flex; gap: var(--space-12); align-items: center; cursor: pointer; font-size: var(--font-size-h4); font-weight: 500; line-height: var(--line-height-h4); }
.form__option::before { content: ""; flex-shrink: 0; width: 22px; height: 22px; border: 2px solid var(--color-border-subtle); border-radius: 50%; background-color: var(--color-surface-default); }
.form__option:has(.form__option-input:checked)::before { border-color: var(--color-border-emphasis); background-color: var(--color-border-emphasis); box-shadow: inset 0 0 0 3px var(--color-surface-default); }
.form__option:has(.form__option-input:focus-visible)::before { outline: 2px solid var(--color-brand-accent-soft); outline-offset: 2px; }
.form__field-group { display: flex; flex-wrap: wrap; gap: var(--space-24); align-items: center; width: 100%; }
.form__field-item { display: flex; gap: var(--space-30); align-items: center; }
.form__sub-label { min-width: 100px; font-size: var(--font-size-body-lg); font-weight: 500; line-height: var(--line-height-body-lg); color: #8a8178; }
.form__sub-label--compact { min-width: fit-content; width: fit-content; text-wrap: nowrap; }
.form__input, .form__select, .form__textarea { width: 100%; padding: var(--space-18); border: 1px solid var(--color-border-subtle); background-color: var(--color-surface-default); color: var(--color-text-default); font-size: var(--font-size-h4); line-height: var(--line-height-h4); }
.form__input:-webkit-autofill, .form__input:-webkit-autofill:hover, .form__input:-webkit-autofill:focus, .form__input:-webkit-autofill:active, .form__textarea:-webkit-autofill, .form__textarea:-webkit-autofill:hover, .form__textarea:-webkit-autofill:focus, .form__textarea:-webkit-autofill:active { -webkit-box-shadow: 0 0 0 1000px var(--color-surface-default) inset; -webkit-text-fill-color: var(--color-text-default); transition: background-color 5000s ease-in-out 0s; }
.form__input::placeholder, .form__select--optional:invalid { color: #afafaf; }
.form__input--parish { width: 220px; }
.form__input--full { max-width: 900px; }
.form__field { display: flex; flex-direction: column; gap: var(--space-15); width: 100%; }
.form__hint { font-size: var(--font-size-body); line-height: var(--line-height-body-lg); color: #8a8178; }
.form__count { display: flex; flex-wrap: wrap; gap: var(--space-20); align-items: center; }
.form__count[hidden] { display: none !important; }
.form__count--single { gap: var(--space-12); }
.form__count-unit { font-size: var(--font-size-h3); font-weight: 500; line-height: var(--line-height-h3); }
.form__input--count-wide { width: 200px; }
.form__select-wrap { position: relative; }
.form__select-wrap--fixed { width: 320px; }
.form__select { width: 100%; padding-inline: var(--space-12) var(--space-32); padding-block: var(--space-18); appearance: none; cursor: pointer; }
.form__select--optional option { color: var(--color-text-default); }
.form__select-icon { position: absolute; top: 50%; right: 18px; display: block; width: 10px; height: 6px; color: var(--color-text-default); pointer-events: none; transform: translateY(-50%); }
.form__counts { display: flex; flex-wrap: wrap; gap: var(--space-20); align-items: center; }
.form__input--count { width: 110px; text-align: right; }
.form__input--total { color: var(--color-text-default); background-color: var(--color-surface-default); cursor: default; pointer-events: none; }
.form__input--wide { max-width: 700px; }
.form__attach { display: flex; flex-wrap: wrap; gap: var(--space-12); align-items: stretch; width: 100%; }
.form__attach-trigger { display: inline-flex; flex-shrink: 0; align-items: center; justify-content: center; width: 140px; background-color: var(--color-surface-dark); font-size: var(--font-size-body); font-weight: 700; line-height: var(--line-height-body); color: var(--color-text-inverse); cursor: pointer; }
.form__attach-trigger:focus { outline: none; }
.form__attach-trigger:focus-visible { outline: 2px solid var(--color-brand-accent-soft); outline-offset: 2px; }
.form__attach-preview { display: flex; flex-wrap: wrap; gap: var(--space-8) var(--space-12); align-items: center; width: 100%; }
.form__attach-preview[hidden] { display: none !important; }
.form__attach-preview::before { content: "첨부파일"; flex-shrink: 0; font-size: var(--font-size-body); font-weight: 500; line-height: var(--line-height-body); color: #8a8178; }
.form__attach-name { flex: 1; min-width: 0; font-size: var(--font-size-body); font-weight: 500; line-height: var(--line-height-body); color: var(--color-text-default); word-break: break-all; }
.form__attach-remove { flex-shrink: 0; font-size: var(--font-size-body); font-weight: 500; line-height: var(--line-height-body); color: #8a8178; text-decoration: underline; }
.form__guide { display: grid; grid-template-columns: 200px 1fr; border-bottom: 1px solid var(--color-border-subtle); }
.form__row--guide { display: contents; }
.form__row--guide[hidden] { display: none !important; }
.form__label--guide-side { grid-column: 1; grid-row: 1 / 3; align-self: stretch; border-right: 1px solid var(--color-border-subtle); border-bottom: 0; }
.reservation__step02.is-catholic .form__label--guide-side { grid-row: 1 / 4; }
.form__label--guide-hidden { display: none; }
.form__value--guide-cell { grid-column: 2; padding: var(--space-16) var(--space-32); }
.form__value--guide-row1 { grid-row: 1; }
.form__value--guide-row2 { grid-row: 2; }
.form__value--guide-row3 { grid-row: 3; }
.reservation__step02:not(.is-catholic) .form__value--guide-row2 { border-bottom: 0; }
.form__tel { display: grid; grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr) auto minmax(0, 1fr); gap: var(--space-10); align-items: center; width: 100%; max-width: 440px; }
.form__select-wrap--tel { min-width: 0; }
.form__select--tel { min-width: 0; }
.form__tel-sep { font-size: var(--font-size-body-lg); font-weight: 700; line-height: var(--line-height-body-lg); color: #8a8178; }
.form__input--tel { min-width: 0; }
.form__textarea { min-height: 200px; height: auto; border: 0; }
.form__textarea--fill { height: 100%; }

/* Guide */
.guide__list { display: flex; flex-direction: column; border: 1px solid var(--color-border-subtle); }
.guide__item { display: flex; gap: var(--space-32); align-items: center; padding: var(--space-20) var(--space-32); border-bottom: 1px solid var(--color-border-subtle); }
.guide__item:last-child { border-bottom: 0; }
.guide__title { flex-shrink: 0; width: 280px; font-size: var(--font-size-body-lg); font-weight: 700; line-height: var(--line-height-body-lg); color: var(--color-text-default); }
.guide__desc { flex: 1; min-width: 0; font-size: var(--font-size-body); line-height: var(--line-height-body); color: var(--color-text-muted); }
.guide__emphasis { font-weight: 700; color: #c0392b; }

/* Form Submit */
.application-actions { display: flex; gap: var(--space-16); justify-content: center; }
.application-actions__button { display: inline-flex; align-items: center; justify-content: center; width: 200px; height: var(--space-60); font-size: var(--font-size-body-lg); font-weight: 700; line-height: var(--line-height-body-lg); }
.application-actions__button--cancel { border: 1px solid #d9d4cc; background-color: #f7f7f7; color: var(--color-text-default); }
.application-actions__button--confirm { background-color: var(--color-surface-dark); color: var(--color-text-inverse); }

/* Application Result Modal */
body.is-application-result-open { overflow: hidden; }
.application-result { width: min(500px, calc(100vw - 64px)); padding: var(--space-60) var(--space-50) var(--space-80); border: 0; background-color: var(--color-surface-default); box-shadow: 0 8px 32px rgba(0, 0, 0, 0.25); }
.application-result:not([open]) { display: none; }
.application-result[open] { display: flex; flex-direction: column; gap: var(--space-16); align-items: center; animation: application-result-slide-up 0.45s cubic-bezier(0.32, 0.72, 0, 1) both; }
.application-result::backdrop { animation: application-result-backdrop-in 0.35s ease both; }
.application-result:focus { outline: none; }
@keyframes application-result-slide-up { from { transform: translateY(100%); opacity: 0; } to { transform: translateY(0); opacity: 1; } }
@keyframes application-result-backdrop-in { from { background-color: rgba(0, 0, 0, 0); } to { background-color: rgba(0, 0, 0, 0.5); } }
@media (prefers-reduced-motion: reduce) { .application-result[open], .application-result::backdrop { animation: none; } .application-result::backdrop { background-color: rgba(0, 0, 0, 0.5); } }
.application-result__icon { width: 72px; height: 72px; margin-bottom: var(--space-8); color: var(--color-brand-accent); }
.application-result__title { text-align: center; font-size: var(--font-size-title-page); font-weight: 700; line-height: var(--line-height-title-page); color: var(--color-text-default); }
.application-result__desc { text-align: center; font-size: var(--font-size-body-lg); font-weight: 500; line-height: var(--line-height-body-lg); color: var(--color-text-muted); }
.application-result__info { display: grid; grid-template-columns: 90px 1fr; gap: var(--space-15); width: 100%; margin: var(--space-8) 0 0; padding-top: var(--space-24); padding-bottom: var(--space-20); border-top: 1px solid #e8e3da; }
.application-result__info dt { font-size: var(--font-size-body-lg); font-weight: 500; line-height: var(--line-height-body-lg); color: #8a8178; }
.application-result__info dd { min-width: 0; margin: 0; font-size: var(--font-size-body-lg); font-weight: 500; line-height: var(--line-height-body-lg); color: var(--color-text-default); word-break: break-all; }
.application-result__confirm { display: inline-flex; align-items: center; justify-content: center; width: 280px; height: var(--space-60); background-color: var(--color-surface-dark); font-size: var(--font-size-body); font-weight: 700; line-height: var(--line-height-body); color: var(--color-text-inverse); }
.application-result__confirm:focus { outline: none; }


@media (max-width: 1320px) {
    /* ---------------------------------------- Reservation Step 01 ---------------------------------------- */
    /* Reservation Board */
    .reservation__board { grid-template-columns: minmax(0, 1fr); gap: var(--space-80); }

    /* Reservation Calendar */
    .calendar { max-width: none; padding-bottom: var(--space-80); }
    .calendar__weekdays, .calendar__grid { grid-template-columns: repeat(7, minmax(0, 1fr)); }
    .calendar__day { width: 100%; }

    /* Reservation Legend */
    .calendar__legend { left: var(--space-40); transform: none; }

    /* Reservation Status */
    .reservation-panel--status { scroll-margin-top: var(--header-bar-height, 85px); }
    .status { --status-visible-rows: 5; --status-empty-rows: 1; }
    .status__row--empty { display: none; }

    /* Reservation Submit */
    .submit { margin-top: var(--space-80); }
}


@media (max-width: 768px) {
    /* ---------------------------------------- Reservation Step 01 ---------------------------------------- */
    /* Reservation Notice */
    .reservation__notice { gap: 6px; margin-bottom: var(--space-32); padding: var(--space-20); }

    /* Reservation Board */
    .reservation__board { gap: var(--space-32); }
    .reservation-panel { gap: var(--space-16); }
    .reservation-panel__title { line-height: var(--line-height-h3); }

    /* Reservation Calendar */
    .calendar { width: 100%; min-height: auto; gap: 0; padding: var(--space-20) 0; }
    .calendar__header { justify-content: space-between; gap: 0; min-height: 44px; padding-inline: var(--space-20); }
    .calendar__month { line-height: var(--line-height-h3); }
    .calendar__weekdays, .calendar__grid { grid-template-columns: repeat(7, minmax(0, 1fr)); }
    .calendar__weekdays { margin-top: var(--space-10); }
    .calendar__weekday { height: var(--space-50); font-size: var(--font-size-body); line-height: var(--line-height-body); }
    .calendar__day { width: 100%; height: var(--space-50); font-size: var(--font-size-body); line-height: var(--line-height-body); }
    .calendar__legend { position: static; margin-top: var(--space-12); padding-left: var(--space-16); }
    .calendar__legend-item { gap: 6px; font-size: 13px; font-weight: 500; line-height: 18px; }
    .calendar__legend-item::before { width: var(--space-12); height: var(--space-12); }

    /* Reservation Status */
    .status__date { padding: 14px var(--space-20); line-height: var(--line-height-h3); }
    .status { --status-row-height: 50px; --status-thead-height: 42px; }
    .status__diocese { display: none; }
    .status__group { width: 34.29%; }
    .status__count { width: 14.29%; }
    .status__mass { width: 27.43%; }
    .status__booking { width: 24%; }
    .status__table thead th { height: 42px; padding: 0 var(--space-4); font-size: var(--font-size-body-sm); line-height: var(--line-height-body-sm); }
    .status__table tbody .status__data { height: var(--status-row-height); padding: var(--space-4); font-size: var(--font-size-body-sm); line-height: var(--line-height-body-sm); }
    .status__row--empty { display: none; }
    .status__badge { min-width: auto; padding: var(--space-4) var(--space-10); font-size: var(--font-size-body-sm); line-height: var(--line-height-body-sm); }

    /* Reservation Submit */
    .submit { gap: var(--space-12); margin-top: var(--space-32); padding-inline: var(--space-16); }
    .submit__button { width: auto; height: auto; padding: var(--space-16) 56px; gap: var(--space-16); font-size: var(--font-size-h3); line-height: var(--line-height-h3); }
    .submit__message { max-width: none; font-size: var(--font-size-body); line-height: var(--line-height-body); }

    /* Guidelines */
    .guidelines { padding: var(--space-80) var(--space-32) var(--space-40); }
    .guidelines__header { gap: var(--space-10); }
    .guidelines__icon { width: 56px; height: 56px; }
    .guidelines__title { line-height: var(--line-height-h2); letter-spacing: 0; }
    .guidelines__list { display: flex; flex-direction: column; gap: var(--space-8); padding: var(--space-16); padding-left: 28px; font-size: var(--font-size-body); line-height: var(--line-height-body); }

    /* Contact */
    .contact { flex-direction: column; gap: 6px; align-items: center; margin-top: 0; margin-left: 0; padding: 28px var(--space-16); text-align: center; }
    .contact .label { width: auto; }

    /* ---------------------------------------- Reservation Step 02 ---------------------------------------- */
    .form__row { flex-direction: column; gap: var(--space-16); padding: var(--space-20) var(--space-16); }
    .form__label { justify-content: flex-start; width: auto; padding: 0; border-right: 0; background-color: transparent; text-align: left; }
    .form__value { padding: 0; align-items: stretch; }
    .form__date { font-size: var(--font-size-title-page); line-height: var(--line-height-title-page); }
    .form__options { gap: var(--space-16); }
    .form__option::before { width: 24px; height: 24px; }
    .form__field-group { flex-direction: column; align-items: stretch; gap: var(--space-16); }
    .form__field-item { flex-direction: column; align-items: stretch; gap: var(--space-8); }
    .form__input, .form__select { padding: var(--space-15); }
    .form__select { padding-right: var(--space-20); }
    .form__input--parish { width: 100%; }
    .form__input--full { max-width: none; width: 100%; }
    .form__input--count-wide { width: 120px; }
    .form__value--wrap { flex-direction: column; align-items: stretch; }
    .form__select-wrap--fixed { width: 100%; }
    .form__select-icon { right: 10px; }
    .form__counts { flex-wrap: wrap; gap: var(--space-12); }
    .form__input--count { width: 100px; }
    .form__input--wide { max-width: none; width: 100%; }
    .form__attach { flex-direction: column; align-items: stretch; }
    .form__attach-trigger { width: 100%; height: 3rem; }
    .form__guide { display: flex; flex-direction: column; border-bottom: 0; }
    .form__row--guide { display: flex; flex-direction: column; gap: var(--space-16); padding: var(--space-20) var(--space-16); border-bottom: 1px solid var(--color-border-subtle); }
    .form__label--guide-side { grid-column: auto; grid-row: auto; align-self: auto; border-right: 0; }
    .form__label--guide-hidden { display: flex; }
    .form__value--guide-cell { grid-column: auto; grid-row: auto; padding: 0; border-bottom: 0; }
    .form__tel { gap: var(--space-8); }
    .form__tel--guide { gap: var(--space-4); width: 100%; max-width: none; }
    .form__tel-sep { font-size: var(--font-size-body); color: #c9c2b7; }
    .form__textarea { min-height: 280px; height: auto; width: 100%; max-width: none; padding: var(--space-15); border: 1px solid var(--color-border-subtle); }

    /* Guide */
    .guide__item { flex-direction: column; gap: var(--space-8); align-items: flex-start; padding: var(--space-30) var(--space-16); background-color: var(--color-surface-cream); }

    /* Form Submit */
    .application-actions { gap: var(--space-12); }
    .application-actions__button { flex: 1; width: auto; height: 54px; }

    /* Application Result Modal */
    .application-result { padding: var(--space-40) var(--space-24) var(--space-50); }
    .application-result[open] { gap: var(--space-20); }
    .application-result__icon { margin-bottom: var(--space-4); }
    .application-result__info { grid-template-columns: 80px 1fr; margin-top: var(--space-4); }
    .application-result__confirm { width: 100%; max-width: 280px; height: 54px; }
}

