/* GP Motor Works: final launch polish, native responsive media and accessible browsing. */

.gpmw-vehicle-card {
    overflow: hidden;
    position: relative;
}

body.category-vehicles-for-sale .gpmw-vehicle-card::before {
    content: none !important;
}

.gpmw-vehicle-badge {
    align-items: center;
    background: rgba(14, 17, 20, 0.93);
    color: #fff;
    display: inline-flex;
    font-size: 0.65rem;
    font-weight: 850;
    left: 16px;
    letter-spacing: 0.12em;
    min-height: 34px;
    padding: 0 13px;
    pointer-events: none;
    position: absolute;
    text-transform: uppercase;
    top: 16px;
    z-index: 4;
}

.gpmw-vehicle-badge--sold {
    background: rgba(178, 25, 39, 0.96);
}

.gpmw-vehicle-badge--available {
    background: rgba(24, 103, 72, 0.96);
}

.gpmw-vehicle-badge--reserved {
    background: rgba(145, 103, 22, 0.97);
}

.gpmw-project-pagination {
    align-items: center;
    display: flex;
    flex-direction: column;
    gap: 14px;
    margin: clamp(44px, 7vw, 88px) auto 0;
}

.gpmw-project-pagination__button {
    align-items: center;
    appearance: none;
    background: transparent;
    border: 1px solid currentColor;
    color: inherit;
    cursor: pointer;
    display: inline-flex;
    font-size: 0.77rem;
    font-weight: 760;
    gap: 11px;
    justify-content: center;
    letter-spacing: 0.035em;
    min-height: 54px;
    padding: 0 25px;
    transition: background 240ms ease, border-color 240ms ease, color 240ms ease, transform 240ms ease;
}

.gpmw-project-pagination__button:hover,
.gpmw-project-pagination__button:focus-visible {
    background: #bc1730;
    border-color: #bc1730;
    color: #fff;
    transform: translateY(-2px);
}

.gpmw-project-pagination__button:disabled {
    cursor: progress;
    opacity: 0.65;
    transform: none;
}

.gpmw-project-pagination__count {
    color: inherit;
    font-size: 0.78rem;
    letter-spacing: 0.025em;
    margin: 0;
    opacity: 0.68;
}

.project-card[data-gpmw-clickable="true"] {
    cursor: pointer;
}

.project-card[data-gpmw-clickable="true"]:focus-visible {
    outline: 2px solid #bc1730;
    outline-offset: 5px;
}

@media (max-width: 760px) {
    body.home .motion-hero {
        min-height: max(710px, 101svh);
    }

    body.home .motion-hero__shade {
        background: linear-gradient(
            180deg,
            rgba(4, 6, 8, 0.59) 0%,
            rgba(4, 6, 8, 0.12) 28%,
            rgba(4, 6, 8, 0.16) 43%,
            rgba(4, 6, 8, 0.76) 65%,
            rgba(4, 6, 8, 0.96) 91%
        ) !important;
    }

    body.home .motion-hero__content {
        align-items: flex-end;
        padding-bottom: 143px;
    }

    body.home .hero-copy {
        max-width: 34rem;
    }

    body.home .hero-copy .eyebrow {
        line-height: 1.55;
        max-width: 29rem;
    }

    body.home .hero-copy h1 {
        font-size: clamp(3rem, 11.4vw, 4.55rem);
        line-height: 0.98;
        max-width: 8ch;
    }

    body.home .hero-copy > p {
        max-width: 28rem;
    }

    body.home .motion-slide.is-active .theme-media-swap__layer img {
        object-position: 74% 42%;
    }

    .entry-hero .theme-media-swap__layer img,
    .contact-hero__visual .theme-media-swap__layer img {
        object-position: 57% 40%;
    }
}

@media (max-width: 380px) {
    body.home .motion-hero {
        min-height: 705px;
    }

    body.home .motion-hero__content {
        padding-bottom: 112px;
    }

    body.home .hero-copy .eyebrow {
        font-size: 0.58rem;
        letter-spacing: 0.065em;
    }

    body.home .hero-copy h1 {
        font-size: clamp(2.75rem, 14vw, 3.12rem);
        margin-block: 13px 10px;
    }

    body.home .hero-copy > p {
        font-size: 0.92rem;
        line-height: 1.55;
    }

    body.home .hero-actions {
        gap: 10px;
        margin-top: 20px;
    }

    .gpmw-vehicle-badge {
        left: 13px;
        top: 13px;
    }
}

@media (prefers-reduced-motion: reduce) {
    .gpmw-project-pagination__button,
    .gpmw-project-pagination__button:hover,
    .gpmw-project-pagination__button:focus-visible {
        transform: none;
        transition: none;
    }
}
