/*
 * 販売車両トップ /model/ 専用デザイン Ver.1.23.1
 * 5メーカーをPCでは上段3枚＋下段2枚でコンパクトに表示します。
 * body.gtf-modern-model-page 内に限定し、車両詳細・ギャラリー・他ページへ影響させません。
 */
body.gtf-modern-model-page,
body.gtf-modern-model-page #page,
body.gtf-modern-model-page #wrapper,
body.gtf-modern-model-page #main,
body.gtf-modern-model-page #primary,
body.gtf-modern-model-page #content,
body.gtf-modern-model-page .site,
body.gtf-modern-model-page .site-content {
	width:100% !important;
	max-width:none !important;
	margin:0 !important;
	padding:0 !important;
	background:#07090b !important;
}

body.gtf-modern-model-page {
	overflow-x:hidden;
}

.gtf-model-landing,
.gtf-model-landing * {
	box-sizing:border-box;
}

.gtf-model-landing {
	--gtf-model-bg:#07090b;
	--gtf-model-panel:#0d1115;
	--gtf-model-panel-2:#11161c;
	--gtf-model-text:#f4efe6;
	--gtf-model-muted:#899097;
	--gtf-model-line:#262c33;
	--gtf-model-gold:#d7b46a;
	--gtf-model-gold-line:rgba(215,180,106,.28);
	position:relative;
	left:50%;
	width:100vw;
	margin-left:-50vw;
	color:var(--gtf-model-text);
	background:
		radial-gradient(circle at 85% 12%,rgba(215,180,106,.08),transparent 28%),
		linear-gradient(180deg,#050709 0%,#0a0d11 58%,#06080a 100%);
	font-family:Arial,"Noto Sans JP","Yu Gothic",Meiryo,sans-serif;
}

.gtf-model-landing a {
	color:inherit;
	text-decoration:none;
}

.gtf-model-landing__container {
	width:min(1360px,calc(100% - 48px));
	margin:0 auto;
}

/* Compact hero */
.gtf-model-landing__hero {
	padding:34px 0 24px;
}

.gtf-model-landing__hero-grid {
	display:grid;
	grid-template-columns:.9fr 1.1fr;
	gap:44px;
	align-items:end;
}

.gtf-model-landing__eyebrow {
	display:flex;
	align-items:center;
	gap:10px;
	color:var(--gtf-model-gold);
	font-size:9px;
	font-weight:800;
	letter-spacing:.22em;
	text-transform:uppercase;
}

.gtf-model-landing__eyebrow:before {
	content:"";
	width:30px;
	height:1px;
	background:var(--gtf-model-gold);
}

.gtf-model-landing__title-stack {
	position:relative;
	margin-top:10px;
}

.gtf-model-landing__title-stack h1 {
	position:relative;
	z-index:2;
	margin:0;
	color:#f6f2e9;
	font-family:Georgia,"Hiragino Mincho ProN","Yu Mincho",serif;
	font-size:clamp(34px,3.7vw,54px);
	font-weight:500;
	line-height:1.02;
	letter-spacing:.03em;
	text-shadow:
		3px 4px 0 rgba(0,0,0,.76),
		0 8px 20px rgba(0,0,0,.65),
		1px 1px 0 rgba(215,180,106,.16);
}

.gtf-model-landing__title-stack > span {
	position:relative;
	z-index:2;
	display:block;
	margin-top:8px;
	color:var(--gtf-model-gold);
	font-size:12px;
	font-weight:700;
	letter-spacing:.26em;
}

.gtf-model-landing__title-stack > div {
	position:absolute;
	z-index:1;
	left:120px;
	top:-10px;
	color:transparent;
	-webkit-text-stroke:1px rgba(255,255,255,.13);
	text-shadow:0 0 22px rgba(255,255,255,.025);
	font-family:Georgia,"Times New Roman",serif;
	font-size:clamp(52px,6vw,92px);
	font-weight:500;
	line-height:.9;
	letter-spacing:-.05em;
	pointer-events:none;
	user-select:none;
}

.gtf-model-landing__intro {
	padding-left:24px;
	border-left:1px solid rgba(215,180,106,.28);
}

.gtf-model-landing__intro small {
	display:block;
	margin-bottom:10px;
	color:#7e868e;
	font-size:9px;
	letter-spacing:.20em;
}

.gtf-model-landing__intro p {
	margin:0;
	color:#a5abb1;
	font-size:12px;
	line-height:1.9;
}

/* 3 + 2 manufacturer grid */
.gtf-model-landing__collection {
	padding:0 0 30px;
}

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

.gtf-model-compact-card {
	position:relative;
	min-height:210px;
	overflow:hidden;
	border:1px solid var(--gtf-model-gold-line);
	border-radius:24px;
	color:var(--gtf-model-text);
	background:var(--gtf-model-panel);
	box-shadow:0 12px 32px rgba(0,0,0,.24);
	isolation:isolate;
	transition:transform .25s ease,border-color .25s ease,box-shadow .25s ease;
}

.gtf-model-compact-card:nth-child(1),
.gtf-model-compact-card:nth-child(2),
.gtf-model-compact-card:nth-child(3) {
	grid-column:span 2;
}

.gtf-model-compact-card:nth-child(4) {
	grid-column:2 / span 2;
}

.gtf-model-compact-card:nth-child(5) {
	grid-column:4 / span 2;
}

.gtf-model-compact-card[href]:hover,
.gtf-model-compact-card[href]:focus-visible {
	color:var(--gtf-model-text);
	border-color:rgba(215,180,106,.52);
	box-shadow:0 18px 42px rgba(0,0,0,.38);
	transform:translateY(-2px);
}

.gtf-model-compact-card__image {
	position:absolute;
	z-index:0;
	inset:0;
	background-color:#11161c;
	background-position:center;
	background-size:cover;
	transform:scale(1.01);
	transition:transform .35s ease,filter .35s ease;
}

.gtf-model-compact-card[href]:hover .gtf-model-compact-card__image,
.gtf-model-compact-card[href]:focus-visible .gtf-model-compact-card__image {
	transform:scale(1.045);
	filter:brightness(1.04);
}

.gtf-model-compact-card:after {
	content:"";
	position:absolute;
	z-index:1;
	inset:0;
	background:
		linear-gradient(180deg,rgba(5,7,9,.08) 0%,rgba(5,7,9,.28) 42%,rgba(5,7,9,.95) 100%),
		linear-gradient(90deg,rgba(5,7,9,.72) 0%,rgba(5,7,9,.08) 68%);
	pointer-events:none;
}

.gtf-model-compact-card__inner {
	position:relative;
	z-index:2;
	min-height:210px;
	padding:18px 20px;
	display:flex;
	flex-direction:column;
	justify-content:space-between;
}

.gtf-model-compact-card__top {
	display:flex;
	align-items:center;
	justify-content:space-between;
	gap:12px;
}

.gtf-model-compact-card__index {
	color:#e7decf;
	font-size:9px;
	font-weight:800;
	letter-spacing:.16em;
}

.gtf-model-compact-card__status {
	padding:7px 10px;
	border:1px solid rgba(215,180,106,.28);
	border-radius:999px;
	color:var(--gtf-model-gold);
	background:rgba(8,10,12,.54);
	font-size:9px;
	font-weight:800;
	letter-spacing:.08em;
}

.gtf-model-compact-card__bottom {
	display:grid;
	grid-template-columns:minmax(0,1fr) auto;
	gap:14px;
	align-items:end;
}

.gtf-model-compact-card__meta {
	color:var(--gtf-model-gold);
	font-size:9px;
	font-weight:800;
	letter-spacing:.18em;
}

.gtf-model-compact-card h2 {
	margin:6px 0 3px;
	color:#f4efe6;
	font-family:Georgia,"Times New Roman",serif;
	font-size:clamp(28px,3vw,44px);
	font-weight:500;
	line-height:.95;
	letter-spacing:-.025em;
}

.gtf-model-compact-card__jp {
	color:#d6d9dc;
	font-size:11px;
}

.gtf-model-compact-card__action {
	display:grid;
	place-items:center;
	width:42px;
	height:42px;
	border:1px solid rgba(255,255,255,.16);
	border-radius:50%;
	color:var(--gtf-model-gold);
	font-size:18px;
	transition:transform .22s ease,border-color .22s ease;
}

.gtf-model-compact-card[href]:hover .gtf-model-compact-card__action,
.gtf-model-compact-card[href]:focus-visible .gtf-model-compact-card__action {
	border-color:rgba(215,180,106,.44);
	transform:translateX(3px);
}

.gtf-model-compact-card__linkline {
	margin-top:12px;
	padding-top:11px;
	border-top:1px solid rgba(255,255,255,.10);
	color:#ece6da;
	font-size:9px;
	font-weight:800;
	letter-spacing:.18em;
}

/* No stock / missing image state */
.gtf-model-compact-card.is-no-stock,
.gtf-model-compact-card.is-image-missing {
	background:
		radial-gradient(circle at 20% 15%,rgba(215,180,106,.05),transparent 35%),
		linear-gradient(135deg,#10151a,#090c0f);
}

.gtf-model-compact-card.is-no-stock {
	cursor:default;
	border-color:rgba(255,255,255,.08);
	box-shadow:none;
}

.gtf-model-compact-card.is-no-stock:after,
.gtf-model-compact-card.is-image-missing:after {
	background:linear-gradient(180deg,rgba(4,6,8,.12),rgba(4,6,8,.50));
}

.gtf-model-compact-card__ghost {
	position:absolute;
	z-index:0;
	inset:auto 0 23px;
	color:transparent;
	-webkit-text-stroke:1px rgba(255,255,255,.14);
	text-shadow:0 0 18px rgba(255,255,255,.025);
	font-family:Georgia,"Times New Roman",serif;
	font-size:clamp(50px,6vw,84px);
	font-weight:500;
	line-height:1;
	letter-spacing:-.05em;
	text-align:center;
	transform:rotate(-3deg);
	pointer-events:none;
	user-select:none;
}

.gtf-model-compact-card.is-no-stock .gtf-model-compact-card__status,
.gtf-model-compact-card.is-no-stock .gtf-model-compact-card__meta,
.gtf-model-compact-card.is-no-stock .gtf-model-compact-card__jp,
.gtf-model-compact-card.is-no-stock .gtf-model-compact-card__linkline {
	color:#6f767d;
	border-color:rgba(255,255,255,.08);
}

.gtf-model-compact-card.is-no-stock h2 {
	color:#8c9298;
}

.gtf-model-compact-card.is-no-stock .gtf-model-compact-card__action {
	color:#5e656c;
	border-color:rgba(255,255,255,.08);
}

@media(max-width:980px) {
	.gtf-model-landing__hero-grid {
		grid-template-columns:1fr;
		gap:18px;
	}

	.gtf-model-landing__intro {
		padding-left:18px;
	}

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

	.gtf-model-compact-card:nth-child(n) {
		grid-column:auto;
	}
}

@media(max-width:620px) {
	.gtf-model-landing__container {
		width:min(100% - 28px,1360px);
	}

	.gtf-model-landing__hero {
		padding:28px 0 20px;
	}

	.gtf-model-landing__title-stack > div {
		display:none;
	}

	.gtf-model-landing__title-stack h1 {
		font-size:36px;
	}

	.gtf-model-landing__title-stack > span {
		font-size:11px;
		letter-spacing:.21em;
	}

	.gtf-model-landing__intro p {
		font-size:12px;
	}

	.gtf-model-grid {
		grid-template-columns:1fr;
	}

	.gtf-model-compact-card,
	.gtf-model-compact-card__inner {
		min-height:190px;
	}

	.gtf-model-compact-card h2 {
		font-size:32px;
	}

	.gtf-model-compact-card__ghost {
		font-size:58px;
	}
}

/* v1.24.12: remove image-overlay availability pill while preserving approved v1.24.9 layout */
.gtf-model-compact-card__status{display:none!important}.gtf-model-compact-card__top{justify-content:flex-start}
