@import url("https://fonts.googleapis.com/css2?family=Oswald:wght@200..700&family=Work+Sans:ital,wght@0,100..900;1,100..900&display=swap");
:root {
  --swiper-navigation-size: 20px;
}
body {
  font-family: "Work Sans", sans-serif;
  font-optical-sizing: auto;
  background-image: url("/images/bg.jpg");
}
.ff-primary {
  font-family: "Oswald", sans-serif;
  font-optical-sizing: auto;
}
.navbar-nav .nav-link.active,
.navbar-nav .nav-link.show {
  color: var(--bs-primary) !important;
  font-weight: 600;
}
.navbar-nav .nav-link:hover {
  color: var(--bs-primary) !important;
}
.navbar-nav .dropdown .dropdown-item:hover {
  color: var(--bs-primary) !important;
}

.swiper-pagination {
  position: relative;
  margin-top: 1rem;
}

.carousel-indicators button {
  width: 10px !important;
  height: 10px !important;
  border-radius: 50%;
  border: 4px solid transparent !important;
}

.carousel-indicators button.active {
  background-color: var(--bs-primary) !important;
}

/* Calendar styles */
#calendar-container {
  max-width: 400px;
  margin: 0 auto;
  background: #fff;
  border-radius: 8px;
  box-shadow: 0 2px 8px rgba(0,0,0,0.08);
  padding: 1.5rem;
}
.calendar-month-header {
  text-align: center;
  background: #7c8a96;
  color: #fff;
  font-size: 1.5rem;
  font-weight: bold;
  letter-spacing: 0.2em;
  padding: 0.5rem 0;
  border-radius: 6px 6px 0 0;
  margin-bottom: 0;
}
.calendar {
  width: 100%;
  border-collapse: collapse;
  margin-top: 0;
  margin-bottom: 0.5rem;
  background: #fff;
}
.calendar th, .calendar td {
  width: 14.28%;
  text-align: center;
  padding: 0.5rem 0.2rem;
  border: 1px solid #bfc5c9;
  font-size: 1rem;
  position: relative;
}
.calendar th {
  background: #e5e7ea;
  font-weight: 600;
  color: #333;
}
.calendar .shipping-day {
  background: #e74c3c;
  color: #fff;
  font-weight: bold;
  border-radius: 4px;
}
.calendar .inlab-day {
  background: #6cb6f5;
  color: #fff;
  border-radius: 4px;
}
.calendar .holiday-day {
  background: #ffe082;
  color: #333;
  border-radius: 4px;
}
.calendar .delivery-day {
  background: #fffde7;
  color: #333;
  border-radius: 4px;
}
.calendar .delivery-day .triangle {
  width: 0; height: 0;
  border-left: 18px solid transparent;
  border-bottom: 18px solid #ffe082;
  position: absolute;
  left: 0; top: 0;
}
.calendar .seating-day {
  background: #4caf50;
  color: #fff;
  border-radius: 4px;
}
.calendar .weekend {
  background: #f1f3f4;
  color: #adb5bd;
}
/* Legend styles */
.calendar-legend {
  margin-top: 1rem;
  font-size: 0.95rem;
}
.calendar-legend-row {
  display: flex;
  align-items: center;
  margin-bottom: 0.3rem;
}
.legend-swatch {
  display: inline-block;
  width: 22px;
  height: 22px;
  margin-right: 0.5em;
  border-radius: 4px;
  vertical-align: middle;
}
.legend-shipping { background: #e74c3c; }
.legend-inlab { background: #6cb6f5; }
.legend-holiday { background: #ffe082; border: 1px solid #bfc5c9; }
.legend-delivery { background: none; position: relative; }
.legend-delivery .triangle {
  width: 0; height: 0;
  border-left: 22px solid transparent;
  border-bottom: 22px solid #ffe082;
  position: absolute;
  left: 0; top: 0;
}
.legend-seating { background: #4caf50; }


/* Zoom effect on resource card images */
.card-img-top {
  transition: transform 0.35s cubic-bezier(0.4,0,0.2,1);
  will-change: transform;
}
.card:hover .card-img-top {
  transform: scale(1.08);
}
.card {
  transition: box-shadow 0.35s cubic-bezier(0.4,0,0.2,1);
  overflow: hidden;
}
.card:hover .card-img-top {
  transform: scale(1.12);
  box-shadow: 0 8px 32px rgba(23, 97, 160, 0.18), 0 2px 8px rgba(0,0,0,0.10);
  z-index: 2;
}