/* ==========================================================
   /owners/warranty
   Source/screenshot parity.
   ========================================================== */

.oj-owners-warranty {
    --oj-warranty-max: 1220px;
    --oj-warranty-narrow: 875px;
    color: #000;
    background: #fff;
    font-family: N27, Arial, Helvetica, sans-serif;
}

.oj-owners-warranty *,
.oj-owners-warranty *::before,
.oj-owners-warranty *::after {
    box-sizing: border-box;
}

.oj-warranty-container {
    width: min(var(--oj-warranty-max), calc(100% - 48px));
    margin: 0 auto;
}

.oj-warranty-container--narrow {
    width: min(var(--oj-warranty-narrow), calc(100% - 48px));
}

/* Intro --------------------------------------------------- */

.oj-warranty-intro {
    padding: 34px 0 56px;
}

.oj-warranty-intro h1 {
    margin: 0 0 38px;
    text-align: center;
    font-size: clamp(32px, 2.3vw, 42px);
    line-height: 1.08;
    font-weight: 400;
    letter-spacing: -.02em;
}

.oj-warranty-intro__copy {
    max-width: 100%;
    margin: 0 auto;
    font-size: 15px;
    line-height: 1.45;
}

.oj-warranty-intro__copy p {
    margin: 0 0 21px;
}

.oj-warranty-intro__copy p:last-child {
    margin-bottom: 0;
}

/* Alternating image/text rows ----------------------------- */

.oj-warranty-split {
    padding: 30px 0 78px;
}

.oj-warranty-split__grid {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
    gap: 88px;
    align-items: center;
}

.oj-warranty-split__media {
    min-width: 0;
}

.oj-warranty-split__media img {
    display: block;
    width: 100%;
    min-height: 390px;
    max-height: 445px;
    object-fit: cover;
    border-radius: 10px;
}

.oj-warranty-split__copy {
    max-width: 515px;
}

.oj-warranty-split__copy h2 {
    margin: 0 0 24px;
    font-size: clamp(34px, 2.6vw, 46px);
    line-height: 1.18;
    font-weight: 400;
    letter-spacing: -.015em;
}

.oj-warranty-split__copy p {
    margin: 0 0 14px;
    font-size: 15px;
    line-height: 1.45;
}

.oj-warranty-split__copy p:last-child {
    margin-bottom: 0;
}

.oj-warranty-split__copy a,
.oj-warranty-benefit a,
.oj-warranty-faq-answer a {
    color: #00667d;
    text-decoration: none;
}

.oj-warranty-split__copy a:hover,
.oj-warranty-benefit a:hover,
.oj-warranty-faq-answer a:hover {
    text-decoration: underline;
}

/* Source image_left means image visually left on desktop. */
.oj-warranty-split--image-left .oj-warranty-split__media {
    grid-column: 1;
    grid-row: 1;
}

.oj-warranty-split--image-left .oj-warranty-split__copy {
    grid-column: 2;
    grid-row: 1;
}

/* Battery block is text left / image right. */
.oj-warranty-split--image-right {
    padding-top: 76px;
}

.oj-warranty-split--image-right .oj-warranty-split__copy {
    grid-column: 1;
    grid-row: 1;
}

.oj-warranty-split--image-right .oj-warranty-split__media {
    grid-column: 2;
    grid-row: 1;
}

/* Two owner benefit columns -------------------------------- */

.oj-warranty-benefits {
    padding: 18px 0 42px;
}

.oj-warranty-benefits__grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 66px;
    align-items: start;
}

.oj-warranty-benefit {
    text-align: center;
}

.oj-warranty-benefit > img {
    display: block;
    width: min(100%, 365px);
    aspect-ratio: 1 / 1;
    margin: 0 auto 48px;
    object-fit: contain;
}

.oj-warranty-benefit__copy {
    max-width: 385px;
    margin: 0 auto;
    font-size: 15px;
    line-height: 1.45;
}

.oj-warranty-benefit__copy p {
    margin: 0 0 12px;
}

.oj-warranty-button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 158px;
    min-height: 48px;
    margin-top: 8px;
    padding: 10px 24px;
    border: 1px solid #000;
    border-radius: 999px;
    color: #000 !important;
    background: #fff;
    font-size: 15px;
    line-height: 1;
    text-decoration: none !important;
    transition: background-color .18s ease, color .18s ease;
}

.oj-warranty-button:hover {
    color: #fff !important;
    background: #000;
}

/* FAQ ------------------------------------------------------ */

.oj-warranty-faq {
    padding: 42px 0 92px;
}

.oj-warranty-faq > .oj-warranty-container > h2 {
    margin: 0 0 34px;
    font-size: clamp(32px, 2.3vw, 42px);
    line-height: 1.15;
    font-weight: 400;
}

.oj-warranty-accordion {
    width: 100%;
}

.oj-warranty-faq-item {
    border: 1px solid rgba(0, 0, 0, .15);
    border-bottom: 0;
}

.oj-warranty-faq-item:last-child {
    border-bottom: 1px solid rgba(0, 0, 0, .15);
}

.oj-warranty-faq-question {
    position: relative;
    display: block;
    width: 100%;
    min-height: 62px;
    margin: 0;
    padding: 17px 58px 17px 20px;
    border: 0;
    background: transparent;
    color: #000;
    font: inherit;
    font-size: 18px;
    line-height: 1.35;
    text-align: left;
    cursor: pointer;
}

.oj-warranty-faq-question::after {
    content: "";
    position: absolute;
    top: 50%;
    right: 22px;
    width: 13px;
    height: 13px;
    border-right: 2px solid #111;
    border-bottom: 2px solid #111;
    transform: translateY(-70%) rotate(45deg);
    transition: transform .18s ease;
}

.oj-warranty-faq-item.is-open .oj-warranty-faq-question::after {
    transform: translateY(-25%) rotate(225deg);
}

.oj-warranty-faq-answer {
    padding: 0 20px 22px;
    font-size: 15px;
    line-height: 1.5;
}

.oj-warranty-faq-answer[hidden] {
    display: none !important;
}

.oj-warranty-faq-answer p {
    margin: 0;
}

/* Responsive ---------------------------------------------- */

@media (max-width: 1199.98px) {
    .oj-warranty-split__grid {
        gap: 58px;
    }

    .oj-warranty-split__media img {
        min-height: 340px;
    }
}

@media (max-width: 991.98px) {
    .oj-warranty-intro {
        padding-top: 30px;
    }

    .oj-warranty-split {
        padding-bottom: 58px;
    }

    .oj-warranty-split__grid {
        grid-template-columns: 1fr;
        gap: 30px;
    }

    .oj-warranty-split--image-left .oj-warranty-split__media,
    .oj-warranty-split--image-left .oj-warranty-split__copy,
    .oj-warranty-split--image-right .oj-warranty-split__copy,
    .oj-warranty-split--image-right .oj-warranty-split__media {
        grid-column: 1;
    }

    .oj-warranty-split--image-left .oj-warranty-split__media,
    .oj-warranty-split--image-right .oj-warranty-split__copy {
        grid-row: auto;
    }

    .oj-warranty-split--image-left .oj-warranty-split__copy,
    .oj-warranty-split--image-right .oj-warranty-split__media {
        grid-row: auto;
    }

    .oj-warranty-split__copy {
        max-width: none;
    }

    .oj-warranty-benefits__grid {
        gap: 36px;
    }

    .oj-warranty-benefit > img {
        margin-bottom: 28px;
    }
}

@media (max-width: 767.98px) {
    .oj-warranty-container,
    .oj-warranty-container--narrow {
        width: min(100% - 32px, var(--oj-warranty-max));
    }

    .oj-warranty-intro {
        padding: 28px 0 42px;
    }

    .oj-warranty-intro h1 {
        margin-bottom: 28px;
    }

    .oj-warranty-split,
    .oj-warranty-split--image-right {
        padding: 18px 0 50px;
    }

    .oj-warranty-split__media img {
        min-height: 0;
        max-height: none;
        aspect-ratio: 16 / 10;
    }

    .oj-warranty-split__copy h2 {
        font-size: 34px;
    }

    .oj-warranty-benefits {
        padding: 10px 0 40px;
    }

    .oj-warranty-benefits__grid {
        grid-template-columns: 1fr;
        gap: 56px;
    }

    .oj-warranty-benefit > img {
        width: min(100%, 330px);
    }

    .oj-warranty-faq {
        padding: 30px 0 64px;
    }

    .oj-warranty-faq-question {
        padding-left: 14px;
        padding-right: 48px;
        font-size: 17px;
    }

    .oj-warranty-faq-answer {
        padding-left: 14px;
        padding-right: 14px;
    }
}

/* === OWNERS WARRANTY TOP SOURCE PARITY V4 START === */

/* Original source: .bg-light + .container pt-3 pb-1 + left-aligned h1. */
.oj-owners-warranty .oj-warranty-page-title {
    display: flex;
    align-items: center;
    min-height: 184px;
    margin: 0;
    padding: 0;
    background: #f4f4f4;
}

.oj-owners-warranty .oj-warranty-page-title h1 {
    margin: 0;
    color: #000;
    font-size: clamp(44px, 3.2vw, 56px);
    line-height: 1.08;
    font-weight: 400;
    letter-spacing: -0.02em;
    text-align: left;
}

/* Original source then starts a separate white pt-3/pb-3 content section. */
.oj-owners-warranty .oj-warranty-intro {
    padding: 36px 0 56px !important;
    background: #fff;
}

.oj-owners-warranty .oj-warranty-intro__title {
    margin: 0 0 38px;
    color: #000;
    text-align: center;
    font-size: clamp(32px, 2.3vw, 40px);
    line-height: 1.15;
    font-weight: 400;
    letter-spacing: -0.015em;
}

/* Keep the first source image/text block at the same visual rhythm. */
.oj-owners-warranty .oj-warranty-split--image-left {
    padding-top: 30px;
}

@media (max-width: 991.98px) {
    .oj-owners-warranty .oj-warranty-page-title {
        min-height: 150px;
    }

    .oj-owners-warranty .oj-warranty-page-title h1 {
        font-size: 44px;
    }

    .oj-owners-warranty .oj-warranty-intro {
        padding-top: 30px !important;
    }
}

@media (max-width: 767.98px) {
    .oj-owners-warranty .oj-warranty-page-title {
        min-height: 118px;
    }

    .oj-owners-warranty .oj-warranty-page-title h1 {
        font-size: 38px;
    }

    .oj-owners-warranty .oj-warranty-intro {
        padding: 28px 0 42px !important;
    }

    .oj-owners-warranty .oj-warranty-intro__title {
        margin-bottom: 28px;
        font-size: 32px;
    }
}

/* === OWNERS WARRANTY TOP SOURCE PARITY V4 END === */

/* === WARRANTY TITLE BAND PARITY V5 START === */

.oj-owners-warranty .oj-warranty-page-title {
    display: flex !important;
    align-items: center !important;
    min-height: 164px !important;
    height: auto !important;
    margin: 0 !important;
    padding: 0 !important;
    background: #f4f4f4 !important;
    position: relative;
    z-index: 0;
}

.oj-owners-warranty .oj-warranty-page-title > .oj-warranty-container {
    display: flex !important;
    align-items: center !important;
    min-height: 164px !important;
}

.oj-owners-warranty .oj-warranty-page-title h1 {
    margin: 0 !important;
    padding: 0 !important;
    font-size: clamp(43px, 2.75vw, 48px) !important;
    line-height: 1.08 !important;
    font-weight: 400 !important;
    letter-spacing: -0.018em !important;
    text-align: left !important;
}

.oj-owners-warranty .oj-warranty-intro {
    padding-top: 38px !important;
}

@media (max-width: 991.98px) {
    .oj-owners-warranty .oj-warranty-page-title,
    .oj-owners-warranty .oj-warranty-page-title > .oj-warranty-container {
        min-height: 142px !important;
    }
}

@media (max-width: 767.98px) {
    .oj-owners-warranty .oj-warranty-page-title,
    .oj-owners-warranty .oj-warranty-page-title > .oj-warranty-container {
        min-height: 118px !important;
    }

    .oj-owners-warranty .oj-warranty-page-title h1 {
        font-size: 38px !important;
    }

    .oj-owners-warranty .oj-warranty-intro {
        padding-top: 28px !important;
    }
}

/* === WARRANTY TITLE BAND PARITY V5 END === */

/* === WARRANTY NAVBAR CLEARANCE V6 START === */

/*
 * Same desktop overlay behaviour as Capped Price Servicing:
 * expose the full grey "Warranty" band below the shared navbar.
 */
@media (min-width: 992px) {
    .oj-owners-warranty .oj-warranty-page-title {
        margin-top: 56px !important;
    }
}

@media (max-width: 991.98px) {
    .oj-owners-warranty .oj-warranty-page-title {
        margin-top: 0 !important;
    }
}

/* === WARRANTY NAVBAR CLEARANCE V6 END === */
