/* Curve board extension: independent styles; theme color inherited. */
.kcf-section { padding:64px 0; color:#222; }
.kcf-section+.kcf-section { border-top:1px solid #eee; }
.kcf-heading { display:flex; justify-content:space-between; align-items:flex-end; gap:24px; margin-bottom:32px; }
.kcf-heading h2 { margin:0; font-size:clamp(26px,3vw,36px); line-height:1.35; font-weight:700; letter-spacing:-.04em; overflow-wrap:anywhere; }
.kcf-heading p { margin:12px 0 0; color:#666; line-height:1.7; overflow-wrap:anywhere; }
.kcf-heading .kcf-more { display:inline-flex; gap:20px; align-items:center; flex-shrink:0; padding:12px 22px; border-radius:99px; color:#fff; background:#222; font-size:14px; text-decoration:none; }
.kcf-heading .kcf-more:hover { background:rgb(var(--main-rgb,229,86,136)); }
.kcf-sr { position:absolute; width:1px; height:1px; clip-path:inset(50%); overflow:hidden; white-space:nowrap; }
.kcf-section .xe-widget-wrapper { float:none; width:100%; max-width:100%; }
.kcf-widget { color:#222; font:inherit; }
.kcf-widget * { box-sizing:border-box; }
.kcf-widget a { color:inherit; text-decoration:none; }
.kcf-widget a:focus-visible,.kcf-heading a:focus-visible { outline:3px solid rgb(var(--main-rgb,229,86,136)); outline-offset:5px; }
.kcf-widget .kcf-items { padding:0; margin:0; list-style:none; }
.kcf-widget .kcf-item { min-width:0; padding:0; margin:0; list-style:none; }
.kcf-post { display:block; height:100%; }
.kcf-widget .kcf-title { margin:0; font-size:20px; line-height:1.5; font-weight:650; letter-spacing:-.03em; overflow-wrap:anywhere; display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden; }
.kcf-board { display:block; font-size:12px; color:#666; margin-bottom:8px; }
.kcf-date { display:block; margin-top:18px; font-size:13px; color:#777; }
.kcf-widget .kcf-summary { margin:12px 0 0; font-size:14px; color:#666; line-height:1.8; overflow-wrap:anywhere; display:-webkit-box; -webkit-line-clamp:3; -webkit-box-orient:vertical; overflow:hidden; }
.kcf-image { position:relative; overflow:hidden; aspect-ratio:8/5; border-radius:24px; background:#f0f1f3; }
.kcf-widget .kcf-image img { display:block; width:100%; height:100%; object-fit:cover; transition:transform .25s; }
.kcf-post:hover .kcf-image img { transform:scale(1.035); }
.kcf-post:hover .kcf-title { text-decoration:underline; text-underline-offset:4px; }
.kcf-image-arrow { display:grid; place-items:center; position:absolute; right:10px; top:10px; width:40px; height:40px; border-radius:50%; background:#222; color:white; font-size:23px; }
.kcf-post:hover .kcf-image-arrow { background:rgb(var(--main-rgb,229,86,136)); }
.kcf-noimage { height:100%; display:flex; flex-direction:column; align-items:center; justify-content:center; gap:8px; color:#747985; font-size:13px; }
.kcf-noimage>span { font-size:36px; color:#a4a9b3; }
.kcf-gallery .kcf-items,.kcf-card .kcf-items { display:grid; gap:32px 24px; }
.kcf-cols-2 .kcf-items { grid-template-columns:repeat(2,minmax(0,1fr)); }
.kcf-cols-3 .kcf-items { grid-template-columns:repeat(3,minmax(0,1fr)); }
.kcf-cols-4 .kcf-items { grid-template-columns:repeat(4,minmax(0,1fr)); }
.kcf-gallery .kcf-body { padding:20px 4px 0; }
.kcf-card .kcf-post { border:1px solid #e5e5e5; border-radius:24px; overflow:hidden; background:#fff; }
.kcf-card .kcf-image { border-radius:0; }
.kcf-card .kcf-body { padding:24px; }
.kcf-list .kcf-item { border-top:1px solid #e5e5e5; }
.kcf-list .kcf-item:last-child { border-bottom:1px solid #e5e5e5; }
.kcf-list .kcf-post { display:flex; gap:24px; align-items:center; padding:22px 8px; }
.kcf-list .kcf-body { flex:1; min-width:0; display:grid; grid-template-columns:120px minmax(0,1fr) 100px; gap:20px; align-items:center; }
.kcf-list .kcf-title { font-size:18px; -webkit-line-clamp:1; }
.kcf-list .kcf-board,.kcf-list .kcf-date { margin:0; }
.kcf-list .kcf-date { text-align:right; }
.kcf-list-arrow { font-size:24px; }
.kcf-webzine .kcf-item+.kcf-item { border-top:1px solid #e5e5e5; margin-top:24px; padding-top:24px; }
.kcf-webzine .kcf-post { display:grid; grid-template-columns:minmax(180px,30%) minmax(0,1fr); gap:32px; align-items:center; }
.kcf-webzine .kcf-body { padding:12px 0; }
.kcf-empty { padding:36px 20px; margin:0; border:1px dashed #d5d5d5; border-radius:24px; background:#fafafa; color:#666; text-align:center; }
.kcf-admin { padding:14px 18px; margin:16px 0 0; border-left:3px solid #ad761e; background:#fff7e6; color:#77591c; font-size:13px; }
@media(max-width:991px) { .kcf-gallery .kcf-items,.kcf-card .kcf-items { grid-template-columns:repeat(2,minmax(0,1fr)); }.kcf-webzine .kcf-post { gap:24px; }.kcf-list .kcf-body { grid-template-columns:90px minmax(0,1fr) 90px; gap:12px; } }
@media(max-width:575px) { .kcf-section { padding:40px 0; }.kcf-heading { display:block; margin-bottom:24px; }.kcf-heading p { font-size:14px; }.kcf-heading .kcf-more { margin-top:18px; padding:10px 18px; }.kcf-gallery .kcf-items { gap:24px 14px; }.kcf-gallery .kcf-image { border-radius:18px; }.kcf-gallery .kcf-title { font-size:16px; }.kcf-gallery .kcf-body { padding-top:14px; }.kcf-card .kcf-items { grid-template-columns:1fr; gap:24px; }.kcf-card .kcf-body { padding:22px; }.kcf-image-arrow { width:32px; height:32px; font-size:19px; right:8px; top:8px; }.kcf-list .kcf-post { padding:18px 2px; gap:16px; }.kcf-list .kcf-body { grid-template-columns:1fr auto; gap:8px 12px; }.kcf-list .kcf-title { grid-row:2; grid-column:1/-1; -webkit-line-clamp:2; font-size:17px; }.kcf-list .kcf-date { grid-column:2; grid-row:1; font-size:12px; }.kcf-webzine .kcf-post { grid-template-columns:100px minmax(0,1fr); gap:16px; align-items:start; }.kcf-webzine .kcf-image { aspect-ratio:1; border-radius:18px; }.kcf-webzine .kcf-image-arrow { display:none; }.kcf-webzine .kcf-body { padding:0; }.kcf-webzine .kcf-title { font-size:17px; }.kcf-webzine .kcf-summary { -webkit-line-clamp:2; font-size:13px; }.kcf-date { margin-top:12px; } }
@media(max-width:359px) { .kcf-gallery .kcf-items { grid-template-columns:1fr; }.kcf-webzine .kcf-post { grid-template-columns:80px minmax(0,1fr); gap:12px; } }
@media(prefers-reduced-motion:reduce) { .kcf-widget * { transition:none!important; } }
