/* ===== 政策AI 議会ツール ソフトペイウォール（占いサイト型ぼかしゲート） =====
   有料級ブロックをぼかし、会員登録CTAへ誘導する。
   ページ側は data-pw 属性 or JS設定でブロックを指定するだけ。
   解除: localStorage pw_member=1 / URL ?preview=full / ?unlock=<code> */

:root{
  --pw-blur: 7px;
  --pw-veil: rgba(255,255,255,.34);
}
@media (prefers-color-scheme: dark){
  :root{ --pw-veil: rgba(20,24,33,.42); }
}

/* ぼかし対象。中身は読ませない・選択させない・触らせない */
.pw-blur{
  filter: blur(var(--pw-blur));
  -webkit-filter: blur(var(--pw-blur));
  user-select: none; -webkit-user-select: none;
  pointer-events: none;
  transition: filter .25s ease;
}

/* ぼかしブロックを包む相対配置ラッパ＋ロックバッジ */
.pw-wrap{ position: relative; }
.pw-wrap::after{ content:""; position:absolute; inset:0; background: var(--pw-veil); border-radius: inherit; pointer-events:none; }
.pw-lock{
  position:absolute; top:8px; right:8px; z-index:3;
  display:inline-flex; align-items:center; gap:5px;
  font-size:10.5px; font-weight:800; letter-spacing:.02em;
  color:#fff; background:linear-gradient(180deg,var(--gk-accent2,#f0a),var(--gk-accent,#c07));
  padding:3px 10px; border-radius:999px; box-shadow:var(--gk-shadow-sm,0 2px 6px rgba(0,0,0,.15));
}

/* セクション末尾に差し込む「会員登録で全部見る」カード */
.pw-cta{
  margin:14px 0 2px;
  background:linear-gradient(180deg,var(--gk-card,#fff),var(--gk-card2,#f6f7fb));
  border:1px solid var(--gk-line,#e5e7eb); border-radius:var(--gk-r-md,14px);
  box-shadow:var(--gk-shadow,0 6px 20px rgba(20,30,60,.10));
  padding:18px 18px 16px; text-align:center; position:relative; overflow:hidden;
}
.pw-cta::before{ content:"🔒"; position:absolute; top:-14px; left:50%; transform:translateX(-50%); font-size:34px; opacity:.10; }
.pw-cta .pw-kicker{ font-size:10.5px;font-weight:800;color:var(--gk-accent-ink,#a0186a);background:var(--gk-accent-soft,#fbe7f2);border-radius:999px;padding:2px 10px;display:inline-block }
.pw-cta .pw-count{ font-size:13.5px;font-weight:800;color:var(--gk-text,#1a2233);margin:10px auto 2px;max-width:36em }
.pw-cta h3{ font-size:16px; font-weight:800; margin:9px 0 4px; color:var(--gk-text,#1a2233) }
.pw-cta p{ font-size:12.5px; color:var(--gk-muted,#667085); margin:0 auto 12px; max-width:34em; line-height:1.7 }
.pw-cta .pw-list{ display:flex;flex-wrap:wrap;gap:7px;justify-content:center;margin:0 auto 14px;max-width:40em }
.pw-cta .pw-list span{ font-size:11.5px;font-weight:700;color:var(--gk-text,#1a2233);background:var(--gk-accent-soft,#fbe7f2);border:1px solid var(--gk-line,#eee);border-radius:999px;padding:4px 11px }
.pw-btn{
  display:inline-block; text-decoration:none; cursor:pointer; border:none;
  font-size:14px; font-weight:800; color:#fff;
  background:linear-gradient(180deg,var(--gk-accent2,#f0a),var(--gk-accent,#c07));
  padding:12px 26px; border-radius:999px; box-shadow:0 6px 18px rgba(192,0,112,.28);
}
.pw-btn:active{ transform:translateY(1px) }
.pw-cta .pw-sub{ display:block; font-size:11px; color:var(--gk-muted,#98a2b3); margin-top:9px }

/* モーダル（会員登録） */
.pw-modal{ position:fixed; inset:0; z-index:9999; display:none; align-items:center; justify-content:center; padding:18px;
  background:rgba(15,20,32,.55); -webkit-backdrop-filter:blur(3px); backdrop-filter:blur(3px) }
.pw-modal.open{ display:flex }
.pw-card{ width:100%; max-width:420px; background:var(--gk-card,#fff); border-radius:var(--gk-r-lg,18px);
  box-shadow:0 24px 60px rgba(10,15,30,.35); padding:24px 22px 20px; position:relative;
  max-height:calc(100vh - 36px); max-height:calc(100dvh - 36px); overflow-y:auto; -webkit-overflow-scrolling:touch }
/* 会員メニューは項目が多いため幅を広げ、縦を抑える */
.pw-card.pw-acc{ max-width:600px }
@media(max-width:640px){ .pw-card.pw-acc{ max-width:100% } }
/* 年・月ドラムロール（モバイルはネイティブのホイールピッカーになる） */
.pw-drum{ font-size:15px; font-weight:800; color:#1f2430; padding:9px 12px; min-width:92px;
  border:1px solid #ccd; border-radius:10px; background:#fff }
.pw-drum:focus{ outline:none; border-color:#0b3d66; box-shadow:0 0 0 3px rgba(11,61,102,.12) }
.pw-card .pw-x{ position:absolute; top:12px; right:14px; font-size:20px; color:var(--gk-muted,#98a2b3); background:none;border:none;cursor:pointer }
.pw-card h3{ font-size:18px;font-weight:800;margin:2px 0 6px;color:var(--gk-text,#1a2233) }
.pw-card .pw-lead{ font-size:12.5px;color:var(--gk-muted,#667085);line-height:1.7;margin:0 0 16px }
.pw-card label{ font-size:11.5px;font-weight:700;color:var(--gk-text,#1a2233);display:block;margin:0 0 5px }
.pw-card input, .pw-card select, .pw-card textarea{ width:100%; box-sizing:border-box; font-size:14px; padding:11px 13px; border:1px solid var(--gk-line,#d7dbe3);
  border-radius:10px; background:var(--gk-surface,#fafbfd); color:var(--gk-text,#1a2233); margin-bottom:13px; font-family:inherit }
.pw-card textarea{ line-height:1.6; resize:vertical; min-height:120px; display:block }
.pw-card select{ cursor:pointer; -webkit-appearance:none; -moz-appearance:none; appearance:none; padding-right:36px;
  background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1l5 5 5-5' fill='none' stroke='%23667085' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
  background-repeat:no-repeat; background-position:right 14px center; background-size:12px 8px }
.pw-card input:focus, .pw-card select:focus, .pw-card textarea:focus{ outline:none; border-color:var(--gk-accent,#c07); box-shadow:0 0 0 3px rgba(192,0,112,.12) }
.pw-card .pw-btn{ width:100%; text-align:center }
.pw-card .pw-fine{ font-size:10.5px;color:var(--gk-muted,#98a2b3);line-height:1.6;margin:12px 0 0;text-align:center }
.pw-card .pw-fine a{ color:var(--gk-link,#2e7cf6) }
.pw-ok{ text-align:center; padding:8px 0 2px }
.pw-ok .pw-ok-ic{ font-size:40px } .pw-ok h3{ margin-top:8px }

@media(max-width:560px){ .pw-cta h3{font-size:15px} }

#pw-form label{display:block;font-size:12.5px;font-weight:700;color:#2b2f38;margin:2px 0 4px}
#pw-form input,#pw-form select{width:100%;box-sizing:border-box;font-size:14px;padding:10px 12px;border:1px solid #ccd;border-radius:9px;margin-bottom:6px;background:#fff}
#pw-form .pw-btn{width:100%;margin-top:6px}
.pw-cta.pw-free::before{background:linear-gradient(90deg,#2e7cf6,#5aa0ff)}

/* 有料ゲート内 答弁変化の実例 */
.pw-ex{margin:12px 0;padding:12px 13px;background:#fff;border:1px solid #f3c6dc;border-radius:12px}
.pw-ex-h{font-size:11.5px;font-weight:800;color:#a0186a;margin-bottom:8px;line-height:1.5}
.pw-exr{display:flex;flex-wrap:wrap;align-items:center;gap:6px 9px;padding:6px 0;border-top:1px dashed #f0d5e2}
.pw-exr:first-of-type{border-top:none}
.pw-exr b{font-size:13.5px;font-weight:900;color:#111318}
.pw-exr span{font-size:10.5px;font-weight:800;color:#a0186a;background:#fdeef5;border-radius:999px;padding:1px 8px}
.pw-exr em{margin-left:auto;font-style:normal;font-size:11.5px;font-weight:800;color:#c2185b}
.pw-exr em i.dn{font-style:normal;color:#64748b}
.pw-see{display:inline-block;margin-top:9px;font-size:12px;font-weight:800;color:#c2185b;text-decoration:none}
.pw-see:hover{text-decoration:underline}
@media(max-width:560px){.pw-exr em{margin-left:0;flex-basis:100%}}
