/*
Theme Name: EVERY_Child
Theme URI:
Description: WordPressテーマ「EVERY (every_tcd075)」の子テーマです。親テーマのアップデートで不具合が出ないよう、header.php を最新版ベースで再構築し、コンテンツビルダーのデータ欠落を吸収する防御層を備えています。
Template: every_tcd075
Author: Center Light LLC
Version: 0.0.9
*/

/* Button option */
.sz_l { background-color:#FF7F00 !important}
.rounded { border-radius:6px;background-color:#FF7F00 }
.pill { border-radius:50px; background-color:#FF7F00}
.sz_full { min-width:100px; max-width:100%; display:block; font-size:110%; padding:1em 1.5em .9em;background-color:#FF7F00 }
.sz_l { min-width:350px; max-width:90%; font-size:110%; padding:.8em 1.5em .7em;background-color:#FF7F00 }
@media screen and (max-width: 479px) {
    .sz_l { -webkit-box-sizing:border-box; box-sizing:border-box; width:100%; min-width:0; max-width:100%; }
}
.sz_s { min-width:100px; max-width:90%; font-size:85%; padding:.4em 1em .3em; background-color:#FF7F00}

/* ==== UNIQ 会員区分 鍵表示 ==== */
.uniq-teaser { position:relative; }
.uniq-lock-box {
  margin:34px auto 0;
  max-width:640px;
  padding:44px 30px;
  text-align:center;
  background:#faf8f5;
  border:1px solid #ece7df;
  border-radius:10px;
}
.uniq-lock-icon {
  width:46px; height:46px;
  margin:0 auto 18px;
  background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23FF7F00' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='4' y='11' width='16' height='10' rx='2'/%3E%3Cpath d='M8 11V7a4 4 0 0 1 8 0v4'/%3E%3C/svg%3E") no-repeat center center;
  background-size:contain;
}
.uniq-lock-title { font-size:18px; font-weight:700; margin:0 0 12px; letter-spacing:.02em; }
.uniq-lock-desc { font-size:14px; color:#6b6b6b; margin:0 0 22px; line-height:1.8; }
.uniq-lock-btn {
  display:inline-block;
  padding:.85em 2.6em;
  background:#FF7F00; color:#fff;
  border-radius:50px; text-decoration:none;
  font-size:15px; transition:opacity .2s;
}
.uniq-lock-btn:hover { opacity:.85; }

/* ==== 会員登録・ログインモーダルが長文で崩れないように整える ==== */
#modal_overlay .modal_wrap {
  max-height: 88vh;
  overflow-y: auto;
  -webkit-overflow-scrolling: touch;
}
#modal_overlay .modal_contents {
  max-height: 34vh;
  overflow-y: auto;
  line-height: 1.7;
}
#modal_overlay .register_form_wrap .headline,
#modal_overlay .register_form_wrap .catch {
  word-break: break-word;
}

/* 登録フォームの見出しに長文が入っても高さ固定で切れないように */
#modal_overlay .register_form_wrap .register_form_header {
  height: auto !important;
  min-height: 80px;
  padding: 18px 20px;
  display: flex;
  align-items: center;
  justify-content: center;
}
#modal_overlay .register_form_wrap .register_form_header h2 {
  height: auto !important;
  line-height: 1.6 !important;
  margin: 0;
}

/* ============================================================
   トップページ (front-page.php) のバナー等
   メインビジュアルは EVERY 側 (header.php) が出力するためCSS不要
   バナーは images/ に画像があれば背景表示、無ければグレー仮ブロック
   ============================================================ */
#main_col .uniq-empty { color:#888; font-size:14px; padding:20px 0; }

/* 4バナー */
#main_col .uniq-banners { display:flex; flex-direction:column; gap:18px; margin:0 0 44px; }
#main_col .uniq-banner {
  position:relative; display:flex; align-items:center; justify-content:flex-end;
  min-height:96px; background:#c9ced3; background-size:cover; background-position:center;
  text-decoration:none; overflow:hidden; border:1px solid #e2e5e8;
}
#main_col .uniq-banner .uniq-banner-label {
  font-size:24px; font-weight:700; color:#222; padding:0 32px; letter-spacing:0.04em;
}
#main_col .uniq-banner:hover { opacity:0.92; }

/* ブロック見出し */
#main_col .uniq-block { margin:0 0 44px; }
#main_col .uniq-block-title {
  position:relative; font-size:16px; font-weight:700; color:#222; background:#fff;
  border:1px solid #e2e5e8; padding:16px 16px 16px 52px; margin:0 0 20px;
}
#main_col .uniq-block-title::before {
  content:""; position:absolute; left:0; top:0; bottom:0; width:40px; background:#222;
}

/* 新着ブログ カード */
#main_col .uniq-cards { display:grid; grid-template-columns:repeat(3,1fr); gap:16px; }
#main_col .uniq-card { text-decoration:none; color:#333; display:block; }
#main_col .uniq-card-thumb { display:block; position:relative; padding-bottom:66%; background:#d7d7d7; overflow:hidden; }
#main_col .uniq-card-thumb img { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; }
#main_col .uniq-card-title { display:block; font-size:13px; line-height:1.6; padding:10px 4px; }
#main_col .uniq-noimg { position:absolute; inset:0; display:flex; align-items:center; justify-content:center; color:#999; font-size:13px; background:#d7d7d7; }

/* タレント帯 */
#main_col .uniq-talent-banners { display:grid; grid-template-columns:1fr 1fr; gap:16px; margin:0 0 44px; }
#main_col .uniq-tbanner {
  display:flex; align-items:center; justify-content:center; min-height:70px;
  background:#3a5f8a; color:#fff; text-decoration:none; font-size:14px; font-weight:600;
  text-align:center; padding:10px;
}
#main_col .uniq-tbanner:hover { opacity:0.9; color:#fff; }

/* カレンダー */
#main_col .uniq-calendar { position:relative; width:100%; padding-bottom:70%; height:0; overflow:hidden; }
#main_col .uniq-calendar iframe { position:absolute; top:0; left:0; width:100%; height:100%; }

@media screen and (max-width:900px) {
  #main_col .uniq-cards { grid-template-columns:1fr 1fr; }
  #main_col .uniq-banner .uniq-banner-label { font-size:18px; }
}
@media screen and (max-width:600px) {
  #main_col .uniq-cards { grid-template-columns:1fr; }
  #main_col .uniq-talent-banners { grid-template-columns:1fr; }
}
