.tests-main { max-width: 920px; padding: 3rem 1.5rem 4rem; }
.tests-main h1 { font-family: 'Fraunces', Georgia, serif; font-size: clamp(1.75rem, 4vw, 2.6rem); color: #1E4D6B; margin: 0.5rem 0 1rem; line-height: 1.1; letter-spacing: -0.01em; }
.tests-main .lead { font-size: 1.1rem; color: #4A5859; max-width: 64ch; margin-bottom: 2.5rem; }
.tests-main .kicker { font-size: 0.85rem; color: #6B8E5A; text-transform: uppercase; letter-spacing: 0.1em; font-weight: 600; }

.tests-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(320px, 1fr)); gap: 1.5rem; margin-bottom: 3rem; }
.test-card { display: flex; flex-direction: column; padding: 1.75rem; background: white; border-radius: 14px; box-shadow: 0 2px 12px rgba(30,77,107,0.08); text-decoration: none; color: inherit; transition: transform 0.15s ease, box-shadow 0.15s ease; }
.test-card:hover { transform: translateY(-2px); box-shadow: 0 6px 20px rgba(30,77,107,0.12); }
.test-tag { align-self: flex-start; background: #DBE7F0; color: #1E4D6B; padding: 0.2rem 0.7rem; border-radius: 999px; font-size: 0.75rem; font-weight: 600; text-transform: uppercase; letter-spacing: 0.05em; margin-bottom: 0.75rem; }
.test-card h2 { font-family: 'Fraunces', serif; color: #1E4D6B; font-size: 1.25rem; margin: 0 0 0.5rem; line-height: 1.2; font-weight: 500; }
.test-card p { color: #4A5859; font-size: 0.95rem; margin: 0 0 0.75rem; }
.test-card ul { padding-left: 1.1rem; color: #4A5859; font-size: 0.9rem; margin: 0 0 1rem; }
.test-card ul li { margin-bottom: 0.3rem; }
.test-cta { color: #1E4D6B; font-weight: 600; margin-top: auto; }

.tests-cross-sell { background: #ECE6DC; padding: 2rem 1.75rem; border-radius: 14px; }
.tests-cross-sell h2 { font-family: 'Fraunces', serif; color: #1E4D6B; font-size: 1.4rem; margin: 0 0 0.5rem; font-weight: 500; }
.tests-cross-sell p { color: #4A5859; margin-bottom: 1.25rem; }

/* Test runner */
.runner { background: white; border-radius: 14px; box-shadow: 0 2px 12px rgba(30,77,107,0.08); padding: 1.75rem; margin-top: 1.5rem; }
.runner-head { display: flex; justify-content: space-between; align-items: center; gap: 1rem; flex-wrap: wrap; margin-bottom: 1rem; padding-bottom: 1rem; border-bottom: 1px solid #ECE6DC; }
.runner-progress { color: #4A5859; font-size: 0.9rem; }
.runner-timer { font-family: 'Fraunces', serif; font-size: 1.2rem; color: #1E4D6B; }
.runner-timer.danger { color: #8A2F2F; }

.q-text { font-size: 1.05rem; color: #1E4D6B; margin-bottom: 1rem; line-height: 1.5; }
.q-options { list-style: none; padding: 0; margin: 0; display: grid; gap: 0.5rem; }
.q-option { padding: 0.75rem 1rem; border: 2px solid #ECE6DC; border-radius: 10px; cursor: pointer; transition: border-color 0.15s, background 0.15s; background: #FAF6F0; }
.q-option:hover { border-color: #C8C0B0; }
.q-option.selected { border-color: #1E4D6B; background: #DBE7F0; }
.q-option.correct { border-color: #6B8E5A; background: #E5F0DC; }
.q-option.wrong { border-color: #8A2F2F; background: #F0D0D0; }
.q-explanation { margin-top: 1rem; padding: 0.75rem 1rem; background: #FAF6F0; border-left: 3px solid #6B8E5A; border-radius: 6px; font-size: 0.95rem; color: #4A5859; }

.runner-actions { display: flex; gap: 0.75rem; margin-top: 1.5rem; flex-wrap: wrap; }

/* Block selector */
.block-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); gap: 1rem; margin: 1.5rem 0 2rem; }
.block-btn { display: block; padding: 1.2rem; background: white; border: 2px solid transparent; border-radius: 12px; cursor: pointer; text-align: left; box-shadow: 0 2px 8px rgba(30,77,107,0.06); transition: border-color 0.15s; font-family: inherit; }
.block-btn:hover { border-color: #1E4D6B; }
.block-btn-name { font-family: 'Fraunces', serif; font-size: 1.05rem; color: #1E4D6B; font-weight: 500; display: block; margin-bottom: 0.3rem; }
.block-btn-meta { color: #4A5859; font-size: 0.85rem; }

/* Results */
.results-card { text-align: center; padding: 2rem; }
.results-score { font-family: 'Fraunces', serif; font-size: 4rem; color: #1E4D6B; margin: 0.5rem 0; line-height: 1; }
.results-score.passed { color: #6B8E5A; }
.results-score.failed { color: #8A2F2F; }
.results-msg { font-size: 1.1rem; color: #4A5859; margin-bottom: 1.5rem; }
.results-blocks { display: grid; grid-template-columns: repeat(auto-fit, minmax(160px, 1fr)); gap: 0.75rem; margin: 1.5rem 0; }
.results-block { padding: 0.8rem; background: #FAF6F0; border-radius: 10px; }
.results-block-name { font-size: 0.8rem; color: #4A5859; text-transform: uppercase; letter-spacing: 0.05em; }
.results-block-pct { font-family: 'Fraunces', serif; font-size: 1.4rem; color: #1E4D6B; }
.results-plan { background: #ECE6DC; padding: 1.25rem; border-radius: 10px; text-align: left; line-height: 1.55; color: #4A5859; }
