@font-face {
	font-family: Darleston;
	src: url('/src/font/darleston.otf') format('opentype')
}


body {
  background-color: #ffefdb;
  font-family: sans-serif;
  display: flex;
  flex-direction: column;
  align-items: center;
  margin: 0;
  overflow-x: hidden;
  padding-top: 80px;
}

header {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  z-index: 1000; /* stays above other elements */
  background: #111; /* keep background solid so text doesn’t overlap */
  color: white;
  padding: 1rem;
}

header h1 {
  margin: 0;
  margin-top: 10px;
  font-family: 'Darleston', serif;
  font-size: 50pt;
  letter-spacing: 2px;
  font-weight: lighter;
  text-align: center;
}

header nav {
  font-family: century gothic, sans-serif;
  font-weight: bold;
  text-align: center; /* centers links horizontally */
  margin-top: 5px;   /* optional spacing below the h1 */
  margin-bottom: 10px;   /* optional spacing below the h1 */
}

header nav a {
  display: inline-block; /* keeps links inline but allows spacing */
  color: #eee;
  margin: 0 15px;        /* space between links */
  text-decoration: none;
}

header nav a:hover {
  color: #f90;
}

.spacer-for-header {
  background-color: #111;
  margin-top: -100px;
  height: 190px; /* adjust based on header height */
  width: 100%;
}


.slider-dimensions {
  width: min(100vw, 100vw);
  height: 300px;
  transition: height 0.5s ease;
}
/* Mobile adjustments */
@media (max-width: 768px) {
  .slider-dimensions {
    height: 200px; /* smaller height on mobile */
  }
}

.slider-container {
  position: relative;
  overflow: hidden;
  background-color: lightgray;
}

.slider {
  position: absolute;
  display: flex;
  transform: translateX(-0%);
  transition: transform 1s;
}

.slider > div {
  background-size: cover;       /* fill the container completely */
  background-position: center;  /* center the image */
  background-repeat: no-repeat;
  overflow: hidden;             /* keep image inside */
}


.nav-container {
  position: absolute;
  padding: 0 20px 20px;
  box-sizing: border-box;
  display: flex;
  justify-content: space-between;
  align-items: center;
  background-image: radial-gradient(transparent, rgba(0, 0, 0, 0));
  opacity: 0;
  transition: opacity .2s;
}

.nav-container:hover {
  opacity: 1;
}

.footer {
  background: #111;
  color: #eee;
  text-align: center;
  padding: 20px 10px;
  margin-top: 20px;
  width: 100vw;
  padding-bottom: 70px;
}

.footer-nav {
  margin-top: 10px;
}

.footer-nav a {
  color: #aaa;
  margin: 0 10px;
  text-decoration: none;
}

.footer-nav a:hover {
  color: #fff;
}


.index-container {
  align-self: flex-end;
  display: flex;
  gap: 10px;
}

.index-container > button {
  width: 40px;
  height: 5px;
  border: none;
  border-radius: 20px;
  background-color: rgba(255,255,255,.3);
  transition: background-color .2s;
  cursor: pointer;
}

.index-container > button:hover {
  background-color: rgba(255,255,255,.7);
}

button[data-index-change] {
  font-size: 40px;
  color: white;
  background-color: transparent;
  border: none;
  cursor: pointer;
}

@media (max-width: 500px) {
  .nav-container {
    padding: 0 0 10px;
  }
  
  .index-container {
    gap: 20px;
  }
}

.card-description {
  display: block;
  margin-top: 5px;
  margin-right: 20px;
  font-size: 0.9rem;
  line-height: 1.3;
  color: #ddd; /* adjust to fit your theme */
  text-align: left;
  max-width: 90%;
  white-space: normal;   /* allow wrapping */
  overflow: hidden;
  text-overflow: ellipsis; /* if text is too long */
}

.carousel-wrapper {
  width: 100%;
  max-width: 100vw;
  overflow: hidden;
  position: relative;
  padding-left: 20px;
  padding-right: 20px;
  padding-top: 20px;
  padding-bottom: 20px;
  box-sizing: border-box;
}
.carousel {
  display: flex;
  gap: 20px;
  padding-left: 400px;  /* desktop */
  padding-right: 80px;
  transition: 
    transform 0.6s cubic-bezier(0.25, 0.8, 0.25, 1),
    padding-left 0.5s ease,
    padding-right 0.5s ease;
}

/* Mobile adjustments */
@media (max-width: 768px) {
  .carousel {
    padding-left: 20px;  /* smaller padding on mobile */
    padding-right: 50px;
  }
}
/* Product Card */
.container {
  width: 300px;
  height: 400px;
  position: relative;
  cursor: pointer;
  flex-shrink: 0;
  overflow: hidden;
  border-radius: 5px;
  filter: drop-shadow(0 5px 5px rgba(0,0,0,0.4));
}

/* Images */
.container img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  position: absolute;
  top: 0;
  left: 0;
  transition: opacity 0.5s ease-in-out;
  z-index: 1;
}
.container img.hover {
  opacity: 0;
}
.container:hover img.hover,
.container:active img.hover {
  opacity: 1;
}
.container:hover img.base,
.container:active img.base {
  opacity: 0;
}

/* Overlay */
.container .overlay {
  position: relative;
  z-index: 2;
  width: 100%;
  height: 100%;
  display: grid;
  grid-template-rows: 1fr 2fr 2fr 1fr;
  background: rgba(77, 77, 77, 0.9);
  color: #FEF5DF;
  opacity: 0;
  transition: all 0.5s;
}
.container:hover .overlay,
.container:active .overlay {
  opacity: 1;
}

.items {
  padding-left: 20px;
  letter-spacing: 2px;
}

.head {
  font-size: 24px;
  line-height: 32px;
  transform: translateY(30px);
  transition: all 0.7s;
  position: relative;
}
.head hr {
  display: block;
  width: 0;
  border: none;
  border-bottom: 2px solid #FEF5DF;
  position: absolute;
  bottom: 0;
  left: 20px;
  transition: all 0.5s;
}

.price {
  font-size: 18px;
  line-height: 12px;
  font-weight: bold;
  opacity: 0;
  transform: translateY(30px);
  transition: all 0.7s;
}
.price .old {
  text-decoration: line-through;
  color: rgba(134, 134, 134, 0.774);
}

.cart {
  font-size: 12px;
  opacity: 0;
  letter-spacing: 1px;
  font-family: 'Lato', sans-serif;
  transform: translateY(30px);
  transition: all 0.7s;
  display: flex;
  align-items: center;
}
.cart i {
  font-size: 16px;
}
.cart span {
  margin-left: 10px;
}

/* Overlay animations */
.container:hover .head,
.container:active .head {
  transform: translateY(0);
}
.container:hover .head hr,
.container:active .head hr {
  width: 75px;
  transition-delay: 0.4s;
}
.container:hover .price,
.container:active .price {
  transform: translateY(0);
  opacity: 1;
  transition-delay: 0.3s;
}
.container:hover .cart,
.container:active .cart {
  transform: translateY(0);
  opacity: 1;
  transition-delay: 0.6s;
}

/* Carousel buttons */
.carousel-buttons {
  margin-top: 10px;
}
button {

  margin: 0 2px;
  cursor: pointer;
}

/* Responsive adjustments */
@media (max-width: 550px) {
  .container {
    width: 70vw;
    height: 90vw;
  }
  .head {
    font-size: 18px;
    line-height: 24px;
  }
  .price {
    font-size: 16px;
  }
  .cart {
    font-size: 10px;
  }
}



.product-info{

  background-color: yellow;
  width: 100%;
  height: 100%;
}

.product-container {
  background-color: red;
  width: 100%;
  max-width: 1200px;
  height: 700px; /* change this and layout scales */
  margin: auto;
  margin-top: 20px;
}

.layout-table {
  width: 100%;
  height: 100%;
  border-collapse: collapse;
  table-layout: fixed;
}

.left-column {
  width: 40%;
  background-color: lightblue;
}

.top-right {
  background-color: lightgreen;
  height: 10%;
}

.bottom-right {
  background-color: lightcoral;
  padding: 50px;
  height: 100%;

}

/* 📱 Mobile collapse */
@media (max-width: 768px) {
  .product-container {
    display: flex;
    flex-direction: column;
    align-items: center;   /* horizontally center */
    justify-content: center; /* vertically center */
    height: auto; /* let it grow naturally */
  }

  .layout-table,
  .layout-table tr,
  .layout-table td {
    width: 100% !important;
  }

  .left-column{
    height: 40vh;
  }

  .bottom-right{
    height: 60vh;
    padding: 0;
    padding-top: 10px;
  }


  .left-column,
  .top-right,
  .bottom-right {
    display: block;
    width: 100%;
    text-align: center; /* optional: center text inside */
  }
}

.slide-description{
  height: 100%;

  color: white;

}

.slide-description h2{
  position: absolute;
  bottom: 0;
  margin-bottom: 30px;
  margin-left: 35px;
  font-size: 30pt;
}