/* Field Command — shared public portal tokens (booking / renew / quote).
 * Pages may keep layout-specific CSS inline; these tokens unify brand accent. */

:root{
  /* Dark default (booking/renew) — warm graphite + amber */
  --fc-page:#0b0a0c;
  --fc-surface:#15141a;
  --fc-elevated:#1c1b22;
  --fc-raised:#26242c;
  --fc-text:#f2ede4;
  --fc-text-2:rgba(216,208,195,0.82);
  --fc-text-3:#989284;
  --fc-border:rgba(255,255,255,0.08);
  --fc-border-strong:rgba(255,255,255,0.14);
  --fc-input-bg:rgba(255,255,255,0.04);
  --fc-input-border:rgba(255,255,255,0.12);
  --fc-accent:#f6aa3b;
  --fc-accent-soft:rgba(246,170,59,0.16);
  --fc-success:#46d98a;
  --fc-danger:#ff6f6f;
  --fc-hero-from:#1a1520;
  --fc-hero-to:#0f0d12;
  --fc-focus-ring:rgba(246,170,59,0.22);
}

[data-theme="light"]{
  --fc-page:#f6f3ee;
  --fc-surface:#ffffff;
  --fc-elevated:#fbf9f5;
  --fc-raised:#f1ece4;
  --fc-text:#1c1812;
  --fc-text-2:#5c554a;
  --fc-text-3:#6b6456;
  --fc-border:rgba(0,0,0,0.07);
  --fc-border-strong:rgba(0,0,0,0.13);
  --fc-input-bg:#fbf9f5;
  --fc-input-border:#e6e0d6;
  --fc-accent:#c8841f;
  --fc-accent-soft:rgba(200,132,31,0.12);
  --fc-success:#1a9e5f;
  --fc-danger:#d24545;
  --fc-hero-from:#1e3a5f;
  --fc-hero-to:#1a2f4d;
  --fc-focus-ring:rgba(200,132,31,0.2);
}

/* Map common public aliases onto Field Command tokens when not redefined */
.field-hint{font-size:12px;color:var(--muted,var(--fc-text-3));margin-top:6px;line-height:1.45;}

/* Primary CTA — amber with dark ink (never pure white on gold) */
.btn-submit,
.btn[type="submit"],
button.btn:not(.btn-ghost):not(.btn-outline){
  /* pages set their own classes; token helpers below for shared use */
}
.fc-btn-primary{
  display:inline-flex;align-items:center;justify-content:center;
  width:100%;padding:14px;min-height:48px;border:none;border-radius:11px;
  background:var(--fc-accent);color:#0b0a0c;font-size:15px;font-weight:700;
  font-family:inherit;cursor:pointer;
}
.fc-btn-primary:hover{opacity:.92}
.fc-btn-primary:disabled{opacity:.5;cursor:not-allowed}

/* Public pages: no help-i chrome (use .field-hint only) */

/* Public form shell — symmetric card + field stack */
.public-page .card,
.booking-page .card,
.renew-page .card,
.quote-page .card{
  width:100%;max-width:var(--form-max,480px);margin-inline:auto;
  padding:var(--card-pad,16px);
  border-radius:var(--radius-lg,14px);
  box-sizing:border-box;
}
.public-page .field,
.booking-page .field,
.renew-page .field,
.quote-page .field{
  display:flex;flex-direction:column;gap:var(--space-2,8px);
  margin:0 0 var(--space-4,16px);
  min-width:0;
}
.public-page .field:last-child,
.booking-page .field:last-child{margin-bottom:0;}
.public-page .field label,
.booking-page .field label,
.renew-page .field label,
.quote-page .field label{
  font-size:11px;font-weight:700;color:var(--text-muted,var(--fc-text-3));
  text-transform:uppercase;letter-spacing:.04em;
}

/* Responsive QA (PR-F + foundation) */
@media (max-width: 480px) {
  .fc-btn-primary{min-height:52px;font-size:16px;border-radius:var(--radius-md,12px);}
  .field-hint{font-size:12px;}
  .public-page .card,
  .booking-page .card{padding:var(--space-4,16px) var(--space-3,12px);}
}
@media (max-width: 768px) {
  input,select,textarea{font-size:16px !important;min-height:var(--touch-min,44px);}
}
@supports (padding: env(safe-area-inset-bottom)) {
  body.public-page,
  body.booking-page,
  body.renew-page,
  body.quote-page{
    padding-bottom:max(var(--space-4,16px), env(safe-area-inset-bottom));
    padding-left:env(safe-area-inset-left,0px);
    padding-right:env(safe-area-inset-right,0px);
  }
}
