/* =========================================================
   ref-media デザイン層（最後に読み込み、既存を統一・上書き）
   ========================================================= */

:root{
  --refm-ink:#1b2430;
  --refm-ink-soft:#5a6672;
  --refm-canvas:#eceff3;
  --refm-surface:#ffffff;
  --refm-border:#dde2e8;
  --refm-accent:#12726b;
  --refm-accent-strong:#0d5b55;
  --refm-accent-tint:#e6f2f0;
  --refm-danger:#c0392b;
  --refm-danger-strong:#a5311f;
  --refm-radius:12px;
  --refm-radius-sm:8px;
  --refm-shadow:0 1px 2px rgba(20,30,40,.04), 0 6px 20px rgba(20,30,40,.06);
  --refm-shadow-sm:0 1px 2px rgba(20,30,40,.06);
  --refm-maxw:1320px;
  --refm-font:"Hiragino Kaku Gothic ProN","Hiragino Sans","Noto Sans JP",Meiryo,system-ui,sans-serif;
}

/* ---------- 横幅の解放（Twenty Twenty-One の制限を上書き） ---------- */
.refm-page .entry-content,
.refm-page .entry-header{
  max-width:var(--refm-maxw) !important;
  margin-left:auto !important;
  margin-right:auto !important;
  padding-left:24px;
  padding-right:24px;
  box-sizing:border-box;
}
.refm-page .entry-content > *{
  max-width:100% !important;
  margin-left:0 !important;
  margin-right:0 !important;
}
.refm-page .entry-content{ font-family:var(--refm-font); color:var(--refm-ink); }

/* ページ背景 */
.refm-page.wp-site-blocks,
body.refm-page{ background:var(--refm-canvas); }

/* ---------- タイトル（entry-title を整える） ---------- */
.refm-page .entry-header{ text-align:left; padding-top:40px; padding-bottom:8px; }
.refm-page .entry-title{
  font-family:var(--refm-font);
  font-size:1.9rem;
  line-height:1.3;
  font-weight:800;
  letter-spacing:.02em;
  color:var(--refm-ink);
  margin:0;
}
.refm-page .entry-title::after{
  content:"";
  display:block;
  width:56px;height:4px;
  border-radius:2px;
  background:var(--refm-accent);
  margin-top:14px;
}
.refm-page .entry-content{ padding-top:8px; padding-bottom:56px; }

/* リンク */
.refm-page .entry-content a{ color:var(--refm-accent); }
.refm-page .entry-content a:hover{ color:var(--refm-accent-strong); }

/* ---------- ボタン共通 ---------- */
.refm-page .refm-btn{
  display:inline-flex;align-items:center;justify-content:center;
  padding:9px 20px;border:none;border-radius:var(--refm-radius-sm);
  background:var(--refm-accent);color:#fff;text-decoration:none;
  font-size:14px;font-weight:600;cursor:pointer;line-height:1.4;
  transition:background .15s ease, transform .05s ease;
}
.refm-page .refm-btn:hover{ background:var(--refm-accent-strong);color:#fff; }
.refm-page .refm-btn:active{ transform:translateY(1px); }
.refm-page .refm-btn--edit{ background:var(--refm-ink);margin-right:0; }
.refm-page .refm-btn--edit:hover{ background:#0f1620; }
.refm-page .refm-btn--danger{ background:var(--refm-danger); }
.refm-page .refm-btn--danger:hover{ background:var(--refm-danger-strong); }

/* ---------- ナビ（全ページ共通・スコープしない） ---------- */
.refm-nav{ background:var(--refm-ink);width:100%;font-family:var(--refm-font);border-bottom:3px solid var(--refm-accent); }
.refm-nav__inner{ max-width:var(--refm-maxw);margin:0 auto;display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;padding:0 16px; }
.refm-nav__left{ display:flex;flex-wrap:wrap; }
.refm-nav__link,.refm-nav__logout{
  display:inline-block;padding:15px 16px;color:#c9d2da;text-decoration:none;
  font-size:14px;font-weight:600;position:relative;transition:color .15s ease,background .15s ease;
}
.refm-nav__link:hover,.refm-nav__logout:hover{ color:#fff;background:rgba(255,255,255,.06); }
.refm-nav__link::after{ content:"";position:absolute;left:16px;right:16px;bottom:8px;height:2px;background:var(--refm-accent);transform:scaleX(0);transform-origin:left;transition:transform .18s ease; }
.refm-nav__link:hover::after{ transform:scaleX(1); }
.refm-nav__logout{ color:#9aa6b0; }

/* ---------- フッター（テーマ標準のヘッダー・フッターを隠す） ---------- */
/* 自前ナビ・フッターを使うため、テーマ標準のサイトタイトル/ヘッダーとフッターは非表示 */
.site-header,
.site-title,
.site-branding,
.wp-block-site-title{ display:none !important; }
.site-footer{ display:none !important; }
/* テーマが管理者に出す固定ページの「編集」リンクを隠す（自前の編集ボタンとは別物） */
.post-edit-link,
.edit-link{ display:none !important; }
.refm-page .entry-footer{ display:none !important; }
.refm-footer{ background:var(--refm-ink);color:#9aa6b0;font-family:var(--refm-font);border-top:3px solid var(--refm-accent);margin-top:40px; }
.refm-footer__inner{ max-width:var(--refm-maxw);margin:0 auto;padding:22px 24px;display:flex;gap:16px;align-items:baseline;flex-wrap:wrap; }
.refm-footer__brand{ color:#fff;font-weight:700;font-size:15px; }
.refm-footer__note{ font-size:13px; }
.refm-footer__copy{ margin-left:auto;font-size:12px;color:#6f7a84; }

/* ---------- 絞り込み（折りたたみパネル） ---------- */
.refm-page details.refm-filter{
  margin:0 0 28px;background:var(--refm-surface);
  border:1px solid var(--refm-border);border-radius:var(--refm-radius);box-shadow:var(--refm-shadow-sm);
  overflow:hidden;
}
.refm-page .refm-filter__summary{
  list-style:none;cursor:pointer;display:flex;align-items:center;gap:12px;
  padding:14px 20px;font-weight:700;color:var(--refm-ink);user-select:none;
}
.refm-page .refm-filter__summary::-webkit-details-marker{ display:none; }
.refm-page .refm-filter__summary::before{
  content:"";width:8px;height:8px;
  border-right:2px solid var(--refm-ink-soft);border-bottom:2px solid var(--refm-ink-soft);
  transform:rotate(-45deg);transition:transform .2s ease;
}
.refm-page details.refm-filter[open] .refm-filter__summary::before{ transform:rotate(45deg); }
.refm-page .refm-filter__count{
  font-size:12px;font-weight:600;color:var(--refm-accent-strong);
  background:var(--refm-accent-tint);padding:2px 10px;border-radius:999px;
}
.refm-page .refm-filter__form{ padding:4px 20px 20px;border-top:1px solid var(--refm-border); }
.refm-page .refm-filter__block{ margin:16px 0 0; }
.refm-page .refm-filter__label{ display:block;font-weight:700;color:var(--refm-ink-soft);font-size:12px;margin:0 0 8px;letter-spacing:.02em; }
.refm-page .refm-filter__select{ padding:9px 12px;border:1px solid var(--refm-border);border-radius:var(--refm-radius-sm);background:#fff;min-width:180px;font-family:var(--refm-font); }
.refm-page .refm-filter__search{
  width:100%;max-width:420px;padding:9px 12px;
  border:1px solid var(--refm-border);border-radius:var(--refm-radius-sm);
  background:#fff;font-family:var(--refm-font);font-size:14px;color:var(--refm-ink);box-sizing:border-box;
}
.refm-page .refm-filter__search:focus{
  outline:none;border-color:var(--refm-accent);box-shadow:0 0 0 3px var(--refm-accent-tint);
}
.refm-page .refm-filter__actions{ display:flex;align-items:center;gap:16px;margin-top:22px; }
.refm-page .refm-filter__clear{ font-size:13px;color:var(--refm-ink-soft);text-decoration:underline; }
.refm-page .refm-filter__clear:hover{ color:var(--refm-danger); }

/* 表示切り替えタブ */
.refm-page .refm-viewtabs{ display:flex;gap:8px;margin:0 0 20px; }
.refm-page .refm-viewtab{
  padding:8px 20px;border:1px solid var(--refm-border);border-radius:999px;background:#fff;
  color:var(--refm-ink-soft);text-decoration:none;font-weight:600;font-size:14px;transition:all .15s ease;
}
.refm-page .refm-viewtab:hover{ border-color:var(--refm-accent);color:var(--refm-accent-strong); }
.refm-page .refm-viewtab.is-active{ background:var(--refm-accent);border-color:var(--refm-accent);color:#fff; }
.refm-page .entry-content a.refm-viewtab.is-active,
.refm-page .entry-content a.refm-viewtab.is-active:hover{ color:#fff; }

/* 表示件数バー */
.refm-page .refm-perpage{ display:flex;align-items:center;flex-wrap:wrap;gap:8px;margin:0 0 20px;font-size:13px;color:var(--refm-ink-soft); }
.refm-page .refm-perpage__total{ font-weight:700;color:var(--refm-ink); }
.refm-page .refm-perpage__label{ margin-left:8px; }
.refm-page a.refm-perpage__opt,
.refm-page .entry-content a.refm-perpage__opt,
.refm-page .refm-perpage__opt.is-active{
  display:inline-flex;align-items:center;
  padding:4px 12px;border:1px solid var(--refm-border);border-radius:999px;
  text-decoration:none;color:var(--refm-ink-soft);background:#fff;
  font-weight:600;font-size:13px;line-height:1.4;
}
.refm-page a.refm-perpage__opt:hover,
.refm-page .entry-content a.refm-perpage__opt:hover{ border-color:var(--refm-accent);color:var(--refm-accent-strong); }
.refm-page .refm-perpage__opt.is-active{
  background:var(--refm-accent);border-color:var(--refm-accent);color:#fff;font-weight:700;cursor:default;
}

/* ページャ */
.refm-page .refm-pager{ display:flex;flex-wrap:wrap;gap:6px;justify-content:center;align-items:center;margin:30px 0 0; }
.refm-page .entry-content a.refm-pager__link,
.refm-page .entry-content a.refm-pager__num,
.refm-page .refm-pager__num{
  display:inline-flex;align-items:center;justify-content:center;min-width:38px;height:38px;padding:0 12px;
  border:1px solid var(--refm-border);border-radius:var(--refm-radius-sm);text-decoration:none;color:var(--refm-ink);
  background:#fff;font-size:14px;font-weight:600;
}
.refm-page .entry-content a.refm-pager__link:hover,
.refm-page .entry-content a.refm-pager__num:hover{ border-color:var(--refm-accent);color:var(--refm-accent-strong); }
.refm-page .refm-pager__num.is-current{ background:var(--refm-accent);border-color:var(--refm-accent);color:#fff; }

/* カテゴリー別セクション */
.refm-page .refm-catsection{ margin:0 0 36px; }
.refm-page .refm-catsection__title{
  font-size:18px;font-weight:800;color:var(--refm-ink);margin:0 0 16px;
  padding-bottom:8px;border-bottom:2px solid var(--refm-accent);
  display:flex;align-items:center;gap:10px;
}
.refm-page .refm-catsection__count{
  font-size:12px;font-weight:600;color:var(--refm-accent-strong);
  background:var(--refm-accent-tint);padding:2px 10px;border-radius:999px;
}

/* ---------- 一覧グリッド／カード ---------- */
.refm-page .refm-grid{
  display:grid;
  grid-template-columns:repeat(auto-fill, minmax(max(180px, calc((100% - 22px * 5) / 6)), 1fr));
  gap:22px;
  overflow:visible;
}
.refm-page .refm-card{
  display:flex;flex-direction:column;text-decoration:none;color:inherit;
  background:var(--refm-surface);border:1px solid var(--refm-border);border-radius:var(--refm-radius);
  overflow:hidden;box-shadow:var(--refm-shadow-sm);
  transform-origin:center center;
  transition:box-shadow .2s ease, transform .2s ease, border-color .2s ease;
}
.refm-page .refm-card[data-href]{ cursor:pointer; }
.refm-page .refm-card:hover{ box-shadow:var(--refm-shadow);transform:translateY(-2px);border-color:#c7cfd8; }
.refm-page .refm-card.is-thumb-hover{
  position:relative;z-index:10;
  box-shadow:var(--refm-shadow);
  transform:translateY(-6px) scale(1.06);
  border-color:#c7cfd8;
}
.refm-page .refm-card__thumb{ position:relative;display:block;aspect-ratio:16/9;background:#e3e7ec;overflow:hidden; }
.refm-page .refm-card__thumb img{ width:100%;height:100%;object-fit:cover;display:block; }
.refm-page .refm-card__video{
  position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block;background:#e3e7ec;
}
.refm-page .refm-card__title{ padding:12px 14px 2px;font-weight:700;font-size:15px;color:var(--refm-ink);line-height:1.4; }
.refm-page .refm-card__meta{ padding:0 14px 14px;font-size:12px;color:var(--refm-ink-soft); }
.refm-page .refm-badge{
  position:absolute;top:10px;left:10px;background:var(--refm-danger);color:#fff;
  font-size:11px;font-weight:700;letter-spacing:.02em;padding:3px 9px;border-radius:999px;box-shadow:var(--refm-shadow-sm);
}
.refm-page .refm-empty{ color:var(--refm-ink-soft);padding:24px 0; }

/* ---------- 詳細ページ ---------- */
.refm-page .refm-detail{
  background:var(--refm-surface);border:1px solid var(--refm-border);border-radius:var(--refm-radius);
  box-shadow:var(--refm-shadow-sm);padding:28px 28px 32px;
}
.refm-page .refm-detail__title{ font-size:1.6rem;font-weight:800;color:var(--refm-ink);margin:0 0 6px;line-height:1.35; }
.refm-page .refm-detail__date{ color:var(--refm-ink-soft);font-size:13px;margin:0 0 18px; }
.refm-page .refm-detail__player{
  width:100%;max-width:900px;aspect-ratio:16/9;background:#000;
  border-radius:var(--refm-radius);box-shadow:var(--refm-shadow);display:block;
}
.refm-page .refm-detail__image{ max-width:100%;border-radius:var(--refm-radius);box-shadow:var(--refm-shadow-sm);background:#fff; }
.refm-page .refm-detail__desc{ margin:18px 0;font-size:15px;line-height:1.8;color:#2a343f; }
.refm-page .refm-detail__terms{ font-size:13px;color:var(--refm-ink-soft);display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin:16px 0; }
.refm-page .refm-detail__terms a{
  display:inline-block;background:var(--refm-accent-tint);color:var(--refm-accent-strong);
  text-decoration:none;padding:3px 12px;border-radius:999px;font-weight:600;font-size:12px;
}
.refm-page .refm-detail__terms a:hover{ background:#d6ebe8; }
.refm-page .refm-detail__related{ margin-top:26px;padding-top:20px;border-top:1px solid var(--refm-border); }
.refm-page .refm-detail__related-label{ display:block;font-weight:700;color:var(--refm-ink);margin-bottom:10px; }
.refm-page .refm-detail__related ul{ margin:0;padding-left:1.1em; }
.refm-page .refm-detail__related li{ margin:4px 0; }
/* 編集・削除ボタンを横並びに */
.refm-page .refm-detail .refm-delete{ display:inline-block;margin-top:24px;padding-top:20px;border-top:1px solid var(--refm-border);width:100%; }

/* 動画詳細：前後ナビ（登録順・カテゴリー順） */
.refm-page .refm-detail__nav{
  margin-top:28px;padding-top:22px;border-top:1px solid var(--refm-border);
  display:flex;flex-direction:column;gap:24px;
}
.refm-page .refm-nav2__heading{ display:block;font-weight:700;color:var(--refm-ink);font-size:14px;margin:0 0 10px; }
.refm-page .refm-nav2__row{ display:flex;flex-wrap:wrap;justify-content:space-between;gap:56px; }
.refm-page .refm-nav2__item{
  flex:0 1 240px;max-width:240px;
  display:flex;flex-direction:column;gap:7px;text-decoration:none;color:inherit;
  border:1px solid var(--refm-border);border-radius:var(--refm-radius);padding:9px;background:var(--refm-surface);
  transition:box-shadow .15s ease, transform .1s ease;
}
.refm-page a.refm-nav2__item:hover{ box-shadow:var(--refm-shadow);transform:translateY(-2px); }
.refm-page .entry-content a.refm-nav2__item,
.refm-page .entry-content a.refm-nav2__item:hover{ color:inherit; }
.refm-page .refm-nav2__thumb{ display:block;aspect-ratio:16/9;background:#e3e7ec;border-radius:var(--refm-radius-sm);overflow:hidden; }
.refm-page .refm-nav2__thumb img{ width:100%;height:100%;object-fit:cover;display:block; }
.refm-page .refm-nav2__title{
  font-size:13px;font-weight:600;color:var(--refm-ink);line-height:1.4;
  display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;
}
.refm-page .refm-nav2__btn{ width:100%;justify-content:center;padding:7px 12px;font-size:13px; }
.refm-page .refm-nav2__item--empty{ align-items:center;justify-content:center; }
.refm-page .refm-nav2__none{ font-size:13px;color:var(--refm-ink-soft);padding:22px 0; }
.refm-page .refm-nav2__btn--disabled{ background:#c7cfd8;pointer-events:none; }

@media (max-width:600px){
  .refm-page .refm-nav2__row{ gap:20px;justify-content:flex-start; }
  .refm-page .refm-nav2__item{ flex:1 1 100%;max-width:none; }
}

/* 動画詳細：関連動画一覧（同じカテゴリー／同じジャンル） */
.refm-page .refm-detail__related-list{ margin-top:30px; }
.refm-page .refm-relatedlist__title{
  font-size:16px;font-weight:800;color:var(--refm-ink);margin:0 0 14px;
  padding-bottom:8px;border-bottom:2px solid var(--refm-accent);display:inline-block;
}

/* ---------- フォーム ---------- */
.refm-page .refm-form{ max-width:680px;background:var(--refm-surface);border:1px solid var(--refm-border);border-radius:var(--refm-radius);box-shadow:var(--refm-shadow-sm);padding:26px 26px 30px; }
.refm-page .refm-field{ margin:0 0 20px; }
.refm-page .refm-field__label{ display:block;font-weight:700;color:var(--refm-ink);margin:0 0 7px;font-size:14px; }
.refm-page .refm-input,
.refm-page .refm-form input[type="text"],
.refm-page .refm-form input[type="email"],
.refm-page .refm-form textarea,
.refm-page .refm-form select{
  width:100%;padding:10px 12px;border:1px solid var(--refm-border);border-radius:var(--refm-radius-sm);
  box-sizing:border-box;font-size:15px;font-family:var(--refm-font);background:#fff;color:var(--refm-ink);
  transition:border-color .15s ease, box-shadow .15s ease;
}
.refm-page .refm-input:focus,
.refm-page .refm-form input:focus,
.refm-page .refm-form textarea:focus,
.refm-page .refm-form select:focus{
  outline:none;border-color:var(--refm-accent);box-shadow:0 0 0 3px var(--refm-accent-tint);
}
.refm-page .refm-inline{ display:inline-flex;align-items:center;gap:7px;margin:0 14px 8px 0;font-size:14px; }
.refm-page .refm-req{ display:inline-block;background:var(--refm-danger);color:#fff;font-size:11px;padding:2px 7px;border-radius:4px;margin-left:6px;vertical-align:middle; }
.refm-page .refm-note{ background:#fbf7e9;border:1px solid #ecdfb0;padding:10px 14px;border-radius:var(--refm-radius-sm);font-size:13px;color:#6f5b12;margin:8px 0 0; }

/* ---------- テーブル（カテゴリー・ジャンル管理／ユーザー管理） ---------- */
.refm-page .refm-term-manager{ max-width:100%; }
.refm-page .refm-term-section{ background:var(--refm-surface);border:1px solid var(--refm-border);border-radius:var(--refm-radius);box-shadow:var(--refm-shadow-sm);padding:22px 24px;margin:0 0 28px; }
.refm-page .refm-term-section__title{ font-size:18px;font-weight:800;color:var(--refm-ink);margin:0 0 14px;padding-bottom:8px;border-bottom:2px solid var(--refm-accent);display:inline-block; }

.refm-page .refm-term-table,
.refm-page .refm-admin-table{ width:100%;border-collapse:separate;border-spacing:0;margin:0 0 14px;font-size:14px; }
.refm-page .refm-term-table th,
.refm-page .refm-admin-table th{ background:var(--refm-accent-tint);color:var(--refm-accent-strong);font-weight:700;text-align:left;padding:11px 14px;border-bottom:1px solid #cfe3df; }
.refm-page .refm-term-table td,
.refm-page .refm-admin-table td{ padding:11px 14px;border-bottom:1px solid var(--refm-border);vertical-align:middle;color:var(--refm-ink); }
/* 最終行の下線も残す（テーブル下端の閉じ線）。border-bottom は各tdに付いたまま */
.refm-page .refm-admin-table tr.is-suspended{ background:#fdece9; }

.refm-page .refm-term-inline{ display:inline-flex;gap:8px;align-items:center;margin:0;flex-wrap:wrap; }
.refm-page .refm-term-input{ padding:7px 10px;border:1px solid var(--refm-border);border-radius:var(--refm-radius-sm);font-family:var(--refm-font);font-size:14px; }
.refm-page .refm-term-input:focus{ outline:none;border-color:var(--refm-accent);box-shadow:0 0 0 3px var(--refm-accent-tint); }
.refm-page .refm-term-btn{ padding:7px 14px;border:none;border-radius:var(--refm-radius-sm);background:var(--refm-accent);color:#fff;cursor:pointer;font-size:13px;font-weight:600; }
.refm-page .refm-term-btn:hover{ background:var(--refm-accent-strong); }
.refm-page .refm-term-btn--danger{ background:var(--refm-danger); }
.refm-page .refm-term-btn--danger:hover{ background:var(--refm-danger-strong); }
.refm-page .refm-term-locked{ color:#9aa4ad;font-size:13px; }
.refm-page .refm-term-default{ display:inline-block;background:#7f8c93;color:#fff;font-size:11px;padding:2px 9px;border-radius:999px;margin-left:8px; }
.refm-page .refm-term-add{ display:inline-flex;gap:8px;align-items:center;margin-top:6px;flex-wrap:wrap; }

.refm-page .refm-admin-actions{ display:flex;gap:8px;align-items:center;flex-wrap:wrap; }
.refm-page .refm-admin-actions form{ margin:0; }
.refm-page .refm-status{ font-size:12px;padding:3px 10px;border-radius:999px;color:#fff;font-weight:600; }
.refm-page .refm-status--on{ background:#2f855a; }
.refm-page .refm-status--off{ background:var(--refm-danger); }

/* ボタン内リンクの文字色を白に統一（entry-content のリンク色より優先させる） */
.refm-page .entry-content a.refm-btn,
.refm-page .entry-content a.refm-btn:hover{
  color:#fff;
}

/* 動画・画像とダウンロードボタンの間に余白 */
.refm-page .refm-detail__player + p,
.refm-page .refm-detail__image + p{
  margin-top:18px;
}

/* 小さめの補助テキスト（最大サイズ表示などに使用） */
.refm-page .refm-hint{
  font-size:12px;
  color:var(--refm-ink-soft);
  margin:6px 0 0;
}

/* ファイルのドラッグ＆ドロップ枠 */
.refm-page .refm-drop{
  border:2px dashed var(--refm-border);
  border-radius:var(--refm-radius-sm);
  padding:16px;
  background:#fbfcfd;
  transition:border-color .15s ease, background .15s ease;
}
.refm-page .refm-drop.is-dragover{
  border-color:var(--refm-accent);
  background:var(--refm-accent-tint);
}
.refm-page .refm-drop__hint{
  margin:8px 0 0;
  font-size:12px;
  color:var(--refm-ink-soft);
}

/* カテゴリーのセレクト増殖 */
.refm-page .refm-cat-selects{ margin:0 0 10px; }
.refm-page .refm-cat-row{ display:flex;gap:8px;align-items:center;margin:0 0 8px; }
.refm-page .refm-cat-select{ flex:1 1 auto;width:auto;margin:0; }
.refm-page .refm-cat-row button.refm-cat-remove{
  flex:0 0 auto;width:38px;height:38px;min-width:38px;max-width:38px;
  padding:0 !important;margin:0;
  display:inline-flex;align-items:center;justify-content:center;
  border:1px solid var(--refm-border) !important;
  background:#fff !important;
  border-radius:var(--refm-radius-sm);cursor:pointer;
  font-size:0;line-height:0;font-family:var(--refm-font);
  box-shadow:none !important;text-shadow:none !important;
  appearance:none;-webkit-appearance:none;
  transition:border-color .15s ease, background .15s ease;
}
.refm-page .refm-cat-row button.refm-cat-remove::before{
  content:"×";
  font-size:20px;line-height:1;
  color:#9aa4ad;
  transition:color .15s ease;
}
.refm-page .refm-cat-row button.refm-cat-remove:hover,
.refm-page .refm-cat-row button.refm-cat-remove:focus,
.refm-page .refm-cat-row button.refm-cat-remove:active{
  border-color:#d4a5a0 !important;
  background:#faf5f4 !important;
  color:inherit !important;
}
.refm-page .refm-cat-row button.refm-cat-remove:hover::before,
.refm-page .refm-cat-row button.refm-cat-remove:focus::before,
.refm-page .refm-cat-row button.refm-cat-remove:active::before{
  color:var(--refm-danger);
}
.refm-page .refm-cat-row:first-child .refm-cat-remove{ display:none; }

/* 編集一覧 */
.refm-page .refm-el__filter{ display:flex;align-items:center;gap:14px;flex-wrap:wrap;margin:0 0 18px;padding:14px 16px;background:var(--refm-surface);border:1px solid var(--refm-border);border-radius:var(--refm-radius);box-shadow:var(--refm-shadow-sm);font-size:13px; }
.refm-page .refm-el__filter select{ margin-left:6px;padding:7px 10px;border:1px solid var(--refm-border);border-radius:var(--refm-radius-sm);background:#fff; }
.refm-page .refm-el__wrap{ overflow-x:auto; }
.refm-page .refm-el__table{ width:100%;border-collapse:separate;border-spacing:0;font-size:14px;background:var(--refm-surface);border:1px solid var(--refm-border);border-radius:var(--refm-radius);overflow:hidden; }
.refm-page .refm-el__table th{ background:var(--refm-accent-tint);color:var(--refm-accent-strong);text-align:left;padding:11px 12px;border-bottom:1px solid #cfe3df;font-weight:700;white-space:nowrap; }
.refm-page .refm-el__table td{ padding:10px 12px;border-bottom:1px solid var(--refm-border);vertical-align:top;transition:background .15s ease; }
.refm-page .refm-el__table td.is-changed{ background:#fff4d6; }
.refm-page .refm-el__table tr:last-child td{ border-bottom:none; }
.refm-page .refm-el__thumb img{ width:120px;aspect-ratio:16/9;object-fit:cover;border-radius:6px;display:block;background:#e3e7ec; }
.refm-page .refm-el__title-input{ width:100%;min-width:170px;padding:8px 10px;border:1px solid var(--refm-border);border-radius:6px;font-size:14px; }
.refm-page .refm-el__title-input:focus{ outline:none;border-color:var(--refm-accent);box-shadow:0 0 0 3px var(--refm-accent-tint); }
.refm-page .refm-el__catbox{ max-height:120px;overflow:auto;border:1px solid var(--refm-border);border-radius:6px;padding:6px 8px;min-width:190px;background:#fff; }
.refm-page .refm-el__catbox label{ display:block;font-size:13px;margin:3px 0;white-space:nowrap;cursor:pointer; }
.refm-page .refm-el__table select{ padding:8px 10px;border:1px solid var(--refm-border);border-radius:6px;background:#fff;min-width:130px;font-family:var(--refm-font); }
.refm-page .refm-el__uploader{ color:var(--refm-ink-soft);white-space:nowrap; }

/* ---------- レスポンシブ ---------- */
@media (max-width:782px){
  .refm-page .entry-content,
  .refm-page .entry-header{ padding-left:14px;padding-right:14px; }
  .refm-page .entry-title{ font-size:1.5rem; }
  .refm-page .refm-detail{ padding:20px 16px 24px; }
  .refm-page .refm-grid{ grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:14px; }
  .refm-nav__inner,.refm-footer__inner{ padding-left:12px;padding-right:12px; }
  /* テーブルは横スクロール可能に */
  .refm-page .refm-term-table,
  .refm-page .refm-admin-table{ display:block;overflow-x:auto;white-space:nowrap; }
}

/* ---------- アクセシビリティ ---------- */
.refm-page a:focus-visible,
.refm-page button:focus-visible,
.refm-page input:focus-visible,
.refm-page select:focus-visible,
.refm-nav a:focus-visible{ outline:2px solid var(--refm-accent);outline-offset:2px; }
@media (prefers-reduced-motion:reduce){
  .refm-page *,.refm-nav *{ transition:none !important; }
}
