@import url('https://fonts.googleapis.com/css2?family=Cormorant+Garamond:ital,wght@0,400;0,500;0,600;1,500&display=swap');


* {
  box-sizing: border-box;
}


html,
body {
  width: 100%;
  height: 100%;
  margin: 0;
}


body {
  overflow: hidden;

  background: #eaf3f7;

  font-family: 'Cormorant Garamond', serif;
}



/* ─────────────────────────────
   RELOJ PRINCIPAL
───────────────────────────── */

.clock-widget {
  position: relative;

  width: 100%;
  height: 100vh;

  min-height: 260px;

  overflow: hidden;

  border-radius: 22px;

  background-image:
    url("https://res.cloudinary.com/ergd3uih/image/upload/f_auto,q_auto/06fd211a223e21ca60bbe65e5cfd1cc5_ukelcw");

  background-size: cover;
  background-position: center;

  border:
    1px solid rgba(255, 255, 255, 0.65);

  box-shadow:
    0 12px 35px rgba(83, 107, 120, 0.18);
}



/* ─────────────────────────────
   CAPA CELESTE PASTEL
───────────────────────────── */

.soft-light {
  position: absolute;

  inset: 0;

  background:
    linear-gradient(
      135deg,
      rgba(230, 243, 250, 0.46),
      rgba(190, 218, 234, 0.25)
    );
}



/* ─────────────────────────────
   CONTENIDO
───────────────────────────── */

.clock-content {
  position: relative;

  z-index: 2;

  width: 100%;
  height: 100%;

  display: flex;
  flex-direction: column;

  justify-content: center;
  align-items: center;

  text-align: center;

  padding: 24px;

  color: #3f505c;
}



/* ─────────────────────────────
   FECHA
───────────────────────────── */

.date {
  margin-bottom: -10px;

  font-size: clamp(14px, 4vw, 20px);

  font-weight: 500;

  letter-spacing: clamp(1.5px, 0.6vw, 2.5px);

  text-transform: uppercase;

  color: #536772;

  text-shadow:
    0 1px 5px rgba(255, 255, 255, 0.9);

  white-space: nowrap;
}



/* ─────────────────────────────
   HORA
───────────────────────────── */

.time {
  font-size: clamp(92px, 30vw, 154px);

  font-weight: 500;

  line-height: 0.95;

  letter-spacing: -2px;

  color: #344954;

  text-shadow:
    0 3px 12px rgba(255, 255, 255, 0.85);

  margin-bottom: 10px;

  white-space: nowrap;
}



/* ─────────────────────────────
   FRASE
───────────────────────────── */

.quote {
  font-size: clamp(20px, 6vw, 25px);

  font-style: italic;
  font-weight: 500;

  letter-spacing: 0.3px;

  color: #536872;

  text-shadow:
    0 1px 5px rgba(255, 255, 255, 0.9);

  white-space: nowrap;
}



/* ─────────────────────────────
   CONTROL DE SONIDO
───────────────────────────── */

.sound-control {
  position: absolute;

  right: 25px;
  bottom: 25px;

  z-index: 10;
}



/* ─────────────────────────────
   BOTÓN DE MÚSICA
───────────────────────────── */

.sound-button {
  width: 39px;
  height: 39px;

  display: flex;
  justify-content: center;
  align-items: center;

  padding: 0;

  border:
    1px solid rgba(255, 255, 255, 0.48);

  border-radius: 50%;

  background:
    rgba(229, 242, 248, 0.26);

  -webkit-backdrop-filter: blur(10px);
  backdrop-filter: blur(10px);

  font-size: 17px;

  cursor: pointer;

  box-shadow:
    0 5px 15px rgba(56, 77, 88, 0.13);

  transition:
    transform 0.2s ease,
    background 0.2s ease;
}


.sound-button:hover {
  transform: translateY(-2px);

  background:
    rgba(235, 246, 251, 0.42);
}



/* ─────────────────────────────
   MENÚ TRANSPARENTE
───────────────────────────── */

.sound-menu {
  position: absolute;

  right: 0;
  bottom: 49px;

  width: 205px;

  padding: 7px;

  border-radius: 15px;

  background:
    rgba(225, 239, 246, 0.22);

  -webkit-backdrop-filter:
    blur(16px)
    saturate(110%);

  backdrop-filter:
    blur(16px)
    saturate(110%);

  border:
    1px solid rgba(255, 255, 255, 0.46);

  box-shadow:
    0 12px 30px rgba(55, 77, 89, 0.16);

  opacity: 0;

  visibility: hidden;

  transform:
    translateY(8px)
    scale(0.97);

  transform-origin: bottom right;

  transition:
    opacity 0.2s ease,
    transform 0.2s ease,
    visibility 0.2s ease;
}


.sound-menu.open {
  opacity: 1;

  visibility: visible;

  transform:
    translateY(0)
    scale(1);
}



/* ─────────────────────────────
   OPCIONES
───────────────────────────── */

.sound-option {
  position: relative;

  width: 100%;

  display: flex;
  align-items: center;

  gap: 9px;

  padding: 9px 11px;

  border: none;

  border-radius: 9px;

  background: transparent;

  color: #425965;

  font-family:
    'Cormorant Garamond',
    serif;

  font-size: 16px;
  font-weight: 500;

  text-align: left;

  cursor: pointer;

  text-shadow:
    0 1px 3px rgba(255, 255, 255, 0.8);

  transition:
    background 0.18s ease,
    color 0.18s ease;
}


.sound-option:hover {
  background:
    rgba(238, 248, 252, 0.28);
}


.sound-option.active {
  background:
    rgba(238, 248, 252, 0.35);

  color: #314b58;
}


.sound-option.active::after {
  content: "✓";

  position: absolute;

  right: 11px;

  font-size: 14px;

  color: #526d79;
}


.sound-icon {
  width: 21px;

  text-align: center;

  font-size: 15px;
}



/* ─────────────────────────────
   SEPARADOR
───────────────────────────── */

.sound-divider {
  height: 1px;

  margin: 5px 8px;

  background:
    rgba(71, 98, 111, 0.13);
}



/* ─────────────────────────────
   VOLUMEN
───────────────────────────── */

.volume-control {
  display: flex;

  align-items: center;

  gap: 9px;

  padding: 6px 11px;
}


.volume-icon {
  width: 21px;

  text-align: center;

  color: #536c78;

  font-size: 17px;
}


#volumeSlider {
  width: 135px;

  height: 3px;

  margin: 0;

  appearance: none;
  -webkit-appearance: none;

  border-radius: 10px;

  outline: none;

  background:
    rgba(69, 96, 109, 0.22);

  cursor: pointer;
}


#volumeSlider::-webkit-slider-thumb {
  width: 11px;
  height: 11px;

  appearance: none;
  -webkit-appearance: none;

  border: none;

  border-radius: 50%;

  background: #58717d;

  cursor: pointer;
}


#volumeSlider::-moz-range-thumb {
  width: 11px;
  height: 11px;

  border: none;

  border-radius: 50%;

  background: #58717d;

  cursor: pointer;
}



/* ─────────────────────────────
   APAGAR
───────────────────────────── */

.sound-off {
  color: #667983;
}



/* ─────────────────────────────
   MARCO INTERIOR
───────────────────────────── */

.clock-widget::after {
  content: "";

  position: absolute;

  inset: 14px;

  border:
    1px solid rgba(255, 255, 255, 0.58);

  border-radius: 16px;

  pointer-events: none;

  z-index: 3;
}