/* Compact without reducing the established 1.075rem reading size. */
.ia-contact-form .wpcf7-form > p { margin-block:.7rem; }
.ia-contact-form .ia-form-grid { gap:.65rem 1rem; }
.ia-contact-form .ia-form-grid > p { margin:0!important; display:contents; }
.ia-contact-form .ia-form-grid br { display:none; }
.ia-contact-form .ia-form-grid label { margin:0; min-width:0; }
.ia-contact-form label > br { display:none; }
.ia-contact-form :is(input:not([type=checkbox]):not([type=submit]),select) { min-height:46px; margin-top:.3rem; padding:.5rem .7rem; }
.ia-contact-form textarea { height:104px; min-height:104px; margin-top:.3rem; padding:.6rem .7rem; }
.ia-contact-split .ia-contact-form { padding:clamp(1rem,2vw,1.5rem); }
.ia-contact-form label { line-height:1.5; }
.ia-contact-form .wpcf7-spinner { display:inline-block; margin:.35rem; }
.ia-map { margin-top:1.4rem; padding:0; border:1px solid #d8dde1; border-radius:8px; overflow:hidden; background:#ecefea; }
.ia-map-load { width:100%; min-height:210px; border:0; color:#fff; cursor:pointer; padding:1.5rem; font-size:1.075rem; line-height:1.75; background:linear-gradient(135deg,#131a20eb,#131a20bf),repeating-linear-gradient(40deg,#ff5a0a 0 1px,transparent 1px 30px); }
.ia-map-frame { display:block; width:100%; height:240px; min-height:0; border:0; }
.ia-map :is(p,a) { font-size:1.075rem; line-height:1.75; }
.ia-map p { margin:.7rem 1rem; }
.ia-map [hidden],.ia-floating-panel[hidden],.ia-form-placeholder[hidden] { display:none!important; }
.ia-contact-dock { position:fixed; z-index:1005; bottom:calc(1.2rem + env(safe-area-inset-bottom)); right:1.2rem; display:flex; gap:.7rem; align-items:center; }
.ia-contact-dock button { cursor:pointer; border:1px solid #ffffff30; box-shadow:0 8px 30px #0002; }
.ia-contact-launch { border-radius:999px; background:#131619; color:#fff; padding:.85rem 1.3rem; font:inherit; font-size:1.075rem; }
.ia-assistant-dot { position:relative; display:flex; align-items:center; gap:.6rem; background:#fff; color:#171b21; padding:.8rem 1rem; border-radius:999px; font:inherit; font-size:1.075rem; }
.ia-dot-core { display:block; width:24px; height:24px; border-radius:50%; background:radial-gradient(circle at 30% 30%,#ffb36c,#ff5a0a 55%,#b63400); box-shadow:0 0 0 5px #ff5a0a12; animation:ia-dot-breathe 4s ease-in-out infinite; }
@keyframes ia-dot-breathe { 50% { box-shadow:0 0 0 9px #ff5a0a08; transform:scale(.94); } }
.ia-floating-panel { position:fixed; z-index:1006; right:1.2rem; bottom:calc(5.5rem + env(safe-area-inset-bottom)); width:min(460px,calc(100% - 2.4rem)); max-height:calc(100dvh - 9rem); box-sizing:border-box; background:#fff; color:#171b21; border:1px solid #d8dde1; border-radius:14px; box-shadow:0 20px 80px #0003; overflow:hidden; display:flex; flex-direction:column; font-size:1.075rem; line-height:1.75; }
.ia-floating-header { display:flex; justify-content:space-between; align-items:center; gap:1rem; padding:1rem 1.3rem; background:#131619; color:#fff; }
.ia-floating-header h2 { margin:0; letter-spacing:-.02em; }
.ia-floating-close { flex-shrink:0; width:44px; height:44px; border:1px solid #ffffff30; background:transparent; color:#fff; border-radius:50%; font-size:1.6rem; cursor:pointer; }
.ia-floating-body { padding:1rem 1.3rem; overflow:auto; overscroll-behavior:contain; }
.ia-floating-body .ia-contact-form { border:0; padding:0; margin:0; box-shadow:none; max-width:none; width:100%; }
.ia-floating-body :is(label,input,select,textarea,button,.wpcf7-list-item,.wpcf7-response-output) { font-size:1.075rem; line-height:1.5; }
.ia-assistant-notice { color:#505762; margin:0 0 1rem; font-size:1.075rem; }
.ia-assistant-log { max-height:280px; overflow:auto; overscroll-behavior:contain; }
.ia-assistant-log p { margin:.6rem 0; padding:.85rem; border-radius:8px; }
.ia-assistant-answer { background:#f2f3f4; }
.ia-assistant-user { background:#fff2e9; }
.ia-assistant-link { display:inline-block; margin:.3rem 0 .7rem; color:#a53600; }
.ia-assistant-suggestions { display:flex; flex-wrap:wrap; gap:.5rem; margin-top:1rem; }
.ia-assistant-suggestions button { text-align:left; border:1px solid #d9dde1; background:#fff; color:#282d35; border-radius:6px; padding:.55rem .7rem; font:inherit; font-size:1.075rem; cursor:pointer; }
.ia-assistant-question { margin-top:1rem; display:grid; grid-template-columns:1fr auto; gap:.5rem; }
.ia-assistant-question label { grid-column:1/-1; }
.ia-assistant-question input { min-width:0; border:1px solid #bac0c8; border-radius:5px; padding:.6rem; font:inherit; }
.ia-assistant-question button { background:#ff5a0a; color:#131619; border:0; border-radius:5px; padding:.6rem .8rem; font:inherit; cursor:pointer; }
.ia-contact-dock button:focus-visible,.ia-floating-panel :is(button,input,a):focus-visible,.ia-map-load:focus-visible { outline:2px solid #c43e00; outline-offset:3px; }
.ia-floating-panel button:disabled { opacity:.5; cursor:not-allowed; }
.ia-form-placeholder { padding:1rem; border:1px dashed #cbd0d8; }
@media(max-width:600px) { .ia-contact-dock { right:.75rem; bottom:calc(.75rem + env(safe-area-inset-bottom)); } .ia-floating-panel { right:.75rem; width:calc(100% - 1.5rem); bottom:calc(5rem + env(safe-area-inset-bottom)); max-height:calc(100dvh - 8.5rem); } .ia-floating-body { padding:1rem; } }
@media(prefers-reduced-motion:reduce) { .ia-dot-core { animation:none; } }
/* A calm, compact contact card with a clear field and action hierarchy. */
.ia-contact-form { border-color:#e6d6ca; border-radius:14px; }
.ia-contact-form :is(input:not([type=checkbox]):not([type=submit]),select,textarea) { background:#faf9f7; border:1px solid #dcd8d3; border-radius:7px; transition:border-color .2s,box-shadow .2s; }
.ia-contact-form :is(input,select,textarea):focus { outline:none; border-color:#c86531; box-shadow:0 0 0 3px #ff5a0a12; }
.ia-contact-form .ia-form-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:.8rem 1rem; }
.ia-contact-form label { font-weight:550; }
.ia-contact-form .wpcf7-acceptance label { display:flex; align-items:flex-start; gap:.6rem; }
.ia-contact-form input[type=checkbox] { flex:0 0 auto; width:18px; height:18px; margin:.25rem 0 0; accent-color:#c43e00; }
.ia-contact-form input[type=submit] { width:100%; padding:.8rem 1rem; border-radius:7px; background:#c43e00; color:#fff; }
.ia-contact-form .ia-form-note { color:#626970; font-size:.875rem; line-height:1.55; }
#ia-floating-contact { border-color:#d7c0af; box-shadow:0 16px 56px #0d101626; }
#ia-floating-contact .ia-floating-header { padding:1rem 1.2rem; background:#f7f3ef; color:#131619; border-bottom:1px solid #e6d6ca; }
#ia-floating-contact .ia-floating-header h2 { font-weight:650; letter-spacing:-.04em; }
#ia-floating-contact .ia-floating-close { color:#53504c; border-color:#d8cfc8; width:36px; height:36px; }
#ia-floating-contact .ia-floating-body { padding:1rem 1.2rem; }
#ia-floating-contact :is(label,input,select,textarea,.wpcf7-list-item) { font-size:.9375rem; }
#ia-floating-contact textarea { height:84px; min-height:84px; }
.ia-form-placeholder { padding:1.5rem; border:1px solid #e3d5cb; border-radius:12px; background:#fffaf6; }
.ia-form-placeholder button { border:0; border-radius:7px; padding:.85rem 1.2rem; background:#c43e00; color:#fff; font:inherit; cursor:pointer; }
.ia-contact-form .wpcf7-form:not(.submitting) .wpcf7-spinner { display:none; }
@media(max-width:600px) { #ia-floating-contact .ia-form-grid { grid-template-columns:repeat(2,minmax(0,1fr)); } #ia-floating-contact :is(label,input,select,textarea,.wpcf7-list-item) { font-size:.875rem; } }
