@charset "UTF-8";
/*
    Template: swell
    Theme Name: SWELL CHILD
    Theme URI: https://swell-theme.com/
    Description: SWELLの子テーマ
    Version: 1.0.0
    Author: LOOS WEB STUDIO
    Author URI: https://loos-web-studio.com/

    License: GNU General Public License
    License URI: http://www.gnu.org/licenses/gpl.html
*/

/* ==================================================================
   駐在ラウンジ - バンコク駐在サロン カスタムデザイン
   ================================================================== */

:root {
  --lounge-bg:       #FBF8EF; /* ゴールド(--lounge-gold)をごく薄く溶いた背景色 */
  --lounge-card:     #FFFFFF;
  --lounge-rose:     #C58B92;
  --lounge-rose-dp:  #A96A72;
  --lounge-gold:       #D4AF37;
  --lounge-gold-light: #F3E5AB;
  --lounge-navy:       #1A2B4C;
  --lounge-accent:     var(--lounge-gold);
  --lounge-sage:     #6E7E66;
  --lounge-text:     #4A4140;
  --lounge-muted:    #9C918E;
  --lounge-line:     #EFE6DB;
  --lounge-blush:    #F7EEE9;
  --lounge-shadow:   0 4px 18px rgba(123, 92, 80, 0.09);
  --lounge-shadow-h: 0 10px 32px rgba(123, 92, 80, 0.15);

  /* 駐在ラウンジトップ（複数都市の統括ページ）専用の中立トークン。
     都市別--lounge-accentには依存させず、白＋グラファイト基調で統一する */
  --lounge-neutral-bg:   #FFFFFF;
  --lounge-neutral-ink:  #2B2B2E;
  --lounge-neutral-sub:  #9C948D;
  --lounge-neutral-line: #EDEAE5;
}

body { background-color: var(--lounge-bg); }

/* 遅延読み込み画像等でページ上部のコンテンツの高さが後から変わると、ブラウザが見た目を
   保つために自動でスクロール位置をずらす「スクロールアンカリング」を無効化する。
   登録・プロフィール編集フォーム送信後に原因不明の自動スクロールが起きる問題への対策 */
html { overflow-anchor: none; }

/* 都市別テーマカラー（body_classで付与される city-{都市} を都市展開時に追加していく） */
body.city-bangkok { --lounge-accent: var(--lounge-gold); }

/* ==================================================================
   ヘッダー・パンくず
   バンコクトップ・ライブラリと同様、共通ヘッダー＋SWELL標準パンくずを表示する
   （以前は.bbpress全体でヘッダー・パンくずを丸ごと非表示にしていたが、
   　サロンにも専用ヒーロー・パンくずを導入したため撤廃）
   ================================================================== */
#bbpress-forums .bbp-breadcrumb { display: none; } /* bbPress独自パンくずは常に非表示、SWELL標準#breadcrumbのみ使う */

.bbpress .entry-title,
.bbpress .c-pageTitle,
.bbpress .p-entryTitle {
  display: none !important;
  margin: 0 !important;
}

/* ==================================================================
   ヒーローバナー
   ================================================================== */
.lounge-hero {
  position: relative;
  overflow: hidden;
  border-radius: 22px;
  padding: 48px 44px;
  margin: 0;
  background:
    radial-gradient(120% 140% at 85% 10%, rgba(212,175,55,0.18) 0%, rgba(212,175,55,0) 55%),
    linear-gradient(135deg, #F8EDE7 0%, #F3E3DC 45%, #EFE7DA 100%);
  box-shadow: var(--lounge-shadow);
}

.lounge-hero__inner { position: relative; z-index: 2; max-width: 72%; }

.lounge-hero__eyebrow {
  font-size: 0.78rem;
  letter-spacing: 0.28em;
  font-weight: 600;
  color: var(--lounge-accent);
  margin: 0 0 14px;
  text-transform: uppercase;
  white-space: nowrap;
}

.lounge-hero__divider {
  display: inline-block;
  width: 52px;
  height: 2px;
  background: linear-gradient(90deg, var(--lounge-accent), var(--lounge-gold-light));
  margin: 0 0 18px;
}

.lounge-hero__section {
  font-size: 0.85rem;
  letter-spacing: 0.1em;
  color: var(--lounge-rose);
  margin: 0 0 6px;
  font-weight: 500;
}

.lounge-hero__title {
  font-family: "Shippori Mincho", "Noto Serif JP", "Hiragino Mincho ProN", serif;
  font-size: 2rem;
  font-weight: 600;
  line-height: 1.35;
  color: var(--lounge-text);
  margin: 0 0 16px;
  letter-spacing: 0.04em;
}

.lounge-hero__title--category { font-size: 1.7rem; }

.lounge-hero__lead {
  font-size: 1rem;
  line-height: 1.9;
  color: #6E605C;
  margin: 0;
}

.lounge-hero__art {
  position: absolute;
  right: -10px;
  bottom: -20px;
  width: 260px;
  height: auto;
  z-index: 1;
  opacity: 0.9;
  pointer-events: none;
}

/* ==================================================================
   ③ メインカラム上部余白除去（ヒーローをサイドバートップと揃える）
   ================================================================== */
.bbpress .l-mainContent__inner {
  padding-top: 0 !important;
}
.bbpress .l-mainContent__inner .post_content {
  margin-top: 0 !important;
  padding-top: 0 !important;
}
.bbpress #bbpress-forums {
  margin-top: 0 !important;
  padding-top: 0 !important;
}
.bbpress .bbpress-wrapper {
  margin-top: 0 !important;
  padding-top: 0 !important;
}

/* ==================================================================
   ④ 購読・お気に入りボタン
   元の位置（bbPressが出力する箇所）は常に非表示
   ショートコード [hub_buttons] でウィジェットから出力する
   ================================================================== */
#subscription-toggle,
.bbp-forum-subscription,
.bbp-topic-subscription {
  display: none !important;
}
/* ウィジェット内（ショートコード経由）では表示を戻す */
.lounge-action-buttons #subscription-toggle,
.lounge-action-buttons .bbp-forum-subscription,
.lounge-action-buttons .bbp-topic-subscription {
  display: inline !important;
}

/* 購読・お気に入り・フィードリンク wrapper（単一 flex コンテナ） */
.lounge-action-buttons {
  display: flex !important;
  align-items: center !important;
  gap: 6px !important;
  margin: 0 0 14px !important;
  padding: 0 !important;
  line-height: 1 !important;
}

/* RSSフィードリンク（lounge-action-buttons 内） */
.lounge-action-buttons .lounge-feed-link {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 24px !important;
  height: 24px !important;
  flex-shrink: 0 !important;
  background: transparent !important;
  text-decoration: none !important;
  transition: background 0.2s !important;
}
.lounge-action-buttons .lounge-feed-link svg {
  display: block !important;
}
.lounge-action-buttons .lounge-feed-link:hover {
  background: rgba(242,101,34,0.12) !important;
  border-radius: 4px !important;
}

/* ボタン wrapper span（bbPress が出力する全ネスト span を flatten） */
.lounge-action-buttons .lounge-btn-wrap,
.lounge-action-buttons .lounge-btn-wrap * {
  display: contents !important;
}

/* ボタン本体 <a>（ネスト深さに関係なく適用） */
.lounge-action-buttons .lounge-btn-wrap a {
  display: inline-flex !important;
  align-items: center !important;
  height: 24px !important;
  padding: 0 11px !important;
  border: 1px solid var(--lounge-rose) !important;
  border-radius: 12px !important;
  font-size: 0.68rem !important;
  line-height: 1 !important;
  font-weight: 500 !important;
  color: var(--lounge-rose) !important;
  text-decoration: none !important;
  background: rgba(255,255,255,0.7) !important;
  letter-spacing: 0.03em !important;
  transition: background 0.2s, color 0.2s !important;
  box-sizing: border-box !important;
  white-space: nowrap !important;
}

.lounge-action-buttons .lounge-btn-wrap a:hover {
  background: var(--lounge-rose) !important;
  color: #fff !important;
}

/* お気に入りボタン元位置を常に非表示 */
#favorite-toggle,
.bbp-topic-favorite {
  display: none !important;
}
/* ウィジェット内（ショートコード経由）では表示を戻す */
.lounge-action-buttons #favorite-toggle,
.lounge-action-buttons .bbp-topic-favorite {
  display: inline !important;
}

/* ==================================================================
   画像添付機能
   ================================================================== */
.lounge-image-field {
  margin: 12px 0 16px;
}
.lounge-image-label {
  display: flex;
  flex-direction: column;
  gap: 6px;
  font-size: 0.82rem;
  color: var(--lounge-muted);
  cursor: pointer;
}
.lounge-image-input {
  font-size: 0.82rem;
  cursor: pointer;
}
.lounge-attached-img {
  display: block;
  max-width: 100%;
  height: auto;
  margin-top: 12px;
  border-radius: 8px;
  border: 1px solid var(--lounge-line);
}

/* ==================================================================
   [hub_recent_topics] ショートコード（サイドバー「最近の投稿」）
   カテゴリアイコン＋本文（70文字）＋発言者アイコン・発言者名・経過時間を、改行せず1つの
   インライン文章として続けて表示し、必要な分だけ自然に折り返す。
   アイコン+本文をflexで組むと本文が長い時に「アイコンだけ孤立して本文が丸ごと次行に送られる」
   バグが起きるため、display:inlineの通常インライン文章として折り返させる
   ================================================================== */
.lounge-recent-posts__title {
  font-family: "Shippori Mincho", serif;
  font-size: 0.88rem;
  color: var(--lounge-text);
  margin: 0 0 10px;
  padding-bottom: 6px;
  border-bottom: 1px solid var(--lounge-line);
}
.lounge-recent-posts__list {
  list-style: none;
  margin: 0;
  padding: 0;
}
.lounge-recent-posts__item {
  padding: 8px 0;
  border-bottom: 1px solid var(--lounge-line);
}
.lounge-recent-posts__item:last-child { border-bottom: none; }
.lounge-recent-posts__link {
  display: block;
  color: var(--lounge-text) !important;
  text-decoration: none !important;
}
.lounge-recent-posts__link:hover .lounge-recent-posts__text { color: var(--lounge-rose); }
.lounge-recent-posts__icon {
  display: inline;
  margin-right: 4px;
}
.lounge-recent-posts__text {
  display: inline;
  font-size: 0.82rem;
  line-height: 1.6;
}
.lounge-recent-posts__meta {
  display: inline;
  font-size: 0.78rem;
  color: var(--lounge-muted);
}
.lounge-recent-posts__avatar {
  width: 16px;
  height: 16px;
  border-radius: 4px;
  vertical-align: middle;
  margin-right: 4px;
}
.lounge-recent-posts__author,
.lounge-recent-posts__time {
  vertical-align: middle;
}

/* ==================================================================
   パンくずリスト
   ================================================================== */
.lounge-breadcrumb { padding: 10px 2px; margin: 0 0 20px; }

.lounge-breadcrumb ol {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 2px;
  font-size: 0.81rem;
  color: var(--lounge-muted);
}

/* ホームアイコン：CSS mask + SVGデータURI */
.lounge-breadcrumb__item:first-child::before {
  content: '';
  display: inline-block;
  width: 12px;
  height: 11px;
  margin-right: 5px;
  vertical-align: -1px;
  background-color: var(--lounge-accent);
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 576 512'%3E%3Cpath d='M575.8 255.5c0 18-15 32.1-32 32.1h-32l.7 160.2c0 2.7-.2 5.4-.5 8.1V472c0 22.1-17.9 40-40 40H456c-1.1 0-2.2 0-3.3-.1-1.4.1-2.8.1-4.2.1H416 392c-22.1 0-40-17.9-40-40V448 384c0-17.7-14.3-32-32-32H256c-17.7 0-32 14.3-32 32v64 24c0 22.1-17.9 40-40 40H160 128.1c-1.4 0-2.8 0-4.2-.1-1.1.1-2.2.1-3.3.1H80c-22.1 0-40-17.9-40-40V360c0-.9 0-1.9.1-2.8V287.6H32c-18 0-32-14-32-32.1 0-9 3-17 10-24L266.4 8c7-7 15-8 22-8s15 2 21 7L564.8 231.5c8 7 12 15 11 24z'/%3E%3C/svg%3E");
  mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 576 512'%3E%3Cpath d='M575.8 255.5c0 18-15 32.1-32 32.1h-32l.7 160.2c0 2.7-.2 5.4-.5 8.1V472c0 22.1-17.9 40-40 40H456c-1.1 0-2.2 0-3.3-.1-1.4.1-2.8.1-4.2.1H416 392c-22.1 0-40-17.9-40-40V448 384c0-17.7-14.3-32-32-32H256c-17.7 0-32 14.3-32 32v64 24c0 22.1-17.9 40-40 40H160 128.1c-1.4 0-2.8 0-4.2-.1-1.1.1-2.2.1-3.3.1H80c-22.1 0-40-17.9-40-40V360c0-.9 0-1.9.1-2.8V287.6H32c-18 0-32-14-32-32.1 0-9 3-17 10-24L266.4 8c7-7 15-8 22-8s15 2 21 7L564.8 231.5c8 7 12 15 11 24z'/%3E%3C/svg%3E");
  -webkit-mask-size: contain;
  mask-size: contain;
  -webkit-mask-repeat: no-repeat;
  mask-repeat: no-repeat;
}

.lounge-breadcrumb__item a { color: var(--lounge-muted); text-decoration: none; transition: color 0.2s; }
.lounge-breadcrumb__item a:hover { color: var(--lounge-rose-dp); }

.lounge-breadcrumb__item:not(:last-child)::after {
  content: '›';
  margin-left: 4px;
  color: #D5C8C0;
  font-size: 1rem;
}

.lounge-breadcrumb__item--current { color: #7A6F6B; font-weight: 500; }

/* ==================================================================
   bbPress 全体
   ================================================================== */
#bbpress-forums {
  font-family: "Klee One", "Zen Kaku Gothic New", "Hiragino Kaku Gothic ProN", Meiryo, sans-serif;
  color: var(--lounge-text);
  font-size: 1.04rem;
  line-height: 1.8;
}

/* ==================================================================
   テンプレート通知
   ================================================================== */
#bbpress-forums div.bbp-template-notice {
  background: var(--lounge-blush);
  border: none;
  border-left: 3px solid var(--lounge-accent);
  border-radius: 0 10px 10px 0;
  padding: 14px 18px;
  font-size: 0.95rem;
  color: #7A6F6B;
  margin-bottom: 20px;
}

#bbpress-forums div.bbp-template-notice ul {
  list-style: none;
  margin: 0;
  padding: 0;
  border: none !important;
  border-left: none !important;
}

#bbpress-forums div.bbp-template-notice ul li { border: none; padding: 0; margin: 0; }

#bbpress-forums:has(ul.bbp-forums) div.bbp-template-notice { display: none; }

/* ==================================================================
   ⑦ フォーラム・トピック一覧
   ★ bbPressのヘッダー行は <ul>（クラスなし）、データ行は <ul class="forum">
     → 両方に flex を当てるため ul.forum と ul（クラスなし）を別々にターゲット
   ================================================================== */
#bbpress-forums ul.bbp-forums,
#bbpress-forums ul.bbp-topics {
  list-style: none !important;
  margin: 0 !important;
  padding: 0 !important;
  border: none !important;
  background: transparent !important;
}

#bbpress-forums ul.bbp-forums > li.bbp-body,
#bbpress-forums ul.bbp-topics > li.bbp-body {
  background: transparent !important;
  border: none !important;
  border-radius: 0 !important;
  padding: 0 !important;
  margin: 0 0 10px !important;
  box-shadow: none !important;
}

/* ── flex コンテナ共通
   ヘッダー ul: class="forum-titles"
   ボディ ul: class="loop-item-X bbp-forum-status-open ..."（forum/topic クラスなし）
   ── */
#bbpress-forums li.bbp-header > ul.forum-titles,
#bbpress-forums li.bbp-body > ul {
  display: flex !important;
  align-items: center !important;
  list-style: none !important;
  margin: 0 !important;
  padding-left: 22px !important;
  padding-right: 22px !important;
  box-sizing: border-box !important;
}

/* データ行のみカード化 */
#bbpress-forums li.bbp-body > ul {
  background: var(--lounge-card) !important;
  border: 1px solid var(--lounge-line) !important;
  border-radius: 14px !important;
  padding-top: 18px !important;
  padding-bottom: 18px !important;
  box-shadow: var(--lounge-shadow) !important;
  transition: box-shadow 0.25s, transform 0.25s, border-color 0.25s, background-color 0.25s !important;
}

/* トップページのサロン新着と同じホバー色（--lounge-blush） */
#bbpress-forums li.bbp-body > ul:hover {
  background: var(--lounge-blush) !important;
  box-shadow: var(--lounge-shadow-h) !important;
  transform: translateY(-2px) !important;
  border-color: #E0CCC6 !important;
}

/* ヘッダー行はフラット */
#bbpress-forums li.bbp-header > ul {
  padding-top: 4px !important;
  padding-bottom: 4px !important;
  background: transparent !important;
  border: none !important;
  box-shadow: none !important;
}

/* ── 列幅（ヘッダー・データ行 共通）float/width% を !important で上書き ── */
#bbpress-forums li.bbp-header li.bbp-forum-info,
#bbpress-forums li.bbp-header li.bbp-topic-title,
#bbpress-forums li.bbp-body li.bbp-forum-info,
#bbpress-forums li.bbp-body li.bbp-topic-title {
  flex: 1 1 auto !important;
  width: auto !important;
  min-width: 0 !important;
  padding-right: 16px !important;
  float: none !important;
}

#bbpress-forums li.bbp-header li.bbp-forum-topic-count,
#bbpress-forums li.bbp-header li.bbp-forum-reply-count,
#bbpress-forums li.bbp-header li.bbp-topic-voice-count,
#bbpress-forums li.bbp-header li.bbp-topic-reply-count,
#bbpress-forums li.bbp-body li.bbp-forum-topic-count,
#bbpress-forums li.bbp-body li.bbp-forum-reply-count,
#bbpress-forums li.bbp-body li.bbp-topic-voice-count,
#bbpress-forums li.bbp-body li.bbp-topic-reply-count {
  flex: 0 0 56px !important;
  width: 56px !important;
  text-align: center !important;
  float: none !important;
}

/* 「最新の投稿」列：投稿者名が長いと1行のままはみ出していたため、列幅を広げつつ折り返し可能にする
   （はみ出す原因はbbPress標準の.bbp-author-linkがwhite-space:nowrapのため。下の専用ルールで解除）。
   さらに「経過時間」と「投稿者名」を改行せず「経過時間、投稿者名」の1つの流れとして表示し、
   自然に折り返させることで2行程度に収まるようにする */
#bbpress-forums li.bbp-header li.bbp-forum-freshness,
#bbpress-forums li.bbp-header li.bbp-topic-freshness,
#bbpress-forums li.bbp-body li.bbp-forum-freshness,
#bbpress-forums li.bbp-body li.bbp-topic-freshness {
  flex: 0 0 176px !important;
  width: 176px !important;
  text-align: left !important;
  float: none !important;
  align-self: center !important;
}
#bbpress-forums li.bbp-body .bbp-forum-freshness .bbp-topic-meta,
#bbpress-forums li.bbp-body .bbp-topic-freshness .bbp-topic-meta {
  display: inline !important;
}
/* トピックが無いフォーラムでは.bbp-topic-metaが空白ノード＋空spanだけの状態で出力される（:emptyは効かない）ため、
   実際に投稿者リンクがある場合（:has(a)）だけ区切りの「・」を付ける */
#bbpress-forums li.bbp-body .bbp-forum-freshness .bbp-topic-meta:has(a)::before,
#bbpress-forums li.bbp-body .bbp-topic-freshness .bbp-topic-meta:has(a)::before {
  content: "・";
}
#bbpress-forums li.bbp-body .bbp-forum-freshness a.bbp-author-link,
#bbpress-forums li.bbp-body .bbp-topic-freshness a.bbp-author-link,
#bbpress-forums li.bbp-body .bbp-forum-freshness .bbp-topic-freshness-author,
#bbpress-forums li.bbp-body .bbp-topic-freshness .bbp-topic-freshness-author {
  white-space: normal !important;
  display: inline !important;
  max-width: 100% !important;
}
/* 投稿者アバター：デフォルトのborder:3px double（二重線に見える）＋14px小さすぎを解消。
   角丸はヘッダーのプロフィールアイコン（.lounge-auth__avatar）と統一し、円形ではなく角丸四角にする。
   トピック列（トピック作成者）のアバターはデフォルトのまま8px・角丸0で放置されていたため、
   最新の投稿列と同じ見た目に揃える */
#bbpress-forums li.bbp-body .bbp-forum-freshness .bbp-author-avatar img,
#bbpress-forums li.bbp-body .bbp-topic-freshness .bbp-author-avatar img,
#bbpress-forums li.bbp-body .bbp-topic-started-by .bbp-author-avatar img {
  width: 22px !important;
  height: 22px !important;
  border: 1px solid var(--lounge-blush) !important;
  border-radius: 4px !important;
  vertical-align: middle !important;
}

/* ヘッダー行ラベル：折り返し禁止 */
#bbpress-forums li.bbp-header li {
  font-size: 0.77rem !important;
  color: var(--lounge-muted) !important;
  letter-spacing: 0.08em !important;
  font-weight: 600 !important;
  white-space: nowrap !important;
}

/* データ行の数値 */
#bbpress-forums li.bbp-body li.bbp-forum-topic-count,
#bbpress-forums li.bbp-body li.bbp-forum-reply-count,
#bbpress-forums li.bbp-body li.bbp-topic-voice-count,
#bbpress-forums li.bbp-body li.bbp-topic-reply-count {
  font-size: 1.05rem !important;
  font-weight: 600 !important;
  color: var(--lounge-text) !important;
}

/* 最終投稿（データ行） */
#bbpress-forums li.bbp-body li.bbp-forum-freshness,
#bbpress-forums li.bbp-body li.bbp-topic-freshness {
  font-size: 0.85rem !important;
  color: var(--lounge-muted) !important;
  line-height: 1.5 !important;
}

#bbpress-forums .bbp-forum-freshness a,
#bbpress-forums .bbp-topic-freshness a {
  color: var(--lounge-sage) !important;
  text-decoration: none !important;
}

#bbpress-forums li.bbp-footer { display: none !important; }

/* ==================================================================
   ⑯ フォーラム名リンク（明朝体・ローズ茶）
   !important + 複数セレクターでSWELLのa色設定を確実に上書き
   ================================================================== */
#bbpress-forums li.bbp-body .bbp-forum-title,
#bbpress-forums li.bbp-body .bbp-forum-title a,
#bbpress-forums ul.bbp-forums li .bbp-forum-title a {
  font-family: "Shippori Mincho", "Noto Serif JP", "Hiragino Mincho ProN", serif !important;
  font-size: 1.1rem !important;
  font-weight: 600 !important;
  color: var(--lounge-rose-dp) !important;
  text-decoration: none !important;
  letter-spacing: 0.03em !important;
}

#bbpress-forums li.bbp-body .bbp-forum-title a:hover,
#bbpress-forums ul.bbp-forums li .bbp-forum-title a:hover {
  color: var(--lounge-accent) !important;
}

/* カテゴリ名をh3タグで囲んだ際、ブラウザ標準・SWELL標準のh3スタイル
   （余白・フォントサイズ・下線の疑似要素等）を打ち消す。
   文字の見た目自体は上のa.bbp-forum-titleへの指定がそのまま効く */
.bbp-forum-title-heading {
  display: inline !important;
  margin: 0 !important;
  padding: 0 !important;
  font-size: inherit !important;
  font-weight: inherit !important;
  line-height: inherit !important;
  position: static !important;
  background: none !important;
  color: inherit !important;
  z-index: auto !important;
}
.bbp-forum-title-heading::before,
.bbp-forum-title-heading::after {
  display: none !important;
  content: none !important;
}

#bbpress-forums .bbp-topic-permalink {
  font-family: "Shippori Mincho", "Noto Serif JP", "Hiragino Mincho ProN", serif !important;
  font-size: 1.05rem !important;
  font-weight: 600 !important;
  color: var(--lounge-rose-dp) !important;
  text-decoration: none !important;
  display: block !important;
}

#bbpress-forums .bbp-topic-permalink:hover { color: var(--lounge-accent) !important; }

#bbpress-forums .bbp-forum-content { font-size: 0.88rem; color: var(--lounge-muted); margin-top: 3px; }
#bbpress-forums .bbp-topic-meta { font-size: 0.86rem; color: var(--lounge-muted); }
#bbpress-forums .bbp-topic-meta a { color: var(--lounge-sage); text-decoration: none; }

#bbpress-forums .bbp-pagination-count { font-size: 0.9rem; color: var(--lounge-muted); margin: 0 0 12px; }

/* ==================================================================
   新規トピック投稿フォーム
   ================================================================== */
#bbpress-forums #new-post {
  background: linear-gradient(160deg, #FFFFFF 0%, var(--lounge-blush) 100%);
  border: 1px solid var(--lounge-line);
  border-radius: 20px;
  padding: 30px 32px;
  margin-top: 36px;
  box-shadow: var(--lounge-shadow);
}

#bbpress-forums #new-post fieldset.bbp-form,
#bbpress-forums #new-post fieldset {
  border: none !important;
  padding: 0 !important;
  margin: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  border-radius: 0 !important;
}

#bbpress-forums fieldset.bbp-form legend {
  font-family: "Shippori Mincho", "Noto Serif JP", "Hiragino Mincho ProN", serif;
  font-size: 1.15rem;
  font-weight: 600;
  color: var(--lounge-rose-dp);
  margin-bottom: 20px;
  padding: 0;
  float: none;
  width: auto;
}
/* legend→h2化に伴い、SWELL本体の.post_content h2:where(...)デフォルト（濃紺の箱＋白文字）が
   詳細度の関係で勝ってしまうため!importantで元のlegendと同じ見た目に上書きする */
#bbpress-forums .lounge-reply-to-heading {
  font-family: "Shippori Mincho", "Noto Serif JP", "Hiragino Mincho ProN", serif !important;
  font-size: 1.15rem !important;
  font-weight: 600 !important;
  color: var(--lounge-rose-dp) !important;
  background: none !important;
  margin: 0 0 20px !important;
  padding: 0 !important;
  border: none !important;
  float: none !important;
  width: auto !important;
  position: static !important;
}
/* SWELL本体の.post_content h2:where(...)は::beforeに絶対配置の上下ボーダー（濃紺の帯）を仕込んでいるため無効化する */
#bbpress-forums .lounge-reply-to-heading::before,
#bbpress-forums .lounge-reply-to-heading::after {
  content: none !important;
  display: none !important;
  border: none !important;
}

/* 新規トピック作成フォームのlegend→h2、トピック一覧の各トピック名→h2、それぞれ
   .lounge-reply-to-headingと同じ考え方でSWELL標準のh2装飾を打ち消す */
#bbpress-forums .lounge-new-topic-heading {
  font-family: "Shippori Mincho", "Noto Serif JP", "Hiragino Mincho ProN", serif !important;
  font-size: 1.15rem !important;
  font-weight: 600 !important;
  color: var(--lounge-rose-dp) !important;
  background: none !important;
  margin: 0 0 20px !important;
  padding: 0 !important;
  border: none !important;
  float: none !important;
  width: auto !important;
  position: static !important;
}
#bbpress-forums .lounge-new-topic-heading::before,
#bbpress-forums .lounge-new-topic-heading::after {
  content: none !important;
  display: none !important;
  border: none !important;
}

#bbpress-forums .bbp-topic-permalink-heading {
  display: inline !important;
  margin: 0 !important;
  padding: 0 !important;
  font-size: inherit !important;
  font-weight: inherit !important;
  line-height: inherit !important;
  background: none !important;
  color: inherit !important;
  position: static !important;
}
#bbpress-forums .bbp-topic-permalink-heading::before,
#bbpress-forums .bbp-topic-permalink-heading::after {
  content: none !important;
  display: none !important;
  border: none !important;
}

#bbpress-forums .bbp-form label {
  font-size: 0.95rem;
  color: #6E605C;
  font-weight: 500;
  display: block;
  margin-bottom: 6px;
}

/* ⑮ 入力フィールドをすべて 40px で統一 */
#bbpress-forums input[type="text"],
#bbpress-forums input[type="email"],
#bbpress-forums input[type="url"] {
  width: 100% !important;
  height: 40px !important;
  padding: 8px 14px !important;
  font-size: 1rem !important;
  color: var(--lounge-text) !important;
  background: #fff !important;
  border: 1px solid var(--lounge-line) !important;
  border-radius: 10px !important;
  box-sizing: border-box !important;
}

#bbpress-forums textarea {
  width: 100%;
  padding: 12px 14px;
  font-size: 1rem;
  color: var(--lounge-text);
  background: #fff;
  border: 1px solid var(--lounge-line);
  border-radius: 12px;
  box-sizing: border-box;
}

#bbpress-forums input[type="text"]:focus,
#bbpress-forums textarea:focus,
#bbpress-forums select:focus {
  outline: none !important;
  border-color: var(--lounge-rose) !important;
  box-shadow: 0 0 0 3px rgba(197,139,146,0.18) !important;
}

/* セレクト：40px */
#bbpress-forums select {
  width: 100% !important;
  height: 40px !important;
  padding: 8px 14px !important;
  font-size: 1rem !important;
  line-height: 1.4 !important;
  color: var(--lounge-text) !important;
  background: #fff !important;
  border: 1px solid var(--lounge-line) !important;
  border-radius: 10px !important;
  box-sizing: border-box !important;
  appearance: auto !important;
  -webkit-appearance: auto !important;
  cursor: pointer !important;
}

/* 送信ボタン（いいねボタン.wp_ulike_btnは対象外。ここに巻き込まれてバラ色グラデーションになっていた） */
#bbpress-forums button:not(.wp_ulike_btn),
#bbpress-forums input[type="submit"] {
  background: linear-gradient(135deg, var(--lounge-rose) 0%, var(--lounge-rose-dp) 100%);
  color: #fff;
  border: none;
  border-radius: 30px;
  padding: 13px 36px;
  font-size: 1rem;
  font-weight: 600;
  letter-spacing: 0.04em;
  cursor: pointer;
  box-shadow: 0 4px 14px rgba(169,106,114,0.30);
  transition: transform 0.2s, box-shadow 0.2s;
}

#bbpress-forums button:not(.wp_ulike_btn):hover,
#bbpress-forums input[type="submit"]:hover {
  transform: translateY(-2px);
  box-shadow: 0 8px 22px rgba(169,106,114,0.38);
}

/* ==================================================================
   返信スレッド
   ================================================================== */
#bbpress-forums li.bbp-body div.reply,
#bbpress-forums li.bbp-body div.topic {
  background: var(--lounge-card);
  border: 1px solid var(--lounge-line);
  border-radius: 16px;
  padding: 22px 26px;
  margin-bottom: 16px;
  box-shadow: var(--lounge-shadow);
}

#bbpress-forums div.bbp-reply-author img.avatar,
#bbpress-forums div.bbp-topic-author img.avatar {
  border-radius: 50%;
  border: 2px solid var(--lounge-blush);
}

#bbpress-forums .bbp-author-name { font-weight: 600; color: var(--lounge-sage); font-size: 0.9rem; }

/* WP ULike：薄いゴールドの背景に統一（送信ボタンのバラ色は誤って巻き込まれていただけで意図した色ではない） */
.wpulike .wp_ulike_btn {
  background: var(--lounge-gold-light) !important;
  border-color: var(--lounge-gold-light) !important;
  color: var(--lounge-text) !important;
}
.wpulike .wp_ulike_btn.wp_ulike_btn_is_active {
  background: var(--lounge-gold) !important;
  border-color: var(--lounge-gold) !important;
  color: #fff !important;
}

/* ページネーション */
#bbpress-forums .bbp-pagination { margin-top: 26px; text-align: center; }

#bbpress-forums .bbp-pagination a,
#bbpress-forums .bbp-pagination span.current {
  display: inline-block;
  padding: 8px 15px;
  border-radius: 22px;
  font-size: 0.9rem;
  color: var(--lounge-sage);
  border: 1px solid var(--lounge-line);
  margin: 0 3px;
  text-decoration: none;
  transition: all 0.2s;
}

#bbpress-forums .bbp-pagination a:hover,
#bbpress-forums .bbp-pagination span.current {
  background: var(--lounge-rose);
  color: #fff;
  border-color: var(--lounge-rose);
}

/* ==================================================================
   ⑬ サイドバー「最近のトピック」
   DevTools確認: ul.bbp-topics-widget.newness > li > a.bbp-forum-title
   ================================================================== */
.bbp-topics-widget.newness {
  list-style: none !important;
  margin: 0 !important;
  padding: 0 !important;
}

.bbp-topics-widget.newness > li {
  padding: 12px 0 !important;
  border-bottom: 1px solid var(--lounge-line) !important;
  line-height: 1.5 !important;
}

.bbp-topics-widget.newness > li:last-child { border-bottom: none !important; }

/* ⑬ トピックタイトルリンク（SWELLのa色を確実に上書き） */
.l-sidebar .bbp-topics-widget.newness a.bbp-forum-title,
.l-sidebar .bbp-topics-widget.newness li > a,
.bbp-topics-widget.newness a.bbp-forum-title,
.bbp-topics-widget.newness li > a {
  display: block !important;
  font-family: "Shippori Mincho", "Noto Serif JP", "Hiragino Mincho ProN", serif !important;
  font-size: 0.95rem !important;
  font-weight: 600 !important;
  color: var(--lounge-rose-dp) !important;
  text-decoration: none !important;
  line-height: 1.4 !important;
  margin-bottom: 5px !important;
}

.l-sidebar .bbp-topics-widget.newness a.bbp-forum-title:hover,
.bbp-topics-widget.newness a.bbp-forum-title:hover {
  color: var(--lounge-accent) !important;
}

/* 投稿者・時間を1行に並べる */
.bbp-topics-widget.newness .topic-author {
  display: inline !important;
  font-size: 0.82rem !important;
  color: var(--lounge-muted) !important;
}

.bbp-topics-widget.newness .bbp-author-link {
  display: inline-flex !important;
  align-items: center !important;
  gap: 4px !important;
  text-decoration: none !important;
  color: var(--lounge-muted) !important;
}

.bbp-topics-widget.newness .bbp-author-avatar img {
  width: 18px !important;
  height: 18px !important;
  border-radius: 50% !important;
  border: 1px solid var(--lounge-blush) !important;
  vertical-align: middle !important;
}

.bbp-topics-widget.newness .bbp-author-name {
  font-size: 0.82rem !important;
  color: var(--lounge-sage) !important;
  font-weight: 500 !important;
}

/* 時間表示：inline で投稿者の隣に並べる */
.bbp-topics-widget.newness > li > div,
.bbp-topics-widget.newness > li > span:not(.topic-author) {
  display: inline !important;
  font-size: 0.78rem !important;
  color: var(--lounge-muted) !important;
}

/* 投稿者と時間の間に「 · 」を挿入 */
.bbp-topics-widget.newness > li > div::before {
  content: " · " !important;
  color: var(--lounge-muted) !important;
}

/* キーマスター等のロールラベル非表示 */
.bbp-author-role { display: none !important; }

/* タグフィールド非表示 */
.bbp-form #bbp_topic_tags_label,
.bbp-form #bbp_topic_tags,
.bbp-form p:has(#bbp_topic_tags) { display: none !important; }

/* ==================================================================
   フォントサイズ統一（5段階）
   xl: タイトル系  lg: 本文  md: メタ情報  sm: 補助テキスト  xs: タイムスタンプ
   ================================================================== */
#bbpress-forums {
  font-family: "Klee One", "Zen Kaku Gothic New", "Hiragino Kaku Gothic ProN", sans-serif !important;
  font-size: 1rem !important;
  color: var(--lounge-text) !important;
}

/* タイトルリンク（xl） */
#bbpress-forums .bbp-forum-title,
#bbpress-forums .bbp-forum-title a,
#bbpress-forums .bbp-topic-title a,
#bbpress-forums h2.bbp-topic-title,
#bbpress-forums h3 a {
  font-size: 1.05rem !important;
}

/* 本文テキスト（lg） */
#bbpress-forums .bbp-topic-content p,
#bbpress-forums .bbp-reply-content p {
  font-size: 1rem !important;
  line-height: 1.75 !important;
}

/* トピック本文・返信内の画像：クリックでLightbox拡大表示できることが分かるようにズームカーソルにする
   （ライブラリ記事ページの.lounge-lightboxと同じ実装をbbpress/content-single-topic.phpに追加している） */
#bbpress-forums .bbp-topic-content img,
#bbpress-forums .bbp-reply-content img {
  cursor: zoom-in;
  border-radius: 8px;
}

/* メタ情報（md） */
#bbpress-forums .bbp-topic-title-meta,
#bbpress-forums .bbp-forum-content,
#bbpress-forums .bbp-topic-meta,
#bbpress-forums .bbp-reply-meta {
  font-size: 0.88rem !important;
  color: var(--lounge-muted) !important;
}

/* 補助テキスト（sm） */
#bbpress-forums .bbp-author-name,
#bbpress-forums .bbp-pagination-count {
  font-size: 0.82rem !important;
}

/* タイムスタンプ・カウント（xs） */
#bbpress-forums .bbp-topic-freshness,
#bbpress-forums .bbp-forum-freshness,
#bbpress-forums .bbp-forum-topic-count,
#bbpress-forums .bbp-forum-reply-count {
  font-size: 0.78rem !important;
}

/* ==================================================================
   検索結果ページ
   ================================================================== */

/* 1. メインカラムの検索フォームを非表示（サイドバーウィジェットは残す） */
#bbpress-forums .bbp-search-form {
  display: none !important;
}

/* ヘッダー・フッター行（投稿者/検索結果ラベル）を非表示 */
#bbp-search-results li.bbp-header,
#bbp-search-results li.bbp-footer {
  display: none !important;
}

/* 2. JSでラップした .lounge-search-card をカードスタイルに */
.lounge-search-card {
  background: var(--lounge-card) !important;
  border: 1px solid var(--lounge-line) !important;
  border-radius: 14px !important;
  padding: 0 !important;
  margin-bottom: 14px !important;
  box-shadow: var(--lounge-shadow) !important;
  transition: box-shadow 0.25s, transform 0.25s !important;
}

/* コンテンツブロック（白いブロック）を相対配置の基点に */
#bbp-search-results [id^="post-"],
.lounge-post-block {
  position: relative !important;
  padding-bottom: 52px !important;
}

.lounge-search-card:hover {
  box-shadow: var(--lounge-shadow-h) !important;
  transform: translateY(-2px) !important;
}

/* カードヘッダー（トピック名・日時・フォーラム名） */
.lounge-search-card .bbp-topic-header,
.lounge-search-card .bbp-forum-header {
  padding: 16px 20px 10px !important;
  background: transparent !important;
}

.lounge-search-card .bbp-meta {
  display: flex !important;
  justify-content: space-between !important;
  align-items: center !important;
  font-size: 0.78rem !important;
  color: var(--lounge-muted) !important;
  margin-bottom: 6px !important;
}

.lounge-search-card .bbp-meta .bbp-topic-permalink,
.lounge-search-card .bbp-meta .bbp-forum-permalink,
#bbp-search-results a.bbp-topic-permalink,
#bbp-search-results a.bbp-forum-permalink {
  color: var(--lounge-muted) !important;
  text-decoration: none !important;
  font-size: 0.78rem !important;
  font-weight: 400 !important;
}

.lounge-search-card h3 {
  font-size: 1rem !important;
  margin: 0 0 4px !important;
  font-weight: 500 !important;
  border: none !important;
  padding: 0 !important;
}
.lounge-search-card h3::before,
.lounge-search-card h3::after {
  display: none !important;
}

.lounge-search-card h3 a {
  font-family: "Shippori Mincho", serif !important;
  color: var(--lounge-rose-dp) !important;
  text-decoration: none !important;
  font-size: 1.05rem !important;
}

.lounge-search-card h3 a:hover { color: var(--lounge-accent) !important; }

.lounge-search-card .bbp-topic-title-meta {
  font-size: 0.82rem !important;
  color: var(--lounge-muted) !important;
}

.lounge-search-card .bbp-topic-title-meta a {
  color: var(--lounge-rose) !important;
  text-decoration: none !important;
}

/* カードボディ（著者・本文） */
.lounge-search-card .bbp-topic-author,
.lounge-search-card .bbp-forum-content {
  padding: 14px 20px !important;
}

.lounge-search-card .bbp-topic-content {
  padding: 0 20px 16px !important;
}

/* 3. いいねボタン：2つ目を非表示、JSでカード末尾に移動して右下絶対配置 */
.lounge-search-card .bbp-topic-content .wpulike {
  display: none !important;
}

#bbp-search-results .lounge-card-like,
.lounge-post-block .lounge-card-like {
  display: flex !important;
  position: absolute !important;
  bottom: 16px !important;
  right: 20px !important;
}

/* デフォルトウィジェット非表示 */
.widget_recent_entries,
.widget_recent_comments,
.widget_archive,
.widget_categories {
  display: none !important;
}

/* ==================================================================
   ライブラリページ（一覧・記事）— SWELL デフォルト要素の非表示
   ================================================================== */

.page-template-page-library-list .l-wrap,
.page-template-page-library-list #wrapper,
.page-template-page-library-article .l-wrap,
.page-template-page-library-article #wrapper,
.page-template-page-library-category .l-wrap,
.page-template-page-library-category #wrapper {
  padding-top: 0 !important;
  margin-top: 0 !important;
}

/* デフォルトページタイトル非表示（パンくずはバンコクトップ・サロンと同じ#breadcrumbを使い回す。下記「ライブラリ共通パンくず」参照） */
.page-template-page-library-list .entry-title,
.page-template-page-library-list .c-pageTitle,
.page-template-page-library-article .entry-title,
.page-template-page-library-article .c-pageTitle,
.page-template-page-library-category .entry-title,
.page-template-page-library-category .c-pageTitle {
  display: none !important;
}

/* メインカラム上部余白除去（パンくず〜ヒーロー間はバンコクトップと同じ.l-content 16pxで確保） */
.page-template-page-library-list .l-mainContent__inner,
.page-template-page-library-article .l-mainContent__inner,
.page-template-page-library-category .l-mainContent__inner {
  padding-top: 0 !important;
}
.page-template-page-library-list .l-content,
.page-template-page-library-article .l-content,
.page-template-page-library-category .l-content {
  padding-top: 16px !important;
}

/* ライブラリ共通パンくず：バンコクトップ・サロンの#breadcrumbと全く同じ体裁（中身はhub_render_library_breadcrumb()のJSが書き換える） */
.page-template-page-library-list #breadcrumb,
.page-template-page-library-list #sidebar,
.page-template-page-library-list .lounge-bkk-wrap,
.page-template-page-library-article #breadcrumb,
.page-template-page-library-article #sidebar,
.page-template-page-library-article .lounge-bkk-wrap,
.page-template-page-library-category #breadcrumb,
.page-template-page-library-category #sidebar,
.page-template-page-library-category .lounge-bkk-wrap {
  font-family: "Klee One", "Zen Kaku Gothic New", sans-serif;
}
.page-template-page-library-list #breadcrumb,
.page-template-page-library-article #breadcrumb,
.page-template-page-library-category #breadcrumb {
  background-color: var(--lounge-bg) !important;
  position: relative;
  z-index: 20;
  overflow: visible !important;
}
.page-template-page-library-list #content,
.page-template-page-library-list .l-content,
.page-template-page-library-list .l-container,
.page-template-page-library-article #content,
.page-template-page-library-article .l-content,
.page-template-page-library-article .l-container,
.page-template-page-library-category #content,
.page-template-page-library-category .l-content,
.page-template-page-library-category .l-container {
  overflow: visible !important;
}
.page-template-page-library-list #breadcrumb > *,
.page-template-page-library-article #breadcrumb > *,
.page-template-page-library-category #breadcrumb > * {
  position: relative;
  max-width: 860px;
  margin-left: auto !important;
  margin-right: auto !important;
  padding-left: 16px !important;
  padding-right: 16px !important;
  box-sizing: border-box;
}
@media (min-width: 769px) {
  .page-template-page-library-list #breadcrumb > *,
  .page-template-page-library-article #breadcrumb > *,
  .page-template-page-library-category #breadcrumb > * {
    margin-left: calc(50% - 430px - 152px) !important;
  }
}
.page-template-page-library-list #breadcrumb a,
.page-template-page-library-list #breadcrumb span,
.page-template-page-library-list #breadcrumb li,
.page-template-page-library-article #breadcrumb a,
.page-template-page-library-article #breadcrumb span,
.page-template-page-library-article #breadcrumb li,
.page-template-page-library-category #breadcrumb a,
.page-template-page-library-category #breadcrumb span,
.page-template-page-library-category #breadcrumb li {
  color: var(--lounge-accent) !important;
  font-size: 0.82rem !important;
  font-weight: 700 !important;
}

.page-template-page-library-list .l-mainContent__inner .post_content,
.page-template-page-library-article .l-mainContent__inner .post_content,
.page-template-page-library-category .l-mainContent__inner .post_content {
  margin-top: 0 !important;
  padding-top: 0 !important;
}

/* ==================================================================
   バンコク検索結果ページ（バンコクトップ・ライブラリと同じ#breadcrumb体裁）
   ================================================================== */
.page-template-page-bangkok-search .entry-title,
.page-template-page-bangkok-search .c-pageTitle {
  display: none !important;
}
.page-template-page-bangkok-search .l-wrap,
.page-template-page-bangkok-search #wrapper {
  padding-top: 0 !important;
  margin-top: 0 !important;
}
.page-template-page-bangkok-search .l-mainContent__inner {
  padding-top: 0 !important;
}
.page-template-page-bangkok-search .l-content {
  padding-top: 16px !important;
}
.page-template-page-bangkok-search #breadcrumb,
.page-template-page-bangkok-search #sidebar,
.page-template-page-bangkok-search .lounge-bkk-wrap {
  font-family: "Klee One", "Zen Kaku Gothic New", sans-serif;
}
.page-template-page-bangkok-search #breadcrumb {
  background-color: var(--lounge-bg) !important;
  position: relative;
  z-index: 20;
  overflow: visible !important;
}
.page-template-page-bangkok-search #content,
.page-template-page-bangkok-search .l-content,
.page-template-page-bangkok-search .l-container {
  overflow: visible !important;
}
.page-template-page-bangkok-search #breadcrumb > * {
  position: relative;
  max-width: 860px;
  margin-left: auto !important;
  margin-right: auto !important;
  padding-left: 16px !important;
  padding-right: 16px !important;
  box-sizing: border-box;
}
@media (min-width: 769px) {
  .page-template-page-bangkok-search #breadcrumb > * {
    margin-left: calc(50% - 430px - 152px) !important;
  }
}
.page-template-page-bangkok-search #breadcrumb a,
.page-template-page-bangkok-search #breadcrumb span,
.page-template-page-bangkok-search #breadcrumb li {
  color: var(--lounge-accent) !important;
  font-size: 0.82rem !important;
  font-weight: 700 !important;
}

/* ==================================================================
   ライブラリ一覧ページ
   ================================================================== */

/* カテゴリカラー変数 */
:root {
  --lib-medical:   #6BBFA6; /* ミントグリーン */
  --lib-food:      #C1714F; /* テラコッタ     */
  --lib-visa:      #3A5270; /* ネイビー        */
  --lib-shopping:  #C58B92; /* ローズ          */
  --lib-education: #C4A572; /* ゴールド        */
  --lib-infra:     #6E7E66; /* セージ          */
  --lib-community: #8E7BAB; /* ラベンダー      */
  --lib-travel:    #4A90C4; /* スカイブルー    */
  --lib-other:     #9C918E; /* グレー          */
}

/* 空状態 */
.lounge-lib-empty {
  text-align: center;
  color: var(--lounge-muted);
  padding: 60px 0;
  font-size: 1rem;
}

/* ── タブ ── */
.lounge-lib-tabs {
  display: flex;
  gap: 8px;
  margin: 0 0 24px;
  border-bottom: 2px solid var(--lounge-line);
  padding-bottom: 0;
}

.lounge-lib-tab {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  padding: 10px 20px;
  border: none;
  background: transparent;
  font-size: 0.88rem;
  font-weight: 600;
  color: var(--lounge-muted);
  cursor: pointer;
  border-bottom: 2px solid transparent;
  margin-bottom: -2px;
  border-radius: 0;
  transition: color 0.2s, border-color 0.2s;
  letter-spacing: 0.03em;
}

.lounge-lib-tab:hover {
  color: var(--lounge-rose);
}

.lounge-lib-tab.is-active {
  color: var(--lounge-rose-dp);
  border-bottom-color: var(--lounge-rose-dp);
}

.lounge-lib-tab__icon {
  font-size: 0.95rem;
}

/* ── カードグリッド（バンコクトップと共通の.lounge-bkk-lib-card/.lounge-bkk-lib-gridを使い回す。一覧ページは常に2カラム均等） ── */
.page-template-page-library-list .lounge-bkk-lib-grid,
.page-template-page-library-category .lounge-bkk-lib-grid {
  grid-template-columns: repeat(2, 1fr);
  gap: 16px;
  margin-top: 24px;
}

/* もっと見るボタン（20件を超えた分はここで追加表示） */
.lounge-lib-load-more {
  display: block;
  margin: 24px auto 0;
  padding: 11px 32px;
  border: 1px solid var(--lounge-line);
  border-radius: 24px;
  background: var(--lounge-card);
  color: var(--lounge-accent);
  font-family: "Klee One", "Zen Kaku Gothic New", sans-serif;
  font-size: 0.9rem;
  font-weight: 700;
  cursor: pointer;
  transition: background-color 0.2s, box-shadow 0.2s;
}
.lounge-lib-load-more:hover {
  background: var(--lounge-blush);
  box-shadow: var(--lounge-shadow);
}

/* 一覧ページのカードタイトルはh2（SEO：ページ内で個々の記事を示す小見出し）。SWELL標準h2の下線ボックスを解除 */
.lounge-bkk-lib-card__title {
  border: none !important;
  padding: 0 !important;
}
.lounge-bkk-lib-card__title::before,
.lounge-bkk-lib-card__title::after { display: none !important; }

/* ── カテゴリタグ ── */
a.lounge-lib-tag {
  text-decoration: none !important;
  cursor: pointer;
}
a.lounge-lib-tag:hover { opacity: 0.85; }

.lounge-lib-tag {
  display: inline-block;
  padding: 3px 10px;
  border-radius: 20px;
  font-size: 0.75rem;
  font-weight: 600;
  letter-spacing: 0.04em;
  white-space: nowrap;
  color: #fff;
}

.lounge-lib-tag--medical    { background: var(--lib-medical); }
.lounge-lib-tag--food       { background: var(--lib-food); }
.lounge-lib-tag--visa       { background: var(--lib-visa); }
.lounge-lib-tag--shopping   { background: var(--lib-shopping); }
.lounge-lib-tag--education  { background: var(--lib-education); }
.lounge-lib-tag--infra      { background: var(--lib-infra); }
.lounge-lib-tag--community  { background: var(--lib-community); }
.lounge-lib-tag--travel     { background: var(--lib-travel); }
.lounge-lib-tag--other      { background: var(--lib-other); }

/* 🔒 ライブラリ施錠バッジ（カード右上） */
.lounge-bkk-lib-card { position: relative; }

.lounge-lib-lock {
  position: absolute;
  top: 10px;
  right: 10px;
  font-size: 0.85rem;
  line-height: 1;
  opacity: 0.75;
  pointer-events: none;
}

/* 🔒 ライブラリ記事ペイウォール（ぼかし＋CTA） */
.lounge-lib-paywall {
  position: relative;
}

.lounge-lib-paywall > *:not(.lounge-lib-paywall__overlay) {
  filter: blur(4px);
  user-select: none;
  pointer-events: none;
}

.lounge-lib-paywall__overlay {
  position: absolute;
  inset: 0;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 12px;
  z-index: 10;
  background: linear-gradient(to bottom, rgba(251,248,239,0) 0%, rgba(251,248,239,0.95) 30%);
  padding: 40px 20px 20px;
}

.lounge-lib-paywall__message {
  font-size: 1rem;
  font-weight: 600;
  color: var(--lounge-text);
  margin: 0;
  text-align: center;
}

.lounge-lib-paywall__btn {
  display: inline-block;
  background: var(--lounge-rose);
  color: #fff !important;
  font-size: 0.95rem;
  font-weight: 700;
  padding: 12px 28px;
  border-radius: 50px;
  text-decoration: none !important;
  transition: background 0.2s;
}

.lounge-lib-paywall__btn:hover {
  background: var(--lounge-rose-dp);
}


/* ── ライブラリ記事ページ
   ================================================================== */

.lounge-lib-article-wrap {
  max-width: 720px;
}

.lounge-lib-article__meta {
  display: flex;
  align-items: center;
  gap: 16px;
  flex-wrap: wrap;
  margin-bottom: 4px;
}

.lounge-lib-stat--lg {
  font-size: 0.95rem;
  color: var(--lounge-text);
  font-weight: 500;
}

.lounge-lib-article__date {
  font-size: 0.85rem;
  color: var(--lounge-muted);
  margin-left: auto;
  display: flex;
  align-items: center;
  gap: 8px;
  flex-wrap: wrap;
}
.lounge-lib-article__updated {
  display: inline-flex;
  align-items: center;
  gap: 3px;
}
.lounge-icon-refresh {
  vertical-align: middle;
  opacity: 0.7;
}

.lounge-lib-article__divider {
  border: none;
  border-top: 2px solid var(--lounge-line);
  margin: 18px 0;
}

/* セクション */
.lounge-lib-section {
  margin-bottom: 28px;
}

.lounge-lib-section__heading {
  font-family: "Klee One", "Zen Kaku Gothic New", sans-serif;
  font-size: 1.05rem;
  font-weight: 600;
  color: var(--lounge-text);
  margin: 0 0 12px;
  padding: 0;
  border: none !important;
}

.lounge-lib-section__heading::before,
.lounge-lib-section__heading::after { display: none !important; }

.lounge-lib-section__heading--conclusion { color: var(--lounge-accent); }
.lounge-lib-section__heading--pros       { color: var(--lounge-sage); }
.lounge-lib-section__heading--cons       { color: #B06060; }

.lounge-lib-section__body {
  font-size: 1rem;
  line-height: 1.85;
  color: var(--lounge-text);
  background: var(--lounge-blush);
  border-left: 3px solid var(--lounge-accent);
  padding: 14px 18px;
  border-radius: 0 10px 10px 0;
  margin: 0;
}

/* リスト */
.lounge-lib-list {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: 8px;
}

.lounge-lib-list li {
  padding-left: 1.4em;
  position: relative;
  font-size: 0.97rem;
  line-height: 1.7;
  color: var(--lounge-text);
}

.lounge-lib-list li::before {
  content: '・';
  position: absolute;
  left: 0;
  color: var(--lounge-sage);
}

.lounge-lib-list--cons li::before {
  content: '・';
  color: #B06060;
}

.lounge-lib-list--named li::before {
  content: '📍';
  font-style: normal;
}

/* 引用 */
.lounge-lib-quotes {
  display: flex;
  flex-direction: column;
  gap: 10px;
}

.lounge-lib-quote {
  margin: 0;
  padding: 12px 18px;
  background: var(--lounge-card);
  border: 1px solid var(--lounge-line);
  border-radius: 10px;
  font-size: 0.95rem;
  line-height: 1.7;
  color: #6E605C;
  position: relative;
}

.lounge-lib-quote::before {
  content: '"';
  font-size: 2rem;
  color: var(--lounge-rose);
  opacity: 0.4;
  line-height: 1;
  position: absolute;
  top: 6px;
  left: 12px;
}

/* サロン誘導 CTA */
.lounge-lib-cta {
  margin-top: 32px;
}

.lounge-lib-cta__link {
  display: block;
  background: linear-gradient(135deg, var(--lounge-rose) 0%, var(--lounge-rose-dp) 100%);
  color: #fff !important;
  text-decoration: none !important;
  padding: 18px 24px;
  border-radius: 14px;
  font-size: 1rem;
  font-weight: 600;
  letter-spacing: 0.03em;
  box-shadow: 0 4px 14px rgba(169,106,114,0.30);
  transition: transform 0.2s, box-shadow 0.2s;
  text-align: center;
}

.lounge-lib-cta__link:hover {
  transform: translateY(-2px);
  box-shadow: 0 8px 22px rgba(169,106,114,0.38);
}

.lounge-lib-cta__count {
  display: block;
  font-size: 0.82rem;
  font-weight: 400;
  opacity: 0.85;
  margin-top: 4px;
}

/* 戻るリンク */
.lounge-lib-back {
  margin-top: 40px;
  padding-top: 20px;
  border-top: 1px solid var(--lounge-line);
}

.lounge-lib-back__link {
  font-size: 0.88rem;
  color: var(--lounge-muted) !important;
  text-decoration: none !important;
  transition: color 0.2s;
}

.lounge-lib-back__link:hover { color: var(--lounge-rose-dp) !important; }

/* 画像ギャラリー */
.lounge-lib-gallery {
  display: grid;
  gap: 4px;
}
.lounge-lib-gallery--cols-1 { grid-template-columns: 1fr; }
.lounge-lib-gallery--cols-2 { grid-template-columns: repeat(2, 1fr); }
.lounge-lib-gallery--cols-3 { grid-template-columns: repeat(3, 1fr); }

.lounge-lib-gallery__item {
  margin: 0;
  position: relative;
  overflow: hidden;
  aspect-ratio: 1 / 1;
}
.lounge-lib-gallery__link {
  display: block;
  width: 100%;
  height: 100%;
}
.lounge-lib-gallery__item img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  transition: transform 0.25s ease;
}
.lounge-lib-gallery__item:hover img { transform: scale(1.04); }

.lounge-lib-gallery__item figcaption {
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  font-size: 0.75rem;
  color: #fff;
  padding: 4px 8px;
  background: linear-gradient(transparent, rgba(0,0,0,0.55));
  text-align: right;
}

/* ライトボックス */
.lounge-lightbox {
  display: none;
  position: fixed;
  inset: 0;
  background: rgba(0,0,0,0.88);
  z-index: 99999;
  align-items: center;
  justify-content: center;
  flex-direction: column;
  gap: 12px;
  padding: 20px;
}
.lounge-lightbox.is-open { display: flex; }

.lounge-lightbox__img {
  max-width: 90vw;
  max-height: 85vh;
  object-fit: contain;
  border-radius: 4px;
}
.lounge-lightbox__caption {
  color: rgba(255,255,255,0.75);
  font-size: 0.85rem;
  margin: 0;
}
.lounge-lightbox__close {
  position: absolute;
  top: 16px;
  right: 20px;
  background: none;
  border: none;
  color: #fff;
  font-size: 2rem;
  line-height: 1;
  cursor: pointer;
  padding: 4px 8px;
  opacity: 0.75;
}
.lounge-lightbox__close:hover { opacity: 1; }

.lounge-lightbox__prev,
.lounge-lightbox__next {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  background: rgba(255,255,255,0.12);
  border: none;
  color: #fff;
  font-size: 2.5rem;
  line-height: 1;
  cursor: pointer;
  padding: 12px 18px;
  border-radius: 4px;
  opacity: 0.8;
  transition: background 0.15s, opacity 0.15s;
}
.lounge-lightbox__prev { left: 12px; }
.lounge-lightbox__next { right: 12px; }
.lounge-lightbox__prev:hover,
.lounge-lightbox__next:hover { background: rgba(255,255,255,0.25); opacity: 1; }

@media (max-width: 768px) {
  .lounge-lib-gallery--cols-3 { grid-template-columns: repeat(2, 1fr); }
}

/* ── 追従ヘッダーの非表示（SWELL設定でオフにできない場合のフォールバック） ── */
#fix_header, .l-fixHeader {
  display: none !important;
}

/* ── SWELL標準ヘッダー（濃紺の告知バー＋グレーのサイトタイトル・自動メニュー行）を全ページ共通で非表示 ──
   駐在ラウンジは全ページで自作のヒーロー/パンくず/ログインUIに置き換えるため、SWELL標準ヘッダーは使わない。
   以前はページテンプレートごとに個別指定していたが、結局全ページで非表示にしたいのでここに一本化した */
header#header, .l-header {
  display: none !important;
}

/* ── サイト共通フッター（[lounge_footer]） ── */
#footer, .l-footer {
  background-color: var(--lounge-navy) !important;
}
.lounge-footer {
  max-width: 860px;
  margin: 0 auto;
  padding: 48px 16px 32px;
  text-align: center;
  font-family: "Klee One", "Zen Kaku Gothic New", sans-serif;
}
.lounge-footer__logo {
  font-family: "Shippori Mincho", "Noto Serif JP", serif;
  font-size: 1.3rem;
  font-weight: 600;
  color: var(--lounge-gold);
  margin: 0 0 8px;
}
.lounge-footer__tagline {
  font-size: 0.85rem;
  color: rgba(255,255,255,0.75);
  margin: 0 0 28px;
}
.lounge-footer__sister {
  font-size: 0.85rem;
  color: rgba(255,255,255,0.75);
  margin: 0 0 14px;
}
.lounge-footer__sister a {
  font-size: 0.85rem;
  color: rgba(255,255,255,0.85);
  text-decoration: none;
}
.lounge-footer__sister a:hover { color: var(--lounge-gold); }
.lounge-footer__nav {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 10px 24px;
  margin-bottom: 28px;
}
.lounge-footer__nav a,
.lounge-footer__nav span {
  font-size: 0.85rem;
  color: rgba(255,255,255,0.85);
  text-decoration: none;
}
.lounge-footer__nav a:hover { color: var(--lounge-gold); }
.lounge-footer__nav span { color: rgba(255,255,255,0.45); } /* リンク未設置のため区別 */
.lounge-footer__copyright {
  font-size: 0.75rem;
  color: rgba(255,255,255,0.5);
  margin: 0;
}

/* ── 検索フォーム（サイドバーのCustom HTMLウィジェット用） ── */
.lounge-search-form {
  display: flex;
  gap: 6px;
}
.lounge-search-form__input {
  flex: 1;
  height: 40px;
  padding: 0 12px;
  border: 1px solid var(--lounge-line);
  border-radius: 8px;
  font-size: 0.9rem;
}
.lounge-search-form__button {
  height: 40px;
  padding: 0 16px;
  border: none;
  border-radius: 8px;
  background: var(--lounge-accent);
  color: #fff;
  font-weight: 600;
  cursor: pointer;
}
.lounge-search-form__button:hover { opacity: 0.9; }

/* ── サイドバー：新着投稿画像ギャラリー（3×3、正方形セルで幅いっぱい） ── */
.lounge-recent-images {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 4px;
  width: 100%;
}
.lounge-recent-images__item {
  display: block;
  aspect-ratio: 1 / 1;
  overflow: hidden;
  border-radius: 4px;
}
.lounge-recent-images__item img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  transition: transform 0.2s;
}
.lounge-recent-images__item:hover img { transform: scale(1.06); }

/* ── 検索結果ページ ── */
.lounge-search__title {
  font-family: "Shippori Mincho", "Noto Serif JP", serif;
  font-size: 1.6rem;
  margin: 4px 0 20px;
}
.lounge-search__empty,
.lounge-search__count {
  color: var(--lounge-muted);
  margin-bottom: 20px;
}
.lounge-search__list {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: 12px;
}
.lounge-search__link {
  position: relative;
  display: flex;
  flex-direction: column;
  gap: 6px;
  padding: 16px 18px;
  background: var(--lounge-card);
  border: 1px solid var(--lounge-line);
  border-radius: 12px;
  box-shadow: var(--lounge-shadow);
  text-decoration: none;
  color: var(--lounge-text);
  transition: box-shadow 0.2s, transform 0.2s;
}
.lounge-search__link:hover { box-shadow: var(--lounge-shadow-h); transform: translateY(-2px); }
.lounge-search__type {
  display: inline-block;
  align-self: flex-start;
  padding: 3px 10px;
  border-radius: 20px;
  font-size: 0.72rem;
  font-weight: 600;
  color: #fff;
}
.lounge-search__type--salon { background: var(--lounge-rose); }
.lounge-search__type--lib   { background: var(--lounge-accent); }
.lounge-search__item-title {
  font-size: 1.05rem;
  font-weight: 700;
  font-family: "Shippori Mincho", "Noto Serif JP", serif;
}

.lounge-search__lock {
  position: absolute;
  top: 12px;
  right: 14px;
  font-size: 0.85rem;
  opacity: 0.75;
  pointer-events: none;
  line-height: 1;
}
.lounge-search__item-excerpt {
  font-size: 0.85rem;
  color: var(--lounge-muted);
  line-height: 1.6;
}

/* ── バンコクトップ
   ================================================================== */
.lounge-bkk-wrap {
  max-width: 860px;
  margin: 0 auto;
  padding: 0 16px 64px;
}

/* ページ全体のフォントを「バンコク駐在生活の『イマ』を…」と同じ手書き風に統一
   （サロン・ライブラリカードのタイトルだけは明朝のまま除外） */
.page-template-page-bangkok-top #breadcrumb,
.page-template-page-bangkok-top #sidebar,
.page-template-page-bangkok-top .lounge-bkk-wrap {
  font-family: "Klee One", "Zen Kaku Gothic New", sans-serif;
}
.page-template-page-bangkok-top .lounge-bkk-card__title {
  font-family: "Shippori Mincho", "Noto Serif JP", serif;
}
/* パンくず：背景をページと同じ薄いゴールドに、文字色をゴールドに */
.page-template-page-bangkok-top #breadcrumb {
  background-color: var(--lounge-bg) !important;
  position: relative;
  z-index: 20;
  overflow: visible !important;
}
.page-template-page-bangkok-top #breadcrumb,
.page-template-page-bangkok-top #content,
.page-template-page-bangkok-top .l-content,
.page-template-page-bangkok-top .l-container {
  overflow: visible !important;
}
/* パンくずの中身をヒーロー（.lounge-bkk-wrap）と同じ箱幅・paddingで中央寄せし、左端を揃える（SPはサイドバーが横に並ばないためこれで一致する） */
.page-template-page-bangkok-top #breadcrumb > * {
  position: relative;
  max-width: 860px;
  margin-left: auto !important;
  margin-right: auto !important;
  padding-left: 16px !important;
  padding-right: 16px !important;
  box-sizing: border-box;
}
/* PCは.lounge-bkk-wrapがサイドバーと横並びのflexレイアウトの中にあり単純な中央寄せより左に寄るため、
   実測差分（291px − 139px = 152px）だけ左にずらして揃える */
@media (min-width: 769px) {
  .page-template-page-bangkok-top #breadcrumb > * {
    margin-left: calc(50% - 430px - 152px) !important;
  }
}
.page-template-page-bangkok-top #breadcrumb a,
.page-template-page-bangkok-top #breadcrumb span,
.page-template-page-bangkok-top #breadcrumb li {
  color: var(--lounge-accent) !important;
  font-size: 0.82rem !important;
  font-weight: 700 !important;
}
/* サイドバーの「最近のトピック」ウィジェットは!importantで明朝指定されているため上書き */
.page-template-page-bangkok-top .bbp-topics-widget.newness a.bbp-forum-title,
.page-template-page-bangkok-top .bbp-topics-widget.newness li > a {
  font-family: "Klee One", "Zen Kaku Gothic New", sans-serif !important;
}

/* ログイン/アカウント ドロップダウン（パンくずの右端に配置） */
.lounge-auth {
  position: absolute;
  top: 50%;
  right: 16px;
  transform: translateY(-50%);
  z-index: 5;
}
.lounge-auth__trigger {
  display: flex;
  align-items: center;
  gap: 6px;
  background: none;
  border: none;
  cursor: pointer;
  font-family: "Klee One", "Zen Kaku Gothic New", sans-serif;
  font-size: 0.82rem;
  font-weight: 700;
  color: var(--lounge-navy);
  padding: 4px 6px;
}
.lounge-auth__avatar { border-radius: 4px; display: block; }
.lounge-auth__icon { font-size: 1rem; }
.lounge-auth__panel {
  display: none;
  position: absolute;
  top: 100%;
  right: 0;
  margin-top: 8px;
  background: #fff;
  border: 1px solid var(--lounge-line);
  border-radius: 10px;
  box-shadow: var(--lounge-shadow-h);
  padding: 12px;
  min-width: 280px;
  z-index: 10;
}
.lounge-auth.is-open .lounge-auth__panel { display: block; }
/* Nextend Social Loginのボタンは幅100%で伸びる作りだが、パネルが狭いと
   「Facebookで続ける」等の日本語ラベルが省略記号(…)で切れてしまうため、
   パネル側の最小幅を広げた上でボタン内テキストの折り返しも保険として許可する */
.lounge-auth__panel .nsl-button-text-container,
.lounge-auth__panel .nsl-button-svg-container + div {
  white-space: normal !important;
  overflow: visible !important;
  text-overflow: unset !important;
}
/* Nextendのボタンはプラグイン既定で左右にマイナスマージンを持っており、パネルの余白を無視して
   縁いっぱいまで伸びてしまう（メール登録・ログイン欄と横幅が揃わない）。ボックスサイズを揃える */
.lounge-auth__panel .nsl-container,
.lounge-auth__panel .nsl-container-buttons,
.lounge-auth__panel .nsl-container-buttons > div {
  width: 100% !important;
  max-width: 100% !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
  box-sizing: border-box !important;
}
.lounge-auth__notice {
  font-size: 0.72rem;
  color: var(--lounge-neutral-sub, #9C948D);
  margin: 2px 0 8px;
}
.lounge-auth__logout {
  display: block;
  font-family: "Klee One", "Zen Kaku Gothic New", sans-serif;
  font-size: 0.85rem;
  font-weight: 400;
  color: var(--lounge-text);
  text-decoration: none;
  padding: 6px 4px;
}
.lounge-auth__logout:hover { color: var(--lounge-navy); }
/* このログイン/登録パネルは全都市共通の要素なので、都市別ゴールド（--lounge-accent）ではなく
   フッターと同じ濃紺（--lounge-navy）で統一する。パンくず内の a/span/li/labelには
   都市別ゴールドを!importantで強制する既存ルール（ページテンプレートごとに複数存在）があり、
   このパネルもパンくず内に配置されているため巻き込まれてしまう。詳細度を揃えた上で
   ファイル内で後方に置くことで上書きする */
#breadcrumb .lounge-auth a,
#breadcrumb .lounge-auth span,
#breadcrumb .lounge-auth li,
#breadcrumb .lounge-auth label,
#breadcrumb .lounge-auth button {
  color: var(--lounge-navy) !important;
}

/* メール登録（Profile Builder）・メールログイン（Passwordless Login）の見出し */
.lounge-auth__divider {
  text-align: center;
  font-size: 0.75rem;
  color: var(--lounge-neutral-sub, #9C948D);
  margin: 12px 0;
}
.lounge-auth__section-label {
  font-family: "Klee One", "Zen Kaku Gothic New", sans-serif;
  font-size: 0.78rem;
  font-weight: 700;
  color: var(--lounge-text);
  margin: 10px 0 4px;
}

/* Profile Builder登録フォーム：ニックネーム・メール以外の項目、パスワード欄、見出しは
   パスワードレス運用のため不要（lounge_get_current_city関連のJSでパスワード欄は自動入力される） */
#wppb-register-user .wppb-default-name-heading,
#wppb-register-user .wppb-default-first-name,
#wppb-register-user .wppb-default-last-name,
#wppb-register-user .wppb-default-nickname,
#wppb-register-user .wppb-default-display-name-publicly-as,
#wppb-register-user .wppb-default-contact-info-heading,
#wppb-register-user .wppb-default-website,
#wppb-register-user .wppb-default-about-yourself-heading,
#wppb-register-user .wppb-default-biographical-info,
#wppb-register-user .wppb-default-password,
#wppb-register-user .wppb-default-repeat-password,
#wppb-register-user .wppb-avatar {
  display: none !important;
}
/* プロフィール編集ページ（/edit-profile/）：パスワードレス運用のためパスワード欄は不要 */
#wppb-edit-user .wppb-default-password {
  display: none !important;
}
/* アバターの「Upload」ボタンがリンク色（ゴールド）で目立ちすぎていたので、他の文字色に揃える */
#wppb-edit-user .wppb_upload_button {
  color: var(--lounge-neutral-ink, #2B2B2E);
}
.lounge-pending-email-notice {
  background: var(--lounge-bg, #FBF8EF);
  border: 1px solid var(--lounge-gold, #D4AF37);
  border-radius: 8px;
  padding: 12px 16px;
  margin-bottom: 20px;
  font-size: 0.85rem;
  color: var(--lounge-neutral-ink, #2B2B2E);
}
#wppb-register-user,
.lounge-auth__panel form {
  font-family: "Klee One", "Zen Kaku Gothic New", sans-serif;
}
#wppb-register-user .wppb-form-field,
.lounge-auth__panel form p {
  margin: 0 0 8px;
}
/* Profile Builderのデフォルトlabelは横並び2カラム前提の固定幅指定を持っており、
   このパネルの狭い幅では文字が中途半端な位置で折り返されてしまう。ラベルを
   常にブロック要素・幅自動にして、通常の1カラムフォームとして積む */
#wppb-register-user label,
.lounge-auth__panel form label {
  display: block !important;
  width: auto !important;
  max-width: none !important;
  float: none !important;
  white-space: normal;
  font-size: 0.78rem;
  margin: 0 0 4px;
}
#wppb-register-user input[type="text"],
#wppb-register-user input[type="email"],
.lounge-auth__panel form input[type="text"],
.lounge-auth__panel form input[type="email"] {
  width: 100%;
  box-sizing: border-box;
  padding: 6px 8px;
  font-size: 0.85rem;
  border: 1px solid var(--lounge-line, #ddd);
  border-radius: 6px;
}
#wppb-register-user input[type="submit"],
.lounge-auth__panel form input[type="submit"] {
  width: 100%;
  margin-top: 4px;
  padding: 6px 8px;
  font-family: "Klee One", "Zen Kaku Gothic New", sans-serif;
  font-size: 0.85rem;
  font-weight: 700;
  color: #fff;
  background: var(--lounge-navy);
  border: none;
  border-radius: 6px;
  cursor: pointer;
}

/* パンくず：「ホーム」「都市名」「サロン/ライブラリ」より後ろ（カテゴリ/現在地）はhub_render_breadcrumb_json()側で
   1つの<li class="p-breadcrumb__item--tail">にまとめて出力している（別々の<li>のままだとSPで項目ごとに
   バラバラに折り返されてしまうため）。まとめた分、項目間の矢印はSWELL標準の:after（各<li>の後ろに1つ）が
   使えなくなるので、同じ見た目の矢印を内側の.p-breadcrumb__text同士の間に個別に描き直す */
#breadcrumb .p-breadcrumb__item--tail .p-breadcrumb__text {
  display: inline;
}
/* 「その他」等、矢印を後ろに付ける要素だけはinline-flexにして、矢印(::after)をflexの
   align-items:centerで揃える。vertical-align:middle（ベースライン基準）だと、外側の<li>の
   ::before（flexのalign-items:centerで中央寄せ）と揃え方式が異なり、段差が出ていたため統一する */
#breadcrumb .p-breadcrumb__item--tail .p-breadcrumb__text:not(:last-child) {
  display: inline-flex;
  align-items: center;
}
#breadcrumb .p-breadcrumb__item--tail .p-breadcrumb__text:not(:last-child)::after {
  content: "";
  display: inline-block;
  background-color: currentColor;
  -webkit-clip-path: polygon(45% 9%, 75% 51%, 45% 90%, 30% 90%, 60% 50%, 30% 10%);
  clip-path: polygon(45% 9%, 75% 51%, 45% 90%, 30% 90%, 60% 50%, 30% 10%);
  opacity: .8;
  width: 10px;
  height: 10px;
  margin: 0 4px;
  flex-shrink: 0;
}

/* 「都市名」の直後（.p-breadcrumb__item--tailの直前）にあった矢印は、SPで2行に折り返すと1行目の
   末尾に取り残されて見えるため非表示にし、代わりに.p-breadcrumb__item--tail自体の先頭に同じ矢印を付け直す
   （1行表示のPCでは見た目上どちらでも同じ位置になるため画面幅を問わず適用してよい） */
#breadcrumb .p-breadcrumb__item:has(+ .p-breadcrumb__item--tail)::after {
  display: none !important;
}
/* ::before（矢印）と.p-breadcrumb__tail-inner（省略記号で切れる文字部分）を横並びにする。
   矢印を省略対象の外に出すことで、文字が長くて切れる時に矢印ごと消えるのを防ぐ */
#breadcrumb .p-breadcrumb__item--tail {
  display: flex;
  align-items: center;
}
/* tail-inner自体（末尾の記事名を含む方）はflex化すると省略記号(text-overflow:ellipsis)が
   効かなくなる（flexコンテナには適用されない仕様）ため、display:flexにはしない。
   矢印を伴う「その他」側の縦位置揃えは上のinline-flexルールで対応済み */
#breadcrumb .p-breadcrumb__item--tail::before {
  content: "";
  display: inline-block;
  background-color: currentColor;
  -webkit-clip-path: polygon(45% 9%, 75% 51%, 45% 90%, 30% 90%, 60% 50%, 30% 10%);
  clip-path: polygon(45% 9%, 75% 51%, 45% 90%, 30% 90%, 60% 50%, 30% 10%);
  opacity: .8;
  width: 10px;
  height: 10px;
  flex-shrink: 0;
}

/* SP：パンくずが4階層以上（サロン/ライブラリの記事・トピック詳細ページ等）になると横幅いっぱいまで伸び、
   右端固定のソーシャルログインボタンと重なることが多発していたための対策。
   「ホーム・都市名・サロン/ライブラリ」までは個別の<li>のまま通常のflex-wrapに任せ（1行目に入りきる分は
   そのまま1行目に表示される）、.p-breadcrumb__item--tail（まとめた1つの<li>、カテゴリ以降）だけを
   必ず自分の行の頭から使う1行として折り返す */
@media (max-width: 768px) {
  #breadcrumb .p-breadcrumb__list {
    flex-wrap: wrap !important;
    row-gap: 4px;
  }
  /* 2行目は1つの<li>なので、この要素自体にellipsisを掛けるだけで「複数項目をまとめて1行に収め、
     はみ出た分だけ末尾を…で切る」が実現できる（別々の<li>のままだと複数要素にまたがる省略はCSSでは書けない）。
     セレクタをわざと3段（.p-breadcrumb__list .p-breadcrumb__item.p-breadcrumb__item--tail）にして
     詳細度を上げているのは、下の「パンくずの最後の項目を省略」ルール
     （#breadcrumb .p-breadcrumb__item:last-of-type、:last-of-typeも1詳細度分としてカウントされる）と
     詳細度が同点だと、CSSの並び順的に後ろにあるそちらが勝ってしまうため。
     .p-breadcrumb__item--tail自体もlast-of-typeに該当するため、詳細度で負けるとflex-basisが
     auto に戻されて2行目に折り返らなくなっていた（実際にこの現象が起きていた）。
     ellipsisは<li>自体ではなく内側の.p-breadcrumb__tail-innerに掛ける：文字が省略されるほど長い時、
     <li>直下にある矢印(::before)まで同じ省略ボックスに入っていると矢印ごと消えてしまうブラウザ挙動が
     あったため、矢印は省略対象の外（<li>はflexにして::beforeと.tail-innerを横に並べるだけ）にする */
  #breadcrumb .p-breadcrumb__list .p-breadcrumb__item.p-breadcrumb__item--tail {
    flex: 0 0 100% !important;
    display: flex !important;
    align-items: center;
    min-width: 0 !important;
  }
  #breadcrumb .p-breadcrumb__item--tail .p-breadcrumb__tail-inner {
    min-width: 0;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
  }
  /* ソーシャルログインボタンは、2行目（.p-breadcrumb__item--tail）が実際に存在するページだけ
     1行目の高さに固定する。crumbsが2つ以下（バンコクトップ等）で2行目が無いページでは、
     従来通りbreadcrumb全体の縦中央に揃える（top:0を全ページ一律に適用すると1行しか無いページで
     ボックスの外にはみ出してしまっていた） */
  #breadcrumb:has(.p-breadcrumb__item--tail) .lounge-auth {
    /* .lounge-auth__trigger自体に上下4pxのpaddingがあるため、top:0だとボタンの見た目が
       1行目より少し下にずれ、2行目のテキストに近づいてしまう。paddingの分だけ引き上げる */
    top: -4px;
    transform: none;
  }
}

/* ヘッダー画像（ヒーローのすぐ上、400px・左寄せ）。線画のシルエットをmask-imageで抜き、
   色は--lounge-accentで正確に指定する（元画像PNGの色がテーマカラーと微妙にズレていたため）。
   実寸1520×161pxに合わせてaspect-ratioを指定 */
.lounge-bkk-header-banner { margin-bottom: 8px; }
.lounge-bkk-header-banner__img {
  display: block;
  width: 400px;
  max-width: 100%;
  aspect-ratio: 1520 / 161;
  margin-left: 0;
  margin-right: auto;
  background-color: var(--lounge-accent);
  -webkit-mask-image: url('https://chuzai-lounge.sts136.com/wp-content/uploads/2026/07/バンコク駐在ラウンジ-ヘッダー画像.png');
  mask-image: url('https://chuzai-lounge.sts136.com/wp-content/uploads/2026/07/バンコク駐在ラウンジ-ヘッダー画像.png');
  -webkit-mask-repeat: no-repeat;
  mask-repeat: no-repeat;
  -webkit-mask-size: contain;
  mask-size: contain;
  -webkit-mask-position: left center;
  mask-position: left center;
}

/* ヒーロー：写真オーバーレイ型（Coverブロック相当のマークアップ、角は四角のまま） */
.lounge-bkk-hero-cover {
  position: relative;
  overflow: hidden;
  min-height: 480px;
  margin-bottom: 2px;
  display: flex;
  align-items: flex-end;
  box-shadow: var(--lounge-shadow);
}
.lounge-bkk-hero-cover__bg {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  z-index: 0;
}
.lounge-bkk-hero-cover__scrim {
  position: absolute;
  inset: 0;
  z-index: 1;
  background: linear-gradient(0deg, rgba(43,32,24,0.85) 0%, rgba(43,32,24,0.45) 50%, rgba(43,32,24,0.05) 85%);
}
.lounge-bkk-hero-cover__inner {
  position: relative;
  z-index: 2;
  max-width: 620px;
  padding: 40px 44px;
}
.lounge-bkk-hero-cover__eyebrow {
  font-size: 0.78rem;
  letter-spacing: 0.28em;
  font-weight: 600;
  color: var(--lounge-accent);
  text-transform: uppercase;
  margin: 0;
}
.lounge-bkk-hero-cover__title {
  font-family: "Shippori Mincho", "Noto Serif JP", serif;
  font-size: 2.6rem;
  font-weight: 600;
  line-height: 1.3;
  color: #fff;
  margin: 14px 0 16px;
  letter-spacing: 0.04em;
}
.lounge-bkk-hero-cover__divider {
  display: inline-block;
  width: 52px;
  height: 2px;
  background: var(--lounge-accent);
  margin-bottom: 16px;
}
.lounge-bkk-hero-cover__lead {
  font-family: "Klee One", "Zen Kaku Gothic New", sans-serif;
  font-size: 1.1rem;
  font-weight: 400;
  line-height: 1.9;
  color: rgba(255,255,255,0.92);
  margin: 0;
}

/* ==================================================================
   サロン（bbPress：フォーラム一覧・トピック一覧・トピック個別）
   ================================================================== */


/* ヒーロー〜コンテンツ間の余白（バンコクトップと同じ調整） */
.bbpress .l-content { padding-top: 16px !important; }

/* バンコクトップにはない.post_content（WP標準の投稿本文ラッパー）がbbPressページには存在し、
   左右16pxパディングを持つため.lounge-bkk-wrapの860px指定と二重になり本文列が狭くなっていた。撤去して揃える */
.bbpress .post_content { padding: 0 !important; }

/* バンコクトップは.l-content（display:flex）の直接の子として.lounge-bkk-wrapが並ぶが、
   bbPressページは間に.l-mainContent（flex-grow:0でSWELLが独自の幅計算をする）が挟まるため、
   同じ860px幅に届かず本文列が狭く・左に寄って見えていた。明示的に860px幅を与え、実測差分(18px)だけ
   左マージンを足して揃える（ブラウザに実際にCSSを注入し、バンコクトップと同じ座標になることを確認済み） */
@media (min-width: 769px) {
  .bbpress .l-mainContent {
    flex: 0 1 860px !important;
    width: 860px !important;
    max-width: 860px !important;
    margin-left: 18px !important;
  }
}

/* コンテンツ列：バンコクトップの.lounge-bkk-wrapをそのまま使い回す（別クラスを作らない） */

/* パンくず：バンコクトップの#breadcrumbと全く同じ体裁（同じ#breadcrumbを使い回すのでclass/idごと共通。
   中身はhub_render_breadcrumb()のJSが書き換える） */
.bbpress #sidebar,
.bbpress .lounge-bkk-wrap,
.bbpress #breadcrumb {
  font-family: "Klee One", "Zen Kaku Gothic New", sans-serif !important;
}
.bbpress #breadcrumb {
  background-color: var(--lounge-bg) !important;
  position: relative;
  z-index: 20;
  overflow: visible !important;
}
.bbpress #content,
.bbpress .l-content,
.bbpress .l-container {
  overflow: visible !important;
}
.bbpress #breadcrumb > * {
  position: relative;
  max-width: 860px;
  margin-left: auto !important;
  margin-right: auto !important;
  padding-left: 16px !important;
  padding-right: 16px !important;
  box-sizing: border-box;
}
@media (min-width: 769px) {
  .bbpress #breadcrumb > * {
    margin-left: calc(50% - 430px - 152px) !important;
  }
}
.bbpress #breadcrumb a,
.bbpress #breadcrumb span,
.bbpress #breadcrumb li {
  color: var(--lounge-accent) !important;
  font-size: 0.82rem !important;
  font-weight: 700 !important;
}
/* ↑の金色ルールがlounge-authウィジェット内のspan/buttonを巻き込むため、auth内だけ濃紺に戻す */
.bbpress #breadcrumb .lounge-auth a,
.bbpress #breadcrumb .lounge-auth span,
.bbpress #breadcrumb .lounge-auth li,
.bbpress #breadcrumb .lounge-auth label,
.bbpress #breadcrumb .lounge-auth button {
  color: var(--lounge-navy) !important;
  font-size: inherit !important;
  font-weight: inherit !important;
}
/* SWELLには3番目以降のパンくず要素（特にリンク無し＝現在地のspan）を隠す既存ルールがあり、
   サロン/ライブラリのように3階層以上になる場合に最後の項目が消えてしまっていた。強制的に復元する */
.bbpress #breadcrumb .p-breadcrumb__text {
  display: flex !important;
}
/* 上記のdisplay:flex !importantは3階層目以降の項目をまとめた.p-breadcrumb__item--tail（下記参照）の
   中身にもかかってしまい、flexが各要素をブロック化して縦積みになる（1項目ずつ改行される）原因になっていた。
   まとめたグループの中だけは通常のインライン文章に戻す（詳細度をこちらの方が高くして上書き） */
.bbpress #breadcrumb .p-breadcrumb__item--tail .p-breadcrumb__text {
  display: inline !important;
}

/* hub_render_breadcrumb_json()でパンくずの中身をJS書き換えする全ページ（バンコクトップ・サロン・ライブラリ・検索結果）共通の不具合：
   SWELL標準CSS（main.css）の`.p-breadcrumb__item:after`は最後の項目かどうかに関係なく矢印を描画する仕様で、
   通常は最後の`<li>`が`:last-child`になることで別ルールが打ち消しているのではなく、単に他の対策で見えなくしている前提だった。
   ところが本サイトではソーシャルログインウィジェット（.lounge-auth）を同じ<ol>内・<li>群の直後に
   兄弟要素として追加しているため、実際の最後の<li>が`:last-child`ではなくなり、`:last-child`を使った
   打ち消しは効かない。<li>同士の中での末尾判定には`:last-of-type`（タグ名基準）を使うこと。
   なお.p-breadcrumb__item--tail（3階層目以降をまとめた1つの<li>）の中には複数の.p-breadcrumb__textが
   並ぶため、末尾判定に:last-childも合わせないと「本当に最後の1つ」ではなく「中の全部」を消してしまう
   （グループ内の区切り矢印まで消えるとサロン/医療・病院の間の矢印が無くなってしまう）。
   ::beforeはここでは対象にしない：.p-breadcrumb__item--tail::before（下記）に区切り矢印の付け替えを
   描画しているため、::beforeまで一律に消すとその矢印まで消えてしまう */
#breadcrumb .p-breadcrumb__item:last-of-type::after,
#breadcrumb .p-breadcrumb__item:last-of-type .p-breadcrumb__text:last-child::after {
  display: none !important;
  content: none !important;
}

/* サイドバー「SNSリンク」ウィジェット：SWELL標準はcenter寄せなので左寄せに変更（サイドバー共通のためbbpress限定にしない） */
#sidebar .widget_swell_sns_links .c-iconList {
  justify-content: flex-start !important;
}

/* パンくずの最後の項目（現在地）が長いと、サイドバーの上まではみ出していたため、
   PCは1行で収まる分だけ表示し省略（…）、SPは2行までは折り返し、それでも収まらなければ省略する。
   ソーシャルログインウィジェットが同じ<ol>内に兄弟要素として入るため:last-childではなく:last-of-typeを使う。
   .p-breadcrumb__item--tail（3階層目以降をまとめた1つの<li>）の場合、省略は<li>自体ではなく内側の
   .p-breadcrumb__tail-inner（矢印::beforeを含まない文字部分だけ）に掛ける。<li>自体に掛けると、
   文字が長くて省略される時に矢印(::before)まで一緒に消えてしまうブラウザ挙動があったため
   （タイトルが短く省略されないトピックでは矢印が残る一方、長いトピックだけ矢印が消える形で発覚）。
   バンコクトップ以外（サロン=.bbpress限定だったが）ライブラリ・検索結果でも同じ構造を使うためページ限定にしない */
#breadcrumb .p-breadcrumb__item:last-of-type {
  flex: 1 1 auto !important;
  min-width: 0 !important;
}
#breadcrumb .p-breadcrumb__item:last-of-type:not(.p-breadcrumb__item--tail) {
  overflow: hidden !important;
  white-space: nowrap !important;
  text-overflow: ellipsis !important;
}
#breadcrumb .p-breadcrumb__item--tail:last-of-type .p-breadcrumb__tail-inner {
  min-width: 0;
  overflow: hidden;
  white-space: nowrap;
  text-overflow: ellipsis;
}
/* ヒーローはバンコクトップの.lounge-bkk-hero-coverをそのまま使い回す（別クラスを作らない）。
   ただしbbPressページでは.post_content内にあるため、SWELLの記事用見出しデフォルト（.post_content h3等、
   クラス1つより詳細度が高い）がタイトル/キャッチフレーズのフォントサイズと謎の下線(::before)を上書きしてしまう。
   実機のDevToolsで確認したところ::beforeが下線の正体だったため、!importantと::before/::after無効化で対抗する */
.bbpress .lounge-bkk-hero-cover__eyebrow::before,
.bbpress .lounge-bkk-hero-cover__eyebrow::after,
.bbpress .lounge-bkk-hero-cover__title::before,
.bbpress .lounge-bkk-hero-cover__title::after,
.bbpress .lounge-bkk-hero-cover__lead::before,
.bbpress .lounge-bkk-hero-cover__lead::after {
  content: none !important;
  display: none !important;
}
.bbpress .lounge-bkk-hero-cover__eyebrow {
  font-size: 0.78rem !important;
  letter-spacing: 0.28em !important;
  font-weight: 600 !important;
  color: var(--lounge-accent) !important;
  text-transform: uppercase !important;
  margin: 0 !important;
  border: none !important;
}
.bbpress .lounge-bkk-hero-cover__title {
  font-family: "Shippori Mincho", "Noto Serif JP", serif !important;
  font-size: 2.6rem !important;
  font-weight: 600 !important;
  line-height: 1.3 !important;
  color: #fff !important;
  margin: 14px 0 16px !important;
  padding: 0 !important;
  letter-spacing: 0.04em !important;
  border: none !important;
}
/* キャッチフレーズが右にずれていた原因はSWELL本体の.post_content h3:where(...)が付与するpadding-left。
   :where()は詳細度0のためクラス指定より弱いはずが、paddingは他プロパティと違い!importantなしでは
   後勝ちで上書きされていたため、ここでもpadding:0を明示する */
.bbpress .lounge-bkk-hero-cover__lead {
  font-family: "Klee One", "Zen Kaku Gothic New", sans-serif !important;
  font-size: 1.1rem !important;
  font-weight: 400 !important;
  line-height: 1.9 !important;
  color: rgba(255,255,255,0.92) !important;
  margin: 0 !important;
  padding: 0 !important;
  border: none !important;
}
@media (max-width: 768px) {
  .bbpress .lounge-bkk-hero-cover__title { font-size: 1.9rem !important; }
}

/* トピック個別ページ：トピック名が4行になっていたため、ヒーロー内側の幅を80px広げて3行に収める */
.single-topic .lounge-bkk-hero-cover__inner {
  max-width: 700px !important;
}

/* トピック個別ページ：メタ行・本文 */
.lounge-salon-topic-meta {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: flex-end;
  gap: 14px;
  font-size: 0.88rem;
  color: var(--lounge-muted);
  margin: 0 0 18px;
}
.lounge-salon-topic-content {
  margin-bottom: 20px;
}

/* ボヤキ壁：サロンの新着トピック・返信が1行で右から左へスライド表示 */
.lounge-bkk-murmur {
  margin-bottom: 10px;
  padding: 4px 8px;
}
.lounge-bkk-murmur__track {
  position: relative;
  height: 30px;
  line-height: 30px;
  overflow: hidden;
}
.lounge-bkk-murmur__item {
  position: absolute;
  inset: 0;
  font-family: "Klee One", "Zen Kaku Gothic New", sans-serif;
  font-size: 0.82rem; /* パンくずと同サイズ */
  color: var(--lounge-muted);
  text-decoration: none;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  animation-name: lounge-murmur-slide;
  animation-timing-function: ease-out;
  animation-iteration-count: infinite;
  transform: translateX(100%);
}
.lounge-bkk-murmur__icon {
  display: inline-block;
  margin-right: 5px;
}
.lounge-bkk-murmur__item:hover { color: var(--lounge-accent); }

/* SP=20文字／PC=40文字 の出し分け（768pxはヒーロー等と同じブレークポイント） */
.lounge-bkk-murmur__text--pc { display: none; }
@media (min-width: 769px) {
  .lounge-bkk-murmur__text--sp { display: none; }
  .lounge-bkk-murmur__text--pc { display: inline; }
}

/* セクションカード */
.lounge-bkk-sections {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 16px;
  margin-bottom: 48px;
}
.lounge-bkk-card {
  position: relative;
  display: flex;
  align-items: flex-end;
  min-height: 220px;
  border-radius: 16px;
  overflow: hidden;
  text-decoration: none;
  box-shadow: var(--lounge-shadow);
  transition: box-shadow 0.2s, transform 0.2s;
}
.lounge-bkk-card:hover {
  box-shadow: var(--lounge-shadow-h);
  transform: translateY(-2px);
}
.lounge-bkk-card .wp-block-cover__image-background {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  z-index: 0;
}
.lounge-bkk-card__scrim {
  position: absolute;
  inset: 0;
  z-index: 1;
  background: linear-gradient(0deg, rgba(43,32,24,0.82) 0%, rgba(43,32,24,0.25) 60%, rgba(43,32,24,0) 100%);
}
.lounge-bkk-card__inner {
  position: relative;
  z-index: 2;
  padding: 20px 22px;
}

.lounge-bkk-card__title {
  font-size: 1.4rem;
  font-weight: 700;
  color: #fff;
  margin: 0;
  font-family: "Shippori Mincho", "Noto Serif JP", serif;
}
.lounge-bkk-card__divider {
  display: inline-block;
  width: 36px;
  height: 2px;
  margin: 10px 0 12px;
}
.lounge-bkk-card--salon .lounge-bkk-card__divider   { background: var(--lounge-rose); }
.lounge-bkk-card--library .lounge-bkk-card__divider { background: var(--lounge-accent); }
.lounge-bkk-card__desc {
  font-size: 0.95rem;
  font-weight: 400;
  color: rgba(255,255,255,0.88);
  margin: 0;
  line-height: 1.6;
}
.lounge-bkk-card__note {
  font-family: "Klee One", "Zen Kaku Gothic New", sans-serif;
  font-size: 0.78rem;
  color: rgba(255,255,255,0.72);
  margin: 8px 0 0;
}

.lounge-bkk-card__lock {
  position: absolute;
  top: 14px;
  right: 16px;
  font-size: 1.4rem;
  line-height: 1;
  filter: drop-shadow(0 1px 3px rgba(0,0,0,0.5));
  z-index: 10;
  pointer-events: none;
}

/* セクション共通 */
.lounge-bkk-section { margin-bottom: 40px; }
.lounge-bkk-section__head {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  margin-bottom: 14px;
}
.lounge-bkk-section__title {
  font-size: 1.05rem;
  font-weight: 700;
  color: var(--lounge-text);
  margin: 0;
}
.lounge-bkk-section__more {
  font-size: 0.82rem;
  color: var(--lounge-muted);
  text-decoration: none;
}
.lounge-bkk-section__more:hover { color: var(--lounge-rose-dp); }

/* ライブラリカードグリッド */
.lounge-bkk-lib-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 12px;
}
.lounge-bkk-lib-card {
  display: flex;
  flex-direction: column;
  gap: 8px;
  padding: 16px;
  background: var(--lounge-card);
  border-radius: 12px;
  border: 1px solid var(--lounge-line);
  box-shadow: var(--lounge-shadow);
  text-decoration: none;
  color: var(--lounge-text);
  transition: box-shadow 0.2s, transform 0.2s, background-color 0.2s;
}
.lounge-bkk-lib-card:hover { background: var(--lounge-blush); box-shadow: var(--lounge-shadow-h); transform: translateY(-2px); }
.lounge-bkk-lib-card .lounge-lib-tag { align-self: flex-start; padding-right: 17px; }
.lounge-bkk-lib-card__title {
  font-size: 0.92rem;
  font-weight: 700;
  line-height: 1.45;
  margin: 0;
}
.lounge-bkk-lib-card__headline {
  font-size: 0.8rem;
  color: var(--lounge-muted);
  margin: 0;
  line-height: 1.5;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}
.lounge-bkk-lib-card__meta {
  display: flex;
  gap: 10px;
  font-size: 0.78rem;
  color: var(--lounge-muted);
  margin-top: auto;
}
.lounge-bkk-lib-card__date { margin-left: auto; }

/* トピックリスト */
.lounge-bkk-topic-list {
  list-style: none;
  margin: 0;
  padding: 0;
  background: var(--lounge-card);
  border-radius: 14px;
  border: 1px solid var(--lounge-line);
  box-shadow: var(--lounge-shadow);
  overflow: hidden;
}
.lounge-bkk-topic-item { border-bottom: 1px solid var(--lounge-line); }
.lounge-bkk-topic-item:last-child { border-bottom: none; }
/* 右カラム（返信・イイネ・日付）はflexの成り行き任せだと、行ごとにタイトルの長さや日付の桁数で
   横位置が微妙にずれて見えるため、grid化して固定幅の列にする（タイトルが長い行・短い行問わず
   右カラムの開始位置を揃える）。タイトル側の幅も少し狭め、長いタイトルが早めに折り返すようにする */
.lounge-bkk-topic-item__link {
  display: grid;
  grid-template-columns: 1fr 130px;
  align-items: center;
  gap: 27px;
  padding: 13px 18px;
  text-decoration: none;
  color: var(--lounge-text);
  transition: background 0.15s;
}
.lounge-bkk-topic-item__link:hover { background: var(--lounge-blush); }
/* カテゴリアイコン（ライブラリ・サロン共通、サイズ違い） */
.lounge-cat-icon { display: inline; line-height: 1; }
.lounge-cat-icon--lib   { font-size: 0.9em; margin-right: 3px; }
.lounge-cat-icon--salon { font-size: 0.92rem; margin-right: 6px; vertical-align: middle; }

/* アイコン＋タイトルを通常のインライン文章として流し、タイトルが長い時だけ自然に折り返す
   （flexで組むと要素ごと丸ごと次の行に送られてしまい、アイコンだけ孤立して見えるため） */
.lounge-bkk-topic-item__row1 {
  min-width: 0;
}
.lounge-bkk-topic-item__title {
  display: inline;
  font-size: 0.92rem;
  font-weight: 400;
  line-height: 1.4;
  margin: 0;
}
.lounge-bkk-topic-item__meta {
  display: flex;
  align-items: center;
  justify-content: flex-start;
  gap: 12px;
  font-size: 0.78rem;
  color: var(--lounge-muted);
  white-space: nowrap;
}
.lounge-bkk-topic-item__date { margin-left: auto; }

/* SWELL ヘッダー等を非表示（ライブラリ・サロンページと同様。ヘッダー本体は全ページ共通ルールで非表示済み） */
.page-template-page-bangkok-top .l-breadcrumb,
.page-template-page-bangkok-top .l-mainContent > .l-article > header,
.page-template-page-bangkok-top .l-mainContent > .l-article > .c-entry__header,
.page-template-page-bangkok-top .entry-title { display: none !important; }
.page-template-page-bangkok-top .l-mainContent { padding-top: 0 !important; }

/* パンくずとヒーローの間の余白（.l-contentのpadding-top: 2em）を消す。PC/SP共通 */
.page-template-page-bangkok-top .l-content { padding-top: 16px !important; }

/* レスポンシブ */
@media (max-width: 768px) {
  /* .lounge-bkk-wrap自身の左右paddingをやめ、親.l-containerのpadding（--swl-pad_container）だけに揃える。
     これでサイドバーと同じ余白の出所を共有する */
  .lounge-bkk-wrap { padding-left: 0; padding-right: 0; }

  /* ヒーロー・ボヤキ壁・ヘッダー画像コンテナだけ横幅100%（ビューポート基準のフルブリード。祖先要素のpaddingの層数に関係なく効く） */
  .lounge-bkk-hero-cover,
  .lounge-bkk-murmur,
  .lounge-bkk-header-banner { width: 100vw; margin-left: calc(50% - 50vw); margin-right: calc(50% - 50vw); }
  .lounge-bkk-hero-cover { min-height: 380px; }
  .lounge-bkk-hero-cover__inner { padding: 28px 24px; max-width: 100%; }
  .lounge-bkk-hero-cover__title { font-size: 1.9rem; }
  .lounge-bkk-murmur { padding-left: 16px; padding-right: 16px; }
  .lounge-bkk-sections { grid-template-columns: 1fr; }
  .lounge-bkk-lib-grid { grid-template-columns: 1fr; }
  .lounge-bkk-card__inner { padding: 16px 18px; }

  /* サロン新着：1行目=アイコン+タイトル、2行目=返信・イイネ・日付（ライブラリ新着と同じ構成） */
  .lounge-bkk-topic-item__link { grid-template-columns: 1fr; gap: 4px 12px; }
}

/* ソーシャルシェアボタン：SWELL本体の.c-shareBtnsをそのまま使う（lounge_render_share_buttons()参照）。
   当初<ul class="c-shareBtns__list"><li class="c-shareBtns__item -facebook">…の入れ子構造と
   ネットワーク別クラス（-facebook/-twitter-x等）を書き忘れており、ブランドカラーが付かず縦積みに
   なっていた。正しい構造に直した上で、念のため横並びだけは明示的にも保険を掛けておく */
.c-shareBtns.-bottom {
  margin: 24px 0;
}
.c-shareBtns.-bottom .c-shareBtns__list {
  display: flex !important;
  flex-wrap: wrap;
  gap: 8px;
  list-style: none;
  padding: 0;
  margin: 0;
}
/* SWELL本体のブランドカラー・サイズ指定は、記事本文の特定ラッパー（.post_content等）配下でしか
   効かない模様で、サロントピックページ（.post_contentの中にたまたま収まっていた）では正しく色が付いたが、
   ライブラリ記事ページ（独自マークアップで.post_content配下にならない）では透明・幅0のまま崩れていた。
   ページ構造に依存しないよう、ブランドカラー・サイズをここで直接指定する
   （色はサロントピックページで実際に適用されていた値をそのまま踏襲） */
.c-shareBtns.-bottom .c-shareBtns__item {
  flex: 1;
  list-style: none;
}
.c-shareBtns.-bottom .c-shareBtns__btn {
  display: flex;
  align-items: center;
  justify-content: center;
  height: 34px;
  padding: 8px 0;
}
.c-shareBtns.-bottom .c-shareBtns__icon {
  color: #fff;
  font-size: 18px;
}
.c-shareBtns.-bottom .c-shareBtns__item.-facebook .c-shareBtns__btn { background-color: #3b5998; }
.c-shareBtns.-bottom .c-shareBtns__item.-twitter-x .c-shareBtns__btn { background-color: #000; }
.c-shareBtns.-bottom .c-shareBtns__item.-hatebu .c-shareBtns__btn { background-color: #00a4de; }
.c-shareBtns.-bottom .c-shareBtns__item.-line .c-shareBtns__btn { background-color: #00c300; }

/* ── 駐在ラウンジトップ（複数都市を統括するページ。都市別--lounge-accentには依存せず、
   白＋グラファイト系の--lounge-neutral-*トークンで中立に統一する）
   ================================================================== */
/* 注意：この".page-template-page-lounge-top"クラスは<body>ではなく#body_wrap（bodyの内側のdiv）に
   付与される（本サイトのSWELL実装の実際のDOM構造を確認済み）。"body.page-template-..."という
   子孫を伴わないセレクタは絶対にマッチしないので使わないこと */
.page-template-page-lounge-top .l-breadcrumb,
.page-template-page-lounge-top .l-mainContent > .l-article > header,
.page-template-page-lounge-top .l-mainContent > .l-article > .c-entry__header,
.page-template-page-lounge-top .entry-title { display: none !important; }
.page-template-page-lounge-top .l-mainContent { padding-top: 0 !important; }
.page-template-page-lounge-top .l-content { padding-top: 0 !important; }
/* ヒーロー上の空白の正体はpaddingではなくSWELLの「投稿スライダー」(#post_slider)。
   中身が空のまま高さだけ確保されて表示されていたため非表示にする */
.page-template-page-lounge-top #post_slider { display: none !important; }
.page-template-page-lounge-top { background-color: var(--lounge-neutral-bg); }

/* サイドバーはバンコク固有のウィジェット（最近のトピック等）で、複数都市を統括するこのページには
   出す情報がないため非表示にし、1カラムにする。
   このテンプレートでは#content.l-content の直接の子として.lounge-top-wrapと#sidebarが並ぶ
   （.l-mainContentというラッパーは存在しない）。#content自体をflexからblockに変えることで、
   #sidebarのflex-basis計算に関係なく.lounge-top-wrapが確実に全幅を取るようにする */
.page-template-page-lounge-top #content.l-content { display: block !important; }
.page-template-page-lounge-top #sidebar { display: none !important; }

/* バンコクトップの.lounge-bkk-wrap（860px幅・左右16pxパディング＝実質828px）と本文列の横幅を揃える */
.lounge-top-wrap {
  max-width: 860px;
  margin: 0 auto;
  padding: 0 16px 80px;
}

/* ログイン/アカウント：ヒーロー上の空きスペース右端に配置 */
.lounge-top-auth-row {
  position: relative;
  height: 48px;
}
.lounge-top-auth-row .lounge-auth__trigger { color: var(--lounge-neutral-ink); }

/* ヒーロー：写真オーバーレイ型ではなく白背景＋既存の飛行機アニメーション（.lounge-plane-wrap）のみ */
.lounge-top-hero {
  position: relative;
  overflow: hidden;
  min-height: 420px;
  margin: 50px -16px 8px;
  padding: 72px 24px;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  text-align: center;
  background: var(--lounge-neutral-bg);
  border: 1px solid var(--lounge-neutral-line);
}
.lounge-top-hero__eyebrow {
  font-size: 0.78rem;
  letter-spacing: 0.28em;
  font-weight: 600;
  color: var(--lounge-neutral-sub);
  text-transform: uppercase;
  margin: 0;
  font-family: "Klee One", "Zen Kaku Gothic New", "Hiragino Kaku Gothic ProN", Meiryo, sans-serif;
}
.lounge-top-hero__title {
  font-family: "Shippori Mincho", "Noto Serif JP", "Hiragino Mincho ProN", serif;
  font-size: 2.6rem;
  font-weight: 600;
  line-height: 1.3;
  color: var(--lounge-neutral-ink);
  margin: 14px 0 16px;
  letter-spacing: 0.04em;
}
.lounge-top-hero__divider {
  display: inline-block;
  width: 52px;
  height: 2px;
  background: var(--lounge-neutral-ink);
  margin-bottom: 16px;
}
.lounge-top-hero__lead {
  font-family: "Klee One", "Zen Kaku Gothic New", "Hiragino Kaku Gothic ProN", Meiryo, sans-serif;
  font-size: 1.1rem;
  font-weight: 400;
  line-height: 1.9;
  color: var(--lounge-neutral-ink);
  margin: 0;
}

/* 駐在ラウンジとは */
.lounge-top-about {
  max-width: 620px;
  margin: 48px auto;
  text-align: center;
}
.lounge-top-about__title {
  font-family: "Shippori Mincho", "Noto Serif JP", "Hiragino Mincho ProN", serif;
  font-size: 1.2rem;
  font-weight: 600;
  color: var(--lounge-neutral-ink);
  margin: 0 0 14px;
}
.lounge-top-about__text {
  font-family: "Klee One", "Zen Kaku Gothic New", "Hiragino Kaku Gothic ProN", Meiryo, sans-serif;
  font-size: 0.95rem;
  line-height: 1.9;
  color: var(--lounge-neutral-ink);
  margin: 0;
}

/* 都市ナビ */
.lounge-top-cities {
  text-align: center;
  margin-top: 56px;
}
/* フォント・サイズ・太さは.lounge-top-about__titleを共有クラスとして再利用（margin間隔だけここで上書き） */
.lounge-top-cities__label {
  margin: 0 0 22px;
}
.lounge-top-city-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 16px;
  max-width: 600px;
  margin: 0 auto;
}

/* 都市カード共通：稼働中の都市は各都市トップページと同じアイキャッチ写真のオーバーレイ型（バンコクトップの
   .lounge-bkk-cardと同じCoverブロック構造）。準備中の都市はまだ写真がないため、写真なしの中立プレースホルダー */
.lounge-top-city-card {
  position: relative;
  overflow: hidden;
  border-radius: 18px;
  text-decoration: none;
  transition: box-shadow 0.2s, transform 0.2s;
}

/* 稼働中都市（写真あり）：バンコクトップの.lounge-bkk-cardと同じCoverブロック構造を踏襲。
   縦横比は16:9に固定（aspect-ratioで固定するのはmin-heightだけだと横幅次第で縦横比が変わってしまうため）。
   中身（国旗＋テキストの横並びグループ）はPC/SPとも上下左右中央に配置する。
   写真全体を均一に暗くして、中央に置いた文字がどの位置でも読めるようにする
   （下端だけ暗いグラデーションだと中央配置には合わないため単純な半透明の黒にしている） */
.lounge-top-city-card--active {
  display: flex;
  align-items: center;
  justify-content: center;
  aspect-ratio: 16 / 9;
  color: #fff;
  box-shadow: 0 4px 20px rgba(43,43,46,0.14);
}
.lounge-top-city-card--active:hover {
  box-shadow: 0 14px 40px rgba(43,43,46,0.22);
  transform: translateY(-4px);
}
.lounge-top-city-card--active .wp-block-cover__image-background {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  z-index: 0;
}
.lounge-top-city-card__scrim {
  position: absolute;
  inset: 0;
  z-index: 1;
  background: rgba(20,20,22,0.5);
}
.lounge-top-city-card--bangkok {
  border-top: 4px solid var(--lounge-gold);
}
.lounge-top-city-card__inner {
  position: relative;
  z-index: 2;
  display: flex;
  align-items: center;
  flex-wrap: nowrap;
  justify-content: center;
  gap: 12px;
  padding: 18px 20px;
}

/* 準備中都市：写真なし・グレーアウトの中立プレースホルダー
   枠と影を白背景でも視認できるよう、カード自体には opacity を掛けず
   中身（アイコン・テキスト）だけを薄くする。
   稼働中カードと縦横比（16:9）・中央配置を揃える。中身（国旗＋テキスト）は横並びのまま中央に置く */
.lounge-top-city-card--soon {
  display: flex;
  align-items: center;
  justify-content: center;
  flex-wrap: nowrap;
  aspect-ratio: 16 / 9;
  gap: 12px;
  padding: 18px 20px;
  border: 1px solid #D8D3CC;
  background: var(--lounge-neutral-bg);
  box-shadow: 0 4px 16px rgba(43,43,46,0.10);
  cursor: default;
}
.lounge-top-city-card--soon .lounge-top-city-card__flag,
.lounge-top-city-card--soon .lounge-top-city-card__body {
  opacity: 0.5;
}
/* .lounge-top-city-card__bodyのflex:1 1 autoは、稼働中カードでは間に.lounge-top-city-card__inner
   （中身サイズぴったりの入れ物）が挟まるため悪さをしないが、次の都市カードはこのラッパーが無く
   直接カード（aspect-ratioで実寸が大きい）のflex子要素になるため、そのまま伸びてしまい
   アイコン＋テキストのまとまりが中央からずれて見えていた。ここだけ伸びないよう上書きする */
.lounge-top-city-card--soon .lounge-top-city-card__body {
  flex: 0 1 auto;
}

/* 国旗絵文字はWindows環境だと"TH"のような文字表示にフォールバックすることがあるため、
   稼働中の都市（バンコク等）はassets/flags/{国コード}.svgの画像ファイルを読み込んで表示している
   （環境を問わず同じ見た目になる。新しい都市を追加する際の運用はpage-lounge-top.phpのコメント参照）。
   準備中の都市（次の都市）はまだ国名が決まっていないため引き続き絵文字（🌏）のまま。
   このボックスは固定サイズの枠に収める（背景は付けず、その都市のテーマカラーの文字色にする） */
.lounge-top-city-card__flag {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 42px;
  height: 42px;
  flex-shrink: 0;
  font-size: 1.3rem;
  font-weight: 700;
  line-height: 1;
  overflow: hidden;
}
.lounge-top-city-card__flag img {
  display: block;
}
.lounge-top-city-card--bangkok .lounge-top-city-card__flag { color: var(--lounge-gold); }
.lounge-top-city-card--soon .lounge-top-city-card__flag { color: var(--lounge-neutral-sub); }
.lounge-top-city-card__body {
  display: flex;
  flex-direction: column;
  gap: 4px;
  flex: 1 1 auto;
  min-width: 0;
  text-align: left;
}
.lounge-top-city-card--active .lounge-top-city-card__name { color: #fff; }
.lounge-top-city-card--active .lounge-top-city-card__country { color: rgba(255,255,255,0.85); }
.lounge-top-city-card--soon .lounge-top-city-card__name { color: var(--lounge-neutral-ink); }
.lounge-top-city-card--soon .lounge-top-city-card__country { color: var(--lounge-neutral-sub); }
.lounge-top-city-card__name {
  font-size: 1.25rem;
  font-weight: 700;
  font-family: "Shippori Mincho", "Noto Serif JP", "Hiragino Mincho ProN", serif;
  margin: 0;
  line-height: 1.3;
}
.lounge-top-city-card__country {
  font-size: 0.82rem;
  line-height: 1.4;
}

@media (max-width: 600px) {
  .lounge-top-city-grid { grid-template-columns: 1fr; max-width: 340px; }
  .lounge-top-hero { min-height: 340px; padding: 56px 24px; }
  .lounge-top-hero__title { font-size: 1.9rem; }
}

/* ── 情報ページ（プライバシーポリシー・利用規約・運営者情報など）
   駐在ラウンジトップと同じ中立トーン（--lounge-neutral-*、白背景、ヘッダー/パンくず/サイドバー非表示）を流用
   ================================================================== */
.page-template-page-legal-php .l-breadcrumb,
.page-template-page-legal-php .l-mainContent > .l-article > header,
.page-template-page-legal-php .l-mainContent > .l-article > .c-entry__header,
.page-template-page-legal-php .entry-title { display: none !important; }
.page-template-page-legal-php .l-mainContent { padding-top: 0 !important; }
.page-template-page-legal-php { background-color: var(--lounge-neutral-bg); }
.page-template-page-legal-php #content.l-content { display: block !important; }
.page-template-page-legal-php #sidebar { display: none !important; }

.lounge-legal__article { padding-top: 56px; }
.lounge-legal__title {
  font-family: "Shippori Mincho", "Noto Serif JP", "Hiragino Mincho ProN", serif;
  font-size: 2rem;
  font-weight: 600;
  color: var(--lounge-neutral-ink);
  margin: 0 0 16px;
  letter-spacing: 0.04em;
}
.lounge-legal__content {
  max-width: 720px;
  margin: 32px auto 80px;
  font-family: "Klee One", "Zen Kaku Gothic New", "Hiragino Kaku Gothic ProN", Meiryo, sans-serif;
  font-size: 0.95rem;
  line-height: 1.9;
  color: var(--lounge-neutral-ink);
}
.lounge-legal__content h2 {
  font-family: "Shippori Mincho", "Noto Serif JP", serif;
  font-size: 1.25rem;
  font-weight: 600;
  margin: 40px 0 16px;
  padding-bottom: 8px;
  border-bottom: 1px solid var(--lounge-neutral-line);
}
.lounge-legal__content h3 {
  font-family: "Shippori Mincho", "Noto Serif JP", serif;
  font-size: 1.05rem;
  font-weight: 600;
  margin: 28px 0 12px;
}
.lounge-legal__content p { margin: 0 0 1.4em; }
.lounge-legal__content ul,
.lounge-legal__content ol { margin: 0 0 1.4em; padding-left: 1.4em; }
.lounge-legal__content li { margin-bottom: 0.4em; }
.lounge-legal__content a { color: var(--lounge-accent); text-decoration: underline; }

@media (max-width: 600px) {
  .lounge-legal__article { padding-top: 32px; }
  .lounge-legal__title { font-size: 1.6rem; }
}

/* 通常コンテンツ（Type A） */
.lounge-lib-article__content {
  font-size: 1rem;
  line-height: 1.85;
  color: var(--lounge-text);
}

/* ── レスポンシブ
   ================================================================== */
@media (max-width: 768px) {
  .lounge-hero { padding: 36px 24px; border-radius: 18px; }
  .lounge-hero__inner { max-width: 100%; }
  .lounge-hero__title { font-size: 1.55rem; }
  .lounge-hero__art { width: 160px; opacity: 0.4; right: -30px; }

  /* ライブラリ一覧 */
  .lounge-lib-tabs { gap: 4px; }
  .lounge-lib-tab { padding: 9px 13px; font-size: 0.82rem; }

  /* ライブラリ記事 */
  .lounge-lib-article__meta { gap: 10px; }
  .lounge-lib-article__date { margin-left: 0; width: 100%; }
  .lounge-lib-cta__link { padding: 14px 18px; font-size: 0.92rem; }

  /* フォーラム一覧・トピック一覧：見づらいためトピック数・投稿数の列は非表示にし、
     フォーラム名＋最新の投稿のみをPCと同じ1行で表示する */
  #bbpress-forums li.bbp-header li.bbp-forum-topic-count,
  #bbpress-forums li.bbp-header li.bbp-forum-reply-count,
  #bbpress-forums li.bbp-header li.bbp-topic-voice-count,
  #bbpress-forums li.bbp-header li.bbp-topic-reply-count,
  #bbpress-forums li.bbp-body li.bbp-forum-topic-count,
  #bbpress-forums li.bbp-body li.bbp-forum-reply-count,
  #bbpress-forums li.bbp-body li.bbp-topic-voice-count,
  #bbpress-forums li.bbp-body li.bbp-topic-reply-count {
    display: none !important;
  }
  #bbpress-forums li.bbp-header > ul.forum-titles,
  #bbpress-forums li.bbp-body > ul {
    flex-wrap: nowrap !important;
  }
  #bbpress-forums li.bbp-header li.bbp-forum-info,
  #bbpress-forums li.bbp-header li.bbp-topic-title,
  #bbpress-forums li.bbp-body li.bbp-forum-info,
  #bbpress-forums li.bbp-body li.bbp-topic-title {
    padding-right: 8px !important;
  }
  #bbpress-forums li.bbp-header li.bbp-forum-freshness,
  #bbpress-forums li.bbp-header li.bbp-topic-freshness,
  #bbpress-forums li.bbp-body li.bbp-forum-freshness,
  #bbpress-forums li.bbp-body li.bbp-topic-freshness {
    flex: 0 0 140px !important;
    width: 140px !important;
    white-space: normal !important;
    font-size: 0.75rem !important;
    line-height: 1.35 !important;
    text-align: left !important;
    align-self: flex-start !important;
  }

  #bbpress-forums #new-post { padding: 22px 18px; }

  /* トピック/返信カード：アバターを左フロートで確保していた130pxの余白が
     SPでは無駄に広いため、カードの内側パディングと同じ幅に詰める */
  #bbpress-forums li.bbp-body div.reply,
  #bbpress-forums li.bbp-body div.topic {
    padding: 16px !important;
  }
  #bbpress-forums li.bbp-body .bbp-topic-author,
  #bbpress-forums li.bbp-body .bbp-reply-author {
    float: none !important;
    width: auto !important;
    margin-bottom: 10px !important;
  }
  #bbpress-forums li.bbp-body .bbp-topic-content,
  #bbpress-forums li.bbp-body .bbp-reply-content {
    margin-left: 0 !important;
    padding: 0 !important;
  }

  /* いいねボタン（絶対配置）が長いURL等の文章と重なっていたため、
     本文中のリンク・長い文字列を折り返させる（保険） */
  #bbpress-forums li.bbp-body .bbp-topic-content,
  #bbpress-forums li.bbp-body .bbp-reply-content,
  #bbpress-forums li.bbp-body .bbp-topic-content a,
  #bbpress-forums li.bbp-body .bbp-reply-content a {
    word-break: break-word !important;
    overflow-wrap: break-word !important;
  }

  /* 本質的な原因：いいねボタンはposition:absoluteで右下に重ねているだけなので、
     PCの余白がある幅では自然に避けられていたがSPでは文章と重なる。SPでは通常の
     フロー配置に戻し、PCのように改行（文章の下に新しい行として）表示させる */
  .lounge-post-block {
    padding-bottom: 16px !important;
  }
  .lounge-post-block .lounge-card-like {
    position: static !important;
    display: flex !important;
    justify-content: flex-end !important;
    margin-top: 12px !important;
  }
}

/* 親フォーラム（子フォーラムを持つ）では新規トピックフォームを非表示 */
.lounge-parent-forum .bbp-topic-form,
.lounge-parent-forum ul.bbp-topics,
.lounge-parent-forum .bbp-pagination {
  display: none !important;
}

/* ==================================================================
   運営者情報・プライバシーポリシー・利用規約ページ（lounge-legal-page）
   サイドバー無し・白背景。他ページと違いブランドカラーの背景（--lounge-bg）を
   使わず、法的文書として中立な白にする
   ================================================================== */
.lounge-legal-page {
  background-color: #fff !important;
}
.lounge-legal-page #content.l-content {
  display: block !important;
}
.lounge-legal-page #sidebar {
  display: none !important;
}
.lounge-legal-page .l-mainContent__inner {
  font-family: "Klee One", "Zen Kaku Gothic New", sans-serif;
}
.lounge-legal-page .post_content {
  max-width: 760px;
  margin-left: auto !important;
  margin-right: auto !important;
}
