/* Rydenow base styles using CSS variables */
.rydenow-form-wrap { font-family: var(--rydenow-font-body); color: var(--rydenow-text); }
.rydenow-card { background: #fff; border-radius: 16px; box-shadow: 0 10px 30px rgba(0,0,0,.08); padding: 20px; }
.rydenow-title { font-family: var(--rydenow-font-heading); font-size: var(--rydenow-font-size-heading); margin-bottom: 16px; color: var(--rydenow-text); }
.rydenow-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; }
.rydenow-field { display: flex; flex-direction: column; }
.rydenow-field label { font-size: 0.9rem; margin-bottom: 6px; opacity: 0.9; }
.rydenow-field input, .rydenow-field select { height: var(--rydenow-input-height); border: 1px solid #e5e7eb; border-radius: 12px; padding: 0 12px; font-size: var(--rydenow-font-size-base); }
.rydenow-field input:focus, .rydenow-field select:focus { outline: none; border-color: var(--rydenow-primary); box-shadow: 0 0 0 4px rgba(37,99,235,.15); }
.rydenow-summary { grid-column: 1 / -1; margin-top: 10px; display: grid; grid-template-columns: repeat(2, minmax(0,1fr)); gap: 10px; align-items: center; }
.ry-btn { background: var(--rydenow-primary); color: #fff; border: none; padding: 12px 16px; border-radius: var(--rydenow-button_radius, 12px); border-radius: var(--rydenow-button-radius); cursor: pointer; font-weight: 600; }
.ry-btn.outline { background: transparent; color: var(--rydenow-primary); border: 2px solid var(--rydenow-primary); }
#ry_msg { grid-column: 1 / -1; margin-top: 8px; }
@media (max-width: 720px) { .rydenow-grid { grid-template-columns: 1fr; } }


/* === Rydenow Multi-Step Wizard === */
:root { --rydenow-primary: #f2aa1b; }
.rydenow-card { border: 1px solid rgba(0,0,0,.06); border-radius: 16px; box-shadow: 0 10px 25px rgba(0,0,0,.06); }
.rydenow-progress { display:flex; gap:8px; margin: 8px 0 16px; }
.rydenow-progress .ry-step { flex:1; text-align:center; padding:10px 8px; border-radius: 999px; background:#f3f4f6; font-weight:600; font-size:14px; }
.rydenow-progress .ry-step.active { background: var(--rydenow-primary); color: #111; }
.rydenow-steps .rydenow-step { display:none; }
.rydenow-steps .rydenow-step.active { display:block; }
.rydenow-nav { display:flex; justify-content: space-between; gap:12px; margin-top: 12px; }
.rydenow-btn { background: var(--rydenow-primary); color: #111; border: none; border-radius: var(--rydenow-button_radius, 12px); padding: 12px 18px; cursor:pointer; }
.rydenow-btn:disabled { opacity:.6; cursor:not-allowed; }
@media (max-width: 480px) { .rydenow-progress .ry-step { font-size:12px; padding:8px 6px; } }

/* === Screenshot-like Stepper === */
.rydenow-progress { position: relative; }
.rydenow-progress:before { content:''; position:absolute; top:16px; left:10%; right:10%; height:2px; background:#cfe3ff; }
.rydenow-progress .ry-step { position:relative; background:transparent !important; }
.ry-dot { display:inline-flex; align-items:center; justify-content:center; width:28px; height:28px; border-radius:999px; margin-right:8px; background:#e5e7eb; color:#111; font-weight:700; }
.ry-dot.done { background:#0f6a2b; color:#fff; }
.ry-dot.current { background:#3da2ff; color:#fff; }
.rydenow-progress .ry-step { color:#14532d; }


/* === Numbered Circle Stepper (Screenshot Style) === */
.rydenow-title{ text-align:center; font-size:28px; margin-bottom:20px; }
.rydenow-progress{ display:flex; justify-content:center; gap:80px; position:relative; margin: 8px 0 24px; }
.rydenow-progress:before{ content:''; position:absolute; top:24px; left:15%; right:15%; height:4px; background:#eceff4; }
.rydenow-progress .ry-step{ position:relative; display:flex; flex-direction:column; align-items:center; gap:12px; color:#94a3b8; font-weight:700; }
.rydenow-progress .ry-step .ry-dot{ width:44px; height:44px; border-radius:999px; display:flex; align-items:center; justify-content:center; background:#f1f5f9; color:#64748b; font-size:18px; border:3px solid #e2e8f0; }
.rydenow-progress .ry-step.active{ color:#0f172a; }
.rydenow-progress .ry-step.active .ry-dot{ background: var(--rydenow-primary); color:#fff; border-color: var(--rydenow-primary); box-shadow: 0 4px 12px rgba(0,0,0,.12); }
.rydenow-progress .ry-step.done{ color:#14532d; }
.rydenow-progress .ry-step.done .ry-dot{ background:#0f6a2b; color:#fff; border-color:#0f6a2b; }
.rydenow-card{ border-radius:16px; border:1px solid #eef2f7; background:#fff; box-shadow:0 12px 32px rgba(2,6,23,.06); padding:22px; }
.rydenow-grid{ display:grid; grid-template-columns: repeat(2, minmax(0,1fr)); gap:16px; }
@media(max-width: 920px){ .rydenow-progress{ gap:36px; } .rydenow-grid{ grid-template-columns:1fr; } }
.rydenow-field{ position:relative; }
.rydenow-field .ry-input{ display:flex; align-items:center; background:#f8fafc; border:1px solid #e2e8f0; border-radius:10px; padding:10px 14px; gap:10px; }
.rydenow-field .ry-input input,
.rydenow-field .ry-input select,
.rydenow-field .ry-input textarea{ border:none; background:transparent; outline:none; width:100%; font-size:15px; }
.ry-ico{ width:20px; height:20px; opacity:.7; }
.rydenow-actions{ display:flex; justify-content:flex-end; }
.ry-search-btn{ display:inline-flex; align-items:center; gap:10px; background: var(--rydenow-primary); color:#fff; border:none; border-radius:10px; padding:12px 22px; font-weight:700; cursor:pointer; }
.ry-search-btn .ry-ico{ filter: brightness(0) invert(1); }
