/* Русская Витрина Контента — стили */
:root {
  --rcs-gap: 16px;
  --rcs-radius: 16px;
  --rcs-aspect: 16/9;
  --rcs-card-bg: rgba(255,255,255,0.6);
  --rcs-card-blur: 10px;
  --rcs-text: #111;
  --rcs-muted: #666;
  --rcs-accent: #7c4dff;
}

.rcs-wrapper { display:block; position:relative; width:100%; }
.rcs-wrapper .rcs-empty { padding:16px; opacity:0.8; }

/* Темы */
.rcs-theme-glass .rcs-card,
.rcs-theme-glass.rcs-gallery .rcs-item { background: var(--rcs-card-bg); backdrop-filter: blur(var(--rcs-card-blur)); border-radius: var(--rcs-radius); box-shadow: 0 10px 30px rgba(0,0,0,0.15); }

.rcs-theme-dark { --rcs-card-bg:#121212; --rcs-text:#f5f5f5; --rcs-muted:#bdbdbd; }
.rcs-theme-dark .rcs-card,
.rcs-theme-dark.rcs-gallery .rcs-item { background: #1a1a1a; color:var(--rcs-text); border-radius: var(--rcs-radius); box-shadow:0 10px 30px rgba(0,0,0,0.5); }

.rcs-theme-light .rcs-card,
.rcs-theme-light.rcs-gallery .rcs-item { background: #ffffff; color:#111; border-radius: var(--rcs-radius); box-shadow:0 8px 24px rgba(0,0,0,0.08); }

.rcs-theme-neumorph { background: #e9eef3; padding: calc(var(--rcs-gap)/2); border-radius: var(--rcs-radius); }
.rcs-theme-neumorph .rcs-card,
.rcs-theme-neumorph.rcs-gallery .rcs-item { background:#e9eef3; border-radius: var(--rcs-radius); box-shadow: 10px 10px 25px #c3c9d0, -10px -10px 25px #ffffff; }

/* Тени */
.rcs-shadow-soft .rcs-card { box-shadow:0 10px 24px rgba(0,0,0,0.12); }
.rcs-shadow-hard .rcs-card { box-shadow:0 14px 40px rgba(0,0,0,0.3); }
.rcs-shadow-glow .rcs-card { box-shadow:0 10px 25px rgba(124,77,255,0.35); }
.rcs-shadow-none .rcs-card { box-shadow:none; }

/* Сетка */
.rcs-grid { display:grid; grid-template-columns: repeat(var(--rcs-cols,3), minmax(0,1fr)); gap: var(--rcs-gap); }
.rcs-list { display:grid; grid-template-columns: 1fr; gap: var(--rcs-gap); }

/* Галерея */
.rcs-gallery { display:grid; grid-template-columns: repeat(var(--rcs-cols,3), minmax(0,1fr)); gap: var(--rcs-gap); }
.rcs-gallery .rcs-media { aspect-ratio: var(--rcs-aspect); overflow:hidden; border-radius: var(--rcs-radius); }
.rcs-gallery img { width:100%; height:100%; object-fit:cover; transition: transform .5s ease; }
.rcs-gallery .rcs-item:hover img { transform: scale(1.06); }

/* Карточка */
.rcs-card { overflow:hidden; border-radius: var(--rcs-radius); background: var(--rcs-card-bg, #fff); color:var(--rcs-text); position:relative; }
.rcs-card .rcs-media { aspect-ratio: var(--rcs-aspect); overflow:hidden; }
.rcs-card .rcs-media img { width:100%; height:100%; object-fit:cover; display:block; }
.rcs-card .rcs-body { padding: 14px 16px 18px; }
.rcs-card .rcs-title { margin:0 0 6px; font-size: clamp(18px, 1.1rem, 22px); }
.rcs-card .rcs-title a { color:inherit; text-decoration:none; }
.rcs-card .rcs-title a:hover { color: var(--rcs-accent); }
.rcs-card .rcs-meta { font-size:13px; color:var(--rcs-muted); display:flex; gap:12px; margin-bottom:8px; }
.rcs-card .rcs-excerpt { color:var(--rcs-text); opacity:0.9; }

/* 3D эффекты */
.rcs-tilt [data-tilt] { transform-style: preserve-3d; will-change: transform; transition: transform .2s ease; }
.rcs-flip .rcs-card { perspective: 1000px; }
.rcs-flip .rcs-card:hover .rcs-body { transform: rotateX(0deg); }

/* Анимации появления */
[data-rcs-observe] { opacity:0; transform: translateY(16px); transition: opacity .6s ease, transform .6s ease; }
.rcs-anim-fade [data-rcs-observe].is-visible { opacity:1; transform:none; }
.rcs-anim-rise [data-rcs-observe].is-visible { opacity:1; transform:none; }
.rcs-anim-zoom [data-rcs-observe] { transform: scale(0.98); }
.rcs-anim-zoom [data-rcs-observe].is-visible { opacity:1; transform: scale(1); }
.rcs-anim-slide [data-rcs-observe] { transform: translateX(-8px); }
.rcs-anim-slide [data-rcs-observe].is-visible { opacity:1; transform: none; }

/* Слайдер */
.rcs-slider { position:relative; overflow:hidden; border-radius: var(--rcs-radius); }
.rcs-slider .rcs-track { display:flex; transition: transform .6s cubic-bezier(.22,.61,.36,1); will-change: transform; }
.rcs-slider .rcs-slide { min-width: 100%; flex: 0 0 100%; }

.rcs-nav { position:absolute; top:50%; transform: translateY(-50%); z-index:3; background: rgba(0,0,0,0.5); color:#fff; border:none; width:40px; height:40px; border-radius:999px; cursor:pointer; display:flex; align-items:center; justify-content:center; }
.rcs-prev { left:8px; }
.rcs-next { right:8px; }
.rcs-pagination { position:absolute; left:0; right:0; bottom:8px; display:flex; justify-content:center; gap:8px; z-index:3; }
.rcs-pagination .rcs-dot { width:8px; height:8px; border-radius:999px; background:#fff; opacity:0.5; cursor:pointer; }
.rcs-pagination .rcs-dot.is-active { opacity:1; background: var(--rcs-accent); }

/* Лайтбокс */
.rcs-lightbox { position: fixed; inset:0; background: rgba(0,0,0,0.85); display:none; align-items:center; justify-content:center; z-index: 99999; }
.rcs-lightbox.is-open { display:flex; }
.rcs-lightbox img { max-width: 90vw; max-height: 90vh; border-radius: 12px; box-shadow: 0 20px 60px rgba(0,0,0,0.5); }
.rcs-lightbox .rcs-close { position:absolute; top:16px; right:16px; color:#fff; font-size:28px; cursor:pointer; }

/* Плавающая кнопка Назад */
.rcs-back-btn { position: fixed; left: 16px; bottom: 16px; z-index: 9999; display:none; }
.rcs-back-btn button { background: var(--rcs-accent); color:#fff; border:none; border-radius: 999px; padding: 10px 14px; box-shadow: 0 10px 25px rgba(0,0,0,0.25); cursor:pointer; display:flex; align-items:center; gap:8px; font-weight:600; }
.rcs-back-btn button:hover { filter: brightness(1.05); }

/* Модал с постом */
.rcs-modal { position: fixed; inset:0; background: rgba(0,0,0,0.6); display:none; z-index: 99998; padding: 32px 16px; overflow:auto; }
.rcs-modal.is-open { display:block; }
.rcs-modal-dialog { max-width: 960px; margin: 0 auto; background:#fff; color:#111; border-radius: 16px; overflow:hidden; box-shadow: 0 30px 80px rgba(0,0,0,0.45); }
.rcs-modal-header { padding: 18px 20px 0; }
.rcs-modal-title { margin:0 0 6px; font-size: clamp(22px, 3vw, 32px); }
.rcs-modal-meta { display:flex; gap:12px; color:#666; margin-bottom: 12px; font-size: 14px; }
.rcs-modal-media img { width:100%; height:auto; display:block; }
.rcs-modal-body { padding: 16px 20px 20px; line-height: 1.65; }
.rcs-modal-close { position: sticky; top: 10px; float: right; margin: 10px; background: rgba(0,0,0,0.75); color:#fff; width:36px; height:36px; border-radius:999px; border:none; cursor:pointer; display:flex; align-items:center; justify-content:center; }

/* Админка */
.rcs-admin .rcs-admin-grid { display:grid; grid-template-columns: 360px minmax(0,1fr); gap:24px; }
.rcs-admin .rcs-controls label { display:block; margin-bottom:12px; }
.rcs-admin .rcs-controls input[type="text"],
.rcs-admin .rcs-controls input[type="number"],
.rcs-admin .rcs-controls select { width:100%; }
.rcs-admin .rcs-preview-area { background:#fff; padding:16px; border-radius:12px; min-height:240px; }
.rcs-admin .rcs-placeholder { opacity:0.7; }

@media (max-width: 960px) {
  .rcs-grid, .rcs-gallery { grid-template-columns: repeat(2, minmax(0,1fr)); }
}
@media (max-width: 640px) {
  .rcs-grid, .rcs-gallery { grid-template-columns: 1fr; }
} 