/* Spiritual Society Reviews – Front-end */
.ssr-reviews-wrap { --ssr-accent: #7c4dff; --ssr-radius: 14px; --ssr-shadow: 0 4px 24px rgba(0,0,0,.12); }

.ssr-controls { display:flex; flex-wrap:wrap; gap:.75rem; align-items:center; margin:0 0 1rem; }
.ssr-controls .ssr-search { flex:1 1 240px; padding:.6rem .8rem; border:1px solid rgba(0,0,0,.1); border-radius:10px; }
.ssr-controls .ssr-range { display:flex; align-items:center; gap:.5rem; }
.ssr-controls .ssr-range input[type="range"] { width:160px; }
.ssr-controls .ssr-sort select,
.ssr-controls .ssr-tax select { padding:.5rem .6rem; border:1px solid rgba(0,0,0,.1); border-radius:10px; }

.ssr-grid { display:grid; grid-template-columns: repeat( auto-fit, minmax(240px, 1fr) ); gap:1rem; }
.ssr-card { position:relative; background:#fff; border-radius:var(--ssr-radius); box-shadow:var(--ssr-shadow); overflow:hidden; transition:transform .18s ease, box-shadow .18s ease; }
.ssr-card:hover { transform: translateY(-2px); box-shadow: 0 10px 32px rgba(0,0,0,.16); }
.ssr-card .ssr-media { position:relative; background:#f6f7fb; }
.ssr-card .ssr-media img { width:100%; height:auto; aspect-ratio: 16/9; object-fit:cover; display:block; }
.ssr-card .ssr-thumb-fallback { width:100%; aspect-ratio: 16/9; background: linear-gradient(135deg, #eee, #ddd); }
.ssr-card .ssr-badge { position:absolute; top:10px; right:10px; background:#fff; color:#333; font-weight:700; padding:.35rem .6rem; border-radius:999px; font-size:.92rem; box-shadow:0 2px 8px rgba(0,0,0,.2); display:flex; align-items:center; gap:.35rem; }
.ssr-card .ssr-content { padding: .9rem .95rem 1.05rem; }
.ssr-card .ssr-title { font-size:1.05rem; margin:.1rem 0 .35rem; }
.ssr-card .ssr-title a { text-decoration:none; color:inherit; }
.ssr-card .ssr-meta { display:flex; flex-wrap:wrap; gap:.5rem; opacity:.85; font-size:.9rem; margin:.2rem 0 .35rem; }
.ssr-card .ssr-meta .ssr-brand::before { content:"🏷️ "; }
.ssr-card .ssr-meta .ssr-product::before { content:"🧪 "; }
.ssr-card .ssr-meta .ssr-style::before { content:"🎨 "; }
.ssr-card .ssr-meta .ssr-region::before { content:"🌍 "; }
.ssr-card .ssr-meta .ssr-abv::before { content:"🥃 "; }
.ssr-card .ssr-excerpt { margin:.2rem 0 .65rem; line-height:1.45; display:-webkit-box; -webkit-line-clamp:3; -webkit-box-orient:vertical; overflow:hidden; }
.ssr-card .ssr-readmore { display:inline-block; text-decoration:none; font-weight:600; border-radius:10px; border:1px solid rgba(0,0,0,.12); padding:.5rem .7rem; transition: background .15s ease, color .15s ease; }
.ssr-card .ssr-readmore:hover { background:var(--ssr-accent); color:#fff; border-color:transparent; }

/* Stars (10-star scale) */
.ssr-stars { --value: 0; position:relative; display:inline-block; font-size:0.95rem; line-height:1; }
.ssr-stars::before { content:"☆☆☆☆☆☆☆☆☆☆"; letter-spacing:1px; opacity:.4; }
.ssr-stars::after  { content:"★★★★★★★★★★"; letter-spacing:1px; position:absolute; left:0; top:0; width: calc(var(--value) * 10%); white-space:nowrap; overflow:hidden; color: #f39c12; }

/* Columns helper */
.ssr-grid.ssr-cols-1 { grid-template-columns: 1fr; }
.ssr-grid.ssr-cols-2 { grid-template-columns: repeat(2, minmax(0,1fr)); }
.ssr-grid.ssr-cols-3 { grid-template-columns: repeat(3, minmax(0,1fr)); }
.ssr-grid.ssr-cols-4 { grid-template-columns: repeat(4, minmax(0,1fr)); }

/* Archive/Single shared */
.ssr-hero { display:grid; grid-template-columns: 1fr 1.2fr; gap:1.2rem; margin:1rem 0 2rem; }
.ssr-hero .ssr-hero-media img { width:100%; border-radius:var(--ssr-radius); display:block; }
.ssr-hero .ssr-hero-meta { background:#fff; border-radius:var(--ssr-radius); box-shadow:var(--ssr-shadow); padding:1rem 1.1rem; }
.ssr-hero .ssr-hero-bits { display:flex; flex-wrap:wrap; gap:.6rem; margin:.5rem 0; }
.ssr-chip { display:inline-flex; align-items:center; gap:.35rem; background:#f5f6fb; border:1px solid rgba(0,0,0,.06); border-radius:999px; padding:.35rem .6rem; }
.ssr-chip .ssr-chip-badge { font-weight:700; }
.ssr-hero .ssr-stars { font-size:1.05rem; }

@media (max-width: 800px) { .ssr-hero { grid-template-columns: 1fr; } }