/* Contact FAB - 3 round floating buttons (WhatsApp + Phone + Mail) + modal */
.contact-fab{position:fixed;bottom:20px;right:20px;z-index:999;display:flex;flex-direction:column;gap:10px}
.contact-fab-btn{width:54px;height:54px;border-radius:50%;display:flex;align-items:center;justify-content:center;color:#fff;text-decoration:none;border:none;cursor:pointer;box-shadow:0 4px 16px rgba(0,0,0,0.22);transition:transform 0.2s,box-shadow 0.2s;position:relative;padding:0}
.contact-fab-btn:hover{transform:scale(1.08);box-shadow:0 6px 22px rgba(0,0,0,0.32);color:#fff}
.contact-fab-btn.wa{background:linear-gradient(140deg,#3ddc84 0%,#1faa5e 100%)}
.contact-fab-btn.tel{background:linear-gradient(140deg,#15171b 0%,#0a0c10 100%);border:1px solid rgba(255,255,255,0.08)}
.contact-fab-btn.mail{background:linear-gradient(140deg,#e4c580 0%,#b8935a 100%)}
.contact-fab-btn svg{width:26px;height:26px}
.contact-fab-btn.tel svg{width:24px;height:24px}
.contact-fab-btn::before{content:attr(data-label);position:absolute;right:calc(100% + 12px);top:50%;transform:translateY(-50%);background:rgba(0,0,0,0.88);color:#fff;padding:6px 12px;border-radius:4px;font-size:12px;font-weight:500;white-space:nowrap;opacity:0;pointer-events:none;transition:opacity 0.2s;font-family:var(--sans),sans-serif}
.contact-fab-btn:hover::before{opacity:1}

/* Modal */
.contact-modal{position:fixed;inset:0;z-index:10000;background:rgba(0,0,0,0.6);display:none;align-items:center;justify-content:center;padding:20px}
.contact-modal.visible{display:flex}
.contact-modal-inner{background:#fff;max-width:460px;width:100%;padding:32px 28px;border-radius:8px;position:relative;box-shadow:0 20px 60px rgba(0,0,0,0.4)}
.contact-modal-close{position:absolute;top:8px;right:12px;background:none;border:none;font-size:32px;cursor:pointer;color:#888;line-height:1;padding:6px 10px}
.contact-modal-close:hover{color:#000}
.contact-modal h3{font-family:var(--serif),Georgia,serif;font-size:22px;margin:0 0 8px;font-weight:400;color:#0C0C0C}
.contact-modal-lead{color:#666;font-size:14px;margin:0 0 20px}
.contact-modal form{display:flex;flex-direction:column;gap:12px}
.contact-modal input,.contact-modal textarea{width:100%;padding:12px 14px;border:1px solid #ddd;font-size:14px;font-family:var(--sans),sans-serif;border-radius:4px;box-sizing:border-box;color:#0C0C0C;background:#fff}
.contact-modal input:focus,.contact-modal textarea:focus{outline:none;border-color:#b8935a}
.contact-modal textarea{resize:vertical;min-height:90px}
.contact-modal button[type="submit"]{background:#b8935a;color:#fff;padding:14px 20px;border:none;font-size:12px;letter-spacing:0.2em;text-transform:uppercase;font-weight:600;cursor:pointer;border-radius:4px;transition:background 0.2s}
.contact-modal button[type="submit"]:hover{background:#a07d47}
.contact-modal button[type="submit"]:disabled{opacity:0.5;cursor:not-allowed}
.contact-modal-honeypot{position:absolute!important;left:-9999px!important;top:auto!important;width:1px!important;height:1px!important;overflow:hidden!important}
.contact-modal-status{font-size:13px;margin-top:4px;min-height:18px}
.contact-modal-status.ok{color:#1a8046}
.contact-modal-status.err{color:#c93030}

@media(max-width:640px){
  .contact-fab{bottom:16px;right:16px;gap:9px}
  .contact-fab-btn{width:50px;height:50px}
  .contact-fab-btn svg{width:23px;height:23px}
  .contact-fab-btn::before{display:none}
  .contact-modal-inner{padding:26px 20px}
}

/* RTL */
html[dir="rtl"] .contact-fab{right:auto;left:20px}
html[dir="rtl"] .contact-fab-btn::before{right:auto;left:calc(100% + 12px)}
@media(max-width:640px){html[dir="rtl"] .contact-fab{left:16px;right:auto}}