@charset "utf-8";

.core_category {
	--core-green: #185c37;
	--core-dark: #173322;
	--core-soft: #eef4ef;
	--core-line: #dfe7e1;
	color: #26322a;
	background: #fff;
}

/* 골프공 전용 소개페이지에서 실제 상품 옵션을 여는 구매 레이어 */
.core_purchase_cta {
	padding: 14px 0 44px;
	background: #fff;
}

.core_purchase_button {
	display: block;
	width: 100%;
	min-height: 64px;
	border: 0;
	border-radius: 6px;
	background: #087d36;
	color: #fff;
	font-size: 21px;
	font-weight: 700;
	cursor: pointer;
}

.core_purchase_button:hover,
.core_purchase_button:focus {
	background: #05662b;
}

.core_purchase_layer {
	display: none;
	position: fixed;
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
	z-index: 100000;
	padding: 28px;
	background: rgba(0, 0, 0, .66);
}

.core_purchase_layer.is_open {
	display: flex;
	align-items: center;
	justify-content: center;
}

.core_purchase_layer_open {
	overflow: hidden;
}

.core_purchase_layer_dialog {
	position: relative;
	width: 100%;
	max-width: 720px;
	height: min(760px, calc(100vh - 56px));
	border-radius: 12px;
	background: #fff;
	box-shadow: 0 24px 70px rgba(0, 0, 0, .3);
	overflow: hidden;
}

.core_purchase_layer_dialog iframe {
	display: block;
	width: 100%;
	height: 100%;
	border: 0;
}

.core_purchase_layer_close {
	position: absolute;
	top: 10px;
	right: 12px;
	z-index: 2;
	width: 42px;
	height: 42px;
	border: 0;
	border-radius: 50%;
	background: #173d2c;
	color: #fff;
	font-size: 30px;
	line-height: 40px;
	cursor: pointer;
}

/* 골프공 상세의 iframe 안에는 옵션·수량·합계·구매 기능만 표시한다. */
.purchase_layer_page {
	min-width: 0;
	margin: 0;
	background: #f4f7f5;
	color: #26322a;
	font-family: Arial, "Noto Sans KR", sans-serif;
}

.purchase_layer_page * {
	box-sizing: border-box;
}

.purchase_layer_panel {
	width: 100%;
	max-width: 720px;
	margin: 0 auto;
	padding: 68px 30px 30px;
	background: #fff;
}

.purchase_layer_code {
	margin: 0 0 8px;
	color: #087d36;
	font-size: 13px;
	font-weight: 700;
}

.purchase_layer_panel h1 {
	margin: 0;
	font-size: 25px;
	line-height: 1.4;
}

.purchase_layer_price {
	margin: 16px 0 24px;
	color: #087d36;
	font-size: 30px;
	font-weight: 800;
}

.purchase_layer_option_label {
	display: block;
	margin-bottom: 8px;
	font-size: 14px;
	font-weight: 700;
}

.purchase_layer_select,
.purchase_layer_single_qty {
	width: 100%;
	height: 48px;
	padding: 0 12px;
	border: 1px solid #ccd8d0;
	border-radius: 6px;
	background: #fff;
	font-size: 15px;
}

.purchase_layer_selected_list {
	display: none;
	margin-top: 14px;
}

.purchase_layer_selected_row {
	position: relative;
	margin-top: 10px;
	padding: 16px;
	border: 1px solid #d8e2dc;
	border-radius: 8px;
	background: #f7faf8;
}

.purchase_layer_selected_row:first-child {
	margin-top: 0;
}

.purchase_layer_selected_row > strong {
	display: block;
	padding-right: 32px;
	font-size: 14px;
}

.purchase_layer_remove {
	position: absolute;
	top: 10px;
	right: 10px;
	width: 28px;
	height: 28px;
	padding: 0;
	border: 1px solid #cad6ce;
	border-radius: 50%;
	background: #fff;
	font-size: 18px;
	cursor: pointer;
}

.purchase_layer_selected_controls {
	display: flex;
	align-items: center;
	margin-top: 14px;
}

.purchase_layer_selected_controls button,
.purchase_layer_selected_controls input {
	width: 38px;
	height: 38px;
	margin: 0;
	border: 1px solid #cbd7cf;
	background: #fff;
	text-align: center;
}

.purchase_layer_selected_controls input {
	width: 58px;
	margin: 0 -1px;
}

.purchase_layer_line_price {
	margin-left: auto;
	color: #087d36;
	font-size: 16px;
	font-weight: 800;
}

.purchase_layer_total {
	display: flex;
	align-items: center;
	justify-content: space-between;
	margin-top: 22px;
	padding: 20px 0;
	border-top: 1px solid #dfe7e2;
	font-size: 14px;
}

.purchase_layer_total strong {
	color: #087d36;
	font-size: 25px;
}

.purchase_layer_actions {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 10px;
}

.purchase_layer_actions button,
.purchase_layer_login a {
	min-height: 54px;
	border: 0;
	border-radius: 6px;
	color: #fff;
	font-size: 17px;
	font-weight: 700;
	cursor: pointer;
}

.purchase_layer_actions .is_cart {
	background: #56625a;
}

.purchase_layer_actions .is_buy,
.purchase_layer_login a {
	background: #087d36;
}

.purchase_layer_login {
	margin-top: 28px;
	padding: 24px;
	border: 1px solid #d8e2dc;
	border-radius: 8px;
	text-align: center;
}

.purchase_layer_login p {
	margin: 8px 0 18px;
	font-size: 14px;
}

.purchase_layer_login a {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 130px;
	padding: 0 22px;
	text-decoration: none;
}

.purchase_layer_soldout {
	padding: 18px;
	border-radius: 6px;
	background: #777;
	color: #fff;
	font-weight: 700;
	text-align: center;
}

.purchase_layer_result_frame {
	display: none;
}

@media screen and (max-width: 767px) {
	.purchase_layer_panel {
		padding: 60px 16px 20px;
	}

	.purchase_layer_panel h1 {
		font-size: 21px;
	}

	.purchase_layer_price {
		font-size: 26px;
	}

	.purchase_layer_selected_row {
		padding: 14px;
	}

	.purchase_layer_actions button {
		min-height: 50px;
		font-size: 16px;
	}

	.core_purchase_cta {
		padding: 10px 0 30px;
	}

	.core_purchase_button {
		min-height: 56px;
		font-size: 19px;
	}

	.core_purchase_layer {
		padding: 10px;
	}

	.core_purchase_layer_dialog {
		height: calc(100vh - 20px);
		border-radius: 8px;
	}

	.core_purchase_layer_close {
		top: 8px;
		right: 8px;
	}
}

/*
 * 상세페이지 가독성 보정
 * 메뉴와 주문 입력 UI는 기존 크기를 유지하고, 실제 상품 설명 영역만 확대한다.
 */
.core_category .core_section p,
.core_category .core_section li,
.core_category .core_section dd,
.core_category .core_section th,
.core_category .core_section td,
.core_category .core_section figcaption,
.repair_detail_page p,
.repair_detail_page li,
.repair_detail_page figcaption {
	font-size: 16px;
	line-height: 1.75;
}

.core_category .core_section_heading > span,
.core_category .core_feature_text > span,
.core_category .mat_detail_lead > span,
.core_category .mat_family_copy > span,
.core_category .mat_block_heading > span,
.repair_detail_page .repair_section_heading > span,
.repair_detail_page .repair_process_grid article > span,
.repair_detail_page .repair_case_grid figcaption span {
	font-size: 16px;
	line-height: 1.75;
}

/* 영문 섹션 라벨은 본문보다 한 단계 작게 두어 제목 위계를 유지한다. */
.core_category .core_section_heading > p,
.core_category .core_feature_text > p:first-child,
.core_category .mat_block_heading > p,
.repair_detail_page .repair_section_heading > p {
	font-size: 14px;
}

@media (max-width: 767px) {
	.core_category .core_section p,
	.core_category .core_section li,
	.core_category .core_section dd,
	.core_category .core_section th,
	.core_category .core_section td,
	.core_category .core_section figcaption,
	.repair_detail_page p,
	.repair_detail_page li,
	.repair_detail_page figcaption,
	.core_category .core_section_heading > span,
	.core_category .core_feature_text > span,
	.core_category .mat_detail_lead > span,
	.core_category .mat_family_copy > span,
	.core_category .mat_block_heading > span,
	.repair_detail_page .repair_section_heading > span,
	.repair_detail_page .repair_process_grid article > span,
	.repair_detail_page .repair_case_grid figcaption span {
		font-size: 15px;
		line-height: 1.7;
	}
}

/* 상세페이지의 설명과 보조 문구가 지나치게 작지 않도록 공통 가독성을 높입니다. */
body[class^="core_page_"] .core_category p:not(.core_eyebrow),
body[class^="core_page_"] .core_category article > span,
body[class^="core_page_"] .core_category section li {
	font-size: 16px;
	line-height: 1.7;
}

body[class^="core_page_"] .core_category small {
	font-size: 14px;
}

/* 스크린 뒷장 보수패치 상세페이지 */
.core_page_repair_patch .core_hero_media img {
	object-position: center 44%;
}

.repair_reference_hero {
	padding: 82px 0 76px;
	background: #fff;
	text-align: center;
}

.repair_reference_hero_inner {
	max-width: 920px;
}

.repair_reference_patent {
	display: inline-block;
	padding: 11px 20px;
	border: 1px solid #8fb89e;
	border-radius: 24px;
	background: #f3f8f4;
	color: #185c37;
	font-size: 15px;
	font-weight: 800;
}

.repair_reference_hero h2 {
	margin-top: 31px;
	color: #1e2923;
	font-size: 48px;
	font-weight: 500;
	line-height: 1.35;
	letter-spacing: -2.4px;
}

.repair_reference_hero h2 span {
	color: #185c37;
	font-weight: 700;
}

.repair_reference_hero_inner > p {
	margin-top: 22px;
	color: #34463b;
	font-size: 19px;
	font-weight: 700;
	line-height: 1.65;
}

.repair_reference_hero_image {
	position: relative;
	overflow: hidden;
	max-width: 800px;
	margin: 38px auto 0;
	border-radius: 26px;
	box-shadow: 0 22px 48px rgba(25, 60, 39, .12);
}

.repair_reference_hero_image img {
	display: block;
	width: 100%;
	height: auto;
}

.repair_reference_tags {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 22px;
	margin-top: 25px;
}

.repair_reference_tags > div {
	display: flex;
	align-items: center;
}

.repair_reference_tags span {
	position: relative;
	padding: 0 17px;
	color: #26382e;
	font-size: 15px;
	font-weight: 800;
}

.repair_reference_tags span + span:before {
	position: absolute;
	top: 50%;
	left: 0;
	width: 3px;
	height: 3px;
	border-radius: 50%;
	background: #bd9140;
	content: "";
}

.repair_reference_tags > strong {
	padding: 13px 20px;
	background: #185c37;
	color: #fff;
	font-size: 15px;
	font-weight: 800;
}

.repair_detail_page {
	background: #fff;
	color: #213229;
}

.repair_content_section {
	padding: 100px 0;
}

.repair_problem_section {
	border-bottom: 1px solid #dbe3dc;
	background: #f4f7f4;
}

.repair_problem_inner {
	display: flex;
	align-items: center;
	justify-content: space-between;
	min-height: 86px;
	gap: 24px;
}

.repair_problem_tags {
	display: flex;
	align-items: center;
	gap: 0;
}

.repair_problem_tags span {
	position: relative;
	padding: 0 22px;
	color: #536158;
	font-size: 15px;
	font-weight: 700;
}

.repair_problem_tags span:first-child {
	padding-left: 0;
}

.repair_problem_tags span + span:before {
	position: absolute;
	top: 50%;
	left: 0;
	width: 3px;
	height: 3px;
	border-radius: 50%;
	background: #bd9140;
	content: "";
}

.repair_problem_inner > strong {
	color: var(--core-green);
	font-size: 16px;
	font-weight: 800;
}

.repair_section_heading {
	max-width: 780px;
	margin: 0 auto 48px;
	text-align: center;
}

.repair_section_heading_left {
	margin: 0;
	text-align: left;
}

.repair_section_heading > p {
	margin-bottom: 12px;
	color: #aa7625;
	font-size: 13px;
	font-weight: 800;
	letter-spacing: 1.6px;
}

.repair_section_heading h2 {
	color: #173d29;
	font-size: 34px;
	font-weight: 800;
	line-height: 1.4;
	letter-spacing: -1.4px;
}

.repair_section_heading > span {
	display: block;
	margin-top: 14px;
	color: #6a756e;
	font-size: 15px;
	line-height: 1.7;
}

.repair_principle_section {
	background: #185c37;
	color: #fff;
}

.repair_principle_inner {
	max-width: 900px;
	text-align: center;
}

.repair_principle_inner > p {
	margin-bottom: 17px;
	color: #d8b06a;
	font-size: 14px;
	font-weight: 800;
}

.repair_principle_inner h2 {
	margin-bottom: 25px;
	color: #fff;
	font-size: 38px;
	font-weight: 500;
	line-height: 1.5;
	letter-spacing: -1.7px;
}

.repair_principle_inner h2 strong {
	color: #f0c363;
	font-weight: 800;
}

.repair_principle_inner > span {
	display: block;
	color: #e2ece5;
	font-size: 15px;
	line-height: 1.9;
}

.repair_video_section {
	background: #f3f6f3;
}

.repair_video_frame {
	overflow: hidden;
	max-width: 920px;
	margin: 0 auto;
	border: 1px solid #ced8d0;
	background: #101611;
	box-shadow: 0 22px 50px rgba(21, 55, 36, .12);
}

.repair_native_video {
	position: relative;
	width: 100%;
}

.repair_video_frame video,
.repair_case_video video {
	display: block;
	width: 100%;
	height: auto;
	max-height: 720px;
	background: #101611;
}

.repair_video_start {
	position: absolute;
	top: 50%;
	left: 50%;
	z-index: 2;
	min-width: 150px;
	padding: 15px 24px;
	border: 1px solid rgba(255, 255, 255, .65);
	background: rgba(8, 48, 29, .92);
	color: #fff;
	font-size: 16px;
	font-weight: 800;
	cursor: pointer;
	transform: translate(-50%, -50%);
}

.repair_video_start:hover,
.repair_video_start:focus {
	background: #087b38;
}

.repair_native_video.is-playing .repair_video_start {
	display: none;
}

.repair_youtube_frame {
	position: relative;
	width: 100%;
	padding-top: 56.25%;
	background: #101611;
}

.repair_youtube_frame iframe {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	border: 0;
}

.repair_process_section {
	background: #fff;
}

.repair_process_grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 24px;
}

.repair_process_grid article {
	overflow: hidden;
	border: 1px solid #d8e0da;
	background: #fff;
}

.repair_process_image {
	position: relative;
	overflow: hidden;
	aspect-ratio: 1.13 / 1;
	background: #edf1ee;
}

.repair_process_image img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.repair_process_image > span {
	position: absolute;
	top: 16px;
	left: 16px;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 46px;
	height: 46px;
	background: #185c37;
	color: #fff;
	font-size: 15px;
	font-weight: 800;
}

.repair_process_grid article > p,
.repair_process_grid article > h3,
.repair_process_grid article > span {
	margin-right: 24px;
	margin-left: 24px;
}

.repair_process_grid article > p {
	margin-top: 24px;
	color: #aa7625;
	font-size: 12px;
	font-weight: 800;
}

.repair_process_grid article > h3 {
	margin-top: 8px;
	color: #20372a;
	font-size: 21px;
	font-weight: 800;
	line-height: 1.45;
}

.repair_process_grid article > span {
	display: block;
	min-height: 48px;
	margin-top: 9px;
	margin-bottom: 26px;
	color: #6a756e;
	font-size: 14px;
	line-height: 1.65;
}

.repair_selection_section {
	background: #f7f4ed;
}

.repair_selection_steps {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	max-width: 920px;
	margin: 0 auto 28px;
	border: 1px solid #d9d3c7;
	background: #fff;
}

.repair_selection_steps article {
	display: grid;
	grid-template-columns: auto 1fr;
	align-items: center;
	gap: 4px 18px;
	padding: 25px 30px;
}

.repair_selection_steps article + article {
	border-left: 1px solid #d9d3c7;
}

.repair_selection_steps article > span {
	grid-row: 1 / span 2;
	color: #a97828;
	font-size: 13px;
	font-weight: 800;
}

.repair_selection_steps strong {
	color: #243b2d;
	font-size: 19px;
	font-weight: 800;
}

.repair_selection_steps p {
	color: #68736c;
	font-size: 14px;
}

.repair_type_guide {
	overflow: hidden;
	max-width: 920px;
	margin: 0 auto;
	padding: 4px;
	border: 2px solid #535353;
	background: #fff;
	box-sizing: border-box;
}

.repair_type_guide img {
	display: block;
	width: 100%;
	height: auto;
}

.repair_price_grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 18px;
	max-width: 920px;
	margin: 20px auto 0;
}

.repair_price_grid article {
	position: relative;
	padding: 30px;
	border: 1px solid #d9d3c7;
	background: #fff;
}

.repair_price_grid article:before {
	position: absolute;
	top: 0;
	left: 0;
	width: 5px;
	height: 100%;
	background: #185c37;
	content: "";
}

.repair_price_grid p {
	color: #a97828;
	font-size: 13px;
	font-weight: 800;
}

.repair_price_grid h3 {
	margin-top: 8px;
	color: #243b2d;
	font-size: 20px;
}

.repair_color_guide {
	display: grid;
	grid-template-columns: minmax(0, 1.15fr) minmax(280px, .85fr);
	align-items: center;
	gap: 38px;
	max-width: 920px;
	margin: 20px auto 0;
	padding: 26px;
	border: 1px solid #d9d3c7;
	background: #fff;
	box-sizing: border-box;
}

.repair_color_guide p {
	color: #a97828;
	font-size: 12px;
	font-weight: 800;
	letter-spacing: 1px;
}

.repair_color_guide h3 {
	margin-top: 8px;
	color: #243b2d;
	font-size: 22px;
	line-height: 1.45;
}

.repair_color_guide div > span {
	display: block;
	margin-top: 13px;
	color: #68736c;
	font-size: 13px;
	line-height: 1.75;
}

.core_zoom_image_button {
	display: block;
	width: 100%;
	margin: 0;
	padding: 0;
	border: 0;
	background: transparent;
	font-family: inherit;
	text-align: center;
	cursor: zoom-in;
}

.core_zoom_image_button img {
	display: block;
	width: 100%;
	height: auto;
	border: 1px solid #d7ddd8;
	box-sizing: border-box;
}

.core_zoom_image_button > span {
	display: block;
	margin-top: 8px;
	color: #6d776f;
	font-size: 12px;
	line-height: 1.5;
}

.core_image_layer {
	position: fixed;
	z-index: 10020;
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
	display: none;
	align-items: center;
	justify-content: center;
	padding: 30px;
	background: rgba(0, 0, 0, .82);
	box-sizing: border-box;
}

.core_image_layer.is-open {
	display: flex;
}

.core_image_layer_inner {
	position: relative;
	max-width: 1200px;
	max-height: 100%;
	overflow: auto;
	background: #fff;
	box-shadow: 0 18px 60px rgba(0, 0, 0, .4);
}

.core_image_layer_inner img {
	display: block;
	max-width: 100%;
	height: auto;
}

.core_image_layer_close {
	position: sticky;
	z-index: 2;
	top: 12px;
	float: right;
	width: 42px;
	height: 42px;
	margin: 12px 12px -54px 0;
	border: 0;
	border-radius: 50%;
	background: rgba(18, 39, 27, .92);
	color: #fff;
	font-family: Arial, sans-serif;
	font-size: 28px;
	line-height: 42px;
	cursor: pointer;
}

.repair_help_box {
	display: grid;
	grid-template-columns: auto 1fr;
	align-items: center;
	gap: 16px 24px;
	max-width: 920px;
	margin: 20px auto 0;
	padding: 26px 30px;
	background: #173d29;
	color: #fff;
}

.repair_help_box > strong {
	font-size: 18px;
	font-weight: 800;
}

.repair_help_box > p {
	color: #d9e5dc;
	font-size: 14px;
	line-height: 1.65;
}

.repair_case_section {
	background: #fff;
}

.repair_case_grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 20px;
}

.repair_case_grid article {
	overflow: hidden;
	border: 1px solid #d7dfd9;
	background: #fff;
}

.repair_case_grid img {
	display: block;
	width: 100%;
	aspect-ratio: 3 / 4;
	object-fit: cover;
}

.repair_case_grid article > div {
	padding: 23px;
}

.repair_case_grid p {
	margin-bottom: 8px;
	color: #aa7625;
	font-size: 12px;
	font-weight: 800;
}

.repair_case_grid strong {
	display: block;
	color: #283b30;
	font-size: 16px;
	font-weight: 800;
	line-height: 1.55;
}

.repair_case_video {
	max-width: 920px;
	margin: 32px auto 0;
	border: 1px solid #cbd7ce;
	background: #f4f7f4;
}

.repair_case_video summary {
	position: relative;
	padding: 22px 64px 22px 26px;
	color: #173d29;
	font-size: 17px;
	font-weight: 800;
	cursor: pointer;
	list-style: none;
}

.repair_case_video summary::-webkit-details-marker {
	display: none;
}

.repair_case_video summary:after {
	position: absolute;
	top: 50%;
	right: 26px;
	color: #a97828;
	font-size: 24px;
	font-weight: 500;
	content: "+";
	transform: translateY(-50%);
}

.repair_case_video[open] summary:after {
	content: "−";
}

.repair_case_video_body {
	padding: 0 20px 20px;
	background: #101611;
}

.repair_case_video_body > .repair_native_video {
	width: 100%;
	max-width: 560px;
	margin: 0 auto;
}

.repair_case_video_body > .repair_native_video video {
	width: 100%;
	object-fit: contain;
}

.repair_case_video_body > .repair_youtube_frame {
	max-width: 720px;
	margin: 0 auto;
}

.repair_benefit_section {
	padding: 90px 0;
	background: #123f29;
	color: #fff;
}

.repair_benefit_inner {
	display: grid;
	grid-template-columns: minmax(280px, .85fr) minmax(0, 1.4fr);
	align-items: end;
	gap: 70px;
}

.repair_section_heading_light {
	margin: 0;
	text-align: left;
}

.repair_section_heading_light > p {
	color: #d7ab5d;
}

.repair_section_heading_light h2 {
	color: #fff;
}

.repair_benefit_grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	border-top: 1px solid rgba(255, 255, 255, .25);
}

.repair_benefit_grid article {
	min-height: 130px;
	padding: 24px 22px;
	border-right: 1px solid rgba(255, 255, 255, .18);
}

.repair_benefit_grid article:first-child {
	border-left: 1px solid rgba(255, 255, 255, .18);
}

.repair_benefit_grid span {
	display: block;
	color: #d9ad60;
	font-size: 14px;
	font-weight: 800;
}

.repair_benefit_grid strong {
	display: block;
	margin-top: 28px;
	color: #fff;
	font-size: 17px;
	font-weight: 800;
	line-height: 1.45;
}

.repair_final_section {
	padding: 96px 0;
	background: #f3efe5;
}

/* 보수패치 마지막 섹션과 푸터 사이의 공통 80px 여백을 제거합니다. */
body.core_page_repair_patch #total_wrap > .renewal_footer {
	margin-top: 0 !important;
}

.repair_final_inner {
	display: grid;
	grid-template-columns: minmax(0, 1.2fr) minmax(260px, .8fr);
	gap: 34px 70px;
}

.repair_final_inner > div:first-child > p {
	color: #a97828;
	font-size: 13px;
	font-weight: 800;
	letter-spacing: 1px;
}

.repair_final_inner h2 {
	margin-top: 13px;
	color: #173d29;
	font-size: 38px;
	font-weight: 800;
	line-height: 1.35;
	letter-spacing: -1.5px;
}

.repair_final_inner > div:first-child > span {
	display: block;
	max-width: 610px;
	margin-top: 18px;
	color: #657069;
	font-size: 15px;
	line-height: 1.75;
}

.repair_final_contact {
	padding: 30px;
	border-left: 4px solid #bd9140;
	background: #fff;
}

.repair_final_contact > strong {
	display: block;
	color: #263c2e;
	font-size: 18px;
}

.repair_final_contact > p {
	margin-top: 7px;
	color: #6d766f;
	font-size: 14px;
}

.repair_phone_link {
	display: block;
	margin: 22px 0 14px;
	color: var(--core-green);
	font-size: 25px;
	font-weight: 800;
}

.repair_final_contact .core_button {
	width: 100%;
}

.repair_final_options {
	grid-column: 1 / -1;
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	border-top: 1px solid #d5cdbc;
	border-bottom: 1px solid #d5cdbc;
}

.repair_final_options > div {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 24px;
	padding: 22px 28px;
}

.repair_final_options span {
	color: #a97828;
	font-size: 15px;
	font-weight: 800;
}

.repair_final_options strong {
	color: #263c2e;
	font-size: 20px;
	font-weight: 800;
}

@media screen and (max-width: 1024px) {
	.repair_content_section {
		padding: 80px 0;
	}

	.repair_help_box {
		grid-template-columns: 1fr;
	}

	.repair_benefit_inner {
		grid-template-columns: 1fr;
		gap: 40px;
	}

	.repair_section_heading_light {
		max-width: none;
		text-align: center;
	}
}

@media screen and (max-width: 767px) {
	.repair_reference_hero {
		padding: 54px 0 46px;
	}

	.repair_reference_patent {
		padding: 9px 14px;
		font-size: 12px;
	}

	.repair_reference_hero h2 {
		margin-top: 23px;
		font-size: 31px;
		line-height: 1.4;
		letter-spacing: -1.3px;
	}

	.repair_reference_hero_inner > p {
		margin-top: 17px;
		font-size: 15px;
	}

	.repair_reference_hero_image {
		margin-top: 29px;
		border-radius: 15px;
	}

	.repair_reference_tags {
		align-items: stretch;
		flex-direction: column;
		gap: 14px;
	}

	.repair_reference_tags > div {
		justify-content: center;
	}

	.repair_reference_tags span {
		padding: 0 13px;
		font-size: 13px;
	}

	.repair_reference_tags > strong {
		align-self: center;
		padding: 11px 17px;
		font-size: 13px;
	}

	.core_page_repair_patch .core_hero_media img {
		object-position: center;
	}

	.repair_content_section {
		padding: 62px 0;
	}

	.repair_problem_inner {
		min-height: 72px;
	}

	.repair_problem_tags span {
		padding: 0 12px;
		font-size: 12px;
	}

	.repair_problem_inner > strong {
		font-size: 13px;
	}

	.repair_section_heading {
		margin-bottom: 32px;
	}

	.repair_section_heading > p {
		margin-bottom: 9px;
		font-size: 11px;
	}

	.repair_section_heading h2 {
		font-size: 25px;
		letter-spacing: -.8px;
	}

	.repair_section_heading > span {
		font-size: 13px;
	}

	.repair_principle_inner h2 {
		font-size: 27px;
		letter-spacing: -1px;
	}

	.repair_principle_inner > span {
		font-size: 13px;
	}

	.repair_process_grid,
	.repair_case_grid {
		grid-template-columns: 1fr;
	}

	.repair_process_grid {
		gap: 18px;
	}

	.repair_process_grid article > span {
		min-height: 0;
	}

	.repair_selection_steps,
	.repair_price_grid {
		grid-template-columns: 1fr;
	}

	.repair_selection_steps article + article {
		border-top: 1px solid #d9d3c7;
		border-left: 0;
	}

	.repair_selection_steps article,
	.repair_price_grid article {
		padding: 22px;
	}

	.repair_help_box {
		padding: 25px 20px;
	}

	.repair_case_grid {
		gap: 16px;
	}

	.repair_case_video summary {
		padding: 19px 54px 19px 19px;
		font-size: 15px;
	}

	.repair_case_video summary:after {
		right: 19px;
	}

	.repair_case_video_body {
		padding: 0 10px 10px;
	}

	.repair_benefit_section {
		padding: 62px 0;
	}

	.repair_benefit_grid {
		grid-template-columns: 1fr;
	}

	.repair_benefit_grid article,
	.repair_benefit_grid article:first-child {
		min-height: 0;
		padding: 21px 6px;
		border-right: 0;
		border-bottom: 1px solid rgba(255, 255, 255, .18);
		border-left: 0;
	}

	.repair_benefit_grid strong {
		margin-top: 10px;
	}

	.repair_final_section {
		padding: 62px 0;
	}

	.repair_final_inner {
		grid-template-columns: 1fr;
		gap: 28px;
	}

	.repair_final_inner h2 {
		font-size: 28px;
		letter-spacing: -1px;
	}

	.repair_final_contact {
		padding: 25px 20px;
	}

	.repair_final_options {
		grid-column: auto;
		grid-template-columns: 1fr;
	}

	.repair_final_options > div {
		padding: 18px 4px;
	}

	.repair_final_options > div + div {
		border-top: 1px solid #d5cdbc;
		border-left: 0;
	}
}

@media screen and (max-width: 440px) {
	.repair_problem_inner {
		align-items: flex-start;
		flex-direction: column;
		justify-content: center;
		gap: 8px;
		padding-top: 16px;
		padding-bottom: 16px;
	}

	.repair_problem_tags {
		width: 100%;
	}

	.repair_problem_tags span {
		flex: 1;
		padding: 0 10px;
		text-align: center;
	}

	.repair_problem_tags span:first-child {
		padding-left: 0;
		text-align: left;
	}

	.repair_phone_link {
		font-size: 22px;
	}

	.repair_final_options > div {
		align-items: flex-start;
		flex-direction: column;
		gap: 7px;
	}
}

.core_inner {
	width: min(1180px, calc(100% - 48px));
	margin: 0 auto;
}

.core_hero {
	overflow: hidden;
	background: #123d30;
}

.core_hero_inner {
	display: grid;
	grid-template-columns: minmax(500px, 36%) minmax(0, 64%);
	align-items: stretch;
	width: 100%;
	min-height: 510px;
}

.core_hero_text {
	display: flex;
	flex-direction: column;
	justify-content: flex-start;
	padding: 65px 54px 45px max(44px, calc((100vw - 1540px) / 2 + 44px));
}

.core_eyebrow,
.core_section_heading > p,
.core_feature_text > p:first-child {
	margin-bottom: 16px;
	color: var(--core-green);
	font-size: 13px;
	font-weight: 800;
	letter-spacing: 1.5px;
}

.core_hero .core_eyebrow {
	color: #c69a52;
	letter-spacing: .18em;
}

.core_hero h1 {
	color: #fff;
	font-size: 44px;
	font-weight: 600;
	line-height: 1.28;
	letter-spacing: -.055em;
	word-break: keep-all;
}

.core_hero h1::after {
	display: block;
	width: 44px;
	height: 2px;
	margin-top: 28px;
	background: #c69a52;
	content: "";
}

.core_hero_description {
	max-width: 520px;
	margin-top: 27px;
	color: #d9e1dc;
	font-size: 17px;
	line-height: 1.75;
	word-break: keep-all;
}

.core_consult_actions {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
	margin-top: 34px;
}

.core_button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 142px;
	min-height: 50px;
	padding: 12px 22px;
	border: 1px solid transparent;
	border-radius: 0;
	font-family: inherit;
	font-size: 15px;
	font-weight: 700;
	line-height: 1.2;
	cursor: pointer;
}

.core_button_primary {
	border-color: #c69a52;
	background: #c69a52;
	color: #17261f;
}

.core_button_primary:hover,
.core_button_primary:focus {
	border-color: #fff;
	background: #fff;
	color: #123d30;
}

.core_button_outline {
	border-color: #98a69c;
	background: transparent;
	color: #304036;
}

.core_button_kakao {
	background: #fee500;
	color: #191600;
}

.core_button_light {
	background: #fff;
	color: var(--core-green);
}

.core_phone_note {
	margin-top: 14px;
	color: #b8c7c0;
	font-size: 13px;
}

.core_hero_media {
	position: relative;
	overflow: hidden;
	min-height: 510px;
	background: #18231f;
}

.core_hero_media::before {
	position: absolute;
	inset: 0;
	z-index: 1;
	background: linear-gradient(90deg, rgba(18,61,48,.12), transparent 28%);
	content: "";
	pointer-events: none;
}

.core_hero_media img {
	position: absolute;
	inset: 0;
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.core_page_mats .core_hero_media {
	background: #fff;
}

.core_page_mats .core_hero_media img {
	/*
	 * 상세페이지 통이미지를 억지로 이동하지 않고, 제품만 가공한 전용 이미지를 사용한다.
	 * 데스크톱과 모바일 모두 제품 전체가 잘리지 않도록 중앙을 기준으로 채운다.
	 */
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
	width: 100%;
	min-width: 0;
	object-position: center;
	transform: none;
}

/* 가로형 제품 사진은 잘라내지 않고 상단 영역 안에서 원본 비율로 보여준다. */
.core_page_mat_iron .core_hero_media {
	background: #f8f8f8;
}

.core_page_mat_iron .core_hero_media img {
	box-sizing: border-box;
	padding: 18px 4%;
	object-fit: contain;
	object-position: center;
}

/* 저해상도 원본을 억지로 확대하지 않고 실제 크기에 가깝게 보여준다. */
.core_page_memory_foam .core_hero_media {
	background: #f7f8f7;
}

.core_page_memory_foam .core_hero_media img {
	box-sizing: border-box;
	padding: 46px 8%;
	object-fit: contain;
	object-position: center;
}

/* 세로 비중이 큰 고무티 규격표는 위아래를 자르지 않고 전체 내용을 보여준다. */
.core_page_practice_other .core_hero_media {
	background: #fff;
}

.core_page_practice_other .core_hero_media img {
	object-fit: contain;
	object-position: center;
}

.core_page_mats .core_hero_description span {
	display: block;
}

.core_section {
	padding: 96px 0;
	scroll-margin-top: 140px;
}

.core_section:nth-of-type(even) {
	background: #fafbf9;
}

.core_section_heading {
	max-width: 760px;
	margin: 0 auto 46px;
	text-align: center;
}

.core_section_heading > p {
	margin-bottom: 12px;
}

.core_section_heading h2 {
	color: #192a20;
	font-size: clamp(30px, 3vw, 42px);
	font-weight: 800;
	line-height: 1.25;
	letter-spacing: -1.7px;
	word-break: keep-all;
}

.core_section_heading > span {
	display: block;
	margin-top: 14px;
	color: #6c766f;
	font-size: 16px;
	line-height: 1.7;
	word-break: keep-all;
}

.screen_fabric_grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 18px;
}

.screen_fabric_card {
	padding: 30px;
	border: 1px solid var(--core-line);
	border-radius: 12px;
	background: #fff;
	box-shadow: 0 8px 26px rgba(27, 62, 39, .04);
}

.screen_fabric_title {
	display: flex;
	justify-content: space-between;
	gap: 20px;
	padding-bottom: 22px;
	border-bottom: 1px solid #edf0ed;
}

.screen_fabric_title h3 {
	color: #1b3022;
	font-size: 23px;
	font-weight: 800;
}

.screen_fabric_title p {
	margin-top: 7px;
	color: #738078;
	font-size: 14px;
}

.screen_fabric_title > span {
	align-self: flex-start;
	padding: 6px 10px;
	border-radius: 20px;
	background: #e6f1e9;
	color: var(--core-green);
	font-size: 12px;
	font-weight: 700;
}

.screen_use_grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 12px;
	padding-top: 22px;
}

.screen_use_grid > div {
	padding: 18px;
	border-radius: 8px;
	background: #f5f7f4;
}

.screen_use_grid strong,
.screen_use_grid p,
.screen_use_grid small {
	display: block;
}

.screen_use_grid strong {
	color: var(--core-green);
	font-size: 15px;
}

.screen_use_grid p {
	margin-top: 8px;
	color: #29382f;
	font-size: 15px;
	font-weight: 700;
}

.screen_use_grid small {
	margin-top: 6px;
	color: #818982;
	font-size: 12px;
	line-height: 1.5;
}

.screen_order_nav {
	display: grid;
	grid-template-columns: .72fr 1.55fr 1fr;
	margin-bottom: 30px;
	border: 1px solid var(--core-line);
	border-radius: 12px;
	background: #fff;
	box-shadow: 0 8px 28px rgba(27, 62, 39, .04);
}

.screen_order_level {
	padding: 24px;
	border-right: 1px solid var(--core-line);
}

.screen_order_level:last-child {
	border-right: 0;
}

.screen_order_level strong {
	display: flex;
	align-items: center;
	gap: 8px;
	margin-bottom: 13px;
	color: #3f5146;
	font-size: 15px;
}

.screen_order_level strong span {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 25px;
	height: 25px;
	border-radius: 50%;
	background: #e9f1eb;
	color: var(--core-green);
	font-size: 13px;
}

.screen_order_level > div {
	display: flex;
	flex-wrap: wrap;
	gap: 6px;
}

.screen_order_level a,
.screen_order_level > div > span {
	padding: 10px 12px;
	border: 1px solid #dce4de;
	border-radius: 6px;
	color: #59675f;
	font-size: 14px;
	font-weight: 700;
}

.screen_order_level .is-current {
	border-color: var(--core-green);
	background: var(--core-green);
	color: #fff;
}

.screen_order_layout {
	display: grid;
	grid-template-columns: minmax(0, .82fr) minmax(520px, 1.18fr);
	gap: 28px;
	align-items: start;
}

.screen_selected_product,
.screen_order_box {
	border: 1px solid var(--core-line);
	border-radius: 14px;
	background: #fff;
}

.screen_selected_product {
	padding: 34px;
}

.screen_selected_kicker {
	margin-bottom: 10px;
	color: var(--core-green);
	font-size: 12px;
	font-weight: 800;
	letter-spacing: 1.3px;
}

.screen_selected_product h3 {
	color: #193322;
	font-size: 26px;
	font-weight: 800;
	line-height: 1.35;
	word-break: keep-all;
}

.screen_selected_product > p:not(.screen_selected_kicker) {
	margin-top: 12px;
	color: #6c786f;
	line-height: 1.65;
}

.screen_selected_product dl {
	margin-top: 27px;
	border-top: 1px solid #e7ece8;
}

.screen_selected_product dl > div {
	display: grid;
	grid-template-columns: 118px 1fr;
	gap: 12px;
	padding: 14px 0;
	border-bottom: 1px solid #eef1ef;
}

.screen_selected_product dt {
	color: #718078;
	font-size: 13px;
}

.screen_selected_product dd {
	color: #25382c;
	font-size: 14px;
	font-weight: 700;
}

.screen_measure_note {
	margin-top: 24px;
	padding: 18px;
	border-radius: 8px;
	background: #f2f6f3;
}

.screen_measure_note strong {
	color: #244b32;
	font-size: 14px;
}

.screen_measure_note p {
	margin-top: 7px;
	color: #68736c;
	font-size: 13px;
	line-height: 1.65;
}

.screen_order_box {
	padding: 30px;
	box-shadow: 0 14px 40px rgba(27, 62, 39, .07);
}

.member_price_lock {
	display: flex;
	min-height: 250px;
	padding: 34px;
	align-items: center;
	justify-content: center;
	flex-direction: column;
	border-radius: 10px;
	background: #f5f8f5;
	text-align: center;
}

.member_price_lock strong {
	color: #1e3a28;
	font-size: 20px;
	line-height: 1.45;
	word-break: keep-all;
}

.member_price_lock p {
	max-width: 520px;
	margin-top: 10px;
	color: #6a776e;
	font-size: 14px;
	line-height: 1.65;
	word-break: keep-all;
}

.member_price_lock > div {
	display: flex;
	margin-top: 22px;
	gap: 8px;
}

.memory_price_lock {
	min-height: 230px;
	margin-top: 34px;
	border: 1px solid #d8e2da;
	background: #f7f9f6;
}

.screen_order_field {
	margin-bottom: 22px;
}

.screen_order_field > label {
	display: block;
	margin-bottom: 9px;
	color: #253a2d;
	font-size: 14px;
	font-weight: 800;
}

.screen_order_field select,
.screen_order_field textarea,
.screen_dimension_fields input {
	width: 100%;
	border: 1px solid #cdd8d1;
	border-radius: 7px;
	background: #fff;
	color: #26352c;
	font-family: inherit;
	font-size: 14px;
}

.screen_order_field select,
.screen_dimension_fields input {
	height: 48px;
	padding: 0 13px;
}

.screen_order_field textarea {
	padding: 12px 13px;
	resize: vertical;
	line-height: 1.55;
}

.screen_dimension_fields {
	display: grid;
	grid-template-columns: 1fr auto 1fr;
	gap: 10px;
	align-items: center;
}

.screen_dimension_fields span {
	position: relative;
	display: block;
}

.screen_dimension_fields input {
	padding-right: 72px;
}

.screen_dimension_fields small {
	position: absolute;
	top: 50%;
	right: 12px;
	color: #7b877f;
	font-size: 12px;
	transform: translateY(-50%);
	pointer-events: none;
}

.screen_dimension_fields b {
	color: #708078;
	font-weight: 500;
}

.screen_order_price {
	display: grid;
	grid-template-columns: auto 1fr;
	align-items: center;
	gap: 6px 16px;
	margin-top: 26px;
	padding: 20px;
	border-radius: 9px;
	background: #eff5f0;
}

.screen_order_price > span {
	color: #54665b;
	font-size: 14px;
	font-weight: 700;
}

.screen_order_price strong {
	justify-self: end;
	color: var(--core-green);
	font-size: 24px;
	font-weight: 900;
}

.screen_order_price small {
	grid-column: 1 / -1;
	color: #7c877f;
	font-size: 11px;
}

.screen_cart_button {
	width: 100%;
	min-height: 54px;
	margin-top: 14px;
	border: 0;
	border-radius: 7px;
	background: var(--core-green);
	color: #fff;
	font-family: inherit;
	font-size: 16px;
	font-weight: 800;
	cursor: pointer;
}

.screen_cart_button:disabled {
	background: #9ca8a0;
	cursor: not-allowed;
}

.screen_order_pending {
	margin-top: 10px;
	color: #8a5b28;
	font-size: 12px;
	text-align: center;
}

.screen_order_unavailable {
	padding: 25px 8px;
	text-align: center;
}

.screen_order_unavailable strong {
	color: #203a2a;
	font-size: 19px;
}

.screen_order_unavailable p {
	max-width: 420px;
	margin: 12px auto 20px;
	color: #717b74;
	line-height: 1.7;
}

.screen_order_unavailable a {
	display: inline-flex;
	padding: 13px 20px;
	border-radius: 6px;
	background: var(--core-green);
	color: #fff;
	font-weight: 700;
}

.screen_order_warning {
	margin-top: 24px;
	padding: 22px 25px;
	border: 1px solid #eadfcd;
	border-radius: 10px;
	background: #fffaf2;
}

.screen_order_warning strong {
	color: #805422;
	font-size: 15px;
}

.screen_order_warning > strong {
	display: block;
	font-size: 20px;
}

.screen_order_warning_grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 14px;
	margin-top: 18px;
}

.screen_order_warning_grid section {
	padding: 20px;
	border: 1px solid #eadfcd;
	background: #fff;
}

.screen_order_warning_grid h3 {
	color: #3f4d44;
	font-size: 15px;
}

.screen_order_warning_grid p {
	margin-top: 12px;
	color: #665f55;
	font-size: 13px;
	line-height: 1.8;
}

.screen_order_warning_grid small {
	display: inline-block;
	margin-top: 8px;
	font-size: 12px;
	line-height: 1.65;
}

.screen_order_warning ul {
	margin-top: 9px;
	padding-left: 18px;
	color: #716454;
	font-size: 13px;
	line-height: 1.8;
}

.screen_finish_guide {
	margin-top: 26px;
	padding: 30px;
	border: 1px solid var(--core-line);
	border-radius: 12px;
	background: #fff;
}

.screen_finish_heading p,
.mat_subsection_heading p,
.patch_section_heading p {
	color: var(--core-green);
	font-size: 12px;
	font-weight: 800;
	letter-spacing: 1px;
}

.screen_finish_heading h3 {
	margin-top: 8px;
	color: #20372a;
	font-size: 23px;
}

.screen_finish_heading span {
	display: block;
	margin-top: 8px;
	color: #6c776f;
	font-size: 13px;
	line-height: 1.6;
}

.screen_finish_grid {
	display: grid;
	grid-template-columns: repeat(5, minmax(0, 1fr));
	gap: 9px;
	margin-top: 22px;
}

.screen_finish_grid span {
	display: block;
	min-height: 82px;
	padding: 15px;
	border: 1px solid #d9e3db;
	border-radius: 8px;
	background: #f7f9f7;
	color: #7a837c;
	font-size: 12px;
	line-height: 1.45;
}

.screen_finish_grid strong {
	display: block;
	margin-bottom: 6px;
	color: #284735;
	font-size: 13px;
}

.screen_material_grid {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 14px;
	margin-top: 20px;
}

.core_page_screen #screen-products > .core_inner {
	display: flex;
	flex-direction: column;
}

.screen_intro_exact { order: 10; margin-top: 0; text-align: center; }
.screen_material_heading { order: 20; margin-top: 52px; text-align: center; }
.screen_material_grid { order: 30; }
.screen_measure_heading { order: 40; }
.screen_measure_grid { order: 41; }
.screen_room_measure_exact { order: 41; }
.screen_finish_guide { order: 50; }
.screen_order_warning { order: 60; }
.screen_supply_note { order: 70; }
.screen_related_heading { order: 80; }
.screen_related_grid { order: 81; }
.screen_case_heading { order: 90; }
.screen_case_grid { order: 91; }
.screen_order_system { order: 100; margin-top: 72px; }

/* 원단·설치 위치를 다시 선택해도 주문 영역으로 정확히 돌아오도록 앵커 여백을 둔다. */
#screen-order {
	scroll-margin-top: 92px;
}

/* 주문 단계 설명은 제거하고 관련 제품 영역과 같은 크기로 주문 제목만 강조한다. */
.screen_order_title {
	font-size: 30px !important;
	letter-spacing: -1.2px !important;
}

.screen_intro_exact h2,
.screen_material_heading h3,
.screen_related_heading h3 {
	color: #20372a;
	font-size: 30px;
	font-weight: 800;
}

.screen_intro_exact p,
.screen_material_heading p {
	margin-top: 9px;
	color: var(--core-green);
	font-size: 14px;
	font-weight: 700;
}

.screen_intro_exact img {
	display: block;
	width: min(520px, 100%);
	margin: 0 auto 24px;
	border-radius: 10px;
}

.screen_booth_measure_grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 18px;
	margin-top: 16px;
}

.screen_booth_measure_notice {
	margin-top: 18px;
	padding: 15px 18px;
	border-left: 4px solid #c28b36;
	background: #fff7e8;
	color: #644817;
	font-size: 16px;
	font-weight: 800;
	line-height: 1.6;
}

.screen_booth_measure_card {
	overflow: hidden;
	border: 1px solid #d8e0da;
	border-radius: 10px;
	background: #fff;
}

.screen_booth_measure_card figcaption {
	display: block;
	padding: 16px 18px 14px;
	border-bottom: 1px solid #d8e0da;
	background: #245b3d;
	color: #fff;
}

.screen_booth_measure_card figcaption strong,
.screen_booth_measure_card figcaption span {
	display: block;
}

.screen_booth_measure_card figcaption strong {
	font-size: 17px;
}

.screen_booth_measure_card figcaption span {
	margin-top: 4px;
	color: #dce9e0;
	font-size: 12px;
}

.screen_booth_diagram {
	position: relative;
	height: 210px;
	background: #f6f8f6;
}

.screen_cloth_shape {
	position: absolute;
	top: 64px;
	right: 54px;
	bottom: 25px;
	left: 40px;
	border: 2px solid #aeb9b1;
	background: #fff;
	box-sizing: border-box;
}

.screen_cloth_shape b {
	position: absolute;
	display: block;
	box-sizing: border-box;
}

.velcro_back.top,
.velcro_back.bottom {
	right: 10px;
	left: 10px;
	border-top: 2px dashed #236343;
}

.velcro_back.top { top: 9px; }
.velcro_back.bottom { bottom: 9px; }

.velcro_back.left,
.velcro_back.right {
	top: 10px;
	bottom: 10px;
	border-left: 2px dashed #236343;
}

.velcro_back.left { left: 9px; }
.velcro_back.right { right: 9px; }

.velcro_front.left,
.velcro_front.right {
	top: 0;
	bottom: 0;
	width: 15px;
	background: repeating-linear-gradient(135deg, #c28b36 0, #c28b36 2px, #f6ead7 2px, #f6ead7 6px);
}

.velcro_front.left { left: 0; }
.velcro_front.right { right: 0; }

/* 치수 문구를 위에 두고 화살표 선은 그 아래에 배치한다. */
.screen_measure_width {
	position: absolute;
	top: 15px;
	right: 55px;
	left: 41px;
	padding-bottom: 8px;
	border-bottom: 1px solid #33493c;
	color: #33493c;
	font-size: 12px;
	font-weight: 700;
	text-align: center;
}

.screen_measure_width::before,
.screen_measure_width::after {
	position: absolute;
	right: auto;
	bottom: -4px;
	width: 6px;
	height: 6px;
	border-top: 1px solid #33493c;
	border-left: 1px solid #33493c;
	content: "";
}

.screen_measure_width::before { left: 0; transform: rotate(-45deg); }
.screen_measure_width::after { right: 0; transform: rotate(135deg); }

.screen_measure_height {
	position: absolute;
	top: 65px;
	right: 17px;
	bottom: 25px;
	padding-left: 8px;
	border-left: 1px solid #33493c;
	color: #33493c;
	font-size: 12px;
	font-weight: 700;
	text-align: center;
	writing-mode: vertical-rl;
}

/* 세로 측정선에도 가로 측정선과 같은 양방향 화살촉을 표시한다. */
.screen_measure_height::before,
.screen_measure_height::after {
	position: absolute;
	left: -4px;
	width: 6px;
	height: 6px;
	border: solid #33493c;
	content: "";
}

.screen_measure_height::before {
	top: 0;
	border-width: 1px 0 0 1px;
	transform: rotate(45deg);
}

.screen_measure_height::after {
	bottom: 0;
	border-width: 0 1px 1px 0;
	transform: rotate(45deg);
}

.eyelet_row {
	display: flex !important;
	right: 12px;
	bottom: 7px;
	left: 12px;
	justify-content: space-between;
}

.eyelet_row u {
	display: block;
	width: 7px;
	height: 7px;
	border: 1px solid #5f6c64;
	border-radius: 50%;
	background: #fff;
	text-decoration: none;
}

.screen_booth_measure_other > div {
	display: flex;
	flex-direction: column;
	justify-content: center;
	height: 210px;
	padding: 30px;
	background: #f6f8f6;
	box-sizing: border-box;
}

.screen_booth_measure_other > div b {
	color: #245b3d;
	font-size: 17px;
}

.screen_booth_measure_other > div p {
	margin-top: 10px;
	color: #5f6d64;
	font-size: 14px;
	line-height: 1.7;
}

.screen_booth_measure_copy {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 14px;
	margin-top: 22px;
}

.screen_booth_measure_copy section {
	padding: 20px 22px;
	background: #f3f6fb;
}

.screen_booth_measure_copy h3 {
	color: #20372a;
	font-size: 16px;
}

.screen_booth_measure_copy p {
	margin-top: 10px;
	color: #536159;
	font-size: 13px;
	line-height: 1.75;
}

.screen_room_measure_exact {
	display: grid;
	grid-template-columns: minmax(250px, .75fr) minmax(0, 1.25fr);
	align-items: center;
	gap: 28px;
	padding: 30px;
	border: 1px solid var(--core-line);
	border-radius: 12px;
	background: #fff;
}

.screen_room_measure_exact > div {
	padding: 20px;
}

.screen_room_measure_exact span {
	display: block;
	margin-bottom: 13px;
	color: var(--core-green);
	font-size: 14px;
	font-weight: 800;
}

.screen_room_measure_exact strong {
	display: block;
	color: #203428;
	font-size: 25px;
	line-height: 1.55;
}

.screen_room_measure_exact img {
	display: block;
	width: 100%;
	height: auto;
}

.screen_related_heading {
	margin-top: 58px;
	text-align: center;
}

.screen_material_grid article {
	overflow: hidden;
	border: 1px solid var(--core-line);
	border-radius: 10px;
	background: #fff;
}

.screen_material_grid img {
	width: 100%;
	aspect-ratio: 4 / 3;
	object-fit: cover;
}

.screen_material_grid h3 {
	padding: 18px 18px 0;
	color: #20382a;
	font-size: 18px;
}

.screen_material_grid ul {
	display: grid;
	gap: 5px;
	padding: 9px 18px 20px;
	color: #6f7a73;
	font-size: 13px;
	line-height: 1.65;
	list-style: none;
}

.screen_material_grid li::before {
	content: "✔";
	margin-right: 6px;
	color: var(--core-green);
	font-weight: 800;
}

.screen_measure_grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 18px;
	margin-top: 18px;
}

.screen_measure_grid article {
	display: grid;
	grid-template-columns: 180px 1fr;
	overflow: hidden;
	border-radius: 10px;
	background: #eef4ef;
}

.screen_measure_grid img {
	width: 100%;
	height: 100%;
	min-height: 145px;
	object-fit: cover;
}

.screen_measure_grid div {
	padding: 24px;
}

.screen_measure_grid strong {
	color: #22432e;
	font-size: 16px;
}

.screen_measure_grid p {
	margin-top: 8px;
	color: #68756d;
	font-size: 13px;
	line-height: 1.65;
}

.screen_case_heading {
	margin-top: 55px;
	text-align: center;
}

.screen_case_heading p {
	color: var(--core-green);
	font-size: 12px;
	font-weight: 800;
	letter-spacing: 1px;
}

.screen_case_heading h3 {
	margin-top: 8px;
	color: #20372a;
	font-size: 25px;
}

.screen_case_heading span {
	display: block;
	margin-top: 9px;
	color: #6d786f;
	font-size: 14px;
	line-height: 1.65;
}

.screen_case_grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 16px;
	margin-top: 24px;
}

.screen_case_grid article {
	overflow: hidden;
	border: 1px solid var(--core-line);
	border-radius: 10px;
	background: #fff;
}

.screen_case_open {
	display: block;
	width: 100%;
	padding: 0;
	border: 0;
	background: transparent;
	cursor: zoom-in;
}

.screen_case_open:focus {
	outline: 3px solid #c79b4b;
	outline-offset: -3px;
}

.screen_case_grid img {
	display: block;
	width: 100%;
	aspect-ratio: 16 / 10;
	object-fit: cover;
}

.screen_case_grid strong,
.screen_case_grid span {
	display: block;
	padding-right: 18px;
	padding-left: 18px;
}

.screen_case_grid strong {
	padding-top: 17px;
	color: #25402f;
	font-size: 16px;
}

.screen_case_grid span {
	padding-top: 7px;
	padding-bottom: 19px;
	color: #717b74;
	font-size: 13px;
}

.screen_case_modal[hidden] {
	display: none;
}

.screen_case_modal {
	position: fixed;
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
	z-index: 10000;
	display: flex;
	align-items: center;
	justify-content: center;
	box-sizing: border-box;
	padding: 32px;
	background: rgba(0,0,0,.84);
}

.screen_case_modal_inner {
	position: relative;
	display: flex;
	flex-direction: column;
	align-items: center;
	max-width: calc(100vw - 64px);
	max-height: calc(100vh - 64px);
}

.screen_case_modal_inner img {
	display: block;
	width: auto;
	height: auto;
	max-width: 100%;
	max-height: calc(100vh - 118px);
	object-fit: contain;
	background: #111;
	box-shadow: 0 18px 50px rgba(0,0,0,.38);
}

.screen_case_modal_inner p {
	margin: 12px 46px 0;
	color: #fff;
	font-size: 16px;
	line-height: 1.5;
	text-align: center;
}

.screen_case_modal_close {
	position: absolute;
	top: -18px;
	right: -18px;
	z-index: 1;
	width: 46px;
	height: 46px;
	padding: 0;
	border: 0;
	border-radius: 50%;
	background: #fff;
	color: #163c29;
	font-size: 31px;
	font-weight: 400;
	line-height: 42px;
	text-align: center;
	cursor: pointer;
	box-shadow: 0 5px 18px rgba(0,0,0,.28);
}

.screen_case_modal_close:focus {
	outline: 3px solid #e1b65f;
	outline-offset: 2px;
}

body.screen_case_modal_open {
	overflow: hidden;
}

@media (max-width: 640px) {
	.screen_case_modal {
		padding: 14px;
	}

	.screen_case_modal_inner {
		max-width: calc(100vw - 28px);
		max-height: calc(100vh - 28px);
	}

	.screen_case_modal_inner img {
		max-height: calc(100vh - 88px);
	}

	.screen_case_modal_inner p {
		margin: 10px 40px 0;
		font-size: 14px;
	}

	.screen_case_modal_close {
		top: 8px;
		right: 8px;
		width: 42px;
		height: 42px;
		font-size: 28px;
		line-height: 38px;
	}
}

.screen_supply_note {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 22px;
	margin-top: 18px;
	padding: 22px 25px;
	border-radius: 10px;
	background: #233b2c;
}

.screen_related_grid {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 12px;
	margin-top: 24px;
}

.screen_related_grid a {
	display: grid;
	grid-template-columns: 42% minmax(0, 1fr);
	align-items: center;
	overflow: hidden;
	min-height: 112px;
	border: 1px solid #dbe3dc;
	border-radius: 9px;
	background: #fff;
	color: #1f2f25;
	text-decoration: none;
}

.screen_related_thumb {
	display: block;
	align-self: stretch;
	overflow: hidden;
	border-right: 1px solid #e2e7e3;
	background: #eef3ef;
}

.screen_related_thumb img {
	display: block;
	width: 100%;
	height: 100%;
	min-height: 112px;
	object-fit: cover;
}

.screen_related_grid strong {
	display: block;
	padding: 16px;
	font-size: 15px;
	line-height: 1.45;
}

.screen_supply_note strong {
	grid-column: 1 / -1;
	color: #fff;
	font-size: 18px;
}

.screen_supply_note p {
	color: #ced9d1;
	font-size: 13px;
	line-height: 1.7;
}

.ball_mini_gallery {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 8px;
	margin-top: 18px;
}

.ball_mini_gallery img {
	width: 100%;
	aspect-ratio: 16 / 10;
	border-radius: 7px;
	object-fit: cover;
}

.range_ball_detail {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 11px;
	margin-top: 30px;
}

.range_ball_detail span {
	display: block;
	padding: 20px;
	border: 1px solid #d6e1d8;
	border-radius: 9px;
	background: #f4f7f5;
	color: #6a756e;
	font-size: 12px;
	line-height: 1.55;
}

.range_ball_detail strong {
	display: block;
	margin-bottom: 7px;
	color: #294735;
	font-size: 14px;
}

.range_xpera_feature .core_feature_image {
	background: #f5f6f6;
}

.range_xpera_feature .core_feature_image img {
	object-fit: cover;
}

.range_xpera_story {
	padding-top: 0;
	background: #f2f4f5;
}

.range_xpera_story_inner {
	display: flex;
	flex-direction: column;
	align-items: center;
}

.range_xpera_panel {
	overflow: hidden;
	width: 100%;
	max-width: 848px;
	margin: 0 auto;
	background: #fff;
}

.range_xpera_panel + .range_xpera_panel {
	margin-top: 22px;
}

.range_xpera_panel img {
	display: block;
	width: 100%;
	height: auto;
}

.range_xpera_spec_section {
	padding-top: 78px;
}

.range_xpera_spec {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	max-width: 848px;
	margin: 38px auto 0;
	border-top: 2px solid #0d3a50;
	border-bottom: 2px solid #0d3a50;
}

.range_xpera_spec > div {
	display: grid;
	grid-template-columns: 145px minmax(0, 1fr);
	border-bottom: 1px solid #d7dfe2;
}

.range_xpera_spec > div:nth-child(odd) {
	border-right: 1px solid #d7dfe2;
}

.range_xpera_spec > div:nth-last-child(-n + 2) {
	border-bottom: 0;
}

.range_xpera_spec dt,
.range_xpera_spec dd {
	padding: 18px 20px;
	font-size: 14px;
	line-height: 1.6;
}

.range_xpera_spec dt {
	background: #f3f6f4;
	color: #244431;
	font-weight: 800;
}

.range_xpera_spec dd {
	color: #25382c;
	font-weight: 700;
}

.range_xpera_packaging {
	margin-top: 44px;
}

.range_packaging_notice {
	max-width: 848px;
	margin: 24px auto 0;
	padding: 36px 42px;
	border-radius: 42px;
	background: #f4f4f6;
	text-align: center;
}

.range_packaging_notice p {
	margin: 0;
	color: #4f5255;
	font-size: 22px;
	font-weight: 800;
	line-height: 1.65;
}

.range_packaging_notice strong {
	color: #e34f4f;
	font-weight: 900;
}

.core_feature_note {
	margin-top: 17px;
	padding: 14px 16px;
	border-radius: 7px;
	background: #f2f5f2;
	color: #66736b;
	font-size: 13px;
	line-height: 1.65;
}

.lost_ball_keyline {
	display: flex;
	flex-wrap: wrap;
	gap: 7px;
	margin-top: 18px;
}

.lost_ball_keyline span {
	padding: 8px 11px;
	border-radius: 20px;
	background: #edf4ef;
	color: #315d40;
	font-size: 12px;
	font-weight: 800;
}

.lost_ball_detail {
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(360px, .9fr);
	align-items: center;
	gap: 56px;
	margin-top: 70px;
	padding-top: 70px;
	border-top: 1px solid var(--core-line);
}

.lost_ball_operation {
	grid-template-columns: minmax(360px, .9fr) minmax(0, 1fr);
}

.lost_ball_detail_image {
	overflow: hidden;
	aspect-ratio: 3 / 2;
	border-radius: 12px;
	background: #e8eee9;
}

.lost_ball_detail_image img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

/* 원본 사진의 180도 회전 메타데이터가 SVG 변환 과정에서 빠져 표시 방향을 보정한다. */
.lost_ball_operation .lost_ball_detail_image img {
	transform: rotate(180deg);
}

.lost_ball_detail_text > p,
.lost_ball_precheck p,
.ball_consult_box p {
	color: var(--core-green);
	font-size: 12px;
	font-weight: 800;
	letter-spacing: 1px;
}

.lost_ball_detail_text h3,
.lost_ball_precheck h3 {
	margin-top: 9px;
	color: #20372a;
	font-size: 27px;
	line-height: 1.4;
}

.lost_ball_detail_text > span,
.lost_ball_precheck > div > span {
	display: block;
	margin-top: 14px;
	color: #68756d;
	font-size: 14px;
	line-height: 1.8;
}

.lost_ball_detail_text ul,
.lost_ball_precheck ul {
	display: grid;
	gap: 9px;
	margin-top: 20px;
}

.lost_ball_detail_text li,
.lost_ball_precheck li {
	position: relative;
	padding-left: 16px;
	color: #5f6b63;
	font-size: 14px;
	line-height: 1.55;
}

.lost_ball_detail_text li::before,
.lost_ball_precheck li::before {
	position: absolute;
	top: 9px;
	left: 0;
	width: 5px;
	height: 5px;
	border-radius: 50%;
	background: var(--core-green);
	content: "";
}

.lost_ball_precheck {
	display: grid;
	grid-template-columns: 1fr 260px;
	align-items: center;
	gap: 45px;
	margin-top: 52px;
	padding: 34px;
	border-radius: 12px;
	background: #f2f6f3;
}

.lost_ball_precheck img {
	width: 100%;
	max-height: 330px;
	border-radius: 9px;
	object-fit: cover;
}

.lost_ball_reason {
	display: grid;
	grid-template-columns: 240px 1fr;
	gap: 24px;
	margin-top: 18px;
	padding: 23px 26px;
	border: 1px solid #eadfcd;
	border-radius: 10px;
	background: #fffaf2;
}

.lost_ball_reason strong {
	color: #805422;
}

.lost_ball_reason p {
	color: #716454;
	font-size: 13px;
	line-height: 1.75;
}

.ball_consult_box {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 30px;
	margin-top: 30px;
	padding: 28px 30px;
	border-radius: 12px;
	background: #223b2c;
}

.ball_consult_box p {
	color: #c7e6cf;
}

.ball_consult_box h3 {
	margin-top: 7px;
	color: #fff;
	font-size: 18px;
	line-height: 1.5;
}

.lost_ball_checklist {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 18px;
	margin-top: 54px;
}

.lost_ball_checklist article {
	padding: 30px;
	border: 1px solid var(--core-line);
	border-radius: 10px;
	background: #f5f8f5;
}

.lost_ball_checklist p {
	color: var(--core-green);
	font-size: 12px;
	font-weight: 800;
	letter-spacing: .8px;
}

.lost_ball_checklist h3 {
	margin-top: 9px;
	color: #20372a;
	font-size: 21px;
	line-height: 1.45;
}

.lost_ball_checklist ul {
	display: grid;
	gap: 8px;
	margin-top: 18px;
}

.lost_ball_checklist li {
	position: relative;
	padding-left: 14px;
	color: #657169;
	font-size: 14px;
	line-height: 1.55;
}

.lost_ball_checklist li::before {
	position: absolute;
	top: 9px;
	left: 0;
	width: 5px;
	height: 5px;
	border-radius: 50%;
	background: var(--core-green);
	content: "";
}

.mat_option_guide {
	display: grid;
	grid-template-columns: 1.15fr .85fr;
	align-items: center;
	margin-top: 24px;
	overflow: hidden;
	border-radius: 12px;
	background: #edf3ee;
}

.mat_option_guide > div {
	padding: 35px;
}

.mat_option_guide p,
.patch_type_guide p {
	color: var(--core-green);
	font-size: 12px;
	font-weight: 800;
	letter-spacing: 1px;
}

.mat_option_guide h3,
.patch_type_guide h3 {
	margin-top: 9px;
	color: #20372a;
	font-size: 23px;
	line-height: 1.35;
}

.mat_option_guide span,
.patch_type_guide span {
	display: block;
	margin-top: 12px;
	color: #66736b;
	font-size: 14px;
	line-height: 1.75;
}

.mat_option_guide img {
	width: 100%;
	height: 100%;
	min-height: 260px;
	object-fit: contain;
	background: #fff;
}

.mat_measure_check {
	margin-top: 18px;
	padding: 28px 30px;
	border: 1px solid #d7e1d9;
	border-radius: 10px;
	background: #fff;
}

.mat_measure_check > p {
	color: #223a2b;
	font-size: 18px;
	font-weight: 800;
}

.mat_measure_check ol {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 12px;
	margin-top: 18px;
}

.mat_measure_check li {
	display: flex;
	align-items: center;
	gap: 12px;
	padding: 15px;
	border-radius: 8px;
	background: #f2f6f3;
	color: #5d6961;
	font-size: 13px;
	line-height: 1.55;
}

.mat_measure_check li strong {
	display: flex;
	flex: 0 0 28px;
	align-items: center;
	justify-content: center;
	width: 28px;
	height: 28px;
	border-radius: 50%;
	background: var(--core-green);
	color: #fff;
}

.mat_measure_check > span {
	display: block;
	margin-top: 14px;
	color: #8a6540;
	font-size: 13px;
}

.mat_feature_points {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 10px;
	margin-top: 20px;
}

.mat_feature_points span {
	display: block;
	padding: 19px;
	border-radius: 8px;
	background: #f1f5f2;
	color: #727c75;
	font-size: 12px;
	line-height: 1.55;
}

.mat_feature_points strong {
	display: block;
	margin-bottom: 6px;
	color: #294634;
	font-size: 14px;
}

.mat_subsection_heading {
	margin-top: 65px;
	text-align: center;
}

.mat_subsection_heading h2 {
	margin-top: 8px;
	color: #20372a;
	font-size: 28px;
}

.mat_subsection_heading > span {
	display: block;
	margin-top: 9px;
	color: #6d786f;
	font-size: 14px;
	line-height: 1.65;
}

.mat_detail_section {
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(380px, .9fr);
	align-items: center;
	gap: 56px;
	margin-top: 70px;
	padding-top: 70px;
	border-top: 1px solid var(--core-line);
	scroll-margin-top: 110px;
}

.mat_detail_reverse .mat_detail_image {
	order: 2;
}

.mat_detail_reverse .mat_detail_text {
	order: 1;
}

.mat_detail_image {
	overflow: hidden;
	aspect-ratio: 4 / 3;
	border-radius: 12px;
	background: #eef2ee;
}

.mat_detail_image img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.mat_replacement_image img {
	object-fit: contain;
	background: #fff;
}

/* 업체에서 준비한 상세 이미지는 원본 순서를 유지해 한 줄로 중앙 정렬합니다. */
.mat_replacement_image_stack {
	width: 100%;
	max-width: 860px;
	margin-right: auto;
	margin-left: auto;
	text-align: center;
}

.mat_replacement_image_stack img {
	display: block;
	width: 100%;
	height: auto;
	margin: 0 auto;
}

.mat_replacement_delivery_notice {
	max-width: 860px;
	margin: 24px auto 0;
	padding: 18px 22px;
	background: #f2f6f3;
	color: #31523d;
	font-size: 16px !important;
	font-weight: 700;
	line-height: 1.65;
	text-align: center;
	box-sizing: border-box;
}

.mat_replacement_disclosure {
	margin: 52px auto 0;
}

.mat_replacement_disclosure table {
	width: 100%;
	border-collapse: collapse;
	table-layout: fixed;
}

.mat_replacement_disclosure_title {
	display: block;
	padding: 0 0 20px;
	border-bottom: 2px solid #2d4737;
	color: #203428;
	font-size: 30px;
	font-weight: 800;
	line-height: 1.35;
	text-align: left;
}

.mat_replacement_disclosure caption {
	position: absolute;
	width: 1px;
	height: 1px;
	overflow: hidden;
	clip: rect(0,0,0,0);
}

.mat_replacement_disclosure th,
.mat_replacement_disclosure td {
	padding: 15px 18px;
	border-bottom: 1px solid #d9dfda;
	font-size: 16px;
	line-height: 1.55;
	text-align: left;
	vertical-align: middle;
}

.mat_replacement_disclosure th {
	width: 180px;
	background: #f3f6f3;
	color: #2c4134;
	font-weight: 800;
	box-sizing: border-box;
}

.mat_replacement_disclosure td {
	color: #515d55;
}

@media screen and (max-width: 767px) {
	.mat_replacement_disclosure {
		margin-top: 36px;
	}

	.mat_replacement_disclosure_title {
		font-size: 25px;
	}

	.mat_replacement_disclosure th,
	.mat_replacement_disclosure td {
		padding: 13px 12px;
		font-size: 14px;
	}

	.mat_replacement_disclosure th {
		width: 105px;
	}
}

.mat_detail_text > p {
	color: var(--core-green);
	font-size: 12px;
	font-weight: 800;
	letter-spacing: 1px;
}

.mat_detail_text h2 {
	margin-top: 9px;
	color: #1f3226;
	font-size: 31px;
	line-height: 1.35;
}

.mat_detail_text > span {
	display: block;
	margin-top: 14px;
	color: #69756d;
	font-size: 15px;
	line-height: 1.7;
}

.mat_detail_text dl {
	display: grid;
	gap: 1px;
	margin-top: 24px;
	background: #dce5de;
}

.mat_detail_text dl div {
	display: grid;
	grid-template-columns: 105px 1fr;
	gap: 16px;
	padding: 14px 16px;
	background: #f7f9f7;
}

.mat_detail_text dt {
	color: #31523d;
	font-weight: 800;
}

.mat_detail_text dd {
	color: #667269;
}

.mat_detail_text ul {
	display: grid;
	gap: 10px;
	margin-top: 24px;
}

.mat_detail_text li {
	position: relative;
	padding-left: 17px;
	color: #5f6c63;
	font-size: 14px;
	line-height: 1.6;
}

.mat_detail_text li::before {
	position: absolute;
	top: 9px;
	left: 0;
	width: 6px;
	height: 6px;
	border-radius: 50%;
	background: var(--core-green);
	content: "";
}

.mat_shipping_notice {
	display: grid;
	grid-template-columns: 120px 1fr;
	gap: 20px;
	margin-top: 36px;
	padding: 22px 26px;
	border: 1px solid #eadfcd;
	border-radius: 10px;
	background: #fffaf2;
}

.mat_shipping_notice strong {
	color: #805422;
}

.mat_shipping_notice p {
	color: #716454;
	font-size: 13px;
	line-height: 1.7;
}

.mat_shipping_section {
	margin-top: 70px;
	padding-top: 1px;
	border-top: 1px solid var(--core-line);
}

.mat_shipping_table_wrap {
	overflow-x: auto;
	margin-top: 26px;
	border: 1px solid #d5dfd7;
	border-radius: 10px;
}

.mat_shipping_table {
	width: 100%;
	min-width: 680px;
	border-collapse: collapse;
	background: #fff;
}

.mat_shipping_table caption {
	position: absolute;
	width: 1px;
	height: 1px;
	overflow: hidden;
	clip: rect(0, 0, 0, 0);
}

.mat_shipping_table th,
.mat_shipping_table td {
	padding: 16px 18px;
	border-right: 1px solid #e1e7e2;
	border-bottom: 1px solid #e1e7e2;
	color: #657169;
	font-size: 13px;
	line-height: 1.55;
	text-align: left;
}

.mat_shipping_table thead th {
	background: #294735;
	color: #fff;
	font-weight: 800;
}

.mat_shipping_table tbody th {
	background: #f3f6f4;
	color: #2c4736;
}

.mat_shipping_table tr > *:last-child {
	border-right: 0;
}

.mat_shipping_table tbody tr:last-child > * {
	border-bottom: 0;
}

.mat_order_warning {
	margin-top: 18px;
	padding: 24px 27px;
	border: 1px solid #eadfcd;
	border-radius: 10px;
	background: #fffaf2;
}

.mat_order_warning strong {
	color: #805422;
}

.mat_order_warning ul {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 7px 25px;
	margin-top: 11px;
	padding-left: 18px;
	color: #716454;
	font-size: 13px;
	line-height: 1.7;
}

.patch_process_grid {
	display: grid;
	grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr) auto minmax(0, 1fr);
	align-items: center;
	gap: 16px;
	margin-top: 44px;
}

.patch_process_arrow {
	display: block;
	color: #167443;
	font-size: 30px;
	font-weight: 800;
	line-height: 1;
	transform: rotate(-90deg);
}

.patch_section_heading {
	margin-top: 62px;
	text-align: center;
}

.patch_section_heading h2 {
	margin-top: 8px;
	color: #20372a;
	font-size: 27px;
}

.patch_process_grid article {
	overflow: hidden;
	border: 1px solid var(--core-line);
	border-radius: 10px;
	background: #fff;
}

.patch_process_grid img {
	width: 100%;
	aspect-ratio: 4 / 3;
	object-fit: cover;
}

.patch_process_grid strong {
	display: block;
	padding: 14px;
	color: #2c4034;
	text-align: center;
}

.patch_type_guide {
	display: grid;
	grid-template-columns: minmax(360px, .9fr) 1.1fr;
	align-items: center;
	gap: 34px;
	margin-top: 18px;
	padding: 24px;
	border-radius: 12px;
	background: #f1f5f2;
}

.patch_type_guide img {
	width: 100%;
	max-height: 430px;
	border-radius: 8px;
	object-fit: contain;
	background: #fff;
}

.patch_case_section {
	margin-top: 70px;
	padding-top: 1px;
	border-top: 1px solid var(--core-line);
}

.patch_case_grid {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 16px;
	margin-top: 26px;
}

.patch_case_grid article {
	overflow: hidden;
	border: 1px solid var(--core-line);
	border-radius: 10px;
	background: #fff;
}

.patch_case_grid img {
	width: 100%;
	aspect-ratio: 3 / 2;
	object-fit: cover;
}

.patch_case_grid strong {
	display: block;
	padding: 15px;
	color: #2a4132;
	text-align: center;
}

.patch_order_box {
	display: grid;
	grid-template-columns: minmax(0, 1.2fr) minmax(360px, .8fr);
	align-items: center;
	gap: 45px;
	margin-top: 24px;
	padding: 34px;
	border-radius: 12px;
	background: #223b2c;
}

.patch_order_box > div:first-child > p {
	color: #b9d0c0;
	font-size: 13px;
	font-weight: 800;
}

.patch_order_box h2 {
	margin-top: 8px;
	color: #fff;
	font-size: 26px;
}

.patch_order_box > div:first-child > span {
	display: block;
	margin-top: 11px;
	color: #cdd8d0;
	font-size: 13px;
	line-height: 1.7;
}

.patch_order_fields {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 10px;
}

.patch_order_fields > div {
	padding: 18px;
	border: 1px solid rgba(255, 255, 255, .18);
	border-radius: 8px;
	background: rgba(255, 255, 255, .07);
}

.patch_order_fields strong,
.patch_order_fields span {
	display: block;
}

.patch_order_fields strong {
	margin-bottom: 7px;
	color: #b9d4c3;
	font-size: 12px;
}

.patch_order_fields span {
	color: #fff;
	font-size: 15px;
	font-weight: 700;
	line-height: 1.55;
}

.patch_order_fields > p {
	grid-column: 1 / -1;
	margin: 2px 0 0;
	color: #cdd8d0;
	font-size: 13px;
	line-height: 1.65;
}

.core_info_panel {
	display: grid;
	grid-template-columns: minmax(0, 1.14fr) minmax(0, .86fr);
	gap: 25px 40px;
	margin-top: 26px;
	padding: 40px;
	border-radius: 12px;
	background: var(--core-soft);
}

.core_info_label {
	margin-bottom: 13px;
	color: #284735;
	font-size: 18px;
	font-weight: 800;
}

.core_tag_list {
	display: flex;
	flex-wrap: wrap;
	gap: 7px;
}

.core_tag_list span {
	white-space: nowrap;
	padding: 10px 13px;
	border: 1px solid #d0ded3;
	border-radius: 4px;
	background: #fff;
	color: #57635b;
	font-size: 14px;
}

.core_notice {
	grid-column: 1 / -1;
	padding-top: 20px;
	border-top: 1px solid #d4dfd6;
	color: #68736b;
	font-size: 16px;
	line-height: 1.7;
}

.core_feature_list {
	display: grid;
	gap: 86px;
}

.core_feature_item {
	display: grid;
	grid-template-columns: minmax(0, 1.08fr) minmax(360px, .92fr);
	align-items: center;
	gap: 70px;
}

.core_feature_reverse .core_feature_image {
	order: 2;
}

.core_feature_reverse .core_feature_text {
	order: 1;
}

.core_feature_image {
	overflow: hidden;
	aspect-ratio: 4 / 3;
	border-radius: 12px;
	background: #e6ebe7;
}

.core_feature_image img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.core_feature_range img {
	object-position: 63% center;
}

.core_feature_text h2 {
	color: #1c2d22;
	font-size: 34px;
	font-weight: 800;
	letter-spacing: -1.3px;
}

.core_feature_lead {
	margin-top: 16px;
	color: #68736b;
	font-size: 16px;
	line-height: 1.75;
}

.screen_hero_description span {
	display: block;
}

.core_feature_text ul {
	display: grid;
	gap: 12px;
	margin-top: 25px;
}

.core_feature_text li {
	position: relative;
	padding-left: 18px;
	color: #59645d;
	font-size: 15px;
	line-height: 1.55;
}

.core_feature_text li::before {
	position: absolute;
	top: 9px;
	left: 0;
	width: 6px;
	height: 6px;
	border-radius: 50%;
	background: var(--core-green);
	content: "";
}

.core_text_link {
	display: inline-block;
	margin-top: 30px;
	padding-bottom: 4px;
	border-bottom: 1px solid var(--core-green);
	color: var(--core-green);
	font-size: 15px;
	font-weight: 800;
}

.mat_product_grid {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 18px;
}

.mat_product_card {
	overflow: hidden;
	border: 1px solid var(--core-line);
	border-radius: 10px;
	background: #fff;
}

.mat_product_image {
	overflow: hidden;
	aspect-ratio: 1 / .86;
	background: #eef2ee;
}

.mat_product_image img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
}

/*
 * 카드에는 상세페이지의 작은 문구가 아니라 제품 사진 영역만 노출한다.
 * 원본마다 제품 위치가 달라 카드별로 확대 비율과 기준 위치를 따로 지정한다.
 */
.mat_product_card:nth-child(1) .mat_product_image img {
	object-position: center bottom;
	transform: scale(1.7);
}

.mat_product_card:nth-child(2) .mat_product_image img {
	object-position: center 65%;
	transform: scale(1.65);
}

.mat_product_card:nth-child(3) .mat_product_image img {
	/* 원본의 흰 여백은 프레임 밖으로 잘라내고 매트 표면과 고무 받침만 노출합니다. */
	object-position: center 50%;
	transform: scale(2.3);
}

.mat_product_card:nth-child(4) .mat_product_image img {
	object-position: center 20%;
	transform: scale(1.75);
}

.mat_product_text {
	padding: 22px;
}

.mat_product_text > p {
	color: var(--core-green);
	font-size: 12px;
	font-weight: 800;
}

.mat_product_text h3 {
	margin-top: 8px;
	color: #233128;
	font-size: 18px;
	font-weight: 800;
	line-height: 1.4;
}

.mat_product_text span {
	display: block;
	margin-top: 9px;
	color: #747d76;
	font-size: 13px;
	line-height: 1.55;
}

.mat_tmax_panel {
	display: flex;
	align-items: center;
	justify-content: space-between;
}

.mat_tmax_panel h3 {
	margin-bottom: 6px;
	color: #203629;
	font-size: 22px;
}

.mat_tmax_panel p:last-child {
	color: #68736b;
	font-size: 14px;
}

/* 상세페이지가 길어져도 항목을 축약하지 않도록 제품군별 독립 페이지의 공통 레이아웃을 사용한다. */
.mat_family_grid {
	display: grid;
	gap: 28px;
}

.mat_family_card {
	display: grid;
	grid-template-columns: minmax(0, 1.15fr) minmax(360px, .85fr);
	height: 420px;
	overflow: hidden;
	border: 1px solid var(--core-line);
	background: #fff;
}

.mat_family_visual {
	overflow: hidden;
	height: 100%;
	min-height: 0;
	background: #edf2ee;
}

.mat_family_visual img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.mat_family_visual_pair {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
}

.mat_family_visual_contain img {
	padding: 0;
	background: #f4f7f4;
	object-fit: cover;
	object-position: center 32%;
}

.mat_family_copy {
	display: flex;
	flex-direction: column;
	justify-content: center;
	padding: 44px;
}

.mat_family_copy > p,
.mat_detail_lead > p,
.mat_block_heading > p {
	color: var(--core-green);
	font-size: 12px;
	font-weight: 800;
	letter-spacing: .12em;
}

.mat_family_copy h2 {
	margin-top: 10px;
	color: #1f3327;
	font-size: 32px;
}

.mat_family_copy > span {
	margin-top: 14px;
	color: #647068;
	font-size: 15px;
	line-height: 1.75;
}

.mat_family_copy dl {
	margin: 24px 0;
	border-top: 1px solid var(--core-line);
}

.mat_family_copy dl > div {
	display: grid;
	grid-template-columns: 88px 1fr;
	padding: 12px 0;
	border-bottom: 1px solid var(--core-line);
	font-size: 13px;
	line-height: 1.6;
}

.mat_family_copy dt {
	color: #728078;
}

.mat_family_copy dd {
	color: #2d4135;
	font-weight: 700;
}

.mat_catalog_notice {
	display: grid;
	grid-template-columns: 180px 1fr;
	gap: 24px;
	margin-top: 28px;
	padding: 25px 28px;
	background: #244431;
	color: #fff;
}

.mat_catalog_notice strong {
	font-size: 18px;
}

.mat_catalog_notice p {
	color: #d5e2d8;
	font-size: 14px;
	line-height: 1.7;
}

.mat_detail_lead {
	max-width: 820px;
	margin: 0 auto 42px;
	text-align: center;
}

.mat_detail_lead > p {
	display: inline-flex;
	align-items: center;
	min-height: 28px;
	padding: 0 12px;
	border: 1px solid #cbdacf;
	border-radius: 999px;
	background: #fff;
}

.mat_detail_lead h2 {
	margin-top: 12px;
	color: #1d3024;
	font-size: clamp(31px, 3.5vw, 46px);
	line-height: 1.25;
	letter-spacing: -1.6px;
}

.mat_detail_lead > span {
	display: block;
	margin-top: 15px;
	color: #6a756d;
	font-size: 16px;
	line-height: 1.75;
}

.mat_detail_gallery {
	display: grid;
	gap: 16px;
}

.mat_detail_gallery_two,
.mat_replacement_gallery {
	grid-template-columns: repeat(2, minmax(0, 1fr));
}

.mat_detail_gallery figure {
	overflow: hidden;
	border: 1px solid var(--core-line);
	background: #f1f4f1;
}

.mat_detail_gallery img {
	display: block;
	width: 100%;
	height: 400px;
	object-fit: cover;
}

/* 원톤과 투톤 제품컷은 서로 다른 원본 비율이므로 동일한 표시 높이로 정렬한다. */
.mat_iron_gallery {
	align-items: start;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	max-width: none;
	margin-right: auto;
	margin-left: auto;
}

.mat_iron_gallery img {
	display: block;
	width: 100%;
	height: 350px;
	box-sizing: border-box;
	padding: 18px;
	object-fit: contain;
	background: #fff;
}

/* 타사 로고와 제품명이 있는 상단은 노출하지 않고 실제 설치 사진만 사용한다. */
.mat_iron_gallery .mat_iron_photo_crop img {
	height: 100%;
	min-height: 640px;
	object-fit: cover;
	object-position: center bottom;
}

.mat_source_detail {
	margin: 34px auto 0;
	max-width: 860px;
}

.mat_source_detail img {
	display: block;
	width: 100%;
	height: auto;
}

.mat_source_detail figcaption {
	padding: 14px 18px;
	border: 1px solid #dce6df;
	border-top: 0;
	color: #5e6c64;
	font-size: 14px;
}

.mat_hole_measure_copy_exact {
	margin: 34px auto 0;
	max-width: 860px;
	padding: 34px;
	background: #f3f7f4;
}

/* 투톤매트 패턴 위에 치수 도식을 겹쳐 실제 타공 위치를 쉽게 확인한다. */
.mat_auto_tee_diagram_wrap {
	position: relative;
	overflow: hidden;
	margin-top: 20px;
	border: 1px solid #dce6df;
	background: #fff;
}

/* 도식 이미지 안의 검은 사각형을 기준으로 투톤 잔디가 빈틈없이 채워지게 한다. */
.mat_auto_tee_diagram_wrap::before {
	position: absolute;
	top: 4.5%;
	right: 3.2%;
	bottom: 4.5%;
	left: 3.2%;
	background:
		linear-gradient(rgba(255,255,255,.66),rgba(255,255,255,.66)),
		url('/images/renewal/detail/mats/iron-two-tone-card.jpg') center / auto 125% no-repeat;
	content: "";
}

/* 흰 배경은 아래 패턴을 통과시키고 측정선과 문자는 또렷하게 유지한다. */
.mat_auto_tee_diagram {
	position: relative;
	z-index: 1;
	display: block;
	width: 100%;
	height: auto;
	mix-blend-mode: multiply;
}

/*
 * 첨부 상세페이지에서는 사진 부분만 사용하고,
 * 상품 설명과 배치는 쇼핑몰의 기존 디자인으로 새로 구성한다.
 */
.mat_iron_crop_card {
	overflow: hidden;
	margin: 30px 0 0;
	border: 1px solid #dce6df;
	border-radius: 12px;
	background: #f4f7f5;
}

/* 저해상도 실제 단면 사진은 원본 폭보다 과도하게 확대하지 않는다. */
.mat_iron_material_section > .mat_iron_crop_card {
	max-width: 700px;
	margin-right: auto;
	margin-left: auto;
}

.mat_iron_crop_card img {
	display: block;
	width: 100%;
	height: auto;
}

.mat_iron_crop_card figcaption {
	padding: 13px 16px;
	border-top: 1px solid #dce6df;
	background: #fff;
	color: #24422f;
	font-size: 14px;
	font-weight: 800;
}

.mat_iron_subheading {
	max-width: 760px;
	margin-top: 52px;
}

.mat_iron_subheading > p,
.mat_iron_structure_copy > p {
	color: var(--core-green);
	font-size: 12px;
	font-weight: 800;
	letter-spacing: .12em;
}

.mat_iron_subheading h3,
.mat_iron_structure_copy h3 {
	margin-top: 10px;
	color: #1e3226;
	font-size: 28px;
	line-height: 1.4;
}

.mat_iron_subheading > span {
	display: block;
	margin-top: 12px;
	color: #66746d;
	font-size: 14px;
	line-height: 1.75;
}

.mat_iron_structure_layout {
	display: grid;
	grid-template-columns: minmax(0, 1.12fr) minmax(300px, .88fr);
	align-items: stretch;
	gap: 24px;
	margin-top: 52px;
}

.mat_iron_structure_layout .mat_iron_crop_card {
	margin-top: 0;
}

.mat_iron_structure_copy {
	padding: 34px;
	border-radius: 12px;
	background: #183f2e;
	color: #fff;
}

.mat_iron_structure_copy > p,
.mat_iron_structure_copy h3 {
	color: #fff;
}

.mat_iron_structure_copy ul {
	display: grid;
	gap: 9px;
	margin: 24px 0 0;
	padding: 0;
	list-style: none;
}

.mat_iron_structure_copy li {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 18px;
	padding: 15px 17px;
	border: 1px solid rgba(255, 255, 255, .18);
	background: rgba(255, 255, 255, .07);
}

.mat_iron_structure_copy li strong,
.mat_iron_structure_copy li span {
	color: #fff;
}

.mat_iron_structure_copy em {
	display: block;
	margin-top: 22px;
	color: #d3e0d7;
	font-size: 14px;
	font-style: normal;
	line-height: 1.75;
}

/* 치수와 구멍 표시가 읽히도록 편집본의 약 1.9:1 비율을 크게 유지한다. */
.mat_iron_punch_grid .mat_hole_visual {
	height: auto;
	aspect-ratio: 1.9 / 1;
	background: #fff;
}

.mat_iron_punch_grid .mat_hole_visual img {
	height: 100%;
	object-fit: contain;
}

/* 타사 상세페이지에서는 사진 영역만 사용하고, 설명과 배치는 사이트 스타일로 다시 구성한다. */
.mat_stance_photo_pair {
	display: grid;
	grid-template-columns: repeat(2,minmax(0,1fr));
	gap: 14px;
	margin-top: 20px;
}

.mat_stance_photo_pair figure,
.mat_stance_photo_single {
	display: flex;
	flex-direction: column;
	overflow: hidden;
	margin: 20px 0 0;
	border: 1px solid #dce6df;
	border-radius: 10px;
	background: #fff;
}

.mat_stance_photo_pair figure {
	margin-top: 0;
}

.mat_stance_photo_pair img {
	display: block;
	width: 100%;
	height: 170px;
	object-fit: cover;
}

.mat_stance_photo_pair figcaption,
.mat_stance_photo_single figcaption {
	padding: 12px 14px;
	border-top: 1px solid #e1e9e3;
	color: #53665b;
	font-size: 13px;
	font-weight: 700;
}

/* 22번 안내문은 실내용·실외용 사진과 각각 연결되도록 캡션 아래에 둔다. */
.mat_stance_point_turf figcaption span {
	display: block;
	margin-top: 8px;
	color: #68756d;
	font-size: 13px;
	font-weight: 400;
	line-height: 1.65;
}

.mat_stance_photo_single img {
	display: block;
	width: 100%;
	height: 280px;
	object-fit: contain;
}

.mat_stance_point_use .mat_stance_photo_pair img {
	height: auto;
	object-fit: contain;
	background: #fff;
}

/* 단면·고무 베이스 사진은 확대 부위와 이미지 속 설명이 잘리지 않게 전부 노출한다. */
.mat_stance_point_turf .mat_stance_photo_pair img {
	height: auto;
	object-fit: contain;
	background: #fff;
}

.mat_stance_point_base .mat_stance_photo_pair img {
	height: clamp(185px,25.8vw,276px);
	object-fit: cover;
	object-position: center bottom;
	background: #fff;
}

@media (max-width: 720px) {
	.mat_stance_photo_pair {
		grid-template-columns: 1fr;
	}

	.mat_iron_gallery,
	.mat_iron_structure_layout {
		grid-template-columns: 1fr;
	}

	.mat_iron_structure_copy {
		padding: 26px 20px;
	}
}

.mat_original_detail_stack {
	display: grid;
	gap: 28px;
	max-width: 860px;
	margin: 34px auto 0;
}

.mat_original_detail_stack figure {
	overflow: hidden;
	margin: 0;
	border: 1px solid #dce6df;
	background: #fff;
}

.mat_original_detail_stack img {
	display: block;
	width: 100%;
	height: auto;
}

.mat_original_detail_stack figcaption {
	padding: 15px 18px;
	border-top: 1px solid #dce6df;
	color: #56675e;
	font-size: 14px;
}

.mat_stance_point_grid {
	display: grid;
	grid-template-columns: 1fr;
	align-items: stretch;
	gap: 16px;
}

.mat_stance_point_grid article,
.mat_stance_use_grid article {
	padding: 28px;
	border: 1px solid #dce6df;
	background: #fff;
}

.mat_stance_point_grid article {
	display: flex;
	flex-direction: column;
}

.mat_stance_point_grid b {
	color: #167246;
	font-size: 12px;
	letter-spacing: .12em;
}

.mat_stance_point_grid h3,
.mat_stance_use_grid strong {
	display: block;
	margin: 10px 0 8px;
	color: #153b2d;
	font-size: 20px;
}

.mat_stance_point_grid p,
.mat_stance_use_grid p {
	margin: 0;
	color: #66746d;
	line-height: 1.75;
}

.mat_stance_size_visual {
	display: flex;
	flex: 1;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	min-height: 235px;
	margin-top: 20px;
	border: 1px solid #cbd9d0;
	background: linear-gradient(135deg, #2c8050, #185a39);
	color: #fff;
}

.mat_stance_size_visual strong {
	font-size: 42px;
	letter-spacing: -.03em;
}

.mat_stance_size_visual span {
	margin-top: 10px;
	color: #dcece2;
	font-size: 14px;
}

.mat_stance_point_product .mat_stance_photo_single,
.mat_stance_point_base .mat_stance_photo_pair {
	margin-top: auto;
}

.mat_stance_point_product .mat_stance_photo_single {
	background: #f5f7f5;
}

.mat_stance_size_photo,
.mat_stance_material_photo {
	width: 100%;
	max-width: 760px;
	margin-right: auto;
	margin-left: auto;
}

.mat_stance_size_photo img,
.mat_stance_material_photo img {
	height: auto;
}

.mat_stance_structure_layout {
	display: grid;
	grid-template-columns: minmax(0,1.05fr) minmax(0,.95fr);
	gap: 34px;
	align-items: center;
}

.mat_stance_structure_layout img {
	display: block;
	width: 100%;
	height: auto;
}

.mat_stance_structure_copy {
	display: grid;
	gap: 12px;
}

.mat_stance_structure_copy span {
	padding: 20px 22px;
	background: #f3f7f4;
	color: #66746d;
	line-height: 1.65;
}

.mat_stance_structure_copy strong {
	display: block;
	margin-bottom: 5px;
	color: #153b2d;
	font-size: 17px;
}

.mat_stance_use_grid {
	display: grid;
	grid-template-columns: repeat(3,minmax(0,1fr));
	gap: 16px;
}

.mat_replacement_dimension_layout,
.mat_replacement_compare_grid,
.mat_replacement_measure_grid {
	display: grid;
	grid-template-columns: repeat(2,minmax(0,1fr));
	gap: 18px;
}

.mat_replacement_dimension_layout {
	grid-template-columns: minmax(0, 1.12fr) minmax(0, .88fr);
	align-items: stretch;
}

.mat_replacement_dimension_visual {
	overflow: hidden;
	background: #101814;
}

.mat_replacement_dimension_visual img,
.mat_replacement_quality_image {
	display: block;
	width: 100%;
	height: auto;
}

.mat_replacement_dimension_visual img {
	height: 100%;
	object-fit: cover;
}

.mat_replacement_spec_table dl {
	margin: 0;
	border-top: 2px solid #153b2d;
}

.mat_replacement_spec_table dl div {
	display: grid;
	grid-template-columns: 120px 1fr;
	gap: 18px;
	padding: 18px 12px;
	border-bottom: 1px solid #dce6df;
}

.mat_replacement_spec_table dt {
	color: #69776f;
}

.mat_replacement_spec_table dd {
	margin: 0;
	color: #153b2d;
	font-weight: 800;
}

.mat_replacement_quality_image {
	max-width: 860px;
	margin: 0 auto 24px;
}

.mat_replacement_thickness_image {
	margin-top: 24px;
}

.mat_replacement_compare_grid article,
.mat_replacement_measure_grid article {
	padding: 26px;
	border: 1px solid #dce6df;
	background: #fff;
}

.mat_replacement_compare_grid span,
.mat_replacement_measure_grid b {
	display: block;
	margin-bottom: 9px;
	color: #167246;
	font-size: 13px;
	font-weight: 800;
}

.mat_replacement_compare_grid strong,
.mat_replacement_measure_grid strong {
	display: block;
	color: #153b2d;
	font-size: 19px;
	line-height: 1.45;
}

.mat_replacement_compare_grid p,
.mat_replacement_measure_grid p {
	margin: 10px 0 0;
	color: #66746d;
	line-height: 1.7;
}

.mat_replacement_order_sample {
	display: grid;
	grid-template-columns: 140px 1fr;
	gap: 18px;
	margin-top: 18px;
	padding: 22px 26px;
	background: #153b2d;
	color: #fff;
	line-height: 1.7;
}

.mat_replacement_gallery img {
	object-fit: cover;
}

.mat_replacement_gallery figure:first-child img {
	object-position: center;
}

.mat_replacement_gallery figure:nth-child(2) img {
	background: #fff;
	object-fit: contain;
	object-position: center;
}

.mat_detail_gallery figcaption {
	padding: 14px 18px;
	background: #fff;
	color: #405147;
	font-size: 14px;
	font-weight: 700;
}

.mat_detail_spec_grid,
.mat_detail_feature_grid,
.mat_order_check_grid,
.mat_replacement_type_grid {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 12px;
	margin-top: 22px;
}

.mat_detail_spec_grid > div,
.mat_detail_feature_grid > span,
.mat_order_check_grid > span,
.mat_replacement_type_grid article {
	padding: 22px;
	border: 1px solid var(--core-line);
	background: #fff;
}

.mat_detail_spec_grid span,
.mat_detail_spec_grid strong,
.mat_detail_feature_grid strong,
.mat_order_check_grid strong {
	display: block;
}

.mat_detail_spec_grid span {
	color: #738078;
	font-size: 12px;
}

.mat_detail_spec_grid strong {
	margin-top: 8px;
	color: #22412f;
	font-size: 18px;
}

.mat_hole_measure_notice {
	margin-top: 14px;
	color: #53665a;
	font-size: 14px;
	line-height: 1.7;
}

.mat_detail_feature_grid > span,
.mat_order_check_grid > span {
	color: #69756d;
	font-size: 13px;
	line-height: 1.65;
}

.mat_detail_feature_grid strong,
.mat_order_check_grid strong {
	margin-bottom: 8px;
	color: #24422f;
	font-size: 16px;
}

.mat_content_block {
	margin-top: 56px;
	padding: 54px;
	border: 1px solid #dbe4de;
	border-radius: 16px;
	background: #fff;
	box-shadow: 0 14px 34px rgba(28, 63, 41, .055);
}

/* 긴 상세페이지가 흰 바탕으로만 이어지지 않도록 핵심 섹션의 배경을 교차해 구분합니다. */
.mat_content_block:nth-of-type(even) {
	background: #f2f6f3;
}

.mat_block_heading {
	max-width: 760px;
}

.mat_block_heading h2 {
	margin-top: 10px;
	color: #1e3226;
	font-size: 32px;
	line-height: 1.35;
}

.mat_block_heading > span {
	display: block;
	margin-top: 12px;
	color: #6a766e;
	font-size: 15px;
	line-height: 1.7;
}

.mat_layer_layout,
.mat_hole_measure_panel,
.mat_stance_showcase,
.mat_stance_size_layout {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	align-items: center;
	gap: 44px;
	margin-top: 34px;
}

.mat_stance_showcase {
	overflow: hidden;
	gap: 0;
	grid-template-columns: minmax(0, 1.12fr) minmax(0, .88fr);
	border: 1px solid #dbe4de;
	border-radius: 16px;
	background: #fff;
	box-shadow: 0 16px 38px rgba(28, 63, 41, .08);
}

.mat_layer_stack {
	display: flex;
	flex-direction: column;
	gap: 4px;
	padding: 32px;
	background: #f1f5f2;
}

.mat_layer_stack span {
	display: flex;
	align-items: center;
	justify-content: space-between;
	min-height: 76px;
	padding: 18px 24px;
	color: #fff;
}

.mat_layer_turf { background: #247248; }
.mat_layer_pad { background: #788e70; }
.mat_layer_rubber { background: #35413a; }

.mat_layer_stack strong {
	font-size: 18px;
}

.mat_layer_stack em {
	font-style: normal;
	font-weight: 800;
}

.mat_layer_copy h3,
.mat_stance_checks h3 {
	color: #213a2b;
	font-size: 25px;
}

.mat_layer_copy p {
	margin-top: 14px;
	color: #68746c;
	font-size: 15px;
	line-height: 1.75;
}

.mat_layer_copy ul,
.mat_stance_checks ul {
	margin-top: 18px;
	padding-left: 20px;
	color: #536159;
	font-size: 14px;
	line-height: 1.9;
}

.mat_hole_option_grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 14px;
	margin-top: 30px;
}

.mat_hole_option_grid article {
	padding: 18px;
	border: 1px solid var(--core-line);
	background: #fff;
}

.mat_hole_visual {
	position: relative;
	height: 190px;
	margin-bottom: 20px;
	overflow: hidden;
	border: 1px solid #dce5df;
	background: #1b211e;
}

.mat_hole_visual img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center;
}

.mat_hole_visual i {
	position: absolute;
	display: block;
	border-radius: 50%;
	background: #fff;
	box-shadow: 0 0 0 3px rgba(19,74,43,.75), 0 3px 8px rgba(0,0,0,.35);
}

.mat_hole_visual_manual i {
	width: 16px;
	height: 16px;
	top: 58%;
}

.mat_hole_visual_manual .mat_hole_left { left: 23%; }
.mat_hole_visual_manual .mat_hole_right { right: 23%; }

.mat_hole_visual_auto i {
	width: 34px;
	height: 34px;
	top: 39%;
	left: 31%;
}

.mat_hole_option_grid b {
	color: #9eb3a4;
	font-size: 13px;
}

.mat_hole_option_grid h3 {
	margin-top: 13px;
	color: #23402f;
	font-size: 20px;
}

.mat_hole_option_grid p {
	margin-top: 9px;
	color: #6d7871;
	font-size: 13px;
	line-height: 1.7;
}

.mat_hole_measure_panel {
	padding: 34px;
	background: #f3f6f3;
}

.mat_hole_diagram {
	position: relative;
	min-height: 330px;
	border: 8px solid #56725f;
	background: repeating-linear-gradient(90deg, #3d925f 0, #3d925f 18px, #438f61 18px, #438f61 36px);
}

.mat_hole_front {
	position: absolute;
	top: -38px;
	left: 50%;
	padding: 5px 12px;
	background: #244331;
	color: #fff;
	font-size: 12px;
	transform: translateX(-50%);
}

.mat_hole_side {
	position: absolute;
	top: 14px;
	right: 14px;
	padding: 7px 10px;
	background: rgba(255,255,255,.92);
	color: #24432f;
	font-size: 13px;
	font-weight: 800;
}

.mat_hole_point {
	position: absolute;
	top: 42%;
	left: 58%;
	width: 34px;
	height: 34px;
	border: 7px solid #fff;
	border-radius: 50%;
	background: #1f3227;
}

.mat_hole_horizontal,
.mat_hole_vertical,
.mat_hole_diameter {
	position: absolute;
	padding: 5px 8px;
	background: rgba(255,255,255,.9);
	color: #274334;
	font-size: 11px;
	font-weight: 800;
}

.mat_hole_horizontal { top: 48%; left: 6px; }
.mat_hole_vertical { top: 10px; left: 59%; transform: rotate(90deg); transform-origin: left top; }
.mat_hole_diameter { top: calc(42% + 30px); left: calc(58% + 24px); }

.mat_hole_order_example {
	display: grid;
	gap: 6px;
	margin-top: 20px;
	padding: 16px 18px;
	border-left: 4px solid var(--core-green);
	background: #fff;
	color: #46534b;
	line-height: 1.65;
}

.mat_hole_order_example strong {
	color: #173c27;
	font-size: 13px;
}

.mat_hole_measure_copy > p:first-child {
	color: var(--core-green);
	font-size: 12px;
	font-weight: 800;
}

.mat_hole_measure_copy h3 {
	margin-top: 9px;
	color: #203a2b;
	font-size: 24px;
	line-height: 1.4;
}

.mat_hole_measure_copy ol {
	display: grid;
	gap: 10px;
	margin-top: 20px;
}

.mat_hole_measure_copy li {
	display: grid;
	grid-template-columns: 31px 1fr;
	align-items: center;
	gap: 10px;
	color: #58665d;
	font-size: 14px;
	line-height: 1.55;
}

.mat_hole_measure_copy li strong {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 31px;
	height: 31px;
	border-radius: 50%;
	background: var(--core-green);
	color: #fff;
}

.mat_hole_standard {
	margin-top: 18px;
	padding: 13px 15px;
	background: #fff;
	color: #315a41;
	font-size: 13px;
	font-weight: 700;
}

.mat_stance_product {
	position: relative;
	min-height: 420px;
	padding: 34px;
	background: #f4f7f5;
}

.mat_stance_product img {
	display: block;
	width: 100%;
	height: 100%;
	min-height: 352px;
	object-fit: contain;
}

.mat_stance_spec_grid {
	grid-template-columns: repeat(5, minmax(0, 1fr));
}

.mat_stance_copy {
	padding: 42px;
}

.mat_stance_copy > p {
	color: var(--core-green);
	font-size: 12px;
	font-weight: 800;
}

.mat_stance_copy h2 {
	margin-top: 10px;
	color: #1f3528;
	font-size: 32px;
}

.mat_stance_copy > span {
	display: block;
	margin-top: 14px;
	color: #68756c;
	font-size: 15px;
	line-height: 1.75;
}

.mat_stance_copy dl {
	margin-top: 22px;
	border-top: 1px solid var(--core-line);
}

.mat_stance_copy dl div {
	display: grid;
	grid-template-columns: 100px 1fr;
	padding: 12px 0;
	border-bottom: 1px solid var(--core-line);
	font-size: 13px;
}

.mat_stance_copy dt { color: #768078; }
.mat_stance_copy dd { color: #2c4034; font-weight: 700; }

.mat_square_diagram {
	position: relative;
	display: flex;
	align-items: center;
	justify-content: center;
	width: min(370px, calc(100% - 60px));
	aspect-ratio: 1 / 1;
	margin: 25px auto;
	border: 3px solid #32664a;
	background: repeating-linear-gradient(0deg, #3b8d5b 0, #3b8d5b 4px, #408f5e 4px, #408f5e 8px);
	color: #fff;
}

.mat_square_diagram div { text-align: center; }
.mat_square_diagram strong,
.mat_square_diagram em { display: block; }
.mat_square_diagram strong { font-size: 20px; }
.mat_square_diagram em { margin-top: 7px; font-size: 13px; font-style: normal; }
.mat_square_diagram > span { position: absolute; left: 50%; bottom: -32px; color: #2f513d; font-size: 12px; font-weight: 800; transform: translateX(-50%); }
.mat_square_diagram > i { position: absolute; top: 50%; right: -54px; color: #2f513d; font-size: 12px; font-style: normal; font-weight: 800; transform: rotate(90deg); }

.mat_replacement_type_grid {
	grid-template-columns: repeat(2, minmax(0, 1fr));
}

.mat_replacement_type_grid span {
	color: var(--core-green);
	font-size: 12px;
	font-weight: 800;
}

.mat_replacement_type_grid h3 {
	margin-top: 9px;
	color: #203b2b;
	font-size: 20px;
	line-height: 1.45;
}

.mat_replacement_type_grid p {
	margin-top: 9px;
	color: #6c7770;
	font-size: 13px;
	line-height: 1.65;
}

.mat_replacement_feature_grid {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 14px;
	margin-top: 28px;
}

.mat_replacement_feature_grid article {
	padding: 26px 24px;
	border: 1px solid #dbe5df;
	background: #f5f8f6;
}

.mat_replacement_feature_grid b {
	display: block;
	color: var(--core-green);
	font-size: 11px;
	letter-spacing: .08em;
}

.mat_replacement_feature_grid h3 {
	margin-top: 13px;
	color: #183b2a;
	font-size: 19px;
	line-height: 1.45;
}

.mat_replacement_feature_grid p {
	margin-top: 12px;
	color: #617068;
	font-size: 14px;
	line-height: 1.75;
}

.mat_replacement_type_grid {
	margin-top: 18px;
}

.mat_replacement_type_grid ul {
	display: grid;
	gap: 7px;
	margin: 18px 0 0;
	padding: 16px 18px;
	background: #f4f7f5;
	list-style: none;
}

.mat_replacement_type_grid li {
	position: relative;
	padding-left: 14px;
	color: #405147;
	font-size: 13px;
	line-height: 1.55;
}

.mat_replacement_type_grid li:before {
	position: absolute;
	top: .7em;
	left: 0;
	width: 4px;
	height: 4px;
	border-radius: 50%;
	background: var(--core-green);
	content: "";
}

.mat_replacement_steps,
.mat_replacement_fee_grid {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 10px;
	margin-top: 28px;
}

.mat_replacement_steps > span {
	padding: 22px;
	background: #eef4ef;
}

.mat_replacement_steps strong,
.mat_replacement_steps b,
.mat_replacement_steps em {
	display: block;
}

.mat_replacement_steps strong {
	color: #9bb0a1;
	font-size: 20px;
}

.mat_replacement_steps b {
	margin-top: 12px;
	color: #24402f;
	font-size: 17px;
}

.mat_replacement_steps em {
	margin-top: 8px;
	color: #6d7971;
	font-size: 12px;
	font-style: normal;
	line-height: 1.6;
}

.mat_replacement_fee_grid {
	grid-template-columns: repeat(5, minmax(0, 1fr));
}

.mat_replacement_fee_grid span {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 10px;
	padding: 15px;
	border: 1px solid var(--core-line);
	background: #fff;
}

.mat_replacement_fee_grid strong { color: #48584e; font-size: 13px; }
.mat_replacement_fee_grid em { color: var(--core-green); font-size: 14px; font-style: normal; font-weight: 800; }

.mat_detail_cta {
	margin-top: 28px;
}

/* PPT 원문의 부착 형태와 측정법을 텍스트 한 줄로 줄이지 않고 시각적으로 펼친다. */
.screen_mounting_grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 12px;
	margin-top: 26px;
}

.screen_mounting_grid article {
	padding: 18px;
	border: 1px solid #d9e3db;
	background: #fff;
}

.screen_mount_diagram {
	position: relative;
	height: 100px;
	margin-bottom: 14px;
	border: 1px solid #c8d5cb;
	background: #eef3ef;
}

.screen_mount_diagram::before,
.screen_mount_diagram::after {
	position: absolute;
	background: var(--core-green);
	content: "";
}

.screen_mount_three {
	box-shadow: inset 5px 0 var(--core-green), inset -5px 0 var(--core-green), inset 0 5px var(--core-green);
}

.screen_mount_four,
.screen_mount_eyelet {
	box-shadow: inset 5px 0 var(--core-green), inset -5px 0 var(--core-green), inset 0 5px var(--core-green), inset 0 -5px var(--core-green);
}

.screen_mount_three::before,
.screen_mount_three::after,
.screen_mount_four::before,
.screen_mount_four::after,
.screen_mount_eyelet::before,
.screen_mount_eyelet::after {
	display: none;
}

.screen_mount_four span,
.screen_mount_eyelet span {
	position: absolute;
	left: 7px;
	right: 7px;
	bottom: 7px;
	height: 5px;
	background: var(--core-green);
}

.screen_mount_eyelet span {
	background: repeating-linear-gradient(90deg, var(--core-green) 0, var(--core-green) 5px, transparent 5px, transparent 13px);
}

.screen_mount_left::before,
.screen_mount_right::before {
	top: 8px;
	bottom: 8px;
	width: 16px;
	background: repeating-linear-gradient(0deg, #326f4c 0, #326f4c 5px, #bfd0c3 5px, #bfd0c3 9px);
}

.screen_mount_left::before { left: 9px; }
.screen_mount_right::before { right: 9px; }
.screen_mount_left::after,
.screen_mount_right::after { left: 9px; right: 9px; bottom: 8px; height: 4px; }

.screen_mount_other span {
	display: flex;
	align-items: center;
	justify-content: center;
	height: 100%;
	color: #6e8375;
	font-size: 34px;
	font-weight: 700;
}

.screen_mounting_grid strong,
.screen_mounting_grid p {
	display: block;
}

.screen_mounting_grid strong { color: #274333; font-size: 14px; }
.screen_mounting_grid p { margin-top: 5px; color: #77827b; font-size: 12px; }

.screen_measure_heading {
	margin: 68px 0 26px;
	text-align: center;
}

.screen_measure_heading p {
	color: var(--core-green);
	font-size: 12px;
	font-weight: 800;
	letter-spacing: .1em;
}

.screen_measure_heading h3 {
	margin-top: 9px;
	color: #203428;
	font-size: 30px;
}

.screen_measure_heading span {
	display: block;
	margin-top: 10px;
	color: #6f7972;
	font-size: 14px;
}

.screen_measure_grid_detail article {
	align-items: stretch;
}

.screen_measure_grid_detail img {
	height: 100%;
	min-height: 330px;
}

.screen_measure_grid_detail div {
	padding: 28px;
}

.screen_measure_badge {
	display: inline-block;
	margin-bottom: 12px;
	padding: 5px 9px;
	background: #e7f1ea;
	color: var(--core-green);
	font-size: 11px;
	font-weight: 800;
}

.screen_measure_grid_detail ol {
	display: grid;
	gap: 10px;
	margin-top: 18px;
	padding-left: 20px;
	color: #5e6b63;
	font-size: 13px;
	line-height: 1.65;
}

.screen_measure_grid_detail li b {
	color: #274632;
}

.screen_measure_limit {
	margin-top: 18px !important;
	padding: 12px 14px;
	background: #f0f5f1;
	color: #2f5c40 !important;
	font-weight: 700;
}

.practice_anchor_nav a.is-current {
	background: var(--core-green);
	color: #fff;
}

.practice_family_grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 18px;
}

.practice_family_card {
	display: flex;
	flex-direction: column;
	overflow: hidden;
	border: 1px solid var(--core-line);
	background: #fff;
	color: inherit;
}

.practice_family_card > img {
	display: block;
	width: 100%;
	height: 290px;
	background: #eef2ef;
	object-fit: cover;
}

/* 세로형 색상 조견표는 9개 색상이 모두 보이도록 별도로 표시합니다. */
.practice_family_card_memory > img {
	height: 290px;
	background: #fff;
	object-fit: contain;
	object-position: center;
}

.practice_family_card > div {
	display: flex;
	flex: 1;
	flex-direction: column;
	padding: 26px;
}

.practice_family_card p {
	color: var(--core-green);
	font-size: 12px;
	font-weight: 800;
}

.practice_family_card h3 {
	margin-top: 8px;
	color: #20362a;
	font-size: 22px;
}

.practice_family_card span {
	margin-top: 12px;
	color: #6d7871;
	font-size: 13px;
	line-height: 1.7;
}

.practice_family_card strong {
	margin-top: auto;
	padding-top: 22px;
	color: var(--core-green);
	font-size: 13px;
}

.patch_type_cards {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 12px;
	margin-top: 16px;
}

.patch_type_cards article {
	padding: 22px;
	border: 1px solid #d9e3db;
	background: #fff;
}

.patch_type_cards span,
.patch_type_cards strong {
	display: block;
}

.patch_type_cards span { color: var(--core-green); font-size: 11px; font-weight: 800; }
.patch_type_cards strong { margin-top: 9px; color: #243d2e; font-size: 17px; }
.patch_type_cards p { margin-top: 8px; color: #6c7770; font-size: 13px; line-height: 1.65; }

.practice_anchor_nav {
	position: sticky;
	top: 0;
	z-index: 15;
	border-bottom: 1px solid var(--core-line);
	background: rgba(255, 255, 255, .96);
	backdrop-filter: blur(8px);
}

.practice_anchor_nav .core_inner {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
}

/* 골프공은 레인지볼과 로스트볼 두 상품이므로 탭을 같은 폭의 2열로 채운다. */
.ball_page_nav .core_inner {
	grid-template-columns: repeat(2, minmax(0, 1fr));
}

.practice_anchor_nav a {
	padding: 20px 10px;
	border-right: 1px solid var(--core-line);
	color: #49564d;
	font-size: 15px;
	font-weight: 700;
	text-align: center;
}

.practice_anchor_nav a:first-child {
	border-left: 1px solid var(--core-line);
}

.practice_anchor_nav a:hover,
.practice_anchor_nav a:focus {
	background: var(--core-soft);
	color: var(--core-green);
}

.memory_intro_grid {
	display: grid;
	grid-template-columns: minmax(300px, .75fr) minmax(0, 1.25fr);
	align-items: stretch;
	gap: 26px;
}

.memory_intro_image {
	overflow: hidden;
	min-height: 360px;
	border-radius: 12px;
	background: #edf1ed;
}

.memory_intro_image img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.memory_spec_list {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 14px;
}

.memory_spec_list > div {
	padding: 28px;
	border: 1px solid var(--core-line);
	border-radius: 10px;
	background: #fff;
}

.memory_spec_list span,
.memory_spec_list strong,
.memory_spec_list p {
	display: block;
}

.memory_spec_list span {
	color: var(--core-green);
	font-size: 13px;
	font-weight: 800;
}

.memory_spec_list strong {
	margin-top: 10px;
	color: #1f3025;
	font-size: 24px;
}

.memory_spec_list p {
	margin-top: 8px;
	color: #707a73;
	font-size: 14px;
	line-height: 1.6;
}

.memory_composition_panel {
	display: flex;
	flex-direction: column;
	justify-content: center;
	margin-top: 0;
	padding: 38px;
	border-radius: 10px;
	background: #233b2c;
	color: #fff;
}

.memory_composition_panel h2 {
	font-size: 28px;
	line-height: 1.35;
}

.memory_composition_panel > p {
	margin-top: 22px;
	color: #bcd0c2;
	font-size: 14px;
	font-weight: 600;
	line-height: 1.75;
}

.memory_composition_panel > div {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 14px;
	margin-top: 14px;
}

.memory_composition_panel span {
	display: block;
	padding: 14px 16px;
	border: 1px solid rgba(255, 255, 255, .16);
	border-radius: 7px;
	color: #cbd8cf;
	font-size: 13px;
}

.memory_composition_panel strong {
	display: block;
	margin-bottom: 5px;
	color: #fff;
	font-size: 16px;
}

.memory_size_color_grid {
	display: grid;
	grid-template-columns: minmax(0, .9fr) minmax(0, 1.1fr);
	gap: 18px;
	margin-top: 22px;
}

.memory_size_color_grid article {
	padding: 26px;
	border: 1px solid var(--core-line);
	border-radius: 10px;
	background: #fff;
}

.memory_size_color_grid p {
	color: var(--core-green);
	font-size: 12px;
	font-weight: 800;
	letter-spacing: 1px;
}

.memory_size_color_grid h3 {
	margin-top: 8px;
	color: #20372a;
	font-size: 21px;
	line-height: 1.4;
}

.memory_size_color_grid article > span,
.memory_color_guide div > span {
	display: block;
	margin-top: 13px;
	color: #6e7971;
	font-size: 13px;
	line-height: 1.65;
}

.memory_measure_shape {
	position: relative;
	width: 76%;
	height: 125px;
	margin: 32px auto 24px;
	border: 2px solid #9cb5a3;
	background: #e9f0eb;
}

.memory_measure_shape::before,
.memory_measure_shape::after {
	position: absolute;
	background: var(--core-green);
	content: "";
}

.memory_measure_shape::before {
	left: 0;
	bottom: -15px;
	width: 100%;
	height: 1px;
}

.memory_measure_shape::after {
	top: 0;
	right: -15px;
	width: 1px;
	height: 100%;
}

.memory_measure_width,
.memory_measure_height {
	position: absolute;
	color: #2f5b3e;
	font-size: 11px;
	font-weight: 800;
}

.memory_measure_width {
	left: 50%;
	bottom: -31px;
	transform: translateX(-50%);
}

.memory_measure_height {
	top: 50%;
	right: -55px;
	transform: translateY(-50%) rotate(90deg);
}

.memory_color_guide {
	display: grid;
	grid-template-columns: 205px 1fr;
	align-items: center;
	gap: 30px;
}

.memory_color_guide .core_zoom_image_button img {
	width: 100%;
	aspect-ratio: 1 / 1;
	border-radius: 8px;
	object-fit: cover;
}

.memory_color_guide > div {
	padding-left: 8px;
}

.memory_order_flow {
	display: grid;
	grid-template-columns: 1fr auto 1fr auto 1fr auto 1fr;
	align-items: center;
	gap: 11px;
	margin-top: 18px;
}

.memory_order_check_table_wrap {
	margin-top: 28px;
	overflow-x: auto;
	border: 1px solid var(--core-line);
	background: #fff;
}

.memory_order_check_table {
	width: 100%;
	min-width: 700px;
	border-collapse: collapse;
}

.memory_order_check_table caption {
	padding: 20px 22px;
	color: #183b2a;
	font-size: 18px;
	font-weight: 800;
	text-align: left;
}

.memory_order_check_table th,
.memory_order_check_table td {
	height: 46px;
	padding: 10px 12px;
	border-top: 1px solid var(--core-line);
	border-right: 1px solid var(--core-line);
	color: #405047;
	font-size: 14px;
	text-align: center;
}

.memory_order_check_table th:last-child,
.memory_order_check_table td:last-child {
	border-right: 0;
}

.memory_order_check_table thead th {
	background: #eff5f1;
	color: #183b2a;
}

.memory_order_check_table tbody th {
	background: #f8faf8;
	font-weight: 700;
}

.memory_order_check_table_wrap > p {
	margin: 0;
	padding: 15px 22px;
	border-top: 1px solid var(--core-line);
	color: #59685f;
	font-size: 14px;
}

.memory_order_flow span {
	display: flex;
	align-items: center;
	gap: 10px;
	min-height: 70px;
	padding: 13px;
	border: 1px solid #d4dfd6;
	border-radius: 8px;
	background: #fff;
	color: #516057;
	font-size: 16px;
	font-weight: 700;
	line-height: 1.45;
}

.memory_order_flow strong {
	display: flex;
	flex: 0 0 27px;
	align-items: center;
	justify-content: center;
	width: 27px;
	height: 27px;
	border-radius: 50%;
	background: var(--core-green);
	color: #fff;
}

.memory_order_flow i {
	color: #95a49a;
	font-style: normal;
}

.memory_install_section {
	margin-top: 64px;
	padding-top: 1px;
	border-top: 1px solid var(--core-line);
}

.memory_install_grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 18px;
	margin-top: 32px;
}

.memory_install_card {
	overflow: hidden;
	border: 1px solid #d9e2dc;
	border-radius: 12px;
	background: #fff;
	box-shadow: 0 12px 30px rgba(26, 61, 41, .07);
}

.memory_install_diagram {
	position: relative;
	height: 230px;
	overflow: hidden;
	border-bottom: 1px solid #d9e2dc;
	background: linear-gradient(135deg, #eef2ef 0, #dfe7e2 100%);
}

.memory_install_diagram:before,
.memory_install_diagram:after {
	position: absolute;
	content: "";
}

.memory_install_diagram:before {
	left: 9%;
	right: 9%;
	top: 12%;
	bottom: 24%;
	border: 2px solid rgba(31, 69, 46, .28);
	background: #f8faf8;
	box-shadow: inset 0 0 28px rgba(26, 61, 41, .08);
}

.memory_install_diagram:after {
	display: none;
}

.memory_install_diagram i,
.memory_install_diagram b {
	position: absolute;
	z-index: 2;
	display: block;
	border: 1px solid rgba(255, 255, 255, .35);
	box-shadow: 0 4px 10px rgba(16, 33, 23, .18);
}

/* 부착 위치를 한눈에 구분할 수 있도록 벽면, 천정, 부분교체의 패널 위치를 다르게 표시합니다. */
.memory_install_wall i {
	top: 22%;
	bottom: 34%;
	width: 17%;
}

.memory_install_wall i:nth-child(1) { left: 16%; background: #4f7ea3; }
.memory_install_wall i:nth-child(2) { left: 33.5%; background: #dc735d; }
.memory_install_wall i:nth-child(3) { left: 51%; background: #263a4b; }
.memory_install_wall i:nth-child(4) { left: 68.5%; background: #d6c6a5; }

.memory_install_ceiling i {
	top: 18%;
	height: 16%;
	width: 17%;
}

.memory_install_ceiling i:nth-child(1) { left: 16%; background: #4f7ea3; }
.memory_install_ceiling i:nth-child(2) { left: 33.5%; background: #dc735d; }
.memory_install_ceiling i:nth-child(3) { left: 51%; background: #263a4b; }
.memory_install_ceiling i:nth-child(4) { left: 68.5%; background: #d6c6a5; }

.memory_install_repair i {
	top: 22%;
	bottom: 34%;
	width: 17%;
	background: #263a4b;
}

.memory_install_repair i:nth-child(1) { left: 16%; }
.memory_install_repair i:nth-child(2) { left: 33.5%; }
.memory_install_repair i:nth-child(3) { left: 51%; }
.memory_install_repair i:nth-child(4) { left: 68.5%; }

.memory_install_repair b {
	left: 51%;
	top: 22%;
	bottom: 34%;
	width: 17%;
	background: #dc735d;
	outline: 4px solid rgba(220, 115, 93, .22);
}

.memory_install_text {
	padding: 24px 22px 26px;
}

.memory_install_text strong {
	display: block;
	margin-bottom: 8px;
	color: #294735;
	font-size: 18px;
	line-height: 1.45;
}

.memory_install_text span {
	display: block;
	color: #6d7870;
	font-size: 13px;
	line-height: 1.7;
}

.memory_special_notice {
	margin-top: 14px;
	padding: 16px 18px;
	border: 1px solid #eadfcd;
	border-radius: 8px;
	background: #fffaf2;
	color: #805422;
	font-size: 13px;
}

.memory_order_template {
	display: grid;
	grid-template-columns: minmax(0,1.4fr) minmax(300px,1fr);
	gap: 28px;
	margin-top: 28px;
	padding: 24px 26px;
	border: 1px solid #cddbd1;
	border-radius: 8px;
	background: #f4f8f5;
}

.memory_order_example > strong {
	display: block;
	margin-bottom: 10px;
	color: #20342a;
	font-size: 14px;
}

.memory_order_template h3 {
	margin: 0;
	color: #20342a;
	font-size: 20px;
	line-height: 1.45;
}

.memory_order_template span {
	display: block;
	margin-top: 8px;
	color: #667269;
	font-size: 13px;
	line-height: 1.65;
}

.memory_order_template ol {
	margin: 0;
	padding: 15px 18px 15px 38px;
	border-left: 2px solid var(--core-green);
	background: #fff;
	color: #34473c;
	font-size: 14px;
	line-height: 1.8;
}

.memory_order_example > p {
	margin: 12px 0 0;
	color: #486054;
	font-size: 13px;
	font-weight: 700;
	line-height: 1.65;
}

/* 작성표는 주문 설명과 같은 박스 안에서 전체 폭을 사용합니다. */
.memory_order_template > .memory_order_check_table_wrap {
	grid-column: 1 / -1;
	margin-top: 0;
	border-radius: 8px;
}

.memory_calculator {
	margin-top: 34px;
	padding: 34px;
	border: 1px solid #d8e2da;
	border-radius: 12px;
	background: #f7f9f6;
}

.memory_calculator_header {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 20px;
	margin-bottom: 24px;
}

.memory_calculator_header p {
	margin-bottom: 5px;
	color: #738077;
	font-size: 13px;
}

.memory_calculator_header h3 {
	color: #203b2a;
	font-size: 25px;
	font-weight: 800;
}

.memory_add_button {
	padding: 11px 15px;
	border: 1px solid #adc0b2;
	border-radius: 5px;
	background: #fff;
	color: var(--core-green);
	font-family: inherit;
	font-size: 13px;
	font-weight: 800;
	cursor: pointer;
}

.memory_rows {
	display: grid;
	gap: 10px;
}

.memory_row {
	position: relative;
	display: grid;
	grid-template-columns: 1.1fr 1fr .85fr .85fr .6fr 1fr;
	align-items: end;
	gap: 10px;
	padding: 17px 48px 17px 17px;
	border: 1px solid #e0e6e1;
	border-radius: 8px;
	background: #fff;
}

.memory_row_invalid {
	border-color: #cf6c6c;
	background: #fffafa;
}

.memory_field label {
	display: block;
	margin-bottom: 7px;
	color: #5e6961;
	font-size: 12px;
	font-weight: 700;
}

.memory_field input,
.memory_field select {
	width: 100%;
	height: 44px;
	padding: 0 11px;
	border: 1px solid #cfd8d1;
	border-radius: 4px;
	background: #fff;
	color: #26342b;
	font-family: inherit;
	font-size: 14px;
}

.memory_row_result {
	min-width: 105px;
	padding-bottom: 2px;
	text-align: right;
}

.memory_row_result span,
.memory_row_result strong {
	display: block;
}

.memory_row_result span {
	color: #788178;
	font-size: 12px;
}

.memory_row_result strong {
	margin-top: 6px;
	color: var(--core-green);
	font-size: 17px;
}

.memory_remove_button {
	position: absolute;
	top: 50%;
	right: 14px;
	width: 28px;
	height: 28px;
	margin-top: -14px;
	border: 0;
	border-radius: 50%;
	background: #eef1ee;
	color: #6d776f;
	font-size: 19px;
	line-height: 26px;
	cursor: pointer;
}

.memory_error {
	min-height: 20px;
	margin-top: 10px;
	color: #b43f3f;
	font-size: 13px;
	line-height: 1.6;
}

.memory_total {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 1px;
	margin-top: 14px;
	overflow: hidden;
	border-radius: 8px;
	background: #dce5de;
}

.memory_total > div {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 20px;
	padding: 22px 24px;
	background: #eaf1eb;
}

.memory_total span {
	color: #56635a;
	font-size: 14px;
}

.memory_total strong {
	color: #174d2d;
	font-size: 22px;
}

.memory_actions {
	display: flex;
	flex-wrap: wrap;
	gap: 9px;
	margin-top: 20px;
}

.memory_disclaimer {
	margin-top: 17px;
	color: #7b837d;
	font-size: 12px;
	line-height: 1.7;
}

.memory_calculator_hidden {
	display: none;
}

.memory_thickness_section,
.memory_price_section,
.memory_contact_section {
	margin-top: 34px;
	padding: 30px;
	border: 1px solid var(--core-line);
	background: #fff;
}

.memory_thickness_section > p,
.memory_price_section span,
.memory_contact_section span {
	display: block;
	margin-top: 16px;
	color: #657168;
	font-size: 14px;
	line-height: 1.8;
}

.memory_price_section > p,
.memory_contact_section > p {
	color: var(--core-green);
	font-size: 12px;
	font-weight: 800;
}

.memory_price_section h2,
.memory_contact_section h2 {
	margin-top: 8px;
	color: #20372a;
	font-size: 27px;
}

.memory_contact_section strong {
	display: block;
	margin-top: 18px;
	color: #173d29;
	font-size: 20px;
	line-height: 1.6;
}

.practice_patch_section {
	background: #f7f9f6;
}

.patch_patent_badge {
	display: block;
	width: fit-content;
	margin-top: 12px;
	padding: 7px 12px;
	border-left: 4px solid #bd9140;
	background: #f3ead8;
	color: #183d2a;
	font-size: 16px;
	font-weight: 800;
	line-height: 1.45;
	letter-spacing: -0.3px;
}

.patch_patent_badge span {
	white-space: nowrap;
}

.practice_product_grid {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 18px;
}

/* 고무티 규격 안내와 실제 등록 상품 영역을 시각적으로 구분한다. */
.practice_tee_type_grid {
	margin-bottom: 36px;
}

.practice_product_card {
	overflow: hidden;
	border: 1px solid var(--core-line);
	border-radius: 9px;
	background: #fff;
}

.practice_product_image {
	display: flex;
	align-items: center;
	justify-content: center;
	overflow: hidden;
	aspect-ratio: 1 / 1;
	background: #f1f3f1;
	color: #9ba29d;
	font-size: 13px;
}

.practice_product_image img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.practice_product_text {
	padding: 19px;
}

.practice_product_text h3 {
	color: #26342b;
	font-size: 17px;
	font-weight: 800;
}

.practice_product_text p {
	margin-top: 8px;
	color: #7a827c;
	font-size: 13px;
	line-height: 1.5;
}

.practice_product_text strong {
	display: block;
	margin-top: 15px;
	color: var(--core-green);
	font-size: 17px;
}

.practice_product_text .practice_member_price {
	color: #50665a;
	font-size: 14px;
}

.practice_empty {
	padding: 58px 25px;
	border: 1px dashed #cbd6cd;
	border-radius: 10px;
	background: #fafbf9;
	text-align: center;
}

.practice_empty p {
	color: #445048;
	font-size: 17px;
	font-weight: 700;
}

.practice_empty span {
	display: block;
	margin-top: 8px;
	color: #899089;
	font-size: 13px;
}

.core_shipping_notice {
	padding: 34px 0 60px;
	background: #fff;
}

.core_shipping_notice_card {
	display: grid;
	grid-template-columns: 220px minmax(0, 1fr);
	align-items: center;
	gap: 34px;
	padding: 28px 32px;
	border: 1px solid #d8e2db;
	border-radius: 12px;
	background: #f4f8f5;
}

.core_shipping_notice_heading {
	padding-right: 30px;
	border-right: 1px solid #d8e2db;
}

.core_shipping_notice_heading > span {
	display: inline-block;
	margin-bottom: 9px;
	padding: 5px 9px;
	border-radius: 20px;
	background: #185c37;
	color: #fff;
	font-size: 11px;
	font-weight: 700;
}

.core_shipping_notice_heading h2 {
	font-size: 22px;
	font-weight: 800;
	line-height: 1.3;
	letter-spacing: -.5px;
}

.core_shipping_notice_body strong {
	display: block;
	color: #183d29;
	font-size: 16px;
	font-weight: 700;
	line-height: 1.55;
	word-break: keep-all;
}

.core_shipping_notice_body p {
	margin-top: 7px;
	color: #707b73;
	font-size: 13px;
	line-height: 1.55;
}

.core_consult_banner {
	padding: 60px 0;
	background: #185c37;
	color: #fff;
}

.core_consult_banner .core_inner {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 40px;
}

.core_consult_banner p {
	margin-bottom: 9px;
	color: #b9d4c3;
	font-size: 13px;
	font-weight: 700;
}

.core_consult_banner h2 {
	font-size: 28px;
	font-weight: 800;
	line-height: 1.4;
	letter-spacing: -1px;
}

.core_consult_banner .core_inner > div:first-child > span {
	display: block;
	margin-top: 10px;
	color: #d7e4da;
	font-size: 13px;
	line-height: 1.65;
}

.core_consult_banner_actions {
	display: flex;
	flex-direction: column;
	align-items: flex-end;
	gap: 9px;
}

.core_consult_banner .core_consult_products {
	max-width: 470px;
	margin: 0;
	color: #d7e4da;
	font-size: 13px;
	font-weight: 600;
	line-height: 1.6;
	text-align: right;
	word-break: keep-all;
}

.core_consult_buttons {
	display: flex;
	flex-wrap: wrap;
	justify-content: flex-end;
	gap: 9px;
}

@media screen and (max-width: 1024px) {
	.core_hero_inner {
		grid-template-columns: minmax(0, .9fr) minmax(420px, 1.1fr);
	}

	.core_hero_text {
		padding-right: 40px;
	}

	.screen_order_nav {
		grid-template-columns: 1fr;
	}

	.screen_order_level {
		border-right: 0;
		border-bottom: 1px solid var(--core-line);
	}

	.screen_order_level:last-child {
		border-bottom: 0;
	}

	.screen_order_layout {
		grid-template-columns: 1fr;
	}

	.screen_material_grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.screen_case_grid,
	.patch_case_grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.screen_finish_grid {
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}

	.screen_related_grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.mat_family_card {
		grid-template-columns: 1fr;
		height: auto;
	}

	.mat_family_visual {
		height: 360px;
	}

	.mat_detail_spec_grid,
	.mat_detail_feature_grid,
	.mat_order_check_grid,
	.mat_replacement_steps,
	.patch_type_cards {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.practice_family_grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.lost_ball_detail {
		gap: 32px;
	}

	.range_ball_detail {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.mat_detail_section {
		grid-template-columns: minmax(0, 1fr) minmax(320px, .9fr);
		gap: 32px;
	}

	.screen_measure_grid article {
		grid-template-columns: 145px 1fr;
	}

	.mat_product_grid,
	.practice_product_grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.mat_feature_points {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.memory_order_flow {
		grid-template-columns: repeat(4, minmax(0, 1fr));
	}

	.memory_order_flow i {
		display: none;
	}

	.patch_order_box {
		grid-template-columns: 1fr;
	}

	.memory_row {
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}

	.memory_row_result {
		text-align: left;
	}
}

@media screen and (max-width: 767px) {
	.core_inner {
		width: calc(100% - 36px);
	}

	.screen_order_level,
	.screen_selected_product,
	.screen_order_box {
		padding: 18px;
	}

	.screen_order_level a,
	.screen_order_level > div > span {
		flex: 1 1 calc(50% - 6px);
		text-align: center;
	}

	.screen_selected_product h3 {
		font-size: 22px;
	}

	.screen_selected_product dl > div {
		grid-template-columns: 96px 1fr;
	}

	.screen_dimension_fields {
		gap: 6px;
	}

	.screen_dimension_fields input {
		padding-right: 60px;
	}

	.screen_order_price {
		grid-template-columns: 1fr;
	}

	.screen_order_price strong {
		justify-self: start;
		font-size: 21px;
	}

	.screen_material_grid,
	.screen_measure_grid,
	.screen_case_grid,
	.lost_ball_detail,
	.lost_ball_precheck,
	.patch_process_grid,
	.patch_case_grid {
		grid-template-columns: 1fr;
	}

	.patch_process_arrow {
		margin: -2px auto;
		transform: none;
	}

	.screen_finish_grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.screen_mounting_grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.range_ball_detail {
		grid-template-columns: 1fr;
		margin-top: 22px;
	}

	.range_xpera_story {
		padding-top: 0;
	}

	.range_xpera_panel + .range_xpera_panel {
		margin-top: 12px;
	}

	.range_xpera_spec_section {
		padding-top: 52px;
	}

	.range_xpera_spec {
		grid-template-columns: 1fr;
		margin-top: 25px;
	}

	.range_xpera_spec > div,
	.range_xpera_spec > div:nth-child(odd),
	.range_xpera_spec > div:nth-last-child(-n + 2) {
		border-right: 0;
		border-bottom: 1px solid #d7dfe2;
	}

	.range_xpera_spec > div:last-child {
		border-bottom: 0;
	}

	.range_xpera_spec dt,
	.range_xpera_spec dd {
		padding: 14px 15px;
		font-size: 13px;
	}

	.range_xpera_spec > div {
		grid-template-columns: 112px minmax(0, 1fr);
	}

	.range_xpera_packaging {
		margin-top: 28px;
	}

	.range_packaging_notice {
		margin-top: 15px;
		padding: 24px 18px;
		border-radius: 28px;
	}

	.range_packaging_notice p {
		font-size: 16px;
		line-height: 1.7;
	}

	.range_packaging_notice br {
		display: none;
	}

	.screen_finish_guide {
		padding: 22px 18px;
	}

	.screen_order_warning_grid,
	.screen_booth_measure_copy,
	.screen_room_measure_exact {
		grid-template-columns: 1fr;
	}

	.screen_booth_measure_grid {
		grid-template-columns: 1fr;
		gap: 12px;
	}

	.screen_room_measure_exact {
		gap: 10px;
		padding: 18px;
	}

	.screen_room_measure_exact > div {
		padding: 10px;
		text-align: center;
	}

	.screen_supply_note,
	.lost_ball_reason {
		grid-template-columns: 1fr;
		gap: 8px;
	}

	.lost_ball_operation .lost_ball_detail_image {
		order: -1;
	}

	.lost_ball_precheck {
		padding: 22px 18px;
	}

	.lost_ball_precheck img {
		max-height: 420px;
		object-position: center 45%;
	}

	.ball_consult_box {
		display: block;
		padding: 24px 20px;
	}

	.ball_consult_box .core_button {
		width: 100%;
		margin-top: 18px;
	}

	.screen_measure_grid article {
		grid-template-columns: 120px 1fr;
	}

	.screen_measure_grid div {
		padding: 18px;
	}

	.mat_option_guide,
	.mat_detail_section,
	.patch_type_guide {
		grid-template-columns: 1fr;
	}

	.mat_family_card,
	.mat_detail_gallery_two,
	.mat_replacement_gallery,
	.mat_detail_spec_grid,
	.mat_detail_feature_grid,
	.mat_order_check_grid,
	.mat_layer_layout,
	.mat_hole_measure_panel,
	.mat_stance_showcase,
	.mat_stance_size_layout,
	.mat_stance_point_grid,
	.mat_stance_structure_layout,
	.mat_stance_use_grid,
	.mat_replacement_dimension_layout,
	.mat_replacement_feature_grid,
	.mat_replacement_compare_grid,
	.mat_replacement_measure_grid,
	.mat_replacement_type_grid,
	.mat_replacement_steps,
	.practice_family_grid,
	.patch_type_cards {
		grid-template-columns: 1fr;
	}

	.mat_family_visual {
		height: 280px;
	}

	.mat_family_visual_contain img,
	.mat_replacement_gallery figure:first-child img {
		object-position: center;
	}

	.mat_family_copy {
		padding: 28px 22px;
	}

	.mat_detail_gallery img {
		height: 290px;
	}

	.mat_iron_gallery img {
		height: 240px;
		padding: 12px;
	}

	.mat_iron_gallery .mat_iron_photo_crop img {
		height: 360px;
		min-height: 0;
	}

	.mat_replacement_gallery figure:nth-child(2) img {
		height: auto;
	}

	.mat_replacement_order_sample {
		grid-template-columns: 1fr;
	}

	.mat_content_block {
		margin-top: 58px;
		padding: 34px 20px;
	}

	.mat_stance_product,
	.mat_stance_product img {
		min-height: 340px;
	}

	.mat_stance_copy {
		padding: 30px 22px;
	}

	.mat_block_heading h2,
	.mat_stance_copy h2 {
		font-size: 27px;
	}

	.mat_hole_option_grid {
		grid-template-columns: 1fr;
	}

	.mat_hole_measure_panel {
		padding: 22px 18px;
	}

	.mat_hole_diagram {
		min-height: 280px;
	}

	.mat_replacement_fee_grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.mat_catalog_notice {
		grid-template-columns: 1fr;
		gap: 8px;
	}

	.screen_measure_grid_detail article {
		grid-template-columns: 1fr;
	}

	.screen_measure_grid_detail img {
		height: 260px;
		min-height: 0;
	}

	.mat_detail_section {
		gap: 25px;
		margin-top: 54px;
		padding-top: 54px;
	}

	.mat_detail_reverse .mat_detail_image,
	.mat_detail_reverse .mat_detail_text {
		order: initial;
	}

	.mat_measure_check {
		padding: 23px 20px;
	}

	.mat_measure_check ol,
	.memory_composition_panel > div,
	.memory_size_color_grid,
	.memory_install_grid,
	.patch_order_fields {
		grid-template-columns: 1fr;
	}

	.mat_feature_points,
	.mat_order_warning ul {
		grid-template-columns: 1fr;
	}

	.mat_shipping_notice {
		grid-template-columns: 1fr;
		gap: 8px;
	}

	/* 모바일에서는 배송비 표의 두 열을 화면 너비 안에서 모두 표시합니다. */
	.mat_shipping_table {
		min-width: 0;
		table-layout: fixed;
	}

	.mat_shipping_table th,
	.mat_shipping_table td {
		padding: 13px 10px;
		word-break: keep-all;
	}

	.mat_shipping_table tr > *:first-child {
		width: 34%;
	}

	.mat_option_guide > div {
		padding: 24px 20px;
	}

	.patch_type_guide {
		gap: 20px;
		padding: 18px;
	}

	.core_hero_inner {
		display: flex;
		flex-direction: column-reverse;
		min-height: 0;
	}

	.core_hero_media {
		min-height: 0;
		aspect-ratio: 16 / 10;
		margin: 0 -18px;
	}

	.core_page_mats .core_hero_media img {
		left: 0;
		width: 100%;
		min-width: 0;
		object-position: center;
		transform: none;
	}

	.core_page_mat_iron .core_hero_media img {
		padding: 14px 5%;
		object-fit: contain;
	}

	.practice_tee_type_grid {
		margin-bottom: 24px;
	}

	.core_hero_text {
		padding: 34px 0 42px;
	}

	.core_eyebrow {
		margin-bottom: 10px;
		font-size: 11px;
	}

	.core_hero h1 {
		font-size: 34px;
		letter-spacing: -1.8px;
	}

	.core_hero_description {
		margin-top: 15px;
		font-size: 15px;
		line-height: 1.65;
	}

	.core_consult_actions {
		margin-top: 25px;
	}

	.core_button {
		flex: 1 1 auto;
		min-width: 0;
		min-height: 48px;
		padding: 11px 16px;
		font-size: 14px;
	}

	.core_section {
		padding: 64px 0;
		scroll-margin-top: 108px;
	}

	.core_section_heading {
		margin-bottom: 30px;
		text-align: left;
	}

	.core_section_heading h2 {
		font-size: 29px;
		letter-spacing: -1.2px;
	}

	.core_section_heading > span {
		font-size: 14px;
	}

	.screen_fabric_grid,
	.screen_use_grid,
	.core_info_panel,
	.core_feature_item,
	.memory_intro_grid,
	.memory_spec_list,
	.memory_total,
	.memory_order_template {
		grid-template-columns: 1fr;
	}

	.screen_fabric_card {
		padding: 22px;
	}

	.screen_fabric_title h3 {
		font-size: 20px;
	}

	.core_info_panel {
		gap: 24px;
		padding: 24px;
	}

	.core_notice {
		grid-column: auto;
	}

	.core_feature_list {
		gap: 58px;
	}

	.core_feature_item {
		gap: 28px;
	}

	.core_feature_reverse .core_feature_image,
	.core_feature_reverse .core_feature_text {
		order: initial;
	}

	.core_feature_image {
		aspect-ratio: 4 / 3;
	}

	.core_feature_text h2 {
		font-size: 28px;
	}

	.mat_product_grid,
	.practice_product_grid {
		grid-template-columns: 1fr 1fr;
		gap: 10px;
	}

	.mat_product_text,
	.practice_product_text {
		padding: 15px;
	}

	.mat_product_text h3,
	.practice_product_text h3 {
		font-size: 15px;
	}

	.mat_tmax_panel {
		display: block;
	}

	.mat_tmax_panel .core_button {
		width: 100%;
		margin-top: 22px;
	}

	.practice_anchor_nav .core_inner {
		width: 100%;
	}

	.practice_anchor_nav a {
		padding: 16px 7px;
		font-size: 13px;
	}

	.memory_intro_image {
		min-height: 0;
		aspect-ratio: 1 / .8;
	}

	.memory_composition_panel {
		padding: 22px 18px;
	}

	.memory_color_guide {
		grid-template-columns: 125px 1fr;
		gap: 18px;
	}

	.memory_color_guide > div {
		padding-left: 0;
	}

	.repair_color_guide {
		grid-template-columns: 1fr;
		gap: 22px;
		padding: 20px;
	}

	.core_image_layer {
		padding: 12px;
	}

	.memory_order_flow {
		grid-template-columns: 1fr;
	}

	.patch_order_box {
		gap: 24px;
		padding: 25px 20px;
	}

	.patch_order_fields .core_button {
		grid-column: auto;
	}

	.memory_calculator {
		margin-right: -8px;
		margin-left: -8px;
		padding: 20px 14px;
	}

	.member_price_lock {
		min-height: 210px;
		padding: 26px 18px;
	}

	.member_price_lock strong {
		font-size: 18px;
	}

	.member_price_lock > div {
		width: 100%;
		flex-direction: column;
	}

	.member_price_lock .core_button {
		width: 100%;
	}

	.memory_calculator_header {
		align-items: flex-end;
	}

	.memory_calculator_header h3 {
		font-size: 21px;
	}

	.memory_row {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		padding: 15px 42px 15px 14px;
	}

	.memory_row_result {
		padding-top: 5px;
	}

	.memory_total > div {
		padding: 17px;
	}

	.memory_total strong {
		font-size: 19px;
	}

	.screen_related_grid {
		grid-template-columns: 1fr;
	}

	.core_consult_banner {
		padding: 43px 0;
	}

	.core_shipping_notice {
		padding: 26px 0 40px;
	}

	.core_shipping_notice_card {
		display: block;
		padding: 22px 20px;
	}

	.core_shipping_notice_heading {
		margin-bottom: 15px;
		padding: 0 0 15px;
		border-right: 0;
		border-bottom: 1px solid #d8e2db;
	}

	.core_shipping_notice_heading h2 {
		font-size: 20px;
	}

	.core_shipping_notice_body strong {
		font-size: 15px;
	}

	.core_consult_banner .core_inner {
		display: block;
	}

	.core_consult_banner h2 {
		font-size: 23px;
	}

	.core_consult_banner_actions {
		align-items: flex-start;
		margin-top: 24px;
	}

	.core_consult_banner .core_consult_products {
		text-align: left;
	}

	.core_consult_buttons {
		justify-content: flex-start;
	}
}
