/* 20261103 v2: mobile hero promo card visible under the image (<=1130px).
   Part 1 = verbatim slideshow.css promo/overlay/pagination/arrow rules applied early (no reflow when the
   deferred slideshow.css arrives). Part 2 = height-lock overrides. Head CSS and image crop unchanged. */
@media (max-width:1130px){
.hero-slide-overlay{position: absolute; top: 50%; left: 8%; right: auto; transform: translateY(-65%) scale(0.8); transform-origin: left center; padding: 2rem; background-color: rgba(210,165,81,.13); backdrop-filter: blur(3px); border: 1px solid rgba(255,252,246,.6);}
.hero-promo-card{position: relative; border: 5px solid #fffaf3; background: rgba(157,66,16,.8); backdrop-filter: blur(20px); padding: 2rem; display: flex; flex-direction: column; align-items: center; gap: 1rem;}
.hero-promo-top{display: flex; align-items: center; gap: 1.25rem;}
.hero-promo-badge{width: 160px; height: 160px; border-radius: 50%; background-color: #dbaf60; display: flex; align-items: center; justify-content: center; flex-shrink: 0;}
.hero-promo-percent{border-radius: 50%; border: 3px solid #ffe4bc; display: flex; align-items: center; justify-content: center; width: 140px; height: 140px; font-family: Libertinus Serif, serif; font-size: 4rem; color: #fff; font-weight: normal;}
.hero-promo-title{font-family: Libertinus Serif, serif; font-size: 3.5rem; color: #ffeecf; text-align: center; line-height: 1.1; font-weight: normal;}
.hero-promo-text{font-size: 1.5rem; font-weight: 700; color: #fff; text-align: center; line-height: 1.5; text-transform: uppercase;}
.hero-promo-link{display: flex; align-items: center; gap: 1rem; color: #ffe6b7; font-weight: 400; text-transform: uppercase; letter-spacing: .1em; font-size: 1rem;}
.hero-promo-link::before,
.hero-promo-link::after{content: ""; width: 40px; height: 1px; background-color: #fff5e6;}
.hero-btn{position: absolute; top: 50%; transform: translateY(-50%); z-index: 10; width: 40px; height: 40px; background: rgba(190,166,128,.75); border: none; cursor: pointer; display: flex; align-items: center; justify-content: center; transition: background .2s, transform .2s ease; transform-origin: center center;}
.hero-btn:hover,
.hero-btn:focus-visible{background: rgba(190,166,128,1); transform: translateY(-50%) scale(1.2);}
.hero-btn-prev{left: 0;}
.hero-btn-next{right: 0;}
.hero-pagination{display: flex; align-items: center; justify-content: center; gap: .25rem; padding: .75rem 0; background: #fff; width: 100%; text-align: center;}
.hero-pagination .swiper-pagination-bullet{width: 24px; height: 24px; display: flex; align-items: center; justify-content: center; border-radius: 50%; border: 1px solid #cdbd9e; background: transparent; opacity: 1; transition: all .3s;}
.hero-pagination .swiper-pagination-bullet .inner-dot{display: block; width: 8px; height: 8px; background: #cdbd9e; border-radius: 50%; transition: all .3s;}
.hero-pagination .swiper-pagination-bullet-active .inner-dot{background: #bea680;}
.hero-slide-overlay--bottom{top: 50%; bottom: auto; left: 50%; right: auto; transform: translate(-50%, -50%); transform-origin: center center; width: 90%; max-width: 600px; background-color: rgba(210,165,81,.13); backdrop-filter: blur(3px); border: 1px solid rgba(255,252,246,.6); padding: 2rem;}
.hero-promo-card--row{display: grid; grid-template-columns: auto 1fr; align-items: center; gap: 2rem; border: 1px solid #ffdab4; background: #574c397d; backdrop-filter: none; padding: 1.5rem 2rem; width: 100%; box-sizing: border-box;}
.hero-promo-bottom-col{display: flex; flex-direction: column; align-items: flex-start; gap: 0.75rem;}
.hero-promo-card--row .hero-promo-top{flex-direction: column; align-items: center; gap: 0.5rem;}
.hero-promo-card--row .hero-promo-text{text-align: left; font-size: 1.3rem;}
.hero-promo-card--row .hero-promo-link{justify-content: flex-start;}
@media (max-width: 900px){
  .hero-slide-overlay--bottom{bottom: 0; width: 100%; max-width: 100%; transform: translate(-50%, 0); border-left: none; border-right: none;}
  .hero-promo-card--row{grid-template-columns: auto 1fr; gap: 1rem; padding: 1rem;}
  .hero-promo-card--row .hero-promo-text{font-size: 1rem;}
}
@media (max-width: 600px){
  .hero-promo-card--row{grid-template-columns: 1fr; gap: 0.5rem; padding: 0.75rem 1rem;}
  .hero-promo-card--row .hero-promo-top{flex-direction: row;}
  .hero-promo-card--row .hero-promo-text{font-size: 0.9rem;}
}
@media (max-width: 1200px){
  .hero-promo-badge{width: 110px; height: 110px;}
  .hero-promo-percent{width: 94px; height: 94px; font-size: 2.8rem;}
  .hero-promo-title{font-size: 2.5rem;}
  .hero-promo-text{font-size: 1.1rem;}
}
@media (max-width: 900px){
  .hero-btn-prev, .hero-btn-next{display: none !important;}
  .hero-promo-title{font-size: 3rem;}
  .hero-slide-overlay{top: unset; bottom: 0; left: 50%; transform: translate(-50%, 0); right: auto; padding: 1.5rem; width: 100%; box-sizing: border-box;}
}
@media (max-width: 600px){
  .hero-btn-prev, .hero-btn-next{display: none !important;}
  .hero-promo-title{font-size: 2rem;}
  .hero-promo-badge{width: 120px; height: 120px;}
  .hero-promo-percent{width: 100px; height: 100px; font-size: 2.5rem;}
  .hero-promo-text{font-size: 1rem;}
  .hero-slide-overlay{top: unset; bottom: 0; left: 50%; transform: translate(-50%, 0); right: auto; padding: 0.75rem 1rem; width: 100%; box-sizing: border-box;}
}
}
/* 20261103: mobile hero promo card visible under the image (<=1130px).
   Overrides the head CLS/crop height locks without editing them; image crop unchanged.
   Overlay and pagination heights are reserved so deferred slideshow.css and Swiper bullets do not shift the page. */
@media (max-width:1130px){
  body.common-home .hero-slider-wrap.hero-slider-wrap,
  body.common-home .hero-slider-wrap .hero-slider.hero-slider,
  body.common-home .hero-slider-wrap .hero-slide.hero-slide{aspect-ratio:auto!important;height:auto!important;min-height:0!important}
  body.common-home .hero-slider-wrap .swiper-slide{height:auto;display:flex}
  body.common-home .hero-slider-wrap .hero-slide.hero-slide{display:flex!important;flex-direction:column}
  body.common-home .hero-slider-wrap .hero-slide-overlay{flex:1 0 auto;justify-content:center;box-sizing:border-box;max-width:none!important;min-height:356px}
  body.common-home .hero-slider-wrap .hero-pagination{height:48px;box-sizing:border-box}
  body.common-home .hero-slider-wrap .hero-btn{position:absolute}
}
@media (max-width:900px){
  body.common-home .hero-slider-wrap .hero-slide-overlay{min-height:344px}
  body.common-home .hero-slider-wrap .hero-btn{display:none!important}
}
@media (max-width:600px){
  body.common-home .hero-slider-wrap .hero-slide-overlay{min-height:320px}
}
