/* Online Ruler Widget styles - all rules scoped under .orw-app to avoid
   leaking into / colliding with the rest of the theme or other plugins. */

.orw-app{font-family:Tahoma,Arial,sans-serif;background:#fff;border-radius:10px;padding:20px;box-shadow:0 2px 10px rgba(0,0,0,0.08);box-sizing:border-box;max-width:1200px;margin:0 auto}
.orw-app *{box-sizing:border-box}

/* ---------- Calibrate entry point ---------- */
.orw-calib-cta{display:flex;align-items:center;justify-content:space-between;gap:14px;flex-wrap:wrap;padding:14px 16px;border-radius:10px;border:1px solid #fca5a5;background:#fef2f2;margin-bottom:1rem}
.orw-calib-cta-text{font-size:13px;color:#b91c1c;line-height:1.5;display:flex;flex-direction:column;gap:2px}
.orw-calib-cta-text strong{color:#991b1b;font-size:14px}
.orw-calibrate-btn{flex-shrink:0;padding:10px 20px;border-radius:8px;border:none;background:#1d4ed8;color:#fff;font-size:13px;font-weight:700;cursor:pointer;font-family:inherit;white-space:nowrap}
.orw-calibrate-btn:hover{background:#1e40af}
.orw-app.orw-not-calibrated .orw-calibrate-btn{animation:orw-pulse 1.8s ease-in-out infinite}
@keyframes orw-pulse{0%,100%{box-shadow:0 0 0 0 rgba(29,78,216,0.45)}50%{box-shadow:0 0 0 8px rgba(29,78,216,0)}}
.orw-calib-cta.orw-calibrated{border-color:#86efac;background:#f0fdf4}
.orw-calib-cta.orw-calibrated .orw-calib-cta-text{color:#166534}
.orw-calib-cta.orw-calibrated .orw-calib-cta-text strong{color:#166534}
.orw-calib-cta.orw-calibrated .orw-calibrate-btn{background:#fff;color:#16a34a;border:1px solid #86efac}
.orw-calib-cta.orw-calibrated .orw-calibrate-btn:hover{background:#dcfce7}

/* ---------- Modal ---------- */
.orw-calib-overlay{display:none;position:fixed;inset:0;background:rgba(17,24,39,0.55);z-index:99998;align-items:flex-start;justify-content:center;padding:40px 16px;overflow-y:auto}
.orw-calib-overlay.orw-show{display:flex}
.orw-calib-modal{background:#fff;border-radius:18px;max-width:540px;width:100%;padding:22px;box-shadow:0 20px 60px rgba(0,0,0,0.25);font-family:inherit}
.orw-calib-modal-header{display:flex;align-items:center;justify-content:space-between;padding-bottom:14px;margin-bottom:14px;border-bottom:1px solid #eee}
.orw-calib-modal-header h2{font-size:22px;font-weight:800;color:#111;margin:0}
.orw-calib-close{background:none;border:none;font-size:22px;line-height:1;color:#888;cursor:pointer;padding:4px 8px;border-radius:6px}
.orw-calib-close:hover{background:#f3f4f6;color:#111}

.orw-calib-item{border:1px solid #e5e7eb;border-radius:12px;margin-bottom:10px;overflow:hidden}
.orw-calib-item:last-child{margin-bottom:0}
.orw-calib-item-header{display:flex;align-items:center;justify-content:space-between;padding:14px 16px;cursor:pointer;background:#fff;transition:background .15s}
.orw-calib-item.orw-active .orw-calib-item-header{background:#f3f4f6}
.orw-calib-item-left{display:flex;align-items:center;gap:14px}
.orw-calib-badge{font-family:'Courier New',monospace;font-size:12px;font-weight:700;color:#1d4ed8;background:#dbeafe;padding:3px 8px;border-radius:6px;flex-shrink:0}
.orw-calib-item-title{font-size:15px;font-weight:600;color:#111}
.orw-calib-item-sub{font-size:11px;color:#9ca3af;margin-top:1px}
.orw-calib-chevron{color:#9ca3af;transition:transform .2s;flex-shrink:0;font-size:14px}
.orw-calib-item.orw-active .orw-calib-chevron{transform:rotate(180deg)}
.orw-calib-item-body{max-height:0;overflow:hidden;transition:max-height .25s ease}
.orw-calib-item.orw-active .orw-calib-item-body{max-height:850px}
.orw-calib-item-body-inner{padding:0 16px 16px 16px}

.orw-calib-item label{font-size:13px;color:#555;display:block;margin-bottom:6px}
.orw-calib-item select{width:100%;padding:7px 10px;border-radius:7px;border:1px solid #ccc;background:#fff;color:#111;font-size:13px;margin-bottom:10px;font-family:inherit}
.orw-manual-row{display:flex;gap:8px;align-items:center}
.orw-manual-row input{flex:1;padding:7px 10px;border-radius:7px;border:1px solid #ccc;background:#fff;color:#111;font-size:13px;font-family:inherit}
.orw-manual-row span{font-size:13px;color:#555;white-space:nowrap}
.orw-apply-btn{margin-top:10px;padding:8px 20px;border-radius:7px;border:1px solid #93c5fd;background:#dbeafe;color:#1d4ed8;font-size:13px;cursor:pointer;font-weight:600;font-family:inherit;width:100%}
.orw-apply-btn:hover{background:#bfdbfe}
.orw-apply-btn.orw-confirm-calib{border-color:#86efac;background:#16a34a;color:#fff}
.orw-apply-btn.orw-confirm-calib:hover{background:#15803d}
.orw-card-controls{display:flex;align-items:center;gap:10px;margin-top:8px;flex-wrap:wrap}
.orw-card-btn{padding:5px 14px;font-size:18px;border-radius:7px;border:1px solid #93c5fd;background:#dbeafe;color:#1d4ed8;cursor:pointer;line-height:1}
.orw-card-btn:hover{background:#bfdbfe}
.orw-app input[type=range]{flex:1;min-width:0;accent-color:#1d4ed8}
.orw-card-calib-row{display:flex;gap:14px;align-items:flex-start;margin-top:10px}
.orw-card-controls-side{display:flex;flex-direction:column;gap:10px;flex:1;min-width:130px;padding-top:6px}
.orw-card-stepper{display:flex;align-items:center;justify-content:space-between;gap:8px}
.orw-card-ruler-wrap{display:flex;flex-direction:column;align-items:flex-start;flex-shrink:0}
.orw-card-ruler-canvas{width:90px;height:700px;border-radius:7px;border:1px solid #e5e7eb;background:#F4E37A;margin-top:0;cursor:default}

.orw-howto-btn{padding:5px 12px;border-radius:7px;border:1px solid #93c5fd;background:#eff6ff;color:#1d4ed8;font-size:12px;cursor:pointer;font-weight:500;white-space:nowrap;font-family:inherit}
.orw-howto-btn:hover{background:#dbeafe}

.orw-ai-search-row{display:flex;gap:8px}
.orw-ai-search-row input{flex:1;padding:8px 12px;border-radius:7px;border:1px solid #a855f7;background:#fff;color:#111;font-size:13px;font-family:inherit}
.orw-ai-search-row input:focus{outline:none;border-color:#7c3aed;box-shadow:0 0 0 3px rgba(124,58,237,0.1)}
.orw-ai-btn{padding:8px 16px;border-radius:7px;border:none;background:#7c3aed;color:#fff;font-size:13px;cursor:pointer;font-weight:500;white-space:nowrap;transition:background .15s;font-family:inherit}
.orw-ai-btn:hover{background:#6d28d9}
.orw-ai-btn:disabled{background:#c4b5fd;cursor:not-allowed}
.orw-ai-result{margin-top:12px;padding:12px 14px;border-radius:7px;border:1px solid #a855f7;background:#f5f3ff;font-size:13px;display:none}
.orw-ai-result.orw-show{display:block}
.orw-ai-result .orw-ai-inch{font-size:22px;font-weight:700;color:#6d28d9;margin:4px 0}
.orw-ai-result .orw-ai-device{color:#7c3aed;font-size:13px;margin-bottom:8px}
.orw-ai-inch-label{font-size:12px;color:#7c3aed;margin-bottom:10px}
.orw-ai-apply{padding:8px 16px;border-radius:7px;border:none;background:#7c3aed;color:#fff;font-size:13px;cursor:pointer;font-weight:600;font-family:inherit;width:100%}
.orw-ai-apply:hover{background:#6d28d9}
.orw-ai-error{margin-top:10px;padding:10px 14px;border-radius:7px;border:1px solid #fca5a5;background:#fef2f2;color:#dc2626;font-size:13px;display:none}
.orw-ai-error.orw-show{display:block}
.orw-spinner{display:inline-block;width:14px;height:14px;border:2px solid rgba(255,255,255,0.4);border-top-color:#fff;border-radius:50%;animation:orw-spin .7s linear infinite;vertical-align:middle;margin-left:6px}
@keyframes orw-spin{to{transform:rotate(360deg)}}
.orw-ai-note{font-size:11px;color:#9ca3af;margin-top:8px;line-height:1.5;margin-bottom:8px}
.orw-hint{font-size:12px;color:#9ca3af;margin-top:6px}

/* ---------- Calibration lock ---------- */
.orw-ruler-wrap{position:relative}
.orw-lock-overlay{display:none;position:absolute;inset:0;z-index:5;align-items:center;justify-content:center;flex-direction:column;gap:8px;background:rgba(255,255,255,0.55);border-radius:7px;cursor:pointer;text-align:center;padding:12px}
.orw-lock-icon{font-size:22px;line-height:1;filter:grayscale(1) opacity(.7)}
.orw-lock-text{font-size:12px;font-weight:600;color:#374151;max-width:220px;line-height:1.4}
.orw-app.orw-not-calibrated .orw-lock-overlay{display:flex}
.orw-app.orw-not-calibrated .orw-ruler-h,
.orw-app.orw-not-calibrated .orw-ruler-v{filter:blur(1.5px);opacity:.55;pointer-events:none}
.orw-app.orw-not-calibrated .orw-toolbar,
.orw-app.orw-not-calibrated .orw-action-row{opacity:.45;filter:blur(0.5px);pointer-events:none}

/* ---------- Ruler tool ---------- */
.orw-toolbar{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin-bottom:10px}
.orw-unit-btn,.orw-orient-btn{padding:5px 12px;border-radius:7px;border:1px solid #ccc;background:#f9f9f9;color:#555;font-size:13px;cursor:pointer;font-family:inherit}
.orw-orient-btn{display:inline-flex;align-items:center}
.orw-unit-btn.orw-active,.orw-orient-btn.orw-active{background:#dbeafe;color:#1d4ed8;border-color:#93c5fd}
.orw-unit-btns,.orw-orient-btns{display:flex;gap:4px;flex-wrap:wrap}
.orw-orient-icon{display:inline-flex;width:12px;height:12px;vertical-align:middle;margin-right:4px}
.orw-orient-icon.orw-h-icon{flex-direction:column;justify-content:center;gap:2px}
.orw-orient-icon.orw-h-icon span{display:block;width:100%;height:2px;background:currentColor;border-radius:1px}
.orw-orient-icon.orw-v-icon{flex-direction:row;justify-content:center;gap:2px}
.orw-orient-icon.orw-v-icon span{display:block;width:2px;height:100%;background:currentColor;border-radius:1px}
.orw-hint-text{font-size:12px;color:#9ca3af;margin-right:auto}
.orw-app canvas{cursor:crosshair;border-radius:7px;border:1px solid #e5e7eb;display:block;background:#F4E37A}
.orw-ruler-h{width:100%}
.orw-measure-info{margin-top:10px;padding:10px 14px;background:#f9f9f9;border-radius:7px;border:1px solid #e5e7eb;font-size:14px;color:#555;display:flex;gap:16px;flex-wrap:wrap}
.orw-measure-info strong{color:#111;font-weight:600}
.orw-action-row{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:16px}
.orw-reset-btn{margin:0;padding:8px 18px;border-radius:7px;border:1px solid #fca5a5;background:#fee2e2;color:#dc2626;font-size:13px;cursor:pointer;font-weight:700;font-family:inherit}
.orw-reset-btn:hover{background:#fecaca}
.orw-fs-btn{margin:0;padding:8px 18px;border-radius:7px;border:1px solid #93c5fd;background:#1d4ed8;color:#fff;font-size:13px;cursor:pointer;font-weight:600;font-family:inherit}
.orw-fs-btn:hover{background:#1e40af}

.orw-fs-overlay{display:none;position:fixed;inset:0;background:#fff;z-index:99999}
.orw-fs-overlay.orw-active{display:block}
.orw-fs-h{position:absolute;top:0;left:0;width:100%;height:70px;display:block;cursor:crosshair}
.orw-fs-v{position:absolute;top:70px;left:0;height:calc(100% - 70px);width:70px;display:block;cursor:crosshair}
.orw-fs-close{position:absolute;top:80px;right:10px;z-index:2;padding:7px 14px;border-radius:7px;border:1px solid #fca5a5;background:#dc2626;color:#fff;font-size:13px;cursor:pointer;font-family:inherit;box-shadow:0 2px 8px rgba(0,0,0,0.15)}
.orw-fs-close:hover{background:#b91c1c}
.orw-ruler-v{width:90px;height:95vh;max-height:1050px;min-height:300px}

/* ---------- RTL (Persian / Arabic / Hebrew / Urdu) ---------- */
.orw-app.orw-rtl{direction:rtl;text-align:right}
.orw-app.orw-rtl .orw-calib-cta-text{align-items:flex-end}
.orw-app.orw-rtl .orw-calib-item-left{flex-direction:row-reverse}
.orw-app.orw-rtl .orw-hint-text{margin-right:0;margin-left:auto}
.orw-app.orw-rtl .orw-fs-close{right:auto;left:10px}
.orw-app.orw-rtl .orw-fs-v{left:auto;right:0}
.orw-app.orw-rtl .orw-orient-icon{margin-right:0;margin-left:4px}
.orw-app.orw-rtl .orw-spinner{margin-left:0;margin-right:6px}
/* Numbers on the ruler and measurement values stay LTR so digits read correctly */
.orw-app.orw-rtl .orw-measure-info strong,
.orw-app.orw-rtl canvas{direction:ltr}
