/* ── CONSULTATION MODAL ── */
.oo-consult-modal{position:fixed;inset:0;z-index:10001;display:none;align-items:center;justify-content:center;padding:16px}
.oo-consult-modal.is-open{display:flex}
.oo-consult-backdrop{position:absolute;inset:0;background:rgba(26,26,46,.65);backdrop-filter:blur(4px)}
.oo-consult-box{position:relative;background:#fff;border-radius:12px;max-width:480px;width:100%;max-height:90vh;overflow-y:auto;box-shadow:0 24px 80px rgba(0,0,50,.25);animation:ooConsultIn .25s ease}
@keyframes ooConsultIn{from{opacity:0;transform:translateY(16px) scale(.97)}to{opacity:1;transform:translateY(0) scale(1)}}
.oo-consult-x{position:absolute;top:12px;right:16px;background:none;border:none;font-size:28px;color:#999;cursor:pointer;line-height:1;padding:4px;z-index:1}
.oo-consult-x:hover{color:#333}

/* Header */
.oo-consult-header{text-align:center;padding:32px 32px 0}
.oo-consult-icon{font-size:40px;display:block;margin-bottom:8px}
.oo-consult-header h3{font-size:22px;font-weight:600;color:#333333;margin-bottom:6px}
.oo-consult-header p{font-size:14px;color:#777;margin:0}

/* Form */
.oo-consult-form-wrap{padding:0 32px 32px}
#oo-consult-form{margin-top:24px}
#oo-consult-form label{display:block;font-size:13.5px;font-weight:600;color:#444;margin-bottom:16px}
#oo-consult-form input,#oo-consult-form select{display:block;width:100%;margin-top:6px;padding:11px 14px;border:1px solid #ddd;border-radius:6px;font-size:14px;font-family:'Open Sans',sans-serif;color:#333;transition:border-color .15s;background:#fff;appearance:none;-webkit-appearance:none}
#oo-consult-form select{background:#fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='7'%3E%3Cpath d='M1 1l5 5 5-5' stroke='%23999' stroke-width='1.5' fill='none'/%3E%3C/svg%3E") right 14px center no-repeat;padding-right:36px}
#oo-consult-form input:focus,#oo-consult-form select:focus{outline:none;border-color:#FF6F3D;box-shadow:0 0 0 3px rgba(255,111,61,.12)}
#oo-consult-form input::placeholder{color:#bbb}
.oo-consult-hp{position:absolute;left:-9999px;height:0;width:0;overflow:hidden}
.oo-req{color:#FF6F3D}

/* Error */
.oo-consult-err{background:#FFF0F0;color:#d32f2f;border:1px solid #fdd;border-radius:6px;padding:10px 14px;font-size:13.5px;margin-bottom:12px}

/* Submit */
.oo-consult-submit{width:100%;justify-content:center;font-size:15px;padding:14px 28px;margin-top:4px}
.oo-consult-submit:disabled{opacity:.6;cursor:not-allowed}

/* Privacy */
.oo-consult-privacy{font-size:12px;color:#999;text-align:center;margin-top:12px;line-height:1.5}

/* Done state */
.oo-consult-done{text-align:center;padding:48px 32px}
.oo-consult-done-icon{width:64px;height:64px;border-radius:50%;background:#E8F5E9;color:#43A047;font-size:32px;display:flex;align-items:center;justify-content:center;margin:0 auto 16px;font-weight:700}
.oo-consult-done h3{font-size:22px;font-weight:600;color:#333333;margin-bottom:8px}
.oo-consult-done p{font-size:15px;color:#666;margin-bottom:24px}

/* Searchable select */
.oo-searchable-select{position:relative;margin-top:6px}
.oo-ss-input{display:block;width:100%;padding:11px 36px 11px 14px;border:1px solid #ddd;border-radius:6px;font-size:14px;font-family:'Open Sans',sans-serif;color:#333;background:#fff;cursor:pointer;transition:border-color .15s}
.oo-ss-input:focus{outline:none;border-color:#FF6F3D;box-shadow:0 0 0 3px rgba(255,111,61,.12)}
.oo-ss-input::placeholder{color:#bbb}
.oo-ss-arrow{position:absolute;right:14px;top:50%;transform:translateY(-50%);font-size:12px;color:#999;pointer-events:none;transition:transform .2s}
.oo-searchable-select.is-open .oo-ss-arrow{transform:translateY(-50%) rotate(180deg)}
.oo-ss-list{display:none;position:absolute;top:calc(100% + 4px);left:0;right:0;background:#fff;border:1px solid #ddd;border-radius:6px;max-height:220px;overflow-y:auto;z-index:10;box-shadow:0 8px 24px rgba(0,0,0,.12);list-style:none;margin:0;padding:4px 0}
.oo-searchable-select.is-open .oo-ss-list{display:block}
.oo-ss-list li{padding:10px 14px;font-size:14px;color:#333;cursor:pointer;transition:background .1s}
.oo-ss-list li:hover,.oo-ss-list li.oo-ss-highlighted{background:#FFF5F0;color:#FF6F3D}
.oo-ss-list li.oo-ss-hidden{display:none}
.oo-ss-list li.oo-ss-selected{font-weight:600;color:#FF6F3D}
.oo-ss-no-match{padding:10px 14px;font-size:13px;color:#999;text-align:center}

/* Responsive */
@media(max-width:480px){
  .oo-consult-box{max-width:100%;border-radius:8px}
  .oo-consult-form-wrap,.oo-consult-done{padding-left:20px;padding-right:20px}
  .oo-consult-header{padding-left:20px;padding-right:20px}
}
