/* Contact Banner | ACF module | Prefix: uq-contact-banner */
.uq-contact-banner,
.uq-contact-banner *,
.uq-contact-banner *::before,
.uq-contact-banner *::after { box-sizing: border-box; }
.uq-contact-banner {
    width: 100%;
    padding: min(var(--uq-cb-space-top, 32px), 96px) 24px min(var(--uq-cb-space-bottom, 32px), 96px);
    color: #fff;
    font-family: var(--uq-site-font-body, var(--font-main, "Inter", Arial, sans-serif));
}
.uq-contact-banner__container { width: 100%; max-width: 1200px; margin-inline: auto; }
.uq-contact-banner__card {
    display: flex; min-height: 108px; align-items: center; justify-content: space-between; gap: 32px;
    padding: 28px; border-radius: 14px; background: var(--uq-theme-primary, #104E8B);
}
.uq-contact-banner__copy { display: flex; min-width: 0; align-items: center; gap: 16px; }
.uq-contact-banner__icon {
    display: grid; width: 52px; height: 52px; flex: 0 0 52px; border-radius: 50%;
    background: rgba(255,255,255,.12); color: #fff; place-items: center;
}
.uq-contact-banner__icon svg { width: 27px; height: 27px; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
.uq-contact-banner__title { margin: 0 0 4px; color: #fff !important; font-size: clamp(20px, 2vw, 24px); font-weight: 500; line-height: 1.2; letter-spacing: -.02em; }
.uq-contact-banner__description { margin: 0; color: rgba(255,255,255,.8); font-size: 15px; line-height: 1.5; }
.uq-contact-banner__actions { display: flex; flex: 0 0 auto; flex-wrap: wrap; justify-content: flex-end; gap: 12px; }
.uq-contact-banner__button {
    display: inline-flex; min-height: 44px; align-items: center; justify-content: center; gap: 12px;
    padding: 10px 24px; border: 1px solid transparent; border-radius: 6px; font-size: 16px;
    font-weight: 500; line-height: 1.2; text-align: center; text-decoration: none !important;
    transition: transform .2s ease, filter .2s ease;
}
.uq-contact-banner__button:hover { transform: translateY(-1px); filter: brightness(.94); }
.uq-contact-banner__button--primary { border-color: var(--uq-cb-primary-border); background: var(--uq-cb-primary-bg); color: var(--uq-cb-primary-text) !important; }
.uq-contact-banner__button--secondary { border-color: var(--uq-cb-secondary-border); background: var(--uq-cb-secondary-bg); color: var(--uq-cb-secondary-text) !important; }
.uq-contact-banner__button svg { width: 16px; height: 16px; fill: none; stroke: currentColor; stroke-width: 1.5; stroke-linecap: round; stroke-linejoin: round; }
.uq-contact-banner__button:focus-visible { outline: 3px solid rgba(255,184,46,.55); outline-offset: 3px; }
.uq-contact-banner__disclaimer { max-width: 980px; margin: 18px auto 0; color: #747474; font-size: 12px; line-height: 1.55; text-align: center; }
@media (max-width: 900px) {
    .uq-contact-banner__card { align-items: flex-start; flex-direction: column; }
    .uq-contact-banner__actions { width: 100%; justify-content: flex-start; }
}
@media (max-width: 600px) {
    .uq-contact-banner { padding-top: min(var(--uq-cb-space-top, 32px), 56px); padding-right: 16px; padding-bottom: min(var(--uq-cb-space-bottom, 32px), 56px); padding-left: 16px; }
    .uq-contact-banner__card { gap: 24px; padding: 24px 20px; text-align: center; }
    .uq-contact-banner__copy { width: 100%; align-items: center; flex-direction: column; }
    .uq-contact-banner__actions { display: grid; grid-template-columns: 1fr; }
    .uq-contact-banner__button { width: 100%; }
}
@media (prefers-reduced-motion: reduce) {
    .uq-contact-banner *, .uq-contact-banner *::before, .uq-contact-banner *::after { transition-duration: .01ms !important; }
}
