/* =========================================================
   NRT PARKING — components.css
   ヘッダー / ナビ / フッター / カード など横断部品
   ========================================================= */

/* ---------- HEADER ---------- */
.nrt-header {
	position: sticky; top: 0; z-index: 100;
	background: var(--nrt-navy);
	color: #fff;
	box-shadow: var(--nrt-shadow-sm);
}
.nrt-header__inner {
	max-width: var(--nrt-maxw);
	margin-inline: auto;
	display: flex; align-items: center; gap: 1rem;
	padding: .6rem clamp(1rem, 4vw, 1.5rem);
}
.nrt-header__brand {
	display: flex; align-items: center; gap: .6rem;
	text-decoration: none; color: #fff;
	margin-right: auto;
}
.nrt-header__mark {
	font-family: var(--nrt-mono);
	font-weight: 700;
	letter-spacing: .12em;
	background: var(--nrt-amber);
	color: var(--nrt-navy);
	padding: .25em .5em;
	border-radius: 6px;
	font-size: 1rem;
}
.nrt-header__name { display: flex; flex-direction: column; line-height: 1.25; }
.nrt-header__name-main { font-weight: 700; font-size: .98rem; }
.nrt-header__name-sub { font-size: .72rem; color: #AFC2DA; letter-spacing: .04em; }

.nrt-nav { display: flex; gap: 1.3rem; }
.nrt-nav a {
	color: #DCE6F2; text-decoration: none; font-size: .92rem; font-weight: 500;
	padding: .3rem 0; position: relative;
}
.nrt-nav a:hover { color: #fff; }
.nrt-nav a::after {
	content: ""; position: absolute; left: 0; bottom: -2px; width: 0; height: 2px;
	background: var(--nrt-amber); transition: width .2s ease;
}
.nrt-nav a:hover::after { width: 100%; }

.nrt-header__cta { padding: .5em 1.1em; font-size: .88rem; }

.nrt-nav-toggle { display: none; background: none; border: 0; cursor: pointer; padding: .4rem; }
.nrt-nav-toggle span { display: block; width: 24px; height: 2px; background: #fff; margin: 5px 0; transition: .2s; }

.nrt-drawer { display: none; flex-direction: column; background: var(--nrt-navy-2); }
.nrt-drawer a { color: #fff; text-decoration: none; padding: .9rem 1.5rem; border-top: 1px solid rgba(255,255,255,.08); }

@media (max-width: 860px) {
	.nrt-nav, .nrt-header__cta { display: none; }
	.nrt-nav-toggle { display: block; }
	.nrt-drawer[data-nrt-drawer]:not([hidden]) { display: flex; }
}

/* ---------- カード（駐車場） ---------- */
.nrt-hub__grid {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(240px, 1fr));
	gap: var(--nrt-gap);
}
.nrt-card {
	display: flex; flex-direction: column; gap: .5rem;
	background: var(--nrt-paper);
	border: 1px solid var(--nrt-line);
	border-radius: var(--nrt-radius);
	padding: 1.25rem 1.3rem;
	text-decoration: none; color: var(--nrt-ink);
	transition: transform .15s ease, box-shadow .15s ease, border-color .15s ease;
}
.nrt-card:hover { transform: translateY(-3px); box-shadow: var(--nrt-shadow); border-color: var(--nrt-amber); }
.nrt-card__top { display: flex; align-items: center; flex-wrap: wrap; }
.nrt-card__name { font-weight: 700; font-size: 1.02rem; }
.nrt-card__fare { display: flex; align-items: baseline; gap: .4rem; }
.nrt-card__fare-cap { font-size: .76rem; color: var(--nrt-gray); }
.nrt-card__fare-num { font-family: var(--nrt-mono); font-weight: 700; font-size: 1.5rem; color: var(--nrt-navy); }
.nrt-card__tag { font-size: .84rem; color: var(--nrt-gray); }
.nrt-card__more { margin-top: auto; font-size: .82rem; font-weight: 700; color: var(--nrt-amber-d); }

/* ---------- セクション見出し共通 ---------- */
.nrt-hub__head, .nrt-steps__head, .nrt-sim__head { text-align: center; margin-bottom: 2rem; }
.nrt-hub__eyebrow, .nrt-steps__eyebrow, .nrt-sim__eyebrow, .nrt-about__eyebrow {
	font-family: var(--nrt-mono);
	font-size: .76rem; letter-spacing: .22em; color: var(--nrt-amber-d); font-weight: 700;
	display: inline-block; margin-bottom: .6rem;
}
.nrt-hub__title, .nrt-steps__title, .nrt-sim__title, .nrt-diff__title, .nrt-faq__title {
	font-size: clamp(1.4rem, 3.5vw, 2rem);
	font-weight: 900; color: var(--nrt-navy); line-height: 1.35;
}
.nrt-hub__lead { color: var(--nrt-gray); margin-top: .6rem; }

/* ---------- FOOTER ---------- */
.nrt-footer { background: var(--nrt-navy); color: #C7D5E6; margin-top: 2rem; }
.nrt-footer__inner { max-width: var(--nrt-maxw); margin-inline: auto; padding: 3rem clamp(1rem, 4vw, 2rem) 2rem; }
.nrt-footer__cols { display: grid; grid-template-columns: 1.5fr 1fr 1fr; gap: 2rem; margin-bottom: 2rem; }
.nrt-footer__brand { font-weight: 700; color: #fff; font-size: 1.05rem; display: block; margin-bottom: .5rem; }
.nrt-footer__tag { font-size: .88rem; }
.nrt-footer__col { display: flex; flex-direction: column; gap: .5rem; }
.nrt-footer__h { font-weight: 700; color: #fff; font-size: .86rem; letter-spacing: .06em; margin-bottom: .3rem; }
.nrt-footer__col a { color: #C7D5E6; text-decoration: none; font-size: .88rem; }
.nrt-footer__col a:hover { color: var(--nrt-amber); }
.nrt-footer__disclosure {
	background: rgba(255,255,255,.04);
	border: 1px solid rgba(255,255,255,.1);
	border-radius: var(--nrt-radius-sm);
	padding: 1.1rem 1.3rem; font-size: .82rem; line-height: 1.75;
}
.nrt-footer__disclosure strong { color: var(--nrt-amber); }
.nrt-footer__note { margin-top: .6rem; color: #9FB3C9; }
.nrt-footer__copy { margin-top: 1.5rem; color: #7E93AB; font-size: .76rem; }

@media (max-width: 700px) {
	.nrt-footer__cols { grid-template-columns: 1fr; gap: 1.5rem; }
}

/* ---------- パンくず ---------- */
.nrt-breadcrumb {
	max-width: var(--nrt-maxw); margin: 1.2rem auto 0;
	padding-inline: clamp(1rem, 4vw, 2rem);
	font-size: .82rem; color: var(--nrt-gray);
}
.nrt-breadcrumb a { color: var(--nrt-navy); text-decoration: none; }
.nrt-breadcrumb a:hover { text-decoration: underline; }

/* ---------- ガイドカード ---------- */
.nrt-guidehub__grid {
	display: grid; grid-template-columns: repeat(auto-fill, minmax(260px, 1fr)); gap: var(--nrt-gap);
}
.nrt-gcard {
	display: flex; flex-direction: column; background: var(--nrt-paper);
	border: 1px solid var(--nrt-line); border-radius: var(--nrt-radius); overflow: hidden;
	text-decoration: none; color: var(--nrt-ink); transition: transform .15s, box-shadow .15s;
}
.nrt-gcard:hover { transform: translateY(-3px); box-shadow: var(--nrt-shadow); }
.nrt-gcard__thumb img { width: 100%; aspect-ratio: 16/9; object-fit: cover; display: block; }
.nrt-gcard__title { padding: 1rem 1.2rem; font-weight: 700; font-size: .98rem; line-height: 1.5; }

/* ---------- v2追加: キャンペーンバッジ（カード） ---------- */
.nrt-card { position: relative; }
.nrt-card__campaign {
	display: inline-block; align-self: flex-start;
	background: var(--nrt-green); color: #fff;
	font-size: .74rem; font-weight: 700; line-height: 1.4;
	padding: .25em .7em; border-radius: 999px; margin-bottom: .3rem;
}
