/* =========================================================
   WordPress / Contact Form 7 用の補助CSS
   デザイン本体は assets/css/style.css(静的版 10_site と共通)。ここには
   「静的版に無かった要素」だけを置く:
     1. Contact Form 7 が出力するマークアップを、静的版フォーム(.cform)の見た目に合わせる
        ※ CF7本体のCSSには依存しない(読み込まれていなくても崩れない)
        ※ CF7は .wpcf7 form .wpcf7-response-output のように詳細度が高いので、同じ形まで上げて書く(form-policy §5)
     2. ブロックエディタ(Gutenberg)で書いた本文(.article)の補助
     3. 管理バー(ログイン中)との重なり回避
   ========================================================= */

/* ---------- 1. フォーム ---------- */

/* ハニーポット(人間には見えない欄) */
.cform__hp{position:absolute;left:-10000px;top:auto;width:1px;height:1px;overflow:hidden}

/* CF7の入力欄ラッパー */
.cform .wpcf7-form-control-wrap{display:block}
.cform__privacy .wpcf7-form-control-wrap{display:inline}
.cform .hidden-fields-container{display:none;border:0;margin:0;padding:0}
.cform .wpcf7-spinner{display:none}
.wpcf7 .screen-reader-response{position:absolute;overflow:hidden;clip:rect(1px,1px,1px,1px);clip-path:inset(50%);height:1px;width:1px;margin:-1px;padding:0;border:0;word-wrap:normal!important}

/* Conditional Fields で隠れているグループ */
.cform .wpcf7cf-hidden,.cform [data-class="wpcf7cf_group"].wpcf7cf-hidden{display:none!important}

/* ご用件(面つきラジオ): CF7の radio 出力 */
.cform .purpose .wpcf7-list-item{display:block;margin:0;position:relative}
.cform .purpose .wpcf7-list-item label{position:relative;display:block;cursor:pointer}
.cform .purpose .wpcf7-list-item input{position:absolute;opacity:0;width:1px;height:1px}
.cform .purpose .wpcf7-list-item-label{display:flex;align-items:center;gap:12px;min-height:48px;padding:10px 44px 10px 16px;border:1px solid var(--wood-line);background:var(--bg);font-size:14px;color:var(--text);cursor:pointer;transition:border-color .25s,background-color .25s}
.cform .purpose .wpcf7-list-item-label::before{content:"";flex:none;width:18px;height:18px;border:1px solid var(--field-line);border-radius:50%;background:#fff;transition:border-color .25s,box-shadow .25s}
.cform .purpose .wpcf7-list-item input:checked+.wpcf7-list-item-label{border-color:var(--wood);background:var(--bg-soft)}
.cform .purpose .wpcf7-list-item input:checked+.wpcf7-list-item-label::before{border-color:var(--wood);box-shadow:inset 0 0 0 4px #fff,inset 0 0 0 9px var(--wood)}
.cform .purpose .wpcf7-list-item input:focus-visible+.wpcf7-list-item-label{box-shadow:0 0 0 4px rgba(143,103,69,.16)}
.cform .purpose .wpcf7-list-item input:checked~.purpose__check path{stroke-dashoffset:0;transition:stroke-dashoffset .35s var(--ease-out)}

/* チェック・ラジオ(面タイプ・直角): CF7の radio / checkbox 出力 */
.cform .opts .wpcf7-list-item{display:inline-block;margin:0;position:relative}
.cform .opts .wpcf7-list-item label{position:relative;display:inline-block;cursor:pointer}
.cform .opts .wpcf7-list-item input{position:absolute;opacity:0;width:1px;height:1px}
.cform .opts .wpcf7-list-item-label{display:inline-flex;align-items:center;gap:8px;min-height:44px;padding:8px 16px;border:1px solid var(--field-line);background:#FEFEFE;font-size:14px;cursor:pointer;transition:border-color .25s,background-color .25s}
.cform .opts .wpcf7-list-item-label::before{content:"";width:14px;height:14px;border:1px solid var(--field-line);background:#fff;flex:none}
.cform .opts .wpcf7-list-item input[type=radio]+.wpcf7-list-item-label::before{border-radius:50%}
.cform .opts .wpcf7-list-item input:checked+.wpcf7-list-item-label{border-color:var(--wood);background:var(--bg-soft)}
.cform .opts .wpcf7-list-item input:checked+.wpcf7-list-item-label::before{border-color:var(--wood);background:var(--wood);box-shadow:inset 0 0 0 3px #fff}
.cform .opts .wpcf7-list-item input:focus-visible+.wpcf7-list-item-label{box-shadow:0 0 0 4px rgba(143,103,69,.16)}

/* プライバシー同意(acceptance) */
.cform__privacy .wpcf7-list-item{display:inline-block;margin:0;position:relative}
.cform__privacy .wpcf7-list-item label{position:relative;display:inline-block;cursor:pointer}
.cform__privacy .wpcf7-list-item input{position:absolute;opacity:0;width:1px;height:1px}
.cform__privacy .wpcf7-list-item-label{display:inline-flex;align-items:center;gap:8px;min-height:44px;padding:8px 16px;border:0;background:none;font-size:14px;cursor:pointer}
.cform__privacy .wpcf7-list-item-label::before{content:"";width:14px;height:14px;border:1px solid var(--field-line);background:#fff;flex:none}
.cform__privacy .wpcf7-list-item input:checked+.wpcf7-list-item-label::before{border-color:var(--wood);background:var(--wood);box-shadow:inset 0 0 0 3px #fff}
.cform__privacy .wpcf7-list-item input:focus-visible+.wpcf7-list-item-label{box-shadow:0 0 0 4px rgba(143,103,69,.16)}

/* 入力エラー(CF7のサーバー側検証) */
.cform .wpcf7-not-valid-tip{display:flex;gap:6px;align-items:center;margin-top:8px;font-size:12px;color:var(--error)}
.cform .wpcf7-not-valid-tip::before{content:"!";display:inline-flex;align-items:center;justify-content:center;width:16px;height:16px;border-radius:50%;border:1px solid currentColor;font-size:10px;font-weight:700;flex:none}
.cform input.wpcf7-not-valid,.cform select.wpcf7-not-valid,.cform textarea.wpcf7-not-valid{border-color:var(--error)}

/* 送信結果メッセージ(form-policy §5: CF7と同じ詳細度まで上げる) */
.wpcf7 form.cform .wpcf7-response-output{margin:24px 0 0;padding:14px 18px;border:1px solid var(--line-2);font-size:13px;line-height:1.8;color:var(--text-body);text-align:left}
.wpcf7 form.cform.init .wpcf7-response-output,
.wpcf7 form.cform .wpcf7-response-output:empty{display:none}
.wpcf7 form.cform.invalid .wpcf7-response-output,
.wpcf7 form.cform.unaccepted .wpcf7-response-output,
.wpcf7 form.cform.spam .wpcf7-response-output,
.wpcf7 form.cform.failed .wpcf7-response-output,
.wpcf7 form.cform.aborted .wpcf7-response-output{border-color:var(--error);color:var(--error)}
.wpcf7 form.cform.sent .wpcf7-response-output{border-color:var(--wood);color:var(--wood-text)}

/* Turnstile(interaction-only は必要なときだけ表示される) */
.cform__turnstile{display:flex;justify-content:center}
.cform__turnstile:empty{display:none}

/* 内蔵フォームの全体メッセージ */
.cform__summary{margin:0 0 20px}

/* ---------- 2. ブロックエディタで書いた本文(.article) ---------- */
.article h3{font-family:var(--ff-min);font-weight:600;font-size:18px;color:var(--text);line-height:1.6;margin:36px 0 12px}
.article ul,.article ol{margin:16px 0;padding-left:1.4em;font-size:15px;line-height:2;color:var(--text-body)}
.article ul{list-style:disc}
.article ol{list-style:decimal}
.article a{color:var(--wood-text);text-decoration:underline;text-underline-offset:3px}
.article img{max-width:100%;height:auto}
.article table{width:100%;border-collapse:collapse;margin:24px 0;font-size:14px}
.article th,.article td{border:1px solid var(--line);padding:10px 14px;text-align:left;vertical-align:top}
.article th{background:var(--bg-gray);font-weight:500}
.article .wp-block-image{margin:28px 0}
.article .wp-block-image img{display:block}
.article .alignleft,.article .alignright{float:none;margin:0}

/* ---------- 3. ログイン中の管理バー ---------- */
.admin-bar .site-header{top:32px}
.admin-bar .readbar{top:32px}
@media (max-width:782px){
  .admin-bar .site-header,.admin-bar .readbar{top:46px}
}

/* ---------- 4. 補助 ---------- */
.screen-reader-text{position:absolute!important;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}
.pager a{color:var(--wood-text);text-decoration:underline;text-underline-offset:3px}
.cform .opts-radio .wpcf7-list-item-label::before{border-radius:50%}
