/* =========================================================
   NRT PARKING — base.css
   デザイン方針: 空港の発着案内板（フリップボード）+ 航空券。
   AI生成デザインがクラスタする「クリーム×セリフ×テラコッタ」を回避し、
   ネイビー(空港の夜) × シグナルアンバー(案内板の文字) × 等幅数字 で構成。
   ========================================================= */

:root {
	/* Color */
	--nrt-navy:    #0B1F3A; /* 主役・信頼・空港の夜 */
	--nrt-navy-2:  #12305A; /* ネイビーの明 */
	--nrt-amber:   #F5A623; /* 発着案内板の文字＝最重要CTA */
	--nrt-amber-d: #D98A0E;
	--nrt-mist:    #EAF1F8; /* 背景の淡色 */
	--nrt-paper:   #FFFFFF;
	--nrt-ink:     #1A1A1A;
	--nrt-gray:    #5B6B7C;
	--nrt-line:    #D7E0EA;
	--nrt-green:   #1E8E5A; /* お得・最安 */

	/* Type */
	--nrt-sans: "Noto Sans JP", -apple-system, "Hiragino Kaku Gothic ProN", "Yu Gothic", sans-serif;
	--nrt-mono: "Roboto Mono", ui-monospace, "SFMono-Regular", Menlo, monospace;

	/* Scale */
	--nrt-maxw: 1080px;
	--nrt-gap:  clamp(1rem, 2.5vw, 1.75rem);
	--nrt-radius: 14px;
	--nrt-radius-sm: 8px;
	--nrt-shadow: 0 10px 30px rgba(11, 31, 58, .10);
	--nrt-shadow-sm: 0 3px 12px rgba(11, 31, 58, .08);
}

/* --- reset 最小限（親テーマと衝突しない範囲） --- */
.nrt-body {
	font-family: var(--nrt-sans);
	color: var(--nrt-ink);
	background: var(--nrt-paper);
	line-height: 1.8;
	-webkit-font-smoothing: antialiased;
}
.nrt-body img { max-width: 100%; height: auto; }
.nrt-body a { color: inherit; }

.nrt-skip {
	position: absolute; left: -9999px; top: 0;
	background: var(--nrt-amber); color: var(--nrt-navy);
	padding: .6rem 1rem; font-weight: 700; z-index: 9999;
}
.nrt-skip:focus { left: 0; }

/* --- section ラッパ --- */
.nrt-section {
	max-width: var(--nrt-maxw);
	margin-inline: auto;
	padding: clamp(2.5rem, 6vw, 4.5rem) clamp(1rem, 4vw, 2rem);
}
.nrt-section--tint {
	max-width: none;
	background: var(--nrt-mist);
}
.nrt-section--tint > * {
	max-width: var(--nrt-maxw);
	margin-inline: auto;
}

/* --- 共通ボタン --- */
.nrt-btn {
	display: inline-flex; align-items: center; justify-content: center;
	gap: .4em;
	padding: .85em 1.6em;
	border-radius: 999px;
	font-weight: 700;
	font-size: .98rem;
	text-decoration: none;
	transition: transform .15s ease, box-shadow .15s ease, background .15s ease;
	border: 2px solid transparent;
	cursor: pointer;
	line-height: 1.2;
}
.nrt-btn--amber { background: var(--nrt-amber); color: var(--nrt-navy); box-shadow: var(--nrt-shadow-sm); }
.nrt-btn--amber:hover { background: var(--nrt-amber-d); transform: translateY(-2px); }
.nrt-btn--ghost { background: transparent; color: var(--nrt-navy); border-color: var(--nrt-line); }
.nrt-btn--ghost:hover { border-color: var(--nrt-navy); transform: translateY(-2px); }
.nrt-btn--lg { padding: 1.05em 2em; font-size: 1.05rem; }
.nrt-btn--block { width: 100%; }

/* --- PR バッジ --- */
.nrt-badge {
	display: inline-block;
	font-size: .68rem;
	font-weight: 700;
	letter-spacing: .04em;
	padding: .15em .55em;
	border-radius: 4px;
	vertical-align: middle;
	margin-left: .4em;
	line-height: 1.4;
}
.nrt-badge--pr {
	background: rgba(245, 166, 35, .16);
	color: var(--nrt-amber-d);
	border: 1px solid rgba(245, 166, 35, .4);
}

/* --- 開示ブロック --- */
.nrt-disclosure {
	max-width: var(--nrt-maxw);
	margin: 1.5rem auto 0;
	padding: 1rem 1.2rem;
	background: #FBFCFE;
	border: 1px solid var(--nrt-line);
	border-left: 4px solid var(--nrt-amber);
	border-radius: var(--nrt-radius-sm);
	font-size: .86rem;
	color: var(--nrt-gray);
	line-height: 1.75;
}
.nrt-disclosure a { color: var(--nrt-navy); text-decoration: underline; }

/* --- アクセシビリティ：reduced motion --- */
@media (prefers-reduced-motion: reduce) {
	* { animation-duration: .001ms !important; transition-duration: .001ms !important; }
}

/* --- focus --- */
.nrt-body a:focus-visible,
.nrt-body button:focus-visible,
.nrt-body select:focus-visible {
	outline: 3px solid var(--nrt-amber);
	outline-offset: 2px;
}

.sp-br { display: none; }
@media (max-width: 600px) { .sp-br { display: inline; } }
