/* -----------------------------------------------------------------------
   JPD Theme - Terms of Use (and reusable for other legal pages)
   ----------------------------------------------------------------------- */

.jpd-terms-page {
    background: #ffffff;
}

.jpd-terms-hero {
    padding: 32px 0 28px;
    text-align: center;
}

.jpd-terms-hero__title {
    max-width: 900px;
    margin: 0 auto;
    color: #032F3C;
    font-size: clamp(2rem, 4vw, 3.25rem);
    font-weight: 800;
    line-height: 1.15;
    text-align: center;
}

.jpd-terms-content {
    padding: 0 0 clamp(56px, 8vw, 96px);
}

.jpd-terms-content__inner {
    max-width: 980px;
    margin: 0 auto;
    padding: clamp(28px, 4vw, 48px);
    border-radius: 24px;
    background: #ffffff;
    box-shadow: 0 16px 40px rgba(3, 47, 60, 0.10);
    border: 1px solid rgba(3, 47, 60, 0.08);
}

.jpd-terms-content__heading {
    margin: 0 0 28px;
    color: #032F3C;
    font-size: clamp(1rem, 2vw, 1.25rem);
    font-weight: 800;
    line-height: 1.25;
    text-align: center;
    text-transform: uppercase;
}

/* Body wrapper — styles are applied to plain tags below so the block
   editor's default output (headings, paragraphs, lists) is styled
   automatically without editors needing to add custom classes. */
.jpd-terms-content__body {
    max-width: 840px;
    margin: 0 auto;
    color: #243b43;
    font-size: clamp(0.875rem, 1.4vw, 1.075rem);
    line-height: 1.85;
    text-align: left;
}

/* Section headings — editors use Heading (H2) blocks for these. */
.jpd-terms-content__body h2 {
    margin: 2rem 0 0.9rem;
    color: #032F3C;
    font-size: clamp(1rem, 1.6vw, 1.2rem);
    font-weight: 800;
    line-height: 1.35;
}

.jpd-terms-content__body h2:first-child {
    margin-top: 0;
}

.jpd-terms-content__body p {
    margin: 0 0 1.25rem;
}

.jpd-terms-content__body p:last-child {
    margin-bottom: 0;
}

/* Lettered sub-lists — editors set the Numbered List block's list
   style to "Lower alpha" in the block toolbar; this covers both an
   explicit type="a" attribute and the CSS list-style-type the block
   editor applies. */
.jpd-terms-content__body ol {
    margin: 0 0 1.25rem;
    padding-left: 1.45rem;
}

.jpd-terms-content__body ol[type="a"],
.jpd-terms-content__body ol.is-style-lower-alpha,
.jpd-terms-content__body ol {
    list-style-type: lower-alpha;
}

.jpd-terms-content__body li {
    margin: 0 0 0.8rem;
    padding-left: 0.35rem;
}

.jpd-terms-content__body li:last-child {
    margin-bottom: 0;
}

.jpd-terms-content__body li::marker {
    color: #032F3C;
}

.jpd-terms-content__section {
    margin: 0 0 2rem;
}

.jpd-terms-content__section:last-child {
    margin-bottom: 0;
}

.jpd-terms-content__section-title {
    margin: 0 0 0.9rem;
    color: #032F3C;
    font-size: clamp(1rem, 1.6vw, 1.2rem);
    font-weight: 800;
    line-height: 1.35;
}

.jpd-terms-content__alpha-list {
    margin: 0 0 1.25rem;
    padding-left: 1.45rem;
    list-style-type: lower-alpha;
}

.jpd-terms-content__alpha-list li {
    margin: 0 0 0.8rem;
    padding-left: 0.35rem;
}

.jpd-terms-content__alpha-list li:last-child {
    margin-bottom: 0;
}

.jpd-terms-content__alpha-list li::marker {
    color: #032F3C;
}

/* Address / contact callout box — editors add class
   "jpd-terms-address" via Advanced > Additional CSS Class(es) on a
   Group or Paragraph block. */
.jpd-terms-content__body address,
.jpd-terms-content__address,
.jpd-terms-content__body .jpd-terms-address {
    margin: 0 0 1.25rem;
    padding: 1rem 1.125rem;
    border-left: 4px solid #01B496;
    background: rgba(1, 180, 150, 0.08);
    color: #243b43;
    display: block;
    font-style: italic;
    line-height: 1.75;
    unicode-bidi: isolate;
}

@media screen and (max-width: 767px) {
    .jpd-terms-hero {
        padding: 36px 0 24px;
    }

    .jpd-terms-content__inner {
        padding: 24px 18px;
        border-radius: 18px;
    }

    .jpd-terms-content__heading {
        margin-bottom: 22px;
        text-align: left;
    }

    .jpd-terms-content__body {
        line-height: 1.75;
    }

    .jpd-terms-content__body ol {
        padding-left: 1.2rem;
    }

    .jpd-terms-content__alpha-list {
        padding-left: 1.2rem;
    }
}