/*
Theme Name: Welfare Space Theme
Theme URI: https://example.com/welfare-space
Author: welfare space
Author URI: https://example.com
Description: 医療福祉の業務をAIで楽にする「welfare space」専用テーマ。薄紫のヒーロー、ロゴ、機能カード、NOTEのRSSコラム（フッター直前）、サイトマップ＆お問い合わせボタン。行間ゆったり・読みやすい。
Version: 1.0.8
Requires at least: 5.6
Tested up to: 6.6
License: GPLv2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Text Domain: welfare-space
*/

:root{
  --lav-50:#f5f3ff; --lav-100:#ede9fe; --lav-200:#ddd6fe; --lav-300:#c4b5fd; --lav-400:#a78bfa; --lav-500:#8b5cf6;
  --ink-900:#111827; --ink-800:#1f2937; --ink-700:#374151; --ink-600:#4b5563; --ink-500:#6b7280;
  --panel:#ffffff;
  --ring:0 1px 3px rgba(124,58,237,.16),0 8px 24px rgba(124,58,237,.12);
  --shadow:0 1px 2px rgba(17,24,39,.06),0 8px 24px rgba(17,24,39,.08);
}

html{scroll-behavior:smooth}
body{background:var(--lav-50);color:var(--ink-800);line-height:1.9;margin:0;
  font-family:Inter,'Noto Sans JP',system-ui,-apple-system,'Segoe UI',Roboto,'Hiragino Kaku Gothic ProN',Meiryo,sans-serif;}

a{color:#3b2a91} img{max-width:100%;height:auto}
.ws-wrap{max-width:1120px;margin:0 auto;padding:clamp(16px,3vw,28px)}

.ws-hero{position:relative;overflow:hidden;border-radius:20px;background:linear-gradient(135deg,var(--lav-200),var(--lav-400));box-shadow:var(--ring);padding:clamp(24px,6vw,56px)}
.ws-hero::after{content:'';position:absolute;inset:0;background:
  radial-gradient(600px 240px at 20% 20%,rgba(255,255,255,.55),transparent 60%),
  radial-gradient(600px 240px at 80% 10%,rgba(255,255,255,.35),transparent 60%);pointer-events:none;}
.ws-brand{display:flex;align-items:center;gap:clamp(10px,2vw,16px)}
.ws-logo{flex:0 0 auto;display:grid;place-items:center;background:rgba(255,255,255,.55);border:1px solid rgba(255,255,255,.6);border-radius:16px;padding:8px;backdrop-filter:blur(2px)}
.ws-logo svg{display:block;width:clamp(44px,6vw,64px);height:auto}
.ws-title{font-size:clamp(28px,4.6vw,52px);font-weight:800;letter-spacing:.02em;color:#200a57;margin:0}
.ws-subtitle{font-size:clamp(15px,2.2vw,20px);color:#2f1a6f;opacity:.95;margin:.3rem 0 0}
.ws-cta{margin-top:1.1rem;display:flex;gap:.8rem;flex-wrap:wrap}
.ws-btn{display:inline-flex;align-items:center;gap:.5rem;padding:.78rem 1.1rem;border-radius:999px;background:#3c1eb6;color:#fff;font-weight:700;text-decoration:none;box-shadow:0 6px 20px rgba(60,30,182,.25);transition:transform .15s ease,box-shadow .2s ease,opacity .2s ease}
.ws-btn:hover{transform:translateY(-1px);box-shadow:0 10px 26px rgba(60,30,182,.30)}
.ws-btn.secondary{background:rgba(255,255,255,.9);color:#2b1b77;border:1px solid rgba(255,255,255,.6);box-shadow:0 6px 20px rgba(255,255,255,.25)}
.ws-btn.ghost{background:transparent;border:1px solid rgba(255,255,255,.8);color:#fff}

.ws-section{margin-top:clamp(24px,5vw,56px)}
.ws-section h2{font-size:clamp(20px,2.6vw,28px);font-weight:800;color:#2a2157;margin-bottom:.9rem}
.ws-section .ws-desc{color:var(--ink-500)}

.ws-grid{display:grid;grid-template-columns:repeat(12,1fr);gap:clamp(12px,2.2vw,20px)}
.ws-card{grid-column:span 12;background:var(--panel);border:1px solid var(--lav-100);border-radius:18px;padding:18px;box-shadow:var(--shadow);transition:transform .12s ease,box-shadow .2s ease}
@media(min-width:720px){.ws-card{grid-column:span 4}}
.ws-card:hover{transform:translateY(-2px);box-shadow:0 10px 28px rgba(17,24,39,.10)}
.ws-kicker{display:inline-block;font-size:12px;letter-spacing:.08em;text-transform:uppercase;background:var(--lav-100);color:#3b2a91;padding:.35rem .55rem;border-radius:999px;font-weight:800}
.ws-card h3{margin:.6rem 0 .4rem;font-size:18px;font-weight:800;color:#251e56}

.ws-feed{display:grid;grid-template-columns:repeat(12,1fr);gap:clamp(12px,2.2vw,20px)}
.ws-post{grid-column:span 12;background:var(--panel);border:1px solid var(--lav-100);border-radius:16px;overflow:hidden;box-shadow:var(--shadow);display:flex;flex-direction:column}
@media(min-width:760px){.ws-post{grid-column:span 6}}
@media(min-width:1024px){.ws-post{grid-column:span 4}}
.ws-thumb{display:flex;align-items:center;height:1cm;padding:6px 10px;background:transparent}
.ws-post-body{padding:14px 16px 18px}
.ws-post-title{font-size:16px;line-height:1.5;font-weight:800;color:#20164f;margin:.2rem 0 .4rem}
.ws-post-meta{font-size:12px;color:var(--ink-500);margin-bottom:.4rem}
.ws-post-excerpt{font-size:14px;color:#2a2157;opacity:.9}
.ws-read{display:inline-flex;align-items:center;gap:.4rem;font-size:13px;font-weight:700;color:#3c1eb6;text-decoration:none;margin-top:.7rem}
.ws-read:hover{text-decoration:underline}

.ws-footer{margin-top:clamp(28px,6vw,60px)}
.ws-footer-grid{background:#fff;border:1px solid var(--lav-100);border-radius:16px;box-shadow:var(--shadow);padding:20px;display:grid;grid-template-columns:repeat(12,1fr);gap:clamp(12px,2.2vw,20px)}
.ws-foot-col{grid-column:span 12;color:var(--ink-700)}
@media(min-width:720px){.ws-foot-col.brand{grid-column:span 4}.ws-foot-col.services{grid-column:span 3}.ws-foot-col.tools{grid-column:span 3}.ws-foot-col.site{grid-column:span 2}}
.ws-foot-title{margin:0 0 .4rem;font-size:14px;font-weight:800;color:#2a2157;letter-spacing:.03em}
.ws-foot-brand{font-weight:800;font-size:18px;color:#200a57;margin:0 0 .35rem}
.ws-foot-desc{margin:.2rem 0 .6rem;font-size:13px;color:var(--ink-500)}
.ws-foot-ul{list-style:none;padding:0;margin:.2rem 0 0}
.ws-foot-ul li{margin:.2rem 0}
.ws-foot-ul a{color:#3b2a91;text-decoration:none}
.ws-foot-ul a:hover{text-decoration:underline}
.ws-foot-contact{display:inline-flex;align-items:center;gap:.45rem;padding:.72rem 1.05rem;border-radius:999px;background:#3c1eb6;color:#fff;font-weight:700;text-decoration:none;box-shadow:0 6px 20px rgba(60,30,182,.25);transition:transform .15s ease,box-shadow .2s ease}
.ws-foot-contact:hover{transform:translateY(-1px);box-shadow:0 10px 26px rgba(60,30,182,.30)}
.ws-foot-contact svg{width:18px;height:18px}
.ws-foot-meta{text-align:center;color:var(--ink-500);font-size:12px;margin-top:12px}

#ws-content-start{scroll-margin-top:96px;display:block}
.page .entry-title, .single .entry-title{display:none}

.ws-thumb img{height:calc(1cm - 12px);width:auto;max-width:100%;display:block}

/* v1.0.8: make .ws-card anchors block-level & remove underline */
.ws-card{display:block;text-decoration:none}
.ws-card:hover{text-decoration:none}
.ws-card h3{color:#251e56}
.ws-card p{color:#2a2157;opacity:.9;margin:.4rem 0 0}
