@font-face {
  font-family: 'Britannic';
  src: url('Britannic_Bold.ttf') format('truetype');
}

body {
  margin: 0;
  background: #efbc8c;
  color: #000000;
  font-family: 'Britannic', sans-serif;
  width: 3840px;
  height: 2160px;
  overflow: hidden;
}

.container {
  display: flex;
  width: 100%;
  height: 100%;
}

.panel {
  width: 33.3333%;
  height: 100%;
  display: flex;
  flex-direction: column;
  border-right: 4px solid rgba(239, 188, 140, 14);
  box-sizing: border-box;
  padding: 50px 80px 35px 80px;
}

.panel:last-child {
  border-right: none;
}

.content {
  flex: 1;
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
  gap: 20px;
  padding-bottom: 60px;
}

.category {
  display: flex;
  flex-direction: column;
}

.category-header {
  display: flex;
  justify-content: space-between;
  align-items: flex-end;
  margin-bottom: 30px;
}

.category-header h2 {
  font-size: 5em;
  margin: 0;
  letter-spacing: 0.07em;
}

.sizes-pricing {
  display: grid;
  grid-template-columns: auto auto;
  grid-template-rows: auto auto;
  column-gap: 50px;
  row-gap: 5px;
  text-align: right;
  font-size: 40px;
  letter-spacing: 0.07em;
}

.frozone-size {
  display: flex;
  flex-direction: column;
  text-align: right;
  font-size: 40px;
  letter-spacing: 0.07em;
}

.items-columns {
  display: flex;
  gap: 28px;
}

.items-column {
  display: flex;
  flex-direction: column;
  gap: 18px;
  flex: 1;
}

.items-column.second-column {
  flex: 0.55;
  margin-left: -15px;
}

.item-name {
  font-size: 46px;
  letter-spacing: 0.07em;
}

.description {
  font-size: 31px;
  letter-spacing: 0.07em;
  line-height: 1.25;
  margin-top: 8px;
}

.description-price {
  display: flex;
  justify-content: space-between;
  align-items: center;
}

.price {
  font-size: 42px;
  letter-spacing: 0.07em;
}

.carousel {
  flex: 1;
  width: 100%;
  border-radius: 6px;
  overflow: hidden;
  position: relative;
  min-height: 100px;
}

.carousel img {
  position: absolute;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  opacity: 0;
  transition: opacity 1s ease;
}

.carousel img.active {
  opacity: 1;
}

.horizontal-band {
  height: 4px;
  background-color: rgba(239, 188, 140, 14);
  margin-top: 20px;
  margin-bottom: 20px;
  width: 100%;
}

.item.unavailable {
  position: relative;
  opacity: 0.4;
  pointer-events: none;
}

.item.unavailable::after {
  content: "UNAVAILABLE";
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  color: #ffffff;
  background: rgba(0,0,0,0.6);
  padding: 10px 20px;
  font-size: 38px;
  font-family: 'Britannic', sans-serif;
  letter-spacing: 0.07em;
  border-radius: 6px;
  text-align: center;
  white-space: nowrap;
  z-index: 2;
}

.pastries-carousel {
  margin-top: 40px;
  flex: 1; 
  width: 100%;
  border-radius: 6px;
  overflow: hidden;
  position: relative;
  min-height: 310px;
}

.pastries-carousel img {
  position: absolute;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  opacity: 0;
  transition: opacity 1s ease;
}

.pastries-carousel img.active {
  opacity: 1;
}

.options {
  font-size: 33px;
  letter-spacing: 0.07em;
  margin-top: 6px;
}

.option {
  padding: 2px 6px;
}

.option.unavailable {
  opacity: 0.4;
  pointer-events: none;
}

#carousel-3,
#carousel-5 {
  padding-right: 20px !important;
  width: 95% !important;
  box-sizing: border-box; 
}

.panel:nth-child(1) .items-column:first-child,
.panel:nth-child(2) .items-column:first-child {
  flex: 0.56; 
}

.panel:nth-child(1) .items-column.second-column,
.panel:nth-child(2) .items-column.second-column {
  flex: 0.44; 
  margin-left: 0; 
}

/* --- Pastries category layout --- */
.pastry-item {
  display: flex;
  justify-content: space-between; /* left = name/desc/options, right = price */
  align-items: flex-start; /* align top of name/description with price */
  margin-bottom: 20px; /* spacing between items */
}

.pastry-left {
  flex: 0.82; /* left column: names, descriptions, options */
  display: flex;
  flex-direction: column;
  gap: 6px; /* spacing between name, description, options */
}

.pastry-right {
  flex: 0.18; /* right column: price */
  display: flex;
  justify-content: flex-end; /* push content to far right */
  align-items: flex-start;
}

.pastry-right .price {
  font-size: 42px;
  letter-spacing: 0.07em;
  white-space: nowrap;
  margin-left: auto; /* ensures price hugs the far right of the panel */
}

/* Carousel container */
.glow-carousel {
  flex: 1;
  width: 100%;
  height: 100%;
  position: relative;
  overflow: visible; /* allow glow to extend outside */
  border-radius: 6px;
}

/* Carousel images with outer glow */
.glow-carousel img {
  position: absolute;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  opacity: 0;
  transition: opacity 1s ease;
  filter: drop-shadow(0 0 40px rgba(255, 255, 255, 0.6));
  border-radius: 6px;
}

.glow-carousel img.active {
  opacity: 1;
}

/* Optional subtle glow movement */
.glow-carousel img.active {
  animation: glowPulse 5s infinite alternate;
}

@keyframes glowPulse {
  0% { filter: drop-shadow(0 0 30px rgba(255,255,255,0.5)); }
  100% { filter: drop-shadow(0 0 50px rgba(255,255,255,0.7)); }
}


