body {
  font-family: Arial, sans-serif;
  margin: 0;
  color: #333;
  background: url('images/background.png') no-repeat center center fixed;
  background-size: cover;
}

header {
  position: sticky;
  top: 0;
  z-index: 1000;
  background-color: #ffffff;
  text-align: center;
  padding: 5px;
  color: #000000;
  font-family: 'Alfa Slab One', serif;
  letter-spacing: 2px;
  border-bottom: 2px solid #000;
}

#calendar {
  display: grid;
  grid-template-columns: repeat(7, 1fr);
  gap: 10px;
  padding: 20px;
}

.corner-image {
  position: fixed;
  width: 80px;
  height: auto;
  z-index: 9999;
  animation: smoothWiggle 1.75s infinite linear;
}

/* Left side bottles */
.top-left {
  top: 25px;
  left: calc(10%);
  animation-delay: 0s;
}

.top-left-2 {
  top: 25px;
  left: calc(15%);
  animation-delay: 0.5s;
}

.top-left-3 {
  top: 25px;
  left: calc(20%);
  animation-delay: 1s;
}

.top-left-4 {
  top: 25px;
  left: calc(25%);
  animation-delay: 1.5s;
}

.top-left-5 {
  top: 25px;
  left: calc(30%);
  animation-delay: 2s;
}

.top-left-6 {
  top: 25px;
  left: calc(35%);
  animation-delay: 2.5s;
}

/* Right side bottles */
.top-right {
  top: 25px;
  right: calc(10%);
  animation-delay: 0.3s;
}

.top-right-2 {
  top: 25px;
  right: calc(15%);
  animation-delay: 0.8s;
}

.top-right-3 {
  top: 25px;
  right: calc(20%);
  animation-delay: 1.3s;
}

.top-right-4 {
  top: 25px;
  right: calc(25%);
  animation-delay: 1.8s;
}

.top-right-5 {
  top: 25px;
  right: calc(30%);
  animation-delay: 2.3s;
}

.top-right-6 {
  top: 25px;
  right: calc(35%);
  animation-delay: 2.8s;
}

@keyframes smoothWiggle {
  0%   { transform: rotate(0deg); }
  20%  { transform: rotate(-15deg); }
  50%  { transform: rotate(0deg); }
  80%  { transform: rotate(15deg); }
  100% { transform: rotate(0deg); }
}

#dayCounter, #inverseCounter {
  position: fixed;
  top: 40px;
  background-color: rgba(255, 255, 255, 0.9);
  padding: 8px 12px;
  font-size: 1.5em;
  font-weight: bold;
  color: #000;
  border-radius: 5px;
  z-index: 1100;
  font-family: 'Alfa Slab One', serif;
}

#dayCounter {
  left: calc(10% - 100px);
}

#inverseCounter {
  right: calc(10% - 100px);
}

.loading-overlay {
  display: none;
  position: fixed;
  z-index: 1001;
  top: 0; left: 0;
  width: 100%;
  height: 100%;
  background-color: rgba(0,0,0,0.6);
  justify-content: center;
  align-items: center;
  flex-direction: column;
}

.spinner {
  width: 50px;
  height: 50px;
  border: 6px solid #ffffff;
  border-top: 6px solid #FFCE01;
  border-radius: 50%;
  animation: spin 1s linear infinite;
}

@keyframes spin {
  0%   { transform: rotate(0deg); }
  100% { transform: rotate(360deg); }
}

.modal {
  display: none;
  position: fixed;
  z-index: 999;
  left: 0; top: 0;
  width: 100%; height: 100%;
  overflow: auto;
  background-color: rgba(0,0,0,0.8);
  justify-content: center;
  align-items: center;
}

.modal video {
  max-width: 90%;
  max-height: 90%;
}

.close {
  position: absolute;
  top: 20px;
  right: 30px;
  color: #fff;
  font-size: 30px;
  cursor: pointer;
}

.day-box {
  background-color: rgba(205, 23, 30, 0.50);
  border: 2px solid #000000;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  height: 100px;
  padding: 10px;
  cursor: pointer;
  position: relative;
  transition: transform 0.2s;
}

.day-box:hover {
  background-color: rgba(205, 23, 30, 0.25);
  border: 2px solid #FFCE01;
}

.day-box .days-remaining {
  font-size: 1.5em;
  font-weight: bold;
  color: #000000;
  background-color: #ffffff;
  border: 2px solid #000000;
  padding: 4px 8px;
  border-radius: 2px;
  transition: all 0.0s;
}

.day-box:hover .days-remaining {
  border-color: #CD171E;
  color: #CD171E;
}

.day-box .date-text {
  font-size: 0.75em;
  position: absolute;
  bottom: 5px;
  text-align: center;
  width: 100%;
}

#secretButton {
  position: fixed; /* Fixed position so it stays on the screen */
  top: 50%; /* Center it vertically */
  left: 50%; /* Center it horizontally */
  transform: translate(-50%, -50%); /* Offset it by half its width and height for true centering */
  background-color: white; /* A bright color to make it stand out */
  color: #000;
  font-size: 2em; /* Large text for the button */
  padding: 20px 40px;
  border: none;
  border-radius: 10px;
  cursor: pointer;
  box-shadow: 0 4px 8px rgba(0, 0, 0, 0.2); /* Add a shadow for more contrast */
  z-index: 10001; /* Make sure the button is above other elements */
  transition: background-color 0.3s ease; /* Add smooth transition on hover */
}

#secretButton:hover {
  background-color: #CD171E; /* Darker shade when hovered */
}

/* Global custom cursor for everything */
body {
  cursor: url('images/custom-cursor.png') 16 16, auto;
}

/* Ensure custom cursor for all clickable elements */
a, button, input, textarea, select, .custom-cursor-element, .day-box {
  cursor: url('images/custom-cursor.png') 32 32, auto !important;
}

/* Optional: Specific class for custom elements */
.custom-cursor-element {
  cursor: url('images/custom-cursor.png') 32 32, auto !important;
}

/* Highlight boxes that have already been watched */
.day-box.watched {
  background-color: rgba(255, 215, 0, 0.65); /* gold highlight */
  border: 2px solid #FFD700;
}

.day-box.watched .days-remaining {
  border-color: #CD171E;
  color: #CD171E;
}