.home-slider {
  position: fixed;
  bottom: 0;
  left: 0;
  width: 100%;
  height: calc(var(--vh, 1vh) * 100 - var(--header-height, 158px));
  max-height: 950px;
  overflow: hidden;
  top: auto;
  z-index: 0;
}

.home-slider .swiper-slide {
  background-size: cover;
  background-repeat: no-repeat;
  background-position: center;
  position: relative;
  display: flex;
  align-items: flex-end;
  justify-content: flex-start;
}

.home-slider-content {
  position: absolute;
  bottom: 20px;
  left: calc((100% - var(--bs-container-width, 1320px)) / 2 + 15px);
  z-index: 2;
  width: auto;
  animation: fadeIn 0.8s ease-in-out both;
}

.home-slider-inner .title {
  background: rgba(0, 0, 0, 0.95);
  font-weight: 700;
  line-height: 1.4;
  color: #fff;
  padding: 14px 20px;
  margin: 0;
  display: inline-block;
  position: relative;
  z-index: 3;
  max-width: 1000px;
  width: auto;
  white-space: normal;
  overflow-wrap: break-word;
  word-break: normal;
  transform: translateY(30px);
  opacity: 0;
  animation: slideUpTitle 0.8s ease forwards;
  font-size: clamp(18px, 2.2vw, 26px);
}

.home-slider-inner .title a {
  color: #fff;
  text-decoration: none;
}

.home-slider-inner .subtitle {
  background: #b30000;
  display: inline-block;
  font-weight: 600;
  line-height: 1.3;
  color: #fff;
  padding: 14px 30px;
  margin-top: -8px;
  min-height: 60px;
  clip-path: polygon(0 0, calc(100% - 35px) 0, 100% 50%, calc(100% - 35px) 100%, 0 100%);
  z-index: 2;
  position: relative;
  transform: translateY(40px);
  opacity: 0;
  animation: slideUpSubtitle 1s ease forwards;
  animation-delay: 0.3s;
  font-size: clamp(15px, 1.8vw, 20px);
  width: auto;
  max-width: 1000px;
  min-width: 70%;
  white-space: normal;
  word-break: normal;
  overflow-wrap: break-word;
}

@keyframes fadeIn { from { opacity: 0; } to { opacity: 1; } }
@keyframes slideUpTitle {
  from { opacity: 0; transform: translateY(40px); }
  to { opacity: 1; transform: translateY(0); }
}
@keyframes slideUpSubtitle {
  from { opacity: 0; transform: translateY(50px); }
  to { opacity: 1; transform: translateY(0); }
}

.swiper-pagination-bullet { background: #fff; opacity: 0.6; transition: 0.3s ease; }
.swiper-pagination-bullet-active { background: #000; opacity: 1; }
.swiper-button-prev, .swiper-button-next {
  color: #fff; transition: 0.3s ease;
}
.swiper-button-prev:hover, .swiper-button-next:hover {
  color: #b30000;
}

@media (min-width: 1600px) {
  .home-slider-inner .title,
  .home-slider-inner .subtitle { max-width: 1000px; }
}

@media (max-width: 1400px) {
  .home-slider-inner .title { font-size: 22px; max-width: 850px; }
  .home-slider-inner .subtitle { font-size: 17px; max-width: 850px; }
}

@media (max-width: 1200px) {
  .home-slider-inner .title { font-size: 20px; max-width: 700px; }
  .home-slider-inner .subtitle { font-size: 16px; max-width: 700px; }
}

@media (max-width: 992px) {
  .home-slider {
    position: relative;
    height: 90vh;
    max-height: none;
  }
  .home-slider-content {
    left: calc((100% - 720px) / 2 + 12px);
    bottom: 25px;
  }
  .home-slider-inner .title {
    font-size: 20px;
    max-width: 600px;
    padding: 12px 22px;
  }
  .home-slider-inner .subtitle {
    font-size: 16px;
    padding: 14px 22px;
    min-height: 75px;
    max-width: 600px;
  }
}

@media (max-width: 768px) {
  .home-slider {
    position: relative;
    height: 90vh;
    margin: 0;
  }
  .home-slider-content {
    left: 0;
    bottom: 20px;
    width: 100%;
    padding: 0 15px;
  }
  .home-slider-inner .title {
    width: 100%;
    max-width: 100%;
    font-size: 18px;
    padding: 14px 20px;
    clip-path: none;
  }
  .home-slider-inner .subtitle {
    width: 95%;
    max-width: 95%;
    font-size: 16px;
    padding: 16px 20px;
    min-height: 85px;
    clip-path: polygon(0 0, calc(100% - 25px) 0, 100% 50%, calc(100% - 25px) 100%, 0 100%);
  }
}

@media (max-width: 576px) {
  .home-slider-content {
    left: 0;
    bottom: 16px;
    width: 100%;
    padding: 0 15px;
  }
  .home-slider-inner .title {
    width: 100%;
    font-size: 16px;
    padding: 12px 18px;
  }
  .home-slider-inner .subtitle {
    width: 95%;
    font-size: 15px;
    padding: 16px 18px;
    min-height: 60px;
  }
}

@media (max-width: 420px) {
  .home-slider-inner .title {
    font-size: 15px;
    padding: 8px 15px;
  }
  .home-slider-inner .subtitle {
    font-size: 14px;
    padding: 16px 16px;
    min-height: 50px;
  }
}

@media (min-width: 1200px) {
  .home-slider-content {
    left: calc((100% - 1140px) / 2 + 15px);
  }
}
@media (min-width: 1400px) {
  .home-slider-content {
    left: calc((100% - 1320px) / 2 + 15px);
  }
}
body.admin-bar .home-slider {
  bottom: 32px;
}
