/* Telosin V70 — Warranty & Ownership. Scoped to the /warranty/ WordPress page. */

html:has(body.v70-warranty-page) {
    --v70-warranty-anchor-offset: 110px;
    scroll-padding-top: var(--v70-warranty-anchor-offset);
    scroll-behavior: smooth;
}

html.wp-toolbar:has(body.v70-warranty-page) {
    --v70-warranty-anchor-offset: 142px;
}

.v70-warranty-page .v70-page,
.v70-warranty-page .v70-page > .entry-content {
    overflow: visible;
}

/* Full-width WPBakery rows already meet the viewport edge. Remove the default
   negative row gutter without changing WPBakery globally. */
.v70-warranty-page main.v70-page > .vc_row.wpb_row.vc_row-fluid {
    margin-right: 0 !important;
    margin-left: 0 !important;
}

.v70-warranty-page .v70-warranty-hero > .wpb_column > .vc_column-inner,
.v70-warranty-page .v70-warranty-overview > .wpb_column > .vc_column-inner,
.v70-warranty-page .v70-online-guarantee > .wpb_column > .vc_column-inner,
.v70-warranty-page .v70-warranty-service > .wpb_column > .vc_column-inner,
.v70-warranty-page .v70-warranty-terms > .wpb_column > .vc_column-inner,
.v70-warranty-page .v70-warranty-hero__layout > .wpb_column > .vc_column-inner,
.v70-warranty-page .v70-warranty-section-head > .wpb_column > .vc_column-inner,
.v70-warranty-page .v70-warranty-return-steps > .wpb_column > .vc_column-inner,
.v70-warranty-page .v70-warranty-policy__row > .wpb_column > .vc_column-inner {
    padding: 0;
}

.v70-warranty-page .v70-warranty-hero .wpb_content_element,
.v70-warranty-page .v70-warranty-overview .wpb_content_element,
.v70-warranty-page .v70-online-guarantee .wpb_content_element,
.v70-warranty-page .v70-warranty-service .wpb_content_element,
.v70-warranty-page .v70-warranty-terms .wpb_content_element {
    margin-bottom: 0;
}

/* WPBakery's clearfix pseudo-elements become grid items unless explicitly
   removed from the Warranty rows that use CSS Grid. */
.v70-warranty-page .v70-warranty-hero__layout::before,
.v70-warranty-page .v70-warranty-hero__layout::after,
.v70-warranty-page .v70-warranty-overview::before,
.v70-warranty-page .v70-warranty-overview::after,
.v70-warranty-page .v70-warranty-section-head::before,
.v70-warranty-page .v70-warranty-section-head::after,
.v70-warranty-page .v70-warranty-return-steps::before,
.v70-warranty-page .v70-warranty-return-steps::after,
.v70-warranty-page .v70-warranty-service::before,
.v70-warranty-page .v70-warranty-service::after,
.v70-warranty-page .v70-warranty-policy__row::before,
.v70-warranty-page .v70-warranty-policy__row::after {
    display: none !important;
    content: none !important;
}

.v70-warranty-eyebrow {
    display: block;
    margin-bottom: 23px;
    font-size: 12px;
    line-height: 1.5;
    letter-spacing: .17em;
    text-transform: uppercase;
}

.v70-warranty-button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 52px;
    padding: 17px 25px;
    gap: 22px;
    border: 1px solid #070707;
    border-radius: 0;
    background: #070707;
    color: #fff;
    font-size: 14px;
    font-weight: 400;
    line-height: 1.2;
    text-decoration: none;
    transition: background .2s;
}

.v70-warranty-button:hover {
    background: #292929;
}

.v70-warranty-text-link {
    display: inline-flex;
    align-items: center;
    min-height: 42px;
    padding: 9px 0;
    gap: 24px;
    border-bottom: 1px solid;
    color: inherit;
    font-size: 14px;
    line-height: 1.5;
    text-decoration: none;
}

.v70-warranty-button:focus-visible,
.v70-warranty-text-link:focus-visible {
    outline: 2px solid #174ea6;
    outline-offset: 4px;
}

.v70-warranty-hero {
    padding: 65px 4.5%;
    background: #f2efeb;
}

.v70-warranty-hero__layout {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    align-items: end;
    gap: 25px 7%;
    margin: 0;
}

.v70-warranty-hero__layout > .wpb_column,
.v70-warranty-overview > .wpb_column,
.v70-warranty-section-head > .wpb_column,
.v70-warranty-return-steps > .wpb_column,
.v70-warranty-service > .wpb_column,
.v70-warranty-policy__row > .wpb_column {
    float: none;
    width: auto;
    min-width: 0;
}

.v70-warranty-hero h1 {
    margin: 0;
    font-size: clamp(48px, 6vw, 80px);
    font-weight: 300;
    line-height: 1.06;
    letter-spacing: -.045em;
}

.v70-warranty-hero__intro p {
    max-width: 620px;
    margin: 0 0 25px;
    font-size: 18px;
    line-height: 1.8;
}

.v70-warranty-actions {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 14px;
}

.v70-warranty-overview {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 40px;
    margin: 0;
    padding: 100px 4.5%;
    border-bottom: 1px solid #ddd;
}

.v70-warranty-overview h2 {
    margin: 0 0 18px;
    font-size: 24px;
    font-weight: 300;
    line-height: 1.2;
    letter-spacing: -.025em;
}

.v70-warranty-overview p {
    margin: 0;
    font-size: 16px;
    line-height: 1.8;
}

.v70-online-guarantee,
.v70-warranty-service,
.v70-warranty-terms {
    padding: 100px 4.5%;
}

.v70-online-guarantee {
    border-top: 1px solid #ddd;
    border-bottom: 1px solid #ddd;
}

.v70-warranty-section-head {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(280px, 430px);
    align-items: end;
    justify-content: space-between;
    gap: 35px;
    margin: 0 0 45px;
}

.v70-warranty-section-head h2 {
    margin: 0;
    font-size: clamp(37px, 4vw, 72px);
    font-weight: 300;
    line-height: 1.06;
    letter-spacing: -.04em;
}

.v70-online-guarantee .v70-warranty-section-head h2 {
    font-size: clamp(32px, 4vw, 54px);
}

.v70-warranty-section-head p {
    max-width: 430px;
    margin: 0;
    color: #666;
    line-height: 1.65;
}

.v70-warranty-return-steps {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 35px;
    margin: 0 0 28px;
}

.v70-warranty-return-step .v70-warranty-step-number {
    display: block;
    margin-bottom: 24px;
    padding: 0 0 20px;
    border-bottom: 1px solid #bbb;
    font-size: 13px;
}

.v70-warranty-return-step h3 {
    margin: 0 0 16px;
    font-size: 23px;
    font-weight: 300;
    line-height: 1.3;
    letter-spacing: -.025em;
}

.v70-warranty-return-step p {
    margin: 0;
    font-size: 15px;
    line-height: 1.8;
}

.v70-warranty-note {
    max-width: 90ch;
    margin: 20px 0 0;
    color: #737373;
    font-size: 12px;
    line-height: 1.5;
}

.v70-online-guarantee .v70-warranty-text-link {
    margin-top: 18px;
}

.v70-warranty-service {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    align-items: start;
    gap: 8%;
    margin: 0;
}

.v70-warranty-service h2 {
    max-width: 18ch;
    margin: 18px 0 25px;
    font-size: clamp(32px, 3.6vw, 52px);
    font-weight: 300;
    line-height: 1.13;
    letter-spacing: -.04em;
}

.v70-warranty-service ol {
    margin: 0;
    padding: 0;
    list-style: none;
}

.v70-warranty-service li {
    display: flex;
    gap: 25px;
    padding: 25px 0;
    border-top: 1px solid #ddd;
}

.v70-warranty-service li > span {
    flex: 0 0 auto;
    padding-top: 5px;
    font-size: 13px;
}

.v70-warranty-service h3 {
    margin: 0 0 12px;
    font-size: 23px;
    font-weight: 300;
    line-height: 1.3;
    letter-spacing: -.025em;
}

.v70-warranty-service li p {
    margin: 0;
    font-size: 16px;
    line-height: 1.8;
}

.v70-warranty-terms {
    background: #faf9f7;
}

.v70-warranty-policy__row {
    display: grid;
    grid-template-columns: minmax(0, .7fr) minmax(0, 1.3fr);
    gap: 8%;
    margin: 0;
    padding: 32px 0;
    border-top: 1px solid #ddd;
    scroll-margin-top: var(--v70-warranty-anchor-offset, 110px);
}

.v70-warranty-policy__row h3 {
    margin: 0;
    font-size: 21px;
    font-weight: 300;
    line-height: 1.4;
    letter-spacing: -.025em;
}

.v70-warranty-policy__row p {
    margin: 0 0 16px;
    font-size: 15px;
    line-height: 1.85;
}

.v70-warranty-policy__row p:last-child {
    margin-bottom: 0;
}

#online-returns,
#request-service,
#warranty-terms {
    scroll-margin-top: var(--v70-warranty-anchor-offset, 110px);
}

@media (max-width: 760px) {
    .v70-warranty-hero {
        padding: 45px 22px;
    }

    .v70-warranty-hero__layout,
    .v70-warranty-overview,
    .v70-warranty-section-head,
    .v70-warranty-return-steps,
    .v70-warranty-service,
    .v70-warranty-policy__row {
        grid-template-columns: minmax(0, 1fr);
    }

    .v70-warranty-hero__layout {
        gap: 28px;
    }

    .v70-warranty-hero h1 {
        font-size: clamp(44px, 14vw, 54px);
    }

    .v70-warranty-hero__intro p {
        font-size: 16px;
    }

    .v70-warranty-overview,
    .v70-online-guarantee,
    .v70-warranty-service,
    .v70-warranty-terms {
        padding: 65px 22px;
    }

    .v70-warranty-overview {
        gap: 24px;
    }

    .v70-warranty-overview > .wpb_column + .wpb_column {
        padding-top: 24px;
        border-top: 1px solid #ddd;
    }

    .v70-warranty-section-head {
        align-items: start;
        gap: 22px;
        margin-bottom: 32px;
    }

    .v70-warranty-section-head h2,
    .v70-online-guarantee .v70-warranty-section-head h2 {
        font-size: 36px;
    }

    .v70-warranty-section-head p {
        max-width: none;
        font-size: 15px;
    }

    .v70-warranty-return-steps {
        gap: 30px;
    }

    .v70-warranty-return-step .v70-warranty-step-number {
        margin-bottom: 18px;
        padding-bottom: 14px;
    }

    .v70-warranty-return-step h3 {
        margin-bottom: 12px;
    }

    .v70-warranty-service {
        gap: 28px;
    }

    .v70-warranty-service h2 {
        font-size: 35px;
    }

    .v70-warranty-policy__row {
        gap: 20px;
    }

    .v70-warranty-policy__row p {
        font-size: 14px;
    }
}

@media (prefers-reduced-motion: reduce) {
    html:has(body.v70-warranty-page) {
        scroll-behavior: auto;
    }

    .v70-warranty-button {
        transition: none;
    }
}
