/* ==========================================
   VARIABILI GLOBALI – PALETTE COMETA
   ========================================== */
:root {
  /* Brand principale */
  --brand-orange:        #fb601f;
  --brand-orange-dark:   #d94e14;

  /* Toni chiari per sfondi e stati */
  --brand-orange-100:    #ffe7db;
  --brand-orange-150:    #ffd9c7;
  --brand-orange-200:    #ffb692;

  /* Colori testo e superfici */
  --ink:   #1f2428;
  --muted: #6b727a;
  --panel: #fffaf7;  /* pannelli molto chiari */
  --card:  #fff6f0;  /* card morbide */
  --border: #f0e4de;
  --shadow: 0 10px 24px rgba(0, 0, 0, .10);

  /* Focus ring arancione */
  --ring: 0 0 0 .25rem rgba(251, 96, 31, .25);

  /* Palette area ADMIN */
  --cometa-admin-primary:      #fb601f;
  --cometa-admin-primary-dark: #c94712;
  --cometa-admin-primary-soft: rgba(251, 96, 31, 0.08);
  --cometa-admin-primary-soft2:rgba(251, 96, 31, 0.16);
  --cometa-admin-text-dark:    #5a2b0a;
}

/* ==========================================
   LINK E ICONE SOCIAL
   ========================================== */

/* Link brand in generale */
a,
.link-brand {
  color: var(--brand-orange);
}

a:hover,
.link-brand:hover {
  color: var(--brand-orange-dark);
  filter: brightness(0.95);
}

/* Icone social */
.social-links .icon-link {
  color: var(--brand-orange);
  text-decoration: none;
  display: inline-flex;
  line-height: 1;
  transition: color .2s ease, transform .2s ease, filter .2s ease;
}

.social-links .icon-link:hover,
.social-links .icon-link:focus-visible {
  color: var(--brand-orange-dark);
  transform: translateY(-2px);
  filter: drop-shadow(0 0 .6rem rgba(251, 96, 31, .35));
  outline: none;
}

/* ==========================================
   BOTTONI – TEMA COMETA (GLOBAL + ADMIN)
   ========================================== */

/* Bottoni primary: pieno arancione brand */
.btn-primary {
  background-color: var(--cometa-admin-primary);
  border-color: var(--cometa-admin-primary);
  color: #fff;
}

/* Hover / Focus: leggermente più scuro */
.btn-primary:hover,
.btn-primary:focus {
  background-color: var(--cometa-admin-primary-dark);
  border-color: var(--cometa-admin-primary-dark);
  color: #fff;
}

/* Stato attivo / premuto / togglato
   – usato per:
   - click su .btn-primary
   - toggle con .btn-check
   - dropdown aperti
*/
.btn-check:checked + .btn-primary,
.btn-check:active + .btn-primary,
.btn-primary:active,
.btn-primary.active,
.show > .btn-primary.dropdown-toggle {
  background-color: var(--cometa-admin-primary-dark);
  border-color: var(--cometa-admin-primary-dark);
  color: #fff;
  box-shadow: 0 0 0 0.2rem rgba(251, 96, 31, 0.35);
}

/* Bottoni primary disabilitati */
.btn-primary:disabled,
.btn-primary.disabled {
  background-color: var(--brand-orange-200);
  border-color: var(--brand-orange-200);
  color: #fff;
}

/* Bottoni outline-primary: bordo arancione */
.btn-outline-primary {
  color: var(--cometa-admin-primary);
  border-color: var(--cometa-admin-primary);
  background-color: transparent;
}

/* Hover / Focus outline-primary:
   riempimento soft arancione */
.btn-outline-primary:hover,
.btn-outline-primary:focus {
  background-color: var(--cometa-admin-primary-soft);
  border-color: var(--cometa-admin-primary-dark);
  color: var(--cometa-admin-primary-dark);
}

/* Stato attivo / premuto outline-primary:
   riempito pieno arancione */
.btn-check:checked + .btn-outline-primary,
.btn-check:active + .btn-outline-primary,
.btn-outline-primary:active,
.btn-outline-primary.active,
.show > .btn-outline-primary.dropdown-toggle {
  background-color: var(--cometa-admin-primary);
  border-color: var(--cometa-admin-primary-dark);
  color: #fff;
  box-shadow: 0 0 0 0.2rem rgba(251, 96, 31, 0.25);
}

/* Rimozione alone blu residuale su active+focus */
.btn-outline-primary:active:focus,
.btn-outline-primary.active:focus,
.show > .btn-outline-primary.dropdown-toggle:focus {
  box-shadow: 0 0 0 0.2rem rgba(251, 96, 31, 0.32);
}

/* Bottoni outline-secondary (neutri ma coerenti col brand) */
.btn-outline-secondary {
  color: var(--cometa-admin-text-dark);
  border-color: var(--cometa-admin-primary-soft2);
  background-color: #fff;
}

.btn-outline-secondary:hover,
.btn-outline-secondary:focus {
  background-color: var(--cometa-admin-primary-soft);
  border-color: var(--cometa-admin-primary-soft2);
  color: var(--cometa-admin-text-dark);
}

/* Bottoni link nell’area admin (es. "Modifica") */
.btn-link {
  color: var(--cometa-admin-primary);
  text-decoration: none;
}

.btn-link:hover {
  color: var(--cometa-admin-primary-dark);
  text-decoration: underline;
}

/* Focus generico di input, select e bottoni:
   ring arancione morbido */
.form-control:focus,
.form-select:focus,
.btn:focus {
  border-color: var(--cometa-admin-primary);
  box-shadow: var(--ring);
  outline: none;
}

/* ==========================================
   BODY, MAIN, SEZIONI
   ========================================== */

body {
  min-height: 100vh;
}

/* Sfondo principale con gradiente caldo */
main {
  color: var(--ink);
  background: linear-gradient(180deg, #fff9f6 0%, #fff5ef 100%);
  padding-block: .5rem .5rem;
}

.section {
  border: 0 solid #ff78009e;
  background: #fff;
  border-radius: 1rem;
  box-shadow: 0 4px 14px rgba(244, 116, 53, 0.26);
  padding: .5rem;
}

@media (min-width: 768px) {
  .section {
    padding: .5rem;
  }
}

/* ==========================================
   HEADER & NAVBAR
   ========================================== */

/* Header con gradiente arancione */
header {
  background: linear-gradient(135deg, #fb601f 0%, #ff7a1a 50%, #e6532e 100%);
  backdrop-filter: saturate(1.1) blur(6px);
  border-bottom: 0;
  box-shadow: 0 8px 22px rgba(251, 96, 31, .22);
}

/* Navbar trasparente sopra l’header */
.navbar-cometa {
  background: transparent !important;
}

/* Link della navbar (bianco, bold) */
.navbar-cometa .nav-link {
  color: #fff !important;
  font-weight: 650;
  transition: color .4s ease, background .4s ease;
  border-radius: .5rem;
  padding: .4rem .8rem;
}

/* Stato hover/active nav-link:
   pill bianca semi-trasparente */
.navbar-cometa .nav-link:hover,
.navbar-cometa .nav-link:focus,
.navbar-cometa .nav-link.active {
  color: #fff;
  background: rgba(255, 255, 255, 0.15);
}

/* Toggler mobile */
.navbar-toggler {
  border-color: rgba(255, 255, 255, 0.5);
}

.navbar-toggler-icon {
  filter: brightness(0) invert(1); /* icona bianca */
}

/* Logo COMETA */
.navbar-brand {
  padding-top: 15px;
  padding-bottom: 15px;
  line-height: 1;
}

.brand-logo {
  height: clamp(38px, 5.8vw, 56px);
  width: auto;
  display: block;
  object-fit: contain;
}

/* Hero Orbite/Cometa con stesso sfondo del main */
.orbite-hero {
  padding: 0;
  color: var(--ink);
  background: linear-gradient(180deg, #fff9f6 0%, #fff5ef 100%);
}

.orbite-hero-logo {
  height: 80px;
  width: auto;
  object-fit: contain;
}

/* ==========================================
   CARD HEADER (ADMIN)
   ========================================== */

.card-header {
  background-color: var(--cometa-admin-primary-soft);
  border-bottom: 1px solid var(--cometa-admin-primary-soft2);
  color: var(--cometa-admin-text-dark);
  font-weight: 600;
}

.card-header h2,
.card-header h3,
.card-header h4,
.card-header h5,
.card-header h6 {
  margin-bottom: 0;
  color: var(--cometa-admin-text-dark);
}

/* ==========================================
   SWITCH, CHECKBOX, RADIO (ADMIN)
   ========================================== */

/* Interruttori tipo levetta */
.form-switch .form-check-input {
  width: 2.6em;
  height: 1.4em;
  cursor: pointer;
  background-color: #e5e5e5;
  border-color: #cfcfcf;
}

/* Stato checked: arancione COMETA */
.form-switch .form-check-input:checked {
  background-color: var(--cometa-admin-primary);
  border-color: var(--cometa-admin-primary-dark);
}

/* Focus input (switch, checkbox, radio) */
.form-check-input:focus {
  border-color: var(--cometa-admin-primary-soft2);
  box-shadow: 0 0 0 0.2rem rgba(251, 96, 31, 0.25);
}

/* Checkbox & radio selezionati */
.form-check-input[type="checkbox"]:checked,
.form-check-input[type="radio"]:checked {
  background-color: var(--cometa-admin-primary);
  border-color: var(--cometa-admin-primary-dark);
}

/* ==========================================
   DROPDOWN MENU UTENTE (ADMIN)
   ========================================== */

.dropdown-menu {
  border-radius: 0.75rem;
  border-color: var(--cometa-admin-primary-soft2);
  box-shadow: 0 0.25rem 0.75rem rgba(0,0,0,0.08);
}

.dropdown-item {
  font-size: 0.9rem;
}

.dropdown-item:hover,
.dropdown-item:focus {
  background-color: var(--cometa-admin-primary-soft);
  color: var(--cometa-admin-text-dark);
}

/* Evidenzia voci admin-only opzionali */
[data-auth="admin-only"] > .dropdown-item::before {
  content: "★ ";
  font-size: 0.75rem;
  color: var(--cometa-admin-primary-dark);
}

/* ==========================================
   TABELLE ADMIN
   ========================================== */

/* Header tabella con sfondo arancione soft */
.table thead.table-light th {
  background-color: var(--cometa-admin-primary-soft);
  border-bottom-color: var(--cometa-admin-primary-soft2);
}

/* Righe hover leggere */
.table tbody tr:hover {
  background-color: rgba(251, 96, 31, 0.03);
}

/* ==========================================
   BADGE / ETICHETTE DI STATO
   ========================================== */

.badge-admin {
  background-color: var(--cometa-admin-primary-soft2);
  color: var(--cometa-admin-text-dark);
  border-radius: 999px;
  font-weight: 500;
}

/* ==========================================
   PANEL DINAMICI (es. #panelSlot)
   ========================================== */

#panelSlot {
  opacity: 0;
  transform: translateY(6px);
  transition: opacity .22s ease, transform .22s ease;
}

#panelSlot.show {
  opacity: 1;
  transform: none;
}

#panelSlot .h4,
#panelSlot h2 {
  letter-spacing: .01em;
  margin-bottom: .6rem;
}

#panelSlot p {
  margin-bottom: .75rem;
}

/* ==========================================
   PARTNER – CARD & GRID
   ========================================== */

.partner-card {
  border: 3px solid #d1d3d6;
  border-radius: 2rem;
  padding: 0.5rem;
  box-shadow: 0 6px 18px rgba(0, 0, 0, .25);
}

.partner-logo {
  max-height: 80px;
  width: auto;
  object-fit: contain;
}

@media (max-width: 575.98px) {
  .partner-logo {
    max-height: 78px;
  }
}

/* Griglia partner */
.partner-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 12px;
}

@media (min-width: 576px) {
  .partner-grid {
    grid-template-columns: repeat(3, 1fr);
  }
}

@media (min-width: 768px) {
  .partner-grid {
    grid-template-columns: repeat(4, 1fr);
  }
}

@media (min-width: 992px) {
  .partner-grid {
    grid-template-columns: repeat(6, 1fr);
  }
}

.partner-item {
  display: grid;
  place-items: center;
  background: #fff;
  border: 3px solid #eee;
  border-radius: .75rem;
  padding: .75rem;
  min-height: 110px;
}

.partner-item img {
  max-height: 72px;
  width: auto;
  object-fit: contain;
  filter: drop-shadow(0 2px 8px rgba(0, 0, 0, .06));
}

.partner-item.placeholder {
  background: repeating-linear-gradient(
    45deg,
    #f7f7f7, #f7f7f7 10px,
    #f0f0f0 10px, #f0f0f0 20px
  );
  color: #666;
  font-weight: 600;
}

.partner-item.placeholder span {
  font-size: 1rem;
}

/* ==========================================
   TOGGLE AVANZATI / CHEVRON
   ========================================== */

.adv-toggle {
  cursor: pointer;
  display: inline-flex;
  align-items: center;
  gap: .5rem;
}

.chev {
  display: inline-block;
  transition: transform .25s ease;
}

.adv-toggle[aria-expanded="true"] .chev {
  transform: rotate(180deg);
}

/* ==========================================
   FOOTER – GRADIENTE CALDO
   ========================================== */

footer.footer-strong {
  background: linear-gradient(180deg, #fb601f, #e6532e);
  color: #fff;
  box-shadow: 0 -8px 22px rgba(0, 0, 0, .15) inset;
}

footer.footer-strong a {
  color: #fff;
  text-decoration: none;
}

footer.footer-strong a:hover {
  opacity: .9;
}

.footer-logo {
  height: clamp(36px, 4.2vw, 52px);
  width: auto;
  object-fit: contain;
}

.footer-copy {
  font-size: .8rem;
  opacity: .9;
}

/* ==========================================
   MAPPA "DOVE SIAMO" & OVERLAY
   ========================================== */

#mapItinerant {
  height: 600px;
  border: 1px solid #e7e7ea;
  border-radius: 1rem;
}

.map-overlay {
  position: absolute;
  top: .75rem;
  left: .75rem;
  z-index: 1000;
  background: #fff;
  border: 1px solid #e7e7ea;
  border-radius: .75rem;
  box-shadow: 0 1px 2px rgba(0, 0, 0, .06);
  padding: .75rem;
  max-width: min(420px, 90%);
}

.map-overlay h3 {
  font-size: 1rem;
  margin: 0 0 .25rem 0;
}

.itinerant-status {
  display: inline-flex;
  align-items: center;
  gap: .4rem;
  padding: .25rem .5rem;
  border-radius: .5rem;
  font-weight: 600;
}

.itinerant-status--on {
  background: #e7f7ec;
  color: #236d3d;
  border: 1px solid #b7e5c9;
}

.itinerant-status--off {
  background: #f9eaea;
  color: #7a1b1b;
  border: 1px solid #f1c8c8;
}

/* Legend icons */
.map-card .icon,
.legend .icon {
  display: inline-block;
  width: 18px;
  height: 18px;
  vertical-align: middle;
  background-size: contain;
  background-repeat: no-repeat;
}

/* Icone SVG inline (bus/edifici) */
#icon-bus-green {
  background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'><rect width='18' height='12' x='3' y='5' rx='2' ry='2' fill='%2327ae60'/><circle cx='7' cy='19' r='2' fill='%23333'/><circle cx='17' cy='19' r='2' fill='%23333'/><rect x='5' y='7' width='14' height='6' fill='white'/></svg>");
}

#icon-bus-grey {
  background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'><rect width='18' height='12' x='3' y='5' rx='2' ry='2' fill='%239aa3a7'/><circle cx='7' cy='19' r='2' fill='%23333'/><circle cx='17' cy='19' r='2' fill='%23333'/><rect x='5' y='7' width='14' height='6' fill='white'/></svg>");
}

#icon-bld-blue {
  background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'><rect x='4' y='3' width='16' height='18' rx='2' ry='2' fill='%232b6cb0'/><rect x='7' y='6' width='3' height='3' fill='white'/><rect x='14' y='6' width='3' height='3' fill='white'/><rect x='7' y='11' width='3' height='3' fill='white'/><rect x='14' y='11' width='3' height='3' fill='white'/><rect x='10' y='16' width='4' height='5' fill='%231a202c'/></svg>");
}

#icon-bld-orange {
  background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'><rect x='4' y='3' width='16' height='18' rx='2' ry='2' fill='%23ff7a1a'/><rect x='7' y='6' width='3' height='3' fill='white'/><rect x='14' y='6' width='3' height='3' fill='white'/><rect x='7' y='11' width='3' height='3' fill='white'/><rect x='14' y='11' width='3' height='3' fill='white'/><rect x='10' y='16' width='4' height='5' fill='%231a202c'/></svg>");
}

#icon-bld-purple {
  background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'><rect x='4' y='3' width='16' height='18' rx='2' ry='2' fill='%237e57c2'/><rect x='7' y='6' width='3' height='3' fill='white'/><rect x='14' y='6' width='3' height='3' fill='white'/><rect x='7' y='11' width='3' height='3' fill='white'/><rect x='14' y='11' width='3' height='3' fill='white'/><rect x='10' y='16' width='4' height='5' fill='%231a202c'/></svg>");
}

/* Pin custom Leaflet (cerchio + triangolo) */
.leaflet-marker .marker-pin {
  width: 34px;
  height: 34px;
  border-radius: 50%;
  background: #fff;
  border: 2px solid currentColor;
  display: grid;
  place-items: center;
  box-shadow: 0 2px 8px rgba(0, 0, 0, .18);
  position: relative;
}

.leaflet-marker .marker-pin::after {
  content: "";
  position: absolute;
  bottom: -8px;
  left: 50%;
  transform: translateX(-50%);
  width: 0;
  height: 0;
  border-left: 8px solid transparent;
  border-right: 8px solid transparent;
  border-top: 10px solid currentColor;
  filter: drop-shadow(0 1px 2px rgba(0, 0, 0, .2));
}

.leaflet-marker svg {
  display: block;
  width: 18px;
  height: 18px;
  fill: currentColor;
}

/* Colori coerenti con legenda */
.leaflet-marker.fix-blue   { color: #2b6cb0; }  /* edificio fisso blu    */
.leaflet-marker.fix-orange { color: #ff7a1a; }  /* edificio fisso arancio */
.leaflet-marker.fix-purple { color: #7e57c2; }  /* edificio fisso viola   */
.leaflet-marker.bus-green  { color: #27ae60; }  /* bus attivo verde       */
.leaflet-marker.bus-grey   { color: #9aa3a7; }  /* bus non attivo grigio  */

/* ==========================================
   DATE LIST / CHIP
   ========================================== */

.date-list {
  list-style: none;
  padding-left: 0;
  margin: .5rem 0 0;
}

.date-list li {
  font-size: .95rem;
  color: #6c757d;
  margin: .125rem 0;
}

.date-chip {
  display: inline-block;
  padding: .25rem .5rem;
  border-radius: .5rem;
  background: #f1f3f5;
}

/* Chip data "oggi" evidenziata */
.date-chip--today {
  background: var(--brand-orange);
  color: #fff;
  font-weight: 700;
  box-shadow: 0 .4rem 1rem rgba(251, 96, 31, .25);
}

/* ==========================================
   BLOCKQUOTE / TESTI
   ========================================== */

blockquote p {
  margin-bottom: .5rem;
}

.blockquote-footer {
  display: block;
  margin-top: .25rem;
  line-height: 1.25;
  opacity: .85;
}

/* Bottoni arancioni SOLO dentro il container:
   <div class="d-flex flex-wrap gap-2 justify-content-between"> ... */
.d-flex.flex-wrap.gap-2.justify-content-between .btn-outline-primary {
  color: var(--cometa-admin-primary) !important;
  border-color: var(--cometa-admin-primary) !important;
  background-color: transparent !important;
}

/* Hover / focus */
.d-flex.flex-wrap.gap-2.justify-content-between .btn-outline-primary:hover,
.d-flex.flex-wrap.gap-2.justify-content-between .btn-outline-primary:focus {
  color: var(--cometa-admin-primary-dark) !important;
  background-color: var(--cometa-admin-primary-soft) !important;
  border-color: var(--cometa-admin-primary-dark) !important;
}

/* Active / checked / dropdown aperto */
.d-flex.flex-wrap.gap-2.justify-content-between .btn-check:checked + .btn-outline-primary,
.d-flex.flex-wrap.gap-2.justify-content-between .btn-check:active + .btn-outline-primary,
.d-flex.flex-wrap.gap-2.justify-content-between .btn-outline-primary:active,
.d-flex.flex-wrap.gap-2.justify-content-between .btn-outline-primary.active,
.d-flex.flex-wrap.gap-2.justify-content-between .show > .btn-outline-primary.dropdown-toggle {
  color: #fff !important;
  background-color: var(--cometa-admin-primary) !important;
  border-color: var(--cometa-admin-primary-dark) !important;
  box-shadow: 0 0 0 0.2rem rgba(251, 96, 31, 0.25) !important;
}

/* Rimozione alone blu */
.d-flex.flex-wrap.gap-2.justify-content-between .btn-outline-primary:active:focus,
.d-flex.flex-wrap.gap-2.justify-content-between .btn-outline-primary.active:focus,
.d-flex.flex-wrap.gap-2.justify-content-between .show > .btn-outline-primary.dropdown-toggle:focus {
  box-shadow: 0 0 0 0.2rem rgba(251, 96, 31, 0.32) !important;
}

/* Icona omino nel bottone utente */

/* Stato base: cerchio chiaro, icona neutra */
#userMenuButton {
  background-color: #ffffff !important;   /* cerchio bianco */
  color: #6c757d;                         /* grigio neutro */
  border: none;
}



/* Stato normale */
#userMenuButton .bi-person-circle {
  color: var(--cometa-admin-primary) !important;
  transition: color 0.2s ease;
}

/* Stato premuto / menu aperto */
#userMenuButton[aria-expanded="true"] .bi-person-circle,
#userMenuButton:active .bi-person-circle {
  color: var(--cometa-admin-primary-dark) !important;
}

/* ===========================
   USER MENU BUTTON – STATO LOGIN
   =========================== */

/* Icona SEMPRE arancio */
#userMenuButton .bi-person-circle {
  color: var(--cometa-admin-primary) !important;
  transition: color 0.2s ease;
}

/* ----- STATO: NON LOGGATO (default) ----- */
body.not-logged #userMenuButton {
  background-color: var(--cometa-admin-primary) !important;
  border: none;
}

body.not-logged #userMenuButton .bi-person-circle {
  color: #fff !important;   /* omino bianco su sfondo arancio */
}

/* ----- STATO: LOGGATO ----- */
body.logged #userMenuButton {
  background-color: #ffffff !important;
  border: 1px solid var(--cometa-admin-primary-soft2);
}

/* Stato attivo (menu aperto) quando loggato */
body.logged #userMenuButton[aria-expanded="true"] {
  box-shadow: 0 0 0 2px rgba(251, 96, 31, 0.25);
}

/* Caravan non attivo (grigio) */
.marker-bus-off rect:first-child {
  fill: #cbd5e1;
}

/* Caravan attivo oggi (arancio / evidenziato) */
.marker-bus-on rect:first-child {
  fill: #fb601f;
}
/* Bolla rotonda bianca con bordo e ombra */
.leaflet-marker-icon .marker-pin {
  width: 34px;
  height: 34px;
  border-radius: 50%;
  background: #fff;
  border: 2px solid currentColor;
  display: grid;
  place-items: center;
  box-shadow: 0 2px 8px rgba(0, 0, 0, .18);
  position: relative;
}

/* Coda a goccia del pin */
.leaflet-marker-icon .marker-pin::after {
  content: "";
  position: absolute;
  bottom: -8px;              /* quanto scende sotto il cerchio */
  left: 50%;
  transform: translateX(-50%);
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 8px 6px 0 6px;  /* triangolino */
  border-color: currentColor transparent transparent transparent;
}

/* SVG interno */
.leaflet-marker-icon .marker-pin svg {
  width: 18px;
  height: 18px;
}

/* Colori base / varianti fisse */
.marker-pin-fixed {
  color: #1e293b; /* sedi fisse: blu/grigio scuro */
}

/* Caravan base (non attivo) */
.marker-pin-bus {
  color: #64748b;
}

/* Caravan attivo oggi: cambia solo colore (cerchio + coda) */
.marker-bus-on .marker-pin {
  color: #fb601f;
}

/* opzionale: leggero “pulse” sul giorno attivo */
.marker-bus-on .marker-pin {
  animation: pin-pulse 1.2s ease-out infinite;
}

@keyframes pin-pulse {
  0%   { box-shadow: 0 2px 8px rgba(0,0,0,.18); }
  50%  { box-shadow: 0 0 0 6px rgba(251,96,31,.25); }
  100% { box-shadow: 0 2px 8px rgba(0,0,0,.18); }
}
/* Base comune per le sedi fisse (fallback) */
.marker-pin-fixed {
  color: #1e293b;
}

/* Besana: blu */
.marker-pin-besana {
  color: #2563eb; /* blu intenso */
}

/* Carate: arancio COMETA */
.marker-pin-carate {
  color: #fb601f;
}

/* Lissone: purple */
.marker-pin-lissone {
  color: #8b5cf6; /* viola acceso */
}
