﻿@font-face {
  font-family: "Inter Tight";
  src: url("/fonts/InterTight-VariableFont_wght.ttf") format("truetype");
  font-weight: 100 900;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: "Inter Tight";
  src: url("/fonts/InterTight-Italic-VariableFont_wght.ttf") format("truetype");
  font-weight: 100 900;
  font-style: italic;
  font-display: swap;
}

:root {
  --lnd-blue: #001489;
  --lnd-green: #00a80f;
  --lnd-red: #ff0000;
  --lnd-dark: #424242;
  --lnd-gray: #cbcbcb;
  --lnd-yellow: #f8eb00;

  --brand-primary: var(--lnd-blue);
  --brand-success: var(--lnd-green);
  --brand-danger: var(--lnd-red);
  --brand-warning: var(--lnd-yellow);
  --brand-text: #17233c;
  --brand-muted: #64748b;
  --brand-border: #d9dee8;
  --brand-bg: #f3f6fb;
  --brand-card: #ffffff;

  --brand-radius-lg: 22px;
  --brand-radius-md: 14px;
  --brand-radius-sm: 10px;

  --brand-shadow: 0 18px 45px rgba(0, 20, 137, 0.12);
  --brand-shadow-soft: 0 8px 24px rgba(15, 23, 42, 0.08);
}

html,
body {
  font-family: "Inter Tight", Arial, Helvetica, sans-serif !important;
  color: var(--brand-text);
  background:
    radial-gradient(circle at top left, rgba(0, 20, 137, 0.08), transparent 32rem),
    linear-gradient(180deg, #f7f9fd 0%, var(--brand-bg) 100%) !important;
}

body {
  letter-spacing: -0.01em;
}

h1,
h2,
h3,
h4,
.titolo,
.page-title {
  font-family: "Inter Tight", Arial, Helvetica, sans-serif !important;
  color: var(--lnd-blue);
  letter-spacing: -0.045em;
}

a {
  color: var(--lnd-blue);
}

button,
.btn,
.button,
input,
select,
textarea {
  font-family: "Inter Tight", Arial, Helvetica, sans-serif !important;
}

button,
.btn,
.button {
  border-radius: 999px;
  font-weight: 760;
  letter-spacing: -0.015em;
}

button[type="submit"],
.btn-primary,
.button-primary {
  background: var(--lnd-blue) !important;
  border-color: var(--lnd-blue) !important;
  color: #ffffff !important;
  box-shadow: 0 12px 24px rgba(0, 20, 137, 0.22);
}

button[type="submit"]:hover,
.btn-primary:hover,
.button-primary:hover {
  filter: brightness(1.06);
  transform: translateY(-1px);
}

input,
select,
textarea {
  border-radius: var(--brand-radius-sm) !important;
  border-color: var(--brand-border) !important;
}

input:focus,
select:focus,
textarea:focus {
  outline: 3px solid rgba(0, 20, 137, 0.14) !important;
  border-color: var(--lnd-blue) !important;
}

.card,
.panel,
.box,
section {
  border-radius: var(--brand-radius-lg);
}

.brand-logo-esteso {
  display: block;
  max-width: 250px;
  height: auto;
}

.brand-logo-compatto {
  display: block;
  max-width: 96px;
  height: auto;
}

.brand-logo-scudetto {
  display: block;
  max-width: 88px;
  height: auto;
}

.brand-bandiera {
  height: 5px;
  width: 100%;
  display: grid;
  grid-template-columns: 1fr 1fr 1fr;
  overflow: hidden;
  border-radius: 999px;
}

.brand-bandiera span:nth-child(1) {
  background: var(--lnd-green);
}

.brand-bandiera span:nth-child(2) {
  background: #ffffff;
}

.brand-bandiera span:nth-child(3) {
  background: var(--lnd-red);
}

.brand-topline {
  border-top: 5px solid var(--lnd-blue);
}

.brand-card {
  background: var(--brand-card);
  border: 1px solid rgba(0, 20, 137, 0.08);
  border-radius: var(--brand-radius-lg);
  box-shadow: var(--brand-shadow-soft);
}

.messaggio.errore,
.alert-danger {
  border-left: 5px solid var(--lnd-red) !important;
}

.messaggio.successo,
.alert-success {
  border-left: 5px solid var(--lnd-green) !important;
}

.badge,
.status,
.stato {
  border-radius: 999px;
  font-weight: 750;
}

::selection {
  background: rgba(0, 20, 137, 0.18);
}

/* Migliorie brand login */
.login-brand img,
.accesso-brand img,
.hero-login img,
.login-visual img,
.pannello-sinistro img,
.logo-portale,
.logo-accesso {
  width: 130px !important;
  max-width: 130px !important;
  height: auto !important;
}

.login-brand .brand-logo-esteso,
.accesso-brand .brand-logo-esteso,
.hero-login .brand-logo-esteso,
.login-visual .brand-logo-esteso {
  width: 180px !important;
  max-width: 180px !important;
}

.login-brand h1,
.accesso-brand h1,
.hero-login h1,
.login-visual h1 {
  color: #ffffff !important;
}

.login-brand p,
.accesso-brand p,
.hero-login p,
.login-visual p {
  color: #ffffff !important;
}


/* Logo login più grande */
.login-brand img,
.accesso-brand img,
.hero-login img,
.login-visual img,
.pannello-sinistro img,
.logo-portale,
.logo-accesso,
img[src*="logo-lnd-toscana-esteso"],
img[src*="logo-lnd-toscana-compatto"] {
  width: 260px !important;
  max-width: 260px !important;
  height: auto !important;
}

.login-brand .brand-logo-esteso,
.accesso-brand .brand-logo-esteso,
.hero-login .brand-logo-esteso,
.login-visual .brand-logo-esteso {
  width: 300px !important;
  max-width: 300px !important;
}


 /* Hero / intestazione area riservata su sfondo scuro */
.hero-title,
.dashboard-hero h1,
.intestazione-hero h1,
.blocco-hero h1,
section h1 {
  color: #ffffff !important;
}

.dashboard-hero p,
.intestazione-hero p,
.blocco-hero p {
  color: rgba(255, 255, 255, 0.88) !important;
}

