/* m-pns Suite SNS : フロント CSS (v1.0.6) */
.snshub{padding:8px 0}
.snsh-h{border-radius:20px;padding:36px 28px 32px;margin-bottom:36px;text-align:center;background:linear-gradient(135deg,#0f172a 0%,#1e3a8a 50%,#7c3aed 100%);box-shadow:0 12px 32px rgba(124,58,237,.2);position:relative;overflow:hidden}
.snsh-h::before{content:"";position:absolute;top:-50%;right:-10%;width:300px;height:300px;background:radial-gradient(circle,rgba(251,191,36,.2) 0%,transparent 70%);border-radius:50%}
.snsh-h::after{content:"";position:absolute;bottom:-30%;left:-5%;width:240px;height:240px;background:radial-gradient(circle,rgba(236,72,153,.18) 0%,transparent 70%);border-radius:50%}
.snsh-hi{position:relative;z-index:1}
.snsh-ic{width:72px;height:72px;border-radius:50%;background:#fff;margin:0 auto 14px;display:flex;align-items:center;justify-content:center;font-size:2.2em;box-shadow:0 6px 18px rgba(0,0,0,.2)}
.snsh-t{font-weight:bold;color:#fff;margin:0 0 8px;font-size:1.5em}
.snsh-s{color:rgba(255,255,255,.88);margin:0 0 4px;line-height:1.7;font-size:.98em}
.snsh-tg{color:rgba(255,255,255,.7);margin:0;font-size:.85em}
.snsh-st{font-weight:bold;color:#1e3a8a;border-left:4px solid #7c3aed;padding-left:12px;margin:32px 0 24px;font-size:1.2em}
.snsh-g{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin-bottom:48px}
.snsh-c{position:relative;border-radius:18px;padding:26px 22px;color:#fff;text-decoration:none!important;overflow:hidden;display:flex;align-items:center;gap:18px;box-shadow:0 6px 20px rgba(0,0,0,.12);transition:transform .3s,box-shadow .3s}
.snsh-c:hover{transform:translateY(-4px);box-shadow:0 14px 32px rgba(0,0,0,.18)}
.snsh-c::before{content:"";position:absolute;top:-30%;right:-10%;width:140px;height:140px;background:rgba(255,255,255,.15);border-radius:50%;transition:transform .4s}
.snsh-c:hover::before{transform:scale(1.4)}
.snsh-ci{width:60px;height:60px;border-radius:14px;background:rgba(255,255,255,.22);display:flex;align-items:center;justify-content:center;font-size:1.9em;flex-shrink:0;position:relative;z-index:1;border:1px solid rgba(255,255,255,.3)}
.snsh-cm{flex:1;position:relative;z-index:1;min-width:0}
.snsh-cp{font-size:.78em;font-weight:bold;letter-spacing:.1em;opacity:.85;margin:0 0 4px;text-transform:uppercase;color:#fff!important}
.snsh-cn{font-weight:bold;margin:0 0 4px;font-size:1.05em;line-height:1.35;color:#fff!important}
.snsh-cd{font-size:.85em;opacity:.85;margin:0;line-height:1.45;color:#fff!important}
.snsh-ca{position:relative;z-index:1;font-size:1.4em;opacity:.7;flex-shrink:0;transition:transform .3s;color:#fff}
.snsh-c:hover .snsh-ca{transform:translateX(6px);opacity:1}

/* プラットフォーム別グラデーション */
.s-blog{background:linear-gradient(135deg,#2563eb,#1e40af)}
.s-ig{background:linear-gradient(135deg,#833ab4,#fd1d1d 50%,#fcb045)}
.s-yt{background:linear-gradient(135deg,#ef4444,#991b1b)}
.s-x{background:linear-gradient(135deg,#1f2937,#000)}
.s-line{background:linear-gradient(135deg,#10b981,#06955b)}
.s-voom{background:linear-gradient(135deg,#06b6d4,#10b981)}
.s-jmty{background:linear-gradient(135deg,#22c55e,#15803d)}
.s-default{background:linear-gradient(135deg,#475569,#0f172a)}

/* CTA */
.snsh-cta{background:linear-gradient(135deg,#1e3a8a,#7c3aed);border-radius:18px;padding:30px 26px;text-align:center;color:#fff;margin-bottom:32px;box-shadow:0 8px 24px rgba(124,58,237,.2)}
.snsh-ctt{font-weight:bold;color:#fff;margin:0 0 12px;font-size:1.2em}
.snsh-cs{color:rgba(255,255,255,.88);margin:0 0 22px;line-height:1.75;font-size:.95em}
.snsh-cb{display:inline-flex;align-items:center;gap:10px;padding:14px 30px;border-radius:50px;text-decoration:none!important;font-weight:bold;color:#1e293b!important;background:#fbbf24;font-size:1em;transition:transform .2s,background .2s}
.snsh-cb:hover{background:#fcd34d;transform:translateY(-2px)}

/* フィード一覧 */
.snsh-feed{margin:32px 0 8px;display:flex;flex-direction:column;gap:14px;list-style:none;padding:0}
.snsh-feed-item{display:grid;grid-template-columns:140px 1fr;gap:16px;border:1px solid #e5e7eb;border-radius:14px;padding:14px;background:#fff;box-shadow:0 2px 6px rgba(0,0,0,.04)}
.snsh-feed-thumb{display:block;border-radius:10px;overflow:hidden;background:#f1f5f9;aspect-ratio:16/10}
.snsh-feed-thumb img{width:100%;height:100%;object-fit:cover;display:block}
.snsh-feed-body{display:flex;flex-direction:column;gap:6px;min-width:0}
.snsh-feed-meta{display:flex;gap:12px;align-items:center;font-size:.78em;color:#64748b}
.snsh-feed-acc{display:inline-flex;align-items:center;gap:4px;font-weight:bold;color:#1e3a8a}
.snsh-feed-title{font-weight:bold;color:#0f172a;text-decoration:none;line-height:1.5;font-size:1em}
.snsh-feed-title:hover{color:#7c3aed;text-decoration:underline}
.snsh-feed-desc{font-size:.85em;color:#475569;margin:0;line-height:1.6}
.snsh-empty{padding:24px;border-radius:12px;background:#f8fafc;color:#64748b;text-align:center}

@media(max-width:768px){
	.snsh-g{grid-template-columns:1fr;gap:14px}
	.snsh-t{font-size:1.25em}
	.snsh-c{padding:20px 18px;gap:14px}
	.snsh-ci{width:52px;height:52px;font-size:1.6em}
	.snsh-feed-item{grid-template-columns:90px 1fr;gap:10px}
}

/* SVG アイコン */
.snsh-svg{display:inline-flex;align-items:center;justify-content:center;width:100%;height:100%;color:#fff}
.snsh-svg svg{width:60%;height:60%;display:block}
.snsh-emoji{display:inline-flex;align-items:center;justify-content:center;font-size:1em;line-height:1}
.snsh-feed-acc .snsh-svg{width:18px;height:18px;color:#1e3a8a}
.snsh-feed-acc .snsh-svg svg{width:100%;height:100%}

/* 埋込ブロック (Instagram Feed等) */
.snsh-embeds{display:flex;flex-direction:column;gap:24px;margin-bottom:36px}
.snsh-embed-block{background:#fff;border:1px solid #e5e7eb;border-radius:14px;padding:18px;box-shadow:0 4px 12px rgba(0,0,0,.04)}
.snsh-embed-meta{display:flex;align-items:center;gap:8px;margin-bottom:12px;padding-bottom:10px;border-bottom:1px dashed #e5e7eb;font-size:.9em;color:#1e293b}
.snsh-embed-meta .snsh-svg{width:22px;height:22px;color:#7c3aed}
.snsh-embed-meta strong{color:#0f172a}
.snsh-embed-meta span{color:#64748b;font-size:.85em}
.snsh-embed{margin:0}
