/* Ulepszenia pojazdów - page-owned styles */

/* Hero */
.hero-upgrades {
    background-color: var(--color-graphite);
    color: var(--color-white);
    padding-block: var(--space-16) var(--space-12);
    position: relative;
    overflow: hidden;
}

.hero-upgrades::before {
    content: "";
    position: absolute;
    inset: 0;
    background-color: var(--color-turquoise);
    clip-path: polygon(0 0, 100% 0, 100% 100%, 0 85%);
    opacity: 0.15;
    pointer-events: none;
}

.hero-upgrades__inner {
    position: relative;
    display: grid;
    grid-template-columns: 3fr 2fr;
    gap: var(--space-12);
    align-items: center;
}

.hero-upgrades__content {
    display: flex;
    flex-direction: column;
    gap: var(--space-6);
    max-width: 550px;
    min-width: 0;
}

.hero-upgrades__title {
    color: var(--color-white);
    font: var(--text-h1);
    text-transform: uppercase;
    letter-spacing: -0.01em;
    margin-block-end: 0;
}

.hero-upgrades__title span {
    color: var(--color-racing-orange);
}

.hero-upgrades__lead {
    font: var(--text-body-large);
    color: var(--color-white);
    margin-block-end: 0;
}

.hero-upgrades__cta {
    align-self: flex-start;
}

.hero-upgrades__media {
    min-width: 0;
    max-width: 100%;
}

.hero-upgrades__media img {
    width: 100%;
    height: auto;
    object-fit: cover;
}

/* Dlaczego ulepszenia są ważne? */
.why-upgrades__content {
    max-width: 800px;
    display: flex;
    flex-direction: column;
    gap: var(--space-8);
}

.why-upgrades__item {
    min-width: 0;
}

.why-upgrades__item h3 {
    margin-block-end: var(--space-3);
}

.why-upgrades__item p {
    margin-block-end: 0;
}

.why-upgrades__callout {
    margin-block-start: var(--space-4);
}

/* Kategorie ulepszeń */
.categories__grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: var(--space-6);
}

.category-card {
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
    gap: var(--space-4);
    padding: var(--space-8);
    min-width: 0;
}

.category-card__icon {
    font-size: 2.5rem;
    line-height: 1;
    margin-block-end: var(--space-2);
}

.category-card h3 {
    margin-block-end: 0;
}

.category-card p {
    margin-block-end: 0;
    max-width: 280px;
}

/* Koszty ulepszeń */
.costs__layout {
    display: grid;
    grid-template-columns: 3fr 2fr;
    gap: var(--space-8);
    align-items: start;
}

.costs__table-wrapper {
    min-width: 0;
    overflow-x: auto;
    background-color: var(--color-soft-gray);
    border-radius: var(--radius-md);
    padding: var(--space-4);
}

.costs__table {
    width: 100%;
    min-width: 400px;
    border-collapse: collapse;
    font: var(--text-body-small);
}

.costs__table th,
.costs__table td {
    padding: var(--space-3) var(--space-4);
    text-align: left;
    border-bottom: var(--border-separator);
}

.costs__table th {
    font-weight: 600;
    color: var(--color-graphite);
    background-color: var(--color-white);
}

.costs__table tbody tr:last-child td {
    border-bottom: none;
}

.costs__callout {
    min-width: 0;
}

/* Porównanie pojazdów */
.comparison__grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: var(--space-6);
}

.vehicle-card {
    display: flex;
    flex-direction: column;
    min-width: 0;
    overflow: hidden;
}

.vehicle-card__media {
    border-radius: 0;
    border: none;
    border-bottom: 2px solid var(--color-graphite);
    margin: 0;
}

.vehicle-card__media img {
    width: 100%;
    height: auto;
    aspect-ratio: 1 / 1;
    object-fit: cover;
}

.vehicle-card__body {
    display: flex;
    flex-direction: column;
    gap: var(--space-4);
    padding: var(--space-6);
    flex: 1;
}

.vehicle-card__body h3 {
    margin-block-end: 0;
}

.vehicle-card__body p {
    margin-block-end: 0;
    flex: 1;
}

.vehicle-card__tags {
    display: flex;
    flex-wrap: wrap;
    gap: var(--space-2);
}

/* Strategie dla początkujących */
.beginner-strategies__list {
    max-width: 800px;
    display: flex;
    flex-direction: column;
    gap: var(--space-6);
}

.beginner-strategies__item {
    display: flex;
    gap: var(--space-4);
    align-items: flex-start;
    min-width: 0;
}

.beginner-strategies__icon {
    flex-shrink: 0;
    width: 2rem;
    height: 2rem;
    display: flex;
    align-items: center;
    justify-content: center;
    background-color: var(--color-racing-orange);
    color: var(--color-white);
    border-radius: 50%;
    font-weight: 700;
}

.beginner-strategies__item h3 {
    margin-block-end: var(--space-2);
}

.beginner-strategies__item p {
    margin-block-end: 0;
}

.beginner-strategies__callout {
    margin-block-start: var(--space-2);
}

/* Strategie dla zaawansowanych */
.advanced-strategies__content {
    max-width: 800px;
    display: flex;
    flex-direction: column;
    gap: var(--space-8);
}

.advanced-strategies__content article {
    min-width: 0;
}

.advanced-strategies__content h3 {
    margin-block-end: var(--space-3);
}

.advanced-strategies__content p {
    margin-block-end: 0;
}

.advanced-strategies__callout {
    margin-block-start: var(--space-2);
}

/* Ocena systemu ulepszeń */
.rating__content {
    max-width: 700px;
    margin-inline: auto;
    text-align: center;
    display: flex;
    flex-direction: column;
    gap: var(--space-4);
    align-items: center;
}

.rating__stars {
    font-size: 2.5rem;
    color: var(--color-lemon-yellow);
    letter-spacing: 0.1em;
    line-height: 1;
}

.rating__score {
    font: var(--text-h3);
    color: var(--color-racing-orange);
    margin-block-end: 0;
}

.rating__text {
    margin-block-end: 0;
}

/* FAQ */
.faq__list {
    max-width: 800px;
    display: flex;
    flex-direction: column;
    gap: var(--space-4);
}

.faq__item {
    border: 2px solid var(--color-graphite);
    border-radius: var(--radius-md);
    overflow: hidden;
    background-color: var(--color-white);
    min-width: 0;
}

.faq__question {
    display: block;
    width: 100%;
    text-align: left;
    padding: var(--space-4) var(--space-6);
    font: 600 1.125rem/1.3 var(--font-heading);
    color: var(--color-graphite);
    background-color: var(--color-white);
    border: none;
    cursor: pointer;
    transition: background-color var(--transition-fast), color var(--transition-fast);
    min-height: 44px;
}

.faq__question:hover {
    background-color: var(--color-soft-gray);
}

.faq__question:focus-visible {
    outline: 2px solid var(--color-lemon-yellow);
    outline-offset: 2px;
}

.faq__answer {
    max-height: 0;
    overflow: hidden;
    transition: max-height 0.3s ease-in-out;
    padding-inline: var(--space-6);
}

.faq__answer p {
    padding-block: var(--space-4);
    margin-block-end: 0;
}

.faq__item.active .faq__answer {
    max-height: 200px;
}

.faq__item.active .faq__question {
    background-color: var(--color-soft-gray);
}

/* CTA: Pobierz grę */
.cta-download {
    text-align: center;
}

.cta-download .container {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: var(--space-6);
    max-width: 600px;
}

.cta-download__title {
    color: var(--color-white);
    margin-block-end: 0;
}

.cta-download__text {
    color: var(--color-white);
    margin-block-end: 0;
}

.cta-download__btn {
    min-width: 200px;
}

/* Nota o aktualizacjach */
.update-note__text {
    max-width: 800px;
    font: var(--text-body-small);
    margin-block-end: 0;
}

/* Responsive */
@media (min-width: 1024px) and (max-width: 1199px) {
    .categories__grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (min-width: 768px) and (max-width: 1023px) {
    .hero-upgrades__inner {
        grid-template-columns: 1fr;
        gap: var(--space-8);
    }

    .hero-upgrades__content {
        max-width: 100%;
    }

    .hero-upgrades__media {
        max-width: 80%;
        margin-inline: auto;
    }

    .categories__grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .costs__layout {
        grid-template-columns: 1fr;
    }

    .comparison__grid {
        grid-template-columns: 1fr;
        max-width: 500px;
        margin-inline: auto;
    }
}

@media (max-width: 767px) {
    .hero-upgrades {
        padding-block: var(--space-12) var(--space-8);
    }

    .hero-upgrades::before {
        clip-path: none;
    }

    .hero-upgrades__inner {
        grid-template-columns: 1fr;
        gap: var(--space-6);
    }

    .hero-upgrades__content {
        max-width: 100%;
    }

    .hero-upgrades__title {
        font: var(--text-h1);
    }

    .hero-upgrades__lead {
        font: var(--text-body);
    }

    .hero-upgrades__cta {
        align-self: stretch;
        text-align: center;
    }

    .hero-upgrades__media {
        max-width: 100%;
    }

    .categories__grid {
        grid-template-columns: 1fr;
        gap: var(--space-4);
    }

    .category-card {
        padding: var(--space-6);
    }

    .costs__layout {
        grid-template-columns: 1fr;
        gap: var(--space-4);
    }

    .costs__table-wrapper {
        padding: var(--space-2);
    }

    .comparison__grid {
        grid-template-columns: 1fr;
        gap: var(--space-4);
    }

    .beginner-strategies__item {
        flex-direction: column;
        gap: var(--space-2);
    }

    .beginner-strategies__icon {
        width: 1.5rem;
        height: 1.5rem;
        font-size: 0.875rem;
    }

    .rating__stars {
        font-size: 2rem;
    }

    .faq__question {
        font-size: 1rem;
        padding: var(--space-3) var(--space-4);
    }

    .faq__answer {
        padding-inline: var(--space-4);
    }

    .cta-download__btn {
        width: 100%;
    }
}
