/* public/assets/css/theme.css */

/* Anti scroll orizzontale mobile */
*, *::before, *::after { box-sizing: border-box; }
html, body { width: 100%; overflow-x: hidden; }
img, svg, video, canvas { max-width: 100%; height: auto; }

/* Brand */
:root{
  --brand-900:#031936;
  --brand-700:#04234B;
  --brand-600:#062C5F;
  --brand-500:#083F88; /* primary */
  --brand-300:#5279AC;
  --brand-200:#7795BE;
  --brand-100:#C1CFE1;
  --brand-50:#E6ECF3;

  --sky-500:#92C5EB;   /* light brand */
  --sky-50:#F2F8FE;

  --surface:#FFFFFF;
  --text:#031936;
  --muted:#5279AC;
  --border:#C1CFE1;

  /* stati (tenuti “marini” ma leggibili) */
  --success:#0E7C66;
  --danger:#B42318;
}

/* Componenti base */
body{
  font-family: system-ui,-apple-system,Segoe UI,Roboto,Arial;
  margin:0;
  background: var(--brand-50);
  color: var(--text);
}

.card{
  background: var(--surface);
  border: 1px solid rgba(3,25,54,.08);
  border-radius: 14px;
  box-shadow: 0 10px 30px rgba(3,25,54,.08);
}

.btn-primary{
  background: var(--brand-500);
  color: #fff;
  border: 0;
  border-radius: 10px;
  padding: 12px;
  cursor: pointer;
}
.btn-primary:hover{ background: var(--brand-600); }
.btn-primary:active{ background: var(--brand-700); }

.input{
  width: 100%;
  max-width: 100%;
  padding: 12px;
  border: 1px solid rgba(3,25,54,.18);
  border-radius: 10px;
  font-size: 16px;
  background: #fff;
}
.input:focus{
  outline: none;
  border-color: var(--sky-500);
  box-shadow: 0 0 0 4px rgba(146,197,235,.35);
}

.alert-error{
  background: #fff2f2;
  border: 1px solid rgba(180,35,24,.35);
  color: #7a1f1f;
  padding: 10px;
  border-radius: 10px;
}

.brand-header{
  background: linear-gradient(135deg, var(--brand-500), var(--brand-700));
  color:#fff;
}
