/* "Altă" is a peer of the popular languages; its search opens on demand. */
#song-form .desktop-language-card-grid,
#song-form .mobile-language-chip-row { position: relative; }
#song-form .language-search-picker { position: static; width: 100%; margin: 0; min-width: 0; }
#song-form .language-other-button {
  display: flex; align-items: center; justify-content: center; gap: 6px;
  width: 100%; height: 100%; min-height: 40px; padding: 8px;
  border: 1px solid #eae5e2; border-radius: 10px; background: #fff;
  color: #342c27; font: inherit; font-size: 12px; cursor: pointer;
}
#song-form .language-other-button .language-search-icon { flex: 0 0 18px; transform: scale(.8); }
#song-form .language-other-label { min-width: 0; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
#song-form .language-search-picker.has-selection .language-other-button {
  border-color: #e75800; background: #f15c00; color: #fff; font-weight: 600;
}
#song-form .language-search-picker.has-selection .language-other-button .language-search-icon::before { border-color: #fff; }
#song-form .language-search-picker.has-selection .language-other-button .language-search-icon::after { background: #fff; }
#song-form .language-search-panel {
  position: absolute; top: calc(100% - 40px); right: 0;
  z-index: 60; width: 32px; padding: 0; opacity: 0; visibility: hidden;
  transition: width 260ms cubic-bezier(.2,.8,.2,1), opacity 160ms ease, visibility 0s 260ms;
}
#song-form .language-search-picker.is-open .language-search-panel { width: 100%; opacity: 1; visibility: visible; transition-delay: 0s; }
#song-form .language-search-panel .language-search-control {
  display: flex; align-items: center; gap: 9px; height: 40px; min-height: 40px;
  padding: 0 6px 0 12px; border: 1px solid #eee2da; border-radius: 999px;
  background: linear-gradient(110deg, #fff, #fbf7f4); box-shadow: none; color: #a14402;
}
#song-form .language-search-panel .language-search-control:focus-within { border-color: #cea48a; }
#song-form .language-search-panel .language-search-input {
  flex: 1; min-width: 0; width: 100%; height: 36px; min-height: 0; padding: 0; margin: 0;
  border: 0; border-radius: 0; background: transparent; box-shadow: none; color: #412919; font-size: 13px; outline: none;
}
#song-form .language-search-panel .language-search-icon { flex: 0 0 18px; }
#song-form .language-search-panel .language-search-icon::before { border-color: #a14402; }
#song-form .language-search-panel .language-search-icon::after { background: #a14402; }
#song-form .language-search-panel .language-search-toggle { flex: 0 0 28px; width: 28px; height: 28px; min-height: 0; padding: 0; border: 0; border-radius: 50%; background: transparent; color: #a14402; box-shadow: none; }
#song-form .language-search-panel .language-search-toggle span { width: auto; height: auto; border: 0; transform: none; font-size: 24px; line-height: 1; }
#song-form .language-search-panel .language-search-toggle:hover { background: #f7f0ec; }
#song-form .language-search-panel .language-search-dropdown {
  position: static; width: 100%; margin-top: 6px; padding: 6px 8px; border: 1px solid #eae5e2; box-shadow: 0 12px 28px #4e2f1d26;
}
@media (min-width: 861px) {
  body.gift-generator-active #song-form .desktop-language-card-grid { grid-template-columns: repeat(9, minmax(0, 1fr)); }
  #song-form .desktop-language-card-grid:has(.language-search-picker.is-open) > .desktop-language-card,
  #song-form .language-search-picker-desktop.is-open > .language-other-button { visibility: hidden; }
}
@media (max-width: 860px) {
  #song-form .language-search-picker-mobile { grid-column: auto; }
  #song-form .language-search-picker-mobile.is-open { grid-column: 1 / -1; }
  #song-form .language-search-picker-mobile.is-open .language-other-button { display: none; }
  #song-form .language-search-picker-mobile:not(.is-open) .language-search-panel { display: none; }
  #song-form .language-search-panel { position: static; width: 100%; margin-top: 0; }
  #song-form .language-search-picker-mobile .language-search-results { max-height: var(--language-search-list-height, 280px); }
  body.mobile-keyboard-focus-active .form-card.mobile-form-stage-active #song-form:has(.language-search-picker-mobile.is-open) {
    /* Override the shared mobile footer's padding reset while search is open. */
    padding-bottom: max(var(--language-search-scroll-space, 96px), calc(96px + var(--mobile-keyboard-offset, 0px))) !important;
  }
}
@media (prefers-reduced-motion: reduce) { #song-form .language-search-panel { transition: none; } }
