/**
 * GPTXT Article Pattern 03
 *
 * Pattern03: ボックス強調型
 * - 情報整理感を強める
 * - ややポップで視認性の高い印象
 */

/* =========================
   Wrapper
========================= */
.gptxt-pattern-03 {
	background: var(--gptxt-article-surface);
	border: 1px solid var(--gptxt-article-border);
}

/* =========================
   Title
========================= */
.gptxt-pattern-03 .gptxt-title {
	background: linear-gradient(135deg, var(--gptxt-article-soft-bg) 0%, var(--gptxt-article-surface) 100%);
	padding: 13px 12px 12px;
	color: var(--gptxt-article-title);
	margin-bottom: 22px;
	margin-left: -16px;
	margin-right: -16px;
	text-align: center;
}

/* =========================
   Link / Image
========================= */
.gptxt-pattern-03 .gptxt-link {
	background: var(--gptxt-article-surface);
	border: 2px solid var(--gptxt-article-border);
	padding: 12px;
}

.gptxt-pattern-03 .gptxt-img {
	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: var(--gptxt-article-soft-bg-2);
	padding: 12px 9px 8px;
	color: var(--gptxt-article-heading);
	margin-bottom: 12px;
	margin-left: -16px;
	margin-right: -16px;
	text-align: center;
	box-shadow: none;
	border-bottom: double 6px var(--gptxt-article-border-strong);
}

/* =========================
   Text blocks
========================= */
.gptxt-pattern-03 .gptxt-txt {
	background: var(--gptxt-article-surface);
	padding: 18px 18px;
	color: var(--gptxt-article-text);
	box-shadow: none;
	position: relative;
	display: inline-block;
}

.gptxt-pattern-03 .gptxt-txt:not(.gptxt-txt03):not(.gptxt-txt06):not(.gptxt-txt07):after {
	content: '';
	position: absolute;
	left: 50%;
	bottom: -15px;
	display: inline-block;
	width: 60px;
	height: 5px;
	-webkit-transform: translateX(-50%);
	transform: translateX(-50%);
	background-color: var(--gptxt-article-accent);
	border-radius: 2px;
}

/* =========================
   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;
	}
}