/* ============================================================
 * Sound Collective — NYC Space & Studio ページ 専用CSS (issue #13)
 * Figma "/nyc-spaces" (一覧) / "/nyc-space/id" (詳細)  file: fPjY95UhP1I9BIfLJQkB3s
 * デザイントークンは sc-design-tokens.css の :root を利用。
 * クラスは sc-space-* で衝突回避。PC/SP 両対応(SP ブレークは 1024px)。
 * ============================================================ */

.sc-space,
.sc-space-single {
	--sc-space-margin: 80px;          /* PC ページ左右マージン */
	--sc-space-max: 1440px;
	--sc-space-narrow: 880px;         /* タブ/プランカード列の幅(Figma px-296 相当) */
	--sc-space-card-bg: var(--sc-bg-bright);
	--sc-space-card-border: var(--sc-border-dim);
	--sc-space-card-radius: 16px;     /* プランカードの角丸(Figma rounded-16) */
	--sc-space-check: var(--sc-white); /* fa-circle-check は白塗り+抜き文字でチェックを表現 */
	background: var(--sc-bg);
	color: var(--sc-fg);
	font-family: var(--sc-font);
	font-weight: var(--sc-fw-medium);
	line-height: var(--sc-lh);
}
.sc-space *, .sc-space *::before, .sc-space *::after,
.sc-space-single *, .sc-space-single *::before, .sc-space-single *::after { box-sizing: border-box; }
.sc-space h1, .sc-space h2, .sc-space h3, .sc-space p, .sc-space ul, .sc-space li,
.sc-space-single h1, .sc-space-single h2, .sc-space-single h3, .sc-space-single p, .sc-space-single ul, .sc-space-single li { margin: 0; }
.sc-space ul, .sc-space-single ul { list-style: none; padding: 0; }
.sc-space img, .sc-space-single img { max-width: 100%; display: block; }

/* ============================================================
 * 一覧: Title Area
 * ============================================================ */
.sc-space-hero {
	position: relative; overflow: hidden;
	display: flex; align-items: center; justify-content: center;
	min-height: 320px; padding: 40px 16px; /* Figma Title Section PC=320(guardrails §5) */
}
.sc-space-hero__bg {
	position: absolute; inset: -40px 0; z-index: 0;
	background: center/cover no-repeat;
	filter: blur(4px); mix-blend-mode: lighten; opacity: .3; pointer-events: none;
}
.sc-space-hero__title {
	position: relative; z-index: 1; text-align: center;
	font-size: 40px; font-weight: var(--sc-fw-bold); line-height: 1.2; color: var(--sc-white);
}

/* 汎用ピルボタン(NYC Space Intro の Book a Tour CTA。Figma Button_rounded: primary塗り/radius32/min-h44) */
.sc-space-btn {
	display: inline-flex; align-items: center; justify-content: center; gap: 8px;
	min-height: 44px; padding: 9px 28px; border-radius: var(--sc-radius-pill);
	text-decoration: none; font-size: 16px; font-weight: var(--sc-fw-bold); line-height: 1.2;
}
.sc-space-btn--primary { background: var(--sc-primary); color: var(--sc-white); border: 1px solid var(--sc-primary); }
.sc-space-btn--primary:hover { background-image: linear-gradient(rgba(255,255,255,.10), rgba(255,255,255,.10)); color: var(--sc-white); }

/* ============================================================
 * NYC Space Intro (Figma 2704:62462): 中央寄せ 見出し + 説明 + Book a Tour CTA
 *   #139追い修正で旧2カラム(テキスト+動画)を廃止。SP も同一レイアウト。
 * ============================================================ */
.sc-space-intro {
	max-width: var(--sc-space-max); margin-inline: auto;
	display: flex; flex-direction: column; align-items: center; gap: 24px;
	padding: 48px var(--sc-space-margin); text-align: center;
}
.sc-space-intro__title { font-size: 40px; font-weight: var(--sc-fw-bold); line-height: 1.2; color: var(--sc-fg); }
.sc-space-intro__body { max-width: 1040px; font-size: 14px; font-weight: var(--sc-fw-medium); line-height: 1.4; color: var(--sc-fg); }
.sc-space-intro__cta { font-size: 18px; }        /* Figma Button_rounded label 18/Bold */
.sc-space-intro__cta i { font-size: 16px; }

/* ============================================================
 * 一覧: Room grid(Figma「Facility Card」= 写真フルブリード+暗幕、隙間ゼロで敷き詰め)
 * ============================================================ */
.sc-space-rooms { max-width: none; padding: 0; }
.sc-space-rooms__grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 0; }
/* #225: 一覧が 8 ルーム(うち Recording Studio は独立セクション)= グリッドは 7 枚になり
   最終行に 1 枚だけ残る。左寄せだと右 2/3 が空いて欠落に見えるので中央列へ寄せる。
   `:last-child:nth-child(3n+1)` = 「1列目に居て、かつ最後」= その行に 1 枚だけのときだけ発火。 */
.sc-space-rooms__grid > .sc-space-room:last-child:nth-child(3n + 1) { grid-column: 2; }

.sc-space-room {
	position: relative; display: flex; align-items: flex-end; overflow: hidden;
	aspect-ratio: 16 / 9; background: #4d4d4d center/cover no-repeat;
	text-decoration: none; color: inherit;
}
.sc-space-room__overlay {
	position: absolute; inset: 0; z-index: 0;
	background: #03000c; mix-blend-mode: multiply; opacity: .65; /* #231: 写真が暗すぎるため .8 → .7 → .65 */
}
.sc-space-room__body { position: relative; z-index: 1; display: flex; flex-direction: column; gap: 16px; width: 100%; padding: 28px 16px; }
.sc-space-room__title { display: block; font-size: 20px; font-weight: var(--sc-fw-bold); line-height: 1.2; color: var(--sc-fg); }
.sc-space-room__desc {
	display: -webkit-box; -webkit-line-clamp: 2; line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden;
	font-size: 14px; font-weight: var(--sc-fw-medium); line-height: 1.4; color: var(--sc-fg);
}
.sc-space-room__cta {
	align-self: flex-start;
	display: inline-flex; align-items: center; gap: 6px; min-height: 36px; padding: 7px 12px;
	border: 1px solid var(--sc-border-invert); border-radius: var(--sc-radius-pill);
	color: var(--sc-fg); background: transparent;
	font-size: 14px; font-weight: var(--sc-fw-bold); line-height: 1.2;
}
.sc-space-room:hover .sc-space-room__cta { background: rgba(255,255,255,.10); }
.sc-space-room__cta i { font-size: 12px; }

/* #161-2 Recording Studio: 主グリッドから分離した独立セクション。
   中央寄せ見出し + 一回り大きい単一カード(Figma 2704:62476: card 622x350 中央 / padding 48 / gap 32)。 */
.sc-space-rooms--recording {
	display: flex; flex-direction: column; align-items: center; gap: 32px;
	padding: 48px var(--sc-space-margin);
}
.sc-space-rooms__grid--recording {
	display: block; width: 100%; max-width: 622px; margin-inline: auto;
}

/* ============================================================
 * 一覧/詳細共通: Book a Tour 帯(bg-bright を全幅に敷く)
 *   #139(一覧)/#162(詳細)でタブ切替は廃止。タブ/パネル用 CSS は削除済み。
 * ============================================================ */
.sc-space-tour-band { background: var(--sc-bg-bright); padding: 80px var(--sc-space-margin); }

/* ============================================================
 * #139 一覧: 常設の購入セクション(Passes / Membership)+ Book a Tour セクション
 *   旧タブ(Book a Tour/Passes/Membership)を廃止し、Passes・Membership を前面の
 *   常設セクションに、Book a Tour をページ下部の独立セクションに再配置。
 * ============================================================ */
.sc-space-buy { display: flex; flex-direction: column; gap: 32px; padding: 56px var(--sc-space-margin); }
.sc-space-buy--alt { background: var(--sc-bg-bright); }  /* Membership は帯で視覚分離(tour-band と同トーン) */

.sc-space-section__head {
	max-width: var(--sc-space-narrow); width: 100%; margin-inline: auto;
	display: flex; flex-direction: column; align-items: center; gap: 8px; text-align: center;
}
.sc-space-section__title { font-size: 40px; font-weight: var(--sc-fw-bold); line-height: 1.2; color: var(--sc-fg); } /* Figma Heading/H1-PC 40 */
.sc-space-section__sub { font-size: 16px; font-weight: var(--sc-fw-medium); color: var(--sc-fg-secondary); max-width: 560px; }

/* Book a Tour(下部セクション)。中身の帯は既存 .sc-space-tour-band を再利用。 */
.sc-space-tour-section { display: flex; flex-direction: column; }

/* ============================================================
 * Plan cards (Pass / Membership / Rental 共通。Figma CardMembership/CardStudio)
 * ============================================================ */
/* カード列: Figma は content 幅 848px / カード間 16px(1723:18431・2260:31223)。 */
.sc-space-plans { display: grid; grid-template-columns: repeat(2, 1fr); gap: 16px; max-width: 848px; margin-inline: auto; }

.sc-space-plan {
	position: relative; overflow: hidden;
	background: var(--sc-space-card-bg); border: 1px solid var(--sc-space-card-border); border-radius: var(--sc-space-card-radius);
}
/* Pass / Rental は写真ヘッダーが無い1段カード。
   #161/#162 再修正: Figma(一覧 2260:31088 / 詳細 1723:18431)のカード塗りは
   background-bright(#272727)。以前の「背景なし(枠線のみ)」は誤読で、透過カード＋
   __body の近黒(#020202=Membership 専用)が枠線付き透過＋黒箱の二重に見えていた
   (yuria-saito 指摘の現状)。→ 塗りは base の bg-bright(枠線=border-dim/radius16)を
   使い、__body は透過にして本文パディング(20px)だけ __body 側が担う単一カードに戻す。 */
.sc-space-plan--pass, .sc-space-plan--rental {
	display: flex; flex-direction: column;
}
.sc-space-plan--pass .sc-space-plan__body,
.sc-space-plan--rental .sc-space-plan__body {
	background: none;
}
.sc-space-plan--rental { min-height: 280px; }
/* Membership は 120px の写真ヘッダー + 本文(近黒背景)の2段構成 */
.sc-space-plan--membership { display: flex; flex-direction: column; }
.sc-space-plan__photo { display: block; height: 120px; background: #4d4d4d center/cover no-repeat; position: relative; flex: 0 0 auto; }
.sc-space-plan__photo::after {
	content: ""; position: absolute; inset: 0;
	background: linear-gradient(to bottom, rgba(28,27,28,.41), #000 89%);
}
.sc-space-plan__body { display: flex; flex-direction: column; gap: 16px; flex: 1 1 auto; padding: 20px; background: #020202; }

/* Annual: 写真オーバーレイ+本文が暖色グラデーション(Figma 2260:31743)。
   本文は暗いマルーンを基調に、右下コーナーだけオレンジが滲む(全面を明るくしない)。 */
.sc-space-plan--accent { border-color: transparent; }
.sc-space-plan--accent .sc-space-plan__photo::after { background: linear-gradient(to bottom, rgba(24,10,13,.35), #180a0d 92%); }
.sc-space-plan--accent .sc-space-plan__body {
	background:
		radial-gradient(130% 120% at 118% 122%, rgba(217,144,47,.75) 0%, rgba(217,144,47,0) 50%),
		linear-gradient(180deg, #180a0d 0%, #3e141b 32%, #6a1f2d 64%, #93263d 100%);
}

.sc-space-plan__badge {
	align-self: flex-start;
	background: rgba(255,255,255,.10); border-radius: 54px; padding: 2px 10px;
	font-size: 12px; font-weight: var(--sc-fw-bold); color: var(--sc-fg);
}
.sc-space-plan__head { display: flex; flex-direction: column; gap: 4px; }
.sc-space-plan__title { font-size: 24px; font-weight: var(--sc-fw-bold); line-height: 1.2; color: var(--sc-fg); }
.sc-space-plan__sub { font-size: 16px; font-weight: var(--sc-fw-medium); color: var(--sc-fg); }
.sc-space-plan__sub b { font-weight: var(--sc-fw-bold); }

.sc-space-plan__features { display: flex; flex-direction: column; gap: 12px; flex: 1 1 auto; }
.sc-space-plan__features li { display: flex; align-items: flex-start; gap: 8px; font-size: 16px; font-weight: var(--sc-fw-medium); line-height: 1.4; color: var(--sc-fg); }
.sc-space-plan__features li b { font-weight: var(--sc-fw-bold); }
.sc-space-plan__features i { flex: 0 0 auto; margin-top: 2px; font-size: 22px; color: var(--sc-space-check); }

.sc-space-plan__foot { display: flex; flex-direction: column; gap: 8px; margin-top: auto; }
.sc-space-plan__price { display: flex; align-items: baseline; gap: 2px; }
.sc-space-plan__price b { font-size: 24px; font-weight: var(--sc-fw-bold); line-height: 1.2; color: var(--sc-primary); }
.sc-space-plan__price span { font-size: 14px; font-weight: var(--sc-fw-bold); color: var(--sc-primary); }
/* Pass / Rental の価格は白 */
.sc-space-plan--pass .sc-space-plan__price b,
.sc-space-plan--pass .sc-space-plan__price span,
.sc-space-plan--rental .sc-space-plan__price b,
.sc-space-plan--rental .sc-space-plan__price span { color: var(--sc-fg); }
/* Rental の価格だけ一回り小さい(Figma text-20) */
.sc-space-plan--rental .sc-space-plan__price b { font-size: 20px; }
.sc-space-plan__note { font-size: 12px; font-weight: var(--sc-fw-medium); color: var(--sc-fg-secondary); }
/* #231: 「Contact for group passes」はアンダーライン付きリンク */
.sc-space-plan__notelink { color: inherit; text-decoration: underline; }
.sc-space-plan__notelink:hover { color: var(--sc-fg); }

.sc-space-plan__cta {
	/* #231: カードの左右中央に配置(Figma 一覧 2260:30476 / 詳細 1723:18431)。
	 * 以前は flex-start(左寄せ)だった。Figma ではピル形状で中央に置かれている。 */
	align-self: center;
	display: inline-flex; align-items: center; justify-content: center; min-height: 36px; padding: 7px 24px;
	background: var(--sc-primary); color: var(--sc-white); border-radius: var(--sc-radius-pill);
	text-decoration: none; font-size: 14px; font-weight: var(--sc-fw-bold); line-height: 1.2;
}
.sc-space-plan__cta:hover { background-image: linear-gradient(rgba(255,255,255,.10), rgba(255,255,255,.10)); color: var(--sc-white); }
/* Rental の CTA は一回り大きい(Figma h-48/text-18)。
 * #231: 以前は align-self:stretch(全幅)にしていたが、Figma(2260:30476)を再確認すると
 * Buy a Session も **ピル形状で中央** だった。全幅指定を外して中央寄せに揃える。 */
.sc-space-plan--rental .sc-space-plan__cta { align-self: center; min-height: 48px; font-size: 18px; }

/* ============================================================
 * Book a Tour フォーム(トークン準拠)
 * ============================================================ */
.sc-space-tour { max-width: 846px; margin-inline: auto; display: flex; flex-direction: column; gap: 24px; padding: 8px 0; }
.sc-space-tour__title { text-align: center; font-size: 32px; font-weight: var(--sc-fw-bold); line-height: 1.2; color: var(--sc-fg); }
/* #177: フォームは実 CF7「Book a Tour Landing Page」を sc_home_contact_form_html と同じ
 * .sc-contact--cf7 で描画(単一ソース=assets/css/sc-home.css)。ここでは、home の CF7 が持つ
 * 全幅ブリード(box-shadow 100vw + clip-path)を無効化するだけ。周囲の .sc-space-tour-band が
 * 既にグレー帯(--sc-bg-bright)と余白を持つため、二重の帯/上下セクションへのはみ出しを防ぐ。
 * フィールド/送信ボタン/reCAPTCHA の見た目は .sc-contact--cf7 側のトークンが担う。 */
.sc-space-form-cf7 { background: none; box-shadow: none; clip-path: none; width: 100%; }
.sc-space-form-cf7 .wpcf7-form { align-items: stretch; }
.sc-space-form-cf7 .wpcf7-form input.wpcf7-submit { align-self: center; }
/* #236: ラベルと入力欄の余白が広すぎる問題。
 * 原因は **CF7 のフォーム定義内の改行が `<br>` になり、それが flex アイテムとして
 * 1行分(実測 19px)を占めていた**こと(label は `.sc-contact--cf7` 側の指定で
 * display:flex / gap:4px になっている)。実測: <b> 下端 → input 上端が **31px**。
 * `<br>` を消すと gap:4px だけが残り、Speak to our Team と同程度になる。
 * ⚠️ フォーム定義の改行を消す方法は採らない(CF7 の編集画面で戻されやすい)。 */
.sc-space-form-cf7 .wpcf7-form label > br { display: none; }
/* #236: 「Mobile Phone (Optional)」を1行にまとめる。
 * label は `.sc-contact--cf7` 側の指定で flex column になっており、`<b>` と
 * 直後のテキスト「(Optional)」が **別々の flex アイテム**になるため縦に割れていた
 * (flex アイテムは display:inline を指定しても block 化されるので `<b>` 側では直せない)。
 * → この1フォームだけ label を **block フロー**に戻し、`<b>` と地の文を同じ行に流す。
 *   入力欄は wrap が block なので改行され、余白は gap ではなく margin-top で 4px を再現する。 */
/* ⚠️ 詳細度と DOM 構造の2点に注意(2026-07-28 実測):
 *   1. 既存の `.sc-contact--cf7 .wpcf7-form > p > label`(0,2,2)が flex を当てているので
 *      `.sc-space-form-cf7 .wpcf7-form label`(0,2,1)では負ける。
 *   2. **`.sc-contact--cf7` と `.sc-space-form-cf7` は同一要素に付いている**
 *      (`<div class="sc-contact sc-contact--cf7 sc-space-form-cf7">`)。子孫セレクタで
 *      `.sc-contact--cf7 .sc-space-form-cf7` と書くと**一致しない**。複合(スペース無し)にする。
 *   → `.sc-contact--cf7.sc-space-form-cf7 .wpcf7-form > p > label` = (0,3,2) で勝つ。!important は使わない。 */
.sc-contact--cf7.sc-space-form-cf7 .wpcf7-form > p > label { display: block; }
.sc-contact--cf7.sc-space-form-cf7 .wpcf7-form > p > label > .wpcf7-form-control-wrap { display: block; margin-top: 4px; }

/* ============================================================
 * 一覧: Live Events
 * ============================================================ */
.sc-space-events {
	max-width: 900px; margin-inline: auto;
	display: flex; flex-direction: column; align-items: center; gap: 8px;
	padding: 40px var(--sc-space-margin); text-align: center;
}
.sc-space-events__title { font-size: 28px; font-weight: var(--sc-fw-bold); line-height: 1.2; color: var(--sc-fg); }
.sc-space-events__sub { font-size: 14px; font-weight: var(--sc-fw-medium); color: var(--sc-fg-secondary); max-width: 480px; }
.sc-space-video {
	width: 100%; max-width: 720px; aspect-ratio: 16 / 9; margin-top: 12px;
	border-radius: var(--sc-radius-card); overflow: hidden; background: #4d4d4d;
}
.sc-space-video iframe { width: 100%; height: 100%; border: 0; display: block; }

/* ============================================================
 * 一覧: Community CTA
 * ============================================================ */
.sc-space-community {
	background: #121212;
	display: flex; flex-direction: column; align-items: center; gap: 16px;
	padding: 48px var(--sc-space-margin); text-align: center;
}
.sc-space-community__title { font-size: 28px; font-weight: var(--sc-fw-bold); line-height: 1.2; color: var(--sc-fg); }
.sc-space-community__text { max-width: 720px; font-size: 14px; font-weight: var(--sc-fw-medium); line-height: 1.4; color: var(--sc-fg-secondary); }
.sc-space-community__cta {
	display: inline-flex; align-items: center; justify-content: center; min-height: 44px; padding: 7px 28px;
	background: var(--sc-primary); color: var(--sc-white); border-radius: var(--sc-radius-pill);
	text-decoration: none; font-size: 16px; font-weight: var(--sc-fw-bold); line-height: 1.2;
}
.sc-space-community__cta:hover { background-image: linear-gradient(rgba(255,255,255,.10), rgba(255,255,255,.10)); color: var(--sc-white); }

/* ============================================================
 * 詳細: Hero / head / assets
 * ============================================================ */
/* PC(Figma 1798:6063/1798:6060): ぼかして拡大したコピーを背景に敷き、中央に実寸フォトを重ねる */
.sc-space-single__hero {
	position: relative; overflow: hidden; display: flex; justify-content: center;
	background: #000; padding: 24px 0;
}
.sc-space-single__hero-bg {
	position: absolute; inset: -60px 0; z-index: 0;
	background: center/cover no-repeat;
	filter: blur(10px); opacity: .4; mix-blend-mode: difference; pointer-events: none;
}
.sc-space-single__hero-img {
	position: relative; z-index: 1; width: min(1065px, 92%); aspect-ratio: 1065 / 599;
	background: #4d4d4d center/cover no-repeat; border-radius: var(--sc-radius-card);
}
.sc-space-single__head {
	max-width: 846px; margin-inline: auto;
	display: flex; flex-direction: column; align-items: center; gap: 16px;
	padding: 48px var(--sc-space-margin) 24px; text-align: center;
}
.sc-space-single__title { font-size: 40px; font-weight: var(--sc-fw-bold); line-height: 1.2; color: var(--sc-fg); }
.sc-space-single__desc { font-size: 14px; font-weight: var(--sc-fw-medium); line-height: 1.4; color: var(--sc-fg); }

.sc-space-assets {
	max-width: 846px; margin-inline: auto;
	display: flex; flex-direction: column; gap: 8px;
	padding: 0 var(--sc-space-margin) 24px;
}
.sc-space-assets__chips { display: flex; flex-wrap: wrap; gap: 4px; }
.sc-space-chip {
	display: inline-flex; align-items: center; height: 36px; padding: 8px 10px; cursor: pointer;
	background: var(--sc-bg-hover-strong); border: 1px solid transparent; border-radius: 54px;
	color: var(--sc-fg); font-family: var(--sc-font); font-size: 14px; font-weight: var(--sc-fw-bold); line-height: 1.4; white-space: nowrap;
}
/* #162-4: 選択状態は is-active のみ。非選択は枠線、選択は primary 塗り。 */
.sc-space-chip { border-color: var(--sc-border); }
.sc-space-chip:hover { border-color: var(--sc-primary); }
.sc-space-chip.is-active { background: var(--sc-primary); color: var(--sc-fg); border-color: var(--sc-primary); }

/* ★ 親 `.sc-space-assets` を前置きして (0,2,0)。:27 の
 *   `.sc-space ul, .sc-space-single ul { list-style: none; padding: 0 }`(0,1,1) が単体クラス (0,1,0) の
 *   padding を食っていた(= #192 と同型。リストがカード端に密着)。root が2つ(.sc-space / .sc-space-single)
 *   あるので、どちらでも効く親クラスで前置きする。 */
.sc-space-assets .sc-space-assets__list { display: flex; flex-direction: column; gap: 8px; padding: 16px 8px; }
.sc-space-assets__item { font-size: 16px; font-weight: var(--sc-fw-medium); line-height: 1.4; color: var(--sc-fg); }

/* #225: Gear カテゴリが1つだけの室(Recording Studio の Large Iso / Small Iso)は
   切替対象が無いので chip(button)ではなく見出しラベル(Figma 4851:73605 / 4851:73534 "Equipment")。 */
.sc-space-assets__label { font-size: 14px; font-weight: var(--sc-fw-bold); line-height: 1.4; color: var(--sc-fg); }
/* ラベル→1件目 の間隔は Figma 26px-20px=6px。__list の padding-top 16px を 6px に寄せる。 */
.sc-space-assets--single .sc-space-assets__list { padding-top: 6px; }

/* #225: Recording Studio 詳細の 2 室目以降の写真。
   1室目はページ hero(全幅+ぼかし背景)を流用し、2室目以降はこの 846px 幅の写真をブロック先頭に置く
   (Figma PC 4851:73599 / 4851:73609 = x297 w846 h475.875 = 16:9・radius card。
   直前の Gear 一覧末尾からの間隔は list padding-bottom 16px + assets padding-bottom 24px + 24px = 64px)。 */
.sc-space-subroom__media {
	max-width: 846px; margin: 24px auto 0;
	aspect-ratio: 16 / 9;
	background: #4d4d4d center/cover no-repeat;
	border-radius: var(--sc-radius-card);
}

/* #225: Figma には「Recording Studio」自体の見出しが無い(3室分のタイトルのみ)。
   デザインを崩さずに文書構造(h1)を保つための視覚的非表示。 */
.sc-space-sr {
	position: absolute; width: 1px; height: 1px; margin: -1px; padding: 0;
	overflow: hidden; clip: rect(0 0 0 0); clip-path: inset(50%); white-space: nowrap; border: 0;
}

/* #162-2: タブ廃止 → 見出し「Passes & Membership」+ Pass/Rental 行 + Membership 行を常時表示。
   カード列(.sc-space-plans)は 848px 中央寄せ(Figma 1723:18431)。行間は 24px(Figma 389-365)。 */
.sc-space-single__plans {
	display: flex; flex-direction: column; gap: 24px;
	padding: 24px var(--sc-space-margin) 48px;
}
.sc-space-single__plans .sc-space-section__head { margin-bottom: 8px; }

/* ============================================================
 * 詳細: SP 追従CTA(Book a Tour)。PC は非表示。
 * ============================================================ */
.sc-space-fixedcta { display: none; }

/* ============================================================
 * SP (≤1024px)
 * ============================================================ */
@media (max-width: 1024px) {
	.sc-space, .sc-space-single { --sc-space-margin: 16px; overflow-x: clip; }

	.sc-space-hero { min-height: 240px; padding: 32px 16px; } /* Figma SP=240(guardrails §5) */
	.sc-space-hero__title { font-size: 32px; }

	/* NYC Space Intro: SP も PC と同じ中央寄せ(旧2カラム廃止) */
	.sc-space-intro { padding: 48px var(--sc-space-margin); gap: 20px; }
	.sc-space-intro__title { font-size: 32px; }

	/* 購入セクション(Passes / Membership)の SP 余白・見出し */
	.sc-space-buy { padding: 40px var(--sc-space-margin); gap: 24px; }
	.sc-space-section__title { font-size: 28px; }

	/* Room grid: 1 カラム、隙間ゼロ(Figma 1822:31513) */
	.sc-space-rooms__grid { grid-template-columns: 1fr; }

	/* #258: 説明文が "..." で見切れる(Galaxy S25 / S10)。
	 * 原因(360px 幅で実測): カードは `aspect-ratio:16/9` で高さ固定(203px)、説明文は
	 *   `-webkit-line-clamp:2`(39px)。360px では **5 室が 3 行以上必要**になり切れていた
	 *   (Room 3 / 5 / 6 と Recording Studio = 3 行 / **Student Lounge = 6 行**)。
	 *   412px 幅の端末では 2 行に収まるため再現しなかった。
	 *   さらに **Recording Studio は body 187px > カード 185px で既に 2px はみ出していた**。
	 * 対策: SP では**高さ固定をやめて内容で伸ばす**(`aspect-ratio` → `min-height`)＋ clamp を 3 行へ。
	 *   3 行にした理由: Student Lounge の抜粋だけ 232 文字(他室は 65〜100 文字)で、
	 *   全文表示にすると 1 枚だけ極端に高くなり 1 カラムのリズムが崩れるため。
	 * ⚠️ **Figma SP は 16:9 固定**。見切れるより伸ばす方を採った(要確認事項として issue に記録)。
	 * ⚠️ 本来の解は **Student Lounge の抜粋を他室と同程度に短くする**こと(管理画面の抜粋欄で変更可)。
	 *
	 * 【#258 追い FB(2026-07-30)】「16:9 を崩すのは可。ただし**全カードの高さは揃えること**」。
	 *   `min-height` だけだと**内容の多い室だけが伸びて 1 枚ずつ高さが変わる**ため、
	 *   グリッド側に `grid-auto-rows: 1fr` を入れて**全行を最も高い行に揃える**
	 *   (高さの決定を「カード個々の内容」から「グリッド全体」へ移す)。
	 *   - `1fr` は親の高さが不定のとき「最大コンテンツに合わせて全行同一」になる挙動を使っている。
	 *   - カードは `align-items: flex-end` なので、余った分は上に付き**テキストは下端で揃う**。
	 *   - **PC には入れない**(PC は `aspect-ratio: 16/9` で既に均一。ここは SP メディアクエリ内)。
	 *   - Recording セクションのグリッドも同じ class を持つので自動的に揃う。 */
	.sc-space-rooms__grid { grid-auto-rows: 1fr; }
	.sc-space-room { aspect-ratio: auto; min-height: 203px; }
	.sc-space-room__desc { -webkit-line-clamp: 3; line-clamp: 3; }
	/* SP は 1 列なので #225 の中央寄せは解除(grid-column:2 だと存在しない 2 列目が生えて壊れる) */
	.sc-space-rooms__grid > .sc-space-room:last-child:nth-child(3n + 1) { grid-column: auto; }
	/* Recording セクション: SP は左右 margin を詰め、カードは全幅 */
	.sc-space-rooms--recording { padding: 40px var(--sc-space-margin); gap: 24px; }
	.sc-space-rooms__grid--recording { max-width: none; }

	.sc-space-tour-band { padding: 32px 23px; }

	/* 詳細 Passes & Membership: SP 余白 */
	.sc-space-single__plans { padding: 8px var(--sc-space-margin) 40px; gap: 20px; }

	/* Plan cards: 1 カラム */
	.sc-space-plans { grid-template-columns: 1fr; }

	/* フォーム: SP は送信ボタンを全幅48px/18px(#177: 実 CF7 の submit を対象化) */
	.sc-space-tour__title { font-size: 28px; }
	.sc-space-form-cf7 .wpcf7-form input.wpcf7-submit { width: 100%; min-height: 48px; font-size: 18px; }

	/* Events / Community */
	.sc-space-events { padding: 32px var(--sc-space-margin); }
	.sc-space-community { padding: 32px var(--sc-space-margin); }

	/* 詳細 hero: SP はぼかし背景無しでフラット16:9(Figma 1680:14259) */
	.sc-space-single__hero { padding: 0; }
	.sc-space-single__hero-bg { display: none; }
	.sc-space-single__hero-img { width: 100%; aspect-ratio: 16 / 9; border-radius: 0; }

	/* 詳細 head: SP は左寄せ・24px(Figma 1680:14675) */
	.sc-space-single__head { align-items: flex-start; text-align: left; padding: 32px var(--sc-space-margin) 24px; }
	.sc-space-single__title { font-size: 24px; }

	/* #225: 2室目以降の写真は SP では全幅フラット(Figma SP 4851:73505 / 4851:73523 = w393 h221 = 16:9) */
	.sc-space-subroom__media { max-width: none; margin: 0; border-radius: 0; }

	/* SP 追従CTA が最終セクションに重ならないよう下部の余白を確保 */
	.sc-space-single { padding-bottom: 88px; }

	/* SP 追従CTA(下部固定・中央ピル) */
	.sc-space-fixedcta {
		position: fixed; z-index: 100;
		left: 50%; bottom: calc(12px + env(safe-area-inset-bottom, 0px));
		transform: translateX(-50%);
		display: inline-flex; align-items: center; justify-content: center; gap: 6px;
		min-height: 40px; padding: 8px 24px; max-width: calc(100% - 32px);
		background: var(--sc-primary); color: var(--sc-white);
		border-radius: var(--sc-radius-pill); text-decoration: none; white-space: nowrap;
		font-size: 14px; font-weight: var(--sc-fw-bold); line-height: 1.2;
		box-shadow: 0 6px 20px rgba(0,0,0,.35);
	}
	.sc-space-fixedcta i { font-size: 12px; }
	.sc-space-fixedcta:hover { color: var(--sc-white); background-image: linear-gradient(rgba(255,255,255,.10), rgba(255,255,255,.10)); }
}

/* #231: Day Pass 予約ウィジェット(SimplyBook.me)の受け皿。
 * クリック前は空要素なので余白を作らない。生成後は iframe を全幅で見せる。 */
.sc-space-daypass:empty { display: none; }
.sc-space-daypass { margin-top: 24px; }
.sc-space-daypass iframe { width: 100%; min-height: 720px; border: 0; border-radius: var(--sc-space-card-radius); }
@media (max-width: 767px) {
	.sc-space-daypass iframe { min-height: 640px; }
}
