/**
 * GPTXT Article Pattern 03
 *
 * Pattern03: ボックス強調型
 * - セクションごとに色付きボックスで区切る
 * - 情報整理感を強める
 * - ややポップで視認性の高い印象
 */

/* =========================
   Wrapper
========================= */
.gptxt-pattern-03 {
	background: #f8fafc;
	padding-top: 16px;
	padding-bottom: 16px;
}

/* =========================
   Title
========================= */
.gptxt-pattern-03 .gptxt-title {
	background: linear-gradient(135deg, #eef6ff 0%, #f7fbff 100%);
	border: 1px solid #cfe1f5;
	border-radius: 18px;
	padding: 22px 24px;
	color: #17324d;
	margin-bottom: 22px;
}

/* =========================
   Link / Image
========================= */
.gptxt-pattern-03 .gptxt-link {
	background: #ffffff;
	border: 2px solid #d8e6f3;
	border-radius: 18px;
	padding: 12px;
	margin-bottom: 18px;
}

.gptxt-pattern-03 .gptxt-img {
	border-radius: 12px;
	margin-bottom: 0;
}

/* =========================
   Button
========================= */
.gptxt-pattern-03 .gptxt-btn {
	background: #1d4ed8;
	color: #ffffff;
	border: 2px solid #1d4ed8;
	border-radius: 12px;
	box-shadow: none;
}

.gptxt-pattern-03 .gptxt-btn:hover {
	background: #ffffff;
	color: #1d4ed8;
	text-decoration: none;
}

.gptxt-pattern-03 .gptxt-btn:visited,
.gptxt-pattern-03 .gptxt-btn:focus,
.gptxt-pattern-03 .gptxt-btn:active {
	text-decoration: none;
}

/* =========================
   Headings
========================= */
.gptxt-pattern-03 .gptxt-headding {
	background: #dbeafe;
	border: 1px solid #bfd7f3;
	border-radius: 14px;
	padding: 16px 18px;
	color: #15324f;
	margin-bottom: 12px;
	box-shadow: none;
}

/* 2つ目のセクション */
.gptxt-pattern-03 .gptxt-headding02 {
	background: #ecfdf5;
	border-color: #bfe8d0;
	color: #194434;
}

/* まとめ */
.gptxt-pattern-03 .gptxt-headding03 {
	background: #fff7ed;
	border-color: #f1d1b0;
	color: #5f3a17;
}

/* =========================
   Text blocks
========================= */
.gptxt-pattern-03 .gptxt-txt {
	background: #ffffff;
	border: 1px solid #d9e3ee;
	border-radius: 14px;
	padding: 18px 18px;
	color: #334155;
	box-shadow: none;
}

.gptxt-pattern-03 .gptxt-txt01,
.gptxt-pattern-03 .gptxt-txt02,
.gptxt-pattern-03 .gptxt-txt03 {
	background: #f8fbff;
	border-color: #d6e5f4;
}

.gptxt-pattern-03 .gptxt-txt04,
.gptxt-pattern-03 .gptxt-txt05,
.gptxt-pattern-03 .gptxt-txt06 {
	background: #f5fcf8;
	border-color: #d5ebdc;
}

.gptxt-pattern-03 .gptxt-txt07 {
	background: #fffaf5;
	border-color: #f1dfca;
}

/* =========================
   Spacing
========================= */
.gptxt-pattern-03 .gptxt-txt + .gptxt-txt {
	margin-top: 12px;
}

/* =========================
   Mobile
========================= */
@media screen and (max-width: 640px) {
	.gptxt-pattern-03 .gptxt-title {
		padding: 18px 16px;
		border-radius: 14px;
	}

	.gptxt-pattern-03 .gptxt-link {
		padding: 10px;
		border-radius: 14px;
	}

	.gptxt-pattern-03 .gptxt-img {
		border-radius: 10px;
	}

	.gptxt-pattern-03 .gptxt-headding,
	.gptxt-pattern-03 .gptxt-txt {
		padding: 14px 14px;
		border-radius: 12px;
	}
}