/* ==================================================
   FLARE U — DAY COUNTER
   Main class: .fu
================================================== */

.fu {
  width: calc(100% - 36px);
  max-width: 80%;
  margin: 60px auto 12px;
  padding: 24px 30px;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 35px;
  box-sizing: border-box;
  background: linear-gradient(
    135deg,
    #ffffff,
    #f8fffd
  );
  border: 2px solid #a8ddd6;
  border-radius: 24px;
  box-shadow:
    0 8px 25px rgba(145, 211, 202, 0.15);
}


/* ==================================================
   LEFT SIDE
================================================== */

.fu-left {
  flex: 1;
  min-width: 230px;
  text-align: center;
}


.fu-title {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 10px;

  margin-bottom: 2px;

  color: #333;

  font-size: 15px;
  font-weight: 700;
  letter-spacing: 4px;
  white-space: nowrap;
}


.fu-title span {
  color: #f49aaa;
  font-size: 18px;
}


.fu-number {
  margin: 8px 0;

  color: #91d3ca;

  font-size: clamp(70px, 10vw, 110px);
  font-weight: 800;
  line-height: 0.9;
  letter-spacing: 4px;
}


.fu-label {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 15px;

  color: #333;

  font-size: 20px;
  font-weight: 700;
  letter-spacing: 3px;
}


.fu-label span {
  color: #f49aaa;
  font-size: 17px;
}


/* ==================================================
   DIVIDER
================================================== */

.fu-divider {
  width: 2px;
  height: 125px;

  flex-shrink: 0;

  background: repeating-linear-gradient(
    to bottom,
    #a8ddd6 0px,
    #a8ddd6 5px,
    transparent 5px,
    transparent 11px
  );
}


/* ==================================================
   RIGHT SIDE
================================================== */

.fu-right {
  position: relative;

  flex: 1;
  min-width: 260px;

  padding: 5px 10px;
}


.fu-badge {
  display: inline-block;

  margin-bottom: 22px;
  padding: 8px 22px;

  background: #f49aaa;
  color: #ffffff;

  border-radius: 30px;

  font-size: 14px;
  font-weight: 600;
  letter-spacing: 0.5px;

  white-space: nowrap;
}


/* ==================================================
   DATE
================================================== */

.fu-date {
  display: flex;
  align-items: center;
  gap: 14px;

  color: #333;
}


.fu-date-text small {
  display: block;

  margin-bottom: 1px;

  color: #777;

  font-size: 12px;
}


.fu-date-text strong {
  display: block;

  color: #333;

  font-size: 17px;
  font-weight: 700;
  letter-spacing: 1px;

  white-space: nowrap;
}


/* ==================================================
   DATE ICON
================================================== */

.fu-date-icon {
  position: relative;

  width: 48px;
  height: 42px;

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

  flex-shrink: 0;

  box-sizing: border-box;

  border: 2px solid #333;
  border-radius: 7px;

  color: #f49aaa;

  font-size: 20px;
}


.fu-date-top {
  position: absolute;

  top: 8px;
  left: 0;

  width: 100%;
  height: 2px;

  background: #333;
}


.fu-date-icon span {
  margin-top: 8px;
}


/* ==================================================
   INFINITY
================================================== */

.fu-infinity {
  position: absolute;

  right: 5px;
  bottom: -5px;

  color: #91d3ca;

  font-size: 40px;
  font-weight: 300;
  line-height: 1;
}


/* ==================================================
   KST NOTE
================================================== */

.fu-note {
  margin: 10px auto 45px;

  text-align: center;

  color: #9a9a9a;

  font-size: 10px;
  font-weight: 500;
  letter-spacing: 0.8px;

  white-space: nowrap;
}


/* ==================================================
   TABLET
   481px — 768px
================================================== */

@media (max-width: 768px) {

  .fu {
    width: calc(100% - 32px);

    margin: 45px auto 12px;
    padding: 20px 22px;

    gap: 24px;

    border-width: 1.5px;
    border-radius: 20px;
  }


  /* LEFT */

  .fu-left {
    min-width: 0;
  }


  .fu-title {
    gap: 7px;

    font-size: 12px;
    letter-spacing: 3px;
  }


  .fu-title span {
    font-size: 15px;
  }


  .fu-number {
    margin: 7px 0;

    font-size: clamp(60px, 11vw, 82px);
    letter-spacing: 2px;
  }


  .fu-label {
    gap: 10px;

    font-size: 16px;
    letter-spacing: 2px;
  }


  .fu-label span {
    font-size: 14px;
  }


  /* DIVIDER */

  .fu-divider {
    width: 1.5px;
    height: 105px;
  }


  /* RIGHT */

  .fu-right {
    min-width: 0;
    padding: 3px 5px;
  }


  .fu-badge {
    margin-bottom: 17px;
    padding: 7px 16px;

    font-size: 11px;
  }


  .fu-date {
    gap: 10px;
  }


  .fu-date-icon {
    width: 40px;
    height: 36px;

    border-width: 1.5px;

    font-size: 16px;
  }


  .fu-date-top {
    top: 7px;
    height: 1.5px;
  }


  .fu-date-icon span {
    margin-top: 7px;
  }


  .fu-date-text small {
    font-size: 10px;
  }


  .fu-date-text strong {
    font-size: 13px;
    letter-spacing: 0.7px;
  }


  .fu-infinity {
    right: 0;
    bottom: -5px;

    font-size: 32px;
  }


  /* NOTE */

  .fu-note {
    margin: 8px auto 35px;

    font-size: 9px;
    letter-spacing: 0.5px;
  }
}


/* ==================================================
   MOBILE
   ≤ 480px
================================================== */

@media (max-width: 480px) {

  .fu {
    width: calc(100% - 24px);

    margin: 35px auto 10px;
    padding: 16px 12px;

    gap: 12px;

    border-width: 1.5px;
    border-radius: 17px;
  }


  /* LEFT */

  .fu-left {
    min-width: 0;
  }


  .fu-title {
    gap: 4px;

    font-size: 8px;
    letter-spacing: 1.8px;
  }


  .fu-title span {
    font-size: 11px;
  }


  .fu-number {
    margin: 6px 0;

    font-size: clamp(46px, 15vw, 62px);
    letter-spacing: 1px;
  }


  .fu-label {
    gap: 6px;

    font-size: 11px;
    letter-spacing: 1.5px;
  }


  .fu-label span {
    font-size: 10px;
  }


  /* DIVIDER */

  .fu-divider {
    width: 1.5px;
    height: 80px;
  }


  /* RIGHT */

  .fu-right {
    min-width: 0;
    padding: 0 2px;
  }


  .fu-badge {
    margin-bottom: 12px;
    padding: 6px 10px;

    font-size: 8px;
    letter-spacing: 0;

    white-space: nowrap;
  }


  .fu-date {
    gap: 7px;
  }


  .fu-date-icon {
    width: 30px;
    height: 28px;

    border-width: 1.5px;
    border-radius: 5px;

    font-size: 12px;
  }


  .fu-date-top {
    top: 5px;
    height: 1.5px;
  }


  .fu-date-icon span {
    margin-top: 5px;
  }


  .fu-date-text small {
    font-size: 8px;
  }


  .fu-date-text strong {
    font-size: 9px;
    letter-spacing: 0.3px;
  }


  /* INFINITY */

  .fu-infinity {
    right: -1px;
    bottom: -7px;

    font-size: 22px;
  }


  /* NOTE */

  .fu-note {
    margin: 7px auto 25px;

    font-size: 7px;
    letter-spacing: 0.2px;
  }

}