.resv-widget{
  --resv-bg: #fff;
  --resv-text: #0b1220;
  --resv-muted: #6b7280;
  --resv-border: #e5e7eb;
  --resv-primary: #0b1220;
  --resv-primary-text: #fff;

  max-width:720px;
  margin:18px auto;
  border:1px solid var(--resv-border);
  border-radius:18px;
  overflow:hidden;
  background:var(--resv-bg);
  box-shadow:0 10px 28px rgba(0,0,0,.06);
  color: var(--resv-text);
}

.resv-widget--transparent{background:transparent;box-shadow:none}

.resv-widget__header{display:flex;justify-content:space-between;align-items:center;padding:14px 16px;background:var(--resv-primary);color:var(--resv-primary-text)}
.resv-widget__brand{display:flex;gap:10px;align-items:center}
.resv-widget__brand img{width:38px;height:38px;border-radius:12px;background:rgba(255,255,255,.9)}
.resv-widget__brand-name{font-weight:800;line-height:1}
.resv-widget__brand-sub{font-size:12px;opacity:.85;margin-top:2px}
.resv-widget__type{font-size:12px;padding:6px 10px;border-radius:999px;background:rgba(255,255,255,.12)}
.resv-form{padding:16px}
.resv-form__grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
@media (max-width:640px){.resv-form__grid{grid-template-columns:1fr}}
.resv-field label{display:block;font-weight:700;font-size:13px;margin-bottom:6px}
.resv-field input,.resv-field select,.resv-field textarea{width:100%;padding:10px 12px;border:1px solid var(--resv-border);border-radius:12px;outline:none;color:var(--resv-text);background:rgba(255,255,255,.92)}
.resv-field input:focus,.resv-field select:focus,.resv-field textarea:focus{border-color:var(--resv-primary);box-shadow:0 0 0 3px rgba(11,18,32,.12)}
.resv-field--full{grid-column:1/-1}
.resv-btn{width:100%;padding:12px 14px;border:none;border-radius:14px;background:var(--resv-primary);color:var(--resv-primary-text);font-weight:800;cursor:pointer}
.resv-btn:disabled{opacity:.6;cursor:not-allowed}
.resv-msg{margin-top:10px;font-size:13px}
.resv-msg--ok{color:#065f46}
.resv-msg--err{color:#991b1b}
.resv-check{display:flex;gap:10px;align-items:flex-start}
.resv-check input{margin-top:4px}
.resv-check a{color:inherit;text-decoration:underline}

.resv-hint{font-size:12px;opacity:.8;margin-top:4px;}

/* Dark mode (global option) */
.resv-widget.resv-widget--dark {
  --resv-bg: #0b0b0c;
  --resv-text: #f5f5f5;
  --resv-muted: rgba(255,255,255,0.72);
  --resv-border: rgba(255,255,255,0.14);
  --resv-primary: #ffffff;
  --resv-primary-text: #0b0b0c;
}
