/*!*******************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[4].use[1]!./node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[4].use[2]!./node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[4].use[3]!./src/blocks/carousel/style.scss ***!
  \*******************************************************************************************************************************************************************************************************************************************************/
/* === GLOBAL STYLES === */
.carousel-container {
  position: relative;
  width: 100%;
  height: 400px;
  overflow: hidden;
}

.carousel-slide {
  position: relative;
  height: 100%;
  overflow: hidden;
  background-repeat: no-repeat;
  background-size: cover;
  background-position: center center;
  transition: all 0.5s ease-in-out;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.4);
  cursor: pointer;
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
}

.carousel-media {
  flex: 1 1 auto;
  width: 100%;
  height: 100%;
  background-size: cover;
  background-position: center center;
  background-repeat: no-repeat;
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
}

.carousel-fullscreen {
  display: none;
}

/* === BOOK STYLE === */
.carousel-container.carousel-style-book {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 0.5rem;
  padding: 2rem 1rem;
  height: 400px;
  overflow: hidden;
}
.carousel-container.carousel-style-book .carousel-slide {
  flex: 0 0 60px;
  transition: all 0.5s ease-in-out;
  border-radius: 1rem;
  overflow: hidden;
  background-size: cover;
  background-position: center;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.4);
  position: relative;
  cursor: pointer;
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  height: 100%;
}
.carousel-container.carousel-style-book .carousel-slide.slide-current {
  flex: 0 0 300px;
  z-index: 2;
  transform: scale(1);
}
.carousel-container.carousel-style-book .carousel-slide.slide-before,
.carousel-container.carousel-style-book .carousel-slide.slide-after {
  opacity: 0.7;
}
.carousel-container.carousel-style-book .carousel-media {
  flex: 1;
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  height: 100%;
  width: 100%;
  background-size: cover;
  background-position: center center;
  background-repeat: no-repeat;
}
.carousel-container.carousel-style-book .carousel-slide.slide-current .carousel-caption {
  display: block;
  position: relative;
  background: rgba(0, 0, 0, 0.65);
  color: white;
  width: 100%;
  padding: 1rem;
  box-sizing: border-box;
  border-bottom-left-radius: 1rem;
  border-bottom-right-radius: 1rem;
}
.carousel-container.carousel-style-book .carousel-slide:not(.slide-current) .carousel-caption {
  position: absolute;
  inset: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  background: rgba(0, 0, 41, 0.8);
  writing-mode: vertical-rl;
  transform: rotate(180deg);
  text-align: center;
  padding: 0 0.5rem;
  box-sizing: border-box;
}
.carousel-container.carousel-style-book .carousel-slide:not(.slide-current) .carousel-caption p {
  display: none;
}
.carousel-container.carousel-style-book .carousel-caption h3,
.carousel-container.carousel-style-book .carousel-caption p {
  margin: 0;
  color: white;
  font-weight: 600;
}
.carousel-container.carousel-style-book .carousel-caption h3 {
  font-size: 1.2rem;
  letter-spacing: 0.05em;
  text-shadow: 1px 1px 2px rgba(0, 0, 0, 0.6);
}
.carousel-container.carousel-style-book .carousel-caption p {
  padding-top: 0.5rem;
  font-size: 0.9rem;
  opacity: 0.85;
}

/* === CLASSIC STYLE === */
.carousel-style-classic .carousel-container {
  position: relative;
  width: 100%;
  height: 345px;
  overflow: hidden;
}
.carousel-style-classic .carousel-slides {
  display: flex;
  flex-wrap: nowrap;
  width: 100%;
  height: 100%;
  transition: transform 0.5s ease-in-out;
}
.carousel-style-classic .carousel-media {
  width: 25%;
  height: auto;
  background-size: cover;
  background-repeat: no-repeat;
  background-position: center;
  display: flex;
  align-items: flex-end;
  justify-content: flex-start;
}
.carousel-style-classic .carousel-caption {
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  padding: 2rem;
  background: rgba(0, 0, 0, 0.75);
  color: white;
  box-sizing: border-box;
}
.carousel-style-classic .carousel-caption h3 {
  max-width: 20%;
  margin: 0;
  font-size: 1.4rem;
  font-weight: 600;
  color: white;
}
.carousel-style-classic .carousel-caption p {
  max-width: 20%;
  margin-top: 0.5rem;
  font-size: 1rem;
  opacity: 0.9;
  color: white;
}
.carousel-style-classic .carousel-navigation {
  position: absolute;
  bottom: 1rem;
  right: 1rem;
  display: flex;
  gap: 0.5rem;
  z-index: 10;
}
.carousel-style-classic .carousel-navigation button {
  background: rgba(255, 255, 255, 0.85);
  border: none;
  border-radius: 50%;
  width: 36px;
  height: 36px;
  font-size: 1.2rem;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 0;
  box-shadow: 0 2px 5px rgba(0, 0, 0, 0.2);
  transition: background 0.3s ease;
}
.carousel-style-classic .carousel-navigation button:hover {
  background: white;
}

/*# sourceMappingURL=style-index.css.map*/