/* PMA Commerce Membership Suite component layer.
 * These selectors are plugin-owned and intentionally avoid styling generic
 * WooCommerce address, payment, product, or order-table markup. */

.pma-commerce-card,
.rj-hvhc-disclosure,
.rj-hvhc-assent-card,
.rj-hvhc-returning-member-assent-card {
    box-sizing: border-box;
    clear: both;
    width: 100%;
    margin: 18px 0;
    padding: 16px 18px;
    border: 1px solid var(--pma-border, #d8d8d8);
    border-left: 4px solid var(--pma-brand, #2271b1);
    background: var(--pma-surface, #fafafa);
    color: var(--pma-text, #333);
    font-family: inherit;
    font-size: inherit;
    line-height: 1.55;
}

.pma-commerce-card__heading,
.rj-hvhc-assent-heading {
    display: block;
    margin: 0 0 8px;
    color: inherit;
    font: inherit;
    font-weight: 700;
}

.pma-commerce-card p,
.rj-hvhc-disclosure p,
.rj-hvhc-assent-row,
.rj-hvhc-returning-member-assent-row {
    margin-top: 0;
    margin-bottom: 8px;
    line-height: 1.55;
}

.pma-commerce-card p:last-child,
.rj-hvhc-disclosure p:last-child,
.rj-hvhc-assent-row:last-child,
.rj-hvhc-returning-member-assent-row:last-child {
    margin-bottom: 0;
}

.rj-hvhc-assent-card input[type="checkbox"],
.rj-hvhc-returning-member-assent-card input[type="checkbox"],
input[data-pma-commerce-assent="1"],
input[id="pma-commerce/member-assent"] {
    width: auto !important;
    min-height: 0 !important;
    margin-right: 8px !important;
    accent-color: var(--pma-action, #2271b1);
    vertical-align: middle !important;
}

/* WooCommerce owns the native Checkout Block field. This selector gives only
 * the Suite field the same component treatment without restyling other fields. */
.wc-block-components-checkbox:has(input[data-pma-commerce-assent="1"]),
.wc-block-components-checkbox:has(input[id="pma-commerce/member-assent"]) {
    box-sizing: border-box;
    width: 100%;
    margin: 18px 0;
    padding: 16px 18px;
    border: 1px solid var(--pma-border, #d8d8d8);
    border-left: 4px solid var(--pma-brand, #2271b1);
    background: var(--pma-surface, #fafafa);
    color: var(--pma-text, #333);
    line-height: 1.55;
}

.pma-commerce-documents__privacy-links {
    white-space: normal;
}

.pma-commerce-documents__links {
    display: flex;
    flex-wrap: wrap;
    gap: 6px 16px;
    margin: 10px 0 0;
    padding: 0;
    list-style: none;
}

.pma-commerce-documents__links a,
.pma-commerce-card a,
.rj-hvhc-disclosure a {
    color: var(--pma-action, #2271b1);
    text-decoration: underline;
    text-decoration-thickness: 1px;
    text-underline-offset: 2px;
}

.pma-commerce-documents__links a:focus-visible,
.pma-commerce-card a:focus-visible,
.rj-hvhc-disclosure a:focus-visible {
    outline: 3px solid color-mix(in srgb, var(--pma-action, #2271b1) 45%, transparent);
    outline-offset: 3px;
}

.rj-hvhc-account-provisioning-note {
    margin-top: 10px !important;
    padding-top: 10px;
    border-top: 1px solid var(--pma-border, #d8d8d8);
}

.pma-checkout-fence {
    position: absolute !important;
    width: 1px !important;
    height: 1px !important;
    padding: 0 !important;
    margin: -1px !important;
    overflow: hidden !important;
    clip: rect(0, 0, 0, 0) !important;
    white-space: nowrap !important;
    border: 0 !important;
}

.pma-presentation-neutral .pma-commerce-card,
.pma-presentation-neutral .rj-hvhc-disclosure,
.pma-presentation-neutral .rj-hvhc-assent-card,
.pma-presentation-neutral .rj-hvhc-returning-member-assent-card {
    border-radius: 4px;
    box-shadow: 0 1px 2px rgba(0, 0, 0, .04);
}

body.error404 a.back-home.rj-hvhc-404-cta,
.bemobile-error-page a.back-home.rj-hvhc-404-cta {
    box-sizing: border-box !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 9px !important;
    width: auto !important;
    min-width: 190px !important;
    min-height: 46px !important;
    margin-top: 12px !important;
    padding: 11px 22px !important;
    border: 1px solid var(--pma-404-text, #fff) !important;
    border-radius: 4px !important;
    background: var(--pma-404-background, #2271b1) !important;
    color: var(--pma-404-text, #fff) !important;
    font-family: inherit !important;
    font-size: 14px !important;
    font-weight: 700 !important;
    line-height: 1.2 !important;
    letter-spacing: .04em !important;
    text-decoration: none !important;
    opacity: 1 !important;
    box-shadow: 0 2px 8px rgba(0, 0, 0, .28) !important;
    transition: filter .15s ease, transform .15s ease !important;
}

body.error404 a.back-home.rj-hvhc-404-cta:hover,
.bemobile-error-page a.back-home.rj-hvhc-404-cta:hover {
    filter: brightness(1.12) !important;
    transform: translateY(-1px) !important;
}

body.error404 a.back-home.rj-hvhc-404-cta:focus-visible,
.bemobile-error-page a.back-home.rj-hvhc-404-cta:focus-visible {
    outline: 3px solid #fff !important;
    outline-offset: 3px !important;
}

body.pma-hide-secondary-404-home.error404 a.left-button,
body.pma-hide-secondary-404-home .bemobile-error-page a.left-button {
    display: none !important;
}

@media (max-width: 767px) {
    .pma-commerce-card,
    .rj-hvhc-disclosure,
    .rj-hvhc-assent-card,
    .rj-hvhc-returning-member-assent-card {
        margin: 14px 0;
        padding: 14px;
    }

    .pma-commerce-documents__links {
        display: grid;
        gap: 8px;
    }
}
