@charset "utf-8";
/* 서브 페이지 공통 (html/*.html 을 페이지 모듈에 붙여 넣어 사용) */

.gd-page { word-break: keep-all; color: #555; }
.gd-page .page-section + .page-section { margin-top: 5rem; }
.gd-hero { position: relative; overflow: hidden; border-radius: 1rem; aspect-ratio: 21 / 8; background: #1d241f center/cover no-repeat; }
.gd-hero:before { content: ''; position: absolute; inset: 0; background: linear-gradient(to top, rgba(0,0,0,.55), rgba(0,0,0,0) 60%); }
.gd-hero-txt { position: absolute; left: 2rem; right: 2rem; bottom: 1.75rem; color: #fff; }
.gd-hero-txt p { margin: 0; font-size: .95rem; opacity: .85; letter-spacing: .2em; }
.gd-hero-txt h3 { margin: .25rem 0 0; font-weight: 300; font-size: 1.75rem; color: #fff; }

/* 표 */
.gd-table { width: 100%; border-top: 2px solid #1d241f; font-size: .95rem; }
.gd-table th, .gd-table td { padding: 1rem .75rem; border-bottom: 1px solid #e3e3e0; vertical-align: middle; }
.gd-table thead th { background: #f6f6f2; color: #111; font-weight: 500; text-align: center; }
.gd-table tbody th { width: 28%; background: #fafaf7; color: #111; font-weight: 500; }
.gd-table td.text-center, .gd-table th.text-center { text-align: center; }
.gd-table .gd-total th, .gd-table .gd-total td { font-weight: 600; color: #111; background: #f6f6f2; }

/* 카드 */
.gd-cards { display: grid; gap: 1.25rem; grid-template-columns: repeat(auto-fit, minmax(240px, 1fr)); }
.gd-card { height: 100%; padding: 2rem 1.75rem; border: 1px solid #e6e6e1; border-radius: .75rem; background: #fff; transition: box-shadow .3s, transform .3s; }
.gd-card:hover { box-shadow: 0 12px 30px rgba(0,0,0,.06); transform: translateY(-3px); }
.gd-card-icon { display: inline-flex; align-items: center; justify-content: center; width: 3.25rem; height: 3.25rem; border-radius: 50%; background: #eef1ea; color: #4b5e46; font-size: 1.4rem; }
.gd-card h4 { margin: 1.25rem 0 .75rem; font-size: 1.2rem; font-weight: 500; color: #111; }
.gd-card p { margin: 0; line-height: 1.8; font-size: .95rem; }
.gd-card ul { margin: 1rem 0 0; padding-left: 1.1rem; line-height: 1.9; font-size: .95rem; }
.gd-card .gd-price { margin-top: 1.25rem; padding-top: 1rem; border-top: 1px dashed #ddd; font-size: 1.1rem; color: #111; font-weight: 500; }
.gd-card.is-featured { border-color: #4b5e46; box-shadow: 0 0 0 1px #4b5e46 inset; }
.gd-badge { display: inline-block; padding: .2rem .65rem; border-radius: 2rem; background: #4b5e46; color: #fff; font-size: .75rem; letter-spacing: .05em; }

/* 단계 */
.gd-steps { counter-reset: gd-step; list-style: none; margin: 0; padding: 0; display: grid; gap: 1rem; }
.gd-steps > li { position: relative; display: grid; grid-template-columns: 4rem 1fr; gap: 1.25rem; align-items: start; padding: 1.5rem; border: 1px solid #e6e6e1; border-radius: .75rem; background: #fff; }
.gd-steps > li:before { counter-increment: gd-step; content: counter(gd-step, decimal-leading-zero); display: flex; align-items: center; justify-content: center; width: 4rem; height: 4rem; border-radius: 50%; background: #1d241f; color: #fff; font-family: 'Jost', 'Montserrat', sans-serif; font-size: 1.15rem; letter-spacing: .05em; }
.gd-steps h4 { margin: .35rem 0 .5rem; font-size: 1.15rem; font-weight: 500; color: #111; }
.gd-steps p { margin: 0; line-height: 1.8; font-size: .95rem; }

/* 안내 박스 */
.gd-note { padding: 1.5rem 1.75rem; border-radius: .75rem; background: #f6f6f2; font-size: .92rem; line-height: 1.9; }
.gd-note strong { color: #111; }
.gd-note ul { margin: 0; padding-left: 1.1rem; }
.gd-check { list-style: none; margin: 0; padding: 0; line-height: 2; }
.gd-check li { position: relative; padding-left: 1.6rem; }
.gd-check li:before { content: '\2713'; position: absolute; left: 0; color: #4b5e46; font-weight: 700; }

/* 갤러리 */
.gd-gallery { display: grid; gap: 1rem; grid-template-columns: repeat(auto-fill, minmax(260px, 1fr)); }
.gd-gallery figure { margin: 0; }
.gd-gallery .gd-photo { aspect-ratio: 4 / 3; border-radius: .75rem; background: #ddd center/cover no-repeat; transition: transform .5s; }
.gd-gallery figure:hover .gd-photo { transform: scale(1.02); }
.gd-gallery figcaption { margin-top: .75rem; font-size: .95rem; color: #111; }
.gd-gallery figcaption span { display: block; font-size: .85rem; color: #888; }

/* 지도 */
.gd-map { overflow: hidden; border-radius: 1rem; border: 1px solid #e6e6e1; }
.gd-map iframe { display: block; width: 100%; height: 420px; border: 0; }

@media (max-width: 767px) {
	.gd-hero { aspect-ratio: 4 / 3; }
	.gd-hero-txt { left: 1.25rem; right: 1.25rem; bottom: 1.25rem; }
	.gd-hero-txt h3 { font-size: 1.35rem; }
	.gd-table { font-size: .875rem; }
	.gd-table tbody th { width: 34%; }
	.gd-steps > li { grid-template-columns: 3rem 1fr; padding: 1.25rem; gap: 1rem; }
	.gd-steps > li:before { width: 3rem; height: 3rem; font-size: 1rem; }
	.gd-map iframe { height: 300px; }
}

/* ---------- 상조 상품표 (후불상조상품.html) ---------- */
.gd-product + .gd-product { margin-top: 3rem; }
.gd-product-head { display: flex; align-items: baseline; justify-content: space-between; gap: 1rem; padding: 1rem 1.5rem; border-radius: .75rem .75rem 0 0; background: #4b5e46; color: #fff; }
.gd-product-head h3 { margin: 0; font-size: 1.35rem; font-weight: 500; color: #fff; }
.gd-product-head span { font-size: .875rem; opacity: .8; }
.gd-product-call { margin: 0; padding: .9rem 1.5rem; background: #f6f6f2; font-size: .95rem; color: #333; text-align: center; }
.gd-product-call i { color: #4b5e46; margin-right: .25rem; }
.gd-product-call a { color: #111; font-weight: 600; }
.gd-product-table { min-width: 640px; border-top: 0; }
.gd-product-table thead th { border-top: 1px solid #e3e3e0; }
.gd-product-table tbody th.gd-day { width: auto; background: #eef1ea; color: #1d241f; text-align: center; font-weight: 600; letter-spacing: .05em; border-right: 1px solid #e3e3e0; }
.gd-product-table tbody th.gd-item { width: auto; background: #fafaf7; text-align: center; border-right: 1px solid #e3e3e0; }
.gd-product-table td { padding: .7rem 1rem; }
.gd-product-table tbody tr:hover td { background: #fbfbf8; }

@media (max-width: 767px) {
	.gd-product-head { padding: .9rem 1.1rem; }
	.gd-product-call { padding: .8rem 1.1rem; font-size: .875rem; text-align: left; }
}

/* 상품 바로가기 */
.gd-product-nav { display: flex; flex-wrap: wrap; justify-content: center; gap: .5rem; margin: 0 0 2.5rem; padding: 0; list-style: none; }
.gd-product-nav a { display: block; padding: .7rem 1.5rem; border: 1px solid #4b5e46; border-radius: 2rem; color: #4b5e46; font-size: .95rem; transition: background .2s, color .2s; }
.gd-product-nav a:hover { background: #4b5e46; color: #fff; }
.gd-product { scroll-margin-top: 110px; }
@media (max-width: 767px) {
	.gd-product-nav a { padding: .55rem 1rem; font-size: .875rem; }
}
.gd-card-more { display: inline-flex; align-items: center; gap: .35rem; margin-top: 1rem; font-size: .9rem; color: #4b5e46; font-weight: 500; }
.gd-card-more:hover { color: #1d241f; }

/* 상품 비교표 (가로 나열) */
.gd-compare { scroll-margin-top: 110px; }
.gd-compare-hint { margin: 0 0 .5rem; font-size: .85rem; color: #888; }
.gd-compare-table { min-width: 960px; border-top: 2px solid #1d241f; table-layout: fixed; }
.gd-compare-table thead th { vertical-align: middle; }
.gd-compare-table .gd-compare-corner { background: #f6f6f2; color: #666; font-weight: 400; font-size: .9rem; }
.gd-compare-table .gd-col-product { padding: 1.25rem .75rem; background: #4b5e46; color: rgba(255,255,255,.8); font-size: .85rem; font-weight: 400; border-left: 1px solid rgba(255,255,255,.15); }
.gd-compare-table .gd-col-product strong { display: block; margin-top: .2rem; font-size: 1.25rem; font-weight: 500; color: #fff; }
.gd-compare-table .gd-col-product.is-featured { background: #1d241f; }
.gd-compare-table .gd-price-row th { background: #fafaf7; color: #111; font-weight: 500; text-align: center; }
.gd-compare-table .gd-col-price { text-align: center; font-size: 1.05rem; font-weight: 600; color: #111; background: #fafaf7; border-left: 1px solid #e3e3e0; }
.gd-compare-table tbody td { font-size: .875rem; line-height: 1.6; border-left: 1px solid #e3e3e0; }
.gd-compare-table tbody td:nth-of-type(2) { background: #fbfcf9; }
.gd-compare-table tbody th.gd-item { vertical-align: middle; }
.gd-compare-table tbody td { vertical-align: top; }
.gd-compare-table tbody td ul { margin: 0; padding-left: 1rem; }
.gd-compare-table tbody td li + li { margin-top: .3rem; }
.gd-compare-table tbody td strong { color: #4b5e46; font-weight: 600; }
