/* =========================
   GLOBAL
========================= */
.modal {
  position: fixed;
  inset: 0;
  background: rgba(0,0,0,0.6);
  display: flex;
  justify-content: center;
  align-items: center;
}

.hidden {
  display: none;
}

.modal-content {
  background: #2f2f2f;
  padding: 20px;
  border-radius: 12px;
  width: 320px;
}

.lamp-preview {
  margin: 15px auto;
  width: 80px;
  height: 80px;
  border-radius: 50%;
  background: transparent;
}

.lamp-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 12px;
}
/* ========= modal ================ */
body { 
  font-family: Arial, sans-serif;
  background-color: #646363;
  color: #ffffff;
  display: flex;
  justify-content: center;
  align-items: center;
  margin: 0;
  height: 100vh;
  padding: 0;
}
/* =========================
   CONTAINER
========================= */
.container {
  width: 100%;
  max-width: 350px;
  box-sizing: border-box;
  border-radius: 12px;
  padding: 20px;
  background-image: linear-gradient(145deg, #1a1a1a, #0d0d0d);
  box-shadow: 
      10px 10px 25px rgba(0, 0, 0, 0.7),
      -5px -5px 15px rgba(255, 255, 255, 0.1);
}

.container_modal {
  width: 100%;
  max-width: 350px;
  box-sizing: border-box;
  border-radius: 12px;
  padding: 20px;
  background-image: linear-gradient(145deg, #1a1a1a, #0d0d0d);
  /* box-shadow: 
      10px 10px 25px rgba(0, 0, 0, 0.7),
      -5px -5px 15px rgba(255, 255, 255, 0.1); */
}
.title {
text-align: center;
font-size: 18px;
margin-bottom: 20px;
color: whitesmoke;
font-weight: normal;
}

/* =========================
   GRID
========================= */
.brightness-row input[type="range"] {
  width: 100%;
}

.brightness-row {
  display: grid;
  grid-template-columns: 80% 20%;
  align-items: center;
  gap: 8px;
  width: 100%;
}

.grid1 {
  display: grid;
  grid-template-columns: 33% 33% 33%;
  grid-auto-rows: minmax(20px, auto);
  align-items: center;    
  margin-top: 2px;  
}

.grid-item {
  display: flex; 
  justify-content: center; 
  align-items: center;
  text-align: center;
  font-size: 14px;
}

.grid-line {
  grid-column: span 3;
  border-bottom: 1px solid #e3510858;
  margin: 5px 0;
}

.grid-item-etiq {
  font-size: 15px;
  text-align: center;
  color: #E0E0E0;
  height: 30px;
}

/* =========================
   INPUTS
========================= */

.grid-item-value {
  font-size: 16px;
  text-align: center;
  border-radius: 4px;
  color: #000000; 
  border: 1px solid #9e9e9e; 
  padding: 3px;
  width: 55%;
  margin: 0 auto;
  background-color: #f3f9dd; 
  box-shadow: inset 4px 4px 8px rgba(0, 0, 0, 0.4),
              inset -4px -4px 8px rgba(255, 255, 255, 0.2);
}

.grid-item-value2 {
  font-size: 16px;
  text-align: center;
  border-radius: 4px;
  color: #000000; 
  border: 1px solid #9e9e9e; 
  padding: 3px;
  width: 55%;
  margin: 0 auto;
  background-color: #f3f9dd; 
  box-shadow: inset 4px 4px 8px rgba(0, 0, 0, 0.4),
              inset -4px -4px 8px rgba(255, 255, 255, 0.2);
}

input[type="number"] {
  width: 55px;
  font-size: 16px;
}

/* =========================
   BUTTONS
========================= */

.button {
  display: flex;
  justify-content: center;
  align-items: center;
  color: #FFFFFF;
  background-color: #383838; /* Gris medio para inactivos */
  border-radius: 10px;
  cursor: pointer;
  font-size: 14px;
  width: 80%;
  height: 45px;
  background-image: linear-gradient(145deg, #4a4a4a, #2f2f2f);
  box-shadow: 2px 2px 10px rgba(0, 0, 0, 0.3), -2px -2px 10px rgba(255, 255, 255, 0.1);
  position: relative; /* Necesario para el posicionamiento del tooltip */
}

.button:active {
  background-color: #e35108df;
  background-image: linear-gradient(145deg, #e76a2b, #e35108df);
  box-shadow:
      inset 3px 3px 6px rgba(0,0,0,0.75),
      inset -3px -3px 6px rgba(255,255,255,0.1);
}

.button-active {
  background-color: #e35108df;
  background-image: linear-gradient(145deg, #e76a2b, #e35108df);
  box-shadow:
    inset 3px 3px 6px rgba(0,0,0,0.75),
    inset -3px -3px 6px rgba(255,255,255,0.1);
}


/* .button:hover, */
/* .button:active {
  background-color: #e35108df;
  background-image: linear-gradient(145deg, #e76a2b, #e35108df);
  box-shadow:
      inset 3px 3px 6px rgba(0,0,0,0.75),
      inset -3px -3px 6px rgba(255,255,255,0.1);
} */


/* =========================
   DISABLED STATE
========================= */

.disabled {
  opacity: 0.4;
  pointer-events: none;
}

/* =========================
   EVENT BANNER
========================= */

.event-banner {
  grid-column: span 3;
  width: 100%;
  padding: 0px;

  font-size: 16px;
  background-color: #f5be9e;
  border-radius: 4px;
  color: #764343; 
  border: 2px solid #861212; 
  height: 25px;
  margin-top: 5px;
  margin-bottom: 3px;  

  display: flex;
  justify-content: center;     /* horizontal */
  align-items: center;         /* vertical   */
}

.hidden {
  display: none;
}

/* =========================
   BLUETOOTH ICON
========================= */

.icon {
  font-size: 30px;
  line-height: 1;
  cursor: pointer;
}

#bt_icon::before {
  color: #888888 !important;   /* apagado */
  transition: color 0.25s ease;
}

#bt_icon.bt-on::before {
  color: #0082FC !important;   /* encendido */
}

/* =========================
   RADIO BUTTONS
========================= */

input[type="radio"],
input[type="checkbox"].custom-radio {
  appearance: none;
  width: 15px;
  height: 15px;
  border: 1px solid #ccc;
  border-radius: 50%;
  background-color: white;
  cursor: pointer;
  position: relative;
}

input[type="radio"]::before,
input[type="checkbox"].custom-radio::before {
  content: '';
  width: 8px;
  height: 8px;
  background-color: white;
  border-radius: 50%;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}

input[type="radio"]:checked::before,
input[type="checkbox"].custom-radio:checked::before {
  background-color: #e35108df;
}

.timer-running {
  background-color: #e35108df;   /* mismo naranja activo */
  color: white;
  border-color: #e35108df;
}

/* =========================
   VALUE ACTIVE
========================= */
.value-active {
  color: #e35108df;
  transition: color 150ms ease;
}

/* =========================
   TOOLTIP
========================= */
.tooltip {
  visibility: hidden;
  width: 300px !important; 
  background-color: #f3f9dd;
  color: #000;
  padding: 5px;
  border-radius: 5px;
  font-size: 14px;
  z-index: 1;
  opacity: 0;
  transition: opacity 0.3s;
  
  text-align: left;
  position: absolute;
  left: 50%;
  top: 3%;
  transform: translateX(-50%);
}

.invisible-container:hover .tooltip {
  visibility: visible;
  opacity: 1;
}

/* =========================
  radios
========================= */
#radioNumberContainer {
  display: contents; /* Importante: permite que los hijos participen directamente en la cuadrícula */
}

.radio-container {
  display: grid;
  grid-template-columns: auto 1fr; /* Columna para el radio button y el texto */
  align-items: center; /* Centrar verticalmente */
  margin-right: 5px;
  padding-left: 10px;
  height: 25px; /* Ajusta la altura para que coincida con el input */
}

/* Estilo para el texto asociado al radio button */
.radio-label {
  margin-left: 5px; /* Espacio entre el radio button y el texto */
}