@page {
    size: A4;
    margin: 13mm 13mm 17mm;

    @bottom-center {
        content: "Dajka Gábor • Extro–Intro • " counter(page) " / " counter(pages);
        color: #555555;
        font-size: 7.5pt;
    }
}

* {
    box-shadow: none !important;
    text-shadow: none !important;
}

html,
body {
    width: 100%;
    min-width: 0;
    background: #ffffff !important;
    color: #000000 !important;
    font-size: 10pt;
    line-height: 1.42;
}

.no-print,
.skip-link,
.site-header,
.site-footer,
#welcome-screen,
#quiz-screen,
#review-screen,
.cta-card,
.result-controls {
    display: none !important;
}

.print-only {
    display: block !important;
}

#result-screen,
.result-hero,
.result-body {
    display: block !important;
}

#result-screen[hidden] {
    display: none !important;
}

.shell {
    width: 100% !important;
    max-width: none !important;
    margin: 0 !important;
}

.result-hero,
.result-body {
    padding: 0 !important;
    border: 0 !important;
    background: #ffffff !important;
}

.print-heading {
    margin-bottom: 8mm;
    padding-bottom: 3mm;
    border-bottom: 1px solid #777777;
}

.print-heading p {
    margin: 0;
    font-size: 8.5pt;
}

.result-title-row {
    display: grid !important;
    grid-template-columns: 1fr auto !important;
    gap: 8mm !important;
}

.result-hero h1 {
    font-size: 31pt !important;
    line-height: 1 !important;
}

.result-lead {
    margin-top: 4mm !important;
    color: #222222 !important;
    font-size: 11pt !important;
}

.score-badge {
    width: 27mm !important;
    height: 27mm !important;
    border: 2px solid #000000 !important;
    background: #f2f2f2 !important;
}

.score-badge strong {
    font-size: 25pt !important;
}

.spectrum-card,
.quality-card,
.core-card,
.axis-map,
.axis-summary,
.area-card,
.insight-card,
.work-context-card,
.action-plan-list li,
.band-advice-card,
.disclaimer-card,
.check-list li,
.plain-list li {
    break-inside: avoid;
    border: 1px solid #777777 !important;
    background: #ffffff !important;
}

.spectrum-card {
    margin-top: 7mm !important;
    padding: 5mm !important;
}

.spectrum-range {
    print-color-adjust: exact;
    -webkit-print-color-adjust: exact;
}

.quality-card {
    margin-top: 4mm !important;
    padding: 4mm !important;
    border-left: 4px solid #000000 !important;
}

.result-section {
    padding: 9mm 0 !important;
    border-bottom: 1px solid #aaaaaa !important;
}

.result-body > .result-section:first-child {
    break-before: page;
    break-inside: avoid;
}

.axis-section {
    break-inside: avoid;
}

.result-section--tinted {
    margin: 0 !important;
    padding-inline: 0 !important;
    break-before: page;
}

.section-heading {
    margin-bottom: 5mm !important;
    break-after: avoid;
    break-inside: avoid;
}

.section-heading h2,
.result-section h2 {
    font-size: 20pt !important;
}

.section-heading p:last-child {
    margin-top: 2mm !important;
    font-size: 9.5pt !important;
}

h1,
h2,
h3 {
    break-after: avoid;
}

p,
li {
    orphans: 3;
    widows: 3;
}

.core-grid {
    display: grid !important;
    grid-template-columns: repeat(3, 1fr) !important;
    gap: 3mm !important;
}

.core-card {
    padding: 4mm !important;
}

.core-card h3 {
    min-height: 0 !important;
    font-size: 12pt !important;
}

.core-card p {
    font-size: 8.5pt !important;
}

.axis-layout {
    display: grid !important;
    grid-template-columns: 0.9fr 1.1fr !important;
    gap: 6mm !important;
}

.axis-map {
    max-width: 62mm !important;
    margin-inline: auto !important;
}

.axis-summary {
    padding: 5mm !important;
}

.axis-summary h3 {
    font-size: 16pt !important;
}

.axis-summary p,
.axis-y-label,
.axis-x-labels {
    color: #222222 !important;
    font-size: 8pt !important;
}

.area-list {
    gap: 3mm !important;
}

.area-card {
    display: grid !important;
    grid-template-columns: 0.8fr 1.2fr !important;
    gap: 5mm !important;
    padding: 4mm !important;
}

.area-card h3 {
    font-size: 11pt !important;
}

.area-card p,
.area-poles {
    font-size: 8pt !important;
}

.insight-card {
    padding: 5mm !important;
}

.insight-card h2 {
    font-size: 18pt !important;
}

.combination-list {
    gap: 2mm !important;
}

.combination-list li {
    padding: 2mm 3mm !important;
    border: 1px solid #aaaaaa !important;
    background: #ffffff !important;
    font-size: 8.5pt !important;
}

.two-column-results {
    display: grid !important;
    grid-template-columns: 1fr 1fr !important;
    gap: 7mm !important;
    break-inside: avoid;
}

.two-column-results h2 {
    font-size: 17pt !important;
}

.check-list,
.plain-list {
    gap: 2mm !important;
    margin-top: 4mm !important;
}

.check-list li,
.plain-list li {
    padding: 3mm 3mm 3mm 10mm !important;
    font-size: 8.5pt !important;
}

.check-list li::before,
.plain-list li::before {
    top: 2.5mm !important;
    left: 3mm !important;
    background: #ffffff !important;
}

.work-context-grid {
    display: grid !important;
    grid-template-columns: repeat(3, 1fr) !important;
    gap: 3mm !important;
}

.work-context-section,
.band-advice-section,
.action-plan-section,
.reflection-section {
    break-inside: avoid;
}

.work-context-card {
    padding: 4mm !important;
}

.work-context-card h3 {
    font-size: 11pt !important;
}

.work-context-card p,
.work-context-score span {
    color: #222222 !important;
    font-size: 8pt !important;
}

.band-advice-grid {
    display: grid !important;
    grid-template-columns: repeat(2, 1fr) !important;
    gap: 3mm !important;
}

.band-advice-card {
    padding: 4mm !important;
}

.band-advice-card h3 {
    font-size: 11pt !important;
}

.band-advice-card p {
    color: #222222 !important;
    font-size: 8.5pt !important;
}

.action-plan-section {
    padding-inline: 5mm !important;
    background: #ffffff !important;
    color: #000000 !important;
}

.action-plan-section .eyebrow,
.action-plan-list h3 {
    color: #000000 !important;
}

.action-plan-heading {
    display: grid !important;
    grid-template-columns: 0.9fr 1.1fr !important;
    gap: 6mm !important;
}

.action-plan-heading > p {
    color: #222222 !important;
    font-size: 9pt !important;
}

.action-plan-list {
    display: grid !important;
    grid-template-columns: repeat(3, 1fr) !important;
    gap: 3mm !important;
    margin-top: 5mm !important;
}

.action-plan-list li {
    min-height: 0 !important;
    padding: 13mm 4mm 4mm !important;
    border: 1px solid #777777 !important;
    background: #ffffff !important;
}

.action-plan-list li::before {
    top: 3mm !important;
    left: 3mm !important;
    border: 1px solid #000000;
    background: #ffffff !important;
    color: #000000 !important;
}

.action-plan-list h3 {
    font-size: 10pt !important;
}

.action-plan-list p {
    color: #222222 !important;
    font-size: 8pt !important;
}

.reflection-section {
    display: grid !important;
    grid-template-columns: 0.72fr 1.28fr !important;
    gap: 7mm !important;
}

.reflection-section h2 {
    font-size: 18pt !important;
}

.reflection-section li {
    min-height: 0 !important;
    padding: 2mm 2mm 2mm 9mm !important;
    font-size: 8.5pt !important;
}

.reflection-section li::before {
    width: 6mm !important;
    height: 6mm !important;
    top: 1.5mm !important;
    background: #ffffff !important;
    color: #000000 !important;
    border: 1px solid #000000;
}

.disclaimer-card {
    margin-top: 8mm !important;
    padding: 5mm !important;
}

.disclaimer-card h2 {
    font-size: 14pt !important;
}

.disclaimer-card p {
    font-size: 8pt !important;
}

.result-meta {
    margin-top: 6mm !important;
    font-size: 7.5pt !important;
}

a {
    color: #000000 !important;
    text-decoration: none !important;
}
