
.insuranceLoginFormWrapper textarea.form-control,
.insuranceLoginFormWrapper input.form-control,
.insuranceLoginFormWrapper select.form-select {
  display: block;
  width: 100%;
  padding: 0.5rem 0.85rem;
  margin-bottom: 1rem;
  font-size: 1.05rem;
  line-height: 1.5;
  box-sizing: border-box;
  border-radius: 0.375rem;
  border: 1px solid #ced4da;
  background-color: #fff;
}

.insuranceLoginFormWrapper input[name="password"] {
  margin-bottom: 0;
}

.insuranceLoginFormWrapper table tr {
  display: table-row;
  margin-bottom: 0.5rem;
}

.insuranceLoginFormWrapper table tr + tr {
  margin-top: 0.5rem;
}

.insuranceLoginFormWrapper table th {
  text-align: left;
  vertical-align: top;
  font-weight: 500;
  font-size: 1rem;
  padding-right: 1rem;
  padding-top: 0.3rem;
  white-space: nowrap;
}

.insuranceLoginFormWrapper table td input,
.insuranceLoginFormWrapper table td select,
.insuranceLoginFormWrapper table td textarea {
  display: block;
  width: 100%;
  padding: 0.45rem 0.85rem;  /* snížený padding top i bottom */
  font-size: 1.05rem;
  line-height: 1.4;
  box-sizing: border-box;
  border-radius: 0.375rem;
  border: 1px solid #ced4da;
  background-color: #fff;
}

.insuranceLoginFormWrapper label {
  margin-top: 6px;
}

/* Submit tlačítko */
.insuranceLoginFormWrapper input[type="submit"] {
  background: linear-gradient(to right, #001b44, #003366);
  border: none;
  padding: 0.75rem 1.25rem;
  font-weight: normal;
  color: white;
  width: 100%;
  font-size: 1.05rem;
  transition: all 0.2s ease-in-out;
  border-radius: 0.375rem;
}

.insuranceLoginFormWrapper input[type="submit"]:hover {
  font-weight: bold;
  filter: brightness(1.1);
  cursor: pointer;
}

/* Nadpis */
.insuranceLoginFormWrapper h1 {
  font-size: 2rem;
  margin-bottom: 1.5rem;
}

/* Skrytí nepotřebných <br> */
.insuranceLoginFormWrapper br {
  display: none;
}

/* 📱 Responsivní úpravy pro mobilní zařízení */
@media (max-width: 576px) {
  .insuranceLoginFormWrapper {
    padding: 1rem;
  }

  .insuranceLoginFormWrapper h1 {
    font-size: 1.6rem;
    text-align: center;
  }

  .insuranceLoginFormWrapper table th {
    font-size: 1.05rem;
  }

  .insuranceLoginFormWrapper table td input,
  .insuranceLoginFormWrapper table td select,
  .insuranceLoginFormWrapper table td textarea {
    font-size: 1.1rem;
    padding: 0.65rem 1rem;
  }

  .insuranceLoginFormWrapper input[type="submit"] {
    font-size: 1.1rem;
  }
}

/* Obecný styl pro tlačítka */
.insuranceMainForm .btn-outline-primary {
  background: transparent;
  border-color: #001b44;
  color: #001b44;
  font-weight: 500;
}

/* Styl při najetí myší */
.insuranceMainForm .btn-outline-primary:hover {
  background: #001b44;
  color: white;
  border-color: #001b44;
}

/* Styl při zaškrtnutí */
.insuranceMainForm .btn-check:checked + .btn-outline-primary {
  background: linear-gradient(to right, #001b44, #003366);
  color: white;
  border-color: #003366;
  font-weight: bold;
}

/* Obecný styl pro tlačítka */
.insuranceMainForm .btn-primary {
  background: linear-gradient(to right, #001b44, #003366);
  border-color: #001b44;
  color: white;
  font-weight: 500;
}

.insuranceMainForm .btn-primary:hover {
  background: linear-gradient(to right, #001b44, #003366);
  border-color: #001b44;
  color: white;
  font-weight: bold;
}

/* Obecný styl pro tlačítka */
.insuranceMainForm .btn-primary {
  background: linear-gradient(to right, #001b44, #003366);
  border-color: #001b44;
  color: white;
  font-weight: 500;
}

/* Obecný styl pro tlačítka */
.insuranceMapWrapper .btn-outline-primary {
  background: transparent;
  border-color: #001b44;
  color: #001b44;
  font-weight: 500;
}

/* Styl při najetí myší */
.insuranceMapWrapper .btn-outline-primary:hover {
  background: #001b44;
  color: white;
  border-color: #001b44;
}

/* Styl při zaškrtnutí */
.insuranceMapWrapper .btn-check:checked + .btn-outline-primary {
  background: linear-gradient(to right, #001b44, #003366);
  color: white;
  border-color: #003366;
  font-weight: bold;
}

/* Obecný styl pro tlačítka */
.insuranceAdditionalButtonsWrapper .btn-outline-primary {
  background: linear-gradient(to right, #001b44, #003366);
  color: white;
  border-color: #003366;
  font-weight: 500;
}

.insuranceAdditionalButtonsWrapper .btn-outline-primary:hover {
  background: linear-gradient(to right, #001b44, #003366);
  color: white;
  border-color: #003366;
  font-weight: bold;
}

/* Celá tabulka: výrazné horní a dolní orámování */
#insuranceResultsTable {
  border-top: 2px solid #003366;
  border-bottom: 2px solid #003366;
  background: linear-gradient(to right, #001b44, #003366);
  color: white;
  border-radius: 6px;
  border-collapse: collapse; /* správné sloučení okrajů buněk */
}


#insuranceResultsTable thead th:hover {
  cursor: pointer;
  -webkit-text-fill-color: #003366;
  font-weight: bold;
}

/* Hlavička tabulky: bílé pozadí */
#insuranceResultsTable thead {
  background-color: #ffffff;
}

/* Buňky hlavičky: gradientový text, bez svislých čar, zarovnání na střed */
#insuranceResultsTable thead th {
  background-color: #ffffff;
  text-align: left;
  padding: 12px;
  border-left: none;
  border-right: none;
  border-top: none;
  border-bottom: 2px solid #003366;
  position: relative;

  /* Gradientový text */
  background: linear-gradient(to right, #001b44, #003366);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
  color: transparent;
}

/* Tělo tabulky: každý řádek má jemné spodní orámování */
#insuranceResultsTable tbody tr {
  border-bottom: 1px solid rgba(255, 255, 255, 0.1);
  height: 60px;
}

/* Buňky těla tabulky: žádné boční ohraničení, středový text */
#insuranceResultsTable tbody td {
  border-left: none;
  border-right: none;
  border-bottom: none; /* hlavní spodní linka je na <tr> */
  padding: 10px;
  text-align: left;
}

/* Hover efekt pro řádky tabulky */
#insuranceResultsTable tbody tr:hover {
  background-color: rgba(255, 255, 255, 0.05);
}

.custom-loader {
  border: 10px solid rgba(255, 255, 255, 0.2);
  border-top: 10px solid #ffffff;
  border-radius: 50%;
  width: 80px;
  height: 80px;
  animation: spin 1s linear infinite;
}

@keyframes spin {
  0%   { transform: rotate(0deg); }
  100% { transform: rotate(360deg); }
}

#map-legend-bar {
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  z-index: 900;
  display: block;
  font-size: 0.875rem;
  background-color: #f8f9fa;
  padding-top: 0.25rem;
  border-top: none !important;
}

.map-legend-content {
  display: flex;
  justify-content: center;
  align-items: center;
  flex-wrap: wrap;
  gap: 1.5rem;
  padding: 0.5rem 1rem;
  color: #6c757d; /* Bootstrap text-secondary */
  border: none;
  box-shadow: none;
}

.legend-circle {
  width: 12px;
  height: 12px;
  border-radius: 50%;
  display: inline-block;
}

.legend-line {
  width: 24px;
  height: 0;
  border-top: 3px solid;
  display: inline-block;
}

#legendSection {
  border-top: 2px solid #003366;
  padding-top: 1.5rem;
  margin-top: 2rem;
  display: none;
  min-height: 400px;
}

#legendSection ul {
  list-style: none;
  padding-left: 0;
  margin-left: 0;
}

#legendSection ul li {
  list-style-type: none;
}

#legendSection .emoji {
  display: inline-block;
  width: 1.5em; /* zarovná kolečka */
  text-align: center;
  margin-right: 0.2em; /* mezera mezi emoji a textem */
}

#loadingOverlay {
  z-index: 9999 !important;
}

.ms-custom-46 {
  margin-left: 2.3rem;
}

.mt-custom-29 {
  margin-top: 1.8rem;
}

.mt-custom-dash-additional {
  margin-top: 8px;
}

#logoutButton {
  background: linear-gradient(to bottom, #FAD961, #F76B1C);
  color: white;
  font-weight: bold;
  border: none;
  padding: 0.5rem 1.5rem;
  border-radius: 6px;
  transition: opacity 0.2s;
}

#btn-cloud:hover {
  opacity: 0.9;
  color: white;
  text-decoration: none;
}

#btn-cloud:active {
  opacity: 0.8;
}

.dot {
  display: inline-block;
  width: 10px;
  height: 10px;
  border-radius: 50%;
  margin-right: 6px;
  vertical-align: middle;
  position: relative;
  top: -2px;
}

.dot-green { background-color: #198754; }
.dot-yellow { background-color: #ffc107; }
.dot-red { background-color: #dc3545; }
.dot-orange { background-color: orange; }
.dot-blue { background-color: #0d6efd; }
.dot-black { background-color: #000; }

.ms-custom-1075 {
  margin-left: 1.075rem;
}

.ms-custom-1000 {
  margin-left: 1.00rem;
}

/* Výchozí stav – bílé pozadí, modrý text */
.insuranceAdditionalButtonsWrapper input#showLastSearch.btn-check + label.btn-outline-primary,
.insuranceAdditionalButtonsWrapper input#showLegendSection.btn-check + label.btn-outline-primary {
  background: transparent;
  border-color: #001b44;
  color: #001b44;
  font-weight: 500;
}

/* Hover efekt – modré pozadí, bílé písmo */
.insuranceAdditionalButtonsWrapper input#showLastSearch.btn-check + label.btn-outline-primary:hover,
.insuranceAdditionalButtonsWrapper input#showLegendSection.btn-check + label.btn-outline-primary:hover {
  background: #001b44;
  color: white;
  border-color: #001b44;
  font-weight: bold;
}

/* Zaškrtnuté – gradient jako "Kroupy" */
.insuranceAdditionalButtonsWrapper input#showLastSearch.btn-check:checked + label.btn-outline-primary,
.insuranceAdditionalButtonsWrapper input#showLegendSection.btn-check:checked + label.btn-outline-primary {
  background: linear-gradient(to right, #001b44, #003366);
  color: white;
  border-color: #003366;
  font-weight: bold;
}

.mt-custom-200 {
  margin-top: 0.2rem;
}

.legend-pin {
  max-height: 24px;
  width: auto;
}

#legendSection img.legend-figure { max-height: 420px; object-fit: contain; }

.border-top-darkblue {
  border-top: 2px solid #003366 !important;
}

.legend-square{
  width: 14px;
  height: 14px;
  display: inline-block;
  border-radius: 2px;
  border: 1px solid rgba(0,0,0,.25);
}

.legend-storm        { background: #FFAA00; }
.legend-strongstorm  { background: #FF5500; }
.legend-hail         { background: #800020; }


.map-legend-content .legend-row-compact {
  margin-bottom: -10px;
}

#lastSearchSection {
  display: none;
  min-height: 300px;
}

#lastSearchesTable {
  border-top: 2px solid #003366;
  border-bottom: none !important;
  background: linear-gradient(to right, #001b44, #003366);
  color: white;
  border-radius: 6px;
  border-collapse: collapse;
}

#lastSearchesTable thead th:hover {
  -webkit-text-fill-color: #003366;
  font-weight: bold;
}

#lastSearchesTable thead {
  background-color: #ffffff;
}

#lastSearchesTable thead th {
  background-color: #ffffff;
  text-align: left;
  padding: 12px;
  border-left: none;
  border-right: none;
  border-top: none;
  border-bottom: 2px solid #003366;
  position: relative;
  background: linear-gradient(to right, #001b44, #003366);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
  color: transparent;
}

.lastSearchesBorder {
  margin-top: 2.2em;
}

#lastSearchesTable tbody tr {
  height: 60px;
}

#lastSearchesTable tbody td {
  border-left: none;
  border-right: none;
  border-bottom: none;
  padding: 10px;
  text-align: left;
}

#lastSearchesTable tbody tr:hover {
  background-color: rgba(255, 255, 255, 0.05);
}

.badge-plain {
  border: 1px solid #ccc;
  background: transparent;
  color: #333;
  border-radius: 0.375rem;
  padding: 0.25rem 0.5rem;
  font-size: 0.85rem;
  font-weight: 500;
  margin-right: 0.3rem;
  display: inline-block;
}

.transferSearchBtn,
.exportPdfSearchBtn {
  background: linear-gradient(to right, #001b44, #003366);
  color: white;
  min-width: 190px;
  border-color: #003366;
  font-weight: 500;
}

.transferSearchBtn:hover,
.exportPdfSearchBtn:hover {
  background: linear-gradient(to right, #001b44, #003366);
  color: white !important;
  -webkit-text-fill-color: white !important;
  border-color: #003366;
  font-weight: bold;
}

#lastSearchesWrapper {
  display: none;
}

.table-fixed {
  table-layout: fixed;
  width: 100%;
}

#legend-wind-wrapper {
  display: none;
  flex-wrap: wrap;
  gap: 1rem;
  justify-content: center;
}

#legend-storm-wrapper {
  display: none;
}

.legend-wind-15-18   { background-color: #fff176; }
.legend-wind-18-21   { background-color: #ffb74d; }
.legend-wind-21-24   { background-color: #e57373; }
.legend-wind-24-28   { background-color: #ba68c8; }
.legend-wind-28plus  { background-color: #424242; }



.btn-outline-primary.disabled,
.btn-outline-primary:disabled,
.btn-outline-primary[style*="pointer-events: none"] {
  background-color: #e9ecef !important;
  border-color: #ced4da !important;
  color: #6c757d !important;
  opacity: 1 !important;
  cursor: not-allowed !important;
}

.btn-check:disabled + .btn {
  background-color: #e9ecef !important;
  border-color: #ced4da !important;
  color: #6c757d !important;
  opacity: 1 !important;
  cursor: not-allowed !important;
  box-shadow: none !important;
}

#insuranceResultsTable td.dataTables_empty {
  vertical-align: middle;
  text-align: center;
}

.legend-lightning {
  display: inline-block;
  width: 12px;
  height: 12px;
  border-radius: 50%;
  background: orange;
  border: 1px solid red;
}