@charset "utf-8";
.root_daum_roughmap .wrap_map, .root_daum_roughmap, .direction-map iframe {width:100% !important; height:100% !important;}

/* agreement · list */
.agreement-banner {padding: clamp(40px, calc(100 / var(--inner) * 100vw), 167px) 0; background: url('/images/sub/agreement-banner.jpg') no-repeat center center / cover; text-align: center; color: rgba(255, 255, 255, 0.70);}
.agreement-banner h3 {font-size: var(--font-size-38); line-height: 1.3684em; font-weight: 600;}
.agreement-banner p {margin-top: var(--space-40); font-size: var(--font-size-22); line-height: 1.6364em; font-weight: 500;}

.agreement-list-section {padding-top: var(--space-100);}
.agreement-list-section h3 {margin-bottom: var(--space-60); font-size: var(--font-size-38); line-height: 1.3684em; font-weight: 600; color: #a8a8a8;}
.agreement-logo-grid {display:grid; grid-template-columns:repeat(6,1fr); gap: calc(var(--space-20) / 2);}
.agreement-logo-grid li.none {grid-column: 1 / -1; text-align: center;}
.agreement-logo-item {display: flex; justify-content: center; align-items: center; position: relative; aspect-ratio: 225 / 100; border-radius: calc(var(--radius-16) / 2); overflow: hidden;}
.agreement-logo-item:after {content: ''; position: absolute; top: 0; right: 0; bottom: 0; left: 0; border-radius: calc(var(--radius-16) / 2); border: 1px solid #EEE;}

/* about · greetings */
.greetings-top {display: flex; gap: var(--space-40); margin-bottom: var(--space-80);}
.greetings-photo {width: 48%; max-width: 660px; border-radius: var(--radius-16); overflow: hidden;}
.greetings-intro {flex: 1; min-width: 0; display: flex; flex-direction: column; justify-content: center; gap: var(--space-40); padding: var(--space-40); font-size: var(--font-size-20); line-height: 1.7em;}
.greetings-intro h3 {font-size: var(--font-size-38); line-height: 1.3684em; font-weight: 600; color: var(--dark-color);}
.greetings-text {font-size: var(--font-size-20); line-height: 1.7em;}
.greetings-text p:not(:last-child) {margin-bottom: var(--space-24);}
.greetings-section-head {display: flex; align-items: center; gap: var(--space-30); margin-bottom: var(--space-40);}
.greetings-section-head .bar-accent {display: flex; flex-direction: column;}
.greetings-section-head .bar-accent span {display: block; width: calc(var(--space-16) / 4); height: calc(var(--space-34) + var(--space-16) / 4); }
.greetings-section-head .bar-accent span:nth-child(1) {background: var(--color-primary);}
.greetings-section-head .bar-accent span:nth-child(2) {background: var(--color-secondary);}
.greetings-section-head h3 {font-size: var(--font-size-32); line-height: 1.4375em; font-weight: 600; color: var(--dark-color);}
.greetings-signature {display: flex; align-items: center; gap: var(--space-24); margin-top: var(--space-40); font-size: var(--font-size-18); font-weight: 500; color: var(--dark-color); line-height: 1.5556em;}

/* about · vision */
.vision-hero {position: relative; padding: clamp(50px, calc(170 / var(--inner) * 100vw), 170px) var(--container-space); display: flex; align-items: center; justify-content: center; overflow: hidden;}
.vision-hero-bg {position: absolute; inset: 0; z-index: 0;}
.vision-hero-bg img {width: 100%; height: 100%; object-fit: cover;}
.vision-hero-bg::before {content: ''; position: absolute; inset: 0; background: linear-gradient(90deg, #9e8f89 0%, #61748d 100%); mix-blend-mode: color; z-index: 1;}
.vision-hero-bg::after {content: ''; position: absolute; inset: 0; background: rgba(18, 18, 18, .8); z-index: 2;}
.vision-hero-inner {position: relative; z-index: 3; max-width: 940px; text-align: center;}
.vision-hero-tit {font-size: var(--font-size-38); font-weight: 600; color: rgba(255, 255, 255, .7); line-height: 1.3684em; letter-spacing: -.02em;}
.vision-hero-tit strong {color: #fff; font-weight: 600;}
.vision-hero-desc {margin-top: var(--space-40); font-size: var(--font-size-22); font-weight: 500; color: rgba(255, 255, 255, .7); line-height: 1.6364em; letter-spacing: -.02em;}
.vision-hero-desc strong {color: #fff; font-weight: 500;}
.vision-content {padding: var(--space-100) 0 0;}
.vision-content-head {margin-bottom: var(--space-60); text-align: center;}
.vision-content-tit {font-size: var(--font-size-38); font-weight: 600; color: var(--dark-color); line-height: 1.3684em; letter-spacing: -.02em;}
.vision-content-desc {margin-top: var(--space-16); font-size: var(--font-size-20); font-weight: 500; color: #676767; line-height: 1.7em; letter-spacing: -.02em;}
.vision-values {margin-bottom: var(--space-80); padding: 0 clamp(var(--space-20), calc(260 / var(--inner) * 100vw), 260px);}
.vision-values-list {display: flex; gap: var(--space-34); margin: 0; padding: var(--space-24); list-style: none; border: calc(var(--space-16) / 4) solid #eee; border-radius: 500px;}
.vision-values-item {flex: 1 1 0; aspect-ratio: 1 / 1; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: calc(var(--space-16) / 4); min-width: 0; border-radius: 50%;}
.vision-values-item--passion {background: linear-gradient(180deg, rgba(0, 0, 0, 0) 0%, rgba(0, 0, 0, .08) 100%), #edf4f0;}
.vision-values-item--honesty {background: linear-gradient(180deg, rgba(0, 0, 0, 0) 0%, rgba(0, 0, 0, .08) 100%), #fff8ea;}
.vision-values-item--faith {background: linear-gradient(180deg, rgba(0, 0, 0, 0) 0%, rgba(0, 0, 0, .08) 100%), #f5f0f6;}
.vision-values-hanja {font-size: var(--font-size-38); font-weight: 700; color: var(--dark-color); line-height: 1.3684em; letter-spacing: -.02em;}
.vision-values-ko {font-size: var(--font-size-24); font-weight: 600; color: #676767; line-height: 1.667em; letter-spacing: -.02em;}
.vision-detail-list {display: flex; flex-direction: column; gap: var(--space-16); padding: 0 clamp(var(--space-20), calc(260 / var(--inner) * 100vw), 260px);}
.vision-detail-item {display: flex; align-items: center; gap: var(--space-60);}
.vision-detail-photo {flex-shrink: 0; width: 380px; max-width: 42%; height: 280px; border-radius: var(--radius-16); overflow: hidden;}
.vision-detail-photo img {width: 100%; height: 100%; object-fit: cover; object-position: center bottom; display: block;}
.vision-detail-txt {flex: 1; min-width: 0; display: flex; flex-direction: column; gap: var(--space-24);}
.vision-detail-head {display: flex; align-items: center; gap: calc(var(--space-24) / 2);}
.vision-detail-tit {font-size: var(--font-size-28); font-weight: 600; color: var(--dark-color); line-height: 1.5em; letter-spacing: -.02em;}
.vision-detail-badge {display: inline-flex; align-items: center; padding: calc(var(--space-16) / 4) calc(var(--space-16) / 2) calc(var(--space-24) / 4); border-radius: calc(var(--space-16) / 4); font-size: var(--font-size-14); font-weight: 500; line-height: 1.143em; letter-spacing: -.02em;}
.vision-detail-badge--green {background: #edf4f0; color: var(--color-primary);}
.vision-detail-badge--yellow {background: #fff8ea; color: #edb64a;}
.vision-detail-badge--purple {background: #f5f0f6; color: var(--color-secondary);}
.vision-detail-desc {font-size: var(--font-size-20); font-weight: 400; color: #505050; line-height: 1.7em; letter-spacing: -.02em;}
.vision-detail-desc p + p {margin-top: var(--space-16);}

/* about · history */
.history-hero {position: relative; padding: clamp(50px, calc(170 / var(--inner) * 100vw), 170px) var(--container-space); display: flex; align-items: center; justify-content: center; overflow: hidden;}
.history-hero-bg {position: absolute; inset: 0; z-index: 0;}
.history-hero-bg img {width: 100%; height: 100%; object-fit: cover; object-position: center bottom;}
.history-hero-bg::before {content: ''; position: absolute; inset: 0; background: radial-gradient(circle at center, rgba(0, 0, 0, .34) 0%, rgba(0, 0, 0, 0) 100%); z-index: 1;}
.history-hero-bg::after {content: ''; position: absolute; inset: 0; background: rgba(18, 18, 18, .16); z-index: 2;}
.history-hero-inner {position: relative; z-index: 3; max-width: 940px; text-align: center;}
.history-hero-tit {font-size: var(--font-size-38); font-weight: 600; color: #fff; line-height: 1.3684em; letter-spacing: -.02em;}
.history-intro {padding: var(--space-100) 0;}
.history-intro-tit {font-size: var(--font-size-38); font-weight: 600; color: var(--dark-color); line-height: 1.3684em; letter-spacing: -.02em; text-align: center;}



/* about · organization */
.sec-org {padding: var(--space-100) 0;}
.sec-org img {width: 100%; height: auto; display: block;}
.sec-branches {padding: var(--space-100) 0 calc(var(--space-100) + var(--space-20)); margin-top: var(--space-100); border-top: 1px solid #ddd;}
.branches-head {margin-bottom: var(--space-60);}
.branches-tit {display: flex; flex-wrap: wrap; align-items: center; gap: calc(var(--space-24) / 2); font-size: var(--font-size-38); font-weight: 600; color: var(--dark-color); line-height: 1.3684em; letter-spacing: -.02em;}
.branches-tit small {font-size: var(--font-size-20); font-weight: 500; color: #a8a8a8; line-height: 1.7em; letter-spacing: -.02em;}
.branches-list {display: flex; flex-direction: column; gap: calc(var(--space-20) / 2);}
.branches-row {display: flex; gap: calc(var(--space-20) / 2); align-items: flex-start;}
.branches-hq {flex: 0 0 230px; margin: 0; padding: var(--space-20) var(--space-24); border-radius: calc(var(--radius-16) / 2); font-size: var(--font-size-20); font-weight: 500; line-height: 1.7em; letter-spacing: -.02em;}
.branches-hq--green {background: #edf4f0; color: var(--color-primary);}
.branches-hq--purple {background: #f5f0f6; color: var(--color-secondary);}
.branches-offices {flex: 1; display: grid; grid-template-columns: repeat(7, 1fr); gap: calc(var(--space-20) / 2); margin: 0; padding: 0; list-style: none;}
.branches-offices li {flex: 1 1 157px; display: flex; align-items: center; justify-content: center; padding: var(--space-20); border: 1px solid #eee; border-radius: calc(var(--radius-16) / 2); background: #fff; font-size: var(--font-size-20); font-weight: 500; color: #505050; line-height: 1.7em; letter-spacing: -.02em; text-align: center; transition: border-color .25s, color .25s, box-shadow .25s;}

/* about · directions */
.direction-map {margin-bottom: var(--space-60); height: clamp(250px, calc(480 / var(--inner) * 100vw), 480px);}
.sec-direction {display: flex; align-items: flex-start; justify-content: space-between; gap: var(--space-40); padding-bottom: calc(var(--space-100) + var(--space-20));}
.direction-info {display: flex; flex-direction: column; gap: calc(var(--space-40) + var(--space-16) / 4); flex: 1; min-width: 0;}
.direction-head {display: flex; flex-direction: column; gap: var(--space-16);}
.direction-tit {font-size: var(--font-size-38); font-weight: 600; color: var(--color-primary); line-height: 1.3684em; letter-spacing: -.02em;}
.direction-addr {font-size: var(--font-size-20); font-weight: 500; color: var(--dark-color); line-height: 1.7em; letter-spacing: -.03em;}
.direction-links {display: flex; flex-wrap: wrap; gap: calc(var(--space-20) / 2);}
.direction-link {display: inline-flex; align-items: center; gap: calc(var(--space-16) / 2); padding: calc(var(--space-20) / 2) var(--font-size-18) calc(var(--space-20) / 2) calc(var(--space-20) / 2); border-radius: 500px; background: #f6f6f6; font-size: var(--font-size-16); font-weight: 500; color: var(--dark-color); line-height: 1.5em; letter-spacing: -.02em; text-decoration: none;}
.direction-link:hover {background: var(--primary-color); color: #fff;}
.direction-link-icon {display: flex; align-items: center; justify-content: center; width: 26px; height: 26px; border: 1px solid #eee; border-radius: 50%; background: #fff; overflow: hidden;}
.direction-link-icon img {width: var(--font-size-16); height: var(--font-size-16); object-fit: contain;}
.direction-cards {display: flex; flex-wrap: wrap; gap: calc(var(--space-20) / 2); flex-shrink: 0;}
.direction-card {display: flex; flex-direction: column; gap: var(--space-40); width: 240px; min-height: 100%; padding: var(--space-40); border: 1px solid #eee; border-radius: var(--radius-16);}
.direction-card-icon {display: flex; align-items: center; justify-content: center; width: 56px; height: 56px; border-radius: 50%;}
.direction-card-icon img {width: var(--space-24); height: var(--space-24); object-fit: contain;}
.direction-card-icon--purple {background: #f8f3f8;}
.direction-card-icon--green {background: #edf4f0;}
.direction-card-body {display: flex; flex-direction: column; gap: calc(var(--space-16) / 2);}
.direction-card-label {font-size: var(--font-size-16); font-weight: 500; color: #878787; line-height: 1.5em; letter-spacing: -.02em;}
.direction-card-value {font-size: var(--font-size-20); font-weight: 500; color: var(--dark-color); line-height: 1.5em; letter-spacing: -.03em;}
.direction-card-value a {color: inherit; text-decoration: none;}
.direction-card-note {font-size: var(--font-size-16); font-weight: 400; color: #a8a8a8; line-height: 1.5em; letter-spacing: -.02em;}

/* relocation · consultation */
.relocation-hero {margin-bottom: var(--space-100); border-radius: var(--radius-16); overflow: hidden;}
.relocation-hero img {width: 100%; height: auto; display: block; object-fit: cover; object-position: center bottom;}
.relocation-inquiry-head {margin-bottom: var(--space-60);}
.relocation-inquiry-head h3 {font-size: var(--font-size-38); font-weight: 600; color: var(--dark-color); line-height: 1.37em; letter-spacing: -.02em;}
.relocation-inquiry-desc {margin-top: var(--space-16); font-size: var(--font-size-20); font-weight: 500; color: #676767; line-height: 1.7em; letter-spacing: -.02em;}
.relocation-consult .inquiry-form-head {display: none;}
.relocation-consult .inquiry-form {border-top: 2px solid var(--dark-color);}
.relocation-consult .inquiry-form-body {border-bottom: 1px solid #eee; padding-bottom: var(--space-50);}

/* system · hero */
.system-hero {position: relative; padding: clamp(50px, calc(170 / var(--inner) * 100vw), 170px) var(--container-space); display: flex; align-items: center; justify-content: center; overflow: hidden;}
.system-hero-bg {position: absolute; inset: 0; z-index: 0;}
.system-hero-bg img {width: 100%; height: 100%; object-fit: cover; mix-blend-mode: luminosity;}
.system-hero-bg::after {content: ""; position: absolute; inset: 0; background: rgba(18, 18, 18, .88);}
.system-eligibility .system-hero-bg::after {background: radial-gradient(circle at center, rgba(0, 0, 0, .34) 0%, rgba(0, 0, 0, 0) 100%), linear-gradient(90deg, rgba(18, 18, 18, .2) 0%, rgba(18, 18, 18, .2) 100%);}
.system-hero-inner {position: relative; z-index: 1; max-width: 940px; text-align: center;}
.system-hero-tit {font-size: var(--font-size-38); font-weight: 600; color: rgba(255, 255, 255, .7); line-height: 1.37em; letter-spacing: -.02em;}
.system-hero-tit strong {color: #fff; font-weight: 600;}
.system-hero-desc {margin-top: var(--space-40); font-size: var(--font-size-22); font-weight: 500; color: rgba(255, 255, 255, .7); line-height: 1.64em; letter-spacing: -.02em;}
.system-hero-desc strong {color: #fff; font-weight: 500;}

/* system · benefits */
.system-benefits-body {padding: var(--space-100) 0 0;}
.system-section-head {margin-bottom: calc(var(--space-50) + var(--space-20));}
.system-section-tit {font-size: var(--font-size-38); font-weight: 600; color: var(--dark-color); line-height: 1.37em; letter-spacing: -.02em;}
.system-section-desc {margin-top: var(--space-16); font-size: var(--font-size-20); font-weight: 500; color: #878787; line-height: 1.7em; letter-spacing: -.02em;}
.system-benefits-list {display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--space-50) var(--space-24); list-style: none; margin: 0; padding: 0;}
.system-benefits-item {display: flex; flex-direction: column; gap: var(--space-40);}
.system-benefits-pic {border-radius: var(--radius-16); overflow: hidden;}
.system-benefits-info {display: flex; flex-direction: column; gap: var(--space-24);}
.system-benefits-icon {width: 48px; height: 48px;}
.system-benefits-icon img {width: 100%; height: 100%; object-fit: contain;}
.system-benefits-tit {font-size: var(--font-size-28); font-weight: 600; color: var(--dark-color); line-height: 1.5em; letter-spacing: -.02em;}
.system-benefits-txt {font-size: var(--font-size-20); font-weight: 500; color: #878787; line-height: 1.7em; letter-spacing: -.02em;}

/* system · eligibility */
.system-eligibility-body {padding: var(--space-100) 0 0;}
.system-eligibility-list {display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--space-24); list-style: none; margin: 0; padding: 0;}
.system-eligibility-item {display: flex; flex-direction: column; justify-content: space-between; gap: var(--space-40); padding: var(--space-40); border: 1px solid #eee; border-radius: var(--radius-16);}
.system-eligibility-head {display: flex; flex-direction: column; gap: var(--space-16);}
.system-badge {display: inline-flex; align-items: center; gap: calc(var(--space-16) / 4); padding: calc(var(--space-24) / 4) calc(var(--space-24) / 2); border-radius: 500px; font-size: var(--font-size-14); font-weight: 600; line-height: 1.14em; letter-spacing: -.02em; width: fit-content;}
.system-badge--primary {background: #edf4f0; color: #66af83;}
.system-badge--primary .system-badge-num {color: var(--color-primary);}
.system-badge--secondary {background: #f8f3f8; color: #ba7ec7;}
.system-badge--secondary .system-badge-num {color: #8f4d9d;}
.system-badge--note {color: #ba7ec7;}
.system-eligibility-tit {font-size: var(--font-size-24); font-weight: 600; color: #878787; line-height: 1.42em; letter-spacing: -.02em;}
.system-eligibility-tit strong {color: var(--dark-color);}
.system-eligibility-icon {align-self: flex-end; width: 72px; height: 72px;}
.system-eligibility-icon img {width: 100%; height: 100%; object-fit: contain;}

/* system · process */
.system-process {border-top: 2px solid #eee;}
.system-process-wrap {display: flex; align-items: flex-start;}
.system-process-aside {flex: 0 0 50%; max-width: 50%; background: #fafafa; border-right: 1px solid #eee; align-self: stretch;}
.system-process-aside-sticky {position: sticky; top: var(--header-height); max-width: 730px; margin-left: auto; padding: var(--space-80) var(--container-space);}
.system-process-aside-panel {display: none; flex-direction: column;}
.system-process-aside-panel.is-active {display: flex;}
.system-process-aside-panel .system-process-day-label + .system-process-day-desc {margin-top: var(--space-40);}
.system-process-aside-panel .system-process-day-desc {margin-bottom: var(--space-60);}
.system-process-aside-panel .system-process-nav--prev {margin-bottom: var(--space-60);}
.system-process-aside-panel .system-process-nav:not(.system-process-nav--prev) {margin-top: 0;}
.system-process-aside-inner {max-width: 360px;}
.system-process-day-label {display: flex; align-items: flex-start; gap: calc(var(--space-20) / 2);}
.system-process-day-label.is-active .system-process-day-tit {color: var(--dark-color);}
.system-process-day-tit {font-size: var(--font-size-38); font-weight: 600; color: #ccc; line-height: 1.37em; letter-spacing: -.02em;}
.system-process-day-label.is-active .system-process-day-tit::after {content: ""; display: inline-block; width: calc(var(--space-16) / 2); height: calc(var(--space-16) / 2); margin-left: calc(var(--space-20) / 2); border-radius: 50%; background: #8f4d9d; vertical-align: super;}
.system-process-day-desc {font-size: var(--font-size-24); font-weight: 600; color: var(--dark-color); line-height: 1.67em; letter-spacing: -.02em;}
.system-process-nav {margin: 0; list-style: none; padding: 0; font-size: var(--font-size-38); font-weight: 600; color: #ccc; line-height: 1.37em; letter-spacing: -.02em;}
.system-process-nav--prev {margin-bottom: 0;}
.system-process-nav li + li {margin-top: var(--space-24);}
.system-process-nav-btn {padding: 0; border: 0; background: transparent; font: inherit; color: inherit; cursor: pointer;}
.system-process-main {flex: 1; max-width: 730px; border-left: 1px solid #eee; padding-right: var(--container-space);}
.system-process-day {border-bottom: 1px solid #eee;}
.system-process-day:last-child {border-bottom: 0;}
.system-process-body {padding: var(--space-80) 0; padding-left: var(--space-80);}
.system-process-day:first-child .system-process-body {padding-top: var(--space-80);}
.system-process-img {border-radius: var(--radius-16); overflow: hidden; margin-bottom: calc(var(--space-50) + var(--space-20));}
.system-process-img img {width: 100%; height: auto; display: block; object-fit: cover;}
.system-process-steps {list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: var(--space-50);}
.system-process-step {display: flex; flex-direction: column; gap: calc(var(--space-16) / 2);}
.system-step-badge {display: inline-flex; align-items: center; gap: calc(var(--space-16) / 4); padding: calc(var(--space-24) / 4) calc(var(--space-24) / 2); border-radius: 500px; font-size: var(--font-size-14); font-weight: 600; line-height: 1.14em; letter-spacing: -.02em; width: fit-content;}
.system-step-badge em {font-style: normal;}
.system-step-badge--secondary {background: #f8f3f8; color: #ba7ec7;}
.system-step-badge--secondary em {color: #8f4d9d;}
.system-step-badge--primary {background: #edf4f0; color: #66af83;}
.system-step-badge--primary em {color: var(--color-primary);}
.system-step-txt {font-size: var(--font-size-24); font-weight: 600; color: var(--dark-color); line-height: 1.67em; letter-spacing: -.02em;}
.system-step-note {font-size: var(--font-size-20); font-weight: 500; color: #878787; line-height: 1.7em;}
.system-step-detail {margin-top: var(--space-16); display: flex; flex-direction: column; gap: var(--space-30);}
.system-step-detail-tit {font-size: var(--font-size-18); font-weight: 500; color: #676767; line-height: 1.67em; letter-spacing: -.02em;}
.system-step-detail-list {list-style: none; margin: calc(var(--space-24) / 2) 0 0; padding: 0; font-size: var(--font-size-16); font-weight: 400; color: #676767; line-height: 1.5em; letter-spacing: -.02em;}
.system-step-detail-list li + li {margin-top: calc(var(--space-16) / 2);}
.system-step-detail-list li {text-indent: -.8em; padding-left: 0.8em;}
.system-step-detail-list li:before {content:'-'; margin-right: 5px;}
.system-step-detail-item {position: relative; padding-left: var(--space-16);}
.system-step-detail-item::before {content: ""; position: absolute; left: 0; top: calc(var(--space-24) / 2); width: calc(var(--space-24) / 4); height: calc(var(--space-24) / 4); border-radius: 50%; background: #bec6d0;}

/* cs · board wrap */
.cs-board-wrap {padding: var(--space-20) 0 0;}

.text-primary {color: var(--color-primary);}
.text-secondary {color: var(--color-secondary);}

.list-category {flex: 1; min-width: 0;}
.list-category .swiper {margin: 0 -5px;}
.list-category ul {display: flex; width: max-content;}
.list-category li {flex: 1 1 auto; width: auto; padding: 0 5px;}
.list-category a {display: flex; align-items: center; height: clamp(44px, calc(60 / var(--inner) * 100vw), 60px); padding: 0 var(--space-24); background: #F4F4F4; border-radius: 100px; font-weight: 700;}
.list-category .active a {background: var(--primary-color); color: #fff;}

/* product · funeral */
.product-intro {padding-bottom: var(--space-100);}
.product-intro-visual {margin-bottom: var(--space-40); border-radius: var(--radius-16); overflow: hidden;}
.product-intro-copy {display: flex; flex-direction: column; gap: var(--space-16);}
.product-intro-tit {font-size: var(--font-size-32); font-weight: 600; color: var(--dark-color); line-height: 1.44em; letter-spacing: -.02em;}
.product-intro-desc {font-size: var(--font-size-20); font-weight: 500; color: #676767; line-height: 1.7em; letter-spacing: -.02em;}
.product-intro--supplies .product-intro-visual {aspect-ratio: auto; height: clamp(220px, calc(420 / var(--inner) * 100vw), 420px);}
.product-intro--supplies .product-intro-visual img {width: 100%; height: 100%; object-fit: cover; object-position: bottom; display: block;}
.supplies-section {padding-bottom: var(--space-100);}
.supplies-section--process {padding-bottom: calc(var(--space-100) + var(--space-20));}
.supplies-section-tit {display: flex; align-items: center; gap: var(--space-24); margin-bottom: var(--space-40); font-size: var(--font-size-38); font-weight: 600; color: var(--dark-color); line-height: 1.37em; letter-spacing: -.02em;}
.supplies-section-bar {flex-shrink: 0; display: flex; flex-direction: column; width: 4px; height: 40px;}
.supplies-section-bar::before, .supplies-section-bar::after {content: ""; flex: 1; width: 100%;}
.supplies-section-bar::before {background: var(--color-primary);}
.supplies-section-bar::after {background: var(--color-secondary);}
.supplies-meaning-grid {display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--space-24);}
.supplies-meaning-card {display: flex; flex-direction: column; gap: var(--space-24); padding: var(--space-40); border: 1px solid #eee; border-radius: var(--radius-16); background: #fff;}
.supplies-meaning-icon {display: flex; align-items: center; width: 48px; height: 48px;}
.supplies-meaning-icon img {display: block; max-width: 100%; max-height: 100%; object-fit: contain;}
.supplies-meaning-tit {font-size: var(--font-size-24); font-weight: 600; color: var(--dark-color); line-height: 1.67em; letter-spacing: -.02em;}
.supplies-meaning-desc {font-size: var(--font-size-20); font-weight: 500; color: #878787; line-height: 1.7em; letter-spacing: -.02em;}
.supplies-compose-grid {display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--space-24); align-items: stretch;}
.supplies-compose-card {display: flex; flex-direction: column; gap: var(--space-30); padding: var(--space-40); border: 1px solid #eee; border-radius: var(--radius-16); background: #fff;}
.supplies-compose-info {display: flex; flex-direction: column; gap: var(--space-24);}
.supplies-compose-subtit, .supplies-example-tit {display: flex; align-items: center; flex-wrap: wrap; gap: var(--space-16); font-size: var(--font-size-24); font-weight: 600; color: var(--dark-color); line-height: 1.67em; letter-spacing: -.02em;}
.supplies-dot-pair {display: inline-flex; align-items: center; gap: 6px; flex-shrink: 0;}
.supplies-dot-pair span:nth-child(1) {width: 8px; height: 8px; border-radius: 50%; background: var(--color-primary);}
.supplies-dot-pair span:nth-child(2) {width: 8px; height: 8px; border-radius: 50%; background: var(--color-secondary);}
.supplies-compose-visual {height: 100%;}
.supplies-compose-img {display: flex; flex: 1; align-items: center; justify-content: center; min-height: 0;}
.supplies-compose-img img {display: block; max-width: 100%; height: auto; object-fit: contain;}
.supplies-tag-list {display: flex; flex-wrap: wrap; gap: 8px; margin: 0; padding: 0; list-style: none;}
.supplies-tag-list li {display: inline-flex; padding: 6px 12px; border-radius: 500px; background: #f1f1f1; font-size: var(--font-size-16); font-weight: 500; color: #505050; line-height: 1.5em; letter-spacing: -.02em;}
.supplies-tag-list--extra li:nth-child(odd) {background: var(--color-primary); color: #fff;}
.supplies-tag-list--extra li:nth-child(even) {background: var(--color-secondary); color: #fff;}
.supplies-example-grid {display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--space-24);}
.supplies-example-card {min-height: clamp(320px, calc(444 / var(--inner) * 100vw), 444px);}
.supplies-example-org {color: #a8a8a8; font-weight: 600;}
.supplies-example-img {display: flex; flex: 1; align-items: flex-end; justify-content: center; min-height: 0;}
.supplies-example-img img {display: block; max-width: 100%; height: auto; object-fit: contain;}
.supplies-process-wrap {position: relative;}
.supplies-process-wrap:after {content: ''; position: absolute; top: 50%; left: 0; width: 100%; border-top: 1px dashed #505050;}
.supplies-process-list {position: relative; z-index: 1; display: flex; gap: var(--space-20); margin: 0; padding: 0; list-style: none;}
.supplies-process-item {flex: 1; display: flex; flex-direction: column; align-items: center; justify-content: center; min-width: 0; padding: var(--space-30) var(--space-20); border: 1px solid #ccc; border-radius: 500px; background: #fff; text-align: center;}
.supplies-process-icon {display: flex; align-items: center; justify-content: center; margin-bottom: var(--space-16);}
.supplies-process-tit {font-size: var(--font-size-22); font-weight: 500; color: var(--dark-color); line-height: 1.64em; letter-spacing: -.02em;}
.supplies-process-desc {font-size: var(--font-size-16); font-weight: 400; color: #878787; line-height: 1.5em; letter-spacing: -.02em;}
.funeral-detail-head {display: flex; flex-direction: column; gap: var(--space-16); margin-bottom: var(--space-60);}
.funeral-detail-tit {font-size: var(--font-size-38); font-weight: 600; color: var(--dark-color); line-height: 1.37em; letter-spacing: -.02em;}
.funeral-detail-desc {font-size: var(--font-size-20); font-weight: 500; color: #676767; line-height: 1.7em; letter-spacing: -.02em;}
.funeral-detail-summary {display: grid; grid-template-columns: repeat(4, 1fr); gap: var(--space-50) var(--space-16); margin-bottom: var(--space-80);}
.funeral-detail-summary-item {display: flex; flex-direction: column; align-items: center; gap: var(--space-16); text-align: center;}
.funeral-detail-summary-icon {display: flex; align-items: center; justify-content: center; padding: clamp(18px, calc(33 / var(--inner) * 100vw), 33px); border-radius: 50%; background: #faf6fb;}
.funeral-detail-summary-icon img {max-width: clamp(32px, calc(54 / var(--inner) * 100vw), 54px); max-height: clamp(32px, calc(54 / var(--inner) * 100vw), 54px); object-fit: contain;}
.funeral-detail-summary-txt {font-size: var(--font-size-20); font-weight: 500; color: var(--dark-color); line-height: 1.5em; letter-spacing: -.02em; word-break: keep-all;}
.funeral-detail-summary-txt span {display: block;}
.funeral-detail-body {padding: var(--space-80) 0 calc(var(--space-100) + var(--space-20)); background: #f8f8f8;}
.funeral-detail-group + .funeral-detail-group {margin-top: var(--space-80);}
.funeral-detail-group-tit {margin-bottom: var(--space-40); font-size: var(--font-size-32); font-weight: 600; color: var(--dark-color); line-height: 1.44em; letter-spacing: -.02em;}
.funeral-detail-cards {display: flex; flex-direction: column; gap: var(--space-24);}
.funeral-detail-card {flex: 1; padding: var(--space-40); border: 1px solid #eee; border-radius: var(--radius-16); background: #fff;}
.funeral-detail-card-head {display: flex; align-items: center; gap: var(--space-16); margin-bottom: var(--space-30);}
.funeral-detail-card-head--between {justify-content: space-between; flex-wrap: wrap; gap: calc(var(--space-24) / 2) var(--space-16);}
.funeral-detail-card-head-inner {display: flex; align-items: center; gap: var(--space-16);}
.funeral-detail-card-tit {font-size: var(--font-size-24); font-weight: 600; color: var(--dark-color); line-height: 1.67em; letter-spacing: -.02em;}
.funeral-detail-card-dots {display: flex; align-items: center; gap: calc(var(--space-24) / 4); flex-shrink: 0;}
.funeral-detail-card-dots span:nth-child(1) {width: calc(var(--space-16) / 2); height: calc(var(--space-16) / 2); border-radius: 50%; background: var(--color-primary);}
.funeral-detail-card-dots span:nth-child(2) {width: calc(var(--space-16) / 2); height: calc(var(--space-16) / 2); border-radius: 50%; background: var(--color-secondary);}
.funeral-detail-notice {display: flex; align-items: center; gap: calc(var(--space-16) / 4); margin: 0; font-size: var(--font-size-16); font-weight: 500; color: #676767; line-height: 1.5em; letter-spacing: -.02em;}
.funeral-detail-notice-icon {display: flex; flex-shrink: 0; width: var(--space-24); height: var(--space-24);}
.funeral-detail-notice-icon svg {display: block; width: 100%; height: 100%;}
.funeral-detail-specs {display: flex; flex-direction: column; gap: var(--space-16); margin: 0;}
.funeral-detail-specs--stack {gap: var(--space-24);}
.funeral-detail-spec {display: flex; align-items: flex-start;}
.funeral-detail-specs.column .funeral-detail-spec {flex-direction: column; gap: 4px;}
.funeral-detail-spec dt {width: 160px; font-size: var(--font-size-18); font-weight: 500; color: #878787; line-height: 1.67em; letter-spacing: -.02em;}
.funeral-detail-spec dd {flex: 1; min-width: 0; margin: 0; font-size: var(--font-size-18); font-weight: 400; color: var(--dark-color); line-height: 1.67em; letter-spacing: -.02em; word-break: keep-all;}
.funeral-detail-spec-note {display: inline-block; margin-left: calc(var(--space-20) / 2); font-size: var(--font-size-16); font-weight: 400; color: #878787; line-height: 1.5em; letter-spacing: -.02em;}
.funeral-detail-specs-cols {display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--space-16) var(--space-40);}
.funeral-detail-grid {display: grid; gap: var(--space-24);}
.funeral-detail-grid--service {grid-template-columns: repeat(2, minmax(0, 1fr));}
.funeral-detail-grid--admin {grid-template-columns: repeat(3, minmax(0, 1fr));}
.funeral-detail-grid-col {display: flex; flex-direction: column; gap: var(--space-24);}

/* product · compare */
.product-compare {padding-bottom: calc(var(--space-100) + var(--space-20));}
.product-compare-head {display: flex; flex-direction: column; gap: var(--space-16); margin-bottom: var(--space-60);}
.product-compare-tit {font-size: var(--font-size-38); font-weight: 600; color: var(--dark-color); line-height: 1.37em; letter-spacing: -.02em;}
.product-compare-desc {font-size: var(--font-size-20); font-weight: 500; color: #676767; line-height: 1.7em; letter-spacing: -.02em;}
.product-compare-table-wrap {overflow-x: auto; -webkit-overflow-scrolling: touch;}
.product-compare-table {width: 100%; min-width: 1000px; border-collapse: collapse; border-spacing: 0; border-top: 2px solid var(--dark-color); font-size: var(--font-size-18); line-height: 1.67em; letter-spacing: -.02em; table-layout: fixed;}
.product-compare-table .col-group {width: 14%;}
.product-compare-table .col-item {width: 14%;}
.product-compare-table thead th {padding: var(--space-24); border-bottom: 1px solid var(--dark-color); font-weight: 600; text-align: center; vertical-align: middle; word-break: keep-all;}
.product-compare-table thead .cell-head-group, .product-compare-table thead .cell-head-item {background: #f9fdfa; color: var(--color-primary); border-right: 1px solid #dfdfdf;}
.product-compare-table thead th:not(.cell-head-group):not(.cell-head-item) {background: #fff; color: var(--dark-color); font-weight: 500; border-right: 1px solid #dfdfdf;}
.product-compare-table thead th:last-child {border-right: 0;}
.product-compare-table .plan-link {display: inline-flex; margin-left: calc(var(--space-16) / 2); vertical-align: middle;}
.product-compare-table .plan-link img {display: block; width: 24px; height: 24px;}
.product-compare-table tbody th, .product-compare-table tbody td {padding: var(--space-20); border-bottom: 1px solid #dfdfdf; border-right: 1px solid #dfdfdf; text-align: center; vertical-align: middle; color: #505050; font-weight: 400; word-break: keep-all;}
.product-compare-table tbody .cell-group {background: #f9fdfa; color: var(--dark-color); font-weight: 500; border-bottom: 1px solid var(--dark-color);}
.product-compare-table tbody .cell-item {background: #f9fdfa; color: var(--dark-color); font-weight: 500;}
.product-compare-table tbody td:last-child, .product-compare-table tbody th.cell-item {border-right: 1px solid #dfdfdf;}
.product-compare-table tbody tr td:last-child {border-right: 0;}
.product-compare-table .cell-group-inner {display: inline-flex; align-items: center; gap: calc(var(--space-16) / 4);}
.product-compare-table .cell-group-icon {display: inline-flex; flex-shrink: 0; width: var(--space-24); height: var(--space-24);}
.product-compare-table .cell-group-icon svg {display: block; width: 100%; height: 100%;}
.product-compare-table .cell-sub {display: block; margin-top: 4px; font-size: var(--font-size-14); font-weight: 400; color: #676767; line-height: 1.14em; letter-spacing: -.02em;}
.product-compare-table .cell-note {display: block; margin-top: 4px; font-size: var(--font-size-16); font-weight: 400; color: #878787; line-height: 1.5em; letter-spacing: -.02em;}
.product-compare-table .row-section-end th, .product-compare-table .row-section-end td {border-bottom: 1px solid var(--dark-color);}
.product-compare-table .row-footnote td {padding: var(--space-16) var(--space-20); font-size: var(--font-size-16); color: #878787; line-height: 1.5em; border-bottom: 1px solid #dfdfdf; border-right: 1px solid #dfdfdf;}
.product-compare-table .row-footnote td:last-child {border-right: 0;}
.product-compare-table .cell-footnote {text-align: center;}

/* product · flower order */
.flower-place-copy {padding: var(--space-16) var(--space-16) 0;}
.flower-steps {display: flex; align-items: center; justify-content: flex-end; gap: var(--space-12); max-width: 440px; margin-left: auto;}
.flower-step {flex: 1; display: flex; flex-direction: column; align-items: center; gap: var(--space-16); min-width: 120px; padding: var(--space-20) var(--space-16); border: 1px solid #eee; border-radius: var(--radius-16); background: #fff; text-decoration: none;}
.flower-step.is-active {border-color: var(--color-primary); background: var(--color-primary);}
.flower-step-num {display: flex; align-items: center; justify-content: center; width: var(--space-40); height: var(--space-40); border-radius: 50%; background: #fff; border: 1px solid #dfdfdf; font-size: var(--font-size-16); font-weight: 600; color: #505050; line-height: 1.5em; letter-spacing: -.02em;}
.flower-step.is-active .flower-step-num {border-color: #fff; color: var(--color-primary);}
.flower-step-label {font-size: var(--font-size-16); font-weight: 600; color: #505050; line-height: 1.5em; letter-spacing: -.02em; text-align: center; word-break: keep-all;}
.flower-step.is-active .flower-step-label {color: #fff;}
.flower-step-dots {display: flex; gap: 4px; flex-shrink: 0;}
.flower-step-dots span {width: 4px; height: 4px; border-radius: 50%; background: #dfdfdf;}
.flower-search {padding: var(--space-40) 0; margin-bottom: var(--space-80); background: #f6f6f6;}
.flower-search-tit {margin-bottom: var(--space-16); font-size: var(--font-size-20); font-weight: 600; color: var(--dark-color); line-height: 1.7em; letter-spacing: -.02em;}
.flower-search-form {display: flex; flex-wrap: wrap; gap: 6px;}
.flower-search-field {flex: 1; min-width: 200px; border: 1px solid #eee; border-radius: 8px; overflow: hidden; background: #fff;}
.flower-select, .flower-search-input {position: relative; display: flex; align-items: center; justify-content: space-between; font-size: var(--font-size-16); font-weight: 400; color: #a8a8a8; line-height: 1.5em; letter-spacing: -.02em;}
.flower-select .input, .flower-search-input .input {width: 100%; height: clamp(44px, calc(60 / var(--inner) * 100vw), 60px); border-color: #fff;}
.flower-select select {color: #a8a8a8;}
.flower-search-input {padding-right: 60px;}
.flower-search-input button {display: flex; justify-content: center; align-items: center; position: absolute; width: 56px; height: calc(100% - 2px); right: 1px; top: 1px; border: 0; background: #fff;}
.flower-search-input button svg {width: 18px;}

.flower-select-icon, .flower-search-icon {flex-shrink: 0; display: flex; width: 18px; height: 18px;}
.flower-select-icon svg, .flower-search-icon svg {display: block; width: 100%; height: 100%;}
.flower-count {margin-bottom: var(--space-50); font-size: var(--font-size-18); font-weight: 600; color: var(--dark-color); line-height: 1.67em; letter-spacing: -.02em;}
.flower-count em {font-style: normal; color: var(--color-primary);}
.flower-place-grid {display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: var(--space-20);}
.flower-place-card {display: flex; flex-direction: column; justify-content: space-between; gap: var(--space-34); padding: var(--space-16); border: 1px solid #eee; border-radius: var(--radius-16); background: #fff;}
.flower-place-card:hover {border-color: var(--color-primary);}
.flower-place-meta {display: flex; gap: 4px; font-size: var(--font-size-16); font-weight: 500; color: #878787; line-height: 1.5em; letter-spacing: -.02em;}
.flower-place-name {font-size: var(--font-size-20); font-weight: 600; color: var(--dark-color); line-height: 1.7em; letter-spacing: -.02em; overflow: hidden; white-space: normal; text-overflow: ellipsis; display: -webkit-box; -webkit-line-clamp: 1; -webkit-box-orient: vertical; word-break: keep-all;}
.flower-place-card:hover .flower-place-name {color: var(--color-primary);}
.flower-place-addr {font-size: var(--font-size-16); font-weight: 400; color: #505050; line-height: 1.5em; letter-spacing: -.02em; word-break: keep-all;}
.flower-place-btn {display: block; padding: 14px; border: 1px solid #dfdfdf; border-radius: 8px; background: #fff; font-size: var(--font-size-16); font-weight: 600; color: var(--color-primary); line-height: 1.5em; letter-spacing: -.02em; text-align: center; text-decoration: none;}
.flower-place-card:hover .flower-place-btn {border-color: var(--color-primary); background: var(--color-primary); color: #fff;}
.flower-paginate {display: flex; flex-wrap: wrap; align-items: center; justify-content: center; gap: 10px;}
.flower-paginate a, .flower-paginate strong {display: inline-flex; align-items: center; justify-content: center; width: 48px; height: 48px; border-radius: var(--radius-16); font-size: 17px; font-weight: 600; line-height: 1em; letter-spacing: -.03em; text-decoration: none; color: var(--dark-color);}
.flower-paginate strong {background: var(--color-secondary); color: #fff;}
.flower-paginate a {border: 2px solid #eee;}
.flower-paginate a.direction {border: 0; background-position: 50% 50%; background-repeat: no-repeat; background-size: contain;}
.flower-paginate a.direction.first {background-image: url("/images/common/page_first.svg");}
.flower-paginate a.direction.prev {background-image: url("/images/common/page_prev.svg");}
.flower-paginate a.direction.next {background-image: url("/images/common/page_next.svg");}
.flower-paginate a.direction.last {background-image: url("/images/common/page_last.svg");}
.flower-paginate a.direction span {position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; border: 0;}
.flower-body {padding: var(--space-80) 0;}
.flower-place-selected {padding: var(--space-20) 0; margin-bottom: var(--space-40); border-bottom: 1px solid #eee;}
.flower-place-selected .contain {display: flex; align-items: center; justify-content: space-between; gap: var(--space-20);}
.flower-place-selected-info {display: flex; align-items: center; gap: var(--space-16); flex-wrap: wrap;}
.flower-place-selected-label {font-size: var(--font-size-16); font-weight: 500; color: #878787; line-height: 1.5em; letter-spacing: -.02em;}
.flower-place-selected-name {font-size: var(--font-size-18); font-weight: 600; color: var(--dark-color); line-height: 1.67em; letter-spacing: -.02em;}
.flower-place-selected-addr {font-size: var(--font-size-16); font-weight: 400; color: #505050; line-height: 1.5em; letter-spacing: -.02em;}
.flower-place-selected-change {flex-shrink: 0; display: inline-flex; align-items: center; padding: 10px 20px; border: 1px solid var(--color-primary); border-radius: 8px; font-size: var(--font-size-16); font-weight: 500; color: var(--color-primary); line-height: 1.5em; letter-spacing: -.02em; text-decoration: none; white-space: nowrap;}
.flower-place-selected-change:hover {background: var(--color-primary); color: #fff;}
.flower-product-grid {display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: var(--space-70) var(--space-20);}
.flower-product-card {display: flex; flex-direction: column; gap: var(--space-24);}
.flower-product-link {display: flex; flex-direction: column; gap: var(--space-24); text-decoration: none; color: inherit;}
.flower-product-thumb {aspect-ratio: 264 / 420; border-radius: var(--radius-16); overflow: hidden; background: #f1f1f1;}
.flower-product-thumb img {width: 100%; height: 100%; object-fit: cover; display: block;}
.flower-product-name {margin-bottom: 4px; font-size: var(--font-size-18); font-weight: 400; color: #505050; line-height: 1.67em; letter-spacing: -.02em;}
.flower-product-price {display: flex; align-items: center; gap: 4px; font-size: var(--font-size-20); font-weight: 600; line-height: 1.7em; letter-spacing: -.02em;}
.flower-product-price .sale {color: #da1a35;}
.flower-product-price .amount {color: var(--dark-color);}
.flower-product-tags {display: flex; flex-wrap: wrap; gap: 4px; margin-top: var(--space-20);}
.flower-tag {display: inline-flex; padding: 6px 8px; border-radius: 4px; font-size: 12px; font-weight: 500; line-height: 1.17em; letter-spacing: -.02em;}
.flower-tag--best {border: 1px solid #dfdfdf; color: #676767;}
.flower-tag--soldout {background: #121212; color: #fff;}
.flower-detail-top {display: flex; gap: var(--space-80); align-items: flex-start; margin-bottom: var(--space-100);}
.flower-detail-thumb {flex: 0 0 440px; max-width: 440px; aspect-ratio: 440 / 702; border-radius: var(--radius-16); overflow: hidden; background: #f1f1f1;}
.flower-detail-thumb img {width: 100%; height: 100%; object-fit: cover; display: block;}
.flower-detail-info {flex: 1; min-width: 0; display: flex; flex-direction: column; gap: var(--space-34);}
.flower-detail-intro {display: flex; flex-direction: column; gap: var(--space-16);}
.flower-detail-head {display: flex; flex-direction: column; gap: var(--space-20);}
.flower-detail-name {font-size: var(--font-size-28); font-weight: 500; color: var(--dark-color); line-height: 1.5em; letter-spacing: -.02em;}
.flower-detail-price-wrap {display: flex; flex-direction: column; align-items: flex-start;}
.flower-detail-price-old {font-size: 15px; font-weight: 400; color: #676767; line-height: 1.07em; letter-spacing: -.02em; text-decoration: line-through;}
.flower-detail-price {display: flex; align-items: center; gap: 6px; font-size: var(--font-size-24); font-weight: 600; line-height: 1.67em; letter-spacing: -.02em;}
.flower-detail-price .sale {color: #da1a35;}
.flower-detail-price .amount {color: var(--dark-color);}
.flower-detail-specs {padding: var(--space-30) 0; border-top: 1px solid #eee; border-bottom: 1px solid #eee; display: flex; flex-direction: column; gap: var(--space-20);}
.flower-detail-spec {display: flex; align-items: flex-start; gap: var(--space-20);}
.flower-detail-spec dt {flex: 0 0 120px; font-size: var(--font-size-16); font-weight: 500; color: #a8a8a8; line-height: 1.5em; letter-spacing: -.02em;}
.flower-detail-spec dd {margin: 0; font-size: var(--font-size-16); font-weight: 400; color: #505050; line-height: 1.5em; letter-spacing: -.02em;}
.flower-detail-option {display: flex; flex-direction: column; gap: var(--space-16);}
.flower-detail-option-tit {font-size: var(--font-size-16); font-weight: 500; color: var(--dark-color); line-height: 1.5em; letter-spacing: -.02em;}
.flower-detail-option-tit .muted {color: #a8a8a8;}
.flower-detail-option .flower-select {height: clamp(44px, calc(60 / var(--inner) * 100vw), 60px); border-radius: 8px; background: #fff;}
.flower-detail-option .flower-select .input {height: 100%; border-color: #eee; border-radius: 8px;}
.flower-detail-selected {display: flex; align-items: center; justify-content: space-between; min-height: clamp(44px, calc(60 / var(--inner) * 100vw), 60px); padding: 0 var(--space-20); border: 1px solid #eee; border-radius: 8px; background: #fff;}
.flower-detail-selected-name {font-size: var(--font-size-16); font-weight: 400; color: #505050; line-height: 1.5em; letter-spacing: -.02em;}
.flower-detail-selected-ctrl {display: flex; align-items: center; gap: var(--space-24); flex-shrink: 0;}
.flower-detail-del {display: flex; align-items: center; justify-content: center; width: 10px; height: 10px; padding: 0; border: 0; background: transparent; cursor: pointer;}
.flower-qty {display: flex; align-items: center; background: #F1F1F1; border-radius: 4px;}
.flower-qty-btn {display: flex; align-items: center; justify-content: center; width: 32px; height: 32px; padding: 0; border: 0; background: transparent; cursor: pointer;}
.flower-qty-btn svg {display: block; width: 10px; height: 10px;}
.flower-qty-val {display: flex; align-items: center; justify-content: center; min-width: 32px; height: 32px; padding: 0 8px; background: #f1f1f1; font-size: 13px; font-weight: 500; color: #676767; line-height: 1.23em; letter-spacing: -.02em;}
.flower-detail-order {display: flex; flex-direction: column; gap: var(--space-30); width: 100%;}
.flower-detail-total {display: flex; align-items: center; justify-content: space-between;}
.flower-detail-total-label {font-size: var(--font-size-16); font-weight: 500; color: #505050; line-height: 1.5em; letter-spacing: -.02em;}
.flower-detail-total-price {display: flex; align-items: baseline; gap: 8px; margin: 0;}
.flower-detail-total-price strong {font-size: var(--font-size-28); font-weight: 600; color: var(--dark-color); line-height: 1.5em; letter-spacing: -.02em;}
.flower-detail-total-price span {font-size: 13px; font-weight: 500; color: #a8a8a8; line-height: 1.23em; letter-spacing: -.02em;}
.flower-detail-actions {display: flex; gap: 10px;}
.flower-btn {flex: 1; display: inline-flex; align-items: center; justify-content: center; padding: 14px; border-radius: 8px; font-size: var(--font-size-18); font-weight: 600; line-height: 1.67em; letter-spacing: -.02em; text-decoration: none; text-align: center;}
.flower-btn--line {border: 2px solid #eee; background: #fff; color: #505050;}
.flower-btn--dark {border: 0; background: #121212; color: #fff;}
.flower-btn--primary {border: 0; background: var(--color-primary); color: #fff;}
.flower-btn--round {padding: var(--space-16) var(--space-40); border-radius: 500px;}
.flower-detail-tabs {position: sticky; top: var(--header-height); z-index: 50; display: flex; border-bottom: 1px solid #eee; background: #fff;}
.flower-detail-tabs a {flex: 1; display: flex; align-items: center; justify-content: center; padding: var(--space-20); font-size: var(--font-size-22); font-weight: 500; color: #878787; line-height: 1.64em; letter-spacing: -.02em; text-decoration: none;}
.flower-detail-tabs a.is-active {color: var(--dark-color); border-bottom: 2px solid var(--dark-color); margin-bottom: -1px;}
#flowerDetailInfo, #flowerDetailNotice {scroll-margin-top: calc(var(--header-height) + 72px);}
.flower-detail-panel {padding: var(--space-40) 0 var(--space-80);}
.flower-detail-editor {display: block; padding: var(--space-40);}
.flower-notice {padding-top: var(--space-40); border-top: 1px solid #eee;}
.flower-notice-tit {margin-bottom: var(--space-16); font-size: var(--font-size-22); font-weight: 600; color: var(--dark-color); line-height: 1.64em; letter-spacing: -.02em;}
.flower-notice-block {padding: var(--space-40) 0; border-top: 1px solid #eee;}
.flower-notice-block:first-child {border-top: 0; padding-top: 0;}
.flower-notice-block h4 {margin-bottom: var(--space-24); font-size: var(--font-size-18); font-weight: 600; color: var(--dark-color); line-height: 1.67em; letter-spacing: -.02em;}
.flower-notice-block p {font-size: var(--font-size-16); font-weight: 400; color: #676767; line-height: 1.75em; letter-spacing: -.02em;}
.flower-notice-list {list-style: none; margin: var(--space-16) 0 0; padding: 0; display: flex; flex-direction: column; gap: 10px;}
.flower-notice-list li {text-indent: -1em; padding-left: 1em; font-size: var(--font-size-16); font-weight: 400; color: #676767; line-height: 1.75em; letter-spacing: -.02em;}
.flower-notice-list li::before {content: "•"; display: inline-block; margin-right: 10px; flex-shrink: 0;margin-right: 10px; color: #ccc; text-indent: 0;}
.flower-order-summary {display: flex; gap: var(--space-80); align-items: center; margin-bottom: var(--space-100);}
.flower-order-summary-thumb {flex: 0 0 264px; max-width: 264px; aspect-ratio: 264 / 420; border-radius: var(--radius-16); overflow: hidden; background: #f1f1f1;}
.flower-order-summary-thumb img {width: 100%; height: 100%; object-fit: cover; display: block;}
.flower-order-summary-info {display: flex; flex-direction:column; gap: var(--space-24); flex: 1; min-width: 0;}
.flower-order-headline {margin-bottom: var(--space-60);}
.flower-order-headline-tit {font-size: var(--font-size-38); font-weight: 600; color: var(--dark-color); line-height: 1.37em; letter-spacing: -.02em;}
.flower-order-headline-desc {margin-top: var(--space-16); font-size: var(--font-size-20); font-weight: 500; color: #676767; line-height: 1.7em; letter-spacing: -.02em;}
.flower-order-form {border-top: 2px solid var(--dark-color); padding-top: var(--space-50);}
.flower-order-form-body {display: flex; flex-direction: column; gap: var(--space-40); padding-bottom: var(--space-50); border-bottom: 1px solid #eee;}
.flower-order-row {display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--space-20);}
.flower-order-field {display: flex; flex-direction: column; gap: var(--space-20);}
.flower-order-field--full {grid-column: 1 / -1;}
.flower-order-label {font-size: var(--font-size-18); font-weight: 500; color: var(--dark-color); line-height: 1.56em; letter-spacing: -.02em;}
.flower-order-label .required {color: var(--color-secondary);}
.flower-order-inputs {display: flex; gap: 6px;}
.flower-order-input, .flower-order-select {display: flex; align-items: center; width: 100%; min-height: clamp(44px, calc(60 / var(--inner) * 100vw), 60px); padding: 0 var(--space-20); border: 0; border-radius: 8px; background: #f6f6f6; font-size: var(--font-size-16); font-weight: 500; color: #a8a8a8; line-height: 1.5em; letter-spacing: -.02em;}
.flower-order-input.is-filled, .flower-order-select.is-filled {background: #fafafa; color: var(--dark-color);}
.flower-order-input::placeholder {color: #a8a8a8;}
.flower-order-select {justify-content: space-between; cursor: pointer;}
.flower-order-select select {width: 100%; border: 0; background: transparent; font: inherit; color: inherit; appearance: none;}
.flower-order-select-icon {flex-shrink: 0; display: flex; width: 8px; height: 4px;}
.flower-notice-block p + p, .flower-notice-note {margin-top: var(--space-16);}
.flower-notice-em {font-weight: 500; color: var(--dark-color);}
.flower-detail-specs--inline {margin-top: var(--space-24); border: 0; padding: 0;}
.flower-order-btns {display: flex; justify-content: center; gap: 10px; width: fit-content; margin: var(--space-60) auto 0;}

/* sub-tab · line */
.sub-tab-line {margin-bottom: calc(var(--space-50) + var(--space-20)); border-bottom: 1px solid #eee;}
.sub-tab-line .swiper {margin: 0 calc(var(--space-20) * -1)}
.sub-tab-line ul {display: flex; width: max-content; list-style: none; margin: 0; padding: 0;}
.sub-tab-line li {flex: 1 1 auto; width: auto; padding: 0 var(--space-20);}
.sub-tab-line li a {display: block; padding-bottom: var(--space-16); font-size: var(--font-size-24); font-weight: 500; color: #878787; line-height: 1.67em; letter-spacing: -.02em; text-decoration: none;}
.sub-tab-line li.active a {color: var(--dark-color); border-bottom: 2px solid var(--dark-color); margin-bottom: -1px;}

/* ceremony · doc */
.ceremony-group {margin-top: var(--space-80);}
.ceremony-intro {margin-bottom: var(--space-100);}
.ceremony-hero {margin-bottom: var(--space-40); border-radius: var(--radius-16); overflow: hidden;}
.ceremony-hero img {width: 100%; height: auto; min-height: 280px; display: block; object-fit: cover; object-position: center bottom;}
.ceremony-intro-tit {font-size: var(--font-size-32); font-weight: 600; color: var(--dark-color); line-height: 1.44em; letter-spacing: -.02em;}
.ceremony-intro-desc {margin-top: var(--space-16); font-size: var(--font-size-20); font-weight: 500; color: #676767; line-height: 1.7em; letter-spacing: -.02em;}
.ceremony-section {margin-bottom: var(--space-100);}
.ceremony-section:last-child {margin-bottom: 0;}
.ceremony-section-head {display: flex; align-items: center; gap: var(--space-24); margin-bottom: var(--space-40);}
.ceremony-section-head + .ceremony-list {margin-bottom: var(--space-40);}
.ceremony-bar-accent {display: flex; flex-direction: column; flex-shrink: 0; width: calc(var(--space-16) / 4); height: var(--space-40);}
.ceremony-bar-accent .bar-accent-green {flex: 1; background: var(--color-primary);}
.ceremony-bar-accent .bar-accent-purple {flex: 1; background: var(--color-secondary);}
.ceremony-section-tit {font-size: var(--font-size-38); font-weight: 600; color: var(--dark-color); line-height: 1.37em; letter-spacing: -.02em;}
.ceremony-section-subtit {margin-bottom: var(--space-40); font-size: var(--font-size-32); font-weight: 600; color: var(--dark-color); line-height: 1.44em; letter-spacing: -.02em;}
.ceremony-section-subtit .muted {color: #a8a8a8;}
.ceremony-body {font-size: var(--font-size-20); font-weight: 400; color: #505050; line-height: 1.7em; letter-spacing: -.02em;}
.ceremony-body p + p {margin-top: var(--space-24);}
.ceremony-body--sm {font-size: var(--font-size-18); line-height: 1.67em; letter-spacing: -.02em;}
.ceremony-list {list-style: none; margin-top: var(--space-30); padding: 0; display: flex; flex-direction: column; gap: var(--space-30);}
.ceremony-list-item {display: flex; gap: calc(var(--space-20) / 2); align-items: flex-start;}
.ceremony-list-item::before {content: ""; flex-shrink: 0; width: calc(var(--space-24) / 4); height: calc(var(--space-24) / 4); margin-top: calc(var(--space-16) - var(--space-16) / 4); border-radius: 50%; background: #bec6d0;}
.ceremony-list-copy {flex: 1; min-width: 0;}
.ceremony-list-tit {margin-bottom: calc(var(--space-24) / 2); font-size: var(--font-size-20); font-weight: 500; line-height: 1.7em; letter-spacing: -.02em;}
.ceremony-list-tit.secondary-color {color: var(--color-secondary);}
.ceremony-list-tit.primary-color {color: var(--color-primary);}
.ceremony-step-box {display: flex; flex-direction: column; gap: var(--space-16);}
.ceremony-step-item {display: flex; gap: calc(var(--space-20) / 2); align-items: flex-start; font-size: var(--font-size-20);}
.ceremony-step-num {flex-shrink: 0; display: flex; align-items: center; justify-content: center; margin-top: 0.4em; width: 1.7em; height: 1.7em; border-radius: 50%; background: #121212; color: #fff; font-size: var(--font-size-14); font-weight: 700; line-height: 1em; letter-spacing: -.02em;}
.ceremony-step-item p {flex: 1; font-size: var(--font-size-20); font-weight: 500; color: var(--dark-color); line-height: 1.7em; letter-spacing: -.02em;}
.ceremony-step-cols {display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--space-16) var(--space-80);}
.ceremony-step-cols > div {display: flex; flex-direction: column; gap: var(--space-16)}
.ceremony-card {border: 1px solid #eee; border-radius: var(--radius-16); padding: var(--space-40); background: #fff;}
.ceremony-card .ceremony-card {border: 0; padding: 0;}
.ceremony-card-grid {display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--space-24);}
.ceremony-card-grid .ceremony-card--full {grid-column: 1 / -1;}
.ceremony-card-grid--stack {display: flex; flex-direction: column; gap: var(--space-24);}
.ceremony-card-tit {display: flex; align-items: center; gap: var(--space-16); margin-bottom: var(--space-30); font-size: var(--font-size-24); font-weight: 600; color: var(--dark-color); line-height: 1.67em; letter-spacing: -.02em;}
.ceremony-card-tit h4 {font-size: inherit; font-weight: inherit; line-height: inherit; letter-spacing: inherit;}
.ceremony-card-dots {display: flex; align-items: center; gap: calc(var(--space-24) / 4); flex-shrink: 0;}
.ceremony-card-dots span:nth-child(1) {width: calc(var(--space-16) / 2); height: calc(var(--space-16) / 2); border-radius: 50%; background: var(--color-primary);}
.ceremony-card-dots span:nth-child(2) {width: calc(var(--space-16) / 2); height: calc(var(--space-16) / 2); border-radius: 50%; background: var(--color-secondary);}
.ceremony-card-body {font-size: var(--font-size-18); font-weight: 400; color: #505050; line-height: 1.67em; letter-spacing: -.02em;}
.ceremony-card-body p + p {margin-top: calc(var(--space-16) / 2);}
.ceremony-card-note {margin-top: var(--space-30); font-size: var(--font-size-16); font-weight: 500; color: #878787; line-height: 1.5em; letter-spacing: -.02em;}
.ceremony-card-tit + .ceremony-card-note {margin:8px 0 var(--space-30)}
.ceremony-card-note p + p {margin-top: calc(var(--space-16) / 2);}
.ceremony-card-sign {margin-top: calc(var(--space-16) / 2); text-align: right; font-size: var(--font-size-18); color: #505050; line-height: 1.67em; letter-spacing: -.02em;}
.ceremony-religion-top {display: flex; align-items: center; gap: 0; margin-bottom: var(--space-100);}
.ceremony-religion-photo {flex: 0 0 50%; max-width: 700px; padding-right: var(--space-40);}
.ceremony-religion-photo img {width: 100%; height: auto; min-height: 280px; border-radius: var(--radius-16); object-fit: cover; object-position: center bottom; display: block;}
.ceremony-religion-copy {flex: 1; padding-left: var(--space-40);}
.ceremony-religion-copy .ceremony-section-tit {margin-bottom: var(--space-40);}
.ceremony-religion-copy .ceremony-body {font-size: var(--font-size-20); font-weight: 500; color: #676767;}

@media (max-width:768px) {
	.vision-hero-desc {margin-top: var(--space-24);}
	.vision-content {padding: var(--space-60) 0 var(--space-80);}
	.vision-content-head {margin-bottom: var(--space-40);}
	.vision-values {margin-bottom: var(--space-40); padding: 0 var(--container-space);}
	.vision-values-list {flex-direction: column; border-radius: var(--radius-16); gap: var(--space-16);}
	.vision-values-item {aspect-ratio: auto; padding: 25px; border-radius: var(--radius-16);}
	.vision-detail-list {padding: 0 var(--container-space); gap: var(--space-40);}
	.vision-detail-item {flex-direction: column; align-items: flex-start; gap: var(--space-24);}
	.vision-detail-photo {width: 100%; max-width: 380px; height: auto; aspect-ratio: 380 / 280;}
	.history-intro {padding: var(--space-60) 0;}
	.history-timeline-wrap {padding-bottom: var(--space-80);}
	.history-timeline {gap: var(--space-40);}
	.history-tab ul {gap: var(--space-20);}
	.history-tab li a {font-size: var(--font-size-18); padding-bottom: calc(var(--space-24) / 2);}
	.history-period-list {gap: var(--space-60);}
	.history-period-body {flex-direction: column;}
	.history-period-photo {flex: none; width: 100%; border-right: 0; margin-bottom: var(--space-24);}
	.history-period-photo img {max-width: none;}
	.history-period-items {padding: 0; border-left: 0; margin-left: 0; gap: var(--space-40);}
	.sec-org {padding: var(--space-60) 0;}
	.sec-branches {padding-bottom: var(--space-80);}
	.branches-head {margin-bottom: var(--space-40);}
	.branches-row {flex-direction: column;}
	.branches-hq {flex: none; width: 100%;}
	.branches-offices li {flex: 1 1 calc(50% - var(--space-20) / 4); min-height: var(--space-60);}
	.sec-direction {flex-direction: column;}
	.direction-cards {width: 100%;}
	.direction-card {flex: 1 1 100%; width: auto;}
	.relocation-hero {margin-bottom: var(--space-60);}
	.relocation-inquiry-head {margin-bottom: var(--space-40);}
	.system-benefits-body, .system-eligibility-body {padding: var(--space-60) 0 var(--space-80);}
	.system-benefits-list {width: max-content; max-width: 100%;}
	.system-benefits-list {grid-template-columns: 1fr }
	.system-process-wrap {flex-direction: column;}
	.system-process-aside {flex: none; max-width: none; width: 100%; border-right: 0; border-bottom: 1px solid #eee;}
	.system-process-aside-sticky {position: relative; top: auto; width: 100%; padding: var(--space-40) var(--container-space);}
	.system-process-main {border-left: 0;}
	.system-process-body {padding: var(--space-40) var(--container-space) var(--space-80);}
	.system-process-nav {display: none;}
	.system-hero-desc {margin-top: var(--space-24);}
	.product-intro {padding-bottom: var(--space-60);}
	.product-intro-visual {margin-bottom: var(--space-24);}
	.supplies-section {padding-bottom: var(--space-60);}
	.supplies-section--process {padding-bottom: var(--space-80);}
	.supplies-section-tit {margin-bottom: var(--space-24); font-size: var(--font-size-32); line-height: 1.44em;}
	.supplies-meaning-grid, .supplies-compose-grid, .supplies-example-grid {grid-template-columns: 1fr; gap: var(--space-16);}
	.supplies-meaning-card, .supplies-compose-card {padding: var(--space-24);}
	.supplies-process-list {flex-direction: column; gap: var(--space-16);}
	.supplies-process-line {display: none;}
	.supplies-process-item {min-height: auto; border-radius: var(--radius-16); padding: var(--space-24);}
	.funeral-detail {padding-bottom: var(--space-60);}
	.funeral-detail-head {margin-bottom: var(--space-40);}
	.funeral-detail-summary {grid-template-columns: repeat(3, 1fr); gap: var(--space-34) var(--space-16); margin-bottom: var(--space-60);}
	.funeral-detail-summary-txt {font-size: var(--font-size-18); line-height: 1.67em;}
	.funeral-detail-body {padding: var(--space-60) 0 var(--space-80);}
	.funeral-detail-group + .funeral-detail-group {margin-top: var(--space-60);}
	.funeral-detail-group-tit {margin-bottom: var(--space-24);}
	.funeral-detail-spec dt {flex: 0 0 auto; font-size: var(--font-size-16);}
	.funeral-detail-spec dd {font-size: var(--font-size-16); line-height: 1.625em;}
	.funeral-detail-specs-cols {grid-template-columns: 1fr; gap: var(--space-16);}
	.funeral-detail-grid--service, .funeral-detail-grid--admin {grid-template-columns: 1fr;}
	.product-compare {padding-bottom: var(--space-80);}
	.product-compare-head {margin-bottom: var(--space-40);}
	.product-compare-table {min-width: 960px; font-size: var(--font-size-16); line-height: 1.625em;}
	.product-compare-table .col-group, .product-compare-table .col-item {width: 140px;}
	.product-compare-table thead th, .product-compare-table tbody th, .product-compare-table tbody td {padding: var(--space-16);}
	.flower-steps {max-width: none; justify-content: center;}
	.flower-search-form {flex-direction: column;}
	.flower-place-grid {grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--space-16); margin-bottom: var(--space-60);}
	.flower-detail-thumb, .flower-order-summary-thumb {flex: 0 0 38%; width: 100%; max-width: none;}
	.flower-order-row {grid-template-columns: 1fr;}
	.flower-detail-actions {flex-direction: column;}
	.ceremony-intro {margin-bottom: var(--space-60);}
	.ceremony-hero {margin-bottom: var(--space-24);}
	.ceremony-section {margin-bottom: var(--space-60);}
	.ceremony-section-head {margin-bottom: var(--space-24); gap: var(--space-16);}
	.ceremony-religion-top {flex-direction: column; margin-bottom: var(--space-60);}
	.ceremony-religion-photo {flex: none; width: 100%; max-width: none; padding-right: 0; margin-bottom: var(--space-24);}
	.ceremony-religion-copy {padding-left: 0;}
	.ceremony-religion-copy .ceremony-section-tit {margin-bottom: var(--space-24);}
	.ceremony-step-cols {grid-template-columns: 1fr; gap: var(--space-16);}
	.ceremony-card-grid {grid-template-columns: 1fr;}
	.ceremony-step-box, .ceremony-card {padding: var(--space-24);}
	.ceremony-doc {padding-bottom: var(--space-80);}
}

/* mypage · flower order */
.mypage-tit {padding-bottom: var(--space-30); font-size: var(--font-size-26); font-weight: 600; color: var(--dark-color); line-height: 1.5385em;}
.mypage-flower {display: flex; flex-direction: column;}
.mypage-flower-head {margin-bottom: calc(-1 * var(--space-10));}
.mypage-flower-tit {font-size: var(--font-size-26); font-weight: 600; color: var(--dark-color); line-height: 1.5385em; letter-spacing: -.02em;}
.mypage-flower-sub {color: #a8a8a8;}
.mypage-flower-status {display: flex; align-items: center; border-top: 2px solid var(--dark-color); border-bottom: 1px solid #eee;}
.mypage-flower-status-item {flex: 1; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: var(--space-10); padding: var(--space-60) 0;}
.mypage-flower-status-item .count {font-size: var(--font-size-28); font-weight: 700; color: var(--dark-color); line-height: 1.5em; letter-spacing: -.02em;}
.mypage-flower-status-item .label {font-size: var(--font-size-16); font-weight: 400; color: #505050; line-height: 1.5em; letter-spacing: -.02em;}
.mypage-flower-status-arrow {flex-shrink: 0; display: flex; width: 10px; height: 20px;}
.mypage-flower-status-arrow img {display: block; width: 100%; height: 100%;}
.mypage-flower-list {list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column;}
.mypage-flower-item {display: flex; align-items: center; justify-content: space-between; gap: var(--space-20); padding: var(--space-30) 0; border-bottom: 1px solid #eee;}
.mypage-flower-product {display: flex; align-items: center; gap: var(--space-30); min-width: 0;}
.mypage-flower-thumb {flex-shrink: 0; width: 140px; aspect-ratio: 140 / 222; border-radius: var(--radius-12); overflow: hidden; background: #f1f1f1;}
.mypage-flower-thumb img {display: block; width: 100%; height: 100%; object-fit: cover;}
.mypage-flower-info {display: flex; flex-direction: column; gap: var(--space-8); min-width: 0;}
.mypage-flower-date {font-size: var(--font-size-14); font-weight: 600; color: #a8a8a8; line-height: 1.4286em; letter-spacing: -.02em;}
.mypage-flower-name {display: flex; flex-wrap: wrap; align-items: center; gap: var(--space-6); font-size: var(--font-size-18); line-height: 1.6667em; letter-spacing: -.02em;}
.mypage-flower-name .place {color: #878787; font-weight: 400;}
.mypage-flower-name .product {color: #505050; font-weight: 400;}
.mypage-flower-price {display: flex; align-items: center; gap: var(--space-6); margin: 0; font-size: var(--font-size-20); font-weight: 600; line-height: 1.7em; letter-spacing: -.02em;}
.mypage-flower-price .sale {color: #da1a35;}
.mypage-flower-price .amount {color: var(--dark-color);}
.mypage-flower-meta {display: flex; flex-shrink: 0; align-items: flex-start;}
.mypage-flower-meta .qty {display: flex; align-items: center; justify-content: center; width: 200px; padding: 0 var(--space-40); font-size: var(--font-size-16); font-weight: 400; color: #505050; line-height: 1.5em; letter-spacing: -.02em; text-align: center;}
.mypage-flower-meta .status {display: flex; align-items: center; justify-content: center; width: 200px; padding: 0 var(--space-60); border: 0; font-size: var(--font-size-16); font-weight: 400; color: #505050; line-height: 1.5em; letter-spacing: -.02em; text-align: center;}
.mypage-flower-inquiry {display: flex; align-items: center; justify-content: space-between; gap: var(--space-20); margin-top: var(--space-40); flex-wrap: wrap;}
.mypage-flower-inquiry-tit {font-size: var(--font-size-18); font-weight: 600; color: #676767; line-height: 1.6667em; letter-spacing: -.02em;}
.mypage-flower-inquiry-list {display: flex; flex-wrap: wrap; gap: var(--space-30);}
.mypage-flower-inquiry-item {display: flex; align-items: center; gap: var(--space-12);}
.mypage-flower-inquiry-item .badge {display: inline-flex; align-items: center; justify-content: center; padding: var(--space-10) var(--space-16); border: 1px solid #eee; border-radius: var(--radius-6); background: #fff; font-size: var(--font-size-16); font-weight: 500; color: #878787; line-height: 1.5em; letter-spacing: -.02em; white-space: nowrap;}
.mypage-flower-inquiry-item .contact {margin: 0; font-size: var(--font-size-20); font-weight: 500; color: var(--dark-color); line-height: 1.7em; letter-spacing: -.02em; white-space: nowrap;}

@media (max-width: 1024px) {
	.mypage-flower-meta .qty, .mypage-flower-meta .status {width: 100px; padding: 0 10px;}
}

@media (max-width: 768px) {
	.mypage-flower-status {flex-wrap: wrap; justify-content: center; gap: var(--space-10); padding: var(--space-30) 0;}
	.mypage-flower-status-item {flex: 1 1 auto; padding: var(--space-20) 0;}
	.mypage-flower-meta {flex-direction: column; gap: 10px;}
	.mypage-flower-thumb {width: 100%; max-width: 100px; height: auto; aspect-ratio: 140 / 222;}
	.mypage-flower-inquiry {flex-direction: column; align-items: flex-start;}
	.mypage-flower-inquiry-list {flex-direction: column; gap: var(--space-16);}
	.mypage-flower-meta .qty, .mypage-flower-meta .status {width: 80px;}
}

/* mypage · inquiry list */
.mypage-inquiry-list {list-style: none; margin: 0; padding: 0; border-top: 2px solid var(--dark-color);}
.mypage-inquiry-item {border-bottom: 1px solid #eee;}
.mypage-inquiry-row {display: flex; align-items: center; justify-content: space-between; gap: var(--space-20); width: 100%; padding: var(--space-30) 0; border: 0; background: none; font: inherit; color: inherit; text-align: left;}
button.mypage-inquiry-row {cursor: pointer;}
.mypage-inquiry-main {display: flex; align-items: center; gap: var(--space-34); min-width: 0; flex: 1;}
.mypage-inquiry-badge {display: inline-flex; align-items: center; justify-content: center; flex-shrink: 0; padding: var(--space-6) var(--space-8); border-radius: var(--radius-4); font-size: var(--font-size-12); font-weight: 700; line-height: 1.1667em; letter-spacing: -.02em; white-space: nowrap;}
.mypage-inquiry-badge.is-wait {border: 1px solid #dfdfdf; background: #fff; color: #878787;}
.mypage-inquiry-badge.is-done {border: 0; background: var(--dark-color); color: #fff;}
.mypage-inquiry-badge.is-reply {border: 0; margin-bottom: var(--space-24); background: var(--secondary-color); color: #fff; font-weight: 600;}
.mypage-inquiry-subject {margin: 0; font-size: var(--font-size-18); font-weight: 500; color: var(--dark-color); line-height: 1.6667em; letter-spacing: -.02em; overflow: hidden; text-overflow: ellipsis; white-space: nowrap;}
.mypage-inquiry-meta {display: flex; flex-shrink: 0; align-items: center;}
.mypage-inquiry-meta .category {display: flex; align-items: center; justify-content: flex-end; width: 120px; font-size: var(--font-size-14); font-weight: 400; color: #676767; line-height: 1.1429em; letter-spacing: -.02em; text-align: right;}
.mypage-inquiry-meta .name {display: flex; align-items: center; justify-content: flex-end; width: 120px; font-size: var(--font-size-16); font-weight: 400; color: #505050; line-height: 1.5em; letter-spacing: -.02em; text-align: right;}
.mypage-inquiry-meta .date {display: flex; align-items: center; justify-content: flex-end; width: 120px; font-size: var(--font-size-16); font-weight: 400; color: #878787; line-height: 1.5em; letter-spacing: -.02em; text-align: right;}
.mypage-inquiry-detail {display: none; flex-direction: column; gap: var(--space-30); padding: var(--space-30) 0; background: #fafafa; border-bottom: 1px solid #eee;}
.mypage-inquiry-question {padding: 0 var(--space-91); font-size: var(--font-size-16); font-weight: 400; color: #505050; line-height: 1.5em; letter-spacing: -.02em;}
.mypage-inquiry-question p {margin: 0 0 1em;}
.mypage-inquiry-question p:last-child {margin-bottom: 0;}
.mypage-inquiry-answer {padding: 0 var(--space-91);}
.mypage-inquiry-answer-body {margin-top: var(--space-24); padding-top: var(--space-30); border-top: 1px dashed #ccc; font-size: var(--font-size-16); font-weight: 400; color: #505050; line-height: 1.5em; letter-spacing: -.02em;}
.mypage-inquiry-answer-body p {margin: 0 0 1em;}
.mypage-inquiry-answer-body p:last-child {margin-bottom: 0;}

@media (max-width: 1024px) {
	.mypage-inquiry-row {flex-direction: column; align-items: flex-start;}
	.mypage-inquiry-meta {width: 100%; justify-content: flex-start; flex-wrap: wrap; gap: var(--space-8) var(--space-16);}
	.mypage-inquiry-meta .category,
	.mypage-inquiry-meta .name,
	.mypage-inquiry-meta .date {width: auto; justify-content: flex-start; text-align: left;}
	.mypage-inquiry-question,
	.mypage-inquiry-answer {padding: 0 var(--space-20);}
}

@media (max-width: 768px) {
	.mypage-inquiry-main {flex-direction: column; align-items: flex-start; gap: var(--space-12);}
	.mypage-inquiry-subject {white-space: normal;}
}


/* 화환 주문 - 결제수단 */
.flower-pay-methods {display: flex; flex-wrap: wrap; gap: var(--space-12); margin-top: var(--space-12);}
.flower-pay-method-item {display: inline-flex; align-items: center; justify-content: center; min-width: 140px; padding: 14px 24px; border: 1.5px solid #ddd; border-radius: 10px; background: #fff; font-size: var(--font-size-16); font-weight: 500; color: #505050; cursor: pointer; transition: border-color .15s, color .15s, background .15s;}
.flower-pay-method-item:hover {border-color: #bbb; background: #fafafa;}
.flower-pay-method-item.active {border-color: var(--color-primary); color: var(--color-primary); background: #fff8f5; font-weight: 600;}
.flower-pay-bank {margin-top: var(--space-20); padding: var(--space-20); border: 1px solid #eee; border-radius: 10px; background: #fafafa; display: flex; flex-direction: column; gap: var(--space-16);}
.flower-pay-bank-row {display: flex; flex-direction: column; gap: var(--space-8);}

/* 화환 주문 - 개인정보 동의 */
.flower-agree {padding: var(--space-20); border: 1.5px solid #eee; border-radius: 10px; background: #fafafa;}
.flower-agree-check {display: flex; align-items: center; gap: var(--space-10); margin-bottom: var(--space-12);}
.flower-agree-check .checkbox {display: flex; align-items: center; gap: var(--space-8);}
.flower-agree-text {font-size: var(--font-size-14); color: #666; line-height: 1.7; padding-left: 2px;}
.flower-agree-text p {margin-bottom: var(--space-6);}
.flower-agree-text ul {padding-left: var(--space-20); margin: var(--space-8) 0;}
.flower-agree-text ul li {list-style: disc; margin-bottom: var(--space-4);}
.flower-agree-text strong {color: #333; font-weight: 600;}

/* 주문완료 */
.order-complete {display: flex; flex-direction: column; align-items: center; justify-content: center; padding: 80px 20px; text-align: center;}
.order-complete-icon {margin-bottom: 28px;}
.order-complete-icon svg {width: 72px; height: 72px;}
.order-complete h2 {font-size: var(--font-size-22); font-weight: 700; color: #222; margin-bottom: 12px;}
.order-complete p {font-size: var(--font-size-15); color: #878787; margin-bottom: 32px; line-height: 1.6;}
.order-complete .btns {display: flex; gap: 12px; flex-wrap: wrap; justify-content: center;}

/* order.php 공용 결제수단 (payment-method) */
.payment-method-items {display: flex; flex-wrap: wrap; gap: 10px;}
.payment-method-item {display: inline-flex; flex-direction: column; align-items: center; justify-content: center; gap: 8px; min-width: 120px; padding: 16px 20px; border: 1.5px solid #ddd; border-radius: 10px; background: #fff; font-size: 14px; font-weight: 500; color: #505050; cursor: pointer; transition: border-color .15s, color .15s, background .15s;}
.payment-method-item svg {width: 36px; height: 36px;}
.payment-method-item:hover {border-color: #bbb;}
.payment-method-item.active {border-color: var(--color-primary); color: var(--color-primary); background: #fff8f5;}
.payment-method-bank {margin-top: 16px; padding: 20px; background: #fafafa; border: 1px solid #eee; border-radius: 10px; display: flex; flex-direction: column; gap: 12px;}
.payment-method-input {display: flex; flex-direction: column; gap: 6px;}
.payment-method-input label {font-size: 14px; font-weight: 500; color: #333;}
