/*!*************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[4].oneOf[1].use[1]!./node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[4].oneOf[1].use[2]!./node_modules/resolve-url-loader/index.js??ruleSet[1].rules[4].oneOf[1].use[3]!./node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[4].oneOf[1].use[4]!./assets/scss/extensions/tx_kkinfo.scss ***!
  \*************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/
/**
 * Styling for the KK-Info search component
 */
.kkinfo-search-container {
  margin-bottom: 2rem;
}

.kkinfo-search-form .form-group {
  margin-bottom: 0;
}

.kkinfo-search-form label {
  display: block;
  margin-bottom: 0.5rem;
  font-size: 18px;
  font-style: normal;
  font-weight: 500;
  line-height: 28px;
}

.kkinfo-search-form select {
  width: 100%;
  padding: 0.375rem 0.75rem;
  border: 1px solid #ced4da;
  border-radius: 0.25rem;
  overflow-y: auto;
}

.kkinfo-search-form select[size] {
  height: auto;
}

.kkinfo-search-results {
  margin-top: 2rem;
}

.kkinfo-search-form select option {
  min-block-size: 1.8em;
  min-height: 1.8em;
  display: flex;
  align-items: center;
  padding: 4px 8px;
}
.kkinfo-search-form select option:checked {
  background-color: var(--bs-lighterblue);
  text-decoration: underline;
  color: rgb(16, 16, 16);
}
.kkinfo-search-form select option:active {
  background-color: var(--bs-lighterblue);
}
.kkinfo-search-form select option:focus, .kkinfo-search-form select option:focus-visible {
  background-color: var(--bs-lighterblue);
}
.kkinfo-search-form select option:selected {
  background-color: var(--bs-lighterblue);
  text-decoration: underline;
}

.kkinfo-search-form select:focus option:checked,
.kkinfo-search-form select:focus-visible option:checked {
  background-color: var(--bs-lighterblue);
  color: rgb(16, 16, 16);
  box-shadow: inset 50px 50px 50px var(--bs-lighterblue);
}

@-moz-document url-prefix() {
  .kkinfo-search-form select:focus option:checked {
    color: #fff !important;
    box-shadow: inset 50px 50px 50px var(--bs-primary) !important;
  }
}
.tx-md-kkinfo {
  /* Fade-in animation for new results or changed container */
}
.tx-md-kkinfo .loading {
  padding: 1rem;
  text-align: center;
  color: #666;
  background-color: #f8f9fa;
  border-radius: 0.25rem;
}
.tx-md-kkinfo .hospital-section,
.tx-md-kkinfo .contact-details {
  animation: fadeIn 0.3s ease-in;
}
@keyframes fadeIn {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}

.kkinfo-search-form .hospital-section,
.kkinfo-search-form .business-area-group {
  padding: 1.5rem;
  background-color: var(--bs-lighterblue);
  border-radius: 10px;
}

.kkinfo-search-form__keyword-group {
  padding: 1.5rem;
  background-color: var(--bs-lighterblue);
  border-radius: 10px;
  display: flex;
  flex-direction: column;
  gap: 1rem;
}
.kkinfo-search-form fieldset {
  border: none;
  padding: 0;
  margin: 0;
}
.kkinfo-search-form legend {
  display: block;
  margin-bottom: 0.5rem;
  color: var(--bs-primary);
  font-size: 22px;
  font-style: normal;
  font-weight: 500;
  line-height: 28px;
}

#kkinfo-search-form {
  display: flex;
  flex-direction: column;
  gap: 2rem;
}
#kkinfo-search-form .input-group {
  gap: 1.25rem;
}
#kkinfo-search-form .contact-details {
  border-radius: 10px;
  border: 3px solid var(--bs-lightblue);
  padding: 24px 24px 32px 24px;
}
#kkinfo-search-form .hospital-group {
  display: flex;
  flex-direction: column;
  gap: 1rem;
}

.contact-communication__details {
  display: flex;
  flex-direction: column;
  gap: 1rem;
}
.contact-communication__details .contact-phone,
.contact-communication__details .contact-fax,
.contact-communication__details .contact-email,
.contact-communication__details .contact-website {
  display: flex;
  gap: 0.5rem;
  align-items: center;
}
.contact-communication__details .contact-phone i,
.contact-communication__details .contact-fax i,
.contact-communication__details .contact-email i,
.contact-communication__details .contact-website i {
  color: var(--bs-link-color);
}
.contact-communication__details .contact-phone a:hover,
.contact-communication__details .contact-phone a:focus,
.contact-communication__details .contact-fax a:hover,
.contact-communication__details .contact-fax a:focus,
.contact-communication__details .contact-email a:hover,
.contact-communication__details .contact-email a:focus,
.contact-communication__details .contact-website a:hover,
.contact-communication__details .contact-website a:focus {
  text-decoration: underline;
}

#filters-container #zipcode-section {
  padding: 1.5rem;
  background-color: var(--bs-lighterblue);
  border-radius: 10px;
  display: flex;
  flex-direction: column;
  gap: 1rem;
}

/* ===== NEW: ZIP Code Search Group - Combined Input/Select styling ===== */
.zipcode-search-group {
  display: flex;
  flex-direction: column;
  border: 1px solid var(--bs-primary);
  border-radius: 24px;
  overflow: hidden;
  transition: border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;
}
.zipcode-search-group:hover {
  box-shadow: 0 0 0 3px rgba(0, 75, 110, 0.7);
}
.zipcode-search-group:focus-within {
  box-shadow: 0 0 0 3px rgba(0, 75, 110, 0.7);
}
.zipcode-search-group:focus-within input, .zipcode-search-group:focus-within select {
  background-color: #fff !important;
}
.zipcode-search-group input {
  border: none !important;
  border-radius: 24px 24px 0 0 !important;
  margin-bottom: 0;
}
.zipcode-search-group input:focus, .zipcode-search-group input:hover {
  box-shadow: none !important;
  border-color: transparent !important;
}
.zipcode-search-group input:focus {
  background-color: #fff !important;
}
.zipcode-search-group select {
  border: none !important;
  border-radius: 0 0 24px 24px !important;
  min-height: 120px;
}
.zipcode-search-group select:focus, .zipcode-search-group select:hover {
  box-shadow: none !important;
  border-color: transparent !important;
}
.zipcode-search-group input:focus ~ select,
.zipcode-search-group input:active ~ select {
  background-color: #fff !important;
}

/* ===== LEGACY: Old ZIP Code styling - COMMENTED OUT ===== */
/*
.zipcode-group select[size] {
    min-height: 120px;
    border-top: none;
    border-top-left-radius: 0;
    border-top-right-radius: 0;
}

.zipcode-group input {
    border-bottom: none;
    border-bottom-left-radius: 0;
    border-bottom-right-radius: 0;
    margin-bottom: 0;
}
*/
/* Ensure consistent styling with hospital select */
.zipcode-group select[size="6"] {
  height: auto;
}
