.rydenow-booking-wrap{max-width:980px;margin:24px auto;padding:0 12px}
.rydenow-booking-card{background:#fff;border:1px solid #e5e7eb;border-radius:18px;box-shadow:0 14px 28px rgba(0,0,0,.06);overflow:hidden}
.rydenow-booking-head{padding:18px 18px 10px}
.rydenow-booking-head h3{margin:14px 0 0;font-size:24px;line-height:1.2}
.rydenow-booking-head p{margin:6px 0 0;color:#6b7280}

.rydenow-stepper{display:flex;gap:10px;align-items:center;flex-wrap:wrap}
.rydenow-step{display:flex;align-items:center;gap:10px;padding:10px 12px;border:1px solid #e5e7eb;border-radius:999px;background:#fff;color:#6b7280}
.rydenow-step span{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:999px;border:1px solid #d1d5db;font-weight:800}
.rydenow-step em{font-style:normal;font-weight:800;font-size:13px;letter-spacing:.2px}
.rydenow-step.is-active{border-color:#111827;color:#111827}
.rydenow-step.is-active span{border-color:#111827}
.rydenow-step.is-done{border-color:#10b981;color:#065f46}
.rydenow-step.is-done span{border-color:#10b981}

.rydenow-booking-form{padding:18px}
.rydenow-panel{display:none}
.rydenow-panel.is-active{display:block;animation:rydenowFade .18s ease-out}
@keyframes rydenowFade{from{opacity:.4;transform:translateY(6px)}to{opacity:1;transform:none}}

.rydenow-grid{display:grid;gap:12px}
.rydenow-grid--landscape{grid-template-columns:repeat(3,minmax(0,1fr))}
.rydenow-field label{display:block;font-weight:700;margin:0 0 6px}
.rydenow-field input,.rydenow-field select,.rydenow-field textarea{width:100%;border:1px solid #d1d5db;border-radius:14px;padding:10px 12px;font-size:14px;outline:none}
.rydenow-field input:focus,.rydenow-field select:focus,.rydenow-field textarea:focus{border-color:#111827;box-shadow:0 0 0 3px rgba(17,24,39,.12)}
.rydenow-field--full{grid-column:1 / -1}
.rydenow-field.is-error input,.rydenow-field.is-error select,.rydenow-field.is-error textarea{border-color:#ef4444;box-shadow:0 0 0 3px rgba(239,68,68,.12)}
.rydenow-nav{display:flex;justify-content:flex-end;gap:10px;flex-wrap:wrap;margin-top:14px}
.rydenow-nav--final{justify-content:space-between}

.rydenow-btn{border-radius:14px;padding:10px 14px;border:1px solid transparent;cursor:pointer;font-weight:800;text-decoration:none;display:inline-flex;align-items:center;justify-content:center}
.rydenow-btn--primary{background:#111827;color:#fff}
.rydenow-btn--outline{background:#fff;border-color:#d1d5db;color:#111827}
.rydenow-btn--whatsapp{background:#25D366;color:#0b1f13}

.rydenow-booking-alert{margin:14px 18px 0;padding:12px 14px;border-radius:14px}
.rydenow-booking-alert--error{background:#fff1f2;border:1px solid #fecdd3;color:#881337}
.rydenow-booking-alert--success{background:#ecfdf5;border:1px solid #a7f3d0;color:#065f46}
.rydenow-booking-alert ul{margin:8px 0 0;padding-left:18px}
.rydenow-booking-foot{margin:12px 0 0;color:#6b7280;font-size:12px}
.rydenow-booking-hr{border:0;border-top:1px solid #e5e7eb;margin:16px 18px}
.rydenow-hp{position:absolute;left:-9999px;top:-9999px;height:1px;width:1px;overflow:hidden}

@media (max-width:980px){
  .rydenow-grid--landscape{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media (max-width:640px){
  .rydenow-grid--landscape{grid-template-columns:1fr}
  .rydenow-nav--final{justify-content:flex-end}
}
