.naili-contact-open { overflow: hidden; }
.naili-contact-overlay[hidden] { display: none !important; }
.naili-contact-overlay { position: fixed; inset: 0; z-index: 999999; display: flex; justify-content: flex-end; }
.naili-contact-backdrop { position: absolute; inset: 0; background: rgba(15, 23, 42, .56); backdrop-filter: blur(3px); }
.naili-contact-panel { position: relative; width: min(620px, 100%); height: 100%; overflow-y: auto; box-sizing: border-box; padding: 56px 38px 40px; background: #fff; box-shadow: -24px 0 60px rgba(15,23,42,.2); animation: naili-contact-in .22s ease-out; color: #0f172a; }
@keyframes naili-contact-in { from { transform: translateX(32px); opacity: .4; } to { transform: none; opacity: 1; } }
.naili-contact-panel h2 { margin: 0; font: 800 clamp(26px,4vw,36px)/1.15 "Noto Sans",system-ui,sans-serif; color: #0f172a; }
.naili-contact-intro { margin: 14px 0 28px; color: #64748b; font: 15px/1.7 "Noto Sans",system-ui,sans-serif; }
.naili-contact-close { position: absolute; top: 18px; right: 20px; display: grid; place-items: center; width: 40px; height: 40px; padding: 0; border: 1px solid #e2e8f0; border-radius: 10px; background: #fff; color: #475569; font: 300 30px/1 sans-serif; cursor: pointer; }
.naili-contact-close:hover { border-color: #1e5faa; color: #1e5faa; }
.naili-contact-form { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 18px; }
.naili-contact-field { display: grid; gap: 8px; color: #334155; font: 700 13px/1.3 "Noto Sans",system-ui,sans-serif; }
.naili-contact-field-wide, .naili-contact-status, .naili-contact-submit { grid-column: 1/-1; }
.naili-contact-field input, .naili-contact-field textarea { width: 100%; box-sizing: border-box; border: 1px solid #cbd5e1; border-radius: 10px; background: #fff; padding: 12px 14px; color: #0f172a; outline: none; font: 15px/1.5 "Noto Sans",system-ui,sans-serif; transition: border-color .15s,box-shadow .15s; }
.naili-contact-field input:focus, .naili-contact-field textarea:focus { border-color: #1e5faa; box-shadow: 0 0 0 3px rgba(30,95,170,.12); }
.naili-contact-field textarea { min-height: 128px; resize: vertical; }
.naili-contact-honeypot { position: absolute !important; left: -9999px !important; opacity: 0 !important; }
.naili-contact-submit { min-height: 50px; border: 0; border-radius: 10px; background: #1e5faa; color: #fff; font: 800 13px/1 "Noto Sans",system-ui,sans-serif; letter-spacing: .08em; cursor: pointer; }
.naili-contact-submit:hover { background: #164b88; }
.naili-contact-submit:disabled { opacity: .65; cursor: wait; }
.naili-contact-status { min-height: 0; border-radius: 9px; font: 600 14px/1.5 "Noto Sans",system-ui,sans-serif; }
.naili-contact-status.is-success, .naili-contact-status.is-error { padding: 11px 13px; }
.naili-contact-status.is-success { background: #ecfdf5; color: #065f46; }
.naili-contact-status.is-error { background: #fff1f2; color: #9f1239; }
@media (max-width: 640px) { .naili-contact-panel { padding: 56px 20px 28px; } .naili-contact-form { grid-template-columns: 1fr; } .naili-contact-field-wide,.naili-contact-status,.naili-contact-submit { grid-column: auto; } }
