/* Base */
body{font-family: system-ui, -apple-system, Segoe UI, Roboto, Inter, sans-serif; margin:0; background:#FAFBFC; color:#0F172A;}
.wrap{max-width:920px; margin:40px auto; padding:0 16px;}
.card{background:#fff; border:1px solid #E5E7EB; border-radius:14px; padding:24px; box-shadow:0 2px 8px rgba(0,0,0,.04); margin-bottom:20px;}
h1{font-size:28px; margin:0 0 12px;}
h2{font-size:20px; margin:0 0 10px;}
p{margin:8px 0 16px; color:#64748B;}
ul{list-style:none; padding-left:0; margin:0}
li{padding:10px 0; border-bottom:1px solid #F1F5F9;}
.muted{color:#64748B; font-size:14px}
label{display:block; font-size:14px; color:#334155; margin-top:10px}
input, select, button{font:inherit}
input[type="text"], textarea, select{ width:100%; box-sizing:border-box; padding:10px 12px; border:1px solid #E5E7EB; border-radius:10px; outline:none; }
button{margin-top:12px; padding:10px 16px; border-radius:999px; border:0; background:#1E90FF; color:#fff; cursor:pointer}
.ok{color:#0f766e}.err{color:#b91c1c}.tiny{font-size:12px; color:#64748B; margin-top:6px}

/* Nav */
.nav{display:flex; align-items:center; justify-content:space-between; margin:18px 0}
.nav .brand{font-weight:700}
.nav .links{display:flex; gap:8px; flex-wrap:wrap}
.nav a{color:#0F172A; text-decoration:none; padding:6px 10px; border-radius:8px}
.nav a:hover{background:#F1F5F9}

/* chips */
.chips{display:flex; gap:8px; flex-wrap:wrap; margin:8px 0 12px}
.chip{padding:6px 10px; border:1px solid #E5E7EB; border-radius:999px; cursor:pointer; background:#fff; color:#0F172A;}
.chip.active{background:#1E90FF; color:#fff; border-color:#1E90FF}
.chip:focus-visible{outline:2px solid #1E90FF; outline-offset:2px}

/* grids */
.row{display:grid; grid-template-columns:1fr 1fr; gap:12px}
.row3{display:grid; grid-template-columns:1fr 1fr 1fr; gap:12px}

/* big stars */
.star-wrap{display:flex; gap:10px; align-items:center; padding:4px 0}
.star{width:36px; height:36px; display:inline-flex; align-items:center; justify-content:center; cursor:pointer; border:0; background:transparent; padding:0}
.star svg{width:36px; height:36px; stroke:#1E90FF; stroke-width:2px; fill:transparent; transition:fill .12s ease}
.star.filled svg{fill:#1E90FF}
.star:focus-visible{outline:2px solid #1E90FF; border-radius:6px; outline-offset:2px}

/* radio pills */
.radio-group{display:flex; gap:8px; flex-wrap:wrap; align-items:center; margin-top:6px}
.radio{display:none}
.radio + label{display:inline-block; padding:8px 12px; border:1px solid #E5E7EB; border-radius:999px; cursor:pointer; background:#fff; color:#0F172A; user-select:none}
.radio:checked + label{ background:#1E90FF; color:#fff; border-color:#1E90FF }
.radio:focus-visible + label{ outline:2px solid #1E90FF; outline-offset:2px }
.radio[disabled] + label{ opacity:.5; cursor:not-allowed }
.radio-group.disabled label{ opacity:.5; pointer-events:none }

/* list layout + mini stars */
.results-head{display:grid; grid-template-columns: 2fr 1fr 1fr .8fr 1.6fr; gap:12px; font-size:12px; color:#64748B; margin:6px 0 8px}
.result-row{display:grid; grid-template-columns: 2fr 1fr 1fr .8fr 1.6fr; gap:12px; align-items:center}
.result-row + .result-row{border-top:1px solid #F1F5F9;}
.row-stars{display:flex; gap:8px; align-items:center}
.row-star{width:24px; height:24px; background:transparent; border:0; cursor:pointer; padding:0}
.row-star svg{width:24px; height:24px; stroke:#1E90FF; stroke-width:2px; fill:transparent; transition:fill .12s ease}
.row-star.filled svg{fill:#1E90FF}
.rate-line{display:flex; align-items:center; gap:8px}
.cta-mini{font-size:12px; color:#64748B; margin-right:6px}

/* icons */
.icon{width:14px;height:14px;vertical-align:-2px;display:inline-block}
.icon-star path{stroke:#1E90FF;fill:#1E90FF;stroke-width:2px}
.icon-person path{fill:#64748B}

/* inline save tick */
.saved-tick{display:none; margin-left:6px; color:#22c55e; font-weight:600}
.saved-tick.show{display:inline}

/* cookie banner */
.cookie-banner{position:fixed; left:0; right:0; bottom:0; background:#fff; border-top:1px solid #E5E7EB; padding:12px 16px; display:flex; gap:12px; align-items:center; justify-content:space-between; box-shadow:0 -2px 8px rgba(0,0,0,.04); z-index:50}
.cookie-banner .actions button{margin:0}
