/* ===== ルビ（そのまま） ===== */
ruby rt {
  font-size: 0.55em;
  color: #c98a8a;
  opacity: 0.8;
  letter-spacing: 0.02em;
}

/* ===== The Events Calendar：イベント詳細 右切れ対策（決定版） ===== */

/* ページ全体の横はみ出しを抑える（文字を無理に切らない） */
body.single-tribe_events {
  overflow-x: clip; /* hiddenより“文字が切れる”副作用が出にくい */
}

/* TECのコンテンツ部分は切らない（ここをhiddenにすると文字が切れがち） */
.single-tribe_events .tribe-events-single,
.single-tribe_events .tribe-events-content,
.single-tribe_events .tribe-common,
.single-tribe_events .tribe-common-l-container,
.single-tribe_events .tribe-events-l-container {
  max-width: 100%;
  overflow: visible;
  box-sizing: border-box;
}

/* 長いURL/英数字で右にはみ出すのを折り返す */
.single-tribe_events .tribe-events-content {
  overflow-wrap: anywhere;
  word-break: break-word;
}

/* flexの子要素が縮まず右にはみ出す“定番バグ”対策 */
.single-tribe_events .tribe-events-single * {
  min-width: 0;
}

/* 画像・地図・埋め込みが右にはみ出さないように */
.single-tribe_events img,
.single-tribe_events iframe,
.single-tribe_events video,
.single-tribe_events embed,
.single-tribe_events object {
  max-width: 100% !important;
  height: auto !important;
  box-sizing: border-box;
  display: block;
}

.single-tribe_events iframe {
  width: 100% !important;
}

/* 表が原因なら“切らずに横スクロール”に逃がす */
.single-tribe_events .tribe-events-content table {
  display: block;
  max-width: 100%;
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
}
/* スマホで長い英数字（メール・URL）を折り返す */
@media (max-width: 768px){

  .single p,
  .single a {
    overflow-wrap: anywhere;
    word-break: break-word;
  }

  /* 横スクロール防止 */
  body {
    overflow-x: hidden;
  }
}
@media (max-width: 768px){

  /* 横はみ出しの最終防波堤 */
  html, body { overflow-x: hidden; }

  /* たぶん本文が pre 扱いになってるので、背景と折り返しを調整 */
  .single pre,
  .single-event pre {
    background: transparent !important;
    padding: 0 !important;
    white-space: pre-wrap !important;   /* 改行は活かしつつ */
    overflow-wrap: anywhere !important; /* 長い英数字も折り返す */
    word-break: break-word !important;
  }

  /* メール/URL系リンクは特に強制で折り返す */
  .single a,
  .single-event a {
    overflow-wrap: anywhere !important;
    word-break: break-word !important;
  }
}
/* プラカード一覧（クエリループ系）のサムネがトリミングされるのを防ぐ */
.wp-block-post-featured-image img,
.wp-block-post-featured-image__wrapper img,
.wp-block-query img {
  object-fit: contain !important; /* ←coverをやめて全部表示 */
  height: auto !important;
}

/* 画像の枠側が固定高さで切ってる場合の保険 */
.wp-block-post-featured-image,
.wp-block-post-featured-image__wrapper {
  overflow: visible !important;
}

/* サイト全体に余白（左右＋上下） */
:root{
  --site-pad-x: 16px; /* 左右余白：スマホ */
  --site-pad-y: 16px; /* 上下余白：スマホ */
}

/* 画面が広い時は余白を少し増やす */
@media (min-width: 768px){
  :root{
    --site-pad-x: 24px;
    --site-pad-y: 24px;
  }
}
@media (min-width: 1200px){
  :root{
    --site-pad-x: 32px;
    --site-pad-y: 32px;
  }
}

/* 本体 */
body{
  padding: var(--site-pad-y) var(--site-pad-x);
}

/* ヘッダーやフッターが端に寄るテーマ対策（Twenty Twenty-Fourなど） */
header,
footer,
main{
  padding-left: var(--site-pad-x);
  padding-right: var(--site-pad-x);
}

/* 余白が二重になりやすいので、必要ならOFFにする */
.wp-site-blocks{
  padding: 0;
}
.event-placards{
display:grid;
grid-template-columns:repeat(3,minmax(0,1fr));
gap:12px;
margin-top:20px;
}

.event-placards img{
width:100%;
height:auto;
display:block;
border-radius:6px;
}

.event-placards a{
display:block;
transition:transform .2s ease, box-shadow .2s ease;
}

.event-placards a:hover{
transform:scale(1.05);
box-shadow:0 4px 12px rgba(0,0,0,0.15);
}

/* スマホ */
@media (max-width:700px){
.event-placards{
grid-template-columns:repeat(2,minmax(0,1fr));
}
}
.tribe-events-single .comments-area {
display:none;
}