.text-reservation {
  color: #842029 !important;
}
.bg-reservation {
  background-image: linear-gradient(#f8d7da, #f8d7da) !important;
}

.text-ota {
  color: #000 !important;
}
.bg-ota {
  background-image: linear-gradient( #d3d3d3, #d3d3d3 ) !important;
}

.form-control.is-warning {
  border-color: #664d03;
}
.form-control.is-warning {
  border-color: #664d03;
  padding-right: calc(1.5em + .75rem);
  background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12' width='12' height='12' fill='none' stroke='%23664d03'%3e%3cpath d='M6 1.5L11 10.5H1z' stroke-linejoin='round'/%3e%3cpath d='M6 4v3' stroke-linecap='round'/%3e%3ccircle cx='6' cy='8.5' r='.5' fill='%23664d03' stroke='none'/%3e%3c/svg%3e");
  background-repeat: no-repeat;
  background-position: right calc(.375em + .1875rem) center;
  background-size: calc(.75em + .375rem) calc(.75em + .375rem);
}

.warning-feedback {
  width: 100%;
  margin-top: 0.3rem;
  font-size: 0.8125rem;
  color: #664d03;
}
/*
Dashboard
*/

.kpi-card .card-body {
  padding: 1rem;
}

.kpi-bg-icon {
  position: absolute;
  right: -4px;
  bottom: -12px;
  font-size: 3.5rem;
  opacity: .07;
}
@media (min-width: 768px) {
  .kpi-card {
    height: 90px;
  }
}

.structure-icon {
  width:42px;
  height:42px;
  border-radius:12px;
  display:flex;
  align-items:center;
  justify-content:center;
}

.legend-dot {
  width: 12px;
  height: 12px;
  border-radius: 3px;
  display: inline-block;
}

.overlay {
  position: absolute;
  inset: 0;
  background: rgba(255,255,255,0.8);
  z-index: 10;
  display: flex;
  justify-content: center;
  align-items: center;
  font-size: 0.9rem;
}
/* =========================
   BASE
========================= */
.bootstrap-table {
  font-family: system-ui, -apple-system, "Segoe UI", Roboto, Arial, sans-serif;
}
/* =========================
   CARD CONTAINER
========================= */
.bootstrap-table .card-view {
  padding: 6px 8px;
  border-bottom: 1px solid #f4f7fa;
}
.bootstrap-table .card-view:last-child {
  border: 0px;
}

/* =========================
   ROW (FORZATURA TOTALE INLINE)
========================= */
.bootstrap-table .card-view .card-view-row {
  display: flex !important;
  flex-direction: row !important;
  align-items: center;
  justify-content: space-between;

  width: 100% !important;
  padding: 4px 0;

  /* 🔥 fondamentale: impedisce wrap interno */
  white-space: nowrap;
}

/* =========================
   LABEL (FORZATA INLINE)
========================= */
.bootstrap-table .card-view .card-view-title {
  display: inline-block !important;

  flex: 0 0 40%;
  max-width: 40%;

  font-size: 12px;
  font-weight: 600;

  /* evita a capo */
  white-space: nowrap !important;
  overflow: hidden;
  text-overflow: ellipsis;
}

/* =========================
   VALUE (FORZATA INLINE)
========================= */
.bootstrap-table .card-view .card-view-value {
  display: inline-block !important;

  flex: 1;
  text-align: right;

  font-size: 13px;
  color: #111827;

  /* evita a capo */
  white-space: nowrap !important;
  overflow: hidden;
  text-overflow: ellipsis;
}

/* =========================
   CARD LOOK MODERNO
========================= */
.bootstrap-table .card-view {
  display: block;
}

/* separazione soft tra righe */
.bootstrap-table .card-view .card-view-row:not(:last-child) {
  border-bottom: 1px solid rgba(15, 23, 42, 0.04);
  padding-bottom: 6px;
  margin-bottom: 6px;
}

/* =========================
   PRIMA RIGA (TITLE PRINCIPALE)
========================= */
.bootstrap-table .card-view .card-view-row:first-child .card-view-value {
  font-size: 15px;
  font-weight: 700;
  color: #0f172a;
}

/* =========================
   SAFETY MOBILE
========================= */
@media (max-width: 576px) {
  .bootstrap-table .card-view .card-view-title {
    max-width: 38%;
    font-size: 11px;
  }

  .bootstrap-table .card-view .card-view-value {
    font-size: 13px;
  }
}
/* =========================
   TAP FEEDBACK MOBILE
========================= */
.bootstrap-table .card-view:active {
  transform: scale(0.99);
}

/* =========================
   TABLE DESKTOP CLEAN
========================= */
.bootstrap-table .table thead {
  background: #f8fafc;
}

.bootstrap-table .table th {
  font-size: 12px;
  font-weight: 600;
  color: #64748b;
}

.bootstrap-table .table td {
  font-size: 14px;
  color: #0f172a;
  vertical-align: middle;
}

/* =========================
   PAGINATION MODERNA
========================= */
.bootstrap-table .pagination {
  --bs-pagination-border-radius: 10px;
}

.bootstrap-table .page-link {
  border: none;
  color: #334155;
  margin: 0 2px;
  border-radius: 8px;
}

.bootstrap-table .page-item.active .page-link {
  background: #0d6efd;
  color: #fff;
}



.input-group-merge .form-control {
  border-right: 1px solid #d9dee3!important; /* o var(--bs-border-color) */
}
.fix-inputs .form-control {
  border: 1px solid #d9dee3!important;
  border-radius: 0.375rem!important;
}


.glow {
  position: relative;
  z-index: 1;
  overflow: hidden;
}

/* 🔴 LAYER COLORATO */
.glow::after {
  content: "";
  position: absolute;
  inset: 0;
  border-radius: 0.375rem;
  opacity: 0.35;
  z-index: -2;
  animation: glowPulse 2s infinite;
}

/* ⚪ LAYER BIANCO */
.glow::before {
  content: "";
  position: absolute;
  inset: 0;
  border-radius: 0.375rem;
  background: radial-gradient(circle, rgba(255,255,255,0.6) 0%, transparent 70%);
  opacity: 0.25;
  z-index: -1;
  animation: glowWhite 2s infinite;
}

/* ✨ LAMPEGGIO ESTERNO (QUI STA IL FIX) */
.btn-primary.glow { animation: borderPrimary 1.8s infinite; }
.btn-secondary.glow { animation: borderSecondary 1.8s infinite; }
.btn-success.glow { animation: borderSuccess 1.8s infinite; }
.btn-danger.glow { animation: borderDanger 1.8s infinite; }
.btn-warning.glow { animation: borderWarning 1.8s infinite; }
.btn-info.glow { animation: borderInfo 1.8s infinite; }
.btn-light.glow { animation: borderLight 1.8s infinite; }
.btn-dark.glow { animation: borderDark 1.8s infinite; }

/* ANIMAZIONI INTERNE */
@keyframes glowPulse {
  0%, 100% { opacity: 0.25; transform: scale(1); }
  50% { opacity: 0.8; transform: scale(1.25); }
}

@keyframes glowWhite {
  0%, 100% { opacity: 0.15; transform: scale(1); }
  50% { opacity: 0.5; transform: scale(1.15); }
}

/* 🎨 COLORI + GLOW ESTERNO */

@keyframes borderPrimary {
  0%,100% { box-shadow: 0 0 6px rgba(13,110,253,0.6); }
  50% { box-shadow: 0 0 18px rgba(13,110,253,1); }
}
.btn-primary.glow::after {
  background: radial-gradient(circle, rgba(13,110,253,0.7), transparent);
}

@keyframes borderSecondary {
  0%,100% { box-shadow: 0 0 6px rgba(108,117,125,0.6); }
  50% { box-shadow: 0 0 18px rgba(108,117,125,1); }
}
.btn-secondary.glow::after {
  background: radial-gradient(circle, rgba(108,117,125,0.7), transparent);
}

@keyframes borderSuccess {
  0%,100% { box-shadow: 0 0 6px rgba(25,135,84,0.6); }
  50% { box-shadow: 0 0 18px rgba(25,135,84,1); }
}
.btn-success.glow::after {
  background: radial-gradient(circle, rgba(25,135,84,0.7), transparent);
}

@keyframes borderDanger {
  0%,100% { box-shadow: 0 0 6px rgba(220,53,69,0.6); }
  50% { box-shadow: 0 0 18px rgba(220,53,69,1); }
}
.btn-danger.glow::after {
  background: radial-gradient(circle, rgba(220,53,69,0.7), transparent);
}

@keyframes borderWarning {
  0%,100% { box-shadow: 0 0 6px rgba(255,193,7,0.6); }
  50% { box-shadow: 0 0 18px rgba(255,193,7,1); }
}
.btn-warning.glow::after {
  background: radial-gradient(circle, rgba(255,193,7,0.7), transparent);
}

@keyframes borderInfo {
  0%,100% { box-shadow: 0 0 6px rgba(13,202,240,0.6); }
  50% { box-shadow: 0 0 18px rgba(13,202,240,1); }
}
.btn-info.glow::after {
  background: radial-gradient(circle, rgba(13,202,240,0.7), transparent);
}

@keyframes borderLight {
  0%,100% { box-shadow: 0 0 6px rgba(173,181,189,0.6); }
  50% { box-shadow: 0 0 18px rgba(173,181,189,1); }
}
.btn-light.glow::after {
  background: radial-gradient(circle, rgba(173,181,189,0.7), transparent);
}

@keyframes borderDark {
  0%,100% { box-shadow: 0 0 6px rgba(33,37,41,0.6); }
  50% { box-shadow: 0 0 18px rgba(33,37,41,1); }
}
.btn-dark.glow::after {
  background: radial-gradient(circle, rgba(33,37,41,0.7), transparent);
}



@keyframes blinkTextSoft {
  0% { opacity: 1; }
  50% { opacity: 0.4; }
  100% { opacity: 1; }
}

.blink-text {
  animation: blinkTextSoft 1.2s infinite;
}

.menu .app-brand.demo {
  height: 64px;
  margin-top: 12px;
}

/* di default nascondo il bottone "mostra meno" */
.amenities-wrapper .btn-less {
  display: none;
}

/* quando il collapse è aperto */
.amenities-wrapper:has(.collapse.show) .btn-more {
  display: none;
}

.amenities-wrapper:has(.collapse.show) .btn-less {
  display: inline-block;
}




.structure_maps {
  width: 100%;
  height: 100%;
}

.avatar-lg {
  --bs-avatar-size: 6rem;
}
.avatar-xxl {
  --bs-avatar-size: 18rem;
}

.fc .fc-multimonth {
  overflow: auto!important;
}

.leaflet-control-attribution {
  display: none;
}

@media (max-width: 768px) {
  .bootstrap-table .fixed-table-toolbar {
    overflow: visible !important;  /* permette che gli elementi vadano a capo */
  }

  .bootstrap-table .columns-right {
    display: flex;
    flex-wrap: wrap !important;    /* elementi uno sotto l'altro */
    align-items: center;
    gap: 0.5rem;
  }

  .bootstrap-table .columns-right > div {
    flex: 1 1 100%; /* ogni div occupa tutta la riga su mobile */
  }
}

.amenity-badge {
  white-space: nowrap;      /* una sola riga */
  overflow: hidden;         /* nasconde l’eccesso */
  text-overflow: ellipsis;  /* ... */
}

/* contenitore del link già relative */
#inbox_total {
  position: relative;   /* mantiene badge posizionato rispetto a questo */
}

/* badge posizionato sopra l'icona */
#inbox_total_unread {
  position: absolute;   /* fondamentale */
  top: 10%;             /* abbassa leggermente rispetto al top dell'icona */
  right: 0;             /* allinea a destra */
  transform: translate(50%, -50%); /* centra sopra l'angolo */
  font-size: 12px;
  min-width: 1.2em;
  height: 1.2em;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 50%;
  box-shadow: 0 0 0 2px #fff;
}
/*
.layout-navbar .navbar-dropdown .dropdown-menu {
  overflow: scroll!important;
}*/


.scrollable-container {
  max-height: 300px;
  overflow-y: auto;
}

.dropdown-footer {
  background: #fff;
}


hr.divider {
  margin: 1rem 0;
  color: inherit;
  background-color: currentColor;
  border: 0;
  opacity: 0.25;
}
/*
.layout-navbar {
  background: none;
  box-shadow: none!important;
}
*/
.rounded-flag {
    display: inline-block;
    width: 2em;
    aspect-ratio: 4 / 3;
    border-radius: 50%;
    overflow: hidden;
    border: 1px solid #ccc;
}

.fa-angle-down.transition {
  transition: transform 0.3s ease;
}
.nav-link[aria-expanded="true"] .fa-angle-down {
  transform: rotate(180deg);
}
.icon-container {
    position: relative;
    display: inline-block;
  }
  .icon-container .asset-status {
    position: absolute;
    top: -5px;
    right: -5px;
    background-color: white;
    border-radius: 50%;
  }


  .carousel-control-prev-icon,
  .carousel-control-next-icon {
    background-color: rgba(0, 0, 0, 0.6);
    background-size: 50% 50%;
    border-radius: 50%;
    padding: 1.25rem;
  }

  .structure-img {
    width: 100%;
    height: auto;
    object-fit: cover;
    border-radius: 0.5rem;
  }
  .service-badge {
    margin-right: 0.5rem;
    margin-bottom: 0.3rem;
  }
  .service-obligatory {
    background-color: #0d6efd;
    color: white;
  }
  .service-optional {
    background-color: #6c757d;
    color: white;
  }
  /* Contenitore stile Booking */
  .overbooking-searchbar {
      padding: 10px;
      gap: 10px;
  }
  .overbooking-field {
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 6px 14px;
    border-radius: 40px;
  }
  .overbooking-field i {
    color: #8b929a;
    font-size: 16px;
  }
  .overbooking-divider {
      width: 1px;
      height: 32px;
      background-color: #2f3439;
  }
  #loading {
      display: none;
  }
  /*
  table.table thead th {
    background: linear-gradient(
      to bottom,
      #8a9299,
      #6c757d
    );
    color: #f8f9fa;
    border-bottom: 2px solid #ffc107!important;
  }

  table.table tbody tr {
    cursor:pointer;
  }
  table.table tbody tr td {
    padding: 0.3rem!important;
  }

  table.table tfoot th {
    background-color: #8a9299;
    color: #f8f9fa;
    border-top: 2px solid #ffc107!important;
  }
  */

.fa-1_5x {
  font-size: 1.5em;
}
ol.breadcrumb li a {
  color: var(--bs-warning);
}
div.table-responsive table tbody tr {
  background-color: #fff;
}

.badge-reservation-confirmed {
  background-color: #198754 !important;
}
.badge-reservation-pending {
  background-color: #ffc107 !important;
  color:black;
}
.badge-reservation-denied, .badge-reservation-canceled {
  background-color: #dc3545 !important;
}

.badge-reservation-cancel_pending {
  background-color: rgb(105, 108, 255) !important;
  color: white!important;
}
.card-title-structure {
  margin-block-start: -1px!important;
  padding-block: 1.05rem!important;
  text-transform:uppercase!important;
  font-size: 14px!important;
  margin-bottom: 0px!important;
  font-weight: bold!important;
}

.direct-chat-text {
  background-color: #fff;
}
.card.card-fullscreen {
  position: fixed !important;
  inset: 0 !important;
  width: 100vw !important;
  height: 100vh !important;
  margin: 0 !important;
  border-radius: 0 !important;
  z-index: 2000 !important;
}
.bootstrap-table .fixed-table-pagination .pagination-detail {
  padding-left: 2px!important;
}


.bootstrap-table .fixed-table-pagination .pagination {
  padding-right: 2px!important;
}

.page-item .page-link {
  border-radius: 0px!important;
}
