.v28h-wrap,.v28h-single,.v28h-near{max-width:1200px;margin:0 auto}
.v28h-hero{padding:44px 36px;border-radius:24px;background:linear-gradient(135deg,#eef8ff,#fff4df);margin:24px 0}
.v28h-eyebrow{font-size:12px;font-weight:800;letter-spacing:.14em}.v28h-hero h1{font-size:clamp(32px,5vw,58px);line-height:1;margin:.2em 0}
.v28h-filters{display:flex;gap:12px;align-items:center;flex-wrap:wrap;padding:18px;border:1px solid #e5e7eb;border-radius:18px;margin:24px 0}
.v28h-filters select,.v28h-filters button{padding:11px 14px;border-radius:10px;border:1px solid #cfd4da}
.v28h-filters button,.v28h-btn{background:#111;color:#fff;border:0;text-decoration:none}
.v28h-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(245px,1fr));gap:20px}
.v28h-card{border:1px solid #e5e7eb;border-radius:18px;overflow:hidden;background:#fff;box-shadow:0 6px 22px rgba(0,0,0,.05)}
.v28h-img-wrap{display:block;text-decoration:none}
.v28h-media,.v28h-fallback-stars{display:block;height:210px;position:relative;overflow:hidden}
.v28h-media.single,.v28h-fallback-stars.single{height:320px;border-radius:22px;margin:8px 0 12px}
.v28h-media img{width:100%;height:100%;object-fit:cover;display:block}
.v28h-fallback-stars{background:radial-gradient(circle at top right,rgba(255,255,255,.25),transparent 35%),linear-gradient(135deg,#ff7b54,#ff416c 55%,#5b3cc4);color:#fff;padding:18px}
.v28h-fallback-stars.single{padding:28px;background:radial-gradient(circle at top right,rgba(255,255,255,.25),transparent 30%),linear-gradient(135deg,#ff9f43,#ee5253 45%,#6c5ce7)}
.v28h-fallback-badge{position:absolute;top:14px;left:14px;background:rgba(255,255,255,.16);backdrop-filter:blur(6px);padding:7px 10px;border-radius:999px;font-size:12px;font-weight:800;letter-spacing:.05em;text-transform:uppercase}
.v28h-fallback-inner{position:absolute;left:20px;right:20px;bottom:18px;z-index:2}
.v28h-fallback-inner strong{display:block;font-size:26px;line-height:1.08;margin-top:6px;text-wrap:balance}
.v28h-fallback-inner small{display:block;margin-top:6px;font-size:14px;opacity:.92}
.v28h-fallback-stars.single .v28h-fallback-inner strong{font-size:38px}
.v28h-fallback-building{position:absolute;right:18px;bottom:0;width:92px;height:130px;background:rgba(255,255,255,.2);border-radius:14px 14px 0 0;box-shadow:inset 0 0 0 1px rgba(255,255,255,.14)}
.v28h-fallback-building:before{content:"";position:absolute;left:10px;right:10px;top:12px;bottom:10px;background:repeating-linear-gradient(to right,transparent 0 10px,rgba(255,255,255,.8) 10px 16px,transparent 16px 28px)}
.v28h-fallback-stars-line{display:flex;gap:6px;align-items:center;flex-wrap:wrap}
.v28h-stars{font-size:16px;letter-spacing:.16em;color:#ffd56a;text-shadow:0 2px 8px rgba(0,0,0,.22)}
.v28h-stars.dim{opacity:.9}.v28h-meta .v28h-stars{font-size:14px;margin-right:4px}
.v28h-body{padding:18px}.v28h-body h3{margin:4px 0 7px;font-size:21px}.v28h-body h3 a{color:#111;text-decoration:none}.v28h-meta{color:#666;font-size:14px;display:flex;gap:8px;align-items:center;flex-wrap:wrap}
.v28h-tested{display:inline-block;background:#eaf8ee;color:#176b31;padding:5px 9px;border-radius:999px;font-size:12px;font-weight:800;margin-bottom:8px}.v28h-tested.big{font-size:14px;margin:14px 0}.v28h-score{margin:12px 0}.v28h-score b{font-size:20px}
.v28h-chips{display:flex;flex-wrap:wrap;gap:7px;margin:12px 0}.v28h-chip{font-size:12px;background:#f3f4f6;padding:6px 8px;border-radius:999px}.v28h-btn{display:inline-block;padding:10px 14px;border-radius:10px;margin-top:8px}.v28h-btn.primary{background:#e65100}
.v28h-scorebox{display:grid;grid-template-columns:auto 1fr;gap:0 14px;align-items:center;background:#faf7ef;padding:22px;border-radius:18px;margin:24px 0}.v28h-scorebox strong{font-size:36px;grid-row:1/3}.v28h-scorebox span{font-weight:800}.v28h-scorebox small{color:#666}
.v28h-single section{margin:32px 0}.v28h-map{width:100%;height:390px;border:0;border-radius:18px}.v28h-nearplaces{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:10px}.v28h-nearplaces a{display:flex;justify-content:space-between;gap:12px;padding:14px;border:1px solid #e5e7eb;border-radius:12px;text-decoration:none;color:#111}.v28h-nearplaces span{color:#666;white-space:nowrap}.v28h-actions{margin:25px 0}
@media(max-width:640px){
  .v28h-hero{padding:28px 20px}
  .v28h-filters{align-items:flex-start}
  .v28h-map{height:300px}
  .v28h-media,.v28h-fallback-stars{height:185px}
  .v28h-media.single,.v28h-fallback-stars.single{height:240px}
  .v28h-fallback-inner strong{font-size:22px}
  .v28h-fallback-stars.single .v28h-fallback-inner strong{font-size:28px}
  .v28h-fallback-building{width:72px;height:105px}
}
.v28h-filters input[type="search"]{min-width:220px;padding:11px 14px;border-radius:10px;border:1px solid #cfd4da}
.v28h-filter-check{display:inline-flex;align-items:center;gap:7px;padding:9px 12px;border:1px solid #d9dde3;border-radius:999px;background:#fff;cursor:pointer;font-weight:700}
.v28h-filter-check input{margin:0}.v28h-clear{padding:10px 12px;color:#444;text-decoration:underline}.v28h-results{margin:-8px 0 20px;color:#555}
.v28h-empty{grid-column:1/-1;padding:36px;border:1px dashed #ccd2d8;border-radius:18px;text-align:center;background:#fafafa}
.v28h-review-badge{display:inline-block;background:#fff1e8;color:#a44300;padding:5px 9px;border-radius:999px;font-size:12px;font-weight:800;margin:0 0 8px 6px}
.v28h-review-link{padding:22px;border-radius:18px;background:#fff5ec;border:1px solid #ffd9bf}.v28h-image-credit{font-size:12px;color:#6b7280;margin-top:8px}
.v28h-score{display:flex;align-items:baseline;gap:5px}.v28h-score b{min-width:62px}.v28h-card{display:flex;flex-direction:column}.v28h-body{display:flex;flex-direction:column;flex:1}.v28h-body .v28h-btn{margin-top:auto;align-self:flex-start}
@media(max-width:640px){.v28h-filters input[type="search"],.v28h-filters select,.v28h-filters button{width:100%}.v28h-filter-check{flex:1;justify-content:center}}
