/* ============================================================
   ApiPUGLIA — Tema visivo condiviso
   Palette pensata per contrasto WCAG AA (min. 4.5:1) su ogni
   combinazione: sfondo bianco, testo nero caldo, bottoni gialli
   per le azioni principali con testo scuro (mai bianco su giallo).
   ============================================================ */

@import url('https://fonts.googleapis.com/css2?family=Fraunces:opsz,wght@9..144,500;9..144,600;9..144,700&family=Inter:wght@400;500;600;700&display=swap');

:root {
  /* Neutri: sfondo bianco, testo nero a dominante calda */
  --api-bg: #FFFFFF;
  --api-surface-alt: #FAF7F2;
  --api-text: #1E1712;
  --api-muted: #5C4F42;
  --api-border: #D9CFC0;

  /* Giallo — azioni principali (Salva, Crea, Riattiva). Testo SEMPRE
     scuro sopra: il nero si legge molto meglio del bianco su un giallo
     così chiaro. */
  --api-primary: #F2B705;
  --api-primary-hover: #D9A400;
  --api-primary-active: #C79300;

  /* Arancio-ambra — azioni intermedie (Modifica, Disattiva): né
     principali né distruttive, restano visivamente distinte dal giallo */
  --api-caution: #D98A1E;
  --api-caution-hover: #BD7415;

  /* Rosso — solo azioni distruttive (Elimina) */
  --api-danger: #A6371F;
  --api-danger-hover: #8A2C18;

  /* Verde — stato positivo (badge "Attivo", alert di conferma) */
  --api-success: #3F7D32;
  --api-success-dark: #2E5A25;

  /* Teal — informativo */
  --api-info: #3E7D7C;
  --api-info-dark: #2E5F5E;

  /* Corteccia scura — navbar (non toccata dal fix contrasto, già ok) */
  --api-dark: #3D2B1F;

  /* Link: mai giallo su bianco (illeggibile), ambra scuro leggibile */
  --api-link: #8A5200;
  --api-link-hover: #6B3F00;

  --bs-body-font-family: 'Inter', system-ui, -apple-system, sans-serif;
  --bs-light: var(--api-bg);
  --bs-light-rgb: 255, 255, 255;
}

body {
  font-family: 'Inter', system-ui, -apple-system, sans-serif;
  color: var(--api-text);
}
body.bg-light { background-color: var(--api-bg) !important; }

h1, h2, h3, h4, h5, h6 {
  font-family: 'Fraunces', Georgia, serif;
  color: var(--api-text);
}

/* Il titolo in navbar non è un link cliccabile: niente cambio colore al passaggio del mouse */
.navbar-brand {
  font-family: 'Fraunces', Georgia, serif;
  cursor: default;
}
.navbar-dark .navbar-brand, .navbar-dark .navbar-brand:hover, .navbar-dark .navbar-brand:focus { color: #fff; }
.navbar-light .navbar-brand, .navbar-light .navbar-brand:hover, .navbar-light .navbar-brand:focus { color: var(--api-text); }

a { color: var(--api-link); }
a:hover { color: var(--api-link-hover); }

/* ---------- Bottoni pieni ---------- */
/* Primario: giallo, testo nero caldo (mai bianco) */
.btn-primary {
  --bs-btn-bg: var(--api-primary); --bs-btn-border-color: var(--api-primary);
  --bs-btn-color: var(--api-text); --bs-btn-hover-color: var(--api-text); --bs-btn-active-color: var(--api-text); --bs-btn-disabled-color: var(--api-text);
  --bs-btn-hover-bg: var(--api-primary-hover); --bs-btn-hover-border-color: var(--api-primary-hover);
  --bs-btn-active-bg: var(--api-primary-active); --bs-btn-active-border-color: var(--api-primary-active);
}
/* Success trattato come "azione principale positiva" (Salva, Riattiva): stesso giallo del primario */
.btn-success {
  --bs-btn-bg: var(--api-primary); --bs-btn-border-color: var(--api-primary);
  --bs-btn-color: var(--api-text); --bs-btn-hover-color: var(--api-text); --bs-btn-active-color: var(--api-text);
  --bs-btn-hover-bg: var(--api-primary-hover); --bs-btn-hover-border-color: var(--api-primary-hover);
  --bs-btn-active-bg: var(--api-primary-active); --bs-btn-active-border-color: var(--api-primary-active);
}
/* Danger: unico colore riservato alle azioni distruttive */
.btn-danger {
  --bs-btn-bg: var(--api-danger); --bs-btn-border-color: var(--api-danger);
  --bs-btn-hover-bg: var(--api-danger-hover); --bs-btn-hover-border-color: var(--api-danger-hover);
  --bs-btn-active-bg: var(--api-danger-hover); --bs-btn-active-border-color: var(--api-danger-hover);
}
/* Warning: azioni intermedie (Modifica, Disattiva), arancio distinto dal giallo primario */
.btn-warning {
  --bs-btn-bg: var(--api-caution); --bs-btn-border-color: var(--api-caution); --bs-btn-color: var(--api-text);
  --bs-btn-hover-bg: var(--api-caution-hover); --bs-btn-hover-border-color: var(--api-caution-hover); --bs-btn-hover-color: var(--api-text);
}
.btn-secondary {
  --bs-btn-bg: var(--api-muted); --bs-btn-border-color: var(--api-muted);
}

/* ---------- Bottoni outline ---------- */
.btn-outline-primary, .btn-outline-success {
  --bs-btn-color: var(--api-primary-active); --bs-btn-border-color: var(--api-primary);
  --bs-btn-hover-bg: var(--api-primary); --bs-btn-hover-border-color: var(--api-primary); --bs-btn-hover-color: var(--api-text);
  --bs-btn-active-bg: var(--api-primary); --bs-btn-active-border-color: var(--api-primary); --bs-btn-active-color: var(--api-text);
}
.btn-outline-danger {
  --bs-btn-color: var(--api-danger); --bs-btn-border-color: var(--api-danger);
  --bs-btn-hover-bg: var(--api-danger); --bs-btn-hover-border-color: var(--api-danger);
}
.btn-outline-warning {
  --bs-btn-color: var(--api-caution-hover); --bs-btn-border-color: var(--api-caution);
  --bs-btn-hover-bg: var(--api-caution); --bs-btn-hover-border-color: var(--api-caution); --bs-btn-hover-color: var(--api-text);
}
.btn-outline-secondary {
  --bs-btn-color: var(--api-muted); --bs-btn-border-color: var(--api-muted);
  --bs-btn-hover-bg: var(--api-muted); --bs-btn-hover-border-color: var(--api-muted);
}
.btn-outline-dark {
  --bs-btn-color: var(--api-text); --bs-btn-border-color: var(--api-text);
  --bs-btn-hover-bg: var(--api-text); --bs-btn-hover-border-color: var(--api-text);
}
.btn-outline-light {
  --bs-btn-color: #fff; --bs-btn-border-color: rgba(255,255,255,.5);
  --bs-btn-hover-bg: rgba(255,255,255,.15); --bs-btn-hover-border-color: #fff; --bs-btn-hover-color: #fff;
}

/* Tasto Esci: sempre leggibile, sia su navbar chiara che scura.
   Proprietà dirette (non variabili --bs-btn-*): essendo una classe
   non definita da Bootstrap, quel meccanismo a variabili non si aggancia
   automaticamente a background-color/color come per .btn-primary ecc. */
.btn-esci {
  background-color: var(--api-primary) !important;
  border-color: var(--api-primary) !important;
  color: var(--api-text) !important;
}
.btn-esci:hover, .btn-esci:focus, .btn-esci:active {
  background-color: var(--api-text) !important;
  border-color: var(--api-text) !important;
  color: #fff !important;
}

/* ---------- Navbar (già a contrasto adeguato: bianco su corteccia scura) ---------- */
.navbar.bg-dark { background-color: var(--api-dark) !important; }
.navbar.bg-white { background-color: #fff !important; border-bottom-color: var(--api-border) !important; }

/* ---------- Badge ---------- */
.badge.bg-success { background-color: var(--api-success) !important; }
.badge.bg-danger { background-color: var(--api-danger) !important; }
.badge.bg-warning { background-color: var(--api-caution) !important; color: var(--api-text) !important; }
.badge.bg-secondary { background-color: var(--api-muted) !important; }
.badge.bg-info { background-color: var(--api-info) !important; }

/* ---------- Alert ---------- */
.alert-success { --bs-alert-bg: #EAF2E6; --bs-alert-border-color: var(--api-success); --bs-alert-color: var(--api-success-dark); }
.alert-danger { --bs-alert-bg: #F6E8E4; --bs-alert-border-color: var(--api-danger); --bs-alert-color: var(--api-danger-hover); }
.alert-warning { --bs-alert-bg: #FBF0DD; --bs-alert-border-color: var(--api-caution); --bs-alert-color: #6B4A0F; }
.alert-info, .alert-secondary { --bs-alert-bg: #E7F1F1; --bs-alert-border-color: var(--api-info); --bs-alert-color: var(--api-info-dark); }

/* ---------- Card, tabelle, form ---------- */
.card { border-color: var(--api-border); }
.table-striped > tbody > tr:nth-of-type(odd) > * { background-color: var(--api-surface-alt); }
.form-control:focus, .form-select:focus { border-color: var(--api-primary-active); box-shadow: 0 0 0 .25rem rgba(242, 183, 5, .35); }
.text-muted { color: var(--api-muted) !important; }
.text-danger { color: var(--api-danger) !important; }
.border-danger { border-color: var(--api-danger) !important; }

/* ---------- Elementi custom già presenti nell'app ---------- */
.apiario-riga, .apiario-card { border-left-color: var(--api-primary) !important; }
.card-metrica .valore { font-family: 'Fraunces', Georgia, serif; color: var(--api-text); }
