@import url('https://fonts.googleapis.com/css2?family=Playfair+Display:ital,wght@0,400;0,600;1,400&family=DM+Sans:wght@300;400;500&display=swap');

:root {
    --srvw-cream:         #faf7f2;
    --srvw-charcoal:      #1c1c1c;
    --srvw-charcoal-soft: #3a3a3a;
    --srvw-muted:         #7a7268;
    --srvw-accent:        #c4623a;
    --srvw-accent-light:  #f5ebe5;
    --srvw-border:        #e2dbd0;
    --srvw-white:         #ffffff;
    --srvw-serif:         'Playfair Display', Georgia, serif;
    --srvw-sans:          'DM Sans', system-ui, sans-serif;
}
.wp-block-srvogue-review-cards { max-width:100% !important; margin-left:0 !important; margin-right:0 !important; padding:0 !important; }
.srvw-reviews-section { padding:72px 0 80px; background:var(--srvw-cream); font-family:var(--srvw-sans); width:100%; }
.srvw-section-header { display:flex; align-items:flex-end; justify-content:space-between; margin-bottom:40px; flex-wrap:wrap; gap:16px; }
.srvw-section-kicker { font-size:11px; font-weight:500; letter-spacing:0.14em; text-transform:uppercase; color:var(--srvw-accent); display:block; margin-bottom:10px; font-family:var(--srvw-sans); }
.srvw-section-heading { font-family:var(--srvw-serif); font-size:clamp(26px,3.5vw,38px); font-weight:400; color:var(--srvw-charcoal); line-height:1.2; max-width:480px; margin:0; }
.srvw-section-heading em { font-style:italic; color:var(--srvw-accent); }
.srvw-view-all { font-size:13px; font-weight:500; color:var(--srvw-charcoal); text-decoration:none; border-bottom:1px solid var(--srvw-border); padding-bottom:2px; white-space:nowrap; transition:border-color 0.2s,color 0.2s; flex-shrink:0; font-family:var(--srvw-sans); }
.srvw-view-all:hover { color:var(--srvw-accent); border-color:var(--srvw-accent); }
.srvw-cards-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:20px; }
.srvw-review-card { background:var(--srvw-white); border:1px solid var(--srvw-border); border-radius:12px; overflow:hidden; display:flex; flex-direction:column; transition:transform 0.22s ease,box-shadow 0.22s ease; text-decoration:none; color:inherit; }
.srvw-review-card:hover { transform:translateY(-5px); box-shadow:0 16px 40px rgba(0,0,0,0.08); }
.srvw-card-visual { height:168px; display:flex; align-items:center; justify-content:center; position:relative; overflow:hidden; }
.srvw-card-img { width:100%; height:100%; object-fit:cover; display:block; }
.srvw-card-img-placeholder { display:flex; align-items:center; justify-content:center; width:100%; height:100%; }
.srvw-card-img-placeholder svg { width:60px; height:60px; opacity:0.55; }
.srvw-card-badge { position:absolute; bottom:12px; left:14px; background:var(--srvw-accent); color:var(--srvw-white); font-size:11px; font-weight:500; padding:4px 10px; border-radius:20px; letter-spacing:0.04em; font-family:var(--srvw-sans); }
.srvw-card-tag { position:absolute; top:12px; right:12px; background:rgba(255,255,255,0.82); color:var(--srvw-charcoal-soft); font-size:11px; font-weight:500; padding:4px 10px; border-radius:20px; border:1px solid var(--srvw-border); backdrop-filter:blur(4px); font-family:var(--srvw-sans); }
.srvw-card-body { padding:20px 22px 22px; display:flex; flex-direction:column; flex:1; }
.srvw-card-category { font-size:11px; font-weight:500; letter-spacing:0.1em; text-transform:uppercase; color:var(--srvw-accent); margin:0 0 8px; font-family:var(--srvw-sans); }
.srvw-card-title { font-family:var(--srvw-serif); font-size:19px; font-weight:600; color:var(--srvw-charcoal); line-height:1.3; margin:0 0 10px; }
.srvw-card-desc { font-size:14px; color:var(--srvw-muted); line-height:1.65; flex:1; margin:0; font-family:var(--srvw-sans); }
.srvw-card-footer { display:flex; align-items:center; justify-content:space-between; margin-top:18px; padding-top:16px; border-top:1px solid var(--srvw-border); }
.srvw-card-verdict { display:flex; align-items:center; gap:6px; font-size:12px; font-weight:500; color:var(--srvw-charcoal-soft); font-family:var(--srvw-sans); }
.srvw-verdict-dot { width:7px; height:7px; border-radius:50%; flex-shrink:0; display:inline-block; }
.srvw-verdict-dot.recommended { background:#4a9e6b; }
.srvw-verdict-dot.mixed       { background:#d4a825; }
.srvw-verdict-dot.skip        { background:#c45a3a; }
.srvw-card-read { font-size:12px; font-weight:500; color:var(--srvw-accent); display:flex; align-items:center; gap:4px; font-family:var(--srvw-sans); }
.srvw-card-read svg { width:13px; height:13px; stroke:var(--srvw-accent); fill:none; stroke-width:2; stroke-linecap:round; stroke-linejoin:round; transition:transform 0.2s; }
.srvw-review-card:hover .srvw-card-read svg { transform:translateX(3px); }
@media (max-width:900px) { .srvw-cards-grid { grid-template-columns:repeat(2,1fr); } }
@media (max-width:600px) { .srvw-cards-grid { grid-template-columns:1fr; } .srvw-reviews-section { padding:48px 0 56px; } .srvw-section-header { flex-direction:column; align-items:flex-start; } }