/* Warranty-specific styles are intentionally isolated from the global theme. */
.warranty-box { margin: 5px; padding: 10px; border: 1px solid var(--color-hex-bbb); }
/* NTP warranty page */
.ntp-page { background: var(--surface-page); color: var(--ntp-text); }
.ntp-hero { position: relative; overflow: hidden; padding: 44px 0 82px; background: radial-gradient(circle at 82% 12%, var(--ntp-hero-glow), transparent 29%), linear-gradient(135deg, var(--ntp-hero-start) 0%, var(--ntp-hero-middle) 58%, var(--ntp-hero-end) 100%); color: var(--surface-page); }
.ntp-hero::after { content: ''; position: absolute; right: -140px; bottom: -190px; width: 520px; height: 520px; border: 1px solid var(--color-rgba-255-255-255-12); border-radius: 50%; box-shadow: 0 0 0 45px var(--color-rgba-255-255-255-025), 0 0 0 90px var(--ntp-hero-ring-outer); }
.ntp-hero .container { position: relative; z-index: 1; }
.ntp-back-link { display: inline-flex; align-items: center; gap: 9px; margin-bottom: 60px; color: var(--light-content-text); font-family: 'Oswald', sans-serif; font-size: 13px; font-weight: 500; letter-spacing: .08em; text-transform: uppercase; }
.ntp-back-link span { color: var(--brand-hover); font-size: 19px; }
.ntp-back-link:hover { color: var(--surface-page); }
.ntp-combo-logo { display: block; width: 560px; max-width: 100%; height: auto; margin-bottom: 34px; }
.ntp-hero h1 { max-width: 760px; margin: 0; color: var(--surface-page); font-family: 'Oswald', sans-serif; font-size: clamp(43px, 5.2vw, 76px); font-weight: 700 !important; letter-spacing: -.025em; line-height: 1.02; text-transform: uppercase; }
.ntp-hero .col-lg-7 > p { max-width: 690px; margin: 25px 0 0; color: var(--ntp-hero-copy); font-size: 18px; line-height: 1.65; }
.ntp-class-nav { margin-left: 45px; padding: 12px; border: 1px solid var(--ntp-nav-border); background: var(--ntp-nav-background); backdrop-filter: blur(8px); }
.ntp-class-nav a { position: relative; display: grid; grid-template-columns: 1fr auto; padding: 25px 52px 25px 25px; border-bottom: 1px solid var(--ntp-nav-divider); color: var(--surface-page); }
.ntp-class-nav a:last-child { border-bottom: 0; }
.ntp-class-nav a:hover { background: var(--ntp-nav-hover); }
.ntp-class-nav strong { font-family: 'Oswald', sans-serif; font-size: 27px; font-weight: 600; letter-spacing: .01em; text-transform: uppercase; }
.ntp-class-nav span { grid-column: 1; color: var(--ntp-nav-secondary-text); font-size: 13px; }
.ntp-class-nav b { position: absolute; top: 50%; right: 24px; color: var(--brand-hover); font-size: 24px; font-weight: 400; transform: translateY(-50%); }
.ntp-plans { padding: 95px 0 85px; scroll-margin-top: 20px; }
.ntp-plans--alt { background: var(--ntp-surface); }
.ntp-section-heading { --layout-first: .675; --layout-gap: 70px; align-items: flex-end; margin-bottom: 44px; }
.ntp-class-label { display: block; margin-bottom: 12px; color: var(--ntp-primary); font-family: 'Oswald', sans-serif; font-size: 14px; font-weight: 600; letter-spacing: .18em; text-transform: uppercase; }
.ntp-section-heading > :last-child { min-width: 280px; }
.ntp-section-heading h2 { margin: 0; color: var(--ntp-heading-color); font-family: 'Oswald', sans-serif; font-size: clamp(42px, 4.7vw, 66px); font-weight: 700 !important; letter-spacing: -.02em; line-height: 1; text-transform: uppercase; }
.ntp-section-heading > p { margin: 0; padding-left: 28px; border-left: 3px solid var(--ntp-accent); color: var(--ntp-intro-text); font-size: 15px; line-height: 1.7; }
.ntp-card-row > [class*='col-'] { margin-bottom: 24px; }
.ntp-plan-card { position: relative; height: 100%; padding: 34px 34px 30px; border: 1px solid var(--ntp-card-border); border-top: 4px solid var(--ntp-primary); background: var(--surface-page); box-shadow: 0 10px 30px var(--ntp-card-shadow); }
.ntp-plan-card--featured { border-top-color: var(--ntp-featured); }
.ntp-plan-brand { margin: 0 0 10px !important; color: var(--ntp-primary); font-family: 'Oswald', sans-serif; font-size: 11px !important; font-weight: 600; letter-spacing: .12em; line-height: 1.4 !important; text-transform: uppercase; }
.ntp-plan-card--featured .ntp-plan-brand { color: var(--ntp-featured-brand); }
.ntp-plan-card h3 { margin: 0 0 8px; color: var(--ntp-card-heading); font-family: 'Oswald', sans-serif; font-size: 27px; font-weight: 600 !important; line-height: 1.18; text-transform: uppercase; }
.ntp-plan-tagline { margin: 0 0 20px !important; color: var(--ntp-plan-tagline); font-family: 'Oswald', sans-serif; font-size: 14px !important; font-weight: 500; letter-spacing: .04em; text-transform: uppercase; }
.ntp-plan-card > p:not(.ntp-plan-brand):not(.ntp-plan-tagline) { margin-bottom: 23px; color: var(--ntp-card-copy); font-size: 14px; line-height: 1.7; }
.ntp-plan-card details { border-top: 1px solid var(--ntp-card-divider); }
.ntp-plan-card summary { position: relative; padding: 17px 30px 0 0; color: var(--ntp-summary-color); cursor: pointer; font-family: 'Oswald', sans-serif; font-size: 13px; font-weight: 600; letter-spacing: .08em; list-style: none; text-transform: uppercase; }
.ntp-plan-card summary::-webkit-details-marker { display: none; }
.ntp-plan-card summary::after { content: '+'; position: absolute; top: 12px; right: 0; color: var(--ntp-featured); font-family: Arial, sans-serif; font-size: 24px; font-weight: 400; }
.ntp-plan-card details[open] summary::after { content: '−'; }
.ntp-detail-body { padding: 14px 0 0; }
.ntp-detail-body ul { margin: 0; padding-left: 19px; }
.ntp-detail-body li { margin: 7px 0; color: var(--ntp-detail-color); font-size: 13px; line-height: 1.55; text-align: left; }
.ntp-disclaimer { margin: 11px 0 0; color: var(--ntp-disclaimer-color); font-size: 11px; line-height: 1.6; }
.ntp-addons { padding: 86px 0 92px; background: var(--ntp-dark); color: var(--surface-page); }
.ntp-section-heading--light h2 { color: var(--surface-page); }
.ntp-section-heading--light > p { color: var(--ntp-light-copy); }
.ntp-addon-card { height: 100%; min-height: 190px; padding: 27px 25px; border: 1px solid var(--ntp-addon-border); background: var(--ntp-addon-background); }
.ntp-addon-card h3 { margin: 0 0 14px; color: var(--brand-hover); font-family: 'Oswald', sans-serif; font-size: 20px; font-weight: 600 !important; line-height: 1.25; text-transform: uppercase; }
.ntp-addon-card p { margin: 0; color: var(--light-muted-text); font-size: 13px; line-height: 1.65; }
.ntp-return { padding: 58px 0; background: var(--ntp-accent); color: var(--surface-page); }
.ntp-return__inner > :first-child, .warranty-return__inner > :first-child { flex: 0 1 auto; }
.ntp-return__inner { flex-wrap: nowrap; align-items: center; justify-content: space-between; gap: 40px; }
.ntp-return span { font-family: 'Oswald', sans-serif; font-size: 13px; font-weight: 500; letter-spacing: .15em; text-transform: uppercase; }
.ntp-return h2 { margin: 5px 0 0; color: var(--surface-page); font-family: 'Oswald', sans-serif; font-size: clamp(32px, 3.5vw, 48px); font-weight: 700 !important; line-height: 1.05; text-transform: uppercase; }
.ntp-return__actions { display: flex; align-items: center; gap: 25px; flex: 0 0 auto; }
.ntp-return .button.imanpro-button { border-color: var(--deep-navy) !important; background: var(--deep-navy) !important; color: var(--surface-page) !important; text-shadow: none; }
.ntp-return .button.imanpro-button:hover { border-color: var(--surface-page) !important; background: var(--surface-page) !important; color: var(--deep-navy) !important; }
.ntp-home-link { color: var(--surface-page); font-family: 'Oswald', sans-serif; font-size: 13px; font-weight: 600; letter-spacing: .08em; text-transform: uppercase; }
.ntp-home-link:hover { color: var(--brand-hover); }
@media screen and (max-width: 1100px) {
  .ntp-class-nav { margin-left: 10px; }
  .ntp-section-heading { --layout-gap: 38px; }
  .ntp-plan-card { padding: 30px 27px 27px; }
}
@media screen and (max-width: 990px) {
  .ntp-hero { padding: 34px 0 65px; }
  .ntp-back-link { margin-bottom: 42px; }
  .ntp-class-nav { margin: 45px 0 0; }
  .ntp-plans { padding: 72px 0 62px; }
  .ntp-section-heading { display: block; }
  .ntp-section-heading > [class*="col-"] { max-width: 100%; min-width: 0; }
  .ntp-section-heading > p { margin-top: 25px; }
  .ntp-addon-card { min-height: 0; margin-bottom: 22px; }
  .ntp-return__inner { display: block; }
  .ntp-return__actions { margin-top: 28px; }
}
@media screen and (max-width: 600px) {
  .ntp-hero { padding-bottom: 52px; }
  .ntp-combo-logo { margin-bottom: 27px; }
  .ntp-hero h1 { font-size: 40px; }
  .ntp-hero .col-lg-7 > p { font-size: 16px; }
  .ntp-class-nav strong { font-size: 23px; }
  .ntp-plans, .ntp-addons { padding: 58px 0 48px; }
  .ntp-section-heading h2 { font-size: 39px; }
  .ntp-section-heading > p { padding-left: 19px; }
  .ntp-plan-card { padding: 27px 23px 24px; }
  .ntp-plan-card h3 { font-size: 24px; }
  .ntp-return { padding: 48px 0; }
  .ntp-return__actions { display: block; }
  .ntp-return .imanpro-button { display: block; width: 100%; }
  .ntp-home-link { display: inline-block; margin-top: 23px; }
}
/* Reusable product warranty page */
.warranty-page { background: var(--surface-page); color: var(--warranty-ink); }
.warranty-hero { position: relative; min-height: 740px; display: flex; align-items: center; overflow: hidden; background: var(--warranty-charcoal) url('/assets/images/warranty/tm-hero.webp?v=3') center / cover no-repeat; color: var(--surface-page); }
.warranty-hero__shade { position: absolute; inset: 0; display: block; background: linear-gradient(90deg, var(--hero-overlay-dark-98) 0%, var(--hero-overlay-dark-86) 15%, var(--hero-overlay-dark-20) 30%, transparent 40%); }
.warranty-hero__content { position: relative; z-index: 1; }
.warranty-hero__copy { max-width: 830px; padding: 74px 0 82px; }
.warranty-brand { display: block; width: 310px; max-width: 78%; height: auto; margin-bottom: 40px; }
.warranty-kicker, .warranty-heading > p, .warranty-benefit__inner > div > p, .warranty-return p { margin: 0 0 12px; color: var(--warranty-accent); font-family: 'Oswald', sans-serif; font-size: 13px; font-weight: 600; letter-spacing: .18em; text-transform: uppercase; }
.warranty-hero h1 { max-width: 760px; margin: 0; color: var(--warranty-accent); font-family: 'Oswald', sans-serif; font-size: clamp(58px, 6vw, 94px); font-weight: 700 !important; letter-spacing: -.025em; line-height: .94; text-transform: uppercase; }
.warranty-hero__copy > p:not(.warranty-kicker) { max-width: 650px; margin: 27px 0 0; color: var(--light-content-text); font-size: 18px; line-height: 1.65; }
.warranty-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 14px; margin-top: 32px; }
.warranty-button { display: inline-flex; min-height: 50px; align-items: center; justify-content: center; padding: 13px 24px; border: 2px solid var(--warranty-accent); background: var(--warranty-accent); color: var(--color-hex-111) !important; font-family: 'Oswald', sans-serif; font-size: 14px; font-weight: 600; letter-spacing: .08em; text-transform: uppercase; transition: background .2s ease, border-color .2s ease, color .2s ease; }
.warranty-button:hover { border-color: var(--warranty-accent-light); background: var(--warranty-accent-light); color: var(--color-hex-111) !important; }
.warranty-button--outline { border-color: var(--warranty-outline-button-border); background: transparent; color: var(--surface-page) !important; }
.warranty-button--outline:hover { border-color: var(--surface-page); background: var(--surface-page); color: var(--color-hex-111) !important; }
.warranty-jump { position: sticky; top: 0; z-index: 20; border-bottom: 1px solid var(--warranty-border-color); background: var(--surface-page); box-shadow: 0 7px 20px var(--warranty-jump-shadow); }
.warranty-jump .container { display: flex; justify-content: center; }
.warranty-jump a { padding: 19px 27px 17px; border-bottom: 3px solid transparent; color: var(--warranty-jump-text); font-family: 'Oswald', sans-serif; font-size: 13px; font-weight: 600; letter-spacing: .07em; text-transform: uppercase; }
.warranty-jump a:hover { border-bottom-color: var(--warranty-accent); color: var(--color-hex-111); }
.warranty-section { padding: 92px 0 98px; scroll-margin-top: 62px; }
.warranty-section--soft { background: var(--warranty-soft); }
.warranty-section--dark { background: var(--warranty-charcoal); color: var(--surface-page); }
.warranty-heading { max-width: 900px; margin-bottom: 44px; }
.warranty-heading h2, .warranty-benefit h2, .warranty-return h2 { margin: 0; color: var(--warranty-ink); font-family: 'Oswald', sans-serif; font-size: clamp(42px, 4.8vw, 66px); font-weight: 700 !important; letter-spacing: -.02em; line-height: 1; text-transform: uppercase; }
.warranty-heading--light h2 { color: var(--surface-page); }
.warranty-section__lead { max-width: 470px; color: var(--light-body-text); font-size: 16px; line-height: 1.75; }
.warranty-plan-grid { gap: 22px; }
.warranty-plan-grid > .warranty-plan-card { flex: 0 0 calc((100% - 44px) / 3); max-width: calc((100% - 44px) / 3); }
.warranty-plan-card { display: block; position: relative; overflow: hidden; border: 1px solid var(--warranty-plan-border); border-top: 5px solid var(--warranty-silver); background: var(--warranty-ink); box-shadow: 0 14px 35px var(--warranty-plan-shadow); }
.warranty-plan-card--featured { border-top-color: var(--warranty-featured-silver); }
.warranty-plan-card--max { border-top-color: var(--warranty-accent); }
.warranty-plan-card__image, .warranty-plan-card__body { max-width: 100%; }
.warranty-plan-card__image { display: block; width: 100%; height: 240px; object-fit: cover; object-position: center 25%; opacity: .92; }
.warranty-plan-card__body { min-height: 285px; padding: 30px 30px 34px; color: var(--surface-page); }
.warranty-plan-badge { display: inline-block; margin-bottom: 13px; color: var(--warranty-accent); font-family: 'Oswald', sans-serif; font-size: 11px; font-weight: 600; letter-spacing: .14em; text-transform: uppercase; }
.warranty-plan-card h3 { margin: 0 0 15px; color: var(--warranty-silver); font-family: 'Oswald', sans-serif; font-size: 34px; font-weight: 600 !important; letter-spacing: .025em; }
.warranty-plan-card--featured h3 { color: var(--warranty-featured-silver); }
.warranty-plan-card--max h3 { color: var(--warranty-accent); }
.warranty-plan-card p { margin: 0; color: var(--light-muted-text); font-size: 14px; line-height: 1.72; }
.warranty-table-wrap { overflow-x: auto; border: 1px solid var(--color-rgba-255-255-255-0-15); }
.warranty-term-table, .warranty-limit-table { width: 100%; margin: 0; border-collapse: collapse; }
.warranty-term-table th, .warranty-term-table td { padding: 17px 22px !important; border: 0; border-bottom: 1px solid var(--color-rgba-255-255-255-12); text-align: left; }
.warranty-term-table thead th { background: var(--warranty-accent); color: var(--color-hex-111); font-family: 'Oswald', sans-serif; font-size: 14px; font-weight: 600; letter-spacing: .08em; text-transform: uppercase; }
.warranty-term-table tbody td { color: var(--light-content-text); }
.warranty-term-table tbody td:first-child { color: var(--surface-page); font-family: 'Oswald', sans-serif; font-size: 17px; font-weight: 500; text-transform: uppercase; }
.warranty-term-table tbody tr:last-child td { border-bottom: 0; }
.warranty-options-grid { --layout-gap: 16px; }
.warranty-option-card { border: 1px solid var(--warranty-border-color); background: var(--surface-page); }
.warranty-option-card[open] { border-color: var(--warranty-option-active-border); box-shadow: 0 10px 25px var(--warranty-option-shadow); }
.warranty-option-card summary { position: relative; display: grid; grid-template-columns: 58px 1fr 24px; align-items: center; gap: 18px; padding: 20px 22px; color: var(--warranty-option-heading); cursor: pointer; font-family: 'Oswald', sans-serif; font-size: 17px; font-weight: 600; letter-spacing: .035em; list-style: none; text-transform: uppercase; }
.warranty-option-card summary::-webkit-details-marker { display: none; }
.warranty-option-card summary::after { content: '+'; color: var(--warranty-accent); font-family: Arial, sans-serif; font-size: 25px; font-weight: 400; text-align: right; }
.warranty-option-card[open] summary::after { content: '−'; }
.warranty-option-card summary img { width: 52px; height: 52px; object-fit: contain; }
.warranty-option-card > p { margin: 0; padding: 0 24px 24px 98px; color: var(--warranty-option-copy); font-size: 14px; line-height: 1.7; }
.warranty-benefit { padding: 68px 0; background: var(--warranty-accent); }
.warranty-benefit__inner { flex-wrap: nowrap; align-items: center; gap: 38px; }
.warranty-benefit__inner > .col { min-width: auto; flex: 0 1 auto; width: auto; }
.warranty-benefit__inner > img { flex: 0 1 auto; width: 110px; height: 110px; object-fit: contain; filter: brightness(.22); }
.warranty-benefit__inner > div > p { color: var(--warranty-benefit-copy); }
.warranty-benefit h2 { font-size: clamp(38px, 4vw, 56px); }
.warranty-benefit span { display: block; max-width: 750px; margin-top: 12px; color: var(--warranty-benefit-detail); font-size: 16px; line-height: 1.65; }
.warranty-table-wrap--limits { border-color: var(--warranty-limit-border); }
.warranty-limit-table { min-width: 930px; }
.warranty-limit-table th, .warranty-limit-table td { padding: 15px 17px !important; border: 1px solid var(--warranty-border-color); text-align: left; vertical-align: middle; }
.warranty-limit-table thead th { background: var(--warranty-ink); color: var(--surface-page); font-family: 'Oswald', sans-serif; font-size: 13px; font-weight: 600; line-height: 1.4; text-transform: uppercase; }
.warranty-limit-table thead th:first-child { background: var(--warranty-accent); color: var(--color-hex-111); }
.warranty-limit-table tbody th { width: 25%; background: var(--warranty-table-heading-background); color: var(--warranty-table-heading-text); font-weight: 600; }
.warranty-limit-table tbody td { color: var(--warranty-table-cell-text); font-size: 13px; }
.warranty-limit-table tbody tr:nth-child(even) td { background: var(--warranty-table-stripe); }
.warranty-disclaimer { margin: 27px 0 0; padding: 20px 23px; border-left: 4px solid var(--warranty-accent); background: var(--warranty-soft); color: var(--warranty-disclaimer-text); font-size: 12px; line-height: 1.65; }
.warranty-disclaimer a { color: var(--warranty-disclaimer-link); font-weight: 700; }
.warranty-return { padding: 65px 0; background: var(--warranty-ink); color: var(--surface-page); }
.warranty-return__inner { flex-wrap: nowrap; align-items: center; justify-content: space-between; gap: 45px; }
.warranty-return h2 { max-width: 800px; color: var(--surface-page); font-size: clamp(36px, 4vw, 54px); }
.warranty-return .warranty-actions { flex: 0 0 auto; margin-top: 0; }
.warranty-text-link { color: var(--surface-page) !important; font-family: 'Oswald', sans-serif; font-size: 13px; font-weight: 600; letter-spacing: .08em; text-transform: uppercase; }
.warranty-text-link:hover { color: var(--warranty-accent) !important; }
@media screen and (max-width: 1100px) {
  .warranty-plan-card__body { min-height: 320px; padding: 27px 25px 30px; }
  .warranty-option-card summary { grid-template-columns: 50px 1fr 22px; gap: 14px; padding: 18px; }
  .warranty-option-card summary img { width: 46px; height: 46px; }
  .warranty-option-card > p { padding: 0 20px 22px 82px; }
}
@media screen and (max-width: 990px) {
  .warranty-hero { min-height: 500px; }
  .warranty-hero__copy { padding: 62px 0 70px; }
  .warranty-jump { position: static; }
  .warranty-jump .container { justify-content: flex-start; overflow-x: auto; }
  .warranty-jump a { flex: 0 0 auto; }
  .warranty-section { padding: 72px 0 76px; }
  .warranty-plan-grid > .warranty-plan-card { flex-basis: 100%; max-width: 100%; }
  .warranty-plan-card { display: flex; flex-wrap: nowrap; }
  .warranty-plan-card__image { flex: 0 0 max(220px, 42.857143%); width: max(220px, 42.857143%); max-width: max(220px, 42.857143%); }
  .warranty-plan-card__body { flex: 1; width: auto; }
  .warranty-plan-card__image { height: auto; min-height: 300px; object-fit: cover; }
  .warranty-plan-card__body { min-height: 0; }
  .warranty-section--dark .col-lg-7 { margin-top: 35px; }
  .warranty-return__inner { display: block; }
  .warranty-return .warranty-actions { margin-top: 28px; }
}
@media screen and (max-width: 700px) {
  .warranty-hero { min-height: 510px; background-position: 64% center; }
  .warranty-hero__copy { margin-right: auto; margin-left: auto; text-align: center; }
  .warranty-brand { width: 250px; margin-right: auto; margin-bottom: 30px; margin-left: auto; }
  .warranty-hero h1 { font-size: 50px; }
  .warranty-hero__copy > p:not(.warranty-kicker) { margin-right: auto; margin-left: auto; font-size: 16px; }
  .warranty-actions { display: grid; }
  .warranty-button { width: 100%; }
  .warranty-jump a { padding: 16px 18px 14px; }
  .warranty-heading { margin-right: auto; margin-left: auto; text-align: center; }
  .warranty-heading h2 { font-size: 40px; }
  .warranty-section__lead { margin-right: auto; margin-left: auto; text-align: center; }
  .warranty-plan-card { display: block; }
  .warranty-plan-card__image { width: 100%; max-width: 100%; height: 230px; min-height: 0; }
  .warranty-plan-card__body { padding: 25px 22px 28px; text-align: center; }
  .warranty-options-grid > [class*="col-"] { flex-basis: 100%; max-width: 100%; }
  .warranty-option-card summary { grid-template-columns: 46px 1fr 20px; font-size: 15px; }
  .warranty-option-card > p { padding-left: 18px; }
  .warranty-benefit__inner { display: block; text-align: center; }
  .warranty-benefit__inner > img { width: 85px; height: 85px; margin-bottom: 20px; }
  .warranty-benefit span { margin-right: auto; margin-left: auto; }
  .warranty-benefit h2 { font-size: 39px; }
  .warranty-return { padding: 52px 0; }
  .warranty-return__inner { text-align: center; }
  .warranty-return h2 { margin-right: auto; margin-left: auto; }
  .warranty-return .warranty-actions { justify-content: center; }
}
