/*=============== GOOGLE FONTS ===============*/
@import url("https://fonts.googleapis.com/css2?family=Montserrat:wght@400;500;600&display=swap");

/*=============== VARIABLES CSS ===============*/
:root {
  /*========== Colors ==========*/
  /*Color mode HSL(hue, saturation, lightness)*/
  --red-color: hsl(2, 72%, 50%);
  --black-color: hsl(75, 4%, 18%);
  --text-color: hsl(75, 4%, 12%);
  --text-color-light: hsl(75, 4%, 75%);
  --body-color: hsl(0, 0%, 75%);
  --container-color: hsl(75, 15%, 85%);

  /*========== Font and typography ==========*/
  /*.5rem = 8px | 1rem = 16px ...*/
  --body-font: "Montserrat", sans-serif;
  --h2-font-size: 1.25rem;
  --small-font-size: .813rem;
}

/*========== Responsive typography ==========*/
@media screen and (min-width: 1024px) {
  :root {
    --h1-font-size: 2.25rem;
    --h2-font-size: 1.5rem;
  }
}

/*=============== BASE ===============*/
* {
  box-sizing: border-box;
  padding: 0;
  margin: 0;
}

body {
  font-family: var(--body-font);
  background-color: var(--body-color);
  color: var(--text-color);
}

/*=============== CLOCK ===============*/
.container {
  height: 100vh;
  display: grid;
  place-items: center;
  margin-inline: 1.5rem;
}

.clock {
  width: 100%;
  height: 176px;
  background-color: var(--container-color);
  display: flex;
  align-items: center;
  justify-content: center;
  column-gap: 1rem;
  border: 3px solid var(--black-color);
  border-radius: 10rem;
  box-shadow: 6px 6px 0 hsl(0, 0%, 65%), 
              12px 12px 0 hsl(75, 4%, 18%), 
              inset 10px 10px 0 hsl(0, 0%, 75%), 
              inset 11px 11px 0 hsl(75, 4%, 65%);
}

.clock__circle {
  position: relative;
  width: 100px;
  height: 100px;
  border: 3px solid var(--black-color);
  background-color: var(--container-color);
  border-radius: 50%;
  box-shadow: inset 2px 2px 8px hsla(0, 0%, 0%, .4);
  display: flex;
  justify-content: center;
  align-items: center;
}

.clock__rounder {
  width: 6px;
  height: 6px;
  background-color: var(--black-color);
  border-radius: 50%;
  box-shadow: 0 0 6px hsla(0, 0%, 0%, .25);
  z-index: 2;
}

.clock__hour {
  width: 2px;
  height: 25px;
  background-color: var(--red-color);
}

.clock__minutes {
  width: 2px;
  height: 38px;
  background-color: var(--red-color);
}

.clock__hour, 
.clock__minutes {
  box-shadow: 0 0 6px hsla(0, 0%, 0%, .25);
  position: absolute;
  bottom: 50%;
  transform-origin: bottom;
}

.clock__date {
  display: grid;
  row-gap: .25rem;
  border-bottom: 1px solid var(--text-color-light);
  padding-bottom: .5rem;
  margin-bottom: 1rem;
}

.clock__day-week, 
.clock__text-ampm {
  font-size: var(--small-font-size);
  font-weight: 500;
}

.clock__month, 
.clock__day, 
.clock__year, 
.clock__text-hour, 
.clock__text-minutes {
  font-size: var(--h2-font-size);
  font-weight: 600;
}

/*=============== BREAKPOINTS ===============*/
/* For small devices */
@media screen and (max-width: 340px) {
  .clock {
    width: 176px;
    height: 328px;
    flex-direction: column;
    row-gap: 1.5rem;
    text-align: center;
    padding-left: .8rem;
  }
}

/* For medium devices */
@media screen and (min-width: 450px) {
  .clock {
    width: 380px;
    height: 190px;
    column-gap: 2rem;
  }
}

/* For large devices */
@media screen and (min-width: 1024px) {
  .clock {
    width: 602px;
    height: 306px;
    border: 4px solid var(--black-color);
    box-shadow: 15px 15px 0 hsl(0, 0%, 65%), 
                30px 30px 0 hsl(75, 4%, 18%), 
                inset 16px 16px 0 hsl(0, 0%, 75%), 
                inset 18px 18px 0 hsl(75, 4%, 65%);
    column-gap: 3rem;
  }
  .clock__circle {
    width: 170px;
    height: 170px;
    border: 4px solid var(--black-color);
  }
  .clock__rounder {
    width: 8px;
    height: 8px;
  }
  .clock__minutes {
    width: 3px;
    height: 62px;
  }
  .clock__hour {
    width: 3px;
    height: 40px;
  }
  .clock__date {
    margin-bottom: 1.5rem;
  }
  .clock__day-week, 
  .clock__text-ampm {
    font-size: var(--h2-font-size);
  }
  .clock__month, 
  .clock__day, 
  .clock__year, 
  .clock__text-hour, 
  .clock__text-minutes {
    font-size: var(--h1-font-size);
  }
}