/* ============================================================
   RINGWELL PORTAL — My Jobs, Book Service, Pay Invoice,
   Profile, Login/Register, Checkout
   ============================================================ */

/* ---------- Cards ---------- */
.rw-card{
  background:var(--wp--preset--color--surface-elevated);
  border:1px solid var(--wp--preset--color--border);
  border-radius:16px;padding:28px 26px;margin-bottom:20px;
}
.rw-fine{font-size:12px;color:var(--wp--preset--color--text-muted);line-height:1.6}
.rw-error{
  color:var(--wp--preset--color--danger);font-size:13px;
  background:rgba(239,68,68,.08);border:1px solid rgba(239,68,68,.25);
  border-radius:10px;padding:10px 14px;margin-top:12px;
}

/* ---------- Forms ---------- */
.rw-form label{
  display:block;font-size:12px;font-weight:600;
  color:var(--wp--preset--color--text-secondary);
  margin-bottom:16px;letter-spacing:.02em;
}
.rw-form input,.rw-form select,.rw-form textarea,
.rw-auth-card input[type=text],.rw-auth-card input[type=password],.rw-auth-card input[type=email]{
  display:block;width:100%;margin-top:6px;
  background:var(--wp--preset--color--surface-base);
  border:1px solid var(--wp--preset--color--border);
  border-radius:10px;color:var(--wp--preset--color--text-primary);
  font-family:inherit;font-size:14px;padding:12px 14px;
  transition:border-color .18s,box-shadow .18s;
}
.rw-form input:focus,.rw-form select:focus,.rw-form textarea:focus,
.rw-auth-card input:focus{
  outline:none;border-color:var(--wp--preset--color--accent);
  box-shadow:0 0 0 3px rgba(5,191,219,.15);
}
.rw-form ::placeholder{color:var(--wp--preset--color--text-muted)}
.rw-grid2{display:grid;grid-template-columns:1fr;gap:0 16px}
@media(min-width:768px){.rw-grid2{grid-template-columns:1fr 1fr}}

/* ---------- Buttons (non-block contexts) ---------- */
.rw-btn{
  display:inline-flex;align-items:center;justify-content:center;gap:8px;
  font-size:13px;font-weight:600;padding:12px 24px;border-radius:10px;
  border:none;cursor:pointer;text-decoration:none;line-height:1;
  transition:transform .18s,box-shadow .18s,border-color .18s;
  font-family:inherit;
}
.rw-btn-accent{
  background:linear-gradient(135deg,var(--wp--preset--color--accent),var(--wp--preset--color--accent-glow));
  color:var(--wp--preset--color--cta-contrast);
}
.rw-btn-accent:hover{transform:translateY(-1px);box-shadow:0 8px 24px rgba(5,191,219,.35)}
.rw-btn-outline{
  background:transparent;color:var(--wp--preset--color--text-primary);
  border:1px solid var(--wp--preset--color--border);
}
.rw-btn-outline:hover{border-color:var(--wp--preset--color--accent);color:var(--wp--preset--color--accent)}
.rw-btn-block{width:100%}
.rw-btn[disabled]{opacity:.55;cursor:wait;transform:none !important}

/* ---------- Jobs list ---------- */
.rw-jobs-list{display:flex;flex-direction:column;gap:12px}
.rw-job-card{
  background:var(--wp--preset--color--surface-elevated);
  border:1px solid var(--wp--preset--color--border);
  border-radius:14px;padding:18px 20px;
  display:flex;align-items:center;gap:16px;flex-wrap:wrap;
}
.rw-job-card .rw-jc-main{flex:1;min-width:200px}
.rw-jc-title{font-size:14px;font-weight:600;color:var(--wp--preset--color--text-primary);margin:0 0 3px}
.rw-jc-meta{font-size:12px;color:var(--wp--preset--color--text-muted);margin:0}
.rw-jc-id{font-family:var(--wp--preset--font-family--mono);font-size:11px;color:var(--wp--preset--color--text-muted)}
.rw-demo-note{
  font-size:12px;color:var(--wp--preset--color--warning);
  background:rgba(245,158,11,.07);border:1px solid rgba(245,158,11,.2);
  border-radius:10px;padding:10px 14px;margin-bottom:16px;
}

/* ---------- Invoice ---------- */
.rw-inv-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:18px}
.rw-inv-head h3{margin:0 0 4px}
.rw-inv-table{width:100%;border-collapse:collapse;margin-bottom:16px}
.rw-inv-table td{
  padding:10px 0;font-size:13.5px;
  border-bottom:1px solid rgba(51,65,85,.4);
  color:var(--wp--preset--color--text-secondary);
}
.rw-inv-table td:last-child{text-align:right;font-family:var(--wp--preset--font-family--mono);font-size:13px}
.rw-inv-total{
  display:flex;justify-content:space-between;align-items:center;
  padding:14px 0 22px;font-size:14px;color:var(--wp--preset--color--text-secondary);
}
.rw-inv-total strong{
  font-size:22px;font-weight:800;color:var(--wp--preset--color--text-primary);letter-spacing:-.02em;
}

/* ---------- Stripe Elements container ---------- */
#rw-payment-element,#rw-plan-payment-element{margin:4px 0 20px;min-height:0}
#rw-payment-element:not(:empty),#rw-plan-payment-element:not(:empty){
  background:var(--wp--preset--color--surface-base);
  border:1px solid var(--wp--preset--color--border);
  border-radius:12px;padding:16px;
}

/* ---------- Success states ---------- */
.rw-success{text-align:center;padding:28px 20px}
.rw-success-ic{
  width:56px;height:56px;border-radius:50%;margin:0 auto 18px;
  background:linear-gradient(135deg,var(--wp--preset--color--accent),var(--wp--preset--color--accent-glow));
  color:var(--wp--preset--color--cta-contrast);font-size:24px;font-weight:800;
  display:flex;align-items:center;justify-content:center;
}

/* ---------- Profile ---------- */
.rw-profile-head{display:flex;align-items:center;gap:16px;margin-bottom:24px}
.rw-profile-head h3{margin:0 0 3px}
.rw-profile-links{display:flex;flex-direction:column;gap:8px}
.rw-plink{
  display:flex;justify-content:space-between;align-items:center;
  background:var(--wp--preset--color--surface-base);
  border:1px solid var(--wp--preset--color--border);
  border-radius:12px;padding:15px 18px;
  font-size:13.5px;font-weight:500;color:var(--wp--preset--color--text-primary);
  text-decoration:none;transition:border-color .18s;
}
.rw-plink:hover{border-color:var(--wp--preset--color--accent)}
.rw-plink span:last-child{color:var(--wp--preset--color--accent)}

/* ---------- Auth pages (gradient background) ---------- */
.rw-auth-main{position:relative}
body:has(.rw-auth-main){
  background:
    radial-gradient(ellipse 800px 500px at 20% -10%,rgba(8,131,149,.25),transparent 60%),
    radial-gradient(ellipse 600px 500px at 90% 110%,rgba(5,191,219,.12),transparent 60%),
    var(--wp--preset--color--surface-base);
}
.rw-auth-card{box-shadow:0 24px 64px rgba(0,0,0,.4)}
.rw-auth-card form p{margin:0 0 16px}
.rw-auth-card label{
  font-size:12px;font-weight:600;color:var(--wp--preset--color--text-secondary);
}
.rw-auth-card .login-remember label{display:flex;align-items:center;gap:8px;font-weight:400}
.rw-auth-card input[type=checkbox]{width:auto;margin:0}
.rw-auth-card input[type=submit],.rw-auth-card button[type=submit]{
  width:100%;border:none;cursor:pointer;
  background:linear-gradient(135deg,var(--wp--preset--color--accent),var(--wp--preset--color--accent-glow));
  color:var(--wp--preset--color--cta-contrast);
  font-size:13px;font-weight:600;padding:13px;border-radius:10px;
  font-family:inherit;transition:transform .18s,box-shadow .18s;
}
.rw-auth-card input[type=submit]:hover{transform:translateY(-1px);box-shadow:0 8px 24px rgba(5,191,219,.35)}
.rw-auth-alt{text-align:center;margin-top:18px}
.rw-auth-nudge{text-align:center}
.rw-auth-nudge h3{margin-bottom:8px}
.rw-auth-nudge .rw-btn{margin-top:14px}

/* ---------- Skeleton loader ---------- */
.rw-skeleton{
  height:220px;border-radius:14px;
  background:linear-gradient(90deg,var(--wp--preset--color--surface-elevated) 25%,#243349 50%,var(--wp--preset--color--surface-elevated) 75%);
  background-size:200% 100%;animation:rwShimmer 1.4s infinite;
}
@keyframes rwShimmer{to{background-position:-200% 0}}
