/* ICEMS Contact Us v1.1.0
 * Component-scoped rules and targeted theme overrides. All dimensions remain
 * inside the contact card, regardless of theme input width/max-width defaults.
 */
.icems-contact {
    --icems-gold: #dec18a;
    --icems-muted: #d0ccdc;
    --icems-text: #f7f4ec;
    --icems-border: #4c4b60;
    box-sizing: border-box !important;
    display: block !important;
    clear: both;
    position: relative;
    isolation: isolate;
    width: 100% !important;
    max-width: 840px !important;
    margin: 32px auto !important;
    padding: 0 !important;
    overflow: hidden;
    border: 1px solid #786747;
    border-radius: 16px;
    background: radial-gradient(ellipse at 50% -20%, #353249 0%, #222032 48%, #191a28 100%);
    color: var(--icems-text);
    box-shadow: 0 20px 65px rgba(8, 8, 17, .16);
    font-family: inherit;
    font-size: 16px;
    line-height: 1.65;
    text-align: left;
}
.icems-contact *,
.icems-contact *::before,
.icems-contact *::after { box-sizing: border-box !important; }

.icems-contact .icems-contact__header {
    display: block;
    width: 100%;
    margin: 0 !important;
    padding: clamp(30px, 5.3vw, 54px) clamp(24px, 5.2vw, 54px) 38px !important;
    text-align: center !important;
}
.icems-contact .icems-contact__eyebrow {
    margin: 0 0 13px !important;
    color: var(--icems-gold) !important;
    font-size: 12px !important;
    font-weight: 700;
    letter-spacing: .22em;
    line-height: 1.55;
    text-transform: uppercase;
}
.icems-contact .icems-contact__eyebrow span { margin: 0 5px; }
.icems-contact .icems-contact__header h2 {
    margin: 0 !important;
    padding: 0 !important;
    color: #fff9e9 !important;
    font-family: Georgia, 'Times New Roman', serif !important;
    font-size: clamp(38px, 6vw, 57px) !important;
    font-weight: 500 !important;
    line-height: 1.17 !important;
    letter-spacing: .045em;
    text-align: center !important;
    text-transform: none;
}
.icems-contact .icems-contact__rule {
    display: block;
    width: 88px;
    height: 2px;
    margin: 25px auto 29px !important;
    background: linear-gradient(90deg, transparent, var(--icems-gold), transparent);
}
.icems-contact .icems-contact__header p:not(.icems-contact__eyebrow) {
    max-width: 660px;
    margin: 10px auto !important;
    padding: 0 !important;
    color: var(--icems-muted) !important;
    font-size: 16px !important;
    font-weight: 400;
    line-height: 1.65 !important;
    text-align: center !important;
}
.icems-contact .icems-contact__header p.icems-contact__email {
    margin: 13px auto 17px !important;
}
.icems-contact .icems-contact__email a {
    color: #f3d79b !important;
    text-decoration: underline;
    text-underline-offset: 4px;
    overflow-wrap: anywhere;
}
.icems-contact .icems-contact__email a:hover { color: #fff !important; }

/* WordPress themes and form plugins frequently assign fixed input widths,
 * unexpected form margins, and overriding form-field display rules. */
.icems-contact form.icems-contact__form {
    display: block !important;
    float: none !important;
    clear: both;
    position: relative;
    left: auto !important;
    right: auto !important;
    width: 100% !important;
    min-width: 0 !important;
    max-width: none !important;
    margin: 0 !important;
    padding: 35px clamp(24px, 5.2vw, 54px) 48px !important;
    border: 0 !important;
    border-top: 1px solid var(--icems-border) !important;
    border-radius: 0 !important;
    background: none !important;
    box-shadow: none !important;
    text-align: left !important;
}
.icems-contact form.icems-contact__form .icems-contact__two-col {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) !important;
    gap: 0 20px !important;
    width: 100% !important;
    min-width: 0 !important;
    max-width: none !important;
    margin: 0 !important;
    padding: 0 !important;
}
.icems-contact form.icems-contact__form .icems-contact__field {
    display: block !important;
    float: none !important;
    width: 100% !important;
    min-width: 0 !important;
    max-width: none !important;
    margin: 0 0 23px !important;
    padding: 0 !important;
    text-align: left !important;
}
.icems-contact form.icems-contact__form .icems-contact__field label {
    display: block !important;
    width: auto !important;
    margin: 0 0 8px !important;
    padding: 0 !important;
    color: #faf6ee !important;
    font-family: inherit;
    font-size: 14px !important;
    font-weight: 650 !important;
    line-height: 1.5 !important;
    text-align: left !important;
    text-transform: none !important;
    letter-spacing: normal !important;
}
.icems-contact .icems-contact__field label span { color: #edca87; }
.icems-contact form.icems-contact__form .icems-contact__field input[type='text'],
.icems-contact form.icems-contact__form .icems-contact__field input[type='email'],
.icems-contact form.icems-contact__form .icems-contact__field textarea {
    appearance: none;
    display: block !important;
    float: none !important;
    width: 100% !important;
    min-width: 0 !important;
    max-width: none !important;
    margin: 0 !important;
    padding: 13px 15px !important;
    border: 1px solid #aea9bc !important;
    border-radius: 7px !important;
    background: #fffefe !important;
    color: #222333 !important;
    font-family: inherit !important;
    font-size: 16px !important;
    font-weight: 400 !important;
    line-height: 1.5 !important;
    text-align: left !important;
    letter-spacing: normal !important;
    box-shadow: none !important;
    opacity: 1 !important;
}
.icems-contact form.icems-contact__form .icems-contact__field input[type='text'],
.icems-contact form.icems-contact__form .icems-contact__field input[type='email'] {
    height: 52px !important;
    min-height: 52px !important;
}
.icems-contact form.icems-contact__form .icems-contact__field textarea {
    height: auto !important;
    min-height: 185px !important;
    resize: vertical;
}
.icems-contact form.icems-contact__form .icems-contact__field input:focus,
.icems-contact form.icems-contact__form .icems-contact__field textarea:focus,
.icems-contact form.icems-contact__form .icems-contact__footer button:focus-visible,
.icems-contact .icems-contact__email a:focus-visible {
    outline: 3px solid #edcf8a !important;
    outline-offset: 3px !important;
}
.icems-contact form.icems-contact__form .icems-contact__footer {
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 16px 22px !important;
    align-items: center !important;
    justify-content: space-between !important;
    width: 100% !important;
    margin: 4px 0 0 !important;
    padding: 0 !important;
}
.icems-contact form.icems-contact__form .icems-contact__footer p {
    flex: 1 1 280px;
    margin: 0 !important;
    padding: 0 !important;
    color: var(--icems-muted) !important;
    font-size: 13px !important;
    line-height: 1.65 !important;
    text-align: left !important;
}
.icems-contact form.icems-contact__form .icems-contact__footer button {
    appearance: none;
    display: inline-flex !important;
    flex: 0 0 auto;
    align-items: center !important;
    justify-content: center !important;
    gap: 20px;
    width: auto !important;
    min-width: 176px;
    max-width: 100% !important;
    min-height: 51px;
    margin: 0 !important;
    padding: 12px 22px !important;
    border: 1px solid #ead19b !important;
    border-radius: 7px !important;
    background: #dec18a !important;
    color: #25202a !important;
    font-family: inherit !important;
    font-size: 15px !important;
    font-weight: 700 !important;
    line-height: 1.3 !important;
    text-align: center !important;
    text-decoration: none !important;
    text-transform: none !important;
    letter-spacing: normal !important;
    box-shadow: none !important;
    cursor: pointer;
    transition: background-color .15s ease, border-color .15s ease;
}
.icems-contact form.icems-contact__form .icems-contact__footer button:hover {
    background: #f4dca6 !important;
    border-color: #fff0cd !important;
}
.icems-contact .icems-contact__notice {
    margin: 0 clamp(24px, 5.2vw, 54px) 20px !important;
    padding: 13px 16px !important;
    border: 1px solid #e5bf82;
    border-radius: 6px;
    background: #38302e;
    color: #fff9ea;
    font-size: 14px;
}
.icems-contact .icems-contact__notice--success { border-color: #98d3b3; background: #203a34; }
.icems-contact .icems-contact__notice--error { border-color: #e7a6a6; background: #4b2d36; }
.icems-contact form.icems-contact__form .icems-contact__honeypot {
    position: absolute !important;
    left: -10000px !important;
    top: auto !important;
    width: 1px !important;
    height: 1px !important;
    overflow: hidden !important;
}
@media (max-width: 640px) {
    .icems-contact form.icems-contact__form .icems-contact__two-col {
        grid-template-columns: minmax(0, 1fr) !important;
        gap: 0 !important;
    }
    .icems-contact form.icems-contact__form .icems-contact__footer button { width: 100% !important; }
}
/* Responsive to the card's own width, including sidebar and page-builder columns. */
@supports (container-type: inline-size) {
    .icems-contact { container-type: inline-size; }
    @container (max-width: 560px) {
        .icems-contact form.icems-contact__form .icems-contact__two-col {
            grid-template-columns: minmax(0, 1fr) !important;
            gap: 0 !important;
        }
        .icems-contact form.icems-contact__form .icems-contact__footer button { width: 100% !important; }
    }
}
@media (prefers-reduced-motion: reduce) {
    .icems-contact form.icems-contact__form .icems-contact__footer button { transition: none; }
}
