/* RCS SWK - scoped */
.rcs-swk{font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Hiragino Sans","Noto Sans JP","Helvetica Neue",Arial,sans-serif;color:#111}

/* Toggle button centered & larger */
.rcs-swk-toggle-wrap{display:flex;justify-content:center;margin:10px 0 14px}
.rcs-swk--form .rcs-swk-toggle{padding:16px 28px;font-size:1.15rem;border:0;border-radius:12px;background:#111;color:#fff;cursor:pointer}
.rcs-swk--form .rcs-swk-form.is-collapsed{display:none}

.rcs-swk--form .rcs-swk-form{border:1px dashed #cbd5e1;border-radius:12px;padding:14px;background:#fafafa}
.rcs-swk-field{margin-bottom:14px}
.rcs-swk-field--row{display:flex;gap:12px}
.rcs-swk-label{display:block;font-size:.9rem;margin-bottom:6px;font-weight:600}
.rcs-swk-input,.rcs-swk-textarea{width:100%;box-sizing:border-box;border:1px solid #d1d5db;border-radius:10px;padding:10px;font-size:14px;background:#fff}
.rcs-swk-textarea{min-height:120px;resize:vertical}
.rcs-swk-upload{border:2px dashed #cbd5e1;border-radius:12px;background:#fff;padding:16px;text-align:center;cursor:pointer}
.rcs-swk-upload.dragover{background:#eef6ff;border-color:#60a5fa}
.rcs-swk-upload__hint{font-size:.85rem;color:#555}
.rcs-swk-previews{display:flex;gap:8px;flex-wrap:wrap;margin-top:8px}
.rcs-swk-previews .rcs-swk-thumbwrap{position:relative}
.rcs-swk-previews img{width:80px;height:80px;object-fit:cover;border-radius:8px;border:1px solid #e5e7eb}
.rcs-swk-previews .rcs-swk-del{position:absolute;top:-6px;right:-6px;width:22px;height:22px;border-radius:50%;border:0;background:#ff4d6d;color:#fff;cursor:pointer;font-size:.8rem;line-height:22px;text-align:center}

.rcs-swk-submit{display:flex;justify-content:flex-end;align-items:center;gap:10px}
.rcs-swk-btn{appearance:none;border:0;border-radius:10px;background:#2563eb;color:#fff;padding:10px 16px;font-size:.95rem;cursor:pointer}
.rcs-swk-msg{font-size:.9rem;color:#155724}

/* Grid */
.rcs-swk--grid .rcs-swk-grid{display:grid;gap:16px}
.rcs-swk--grid.cols-5 .rcs-swk-grid{grid-template-columns:repeat(5,1fr)}
.rcs-swk--grid.cols-4 .rcs-swk-grid{grid-template-columns:repeat(4,1fr)}
.rcs-swk--grid.cols-3 .rcs-swk-grid{grid-template-columns:repeat(3,1fr)}
.rcs-swk--grid.cols-2 .rcs-swk-grid{grid-template-columns:repeat(2,1fr)}
@media(max-width:1200px){.rcs-swk--grid .rcs-swk-grid{grid-template-columns:repeat(3,1fr)}}
@media(max-width:900px){.rcs-swk--grid .rcs-swk-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:520px){.rcs-swk--grid .rcs-swk-grid{grid-template-columns:1fr}}

/* Slider */
.rcs-swk--slider{position:relative}
.rcs-swk-slider{position:relative}
.rcs-swk-track{display:flex;gap:16px;overflow:hidden;scroll-behavior:smooth}
.rcs-swk--slider .rcs-swk-card{flex:0 0 calc((100% - (var(--gap,16px) * (var(--cols,4) - 1))) / var(--cols,4));}
.rcs-swk-nav{position:absolute;top:50%;transform:translateY(-50%);z-index:2;border:0;background:#111;color:#fff;width:38px;height:38px;border-radius:50%;cursor:pointer;opacity:.9}
.rcs-swk-prev{left:-6px}
.rcs-swk-next{right:-6px}

.rcs-swk-card{background:#fff;border:1px solid #e5e7eb;border-radius:12px;overflow:hidden;display:flex;flex-direction:column}
.rcs-swk-thumb{position:relative;display:block;width:100%;aspect-ratio:16/9;background:#f4f4f4;overflow:hidden}
.rcs-swk-thumb img{width:100%;height:100%;object-fit:cover;display:block}
.rcs-swk-noimg{display:flex;align-items:center;justify-content:center;height:100%;color:#aaa;font-size:.9rem}
.rcs-swk-body{padding:12px}
.rcs-swk-h3{font-size:1rem;margin:0 0 6px}
.rcs-swk-h3 a{text-decoration:none;color:#111}

/* 解説 2行省略（line-clamp） */
.rcs-swk-ex{
  font-size:.9rem;color:#333;margin:0 0 10px;
  display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden; text-overflow:ellipsis;
}

.rcs-swk-meta{display:flex;align-items:center;gap:6px;font-size:.85rem;color:#555}
.rcs-swk-mini{margin-top:6px; display:flex; align-items:center; gap:8px; font-size:.8rem; color:#444}
.rcs-swk-like{display:inline-flex;align-items:center;gap:6px;padding:2px 8px;border:1px solid #e5e7eb;border-radius:999px;background:#fff;cursor:pointer}
.rcs-swk-like[aria-pressed="true"], .rcs-swk-like.is-liked{background:#ffe6ea;border-color:#ffafbf}
.rcs-swk-like-icon{font-size:.85rem;line-height:1}
.rcs-swk-like-count{font-variant-numeric:tabular-nums}
.rcs-swk-mini-sep{opacity:.6}


/* === v1.3.2-r1: responsive tuning & slider snap === */
@media (max-width: 800px){
  .rcs-swk--grid.cols-5 .rcs-swk-grid{grid-template-columns:repeat(3,1fr)}
  .rcs-swk--grid.cols-4 .rcs-swk-grid{grid-template-columns:repeat(2,1fr)}
  .rcs-swk--grid.cols-3 .rcs-swk-grid{grid-template-columns:repeat(2,1fr)}
  .rcs-swk--grid.cols-2 .rcs-swk-grid{grid-template-columns:repeat(1,1fr)}
  .rcs-swk--grid.cols-1 .rcs-swk-grid{grid-template-columns:repeat(1,1fr)}
  .rcs-swk-h3{font-size:.95rem}
  .rcs-swk-ex{font-size:.85rem}
  .rcs-swk-meta{font-size:.8rem}
  .rcs-swk-mini{font-size:.78rem}
  .rcs-swk--form .rcs-swk-toggle{font-size:1rem;padding:14px 22px}
}

/* Snap each card at start */
.rcs-swk-track{scroll-snap-type:x mandatory}
.rcs-swk-track .rcs-swk-card{scroll-snap-align:start}


/* === v1.3.2-r3: robust mobile columns + fonts === */
@media (max-width: 800px){
  /* Grid shortcode (class-based cols) */
  .rcs-swk .rcs-swk--grid.cols-5 .rcs-swk-grid{grid-template-columns:repeat(3,1fr) !important}
  .rcs-swk .rcs-swk--grid.cols-4 .rcs-swk-grid{grid-template-columns:repeat(2,1fr) !important}
  .rcs-swk .rcs-swk--grid.cols-3 .rcs-swk-grid{grid-template-columns:repeat(2,1fr) !important}
  .rcs-swk .rcs-swk--grid.cols-2 .rcs-swk-grid{grid-template-columns:repeat(1,1fr) !important}
  .rcs-swk .rcs-swk--grid.cols-1 .rcs-swk-grid{grid-template-columns:repeat(1,1fr) !important}

  /* Slider shortcode (attribute-based cols) */
  .rcs-swk [data-rcs-swk-slider][data-cols="5"] .rcs-swk-grid{grid-template-columns:repeat(3,1fr) !important}
  .rcs-swk [data-rcs-swk-slider][data-cols="4"] .rcs-swk-grid{grid-template-columns:repeat(2,1fr) !important}
  .rcs-swk [data-rcs-swk-slider][data-cols="3"] .rcs-swk-grid{grid-template-columns:repeat(2,1fr) !important}
  .rcs-swk [data-rcs-swk-slider][data-cols="2"] .rcs-swk-grid{grid-template-columns:repeat(1,1fr) !important}
  .rcs-swk [data-rcs-swk-slider][data-cols="1"] .rcs-swk-grid{grid-template-columns:repeat(1,1fr) !important}

  /* Font tuning on mobile */
  .rcs-swk .rcs-swk-h3{font-size:0.95rem !important; line-height:1.35}
  .rcs-swk .rcs-swk-ex{font-size:0.85rem !important; line-height:1.5}
  .rcs-swk .rcs-swk-meta{font-size:0.8rem !important}
  .rcs-swk .rcs-swk-mini{font-size:0.78rem !important}
}

/* viewport 800 aligned */
