/* Contact-only native Fluent Forms adapter. No global form or plugin resets. */
.marielco-contact {
 --contact-ink: #111111; --contact-muted: #6e6e6e; --contact-line: #e5e5e5;
 --marielco-form-ink: var(--contact-ink); --marielco-form-muted: var(--contact-muted);
 --marielco-form-line: var(--contact-line);
 --marielco-form-focus-line: var(--contact-line);
 width: 100%; margin-inline: auto; padding: 64px var(--marielco-page-gutter) 80px;
 background: var(--marielco-white); color: var(--contact-ink);
}
.marielco-contact :is(h1,h2,h3,p,ul,dl,dd) { margin: 0; }
.marielco-contact :is(h1,h2,h3) { font-weight: 400; text-transform: none; }
.marielco-contact__hero, .marielco-contact__layout { max-width: 1280px; margin-inline: auto; }
.marielco-contact__hero { text-align: center; padding-bottom: 40px; border-bottom: 1px solid var(--contact-line); }
.marielco-contact__hero h1 { font-size: clamp(36px,4vw,56px); line-height: 1.1; letter-spacing: -.03em; }
.marielco-contact__layout { display: grid; grid-template-columns: minmax(0, .8fr) minmax(0, 1.2fr); gap: clamp(48px,6vw,88px); padding-block: 48px 56px; }
.marielco-contact h2 { font-size: 25px; line-height: 1.25; letter-spacing: -.02em; }
.marielco-contact .marielco-contact__intro { margin-top: 14px; max-width: 52ch; color: var(--contact-muted); font-size: 14px; line-height: 1.65; }
.marielco-contact .marielco-contact__channels { list-style: none; padding: 0; margin-top: 28px; }
.marielco-contact__channels li + li { margin-top: 22px; }
.marielco-contact__channels a { display: grid; grid-template-columns: 24px minmax(0,1fr); align-items: center; gap: 16px; width: fit-content; max-width: 100%; text-decoration: none; }
.marielco-contact__icon { display: flex; align-items: center; justify-content: center; width: 24px; height: 24px; }
.marielco-contact__icon img { display: block; flex: none; width: 22px; height: 22px; max-inline-size: none; }
/* Font Awesome's 640px artboard contains a 448px glyph; match Lucide's visible 20px extent. */
.marielco-contact__icon img.marielco-contact__icon-whatsapp { width: calc(20px * 640 / 448); height: calc(20px * 640 / 448); }
.marielco-contact__channel-label { display: block; font-size: 12px; line-height: 1.4; color: var(--contact-muted); margin-bottom: 5px; }
.marielco-contact__channel-value { display: block; font-size: 15px; line-height: 1.6; overflow-wrap: anywhere; }
.marielco-contact__channels a:hover .marielco-contact__channel-label { color: var(--contact-ink); }
.marielco-contact__channels a:focus-visible { outline-offset: 5px; }
.marielco-contact .marielco-contact__hours { margin-top: 32px; padding-top: 24px; border-top: 1px solid var(--contact-line); }
.marielco-contact__hours h3 { font-size: 15px; line-height: 1.5; }
.marielco-contact__hours p { margin-top: 4px; font-size: 12px; color: var(--contact-muted); }
.marielco-contact__hours dl { margin-top: 16px; font-size: 13px; line-height: 1.5; }
.marielco-contact__hours dl div { display: flex; justify-content: space-between; gap: 14px; }
.marielco-contact__hours dl div + div { margin-top: 8px; }
.marielco-contact__required { padding-top: 20px; font-size: 12px; color: var(--contact-muted); }
.marielco-contact__form { padding-top: 8px; }
.marielco-contact .marielco-contact__form .ff-el-group { margin: 0 0 12px; }
.marielco-contact__form .ff-name-field-wrapper .ff-t-container { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 26px; }
.marielco-contact__form .ff-name-field-wrapper .ff-t-cell { display: block; padding: 0; min-width: 0; }
.marielco-contact__form .ff-el-input--label { margin-bottom: 3px; padding: 0; }
.marielco-contact__form .ff-el-input--label label { font-weight: 400; }
.marielco-contact__form .ff-el-input--label label::after { color: inherit; }
.marielco-contact__form .marielco-form-field { padding-block: 6px 17px; }
.marielco-contact__form .marielco-form-field textarea.ff-el-form-control { height: auto; min-height: 58px; field-sizing: content; resize: vertical; }
/* Overlay the focus rule in the control's grid row, including a growing textarea. */
.marielco-contact__form .marielco-form-field .ff-el-input--content { display: grid; grid-template-columns: minmax(0,1fr); }
.marielco-contact__form .marielco-form-field .ff-el-form-control { grid-column: 1; grid-row: 1; background: #ffffff; }
.marielco-contact__form .marielco-form-field .ff-el-input--content::after { content: ''; grid-column: 1; grid-row: 1; align-self: end; height: 1px; background: var(--contact-ink); transform: scaleX(0); transform-origin: left center; transition: transform 240ms ease; pointer-events: none; }
.marielco-contact__form .marielco-form-field:focus-within .ff-el-input--content::after { transform: scaleX(1); }
.marielco-contact__form .ff-el-is-error .ff-el-input--content::after { background: #a1122a; }
/* Match the canonical authentication autofill surface without disabling autocomplete. */
.marielco-contact__form .marielco-form-field .ff-el-form-control:autofill { -webkit-text-fill-color: var(--contact-ink); caret-color: var(--contact-ink); box-shadow: 0 0 0 1000px #ffffff inset; }
.marielco-contact__form .ff-el-help-message { color: var(--contact-muted); font-size: 12px; }
.marielco-contact__form .ff-el-is-error .ff-el-form-control { border-bottom-color: #a1122a; }
.marielco-contact__form .error { color: #a1122a; font-size: 13px; margin-top: 5px; }
.marielco-contact__form .ff_submit_btn_wrapper { margin-top: 16px; }
.marielco-contact__form .ff-btn-submit.marielco-button { --marielco-button-background: #111111; width: 100%; }
.marielco-contact__form .ff-btn-submit.marielco-button:disabled { --marielco-button-background: var(--contact-line); --marielco-button-color: var(--contact-muted); border-color: var(--contact-line); opacity: 1; }
.marielco-contact__form .ff-message-success { color: var(--contact-ink); padding: 0; margin: 0 0 12px; border: 0; box-shadow: none; font-size: 15px; line-height: 1.6; }
.marielco-contact__location { border-top: 1px solid var(--contact-line); padding-top: 32px; }
.marielco-contact__map { display: block; width: 100%; height: clamp(360px,45vw,660px); border: 1px solid var(--contact-line); background: #f2f2f2; }
@media (max-width: 900px) {
 .marielco-contact { padding-block: 40px 56px; }
 .marielco-contact__hero { padding-bottom: 32px; }
 .marielco-contact__layout { grid-template-columns: 1fr; gap: 40px; padding-block: 32px 40px; }
 .marielco-contact__details { max-width: 560px; }
 .marielco-contact__form-panel { padding-top: 32px; border-top: 1px solid var(--contact-line); }
 .marielco-contact__location { padding-top: 28px; }
}
@media (max-width: 768px) { .marielco-contact__form .marielco-form-field textarea.ff-el-form-control { min-height: 56px; } }
@media (max-width: 480px) {
 .marielco-contact__form .ff-name-field-wrapper .ff-t-container { grid-template-columns: 1fr; gap: 0; }
 .marielco-contact h2 { font-size: 23px; }
}

@media (prefers-reduced-motion: reduce) { .marielco-contact__form .ff-el-input--content::after { transition: none; } }
