.product-otp-picker { margin:0 0 18px; padding:16px; border:1px solid #e2e8f0; border-radius:12px; background:#f8fafc; color:#0f172a; }
.product-otp-picker[hidden] { display:none; }
.product-otp-heading { display:block; margin-bottom:10px; font-size:14px; font-weight:600; }
.product-otp-selection { display:flex; align-items:center; gap:12px; min-width:0; padding:12px; border:1px solid #e2e8f0; border-radius:8px; background:#fff; }
.product-otp-selection strong { min-width:0; flex:1; overflow-wrap:anywhere; font-size:14px; }
.product-otp-picker button { cursor:pointer; font:inherit; }
.product-otp-selection button { flex-shrink:0; border:1px solid #dbeafe; border-radius:8px; padding:8px 10px; background:#eff6ff; color:#2563eb; font-size:13px; }
.product-otp-picker button:disabled { opacity:.6; cursor:wait; }
.product-otp-picker [hidden] { display:none!important; }
.product-otp-message { margin:10px 0 0; font-size:12px; line-height:1.65; color:#64748b; }
.product-otp-dialog { box-sizing:border-box; width:min(480px,calc(100% - 32px)); max-width:none; max-height:80vh; max-height:80dvh; padding:0; margin:auto; border:1px solid #e2e8f0; border-radius:12px; background:#fff; color:#0f172a; }
.product-otp-dialog::backdrop { background:rgba(15,23,42,.4); }
.product-otp-dialog header { display:flex; align-items:center; gap:12px; padding:16px; border-bottom:1px solid #e2e8f0; }
.product-otp-dialog header h2 { flex:1; margin:0; font-size:17px; }
.product-otp-dialog [data-otp-close] { width:40px; height:40px; border:0; border-radius:8px; background:#f8fafc; color:#334155; }
.product-otp-dialog [data-otp-search] { display:block; box-sizing:border-box; width:calc(100% - 32px); margin:16px; padding:12px; border:1px solid #e2e8f0; border-radius:8px; font:inherit; }
.product-otp-options { display:grid; gap:6px; padding:0 16px 16px; max-height:50vh; max-height:50dvh; overflow:auto; }
.product-otp-option { width:100%; min-height:48px; padding:12px; border:1px solid #e2e8f0; border-radius:8px; background:#fff; color:#334155; text-align:left; overflow-wrap:anywhere; }
.product-otp-option:hover,.product-otp-option[aria-pressed=true] { background:#eff6ff; border-color:#2563eb; color:#2563eb; }
@media(max-width:600px){ .product-otp-selection { flex-wrap:wrap; } .product-otp-dialog { width:100%; margin:auto 0 0; max-height:85dvh; border-radius:12px 12px 0 0; } .product-otp-dialog [data-otp-search] { font-size:16px; } }
