@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
*/

/**************************************************
 * Gamer no Kakurega (SWELL child) – custom styles
 * 由来：
 *  - 追加css.txt
 *  - Cocoon子テーマ style.css（必要箇所のみ移植）
 **************************************************/

/* ---------- Flexible Table Block（均等幅＋はみ出し対策） ---------- */
.wp-block-flexible-table-block table{
  table-layout: fixed;
  width: 100%;
}
.wp-block-flexible-table-block th,
.wp-block-flexible-table-block td{ word-break: break-word; }

/* 均等幅プリセット */
.ftb-equal-2 th,.ftb-equal-2 td{ width: calc(100% / 2); }
.ftb-equal-3 th,.ftb-equal-3 td{ width: calc(100% / 3); }
.ftb-equal-4 th,.ftb-equal-4 td{ width: calc(100% / 4); }
.ftb-equal-5 th,.ftb-equal-5 td{ width: calc(100% / 5); }
.ftb-equal-6 th,.ftb-equal-6 td{ width: calc(100% / 6); }
.ftb-equal-7 th,.ftb-equal-7 td{ width: calc(100% / 7); }

.wp-block-flexible-table-block{ overflow-x: auto; }

/* ---------- AdSense（枠予約でCLS抑制） ---------- */
.adsbygoogle{ display:block; width:100%; }
.adsbygoogle.in-article{ min-height:280px; }
.adsbygoogle.rect{        min-height:300px; }
.adsbygoogle.h-banner{    min-height:100px; }
@media (min-width:1024px){
  .adsbygoogle.in-article{ min-height:320px; }
  .adsbygoogle.rect{        min-height:336px; }
}

/* ---------- Hero / Eye-catch ----------
   ※ SWELLのサムネ比率設定（外観 > カスタマイズ）を 16:9 にした場合は、
      二重適用を避けるため必要に応じてコメントアウトしてください。 */
/* .single .eye-catch-wrap{
  aspect-ratio:16/9;
  width:100%;
  overflow:hidden;
} */
.single .eye-catch-wrap img{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
}

/* ---------- 画像の安定表示 ---------- */
.entry-content img{
  display:block;
  height:auto;
  max-width:100%;
}

/* ---------- Embed（YouTube等のみ比率固定） ---------- */
.wp-block-embed .wp-block-embed__wrapper{
  padding:0;
  aspect-ratio:auto;
  height:auto;
  overflow:visible;
}
.wp-block-embed-youtube .wp-block-embed__wrapper,
.wp-block-embed-vimeo   .wp-block-embed__wrapper,
.wp-block-embed-wordpress-tv .wp-block-embed__wrapper{
  aspect-ratio:16/9;
  overflow:hidden;
}
.wp-block-embed .blogcard-wrap{ display:block; }

/* ---------- 見出しの行間調整（フォントによって微調整） ---------- */
.entry-title, h1, h2{
  line-height:1.2;
  font-size-adjust:0.5; /* 0.45〜0.55で調整 */
}

/* =====================================================
 * イベントテーブル（横スクロール＋折返し許可）
 * ===================================================== */
.event-table-wrapper {
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
}
.event-table {
  width: 100%;
  min-width: 1100px; /* スマホで横スクロール */
  border-collapse: collapse;
  background-color: #ffffff;
  border: 2px solid #666;
  table-layout: fixed;
}
.event-table thead th {
  background-color: #e8ecef;
  color: #000;
  padding: 10px;
  border: 1px solid #ccc;
  text-align: left;
  font-weight: bold;
  white-space: normal;
  word-break: break-word;
}
.event-table td {
  padding: 10px;
  border: 1px solid #ccc;
  background-color: #ffffff;
  vertical-align: top;
  word-break: break-word;
  white-space: normal;
}
.event-table .member-list {
  margin: 4px 0 0 1em;
  padding: 0;
  list-style-type: disc;
}
.event-table .member-list li {
  margin: 2px 0;
  line-height: 1.4;
}
@media screen and (max-width: 768px) {
  .event-table { min-width: 1200px; }
}
.event-table th,
.event-table td {
  white-space: normal !important;
  word-break: break-word !important;
}

/* ---------- アーカイブカードのクリック優先度 ---------- */
.archive .entry-card-wrap a,
.archive .entry-card-content a { position: relative; z-index: 2; }
.archive .eye-catch-wrap,
.archive .eye-catch-wrap img { position: relative; z-index: 1; }

/* ---------- 共通のヒーロー枠（必要に応じて） ----------
   ※ SWELL設定で比率管理している場合は重複に注意 */
.eye-catch-wrap { aspect-ratio: 16 / 9; width: 100%; overflow: hidden; }
.eye-catch-wrap img {
  width: 100%; height: 100%; object-fit: cover; display: block;
}

/* ---------- lazy系（プラグインの非表示を使わずフェードに） ---------- */
/* img.lazy-hidden { opacity: 0; visibility: visible; } */

/* ---------- ストリーマー一覧（任意：カード風にする場合） ---------- */
/* .streamer-list{ display:grid; grid-template-columns:repeat(auto-fill,minmax(220px,1fr)); gap:16px; margin:0; padding:0; list-style:none;}
.streamer-list li{ border:1px solid var(--swl-bd-color,#e5e7eb); border-radius:12px; padding:12px; background:#fff; }
.streamer-list a{ text-decoration:none; display:block; font-weight:600; } */
