/* ── Base ── */
*, *::before, *::after { box-sizing: border-box; }

body {
    font-family: 'Inter', system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
    color: #111827;
    background: #ffffff;
    -webkit-font-smoothing: antialiased;
}

/* ── Ad container ── */
.ad-container {
    width: 100%;
    margin: 0 auto;
    padding: 0.75rem 1rem;
    display: flex;
    justify-content: center;
    align-items: center;
    min-height: 90px;
}

.ad-container ins {
    display: block !important;
    width: 100% !important;
    max-width: 1200px;
    min-height: 90px;
}

@media (max-width: 640px) {
    .ad-container { min-height: 60px; }
    .ad-container ins { min-height: 60px; }
}

/* ── Sticky sidebar (results page) ── */
.sticky-sidebar {
    position: sticky;
    top: 80px;
}
@media (max-width: 1024px) {
    .sticky-sidebar { position: static; }
}

/* ── Smooth card lift ── */
.card {
    transition: transform 0.18s ease, box-shadow 0.18s ease;
}
.card:hover {
    transform: translateY(-2px);
}

/* ── Prose ── */
.prose { max-width: 65ch; }
.prose h2 { scroll-margin-top: 90px; }

/* ── Loading animation ── */
@keyframes pulse-soft {
    0%, 100% { opacity: 1; }
    50%       { opacity: 0.6; }
}
.analyzing { animation: pulse-soft 1.5s ease-in-out infinite; }

/* ── Skip link ── */
.skip-link {
    position: absolute;
    top: -40px;
    left: 0;
    background: #2563eb;
    color: #fff;
    padding: 8px 16px;
    z-index: 200;
    transition: top 0.2s;
    border-radius: 0 0 6px 0;
}
.skip-link:focus { top: 0; }

/* ── Print ── */
@media print {
    header, footer, .ad-container, nav { display: none !important; }
    main { padding: 0 !important; }
}
