/* Quick Contact v1 — isolated styles; hosted with each site on Jino. */
#quick-contact-root { --qc-accent:#df282a; --qc-ink:#16202e; --qc-muted:#586373; font-family:Arial,Helvetica,sans-serif; }
#quick-contact-root, #quick-contact-root * { box-sizing:border-box; }
#quick-contact-root .qc-trigger {
  position:fixed; bottom:calc(22px + env(safe-area-inset-bottom, 0px)); right:22px;
  z-index:10500; display:inline-flex; align-items:center; gap:12px; border:1px solid rgba(255,255,255,.32);
  padding:9px 20px 9px 10px; min-height:57px; border-radius:32px; background:var(--qc-accent);
  color:#fff; box-shadow:0 8px 28px rgba(0,0,0,.34),0 0 0 0 rgba(223,40,42,.35);
  font-family:inherit; font-size:16px; font-weight:700; cursor:pointer;
  transition:transform .15s ease,box-shadow .2s ease;
}
#quick-contact-root .qc-trigger:hover { transform:translateY(-2px); box-shadow:0 12px 32px rgba(0,0,0,.4); }
#quick-contact-root .qc-trigger:focus-visible,
#quick-contact-root .qc-close:focus-visible,
#quick-contact-root .qc-submit:focus-visible,
#quick-contact-root .qc-call:focus-visible { outline:3px solid #efc85d; outline-offset:3px; }
#quick-contact-root .qc-trigger-icon {
  display:grid; width:38px; height:38px; place-items:center; background:rgba(255,255,255,.18);
  border-radius:50%; flex:none;
}
#quick-contact-root .qc-overlay { position:fixed; inset:0; z-index:10501; display:flex; align-items:flex-end; justify-content:flex-end; padding:20px; }
#quick-contact-root .qc-overlay[hidden] { display:none!important; }
#quick-contact-root .qc-backdrop { position:absolute; inset:0; background:rgba(5,11,20,.68); backdrop-filter:blur(5px); }
#quick-contact-root .qc-dialog {
  position:relative; z-index:1; width:min(430px,100%); max-height:min(740px,calc(100dvh - 40px));
  overflow:auto; overscroll-behavior:contain; padding:0!important; margin:0!important; background:#fff; color:var(--qc-ink); border-radius:22px;
  box-shadow:0 24px 75px rgba(0,0,0,.45); font-family:inherit; font-size:15px; line-height:1.45;
  transform:translateY(18px); opacity:0; transition:transform .22s ease,opacity .22s ease;
}
#quick-contact-root .qc-dialog.qc-visible { transform:translateY(0); opacity:1; }
#quick-contact-root .qc-head {
  background:var(--qc-accent); color:#fff; padding:22px 22px 19px;
  display:flex; align-items:flex-start; justify-content:space-between; gap:14px;
}
#quick-contact-root .qc-eyebrow { display:block; font-size:12px; letter-spacing:.06em; opacity:.87; margin-bottom:6px; }
#quick-contact-root .qc-head h2 { font:700 25px/1.2 Arial,Helvetica,sans-serif; color:#fff; padding:0; margin:0; }
#quick-contact-root .qc-close {
  background:rgba(255,255,255,.2); border:0; border-radius:50%; color:#fff;
  font:30px/1 Arial,Helvetica,sans-serif; cursor:pointer; width:40px; height:40px; flex:none;
}
#quick-contact-root .qc-content { padding:20px 22px 22px; }
#quick-contact-root .qc-intro {
  margin:0 0 16px; background:#f1f3f6; border-radius:14px; padding:12px 14px;
  font-size:15px; line-height:1.45; color:#333b49;
}
#quick-contact-root .qc-form { display:grid; gap:8px; }
#quick-contact-root .qc-form label {
  color:var(--qc-ink); font:600 13px/1.25 Arial,Helvetica,sans-serif;
  margin:5px 0 0; padding:0;
}
#quick-contact-root .qc-form textarea, #quick-contact-root .qc-form input:not(.qc-trap) {
  display:block; width:100%; min-height:46px; border:1px solid #d4d9e1; background:#f7f8fb; color:#202938;
  padding:12px 13px; border-radius:12px; font:15px/1.35 Arial,Helvetica,sans-serif;
  outline:none; box-shadow:none; margin:0; transition:border-color .15s ease;
}
#quick-contact-root .qc-form textarea { resize:vertical; min-height:82px; max-height:210px; }
#quick-contact-root .qc-form textarea:focus, #quick-contact-root .qc-form input:focus {
  border-color:var(--qc-accent); background:#fff; box-shadow:0 0 0 3px rgba(223,40,42,.11);
}
#quick-contact-root .qc-form input::placeholder,#quick-contact-root .qc-form textarea::placeholder { color:#788395; }
#quick-contact-root .qc-form .qc-trap { position:absolute!important; left:-20000px!important; height:1px!important; width:1px!important; opacity:0!important; }
#quick-contact-root .qc-submit {
  margin-top:9px; width:100%; min-height:52px; border:0; border-radius:12px;
  background:var(--qc-accent); color:#fff; font:700 16px/1.2 Arial,Helvetica,sans-serif; cursor:pointer;
  display:flex; justify-content:center; align-items:center; gap:10px;
}
#quick-contact-root .qc-submit:hover { filter:brightness(.92); }
#quick-contact-root .qc-submit:disabled { opacity:.55; cursor:wait; }
#quick-contact-root .qc-status { min-height:16px; font:13px/1.35 Arial,Helvetica,sans-serif; color:#536070; }
#quick-contact-root .qc-status[data-state="success"] { color:#166534; font-weight:700; }
#quick-contact-root .qc-status[data-state="error"] { color:#a10e24; font-weight:700; }
#quick-contact-root .qc-separator {
  display:flex; align-items:center; gap:12px; margin:8px 0 13px; color:#758091; font-size:12px;
}
#quick-contact-root .qc-separator:before,#quick-contact-root .qc-separator:after { content:""; height:1px; background:#dce1e8; flex:1; }
#quick-contact-root .qc-call {
  width:100%; display:flex; align-items:center; justify-content:center; gap:10px; min-height:45px;
  border:1px solid #e0e4eb; border-radius:12px; background:#f8fafc; text-decoration:none!important;
  color:#242e3d; font:600 15px/1.2 Arial,Helvetica,sans-serif;
}
#quick-contact-root .qc-call:hover { background:#eef2f6; }
body.qc-lock-scroll { overflow:hidden!important; }
@media(max-width:620px) {
  #quick-contact-root .qc-trigger {
    right:14px; bottom:calc(15px + env(safe-area-inset-bottom,0px));
    min-height:56px; padding:8px 16px 8px 8px; font-size:15px;
  }
  #quick-contact-root .qc-overlay { padding:0; align-items:flex-end; }
  #quick-contact-root .qc-dialog {
    width:100%; max-width:none; max-height:calc(100dvh - env(safe-area-inset-top,0px) - 12px);
    border-radius:19px 19px 0 0; padding-bottom:env(safe-area-inset-bottom,0px);
  }
  #quick-contact-root .qc-content { padding:16px 18px 20px; }
  #quick-contact-root .qc-head { padding:17px 18px 15px; }
  #quick-contact-root .qc-head h2 { font-size:23px; }
}
@media(prefers-reduced-motion:reduce) {
  #quick-contact-root *,#quick-contact-root *:before,#quick-contact-root *:after { transition:none!important; animation:none!important; }
}
