.rlmc-form,
.rlmc-form * {
    box-sizing: border-box;
}

.rlmc-form {
    --rlmc-gold: #a58b58;
    --rlmc-gold-hover: #b99d65;
    --rlmc-card-bg: rgba(255, 255, 255, .08);
    --rlmc-card-border: rgba(255, 255, 255, .18);
    --rlmc-text: #fffaf0;
    --rlmc-muted: rgba(255, 250, 240, .72);
    --rlmc-field-bg: rgba(111, 96, 69, .92);
    --rlmc-field-border: rgba(255, 255, 255, .28);
    --rlmc-field-text: #fff;
    --rlmc-button-bg: var(--rlmc-gold);
    --rlmc-button-hover: var(--rlmc-gold-hover);
    --rlmc-button-text: #fff;
    --rlmc-link: #e8c981;
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) !important;
    gap: 18px !important;
    width: 100% !important;
    max-width: 640px !important;
    margin: 0 auto !important;
    padding: 30px !important;
    border: 1px solid var(--rlmc-card-border) !important;
    border-radius: 18px !important;
    background: var(--rlmc-card-bg) !important;
    box-shadow: 0 18px 44px rgba(20, 13, 5, .18) !important;
    color: var(--rlmc-text) !important;
    overflow: hidden !important;
}

.rlmc-form.rlmc-theme-light {
    --rlmc-card-bg: #fff;
    --rlmc-card-border: #e0e7e2;
    --rlmc-text: #284732;
    --rlmc-muted: #667169;
    --rlmc-field-bg: #f4f6f4;
    --rlmc-field-border: #cbd6ce;
    --rlmc-field-text: #1f2a23;
    --rlmc-button-bg: #4f9d61;
    --rlmc-button-hover: #40854f;
    --rlmc-button-text: #fff;
    --rlmc-link: #3d7d4b;
    box-shadow: 0 18px 44px rgba(31, 55, 39, .12) !important;
}

.rlmc-form h3 {
    min-width: 0 !important;
    max-width: 100% !important;
    margin: 0 0 2px !important;
    color: var(--rlmc-text) !important;
    font-size: clamp(24px, 4vw, 32px) !important;
    font-weight: 700 !important;
    line-height: 1.18 !important;
    overflow-wrap: anywhere !important;
    white-space: normal !important;
}

.rlmc-form .rlmc-field,
.rlmc-form .rlmc-field label {
    display: grid !important;
    gap: 8px !important;
    width: 100% !important;
    min-width: 0 !important;
    max-width: 100% !important;
    margin: 0 !important;
    color: var(--rlmc-text) !important;
    font-size: 15px !important;
    font-weight: 600 !important;
    line-height: 1.35 !important;
}

.rlmc-form .rlmc-field input {
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    min-height: 56px !important;
    margin: 0 !important;
    padding: 14px 16px !important;
    border: 1px solid var(--rlmc-field-border) !important;
    border-radius: 10px !important;
    outline: 0 !important;
    background: var(--rlmc-field-bg) !important;
    box-shadow: none !important;
    color: var(--rlmc-field-text) !important;
    font: inherit !important;
    font-size: 17px !important;
    transition: border-color .2s ease, box-shadow .2s ease, background .2s ease !important;
}

.rlmc-form .rlmc-field input:hover {
    border-color: rgba(255, 255, 255, .48) !important;
}

.rlmc-form .rlmc-field input:focus {
    border-color: var(--rlmc-button-hover) !important;
    background: var(--rlmc-field-bg) !important;
    box-shadow: 0 0 0 3px rgba(185, 157, 101, .22) !important;
}

.rlmc-form .rlmc-phone-control {
    display: flex !important;
    align-items: center !important;
    width: 100% !important;
    min-width: 0 !important;
    max-width: 100% !important;
    min-height: 56px !important;
    padding: 0 16px !important;
    border: 1px solid var(--rlmc-field-border) !important;
    border-radius: 10px !important;
    background: var(--rlmc-field-bg) !important;
    transition: border-color .2s ease, box-shadow .2s ease !important;
}

.rlmc-form .rlmc-phone-control:hover {
    border-color: color-mix(in srgb, var(--rlmc-field-border), var(--rlmc-text) 35%) !important;
}

.rlmc-form .rlmc-phone-control:focus-within {
    border-color: var(--rlmc-button-hover) !important;
    box-shadow: 0 0 0 3px rgba(185, 157, 101, .22) !important;
}

.rlmc-form .rlmc-phone-prefix {
    flex: 0 0 auto !important;
    padding-right: 10px !important;
    border-right: 1px solid var(--rlmc-field-border) !important;
    color: var(--rlmc-field-text) !important;
    font-size: 16px !important;
    font-weight: 600 !important;
    line-height: 1 !important;
}

.rlmc-form .rlmc-phone-control input {
    flex: 1 1 auto !important;
    width: 0 !important;
    min-height: 54px !important;
    padding: 12px 0 12px 10px !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
}

.rlmc-form .rlmc-phone-control input:hover,
.rlmc-form .rlmc-phone-control input:focus {
    border: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
}

.rlmc-form .rlmc-phone-control input::placeholder {
    color: color-mix(in srgb, var(--rlmc-field-text), transparent 45%) !important;
    opacity: 1 !important;
}

.rlmc-form .rlmc-privacy-note {
    min-width: 0 !important;
    max-width: 100% !important;
    margin: 0 !important;
    color: var(--rlmc-muted) !important;
    font-size: 11px !important;
    font-weight: 400 !important;
    line-height: 1.4 !important;
    text-align: center !important;
    overflow-wrap: anywhere !important;
}

.rlmc-form .rlmc-privacy-note a {
    color: var(--rlmc-link) !important;
    text-decoration: underline !important;
    text-underline-offset: 2px !important;
}

.rlmc-form button[type="submit"] {
    display: block !important;
    width: 100% !important;
    min-width: 0 !important;
    max-width: 100% !important;
    min-height: 58px !important;
    margin: 2px 0 0 !important;
    padding: 14px 22px !important;
    cursor: pointer !important;
    border: 0 !important;
    border-radius: 999px !important;
    background: var(--rlmc-button-bg) !important;
    box-shadow: 0 10px 24px rgba(20, 13, 5, .2) !important;
    color: var(--rlmc-button-text) !important;
    font-size: 16px !important;
    font-weight: 700 !important;
    line-height: 1.25 !important;
    text-align: center !important;
    text-transform: uppercase !important;
    overflow-wrap: anywhere !important;
    white-space: normal !important;
    transition: transform .2s ease, background .2s ease, box-shadow .2s ease !important;
}

.rlmc-form button[type="submit"]:hover,
.rlmc-form button[type="submit"]:focus-visible {
    background: var(--rlmc-button-hover) !important;
    box-shadow: 0 12px 28px rgba(20, 13, 5, .28) !important;
    transform: translateY(-1px) !important;
}

.rlmc-form button[type="submit"]:disabled {
    cursor: wait !important;
    opacity: .65 !important;
    transform: none !important;
}

.rlmc-form .rlmc-feedback {
    min-height: 1.5em !important;
    margin: 0 !important;
    color: var(--rlmc-text) !important;
    font-size: 14px !important;
    line-height: 1.5 !important;
    text-align: center !important;
}

.rlmc-form .rlmc-feedback.is-success { color: #bdf2c9 !important; }
.rlmc-form .rlmc-feedback.is-error { color: #ffd1cc !important; }

.rlmc-form .rlmc-hp {
    position: absolute !important;
    left: -10000px !important;
    top: auto !important;
    width: 1px !important;
    height: 1px !important;
    padding: 0 !important;
    overflow: hidden !important;
    clip: rect(0, 0, 0, 0) !important;
    white-space: nowrap !important;
}

@media (max-width: 600px) {
    .rlmc-form {
        gap: 15px !important;
        width: 100% !important;
        max-width: 100% !important;
        padding: 22px 16px !important;
        border-radius: 14px !important;
    }

    .rlmc-form h3 {
        font-size: clamp(22px, 8vw, 28px) !important;
    }

    .rlmc-form .rlmc-field input {
        min-height: 52px !important;
        font-size: 16px !important;
    }

    .rlmc-form .rlmc-phone-control {
        min-height: 52px !important;
    }

    .rlmc-form .rlmc-phone-control input {
        min-height: 50px !important;
    }

    .rlmc-form button[type="submit"] {
        min-height: 54px !important;
        padding-right: 14px !important;
        padding-left: 14px !important;
        font-size: clamp(12px, 4vw, 15px) !important;
    }
}

@media (max-width: 360px) {
    .rlmc-form {
        padding: 18px 12px !important;
    }

    .rlmc-form h3 {
        font-size: 21px !important;
    }
}

