/* OPCUMIN PRO — responsive, dependency-free contact menu (V19.1) */
.contact-widget{position:fixed;z-index:1200;right:calc(22px + env(safe-area-inset-right,0px));bottom:calc(22px + env(safe-area-inset-bottom,0px));display:flex;flex-direction:column;align-items:flex-end;gap:12px;font-family:"DM Sans",Arial,sans-serif}
.contact-widget *{box-sizing:border-box}
.contact-widget__launcher{border:0;display:flex;align-items:center;justify-content:center;gap:10px;min-height:56px;padding:0 19px 0 15px;background:#102b43;color:#fff;border-radius:40px;box-shadow:0 8px 26px rgba(10,37,53,.33),0 0 0 3px rgba(239,182,42,.22);font-weight:800;font-size:13px;letter-spacing:.015em;cursor:pointer;transition:transform .16s,background .16s}
.contact-widget__launcher:hover{background:#173d5b;transform:translateY(-2px)}
.contact-widget__launcher:active{transform:translateY(0)}
.contact-widget__launcher-icon{width:30px;height:30px;display:grid;place-items:center;color:#f5c34e}
.contact-widget__launcher-icon svg{width:27px;height:27px}
.contact-widget__panel[hidden]{display:none!important}
.contact-widget__panel{width:min(352px,calc(100vw - 34px));max-height:min(660px,calc(100dvh - 104px));overflow-y:auto;overscroll-behavior:contain;border-radius:18px;box-shadow:0 18px 60px rgba(10,32,46,.26);border:1px solid #e6e8e9;background:#fff;color:#102b43;animation:contact-pop .18s ease-out}
.contact-widget__header{display:flex;gap:12px;justify-content:space-between;align-items:flex-start;padding:21px 19px 16px;background:linear-gradient(115deg,#fffdfa,#fff4d8)}
.contact-widget__eyebrow{font-size:10px;letter-spacing:.15em;color:#9c6f16;font-weight:800}
.contact-widget__header h2{margin:5px 0 3px;font-size:18px;line-height:1.3;font-weight:800;color:#102b43;letter-spacing:-.018em}
.contact-widget__header p{margin:0;font-size:12px;color:#5e6974;line-height:1.5}
.contact-widget__close{border:1px solid #e8d8b7;background:#fff;color:#53616a;width:30px;height:30px;flex:0 0 30px;border-radius:50%;display:grid;place-items:center;cursor:pointer}
.contact-widget__close:hover{background:#fff4d6}
.contact-widget__close svg{width:15px;height:15px}
.contact-widget__options{padding:10px 12px 5px;display:flex;flex-direction:column;gap:5px}
.contact-widget__option{display:flex;align-items:center;gap:11px;width:100%;min-width:0;text-align:left;background:#fff;border:1px solid transparent;border-radius:12px;padding:12px 9px;color:#102b43;text-decoration:none}
a.contact-widget__option:hover{background:#f8fafc;border-color:#e9edf1}
.contact-widget__icon{width:43px;height:43px;min-width:43px;border-radius:12px;display:grid;place-items:center}
.contact-widget__icon svg{width:23px;height:23px}
.contact-widget__icon--messenger{color:#087aff;background:#e8f1ff}
.contact-widget__icon--phone{color:#177c47;background:#e6f6ec}
.contact-widget__icon--email{color:#9b7119;background:#fff3d6}
.contact-widget__option-text{display:block;min-width:0;flex:1}
.contact-widget__option-text strong{display:block;color:#102b43;font-size:13px;font-weight:800;line-height:1.35}
.contact-widget__option-text small{display:block;color:#647483;font-size:11px;line-height:1.5;overflow-wrap:anywhere;margin-top:3px}
.contact-widget__arrow{color:#7c8a96;display:grid;place-items:center}
.contact-widget__arrow svg{width:17px;height:17px}
.contact-widget__phone{align-items:flex-start;background:#fafbfc;border-color:#f0f1f2}
.contact-widget__phone-actions{display:flex;gap:8px;margin-top:9px}
.contact-widget__phone-actions a{display:inline-flex;min-width:65px;min-height:34px;align-items:center;justify-content:center;padding:5px 12px;border:1px solid #b8d7c4;border-radius:18px;color:#145d35;background:#fff;font-size:12px;font-weight:800;text-decoration:none}
.contact-widget__phone-actions a:hover{background:#e3f4e9}
.contact-widget__footer{text-align:center;color:#7a838c;font-size:10.5px;line-height:1.4;margin:4px 14px 16px}
.contact-widget button:focus-visible,.contact-widget a:focus-visible{outline:3px solid #cf9b1b;outline-offset:3px}
@keyframes contact-pop{from{opacity:0;transform:translateY(9px) scale(.975)}to{opacity:1;transform:translateY(0) scale(1)}}
@media(max-width:540px){.contact-widget{right:calc(15px + env(safe-area-inset-right,0px));bottom:calc(16px + env(safe-area-inset-bottom,0px))}.contact-widget__launcher{width:57px;height:57px;min-height:57px;padding:0;border-radius:50%}.contact-widget__launcher-icon{width:30px}.contact-widget__launcher-label{display:none}.contact-widget__panel{width:min(350px,calc(100vw - 30px))}}
@media(prefers-reduced-motion:reduce){.contact-widget__panel{animation:none}.contact-widget__launcher{transition:none}}

/* V19.4: inquiry form */
.contact-widget__inquiry-launcher{font-family:inherit;cursor:pointer}
.contact-widget__icon--inquiry{color:#364b8f;background:#eaf0ff}
.contact-widget__inquiry-form[hidden]{display:none!important}
.contact-widget__inquiry-form{padding:13px 18px 18px;border-top:1px solid #e7edf2;display:grid;gap:9px;max-height:330px;overflow-y:auto}
.contact-widget__inquiry-form label{display:block;font-size:11px;font-weight:700;color:#304253}
.contact-widget__inquiry-form input:not([type=checkbox]),.contact-widget__inquiry-form textarea{display:block;width:100%;margin-top:4px;border:1px solid #cfd9e2;border-radius:8px;font:inherit;font-size:12px;padding:9px;resize:vertical;background:#fff;color:#102b43}
.contact-widget__inquiry-form .contact-widget__consent{display:flex;align-items:flex-start;gap:8px;line-height:1.4;font-size:10px}
.contact-widget__consent input{margin-top:2px}
.contact-widget__inquiry-form .contact-widget__honeypot{position:absolute!important;left:-9999px;opacity:0;height:0}
.contact-widget__send{background:#102b43;color:white;border:0;border-radius:9px;font-weight:800;min-height:40px;cursor:pointer}
.contact-widget__send:disabled{cursor:default;opacity:.8}
.contact-widget__form-status{font-size:11px;margin:0;line-height:1.5}
.contact-widget__form-status[data-state=error]{color:#aa2929}
.contact-widget__form-status[data-state=success]{color:#176b42}
.contact-widget__form-hint{font-size:10px;color:#647483;line-height:1.4}
