/* Omega-3 Pro – Frontend CSS */
:root{
  --o3p-primary:#1a6b3c;
  --o3p-accent:#27ae60;
  --o3p-radius:14px;
  --o3p-shadow:0 4px 24px rgba(0,0,0,.09);
  --o3p-font:-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,sans-serif;
}
.o3p-wrap{font-family:var(--o3p-font);max-width:680px;margin:0 auto;padding:0 16px}
.o3p-card{background:#fff;border-radius:var(--o3p-radius);box-shadow:var(--o3p-shadow);overflow:hidden;margin-bottom:20px}
.o3p-header{background:linear-gradient(135deg,var(--o3p-primary),var(--o3p-accent));padding:28px 32px}
.o3p-header h2{color:#fff;margin:0 0 6px;font-size:22px;font-weight:700}
.o3p-header p{color:rgba(255,255,255,.85);margin:0;font-size:14px}
.o3p-body{padding:28px 32px}

/* Fields */
.o3p-fields{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-bottom:20px}
.o3p-field label{display:block;font-size:13px;font-weight:600;color:#444;margin-bottom:6px}
.o3p-optional{font-weight:400;color:#aaa}
.o3p-input{width:100%;padding:12px 14px;border:1.5px solid #e0e0e0;border-radius:8px;font-size:15px;box-sizing:border-box;transition:border-color .2s;font-family:var(--o3p-font)}
.o3p-input:focus{outline:none;border-color:var(--o3p-primary)}

/* Quiz */
.o3p-quiz-questions{display:flex;flex-direction:column;gap:20px;margin-bottom:24px}
.o3p-question{}
.o3p-question-text{font-size:15px;font-weight:600;color:#2c3e50;margin-bottom:10px;line-height:1.5}
.o3p-options{display:flex;flex-direction:column;gap:8px}
.o3p-option{display:flex;align-items:center;gap:10px;padding:11px 14px;border:1.5px solid #e8e8e8;border-radius:8px;cursor:pointer;transition:all .2s;font-size:14px;color:#444}
.o3p-option:hover{border-color:var(--o3p-primary);background:#f0faf4}
.o3p-option input[type=radio]{accent-color:var(--o3p-primary);width:16px;height:16px;flex-shrink:0}
.o3p-option.selected{border-color:var(--o3p-primary);background:#f0faf4;color:var(--o3p-primary);font-weight:600}

/* Buttons */
.o3p-btn{display:inline-block;padding:14px 28px;background:linear-gradient(135deg,var(--o3p-primary),var(--o3p-accent));color:#fff;border:none;border-radius:8px;font-size:16px;font-weight:700;cursor:pointer;width:100%;transition:opacity .2s;font-family:var(--o3p-font)}
.o3p-btn:hover{opacity:.9}
.o3p-btn:disabled{opacity:.6;cursor:default}
.o3p-btn-secondary{background:linear-gradient(135deg,#2c3e50,#3d5a6e)}

/* Error */
.o3p-error{background:#fde8e8;border:1px solid #f5c6cb;border-radius:8px;padding:10px 14px;color:#c0392b;font-size:14px;margin-top:12px}

/* Result */
.o3p-result-wrap{animation:o3p-fade .4s ease}
@keyframes o3p-fade{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}

.o3p-status{border-radius:var(--o3p-radius);padding:20px 24px;margin-bottom:16px;border-left:5px solid}
.o3p-status-title{font-size:18px;font-weight:700;margin-bottom:4px}
.o3p-status-sub{font-size:14px;opacity:.85}

.o3p-index-bar{margin:16px 0}
.o3p-bar-bg{background:#e0e0e0;height:10px;border-radius:5px;position:relative;overflow:hidden}
.o3p-bar-fill{height:10px;border-radius:5px;transition:width .8s ease}
.o3p-bar-labels{display:flex;justify-content:space-between;font-size:12px;color:#888;margin-top:4px}

.o3p-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:16px 0}
.o3p-stat{background:#f8faf8;border-radius:10px;padding:14px 16px;text-align:center}
.o3p-stat-val{font-size:22px;font-weight:800;color:var(--o3p-primary)}
.o3p-stat-unit{font-size:11px;color:#888;margin-top:2px}
.o3p-stat-label{font-size:12px;color:#666;margin-top:4px}

.o3p-recs{margin:16px 0}
.o3p-recs h4{font-size:14px;font-weight:700;color:var(--o3p-primary);margin:0 0 10px}
.o3p-rec{display:flex;align-items:flex-start;gap:8px;padding:8px 0;border-bottom:1px solid #f0f0f0;font-size:13px;color:#444}
.o3p-rec:last-child{border-bottom:none}

/* Opt-in */
.o3p-optin-card{background:#fff;border:2px solid #e8f4f0;border-radius:var(--o3p-radius);padding:24px 28px;box-shadow:var(--o3p-shadow)}
.o3p-optin-card h3{margin:0 0 6px;font-size:18px;color:#2c3e50}
.o3p-optin-card p{margin:0 0 16px;color:#555;font-size:14px}
.o3p-optin-fields{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-bottom:12px}
.o3p-gdpr{display:flex;align-items:flex-start;gap:8px;margin-bottom:16px;font-size:12px;color:#888;cursor:pointer}
.o3p-gdpr input{flex-shrink:0;margin-top:2px;accent-color:var(--o3p-primary)}

/* Messages */
.o3p-msg{margin-top:12px;padding:12px 16px;border-radius:8px;font-size:14px;font-weight:600}
.o3p-msg.success{background:#d4edda;color:#155724}
.o3p-msg.error  {background:#f8d7da;color:#721c24}

/* Responsive */
@media(max-width:540px){
  .o3p-fields,.o3p-optin-fields{grid-template-columns:1fr}
  .o3p-grid{grid-template-columns:1fr 1fr}
  .o3p-body,.o3p-optin-card{padding:20px}
}
