/* Shared contact details: reuse the site's ink / warm-gold palette. */
.fjxx-quick-contact {
    position: fixed;
    right: clamp(1rem, 2.5vw, 2.25rem);
    bottom: clamp(1rem, 2.5vw, 2.25rem);
    z-index: 25;
    display: flex;
    flex-direction: column;
    align-items: flex-end;
    gap: 0.65rem;
}
.fjxx-quick-contact-action {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 3.1rem;
    height: 3.1rem;
    padding: 0;
    border: 1px solid rgba(255,255,255,.22);
    border-radius: 50%;
    color: #fff;
    background: #223538;
    box-shadow: 0 0.35rem 1.4rem rgba(0,0,0,.19);
    cursor: pointer;
    transition: background-color .2s ease, transform .2s ease;
}
.fjxx-quick-contact-action .iconfont { font-size: 1.5rem; line-height: 1; }
.fjxx-quick-contact-action:hover,
.fjxx-quick-contact-action:focus-visible,
.fjxx-quick-contact-action[aria-expanded="true"] {
    color: #182323;
    background: #c7913d;
    transform: translateY(-2px);
}
.fjxx-quick-contact-action:focus-visible { outline: 2px solid #c7913d; outline-offset: 3px; }
.fjxx-quick-contact-popover {
    position: absolute;
    right: calc(100% + .85rem);
    bottom: 0;
    display: flex;
    flex-direction: column;
    align-items: center;
    width: 13.75rem;
    padding: 1rem;
    color: #263537;
    background: #fff;
    box-shadow: 0 .65rem 2rem rgba(0,0,0,.22);
    text-align: center;
}
.fjxx-quick-contact-popover[hidden] { display: none; }
.fjxx-quick-contact-popover-title {
    margin-bottom: .7rem;
    color: #9d7138;
    font-family: 'Montserrat', sans-serif;
    font-size: .61rem;
    font-weight: 700;
    letter-spacing: .1em;
}
.fjxx-quick-contact-popover img { display: block; width: 100%; max-width: 11.125rem; height: auto; }
.fjxx-quick-contact-popover .fjxx-quick-contact-qr-image {
    aspect-ratio: 888 / 1131;
    object-fit: contain;
    object-position: center;
}
.fjxx-quick-contact-popover-caption { margin-top: .6rem; font-size: .68rem; line-height: 1.5; }
.fjxx-quick-contact-popover-id {
    display: inline-flex;
    margin-top: .3rem;
    color: #9d7138;
    font-size: .66rem;
    font-weight: 600;
    letter-spacing: .02em;
}
.fjxx-quick-contact-whatsapp-number {
    color: #9d7138;
    text-decoration: none;
    transition: color .2s ease, transform .2s ease;
}
.fjxx-quick-contact-whatsapp-number:hover,
.fjxx-quick-contact-whatsapp-number:focus-visible {
    color: #223538;
    transform: translateY(-1px);
}
.fjxx-quick-contact-whatsapp-number:focus-visible {
    outline: 2px solid #c7913d;
    outline-offset: 3px;
}
.fjxx-quick-contact-social-popover {
    width: min(18rem, calc(100vw - 2rem));
    border: none !important;
    border-radius: 0;
    outline: 0;
    background: transparent;
    box-shadow: none;
    animation: fjxx-quick-social-reveal .22s ease-out both;
}
.fjxx-quick-contact-social-links {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: .45rem;
}
.fjxx-quick-contact-social-links .fjxx-index-footer-social-link {
    width: 2.6rem;
    height: 2.6rem;
    border-radius: 50%;
    background: #223538;
}
.fjxx-quick-contact-social-links .iconfont { font-size: 1.1rem; }
.fjxx-index-footer-social-link .fjxx-social-icon {
    display: block;
    width: 1.2rem;
    height: 1.2rem;
    flex-shrink: 0;
}
.fjxx-quick-contact-social-links .fjxx-social-icon { width: 1.55rem; height: 1.55rem; }
.fjxx-quick-contact-social-links .fjxx-index-footer-social-link:hover,
.fjxx-quick-contact-social-links .fjxx-index-footer-social-link:focus-visible {
    color: #182323;
    background: #c7913d;
}
.fjxx-quick-contact-social-links .fjxx-index-footer-social-link:focus-visible {
    outline: 2px solid #c7913d;
    outline-offset: 3px;
}
@keyframes fjxx-quick-social-reveal {
    from { opacity: 0; transform: translateX(.5rem); }
    to { opacity: 1; transform: translateX(0); }
}
.fjxx-index-footer-bottom { gap: 1.25rem; }
.fjxx-footer-legal { display: flex; flex-wrap: wrap; gap: .4rem 1rem; }
.fjxx-footer-legal a { color: inherit; text-decoration: none; transition: color .2s ease; }
.fjxx-footer-legal a:hover,
.fjxx-footer-legal a:focus-visible { color: #c7913d; }
.fjxx-footer-legal a:focus-visible { outline: 2px solid #c7913d; outline-offset: 3px; }
@media (max-width: 60rem) {
    .fjxx-index-footer-bottom { flex-wrap: wrap; justify-content: flex-start; gap: 1rem 2rem; }
}
@media (max-width: 48rem) {
    .fjxx-quick-contact { right: 1rem; bottom: max(1rem, env(safe-area-inset-bottom)); gap: .5rem; }
    .fjxx-quick-contact-action { width: 2.9rem; height: 2.9rem; }
    .fjxx-quick-contact-popover { right: 0; bottom: calc(100% + .7rem); width: 12.5rem; }
    .fjxx-quick-contact-social-popover { width: min(18rem, calc(100vw - 2rem)); }
    .fjxx-index-footer-bottom { align-items: flex-start; gap: .7rem; }
}
@media (prefers-reduced-motion: reduce) {
    .fjxx-quick-contact-action, .fjxx-quick-contact-social-links a, .fjxx-footer-legal a { transition: none; }
    .fjxx-quick-contact-social-popover { animation: none; }
}
