.popup-overlay {
  position: fixed;
  inset: 0;
  background: rgba(0, 0, 0, 0.6);
  display: none;
  z-index: 1000;
  width: 100%;
  height: 100%;
  left: 0;
}

/* Popup Window */
.popup-window {
  position: fixed;
  top: 50%;
  left: 50%;
  width: 100%;
  max-width: 60vw;
  max-height: 90vh;
  transform: translate(-50%, -50%);
  background: var(--popup-bg);
  border-radius: 12px;
  padding: 2vw;
  display: none;
  overflow-y: auto;
  z-index: 1001;
}

/* Header */
.popup-header {
  display: flex;
  justify-content: flex-end;
}

.popup-close {
  background: none;
  border: none;
  font-size: 2.5vw;
  color: var(--popup-close);
  cursor: pointer;
}

.popup-close:focus {
  outline: 0.3vw solid var(--tab-focus);
  border-radius: 10%;
}

.input-label {
  color: var(--label-color);
}

label {
  font-size: 1.5vw;
  margin-bottom: 0.3vw;
}

.autocomplete-container {
  position: relative;
}

input[type="text"] {
  width: 100%;
  padding: 0.8vw;
  border: 0.2vw solid var(--input-border);
  border-radius: 0.6vw;
  background: var(--input-bg);
  color: var(--input-color);
  font-size: 1.2vw;
  margin: 0.5vw 0;
}

input[type="text"]:focus {
  outline: 0.3vw solid var(--input-focus-border);
  border: none;
}

.autocomplete-list {
  position: absolute;
  top: 100%;
  left: 0;
  right: 0;
  background: white;
  border-top: none;
  max-height: 250px;
  overflow-y: auto;
  z-index: 1000;
  color: white;
}

.autocomplete-list.citylist {
  z-index: 999;
}

.autocomplete-item {
  padding: 12px;
  font-size: 1.3vw;
  color: black;
  cursor: pointer;
}

.autocomplete-item.focused,
.autocomplete-item:hover {
  background: var(--tab-focus);
  color: white;
}

#selectedCountryCode {
  font-size: 18px;
  margin-top: 10px;
  color: #ccc;
}

button.save-btn {
  background: var(--save-btn-bg);
  font-weight: 900;
  color: var(--save-btn-color);
  font-size: 1.3vw;
  padding: 0.8vw 2vw;
  border: none;
  border-radius: 0.8vw;
  cursor: pointer;
  margin: 1vw 0vw 1vw;
}

button.save-btn:focus {
  outline: 0.3vw solid #fff;
}

/* Focus outline for TV remote navigation */
[tabindex]:focus {
  outline: 0.3vw solid var(--tab-focus);
}

.alarm-section {
  padding-top: 15px;
}

.alarm-setting-header {
  display: flex;
  justify-content: space-between;
  font-size: 1.5vw;
  font-weight: bold;
  margin-bottom: 10px;
  padding: 0 1.3vw;
  color: var(--label-color) !important;
}

.alarm-section h3 {
  margin-bottom: 10px;
  color: #fff;
}

.alarm-item {
  display: flex;
  justify-content: space-between;
  border: 2px solid transparent;
  align-items: center;
  margin: 8px 0;
  font-size: 16px;
  padding: 0 1.3vw;
}

.alarm-item.focused {
  border: 0.3vw solid var(--tab-focus);
  border-radius: 0.6vw;
}

.alarm-prayer-div {
  display: flex;
  width: 90%;
  justify-content: space-between;
  align-items: center;
  margin: 8px 0;
  font-size: 16px;
  color: var(--label-color) !important;
}

/* Toggle Switch */
.switch {
  position: relative;
  display: inline-block;
  width: 3vw;
  height: 1.5vw;
}

.switch input {
  opacity: 0;
  width: 0;
  height: 0;
}

.slider {
  position: absolute;
  cursor: pointer;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background-color: #888;
  transition: 0.4s;
  border-radius: 1.5vw;
}

.slider:before {
  position: absolute;
  content: "";
  height: 1.1vw;
  width: 1.1vw;
  left: 0.2vw;
  bottom: 0.2vw;
  background-color: white;
  transition: 0.4s;
  border-radius: 50%;
}

input:checked+.slider {
  background-color: var(--checkbox-slider-bg);
}

input:checked+.slider:before {
  transform: translateX(1.4vw);
}