@charset "utf-8";

.sms-container {
	font-family: 'Noto Sans KR', sans-serif;
	padding-bottom: 100px;
}

/* ==============================================
   Section 1 — Hero + Features
   canvas ref: top 0~560, height 560px
============================================== */
.sms-section1 {
	position: relative;
	width: 100%;
	margin: 0 auto;
	box-sizing: border-box;
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 20px;
	padding: 40px 20px;
	background-image: url('../../images/features/sms-send/boxBG_28957.png');
	background-repeat: no-repeat;
	background-size: 1040px auto;
	background-position: center bottom;
}

/* Logo image: flex item */
.sms-logo-img {
	position: relative;
	width: 330px;
	height: auto;
	display: block;
	flex-shrink: 0;
}

/* Hero text group: flex item */
.sms-hero-text-group {
	position: relative;
	width: 693px;
	max-width: 100%;
	display: flex;
	flex-direction: column;
}

/* Big title: 44px/600/#005728 */
.sms-big-title {
	position: relative;
	top: auto;
	left: auto;
	width: 100%;
	height: auto;
	font-family: 'Noto Sans KR', sans-serif;
	font-size: clamp(32px, 5vw, 44px);
	font-weight: 600;
	letter-spacing: -1px;
	line-height: 1.2;
	color: #005728;
	text-align: left;
	margin: 0;
}

/* Sub label: 18px/500 */
.sms-sub-label {
	position: relative;
	width: 100%;
	font-family: 'Noto Sans KR', sans-serif;
	font-size: 18px;
	font-weight: 500;
	letter-spacing: -1px;
	line-height: 1.6;
	color: #333333;
	text-align: left;
	margin: 15px 0 0 0;
}

/* Sub text: 16px/400 */
.sms-sub-text {
	position: relative;
	width: 100%;
	font-family: 'Noto Sans KR', sans-serif;
	font-size: 16px;
	font-weight: 400;
	letter-spacing: -1px;
	line-height: 1.4;
	color: #333333;
	text-align: left;
	margin: 8px 0 0 0;
}

/* ==============================================
   New Section — Feature List
   ============================================== */
.sms-features-section {
	position: relative;
	width: 100%;
	margin: 0 auto;
	margin-top: 40px;
	box-sizing: border-box;
	display: flex;
	flex-direction: column;
	align-items: center;
}

/* Dot + heading wrapper */
.sms-title1 {
	position: relative;
	display: flex;
	align-items: center;
	margin-bottom: 20px;
	width: 1038px;
	max-width: calc(100% - 40px);
	justify-content: flex-start;
}

/* Gray box: now centered and relative */
.sms-gray-box1 {
	position: relative;
	width: 100%;
	height: auto;
	background-color: #F6F6F6;
	border: 1px solid #D9D9D9;
	box-sizing: border-box;
	padding: 19px 25px;
}

/* Dot */
.sms-dot1 {
	position: relative;
	width: 10px;
	height: 10px;
	border-radius: 50%;
	background-color: #555662;
	flex-shrink: 0;
	margin-right: 11px;
}

/* Heading */
.sms-heading1 {
	position: relative;
	width: auto;
	max-width: 100%;
	font-family: 'Noto Sans KR', sans-serif;
	font-size: clamp(20px, 3vw, 24px);
	font-weight: 500;
	letter-spacing: -1px;
	line-height: 1.4;
	color: #333333;
	text-align: left;
	margin: 0;
}

/* Info list inside gray-box */
.sms-info-list {
	position: relative;
	top: auto;
	left: auto;
	list-style: none;
	margin: 0;
	padding: 0;
}

.sms-info-list li {
	display: flex;
	align-items: flex-start;
	font-family: 'Noto Sans KR', sans-serif;
	font-size: 16px;
	font-weight: 400;
	letter-spacing: 0;
	line-height: 1.4;
	color: #333333;
}

.sms-info-list li::before {
	content: "✓";
	color: #278855;
	font-size: 16px;
	font-weight: 700;
	flex-shrink: 0;
	margin-right: 8px;
	line-height: 1.4;
}

/* ==============================================
   Section 2 — Main Screenshot
   canvas ref: top 560~1215, height 655px
============================================== */
.sms-section2 {
	position: relative;
	width: 100%;
	height: auto;
	margin: 0 auto;
	box-sizing: border-box;
	display: flex;
	justify-content: center;
	align-items: center;
	padding: 40px 0;
}

/* Screenshot: now relative and centered */
.sms-screenshot {
	position: relative;
	width: 780px;
	max-width: 100%;
	height: auto;
	display: block;
	margin: 0 auto;
}

/* ==============================================
   Section 3 — Feature Grid (2 rows × 3 cols)
   canvas ref: top 1215~1680, height 465px
============================================== */
.sms-section3 {
	position: relative;
	width: 100%;
	height: auto;
	margin: 0 auto;
	box-sizing: border-box;
	display: flex;
	justify-content: center;
	padding: 40px 0;
}

/* Feature grid wrapper: Responsive columns */
.sms-feat-grid {
	position: relative;
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	width: 1040px;
	max-width: 100%;
	gap: 1px;
	background-color: #D9D9D9;
	border: 1px solid #D9D9D9;
}

/* Each feature cell */
.sms-feat-cell {
	position: relative;
	background-color: #F6F6F6;
	box-sizing: border-box;
	padding: 20px;
	display: flex;
	align-items: flex-start;
	justify-content: flex-start;
}

/* Feature labels: 20px/600/#005728 */
.sms-feat-label {
	position: relative;
	font-family: 'Noto Sans KR', sans-serif;
	font-size: clamp(17px, 2.5vw, 19px);
	font-weight: 600;
	letter-spacing: -0.5px;
	line-height: 1.2;
	color: #005728;
	text-align: left;
	margin-bottom: 8px;
}

/* Icon and Text Container */
.sms-cell-content {
	display: flex;
	align-items: flex-start;
	justify-content: flex-start;
	gap: 20px;
	width: 100%;
}

.sms-feat-info {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	justify-content: flex-start;
}

/* Feature icons */
.sms-feat-icon {
	position: relative;
	width: 80px;
	height: 80px;
	flex-shrink: 0;
	object-fit: contain;
}

/* Feature texts: 14px/400 */
.sms-feat-text {
	position: relative;
	font-family: 'Noto Sans KR', sans-serif;
	font-size: 14px;
	font-weight: 400;
	letter-spacing: 0;
	line-height: 1.5;
	color: #333333;
	text-align: left;
	word-break: keep-all;
}

/* ==============================================
   Section 4 — Pricing Table
   canvas ref: top 1680~1900, height 220px
============================================== */
.sms-section4 {
	position: relative;
	width: 100%;
	height: auto;
	margin: 0 auto;
	margin-top: 60px;
	box-sizing: border-box;
	display: flex;
	flex-direction: column;
	align-items: center;
}

/* Dot + heading wrapper 2 */
.sms-title2 {
	position: relative;
	display: flex;
	align-items: center;
	margin-bottom: 20px;
	width: 1038px;
	max-width: calc(100% - 40px);
	justify-content: flex-start;
}

/* Dot 2 */
.sms-dot2 {
	position: relative;
	width: 10px;
	height: 10px;
	border-radius: 50%;
	background-color: #555662;
	flex-shrink: 0;
	margin-right: 11px;
}

/* Heading 2 */
.sms-heading2 {
	position: relative;
	width: auto;
	max-width: 100%;
	font-family: 'Noto Sans KR', sans-serif;
	font-size: clamp(20px, 3vw, 24px);
	font-weight: 500;
	letter-spacing: -1px;
	line-height: 1.4;
	color: #333333;
	text-align: left;
	margin: 0;
}

/* Pricing table: top:1740→60, left:29→-1, width:1040 */
.sms-price-table {
	position: relative;
	width: 100%;
	border-collapse: collapse;
	border: 1px solid #BEBEBE;
	text-align: center;
	margin: 0 auto;
}

.sms-price-table th,
.sms-price-table td {
	border: 1px solid #BEBEBE;
	font-family: 'Noto Sans KR', sans-serif;
	font-size: 15px;
	font-weight: bold;
	text-align: center;
	line-height: 1.5;
	padding: 12px 10px 10px 12px;
}

.sms-price-table thead th {
	background-color: #515151;
	color: #FFFFFF;
}

.sms-price-table thead th:first-child {
	width: 20%;
}

.sms-price-table tbody td:first-child {
	background-color: #FFFFFF;
	color: #333333;
	width: 20%;
}

.sms-price-table tbody td:not(:first-child) {
	background-color: #FFFFFF;
	color: #FF0000;
}

@media (max-width: 1024px) {
	.sms-section1 {
		padding-top: 0;
	}
}

/* ==========================================
   Responsive — 800px
   ========================================== */
@media (max-width: 800px) {
	.sms-section1 {
		flex-direction: column;
		height: auto;
		padding: 40px 20px;
		text-align: center;
		background-image: none !important;
	}

	.sms-logo-img {
		display: none;
	}

	.sms-hero-text-group {
		position: relative;
		width: 100%;
		padding-top: 0;
		text-align: center;
		display: flex;
		flex-direction: column;
		align-items: center;
	}

	.sms-big-title {
		font-size: 32px;
		word-break: keep-all;
	}

	.sms-sub-label {
		margin-top: 10px;
		font-size: 16px;
	}

	.sms-sub-text {
		margin-top: 5px;
		font-size: 14px;
	}

	.sms-title1 {
		position: relative;
		top: auto;
		left: auto;
		margin-top: 20px;
	}

	.sms-gray-box1 {
		position: relative;
		top: auto;
		left: auto;
		width: 100%;
		height: auto;
	}

	.sms-features-section {
		margin-top: 0;
	}

	.sms-section3 {
		height: auto;
		padding-bottom: 20px;
	}

	.sms-feat-grid {
		position: relative;
		display: grid;
		grid-template-columns: repeat(2, 1fr);
		width: 100%;
		gap: 1px;
	}

	.sms-feat-cell {
		width: 100%;
		height: auto;
		padding: 14px 16px;
		box-sizing: border-box;
	}

	.sms-cell-content {
		flex-direction: column;
	}

	.sms-feat-label {
		width: auto;
		font-size: 18px;
		margin-bottom: 5px;
	}



	.sms-feat-icon {
		width: 60px;
		height: 60px;
	}



	.sms-feat-text {
		font-size: 13px;
	}



	.sms-section4 {
		height: auto;
		padding-bottom: 20px;
	}

	.sms-title2 {
		position: relative;
		top: auto;
		left: auto;
		margin-bottom: 10px;
	}

}

/* ==========================================
   Responsive — 600px
   ========================================== */
@media (max-width: 600px) {
	.sms-feat-grid {
		grid-template-columns: 1fr;
	}
}





/* ==============================================
   Responsive Scaling
   ============================================== */
@media screen and (max-width: 1100px) {
	.sms-big-title {
		font-size: 38px;
	}

	.sms-heading1 {
		font-size: 22px;
	}

	.sms-info-list li {
		font-size: 15px;
	}

	.sms-logo-img {
		width: 280px;
	}

	.sms-feat-grid {
		grid-template-columns: repeat(2, 1fr);
	}
}