/* Match Forms Manager submissions and the built-in contact form in page content. */
:is(.content-main-section, .content-top-section, .content-bottom-section)
:is(
    form[action*="rt=forms_manager/" i],
    form[action*="rt=forms_manager%2f" i],
    form[method="post" i]:is([action*="?form_id="], [action*="&form_id="]),
    .block_frame_custom_form_block form,
    form#ContactUsFrm,
    form.rn-form-card
):not(.rn-form-design-plain) {
    --rn-form-ink: #20372e;
    --rn-form-green: #1c4938;
    --rn-form-accent: #a47b37;
    --rn-form-line: #d9e0d8;
    --rn-form-pad: clamp(16px, 5vw, 40px);
    box-sizing: border-box;
    width: 100%;
    max-width: 740px;
    margin: clamp(20px, 4vw, 40px) auto;
    padding: var(--rn-form-pad);
    color: var(--rn-form-ink);
    background: #fffdf8;
    border: 1px solid #e8dfcf;
    border-radius: 20px;
    box-shadow: 0 16px 40px rgba(40, 54, 43, .10), 0 2px 8px rgba(40, 54, 43, .05);

    & > :is(.form_description, .rn-form-card-heading) {
        margin: calc(-1 * var(--rn-form-pad)) calc(-1 * var(--rn-form-pad)) var(--rn-form-pad);
        padding: clamp(22px, 5vw, 38px) var(--rn-form-pad);
        border-radius: 19px 19px 0 0;
        border-bottom: 3px solid #ceaa66;
        background: radial-gradient(ellipse at 85% 0%, #356b52, transparent 70%), #173b2e;
        color: #fffdf8;
        font-family: Georgia, "Times New Roman", serif;
        font-size: clamp(1.4rem, 3vw, 2.05rem);
        font-weight: 600;
        line-height: 1.25;
        text-align: center;
        overflow-wrap: anywhere;

        &::before {
            content: "RUDRAKSHA NEPAL";
            display: block;
            margin-bottom: 10px;
            color: #efd29b;
            font: 700 .68rem/1.25 system-ui, sans-serif;
            letter-spacing: .2em;
        }
    }

    /* Forms Manager supplies its own field group cards. Keep their contents in one card. */
    & > .card {
        --bs-card-bg: transparent;
        border: 0;
        background: transparent;
        box-shadow: none;
    }

    & > .card > .card-body {
        padding: 0;
    }

    & .form-label {
        width: 100%;
        margin: 0 0 7px;
        color: var(--rn-form-ink);
        font-size: .925rem;
        font-weight: 650;
        line-height: 1.4;
    }

    & :is(.input-group, .form-control, .form-select) {
        min-width: 0;
    }

    & :is(.form-control, .form-select):not([type="hidden"]):not([type="color"]) {
        min-height: 46px;
        max-width: 100%;
        padding: 10px 12px;
        border-color: var(--rn-form-line);
        color: var(--rn-form-ink);
        background-color: #fff;
        font-size: 1rem;
        line-height: 1.5;
    }

    & .form-select {
        padding-inline-end: 2rem;
    }

    & textarea.form-control {
        min-height: 92px;
        resize: vertical;
    }

    & :is(.form-control, .form-select, .form-check-input):focus {
        border-color: #4e816a;
        outline: 2px solid transparent;
        box-shadow: 0 0 0 3px rgba(35, 103, 74, .16);
    }

    & :is(.form-control, .form-select).is-invalid,
    &.was-validated :is(.form-control, .form-select):invalid {
        border-color: #b22f3a;
    }

    & .input-group-text {
        border-color: var(--rn-form-line);
        background-color: #f3f6f0;
    }

    & :is(.help-block, .element_description) {
        overflow-wrap: anywhere;
    }

    & .form-check-inline:has(img[alt="captcha"]) {
        align-items: center;
        width: 100%;
        gap: 8px;
        padding: 10px;
        border: 1px solid var(--rn-form-line);
        border-radius: 10px;
        background: #f3f6f0;

        & img {
            max-width: 100%;
            height: auto;
            border-radius: 4px;
        }
    }

    & > .d-flex:has(> button[type="submit"]) {
        flex-wrap: wrap;
        gap: 10px;
        padding-top: 17px;
        border-top: 1px solid #e8dfcf;
    }

    & :is(button, input)[type="submit"],
    & :is(button, input)[type="reset"] {
        min-height: 46px;
        max-width: 100%;
        padding: 10px clamp(14px, 4vw, 25px);
        border: 1px solid transparent;
        border-radius: 9px;
        font-size: .95rem;
        font-weight: 700;
        white-space: normal;
    }

    & :is(button, input)[type="submit"] {
        color: #fff;
        background: var(--rn-form-green);

        &:hover:not(:disabled) {
            background: #286147;
        }
    }

    & :is(button, input)[type="reset"] {
        border-color: var(--rn-form-line);
        color: var(--rn-form-ink);
        background: #fffdf8;

        &:hover:not(:disabled) {
            background: #edf2eb;
        }
    }

    & :is(button, input):is([type="submit"], [type="reset"]):focus-visible {
        outline: 2px solid var(--rn-form-accent);
        outline-offset: 3px;
    }
}

/* The contact page already wraps its form in a theme card. */
.content-main-section .card:has(> .card-body > form#ContactUsFrm:not(.rn-form-design-plain)) {
    border: 0;
    background: transparent;
    box-shadow: none;

    & > .card-body {
        padding-inline: 0;
    }
}

.content-bottom-section .block_frame_custom_form_block:has(form:not(.rn-form-design-plain)) > h2 {
    max-width: 740px;
    margin-inline: auto;
    color: #20372e;
    text-align: center;
    overflow-wrap: anywhere;
}
