/* ==========================================================================
   BVT のページ（/bvt/ とその下）だけの見た目（functions.php で pzl_club_is_bvt() の時だけ読む）。
   今の merry.jp/bvt のオレンジを主役にする。共通の部品は style.css。
   文字やボタンの地に使うオレンジは、白い文字が読める濃さ（--bvt-dark）にしてある。
   ========================================================================== */

.is-bvt {
	--bvt: #f07f1b;        /* ロゴのオレンジ（線・飾り用） */
	--bvt-dark: #b35600;   /* 文字・ボタン用（白文字とのコントラスト 4.9） */
	--bvt-deep: #8a4200;
	--bvt-cream: #fff6ec;
	--bvt-green: #1f6b2e;  /* ロゴの「Puzzle Club」の緑 */
}

/* --- 共通部品の色を BVT 用に --- */
.is-bvt .info-bar { background: var(--bvt-dark); }
.is-bvt .site-header { border-bottom: 3px solid var(--bvt); }
.is-bvt .brand-bvt img { width: 300px; height: auto; }
.is-bvt .global-nav a:hover { background: var(--bvt-cream); }
.is-bvt .head .rule,
.is-bvt .contact-item.main,
.is-bvt .float-cta,
.is-bvt .sp-bar .sp-contact { background: var(--bvt-dark); }
.is-bvt .contact { background: #4a2600; }
.is-bvt .page-hero { background: var(--bvt-cream); border-bottom-color: #f3d9bd; }
.is-bvt .page-hero h1 { color: var(--bvt-deep); }
.is-bvt .entry-content h2 { color: var(--bvt-deep); border-bottom-color: #f3d9bd; }
.is-bvt .entry-content h3,
.is-bvt .entry-content strong { color: var(--bvt-deep); }
.is-bvt .entry-content h4,
.is-bvt .entry-content h5 { color: var(--bvt-deep); border-left-color: var(--bvt); }
.is-bvt .entry-content a { color: var(--bvt-dark); }
.is-bvt .entry-content .wp-block-table thead th { background: var(--bvt-dark); }
.is-bvt .entry-content .wp-block-table tbody th,
.is-bvt .entry-content .wp-block-table td:first-child { background: var(--bvt-cream); color: var(--bvt-deep); }
.is-bvt .entry-content .pzl-note { background: var(--bvt-cream); border-color: #f3d9bd; }
.is-bvt .entry-content .wp-block-button__link,
.is-bvt .wpcf7 input[type="submit"],
.is-bvt .wpcf7 .req { background: var(--bvt-dark); color: #fff; }
.is-bvt .entry-content .wp-block-button__link:hover { background: var(--bvt-deep); color: #fff; }
.is-bvt .entry-content .is-style-outline .wp-block-button__link { background: #fff; color: var(--bvt-deep); border-color: var(--bvt-dark); }

.is-bvt .footer-link-group h3 { border-bottom-color: var(--bvt); }
.is-bvt .site-footer .footer-link-group a::before { border-color: var(--bvt); }

.btn-bvt { background: var(--bvt-dark); color: #fff; }
.btn-bvt:hover { background: var(--bvt-deep); }
.is-bvt .btn-line { color: var(--bvt-deep); border-color: var(--bvt-dark); }
.is-bvt .btn-line:hover { background: var(--bvt-dark); color: #fff; }

/* --- 一枚目：今の BVT のヘッダー画像をそのまま主役に --- */
.bvt-hero { background: var(--bvt-cream); padding: 32px 0 40px; border-bottom: 1px solid #f3d9bd; }
.bvt-hero .inner { display: grid; grid-template-columns: 1.5fr 1fr; gap: 36px; align-items: center; }
.bvt-hero-img { width: 100%; border-radius: 6px; box-shadow: 0 10px 30px rgba(120, 60, 0, .16); }
.bvt-lead { font-family: var(--serif); font-size: 21px; font-weight: 600; color: var(--bvt-deep); line-height: 1.8; }
.bvt-hero-btns { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 22px; }

/* --- BVTからのお願い（通っている方向け・開閉） --- */
.bvt-notice-wrap { padding-top: 36px; }
.bvt-notice { border: 2px solid var(--bvt); border-radius: 6px; background: #fff; }
.bvt-notice summary { cursor: pointer; list-style: none; padding: 14px 48px 14px 20px; font-weight: 700; color: var(--bvt-deep); position: relative; }
.bvt-notice summary::-webkit-details-marker { display: none; }
.bvt-notice summary::after { content: "+"; position: absolute; right: 18px; top: 9px; font-size: 24px; color: var(--bvt-dark); transition: transform .25s; }
.bvt-notice[open] summary::after { transform: rotate(45deg); }
.bvt-notice ol { margin: 0 20px 10px 44px; }
.bvt-notice li { padding: 6px 0; font-size: 15px; }
.bvt-notice > p { margin: 0 20px 16px; font-size: 14px; color: var(--sub); }
.bvt-notice a { color: var(--bvt-dark); }

/* --- 見出しの色 --- */
.is-bvt .head h2 { color: var(--bvt-deep); }
.section-bvt { background: var(--bvt-cream); }

/* --- 2つの要素 --- */
.bvt-elements { display: grid; grid-template-columns: 1fr 1fr; gap: 28px; align-items: start; }
.bvt-card { background: #fff; border: 1px solid #f3d9bd; border-top: 5px solid var(--bvt); padding: 28px 30px; border-radius: 4px; }
.bvt-card p + p { margin-top: 10px; }
.bvt-card-no { font-family: var(--serif); font-size: 28px; font-weight: 700; color: var(--bvt-dark); line-height: 1; }
.bvt-card h3 { font-family: var(--serif); font-size: 24px; color: var(--bvt-deep); margin: 6px 0 14px; line-height: 1.5; }
.bvt-card h3 small { font-size: 15px; font-family: var(--sans); color: var(--sub); font-weight: 500; margin-left: 6px; }
.bvt-three { list-style: none; margin: 10px 0; display: grid; gap: 8px; }
.bvt-three li { background: var(--bvt-cream); border-left: 4px solid var(--bvt); padding: 8px 14px; font-weight: 700; color: var(--bvt-deep); }
.bvt-video { margin-top: 22px; }
.bvt-video video { width: 100%; display: block; background: #000; border-radius: 4px; aspect-ratio: 16 / 9; }
.bvt-video figcaption { font-size: 14px; color: var(--sub); margin-top: 8px; }
.bvt-video figcaption b { display: block; color: var(--bvt-deep); font-size: 15px; }
.bvt-video a { color: var(--bvt-dark); font-weight: 700; margin-left: 6px; }

/* --- 左右2列 --- */
.bvt-split { display: grid; grid-template-columns: 1fr 1fr; gap: 48px; align-items: start; }
.bvt-split p + p { margin-top: 10px; }
.bvt-split .head { margin-bottom: 24px; }
.bvt-photo { width: 100%; border-radius: 6px; margin-bottom: 20px; }
.bvt-em { font-family: var(--serif); font-size: 20px; font-weight: 700; color: var(--bvt-dark); margin-top: 20px !important; }

/* --- こんなことで悩んでいませんか --- */
.bvt-worries { display: grid; grid-template-columns: 1fr 1fr; gap: 24px; }
.bvt-worry { background: #fff; border: 1px solid var(--line); border-radius: 6px; padding: 24px 26px; }
.bvt-worry h3 { font-size: 18px; color: #fff; background: var(--bvt-dark); display: inline-block; padding: 2px 16px; border-radius: 999px; margin-bottom: 14px; }
.bvt-worry ul { list-style: none; }
.bvt-worry li { padding: 8px 0 8px 30px; border-bottom: 1px dashed var(--line); position: relative; }
.bvt-worry li::before { content: ""; position: absolute; left: 4px; top: 15px; width: 14px; height: 14px; border: 2px solid var(--bvt); border-radius: 3px; }
.bvt-check-link { text-align: center; margin-top: 28px; }
.bvt-ability { margin-top: 56px; background: var(--bvt-cream); border-radius: 6px; padding: 32px 36px; }
.bvt-ability h3 { font-family: var(--serif); font-size: 22px; color: var(--bvt-deep); margin-bottom: 16px; line-height: 1.6; }
.bvt-ability p + p { margin-top: 10px; }

/* --- 7つの力 --- */
.bvt-powers-head { display: grid; grid-template-columns: 120px 1fr; gap: 28px; align-items: center; margin-bottom: 36px; }
.bvt-powers-head img { width: 120px; }
.bvt-powers-head .head { margin-bottom: 0; }
.bvt-powers { display: grid; grid-template-columns: repeat(4, 1fr); gap: 18px; }
.bvt-power { background: #fff; border-radius: 6px; padding: 20px 20px 18px; border: 1px solid #f3d9bd; }
.bvt-power-no { width: 34px; height: 34px; border-radius: 50%; background: var(--bvt-dark); color: #fff; font-weight: 700; display: flex; align-items: center; justify-content: center; }
.bvt-power h3 { font-size: 18px; color: var(--bvt-deep); margin: 10px 0 8px; }
.bvt-power ul { list-style: none; font-size: 14px; line-height: 1.7; }
.bvt-power li { padding: 4px 0 4px 14px; position: relative; }
.bvt-power li::before { content: "・"; position: absolute; left: 0; color: var(--bvt-dark); }

/* --- どんなことをするの --- */
.bvt-what { display: grid; grid-template-columns: repeat(3, 1fr); gap: 18px; }
.bvt-what-item { border: 1px solid var(--line); border-left: 5px solid var(--bvt); border-radius: 4px; padding: 18px 20px; background: #fff; }
.bvt-what-item h3 { font-size: 17px; color: var(--bvt-deep); line-height: 1.6; }
.bvt-what-item h3 small { display: block; font-size: 13px; font-weight: 500; color: var(--sub); }
.bvt-what-item p,
.bvt-what-item ul { margin-top: 8px; font-size: 15px; }
.bvt-what-item ul { padding-left: 1.2em; }
.bvt-what-item li + li { margin-top: 6px; }
.bvt-what-item small { color: var(--sub); }
.bvt-links { display: grid; grid-template-columns: repeat(3, 1fr); gap: 18px; margin-top: 48px; }
.bvt-link { display: flex; flex-direction: column; align-items: center; gap: 2px; text-decoration: none; background: var(--bvt-dark); color: #fff; border-radius: 6px; padding: 22px 16px; transition: background .2s; }
.bvt-link:hover { background: var(--bvt-deep); }
.bvt-link span { font-size: 14px; }
.bvt-link strong { font-size: 20px; }
.bvt-link strong::after { content: " \2192"; font-weight: 400; }

/* --- カレンダー・アクセス --- */
#access .map-embed { border: 1px solid var(--line); }

/* --- 下層：ご入会の流れ（矢印でつなぐ） --- */
.is-bvt .entry-content .pzl-flow h4 { background: var(--bvt-cream); border-left-color: var(--bvt); padding: 10px 14px; position: relative; }
.is-bvt .entry-content .pzl-flow h4:first-child { margin-top: 0; }
.is-bvt .entry-content .pzl-flow h4:not(:first-child) { margin-top: 48px; }
.is-bvt .entry-content .pzl-flow h4:not(:first-child)::before { content: "\25BC"; position: absolute; top: -38px; left: 50%; transform: translateX(-50%); color: var(--bvt); font-size: 18px; }

@media (max-width: 1180px) {
	.is-bvt .brand-bvt img { width: 240px; }
}

@media (max-width: 860px) {
	.is-bvt .brand-bvt img { width: 210px; }
	.bvt-hero { padding: 16px 0 28px; }
	.bvt-hero .inner { grid-template-columns: 1fr; gap: 18px; }
	.bvt-lead { font-size: 18px; }
	.bvt-elements,
	.bvt-split,
	.bvt-worries,
	.bvt-what,
	.bvt-links { grid-template-columns: 1fr; }
	.bvt-card { padding: 22px 20px; }
	.bvt-ability { padding: 24px 20px; }
	.bvt-powers-head { grid-template-columns: 72px 1fr; gap: 14px; }
	.bvt-powers-head img { width: 72px; }
	.bvt-powers { grid-template-columns: 1fr 1fr; gap: 12px; }
	.bvt-power { padding: 16px 14px; }
}
