/* OptiVision RX v2.1 — Scoped to .ovrx-configurator only. No global styles. */
@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=JetBrains+Mono:wght@400;500&display=swap');
.ovrx-configurator{font-family:'DM Sans',-apple-system,sans-serif;color:#1e293b;max-width:960px;margin:0 auto;padding:24px 16px;-webkit-font-smoothing:antialiased}
.ovrx-configurator *{box-sizing:border-box}
.ovrx-progress{margin-bottom:32px}
.ovrx-progress-track{height:4px;background:#e2e8f0;border-radius:4px;overflow:hidden;margin-bottom:16px}
.ovrx-progress-fill{height:100%;width:16.66%;background:linear-gradient(90deg,#0a6abf,#00c896);border-radius:4px;transition:width .5s}
.ovrx-steps-indicator{display:flex;justify-content:space-between}
.ovrx-step-dot{display:flex;flex-direction:column;align-items:center;gap:4px;opacity:.35;transition:.3s}
.ovrx-step-dot.active,.ovrx-step-dot.completed{opacity:1}
.ovrx-step-num{width:28px;height:28px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:600;background:#e2e8f0;color:#64748b;transition:.3s}
.ovrx-step-dot.active .ovrx-step-num{background:#0a6abf;color:#fff;box-shadow:0 0 0 4px #e8f4fd}
.ovrx-step-dot.completed .ovrx-step-num{background:#00c896;color:#fff}
.ovrx-step-label{font-size:11px;font-weight:500;color:#64748b}
.ovrx-step-dot.active .ovrx-step-label{color:#0a6abf;font-weight:600}
.ovrx-panel{animation:ovrxSlide .4s cubic-bezier(.16,1,.3,1)}
@keyframes ovrxSlide{from{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}
.ovrx-panel-header{text-align:center;margin-bottom:28px}
.ovrx-panel-header h2{font-size:26px;font-weight:700;margin:0 0 6px;letter-spacing:-.02em}
.ovrx-panel-header p{font-size:15px;color:#64748b;margin:0}
.ovrx-type-cards{display:grid;grid-template-columns:1fr 1fr;gap:20px}
.ovrx-type-card{background:#fff;border:2px solid #e2e8f0;border-radius:12px;padding:32px 24px;text-align:center;cursor:pointer;transition:.25s;position:relative;overflow:hidden}
.ovrx-type-card::before{content:'';position:absolute;top:0;left:0;right:0;height:3px;background:linear-gradient(90deg,#0a6abf,#00c896);transform:scaleX(0);transition:.3s}
.ovrx-type-card:hover{border-color:#0a6abf;box-shadow:0 10px 25px -5px rgba(0,0,0,.08);transform:translateY(-2px)}
.ovrx-type-card:hover::before,.ovrx-type-card.selected::before{transform:scaleX(1)}
.ovrx-type-card.selected{border-color:#0a6abf;background:#e8f4fd;box-shadow:0 0 0 3px rgba(10,106,191,.15)}
.ovrx-type-icon{color:#0a6abf;margin-bottom:16px}
.ovrx-type-card h3{font-size:20px;font-weight:700;margin:0 0 8px}
.ovrx-type-card>p{font-size:14px;color:#64748b;margin:0 0 16px}
.ovrx-type-features{list-style:none;padding:0;margin:0;text-align:left}
.ovrx-type-features li{font-size:13px;color:#64748b;padding:4px 0 4px 20px;position:relative}
.ovrx-type-features li::before{content:'✓';position:absolute;left:0;color:#00c896;font-weight:700}
.ovrx-rx-table{background:#fff;border:1px solid #e2e8f0;border-radius:12px;overflow:hidden;box-shadow:0 1px 4px rgba(0,0,0,.04)}
.ovrx-rx-row{display:grid;grid-template-columns:120px repeat(5,1fr);gap:0;border-bottom:1px solid #e2e8f0;align-items:center}
.ovrx-rx-row:last-child{border-bottom:none}
.ovrx-rx-head{background:#f1f5f9}
.ovrx-rx-head .ovrx-rx-cell{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:#64748b;padding:10px 8px}
.ovrx-rx-cell{padding:8px}
.ovrx-rx-eye{font-size:13px;font-weight:600;padding-left:12px!important;display:flex;align-items:center;gap:6px}
.ovrx-eye-badge{display:inline-flex;align-items:center;justify-content:center;width:26px;height:26px;border-radius:50%;font-size:10px;font-weight:700;flex-shrink:0}
.ovrx-eye-r{background:#dbeafe;color:#1d4ed8}
.ovrx-eye-l{background:#fce7f3;color:#be185d}
.ovrx-select,.ovrx-input{font-family:'DM Sans',sans-serif;font-size:13px;font-weight:500;width:100%;padding:7px 8px;border:1.5px solid #e2e8f0;border-radius:6px;background:#fff;color:#1e293b;outline:none;appearance:none;background-image:url("data:image/svg+xml,%3Csvg width='10' height='6' viewBox='0 0 10 6' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M1 1L5 5L9 1' stroke='%2364748b' stroke-width='1.5' stroke-linecap='round'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 8px center;padding-right:24px;transition:.25s}
.ovrx-input{background-image:none;padding-right:8px}
.ovrx-select:focus,.ovrx-input:focus{border-color:#0a6abf;box-shadow:0 0 0 3px rgba(10,106,191,.1)}
.ovrx-field-row{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.ovrx-field label{display:block;font-size:12px;font-weight:600;color:#64748b;margin-bottom:4px;text-transform:uppercase;letter-spacing:.03em}
.ovrx-option-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:14px}
.ovrx-option-card{background:#fff;border:2px solid #e2e8f0;border-radius:12px;padding:20px;cursor:pointer;transition:.25s;position:relative;text-align:center}
.ovrx-option-card:hover{border-color:#0a6abf;box-shadow:0 4px 12px rgba(0,0,0,.07)}
.ovrx-option-card.selected{border-color:#0a6abf;background:#e8f4fd;box-shadow:0 0 0 3px rgba(10,106,191,.12)}
.ovrx-option-card.recommended{border-color:#00c896}
.ovrx-option-card.recommended::after{content:'★ Recommended';position:absolute;top:-1px;right:12px;background:#00c896;color:#fff;font-size:10px;font-weight:700;padding:3px 10px;border-radius:0 0 6px 6px;text-transform:uppercase}
.ovrx-option-check{position:absolute;top:12px;right:12px;width:22px;height:22px;border-radius:50%;border:2px solid #e2e8f0;display:flex;align-items:center;justify-content:center;transition:.25s}
.ovrx-option-card.selected .ovrx-option-check{background:#0a6abf;border-color:#0a6abf}
.ovrx-option-card.selected .ovrx-option-check::after{content:'✓';color:#fff;font-size:12px;font-weight:700}
.ovrx-card-img{width:100%;height:100px;border-radius:8px;overflow:hidden;margin-bottom:12px;background:#f8fafc;display:flex;align-items:center;justify-content:center}
.ovrx-card-img img{width:100%;height:100%;object-fit:contain;padding:8px;transition:transform .3s}
.ovrx-option-card:hover .ovrx-card-img img{transform:scale(1.05)}
.ovrx-card-icon{width:52px;height:52px;margin:0 auto 12px;color:#0a6abf;opacity:.7;transition:.25s}
.ovrx-option-card:hover .ovrx-card-icon{opacity:1;transform:scale(1.1)}
.ovrx-option-card.selected .ovrx-card-icon{opacity:1}
.ovrx-card-icon svg{width:100%;height:100%}
.ovrx-option-name{font-size:16px;font-weight:700;margin:0 0 4px}
.ovrx-option-desc{font-size:12px;color:#64748b;margin:0 0 12px;line-height:1.45}
.ovrx-option-price{font-family:'JetBrains Mono',monospace;font-size:18px;font-weight:700;color:#0a6abf;margin:0}
.ovrx-option-price.free{color:#00c896}
.ovrx-coatings-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(185px,1fr));gap:12px;margin-bottom:24px}
.ovrx-coating-card{background:#fff;border:2px solid #e2e8f0;border-radius:8px;padding:16px;cursor:pointer;transition:.25s;position:relative}
.ovrx-coating-card:hover{border-color:#0a6abf}
.ovrx-coating-card.selected{border-color:#00c896;background:#e6faf4}
.ovrx-coating-check{position:absolute;top:10px;right:10px;width:20px;height:20px;border-radius:4px;border:2px solid #e2e8f0;display:flex;align-items:center;justify-content:center;transition:.25s}
.ovrx-coating-card.selected .ovrx-coating-check{background:#00c896;border-color:#00c896}
.ovrx-coating-card.selected .ovrx-coating-check::after{content:'✓';color:#fff;font-size:11px;font-weight:700}
.ovrx-coat-img{width:40px;height:40px;border-radius:8px;overflow:hidden;margin-bottom:8px;background:#f8fafc;display:flex;align-items:center;justify-content:center}
.ovrx-coat-img img{width:100%;height:100%;object-fit:contain;padding:4px}
.ovrx-coat-icon{width:32px;height:32px;margin-bottom:8px;color:#0a6abf;opacity:.55;transition:.25s}
.ovrx-coating-card:hover .ovrx-coat-icon{opacity:.85}
.ovrx-coating-card.selected .ovrx-coat-icon{opacity:1;color:#00c896}
.ovrx-coat-icon svg{width:100%;height:100%}
.ovrx-coating-name{font-size:14px;font-weight:600;margin:0 0 3px;padding-right:28px}
.ovrx-coating-desc{font-size:11px;color:#64748b;margin:0 0 8px;line-height:1.4}
.ovrx-coating-price{font-family:'JetBrains Mono',monospace;font-size:14px;font-weight:600;color:#0a6abf}
.ovrx-ai-badge{display:inline-flex;align-items:center;gap:6px;background:linear-gradient(135deg,#fef3c7,#fde68a);border:1px solid #f59e0b;color:#92400e;font-size:12px;font-weight:600;padding:6px 14px;border-radius:20px;margin-top:10px}
.ovrx-tint-option{display:flex;flex-direction:column;align-items:center;gap:6px;cursor:pointer;font-size:11px;font-weight:500;color:#64748b;padding:10px 14px;border:2px solid #e2e8f0;border-radius:8px;transition:.25s;min-width:85px}
.ovrx-tint-option:has(input:checked){border-color:#0a6abf;background:#e8f4fd}
.ovrx-tint-option input{display:none}
.ovrx-tint-swatch{width:36px;height:36px;border-radius:50%;border:1px solid rgba(0,0,0,.1)}
.ovrx-summary-layout{display:grid;grid-template-columns:1fr 320px;gap:20px;align-items:start}
.ovrx-summary-card{background:#fff;border:1px solid #e2e8f0;border-radius:12px;overflow:hidden}
.ovrx-summary-section{padding:20px;border-bottom:1px solid #e2e8f0}
.ovrx-summary-section:last-child{border-bottom:none}
.ovrx-summary-section h3{font-size:14px;font-weight:700;margin:0 0 12px;text-transform:uppercase}
.ovrx-summary-rx-table{width:100%;font-size:13px;border-collapse:collapse}
.ovrx-summary-rx-table th,.ovrx-summary-rx-table td{padding:6px 8px;text-align:center;border:1px solid #e2e8f0}
.ovrx-summary-rx-table th{background:#f8fafc;font-size:11px;font-weight:700;color:#64748b;text-transform:uppercase}
.ovrx-summary-rx-table td{font-family:'JetBrains Mono',monospace;font-size:13px}
.ovrx-summary-item{display:flex;justify-content:space-between;padding:8px 0;font-size:13px;border-bottom:1px solid #f1f5f9}
.ovrx-summary-item:last-child{border-bottom:none}
.ovrx-summary-price-card{background:#fff;border:1px solid #e2e8f0;border-radius:12px;padding:24px;position:sticky;top:20px}
.ovrx-price-line{display:flex;justify-content:space-between;padding:6px 0;font-size:13px;color:#64748b}
.ovrx-price-line span:last-child{font-family:'JetBrains Mono',monospace;font-weight:500;color:#1e293b}
.ovrx-price-total{border-top:2px solid #1e293b;padding-top:12px;margin:12px 0 20px;display:flex;justify-content:space-between;align-items:center}
.ovrx-btn{font-family:'DM Sans',sans-serif;display:inline-flex;align-items:center;gap:8px;padding:12px 24px;border:none;border-radius:8px;font-size:14px;font-weight:600;cursor:pointer;transition:.25s}
.ovrx-btn-next{background:#0a6abf;color:#fff}
.ovrx-btn-next:hover{background:#064a87}
.ovrx-btn-back{background:#f8fafc;color:#64748b;border:1px solid #e2e8f0}
.ovrx-btn-back:hover{background:#fff}
.ovrx-btn-confirm{width:100%;justify-content:center;background:linear-gradient(135deg,#0a6abf,#1e88e5);color:#fff;font-size:16px;padding:14px 28px}
.ovrx-btn-confirm:hover{box-shadow:0 10px 25px -5px rgba(0,0,0,.12);transform:translateY(-1px)}
.ovrx-btn-primary{background:#0a6abf;color:#fff}
.ovrx-btn-outline{background:transparent;color:#0a6abf;border:1.5px solid #0a6abf}
.ovrx-floating-bar{position:relative;background:#fff;border:1px solid #e2e8f0;border-radius:12px;box-shadow:0 2px 8px rgba(0,0,0,.04);padding:16px 20px;display:flex;justify-content:space-between;align-items:center;margin-top:24px;gap:16px;flex-wrap:wrap}
.ovrx-floating-left{display:flex;align-items:center;gap:12px}
.ovrx-floating-label{font-size:12px;color:#94a3b8;text-transform:uppercase;font-weight:600}
.ovrx-floating-price{font-family:'JetBrains Mono',monospace;font-size:22px;font-weight:700;color:#0a6abf}
.ovrx-floating-right{display:flex;gap:10px}
.ovrx-modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:rgba(0,0,0,.5);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:10000}
.ovrx-modal{background:#fff;border-radius:16px;padding:40px;max-width:440px;width:90%;text-align:center;box-shadow:0 20px 60px rgba(0,0,0,.15);animation:ovrxScale .3s cubic-bezier(.16,1,.3,1)}
@keyframes ovrxScale{from{opacity:0;transform:scale(.9)}to{opacity:1;transform:scale(1)}}
.ovrx-modal h2{font-size:22px;margin:0 0 8px}
.ovrx-modal p{font-size:14px;color:#64748b;margin:0 0 16px}
@media(max-width:768px){.ovrx-type-cards{grid-template-columns:1fr}.ovrx-rx-row{grid-template-columns:80px repeat(5,1fr);font-size:12px}.ovrx-field-row{grid-template-columns:1fr}.ovrx-summary-layout{grid-template-columns:1fr}.ovrx-option-grid,.ovrx-coatings-grid{grid-template-columns:1fr 1fr}}
@media(max-width:480px){.ovrx-option-grid,.ovrx-coatings-grid{grid-template-columns:1fr}}

/* ─── WooCommerce Button & Popup Modal ──────────────────── */
.ovrx-wc-button-wrap{margin:12px 0;font-family:'DM Sans',-apple-system,sans-serif}
.ovrx-wc-button{display:flex;align-items:center;gap:14px;width:100%;background:linear-gradient(135deg,#fff 0%,#f0f7ff 100%);border:2px dashed #0a6abf;border-radius:12px;padding:14px 18px;cursor:pointer;transition:.25s;font-family:inherit;text-align:left}
.ovrx-wc-button:hover{background:linear-gradient(135deg,#e8f4fd 0%,#dbeafe 100%);border-style:solid;box-shadow:0 4px 12px rgba(10,106,191,.12);transform:translateY(-1px)}
.ovrx-wc-button.ovrx-wc-completed{background:linear-gradient(135deg,#ecfdf5 0%,#d1fae5 100%);border:2px solid #00c896;border-style:solid}
.ovrx-wc-icon{width:42px;height:42px;border-radius:10px;background:#0a6abf;color:#fff;display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:.25s}
.ovrx-wc-button.ovrx-wc-completed .ovrx-wc-icon{background:#00c896}
.ovrx-wc-text{flex:1;display:flex;flex-direction:column;gap:2px}
.ovrx-wc-text strong{font-size:15px;font-weight:700;color:#0a6abf;line-height:1.2}
.ovrx-wc-button.ovrx-wc-completed .ovrx-wc-text strong{color:#15803d}
.ovrx-wc-text small{font-size:12px;color:#64748b;font-weight:500}
.ovrx-wc-chevron{font-size:24px;color:#0a6abf;font-weight:700;line-height:1;transition:transform .25s}
.ovrx-wc-button:hover .ovrx-wc-chevron{transform:translateX(4px)}
.ovrx-wc-button.ovrx-wc-completed .ovrx-wc-chevron{color:#00c896}

/* Popup Modal */
.ovrx-popup-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:rgba(15,23,42,.6);backdrop-filter:blur(6px);z-index:99998;display:flex;align-items:flex-start;justify-content:center;padding:20px;overflow-y:auto;animation:ovrxFade .2s ease}
@keyframes ovrxFade{from{opacity:0}to{opacity:1}}
.ovrx-popup{background:#fff;border-radius:16px;width:100%;max-width:1000px;margin:auto;position:relative;box-shadow:0 25px 70px rgba(0,0,0,.2);animation:ovrxPopIn .35s cubic-bezier(.16,1,.3,1);max-height:calc(100vh - 40px);overflow-y:auto}
@keyframes ovrxPopIn{from{opacity:0;transform:scale(.95) translateY(20px)}to{opacity:1;transform:scale(1) translateY(0)}}
.ovrx-popup-close{position:absolute;top:16px;right:16px;width:36px;height:36px;border-radius:50%;background:#f1f5f9;border:none;font-size:24px;font-weight:300;line-height:1;cursor:pointer;color:#64748b;display:flex;align-items:center;justify-content:center;z-index:10;transition:.2s}
.ovrx-popup-close:hover{background:#e2e8f0;color:#dc2626;transform:rotate(90deg)}
.ovrx-popup .ovrx-configurator{max-width:none;padding:32px 24px}

@media(max-width:768px){.ovrx-popup{border-radius:12px}.ovrx-popup .ovrx-configurator{padding:20px 16px}}
