/*
Theme Name: かたづけ工房（recycle-style）
Theme URI: https://recycle-style.jp/
Author: PROVISYS
Author URI: https://provisys.co.jp/
Description: かたづけ工房（recycle-style.jp）のテーマ。今のサイト（Lightning＋VK系プラグイン）の見た目と文章はそのままで、テーマだけで表示できる作りにしました。確認画面つきお問い合わせ（Contact Form 7）、検索エンジン・AI検索向けの情報、記事の取り込み（PROVISYS）を内蔵しています。
Version: 1.0.3
Requires at least: 6.4
Requires PHP: 7.4
License: GPLv2 or later
Text Domain: recycle-style
*/

/* 見た目は assets/css/site.css（今のサイトと同じ CSS から、使っている所だけを残したもの）にあります。
   ここには、テーマで足した部分（お問い合わせの確認画面など）だけを書きます。 */

/* お問い合わせフォーム（項目は今のまま・見た目を新しく） */
.wpcf7 .hidden-fields-container { display: none; }
.entry-body > .wpcf7 { margin-bottom: 80px; }
.wpcf7-form { --rs-c: var(--vk-color-primary, #3c8b86); --rs-cd: var(--vk-color-primary-dark, #306f6b); max-width: 820px; margin: 0 auto; padding: 40px 48px; background: #fff; border: 1px solid #dfe7e5; border-radius: 16px; box-shadow: 0 6px 24px rgba(28, 72, 69, .07); }
.wpcf7-form .rs-f { margin: 0 0 26px; }
.wpcf7-form .rs-f__label { display: flex; align-items: center; gap: 10px; margin: 0 0 8px; font-weight: 700; font-size: 1rem; color: #333; }
.wpcf7-form .rs-f__field { display: block; }
.rs-badge { display: inline-block; padding: 2px 10px; border-radius: 999px; font-size: 11px; font-weight: 700; line-height: 1.6; letter-spacing: .05em; color: #fff; }
.rs-badge--req { background: #d9534f; }
.rs-badge--opt { background: #9aa8a6; }
.wpcf7-form input[type=text], .wpcf7-form input[type=tel], .wpcf7-form input[type=email], .wpcf7-form textarea { width: 100%; box-sizing: border-box; padding: 13px 16px; font-size: 16px; line-height: 1.6; color: #333; background: #f7faf9; border: 1px solid #cdd9d6; border-radius: 10px; box-shadow: none; transition: border-color .2s, box-shadow .2s, background-color .2s; }
.wpcf7-form textarea { min-height: 200px; resize: vertical; }
.wpcf7-form input::placeholder, .wpcf7-form textarea::placeholder { color: #a6b2b0; }
.wpcf7-form input[type=text]:focus, .wpcf7-form input[type=tel]:focus, .wpcf7-form input[type=email]:focus, .wpcf7-form textarea:focus { outline: none; background: #fff; border-color: var(--rs-c); box-shadow: 0 0 0 4px rgba(60, 139, 134, .15); }
.wpcf7-form [aria-invalid=true] { border-color: #d9534f !important; background: #fff7f7 !important; }
/* 選ぶ項目は、押しやすいボタンの形に */
.wpcf7-form .wpcf7-radio { display: flex; flex-wrap: wrap; gap: 10px; }
.wpcf7-form .wpcf7-radio .wpcf7-list-item { margin: 0; }
.wpcf7-form .wpcf7-radio label { display: inline-flex; align-items: center; gap: 8px; margin: 0; padding: 10px 18px; border: 1px solid #cdd9d6; border-radius: 999px; background: #f7faf9; cursor: pointer; font-weight: 400; transition: border-color .2s, background-color .2s; }
.wpcf7-form .wpcf7-radio label:hover { border-color: var(--rs-c); }
.wpcf7-form .wpcf7-radio input { margin: 0; accent-color: var(--rs-c); width: 16px; height: 16px; }
.wpcf7-form .wpcf7-radio label:has(input:checked) { border-color: var(--rs-c); background: #e8f3f2; color: var(--rs-cd); font-weight: 700; }
.wpcf7-form .wpcf7-radio label:has(input:focus-visible) { box-shadow: 0 0 0 4px rgba(60, 139, 134, .2); }
.wpcf7-form .wpcf7-not-valid-tip, .rs-cf-err { display: block; margin-top: 6px; color: #d9534f; font-size: 14px; }
/* ボタン */
.rs-cf-note { margin: 8px 0 20px; padding: 14px 18px; background: #f2f7f6; border-radius: 10px; font-size: 14px; color: #555; }
.rs-cf-actions { display: flex; flex-direction: column; align-items: center; gap: 12px; margin: 0; }
.rs-cf-actions [hidden] { display: none !important; }
.rs-cf-actions .rs-cf-confirm, .rs-cf-actions .rs-cf-back, .rs-cf-actions .rs-cf-send { display: block; width: 100%; max-width: 400px; margin: 0; padding: 16px 24px; font-family: inherit; font-size: 1.05rem; font-weight: 700; line-height: 1.5; letter-spacing: .08em; border-radius: 999px; cursor: pointer; transition: background-color .2s, transform .2s, box-shadow .2s; }
.rs-cf-actions .rs-cf-confirm, .rs-cf-actions .rs-cf-send { color: #fff; background: var(--rs-c); border: 2px solid var(--rs-c); box-shadow: 0 6px 16px rgba(60, 139, 134, .3); }
.rs-cf-actions .rs-cf-confirm:hover, .rs-cf-actions .rs-cf-send:hover { background: var(--rs-cd); border-color: var(--rs-cd); transform: translateY(-1px); }
.rs-cf-actions .rs-cf-back { color: var(--rs-c); background: #fff; border: 2px solid var(--rs-c); }
.rs-cf-actions .rs-cf-back:hover { background: #f2f7f6; }
.rs-cf-actions .wpcf7-spinner { margin: 0; }
.wpcf7-form:not(.is-review) .rs-cf-send { display: none; }
/* 確認画面 */
.rs-cf-review { margin: 0 0 28px; }
.rs-cf-review__lead { margin: 0 0 16px; padding: 14px 18px; background: #e8f3f2; border-radius: 10px; color: var(--rs-cd); font-weight: 700; }
.rs-cf-review__list { display: grid; grid-template-columns: 200px 1fr; margin: 0; border-top: 1px solid #dfe7e5; }
.rs-cf-review__list dt, .rs-cf-review__list dd { margin: 0; padding: 14px 16px; border-bottom: 1px solid #dfe7e5; }
.rs-cf-review__list dt { background: #f7faf9; font-weight: 700; font-size: 14px; color: #555; }
.rs-cf-review__list dd { white-space: pre-wrap; overflow-wrap: anywhere; }
.wpcf7-form.is-review > p:not(.rs-cf-actions):not(.rs-recaptcha-note) { display: none; }
/* 送信後 */
.wpcf7-form.is-sent > p, .wpcf7-form.is-sent .rs-cf-review { display: none; }
.wpcf7-form .wpcf7-response-output { margin: 20px 0 0; padding: 14px 18px; border-radius: 10px; }
.wpcf7-form.is-sent .wpcf7-response-output { display: block; border: 1px solid var(--rs-c); background: #e8f3f2; color: var(--rs-cd); font-weight: 700; }
.wpcf7-form.invalid .wpcf7-response-output, .wpcf7-form.spam .wpcf7-response-output, .wpcf7-form.failed .wpcf7-response-output { border: 1px solid #d9534f; background: #fff7f7; color: #b52b27; }
.wpcf7-form .rs-recaptcha-note { margin: 20px 0 0; font-size: 12px; line-height: 1.7; color: #777; text-align: center; }
.wpcf7-form .rs-recaptcha-note a { color: inherit; text-decoration: underline; }
@media (max-width: 767px) {
  .wpcf7-form { padding: 24px 18px; border-radius: 12px; }
  .wpcf7-form .wpcf7-radio label { padding: 9px 14px; }
  .rs-cf-review__list { grid-template-columns: 1fr; }
  .rs-cf-review__list dt { border-bottom: 0; padding-bottom: 4px; }
  .rs-cf-review__list dd { padding-top: 4px; }
}

/* 記事ページ：今のサイトの設定（更新日・投稿者は出さない） */
.entry-header .entry-meta-item-updated, .entry-header .entry-meta-item-author { display: none; }

/* ページの一番上の見出しは h1 にしたが、大きさは今のサイト（h2）のまま */
h1.rs-h1 { font-size: 1.75rem; }
