.cswvp-instance {
  --cswvp-accent: #1e73be;
  --cswvp-radius: 18px;
  --cswvp-text: #1f2937;
  --cswvp-muted: #6b7280;
  --cswvp-border: #dbe3eb;
  --cswvp-card-border-color: var(--cswvp-border);
  --cswvp-card-border-size: 1px;
  --cswvp-card-border-style: solid;
  --cswvp-card-shadow: 0 10px 24px rgba(15,23,42,.08);
  --cswvp-card-height: 480px;
  --cswvp-front-line-height: 1.6;
  --cswvp-back-line-height: 1.6;
  --cswvp-author-line-height: 1.35;
  --cswvp-date-line-height: 1.35;
  --cswvp-location-line-height: 1.35;
  --cswvp-surface: #ffffff;
  --cswvp-surface-alt: #f8fafc;
  position: relative;
}
.cswvp-filter-grid,
.cswvp-grid { display: grid; gap: 16px; }
.cswvp-filter-grid { grid-template-columns: repeat(auto-fit, minmax(180px, 1fr)); margin-bottom: 16px; }
.cswvp-filter-grid-top { grid-template-columns: minmax(220px, 1.3fr) minmax(170px, .9fr) minmax(180px, 1fr) minmax(170px, .9fr); }
.cswvp-filter-grid-bottom { grid-template-columns: minmax(180px, 220px) minmax(220px, 320px); justify-content:start; }
.cswvp-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.cswvp-columns-1 .cswvp-grid { grid-template-columns: 1fr; }
.cswvp-columns-2 .cswvp-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.cswvp-columns-3 .cswvp-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.cswvp-columns-4 .cswvp-grid { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.cswvp-columns-5 .cswvp-grid { grid-template-columns: repeat(5, minmax(0, 1fr)); }
.cswvp-columns-6 .cswvp-grid { grid-template-columns: repeat(6, minmax(0, 1fr)); }
.cswvp-columns-7 .cswvp-grid { grid-template-columns: repeat(7, minmax(0, 1fr)); }
.cswvp-columns-8 .cswvp-grid { grid-template-columns: repeat(8, minmax(0, 1fr)); }
.cswvp-columns-9 .cswvp-grid { grid-template-columns: repeat(9, minmax(0, 1fr)); }
.cswvp-columns-10 .cswvp-grid { grid-template-columns: repeat(10, minmax(0, 1fr)); }
.cswvp-filters label { display:block; }
.cswvp-filters span { display:block; margin-bottom:6px; font-weight:600; color:var(--cswvp-text); }
.cswvp-filters input[type="search"],
.cswvp-filters input[type="date"],
.cswvp-filters input[type="text"],
.cswvp-filters select {
  width:100%; box-sizing:border-box; border:1px solid var(--cswvp-border); border-radius:10px;
  padding:12px 14px; background:#fff; min-height:44px;
}
.cswvp-chip-row { display:flex; flex-wrap:wrap; gap:10px; margin:0 0 14px; }
.cswvp-chip {
  border:1px solid var(--cswvp-border); background:#fff; color:var(--cswvp-text);
  border-radius:999px; padding:9px 14px; cursor:pointer; transition:.2s ease;
}
.cswvp-chip.is-active, .cswvp-chip:hover { background:var(--cswvp-accent); color:#fff; border-color:var(--cswvp-accent); }
.cswvp-actions { display:flex; align-items:center; gap:10px; flex-wrap:wrap; margin-bottom:18px; }
.cswvp-button, .cswvp-reset {
  border:none; border-radius:12px; padding:11px 16px; text-decoration:none; cursor:pointer;
  background:var(--cswvp-accent); color:#fff; font-weight:600; display:inline-flex; align-items:center; justify-content:center;
}
.cswvp-button.is-secondary { background:transparent; color:var(--cswvp-accent); border:1px solid var(--cswvp-accent); }
.cswvp-reset { background:#eef2f7; color:var(--cswvp-text); }
.cswvp-status { color:var(--cswvp-muted); min-height:1.2em; }
.cswvp-card { perspective: 1200px; }
.cswvp-flip { height:100%; }
.cswvp-flip-inner { position:relative; min-height:var(--cswvp-card-height, 480px); transform-style:preserve-3d; transition:transform .55s ease; }
.cswvp-flip.is-flipped .cswvp-flip-inner { transform: rotateY(180deg); }
.cswvp-face {
  position:absolute; inset:0; backface-visibility:hidden; background:var(--cswvp-surface);
  border:var(--cswvp-card-border-size) var(--cswvp-card-border-style) var(--cswvp-card-border-color); border-radius:var(--cswvp-radius); overflow:hidden;
  box-shadow:var(--cswvp-card-shadow); display:flex; flex-direction:column;
}
.cswvp-back { transform:rotateY(180deg); background:var(--cswvp-surface-alt); }
.cswvp-thumb-button { position:relative; border:none; padding:0; background:none; cursor:pointer; display:block; width:100%; }
.cswvp-thumb { display:block; width:100%; aspect-ratio:16/9; object-fit:cover; }
.cswvp-play-icon {
  position:absolute; left:50%; top:50%; transform:translate(-50%,-50%);
  width:64px; height:64px; border-radius:50%; background:rgba(0,0,0,.62); color:#fff;
  display:flex; align-items:center; justify-content:center; font-size:24px;
}
.cswvp-duration {
  position:absolute; right:10px; bottom:10px; background:rgba(0,0,0,.8); color:#fff;
  padding:4px 8px; border-radius:8px; font-size:12px;
}
.cswvp-content { padding:18px; display:flex; flex-direction:column; gap:var(--cswvp-content-gap, 10px); flex:1; }
.cswvp-title { margin:0; font-size:1.15rem; line-height:1.3; color:var(--cswvp-text); }
.cswvp-meta { margin:0; color:var(--cswvp-muted); font-size:.95rem; }
.cswvp-meta-author { line-height:var(--cswvp-author-line-height, 1.35); }
.cswvp-meta-date { line-height:var(--cswvp-date-line-height, 1.35); }
.cswvp-meta-location { line-height:var(--cswvp-location-line-height, 1.35); }
.cswvp-front-text { color:var(--cswvp-text); line-height:var(--cswvp-front-line-height, 1.6); }
.cswvp-back-text { color:var(--cswvp-text); line-height:var(--cswvp-back-line-height, 1.6); }
.cswvp-toggle { align-self:flex-start; border:none; background:none; padding:0; color:var(--cswvp-accent); font-weight:700; cursor:pointer; }
.cswvp-tags { display:flex; flex-wrap:wrap; gap:8px; }
.cswvp-tag { font-size:.85rem; border-radius:999px; padding:6px 10px; background:#eef5ff; color:var(--cswvp-accent); }
.cswvp-card-actions { margin-top:auto; display:flex; flex-wrap:wrap; gap:10px; }
.cswvp-pagination { display:flex; gap:8px; justify-content:center; margin-top:18px; }
.cswvp-pagination a {
  text-decoration:none; min-width:40px; height:40px; border-radius:10px; border:1px solid var(--cswvp-border);
  display:inline-flex; align-items:center; justify-content:center; color:var(--cswvp-text); background:#fff;
}
.cswvp-pagination a.is-current, .cswvp-pagination a:hover { background:var(--cswvp-accent); color:#fff; border-color:var(--cswvp-accent); }
.cswvp-empty, .cswvp-note { padding:18px; border:1px solid var(--cswvp-border); border-radius:var(--cswvp-radius); background:#fff; }
.cswvp-modal[hidden] { display:none; }
.cswvp-modal {
  position:fixed; inset:0; z-index:99999; display:flex; align-items:center; justify-content:center;
}
.cswvp-modal-overlay { position:absolute; inset:0; background:rgba(15,23,42,.78); }
.cswvp-modal-dialog {
  position:relative; z-index:1; width:min(var(--cswvp-modal-width, 1000px), calc(100vw - 32px)); background:#000; border-radius:18px;
  overflow:hidden; box-shadow:0 20px 60px rgba(0,0,0,.35);
}
.cswvp-modal-header {
  display:flex; align-items:center; justify-content:space-between; gap:16px; padding:12px 16px; background:#111827; color:#fff;
}
.cswvp-modal-title { margin:0; font-size:1rem; }
.cswvp-modal-close { border:none; background:none; color:#fff; font-size:28px; line-height:1; cursor:pointer; }
.cswvp-modal-body { position:relative; aspect-ratio:16/9; height:var(--cswvp-modal-height, auto); max-height:calc(100vh - 110px); }
.cswvp-modal-body iframe { width:100%; height:100%; border:0; display:block; }
.cswvp-modal[style*="--cswvp-modal-height: auto"] .cswvp-modal-body { height:auto; }
@media (max-width: 1280px) {
  .cswvp-columns-10 .cswvp-grid, .cswvp-columns-9 .cswvp-grid, .cswvp-columns-8 .cswvp-grid, .cswvp-columns-7 .cswvp-grid, .cswvp-columns-6 .cswvp-grid, .cswvp-columns-5 .cswvp-grid { grid-template-columns: repeat(4, minmax(0, 1fr)); }
}
@media (max-width: 1024px) {
  .cswvp-columns-10 .cswvp-grid, .cswvp-columns-9 .cswvp-grid, .cswvp-columns-8 .cswvp-grid, .cswvp-columns-7 .cswvp-grid, .cswvp-columns-6 .cswvp-grid, .cswvp-columns-5 .cswvp-grid, .cswvp-columns-4 .cswvp-grid, .cswvp-columns-3 .cswvp-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 767px) {
  .cswvp-grid, .cswvp-columns-10 .cswvp-grid, .cswvp-columns-9 .cswvp-grid, .cswvp-columns-8 .cswvp-grid, .cswvp-columns-7 .cswvp-grid, .cswvp-columns-6 .cswvp-grid, .cswvp-columns-5 .cswvp-grid, .cswvp-columns-4 .cswvp-grid, .cswvp-columns-3 .cswvp-grid, .cswvp-columns-2 .cswvp-grid { grid-template-columns: 1fr; }
  .cswvp-filter-grid-top, .cswvp-filter-grid-bottom { grid-template-columns: 1fr; }
  .cswvp-flip-inner { min-height: min(var(--cswvp-card-height, 480px), 440px); }
}


.cswvp-card { display:block; }
.cswvp-flip { position:relative; width:100%; }
.cswvp-flip-inner { width:100%; }
.cswvp-front { transform:rotateY(0deg); z-index:2; }
.cswvp-face { -webkit-backface-visibility:hidden; backface-visibility:hidden; transform-style:preserve-3d; -webkit-transform-style:preserve-3d; }
.cswvp-back { -webkit-transform:rotateY(180deg); transform:rotateY(180deg); }
.cswvp-flip:not(.is-flipped) .cswvp-back { visibility:hidden; }
.cswvp-flip.is-flipped .cswvp-front { visibility:hidden; }

.cswvp-readmore-toggle {
  border:none;
  background:none;
  color:var(--cswvp-accent);
  font-weight:700;
  cursor:pointer;
  padding:0;
  margin-top:6px;
  text-decoration:underline;
}
.cswvp-readmore-full[hidden], .cswvp-readmore-excerpt[hidden] { display:none !important; }
