/* Import Google font - Poppins */
@import url("https://fonts.googleapis.com/css2?family=Poppins:wght@200;300;400;500;600;700&display=swap");

/* Reset and viewport control */
html, body {
  margin: 0;
  padding: 0;
  width: 100%;
  height: 100%;
  overflow-x: hidden; /* Prevent horizontal scrolling */
}

/* Ensure proper box-sizing for all elements */
* {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
  font-family: "Poppins", sans-serif;
}

:root {
  --primary-color: #f6f7fb;
  --white-color: #fff;
  --black-color: #18191a;
  --red-color: #e74c3c;
}

body {
  display: flex;
  min-height: 100vh;
  align-items: center;
  justify-content: center;
  background: var(--primary-color);
  position: relative; /* Add this to contain absolute elements */
  width: 100%;
}

body.dark {
  --primary-color: #242526;
  --white-color: #18191a;
  --black-color: #fff;
  --red-color: #e74c3c;
}

.container {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 60px;
  padding: 20px;
  width: 100%;
  max-width: 100vw; /* Prevent container from exceeding viewport width */
}

.container .clock {
  display: flex;
  height: 400px;
  width: 400px;
  border-radius: 50%;
  align-items: center;
  justify-content: center;
  background: var(--white-color);
  box-shadow: 0 15px 25px rgba(0, 0, 0, 0.1), 0 25px 45px rgba(0, 0, 0, 0.1);
  position: relative;
}

.clock label {
  position: absolute;
  inset: 20px;
  text-align: center;
  transform: rotate(calc(var(--i) * (360deg / 17)));
}

.clock label span {
  display: inline-block;
  font-size: 30px;
  font-weight: 600;
  color: var(--black-color);
  transform: rotate(calc(var(--i) * (-360deg / 17)));
}

.container .indicator {
  position: absolute;
  height: 10px;
  width: 10px;
  display: flex;
  justify-content: center;
}

.indicator::before {
  content: "";
  position: absolute;
  height: 100%;
  width: 100%;
  border-radius: 50%;
  z-index: 100;
  background: var(--black-color);
  border: 4px solid var(--red-color);
}

.indicator .hand {
  position: absolute;
  height: 130px;
  width: 4px;
  bottom: 0;
  border-radius: 25px;
  transform-origin: bottom;
  background: var(--red-color);
}

.hand.minute {
  height: 120px;
  width: 5px;
  background: var(--black-color);
}

.hand.hour {
  height: 100px;
  width: 8px;
  background: var(--black-color);
}

.mode-switch {
  padding: 10px 20px;
  border-radius: 8px;
  font-size: 22px;
  font-weight: 400;
  display: inline-block;
  color: var(--white-color);
  background: var(--black-color);
  box-shadow: 0 5px 10px rgba(0, 0, 0, 0.1);
  cursor: pointer;
}

.toggle-digital {
  padding: 10px 20px;
  border-radius: 8px;
  font-size: 22px;
  font-weight: 400;
  display: inline-block;
  color: var(--white-color);
  background: var(--black-color);
  box-shadow: 0 5px 10px rgba(0, 0, 0, 0.1);
  cursor: pointer;
}

#digital-clock {
  font-size: 3rem;
  color: var(--black-color);
}

/* Add media queries for mobile devices */
@media screen and (max-width: 480px) {
  .container {
    gap: 30px;
  }

  .container .clock {
    height: 300px;
    width: 300px;
  }

  .clock label {
    inset: 12px;
    font-size: 14px;
  }

  #digital-clock {
    font-size: 1.5rem;
  }

  .mode-switch {
    font-size: 0.9rem;
    padding: 8px 12px;
  }
}

/* Add even smaller size for very small devices */
@media screen and (max-width: 350px) {
  .container .clock {
    height: 250px;
    width: 250px;
  }

  .clock label {
    inset: 10px;
    font-size: 12px;
  }
}

.hide {
  visibility: hidden;
}