/* SuntechMall-VPro Home Product Slider (FULL WIDTH + LOCKED RULES)
   - FULL WIDTH
   - ORANGE background
   - NO blur
   - NO shadows
   - ONLY image clickable (no right-half link area)
   - Feature image: 1:1 + 20px dark-orange border
*/

:root{
  --hdaf-orange: #ff8a00;
  --hdaf-black: #0b1220;
}

/* FULL WIDTH SECTION */
.hps{
  padding: 0 !important;
  margin: 0 !important;
  width: 100%;
  background: var(--hdaf-orange);
}

/* Break out container padding */
.hps .h-container{
  max-width: none !important;
  padding: 0 !important;
  margin: 0 !important;
}

/* Wrapper */
.hps-wrap{
  position: relative;
  width: 100%;
  overflow: hidden;
  border: 0;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
  min-height: 240px;
}

/* Track */
.hps-track{
  display:flex;
  transform: translate3d(0,0,0);
  transition: transform 480ms cubic-bezier(.2,.8,.2,1);
  will-change: transform;
}

/* Slide */
.hps-slide{
  min-width: 100%;
  display:grid;
  grid-template-columns: 1.05fr .95fr;
  align-items: stretch;
  padding: 0;
}

.hps-left,
.hps-right{
  padding: 0;
}

/* LEFT CONTENT */
.hps-left{
  max-width: var(--h-container, 1200px);
  margin-inline: auto;
  padding: 14px var(--h-gap, 16px);
  display:flex;
  flex-direction:column;
  justify-content:center;
  gap: 10px;
}

/* Badge */
.hps-badge{
  display: inline-flex;
  align-items: center;
  gap: 8px;
  width: fit-content;
  padding: 6px 10px;
  border-radius: 999px;
  border: 1px solid rgba(255,255,255,.28);
  background: rgba(255,255,255,.16);
  font-size: 12px;
  font-weight: 900;
  letter-spacing: .2px;
  color: rgba(255,255,255,.92);
}
.hps-badge i{
  width: 8px; height: 8px;
  border-radius: 99px;
  background: #14b8a6;
  display:inline-block;
}

/* Title/desc */
.hps-head{
  margin: 0;
  font-size: clamp(22px, 2.9vw, 44px);
  line-height: 1.06;
  letter-spacing: -.35px;
  color: #ffffff;
}
.hps-sub{
  margin: 0;
  color: rgba(255,255,255,.85);
  font-size: 15px;
  max-width: 62ch;
}

/* Product meta */
.hps-product{
  margin-top: 4px;
  display:flex;
  flex-direction: column;
  gap: 4px;
}
.hps-name{
  font-weight: 900;
  font-size: 14px;
  color: rgba(255,255,255,.92);
}
.hps-price{
  font-weight: 900;
  font-size: 16px;
  color: #ffffff;
}
.hps-price del{ opacity:.65; margin-right: 6px; }
.hps-price ins{ text-decoration:none; }

/* Buttons */
.hps-actions{
  margin-top: 8px;
  display:flex;
  flex-wrap: wrap;
  gap: 10px;
}
.hps-btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap: 10px;
  padding: 10px 14px;
  border-radius: 12px;
  border: 1px solid rgba(255,255,255,.28);
  background: rgba(255,255,255,.16);
  cursor:pointer;
  font-weight: 900;
  text-decoration: none;
  user-select:none;
  color: #ffffff;
}
.hps-btn:hover{
  background: rgba(255,255,255,.22);
  text-decoration:none;
}
.hps-btn--primary{
  background: rgba(11,18,32,.92);
  color:#fff;
  border-color: rgba(255,255,255,.08);
}
.hps-btn--primary:hover{ filter: brightness(1.02); }

/* RIGHT SIDE */
.hps-right{
  display:block;
  position: relative;
  pointer-events: none;
}

/* No overlays */
.hps-right::before{
  content:"";
  position:absolute;
  inset: 0;
  background: transparent;
  pointer-events:none;
}

/* Image stage */
.hps-media{
  max-width: var(--h-container, 1200px);
  margin-inline: auto;
  padding: 14px var(--h-gap, 16px);
  display:flex;
  align-items:center;
  justify-content:flex-end;
  position: relative;
  background: none !important;
  box-shadow: none !important;
}

/* ONLY image link clickable */
.hps-mediaLink{
  display: inline-block;
  text-decoration: none !important;
  background: none !important;
  box-shadow: none !important;
  padding: 0 !important;
  border-radius: 0 !important;
  pointer-events: auto;
}

/* FINAL FEATURE IMAGE */
.hps-img{
  width: min(420px, 38vw);
  aspect-ratio: 1 / 1;
  height: auto;
  object-fit: contain;
  background: transparent;
  padding: 0;
  border-radius: 0;
  border: 20px solid #c2410c;
  outline: none;
  box-shadow: none;
  transform: translateZ(0);
}

/* Small premium hover (only on image link) */
.hps-mediaLink:hover .hps-img{
  transform: translateY(-2px);
  transition: transform 220ms ease;
}

/* Arrows */
.hps-arrow{
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  width: 46px;
  height: 46px;
  border-radius: 14px;
  border: 1px solid rgba(255,255,255,.32);
  background: rgba(255,255,255,.16);
  cursor: pointer;
  display:flex;
  align-items:center;
  justify-content:center;
  z-index: 5;
  user-select:none;
  color: #ffffff;
}
.hps-arrow:hover{ background: rgba(255,255,255,.22); }
.hps-arrow--prev{ left: 14px; }
.hps-arrow--next{ right: 14px; }
.hps-arrow{ font-size: 22px; line-height: 1; }

/* Responsive */
@media (max-width: 991px){
  .hps-wrap{ min-height: 380px; }
  .hps-slide{ grid-template-columns: 1fr; }
  .hps-media{
    justify-content:center;
    padding-top: 6px;
  }
  .hps-img{
    width: min(300px, 78vw);
  }
}

@media (max-width: 479px){
  .hps-wrap{ min-height: 360px; }
  .hps-arrow{ width: 42px; height: 42px; }
}

/* Reduced motion */
@media (prefers-reduced-motion: reduce){
  .hps-track{ transition: none; }
  .hps-mediaLink:hover .hps-img{ transition: none; transform: none; }
}

/* Focus cleanup */
.hps-right a{
  text-decoration: none !important;
}
.hps-right a:hover{
  text-decoration: none !important;
}
.hps-right a:focus{
  outline: none;
}

/* Manual position controls */
:root{
  --hps-left-shift: -80px;
  --hps-img-shift: -80px;

  --hps-img-size: 300px;
  --hps-img-maxvw: 30vw;

  --hps-img-border: 20px;
  --hps-img-radius: 18px;
}

.hps-left{
  transform: translateX(var(--hps-left-shift));
}

.hps-media{
  transform: translateX(var(--hps-img-shift));
}

.hps-img{
  width: min(var(--hps-img-size), var(--hps-img-maxvw)) !important;
  aspect-ratio: 1 / 1;
  height: auto;

  border-width: var(--hps-img-border) !important;
  border-radius: var(--hps-img-radius) !important;

  box-shadow: none !important;
  background: transparent !important;
}

@media (max-width: 991px){
  :root{
    --hps-left-shift: 0px;
    --hps-img-shift: 0px;

    --hps-img-size: 300px;
    --hps-img-maxvw: 78vw;

    --hps-img-border: 16px;
    --hps-img-radius: 16px;
  }
}
