/* Shared reading and form surface. Product pages and the two checkout pages
 * have their own layouts and are intentionally outside this scope. */
/* Published legal CMS documents already own their card; avoid nested cards. */
body.cms-page-view .page-main > .columns > .column.main:has(.mastiff-formal-page) {
    padding: 0;
    border: 0;
    background: transparent;
    box-shadow: none;
}
body.cms-page-view .page-main,
body.customer-account-create .page-main,
body.contact-index-index .page-main,
body.loffaq-index-index .page-main,
body.blog-page .page-main,
body[class*="customer-account-"]:not(.customer-account-create):not(.customer-account-login):not(.customer-account-forgotpassword) .page-main,
body[class*="customer-address-"] .page-main,
body[class*="sales-order-"] .page-main,
body.wishlist-index-index .page-main,
body.catalogsearch-advanced-index .page-main {
    padding-top: 34px;
    padding-bottom: 56px;
}

body.cms-page-view .page-main > .columns > .column.main,
body.customer-account-create .page-main > .columns > .column.main,
body.contact-index-index .page-main > .columns > .column.main,
body.loffaq-index-index .page-main > .columns > .column.main,
body.blog-page .page-main > .columns > .column.main,
body[class*="customer-account-"]:not(.customer-account-create):not(.customer-account-login):not(.customer-account-forgotpassword) .page-main > .columns > .column.main,
body[class*="customer-address-"] .page-main > .columns > .column.main,
body[class*="sales-order-"] .page-main > .columns > .column.main,
body.wishlist-index-index .page-main > .columns > .column.main,
body.catalogsearch-advanced-index .page-main > .columns > .column.main {
    box-sizing: border-box;
    width: 100%;
    padding: 34px 40px;
    border: 1px solid #dce3e9;
    border-radius: 0;
    background: #fff;
    color: #172638;
    box-shadow: 0 12px 30px rgba(23, 38, 56, .07);
}

body.cms-page-view .page-main > .columns > .column.main {
    max-width: 1120px;
    margin: 0 auto;
    font-size: 15px;
    line-height: 1.75;
}

body.cms-page-view .column.main :where(h1, h2, h3, h4),
body.contact-index-index .column.main :where(h1, h2, h3),
.mastiff-content-card__title {
    color: #172638;
    font-family: 'Poppins', 'Helvetica Neue', Arial, sans-serif;
    font-weight: 600;
    line-height: 1.35;
}

.mastiff-content-card__title {
    margin: 0 0 28px;
    font-size: 26px;
}

body.cms-page-view .column.main :where(a, button),
body.contact-index-index .column.main :where(a, button) {
    text-underline-offset: 3px;
}

body.customer-account-create .page-main > .columns > .column.main {
    max-width: 920px;
    margin: 0 auto;
}

@media (min-width: 701px) {
    body.loffaq-index-index .page-main > .columns > .column.main,
    body.blog-page.page-layout-2columns-right .page-main > .columns > .column.main,
    body.blog-page.page-layout-2columns-left .page-main > .columns > .column.main {
        width: 75%;
    }
}

body.customer-account-create .form-create-account {
    width: 100%;
    max-width: none;
    margin: 0;
}

body.customer-account-create .form-create-account .fieldset .legend {
    float: none;
    width: auto;
    margin: 0 0 20px;
    padding: 0;
    border: 0;
    color: #172638;
    font-size: 19px;
    font-weight: 600;
}

body.customer-account-create .form-create-account .field:not(.choice) > .label {
    display: block;
    margin-bottom: 7px;
    color: #172638;
    font-size: 14px;
    font-weight: 500;
}

body.customer-account-create .form-create-account .input-text,
body.contact-index-index .column.main .input-text,
body.contact-index-index .column.main textarea {
    box-sizing: border-box;
    width: 100%;
    min-height: 48px;
    padding: 10px 13px;
    border: 1px solid #cbd5de;
    border-radius: 4px;
    background: #fff;
    box-shadow: none;
}

body.customer-account-create .form-create-account .input-text:focus,
body.contact-index-index .column.main :where(input, textarea):focus {
    border-color: #155b86;
    box-shadow: 0 0 0 3px rgba(21, 91, 134, .14);
}

body.customer-account-create .form-create-account .action.primary,
body.contact-index-index .column.main .action.primary {
    padding: 10px 20px;
    border: 1px solid #155b86;
    border-radius: 4px;
    background: #155b86;
    color: #fff;
    font-size: 15px;
    font-weight: 600;
    text-transform: none;
}

@media (max-width: 700px) {
    body.cms-page-view .page-main,
    body.customer-account-create .page-main,
    body.contact-index-index .page-main,
    body.loffaq-index-index .page-main,
    body.blog-page .page-main,
    body[class*="customer-account-"]:not(.customer-account-create):not(.customer-account-login):not(.customer-account-forgotpassword) .page-main,
    body[class*="customer-address-"] .page-main,
    body[class*="sales-order-"] .page-main,
    body.wishlist-index-index .page-main,
    body.catalogsearch-advanced-index .page-main {
        padding-top: 20px;
        padding-bottom: 36px;
    }

    body.cms-page-view .page-main > .columns > .column.main,
    body.customer-account-create .page-main > .columns > .column.main,
    body.contact-index-index .page-main > .columns > .column.main,
    body.loffaq-index-index .page-main > .columns > .column.main,
    body.blog-page .page-main > .columns > .column.main,
    body[class*="customer-account-"]:not(.customer-account-create):not(.customer-account-login):not(.customer-account-forgotpassword) .page-main > .columns > .column.main,
    body[class*="customer-address-"] .page-main > .columns > .column.main,
    body[class*="sales-order-"] .page-main > .columns > .column.main,
    body.wishlist-index-index .page-main > .columns > .column.main,
    body.catalogsearch-advanced-index .page-main > .columns > .column.main {
        padding: 24px 20px;
    }
}
