/* Hiper Hispania Home 1.2.1 */
body.shop-0#index #center_column,
body.shop-0.page-index #center_column {
  padding-top: 0 !important;
}

body.shop-0#index #columns.container,
body.shop-0.page-index #columns.container,
body.shop-0#index #center_column,
body.shop-0.page-index #center_column,
body.shop-0#index #main,
body.shop-0.page-index #main,
body.shop-0#index #content.page-home,
body.shop-0.page-index #content.page-home {
  width: 100% !important;
  max-width: none !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
}

.hhprov2-home {
  --hh-ink: #17282c;
  --hh-deep: #0f3a3f;
  --hh-teal: #1f7a80;
  --hh-green: #1f8a5b;
  --hh-mint: #e7f3ef;
  --hh-gold: #b47b2a;
  --hh-paper: #ffffff;
  --hh-canvas: #f5f7f6;
  --hh-line: #dbe3e1;
  --hh-muted: #627276;
  --hh-header-gradient: linear-gradient(135deg, #0f3a3f 0%, #155e63 55%, #1f7a80 100%);
  width: 100vw;
  max-width: 100vw;
  margin: 0 calc(50% - 50vw);
  padding: 0 0 42px;
  overflow: hidden;
  background: linear-gradient(180deg, #fbfefd 0%, var(--hh-canvas) 34%, #f8fbfa 100%);
  color: var(--hh-ink);
  font-family: Inter, ui-sans-serif, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}

.hhprov2-home *,
.hhprov2-home *::before,
.hhprov2-home *::after {
  box-sizing: border-box;
}

.hhprov2-home a {
  text-decoration: none;
}

.hhprov2-wrap {
  width: min(1360px, calc(100% - 40px));
  margin: 0 auto;
}

.hhprov2-sec {
  padding: 46px 0;
}

.hhprov2-grid {
  display: grid;
  gap: 18px;
}

.hhprov2-heading {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 18px;
  margin: 0 0 24px;
}

.hhprov2-heading h2 {
  margin: 0;
  color: var(--hh-deep);
  font-size: 38px;
  font-weight: 800;
  line-height: 1.12;
  letter-spacing: 0;
}

.hhprov2-heading p {
  max-width: 760px;
  margin: 10px 0 0;
  color: var(--hh-muted);
  font-size: 16px;
  line-height: 1.62;
}

.hhprov2-chip {
  display: inline-flex;
  align-items: center;
  min-height: 30px;
  padding: 5px 10px;
  border: 1px solid #c9ded8;
  border-radius: 4px;
  background: linear-gradient(135deg, #f1faf7 0%, #e3f2ed 100%);
  color: #17634b;
  font-size: 12px;
  font-weight: 800;
}

.hhprov2-card {
  position: relative;
  overflow: hidden;
  border: 1px solid var(--hh-line);
  border-radius: 8px;
  background: var(--hh-paper);
}

.hhprov2-btn,
.hhhome-banner-cta,
.hhprov2-category-cta,
.hhprov2-product-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 6px;
  font-weight: 800;
  line-height: 1.2;
  transition: transform 180ms ease, box-shadow 180ms ease, background-color 180ms ease;
}

.hhprov2-btn {
  min-height: 48px;
  padding: 0 20px;
  font-size: 14px;
}

.hhprov2-btn-primary {
  border: 0;
  background: var(--hh-header-gradient);
  color: #fff !important;
  box-shadow: 0 10px 24px rgba(15, 58, 63, 0.18);
}

.hhprov2-btn-secondary {
  border: 1px solid #bfcac8;
  background: #fff;
  color: var(--hh-deep) !important;
}

.hhprov2-btn:hover,
.hhhome-banner-cta:hover,
.hhprov2-category-cta:hover,
.hhprov2-product-btn:hover {
  transform: translateY(-1px);
}

/* Top campaign carousel */
.hhhome-banner {
  position: relative;
  width: 100%;
  height: clamp(430px, 62vh, 620px);
  overflow: hidden;
  background: #1e292b;
  touch-action: pan-y;
}

.hhhome-banner-track,
.hhhome-banner-slide {
  position: absolute;
  inset: 0;
}

.hhhome-banner-slide {
  visibility: hidden;
  opacity: 0;
  transition: opacity 520ms ease, visibility 520ms ease;
}

.hhhome-banner-slide.is-active {
  visibility: visible;
  opacity: 1;
  z-index: 1;
}

.hhhome-banner-slide > img {
  position: absolute;
  inset: 0;
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
}

.hhhome-banner-shade {
  position: absolute;
  inset: 0;
  background: linear-gradient(90deg, rgba(8, 20, 22, 0.78) 0%, rgba(8, 20, 22, 0.56) 31%, rgba(8, 20, 22, 0.08) 58%, rgba(8, 20, 22, 0) 100%);
}

.hhhome-banner-inner {
  position: absolute;
  inset: 0;
  z-index: 2;
  display: flex;
  align-items: center;
  width: min(1360px, calc(100% - 40px));
  height: 100%;
  margin: 0 auto;
}

.hhhome-banner-copy {
  width: min(570px, 47%);
  color: #fff;
}

.hhhome-banner-copy :is(h1,h2) {
  margin: 0;
  color: #fff;
  font-size: 52px;
  font-weight: 850;
  line-height: 1.03;
  letter-spacing: 0;
  text-wrap: balance;
}

.hhhome-banner-copy p {
  max-width: 500px;
  margin: 18px 0 0;
  color: rgba(255, 255, 255, 0.9);
  font-size: 18px;
  line-height: 1.55;
}

.hhhome-banner-cta {
  min-height: 50px;
  margin-top: 24px;
  padding: 0 20px;
  background: #fff;
  color: var(--hh-deep) !important;
  font-size: 14px;
  box-shadow: 0 12px 28px rgba(5, 15, 17, 0.24);
}

.hhhome-banner-dots {
  position: absolute;
  z-index: 3;
  right: auto;
  left: 50%;
  bottom: 24px;
  display: flex;
  gap: 8px;
  transform: translateX(-50%);
}

.hhhome-banner-dot {
  width: 28px;
  height: 4px;
  padding: 0;
  border: 0;
  border-radius: 2px;
  background: rgba(255, 255, 255, 0.46);
  cursor: pointer;
}

.hhhome-banner-dot.is-active {
  width: 46px;
  background: #fff;
}

/* Category presentation */
.hhprov2-main-categories {
  background: #fff;
}

.hhprov2-categories {
  grid-template-columns: repeat(4, minmax(0, 1fr));
}

.hhprov2-category {
  display: flex;
  min-width: 0;
  flex-direction: column;
  overflow: hidden;
  border: 1px solid var(--hh-line);
  border-radius: 8px;
  background: #fff;
  color: var(--hh-ink) !important;
  box-shadow: 0 8px 22px rgba(24, 45, 47, 0.05);
  transition: transform 180ms ease, box-shadow 180ms ease, border-color 180ms ease;
}

.hhprov2-category:hover {
  transform: translateY(-3px);
  border-color: #a9c1bc;
  box-shadow: 0 16px 34px rgba(24, 45, 47, 0.1);
}

.hhprov2-category-media {
  aspect-ratio: 4 / 3;
  overflow: hidden;
  background: #edf0ef;
}

.hhprov2-category-media img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 420ms ease;
}

.hhprov2-category:hover .hhprov2-category-media img {
  transform: scale(1.035);
}

.hhprov2-category-copy {
  display: flex;
  min-height: 168px;
  flex: 1;
  flex-direction: column;
  align-items: flex-start;
  padding: 20px;
}

.hhprov2-category-copy p {
  margin: 0 0 20px;
  color: #263b3d;
  font-size: 16px;
  font-weight: 700;
  line-height: 1.5;
}

.hhprov2-category-cta {
  min-height: 42px;
  margin-top: auto;
  padding: 0 15px;
  background: var(--hh-header-gradient);
  color: #fff !important;
  font-size: 16px;
  font-weight: 850;
  text-transform: uppercase;
  box-shadow: 0 8px 18px rgba(15, 58, 63, 0.16);
}

/* Product sliders */
.hhprov2-slider-sec {
  background: linear-gradient(180deg, #f7faf9 0%, #eef5f2 100%);
}

.hhprov2-slider-sec:nth-of-type(even) {
  background: #fff;
}

.hhprov2-slider-sec .hhprov2-heading {
  justify-content: center;
  text-align: center;
}

.hhprov2-slider-shell {
  position: relative;
  padding: 0 50px;
}

.hhprov2-slider-track {
  display: flex;
  gap: 16px;
  overflow-x: auto;
  padding: 4px 2px 18px;
  scroll-behavior: smooth;
  scroll-snap-type: x mandatory;
  scrollbar-width: none;
  -webkit-overflow-scrolling: touch;
}

.hhprov2-slider-track::-webkit-scrollbar {
  display: none;
}

.hhprov2-slide {
  flex: 0 0 clamp(278px, 23vw, 318px);
  scroll-snap-align: start;
}

.hhprov2-slide-card {
  display: flex;
  min-height: 526px;
  height: 100%;
  flex-direction: column;
  overflow: hidden;
  border: 1px solid var(--hh-line);
  border-radius: 8px;
  background: #fff;
  box-shadow: 0 8px 22px rgba(24, 45, 47, 0.055);
  transition: transform 180ms ease, box-shadow 180ms ease, border-color 180ms ease;
}

.hhprov2-slide-card:hover {
  transform: translateY(-3px);
  border-color: #abc1bd;
  box-shadow: 0 18px 36px rgba(24, 45, 47, 0.11);
}

.hhprov2-slide-media {
  display: flex;
  aspect-ratio: 1 / 0.78;
  align-items: center;
  justify-content: center;
  overflow: hidden;
  border-bottom: 1px solid #e5e9e8;
  background: #fff;
}

.hhprov2-slide-media img {
  display: block;
  width: 100%;
  height: 100%;
  padding: 14px;
  object-fit: contain;
  transition: transform 260ms ease;
}

.hhprov2-slide-card:hover .hhprov2-slide-media img {
  transform: scale(1.025);
}

.hhprov2-slide-fallback {
  display: grid;
  width: 62px;
  height: 62px;
  place-items: center;
  border-radius: 6px;
  background: #eef2f1;
  color: #71807d;
  font-size: 26px;
}

.hhprov2-slide-info {
  display: flex;
  flex: 1;
  flex-direction: column;
  padding: 18px;
}

.hhprov2-slide-title {
  min-height: 48px;
  color: #172528 !important;
  font-size: 18px;
  font-weight: 800;
  line-height: 1.32;
  letter-spacing: 0;
  display: -webkit-box;
  overflow: hidden;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
}

.hhprov2-slide-description {
  min-height: 60px;
  margin: 9px 0 0;
  color: var(--hh-muted);
  font-size: 13px;
  line-height: 1.5;
  display: -webkit-box;
  overflow: hidden;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 3;
}

.hhprov2-slide-foot {
  margin-top: 14px;
}

.hhprov2-slide-price {
  color: #13734c;
  font-size: 24px;
  font-weight: 900;
  line-height: 1.15;
}

.hhprov2-slide-actions {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  gap: 8px;
  margin-top: auto;
  padding-top: 16px;
}

.hhprov2-cart-form {
  min-width: 0;
  margin: 0;
}

.hhprov2-product-btn {
  width: 100%;
  min-width: 0;
  min-height: 44px;
  padding: 8px 10px;
  border: 1px solid #b7c4c1;
  font-family: inherit;
  font-size: 12px;
  text-align: center;
  white-space: normal;
  cursor: pointer;
}

.hhprov2-product-buy {
  background: #fff;
  color: var(--hh-deep) !important;
}

.hhprov2-product-cart {
  gap: 7px;
  border-color: transparent;
  background: var(--hh-header-gradient);
  color: #fff;
}

.hhprov2-product-cart i {
  flex: 0 0 auto;
  font-size: 16px;
}

.hhprov2-product-unavailable {
  grid-column: 1 / -1;
  min-height: 44px;
  padding: 12px;
  border-radius: 6px;
  background: #f1f3f2;
  color: #6b7775;
  font-size: 12px;
  font-weight: 700;
  text-align: center;
}

.hhprov2-slider-nav {
  position: absolute;
  z-index: 3;
  top: 48%;
  display: grid;
  width: 40px;
  height: 40px;
  place-items: center;
  transform: translateY(-50%);
  border: 1px solid #c8d2d0;
  border-radius: 50%;
  background: #fff;
  color: var(--hh-deep);
  font-size: 24px;
  font-weight: 800;
  box-shadow: 0 8px 20px rgba(24, 45, 47, 0.1);
  cursor: pointer;
}

.hhprov2-slider-prev { left: 0; }
.hhprov2-slider-next { right: 0; }
.hhprov2-slider-nav:hover { background: #edf5f2; }

/* Existing commercial and trust bands */
.hhprov2-hero {
  padding: 46px 0;
  background: linear-gradient(180deg, #ffffff 0%, #f1f7f5 100%);
}

.hhprov2-hero-grid {
  display: grid;
  grid-template-columns: 1.08fr 0.92fr;
  gap: 18px;
}

.hhprov2-hero-main {
  min-height: 440px;
  padding: 34px;
  border: 0;
  background: linear-gradient(135deg, #ffffff 0%, #eef8f5 52%, #dfeee9 100%);
  box-shadow: 0 18px 44px rgba(15, 58, 63, 0.09);
}

.hhprov2-title {
  max-width: 760px;
  margin: 16px 0 0;
  color: var(--hh-deep);
  font-size: 46px;
  font-weight: 850;
  line-height: 1.05;
  letter-spacing: 0;
}

.hhprov2-title .accent { color: #146f69; }

.hhprov2-sub {
  max-width: 760px;
  margin: 16px 0 0;
  color: var(--hh-muted);
  font-size: 16px;
  line-height: 1.65;
}

.hhprov2-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-top: 22px;
}

.hhprov2-stat-row {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 8px;
  margin-top: 26px;
}

.hhprov2-stat {
  padding: 14px 10px;
  border-left: 2px solid #8fb3aa;
  background: linear-gradient(145deg, #ffffff 0%, #f3f8f6 100%);
}

.hhprov2-stat .icon,
.hhprov2-mini .icon,
.hhprov2-strip-item .icon,
.hhprov2-feature .icon {
  display: grid;
  width: 38px;
  height: 38px;
  margin-bottom: 8px;
  place-items: center;
  border-radius: 6px;
  background: linear-gradient(135deg, #e5f4ef 0%, #d7e8e4 100%);
  color: var(--hh-deep);
  font-size: 18px;
}

.hhprov2-stat strong,
.hhprov2-stat span {
  display: block;
}

.hhprov2-stat strong {
  color: var(--hh-deep);
  font-size: 13px;
}

.hhprov2-stat span {
  margin-top: 3px;
  color: var(--hh-muted);
  font-size: 11px;
  line-height: 1.4;
}

.hhprov2-side {
  display: grid;
  gap: 18px;
  grid-template-rows: 1fr auto;
}

.hhprov2-visual {
  min-height: 292px;
  padding: 30px;
  border: 0;
  background: linear-gradient(90deg, rgba(12, 35, 38, 0.86), rgba(12, 35, 38, 0.48)), url("../img/banners/muebles.jpg") center / cover no-repeat;
  color: #fff;
}

.hhprov2-visual h3 {
  max-width: 550px;
  margin: 15px 0 9px;
  color: #fff;
  font-size: 30px;
  line-height: 1.08;
}

.hhprov2-visual p {
  max-width: 540px;
  margin: 0;
  color: rgba(255, 255, 255, 0.9);
  font-size: 14px;
  line-height: 1.6;
}

.hhprov2-bullets {
  display: grid;
  gap: 7px;
  margin-top: 16px;
}

.hhprov2-bullet {
  padding: 9px 11px;
  border-left: 2px solid #7cd7af;
  background: rgba(7, 22, 24, 0.34);
  color: #fff;
  font-size: 13px;
  backdrop-filter: blur(6px);
}

.hhprov2-mini-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 12px;
}

.hhprov2-mini,
.hhprov2-strip-item,
.hhprov2-brand,
.hhprov2-product,
.hhprov2-quote,
.hhprov2-feature {
  border: 1px solid var(--hh-line);
  border-radius: 8px;
  background: linear-gradient(145deg, #ffffff 0%, #f8fbfa 100%);
}

.hhprov2-mini { padding: 18px; }
.hhprov2-mini h4 { margin: 0; color: var(--hh-deep); font-size: 17px; }
.hhprov2-mini p { margin: 5px 0 0; color: var(--hh-muted); font-size: 12px; line-height: 1.5; }

.hhprov2-strip {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 12px;
}

.hhprov2-strip-item {
  display: flex;
  gap: 12px;
  align-items: flex-start;
  padding: 17px;
}

.hhprov2-strip-item .icon { flex: 0 0 38px; margin: 0; }
.hhprov2-strip-item strong { color: var(--hh-deep); font-size: 14px; }
.hhprov2-strip-item p { margin: 4px 0 0; color: var(--hh-muted); font-size: 12px; line-height: 1.45; }

.hhprov2-brands {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 12px;
}

.hhprov2-brand {
  display: flex;
  min-height: 92px;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  padding: 14px;
  text-align: center;
}

.hhprov2-brand strong { color: var(--hh-deep); font-size: 16px; }
.hhprov2-brand span { margin-top: 4px; color: var(--hh-muted); font-size: 12px; }

.hhprov2-products,
.hhprov2-features {
  grid-template-columns: repeat(4, minmax(0, 1fr));
}

.hhprov2-product,
.hhprov2-feature {
  min-height: 230px;
  padding: 20px;
}

.hhprov2-product-image {
  display: grid;
  height: 142px;
  margin-bottom: 14px;
  place-items: center;
  border-radius: 6px;
  background: linear-gradient(135deg, #f4faf8 0%, #e4f0ed 100%);
  font-size: 42px;
}

.hhprov2-product .tag {
  display: inline-flex;
  padding: 5px 8px;
  border-radius: 4px;
  background: #edf3f1;
  color: #25604f;
  font-size: 11px;
  font-weight: 800;
}

.hhprov2-product h3,
.hhprov2-feature h3 {
  margin: 10px 0 6px;
  color: var(--hh-deep);
  font-size: 20px;
  line-height: 1.2;
}

.hhprov2-product p,
.hhprov2-feature p {
  margin: 0;
  color: var(--hh-muted);
  font-size: 13px;
  line-height: 1.58;
}

.hhprov2-product .cta {
  display: inline-flex;
  margin-top: 14px;
  color: #17634b;
  font-size: 13px;
  font-weight: 800;
}

.hhprov2-promo-grid {
  display: grid;
  grid-template-columns: 1.05fr 0.95fr;
  gap: 18px;
}

.hhprov2-promo-main {
  min-height: 344px;
  padding: 30px;
  border: 0;
  background: linear-gradient(90deg, rgba(12, 35, 38, 0.86), rgba(12, 35, 38, 0.48)), url("../img/banners/hogar.jpg") center / cover no-repeat;
  color: #fff;
}

.hhprov2-promo-main h3 {
  max-width: 580px;
  margin: 16px 0 10px;
  color: #fff;
  font-size: 36px;
  line-height: 1.08;
}

.hhprov2-promo-main p {
  max-width: 580px;
  margin: 0;
  color: rgba(255, 255, 255, 0.9);
  font-size: 15px;
  line-height: 1.65;
}

.hhprov2-promo-side {
  display: grid;
  gap: 12px;
}

.hhprov2-quote { padding: 22px; }
.hhprov2-quote p { margin: 0 0 12px; color: var(--hh-ink); font-size: 14px; line-height: 1.58; }
.hhprov2-quote strong { display: block; color: var(--hh-deep); font-size: 14px; }
.hhprov2-quote span { display: block; margin-top: 4px; color: var(--hh-muted); font-size: 12px; }

.hhprov2-feature .icon { margin-bottom: 12px; }

.hhprov2-cta {
  position: relative;
  overflow: hidden;
  padding: 38px;
  border: 1px solid #cbd8d5;
  border-radius: 8px;
  background: linear-gradient(135deg, #ffffff 0%, #edf8f5 46%, #dcece7 100%);
  box-shadow: 0 20px 48px rgba(15, 58, 63, 0.12), inset 0 1px 0 rgba(255, 255, 255, 0.92);
  text-align: center;
}

.hhprov2-cta::before {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(115deg, rgba(31, 122, 128, 0.13) 0%, rgba(255, 255, 255, 0) 38%, rgba(31, 138, 91, 0.1) 100%);
  pointer-events: none;
}

.hhprov2-cta > * {
  position: relative;
  z-index: 1;
}

.hhprov2-cta h2 {
  max-width: 960px;
  margin: 14px auto 8px;
  color: var(--hh-deep);
  font-size: 38px;
  line-height: 1.12;
}

.hhprov2-cta p {
  max-width: 860px;
  margin: 0 auto;
  color: var(--hh-muted);
  font-size: 15px;
  line-height: 1.65;
}

.hhprov2-cta-actions {
  display: flex;
  justify-content: center;
  gap: 10px;
  margin-top: 22px;
}

@media (max-width: 1180px) {
  .hhprov2-categories,
  .hhprov2-products,
  .hhprov2-features { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .hhprov2-hero-grid,
  .hhprov2-promo-grid { grid-template-columns: 1fr; }
  .hhprov2-brands { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .hhhome-banner-copy :is(h1,h2) { font-size: 46px; }
}

@media (max-width: 860px) {
  .hhprov2-wrap,
  .hhhome-banner-inner { width: min(100% - 28px, 1360px); }
  .hhprov2-sec { padding: 36px 0; }
  .hhprov2-heading h2 { font-size: 32px; }
  .hhhome-banner { height: 470px; }
  .hhhome-banner-copy { width: min(540px, 70%); }
  .hhhome-banner-copy :is(h1,h2) { font-size: 40px; }
  .hhprov2-categories,
  .hhprov2-products,
  .hhprov2-features,
  .hhprov2-strip { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .hhprov2-stat-row { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .hhprov2-slider-shell { padding: 0 46px; }
  .hhprov2-slide { flex-basis: 300px; }
}

@media (max-width: 560px) {
  .hhprov2-wrap,
  .hhhome-banner-inner { width: min(100% - 20px, 1360px); }
  .hhprov2-sec { padding: 30px 0; }
  .hhhome-banner {
    height: 520px;
    height: min(520px, calc(100svh - 64px));
    min-height: 460px;
  }
  .hhhome-banner-slide > img { object-position: 64% center; }
  .hhhome-banner-slide:nth-child(1) > img { object-position: 67% center; }
  .hhhome-banner-slide:nth-child(2) > img { object-position: 62% center; }
  .hhhome-banner-slide:nth-child(3) > img { object-position: 64% center; }
  .hhhome-banner-slide:nth-child(4) > img { object-position: 60% center; }
  .hhhome-banner-shade {
    background:
      linear-gradient(0deg, rgba(8, 20, 22, 0.96) 0%, rgba(8, 20, 22, 0.82) 37%, rgba(8, 20, 22, 0.14) 76%, rgba(8, 20, 22, 0.03) 100%),
      linear-gradient(90deg, rgba(8, 20, 22, 0.24), transparent 74%);
  }
  .hhhome-banner-inner {
    align-items: flex-end;
    padding-bottom: 58px;
  }
  .hhhome-banner-copy { width: 100%; }
  .hhhome-banner-copy :is(h1,h2) {
    max-width: 340px;
    font-size: 31px;
    line-height: 1.06;
  }
  .hhhome-banner-copy p {
    max-width: 350px;
    margin-top: 11px;
    font-size: 14px;
    line-height: 1.48;
  }
  .hhhome-banner-cta {
    width: min(100%, 350px);
    min-height: 48px;
    margin-top: 17px;
  }
  .hhhome-banner-dots { bottom: 20px; }
  .hhhome-banner-dot { width: 22px; height: 3px; }
  .hhhome-banner-dot.is-active { width: 38px; }
  .hhprov2-heading h2,
  .hhprov2-cta h2 { font-size: 27px; line-height: 1.16; }
  .hhprov2-heading { margin-bottom: 18px; }
  .hhprov2-categories { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
  .hhprov2-category-media { aspect-ratio: 1 / 0.82; }
  .hhprov2-category-copy { min-height: 164px; padding: 14px; }
  .hhprov2-category-copy p {
    margin: 0 0 14px;
    font-size: 14px;
    font-weight: 700;
    line-height: 1.45;
  }
  .hhprov2-category-cta {
    width: 100%;
    min-height: 40px;
    padding: 0 10px;
    font-size: 12px;
    font-weight: 850;
    text-transform: uppercase;
  }
  .hhprov2-products,
  .hhprov2-features,
  .hhprov2-strip,
  .hhprov2-brands,
  .hhprov2-stat-row,
  .hhprov2-mini-grid { grid-template-columns: 1fr; }
  .hhprov2-slider-shell { padding: 0; }
  .hhprov2-slider-nav { display: none; }
  .hhprov2-slide { flex-basis: min(86vw, 340px); }
  .hhprov2-slide-card { min-height: 516px; }
  .hhprov2-slide-info { padding: 16px; }
  .hhprov2-slide-title { font-size: 17px; }
  .hhprov2-slide-actions { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); }
  .hhprov2-product-btn { min-height: 46px; font-size: 11px; }
  .hhprov2-hero-main,
  .hhprov2-visual,
  .hhprov2-promo-main,
  .hhprov2-cta { padding: 22px; }
  .hhprov2-title { font-size: 34px; }
  .hhprov2-promo-main h3 { font-size: 30px; }
  .hhprov2-cta-actions { flex-direction: column; }
}

@media (max-width: 350px) {
  .hhprov2-categories { grid-template-columns: 1fr; }
  .hhprov2-category { display: grid; grid-template-columns: 42% 58%; }
  .hhprov2-category-media { aspect-ratio: auto; }
  .hhprov2-category-copy { min-height: 154px; }
  .hhhome-banner-copy :is(h1,h2) { font-size: 28px; }
  .hhprov2-slide { flex-basis: calc(100vw - 28px); }
  .hhprov2-slide-actions { grid-template-columns: 1fr; }
}

@media (prefers-reduced-motion: reduce) {
  .hhprov2-home *,
  .hhprov2-home *::before,
  .hhprov2-home *::after {
    scroll-behavior: auto !important;
    transition-duration: 0.01ms !important;
  }
}

/* HH20Y: commercial home refinement and unambiguous product actions. */
.hhprov2-home .hhprov2-product-btn {
  min-height: 50px;
  gap: 8px;
  padding: 10px 12px;
  font-size: 14px;
  font-weight: 850;
  line-height: 1.12;
}

.hhprov2-home .hhprov2-product-btn i {
  flex: 0 0 auto;
  font-size: 17px;
}

body.shop-0 .hhprov2-home .hhprov2-product-add {
  border: 1px solid #7bc69d !important;
  background: linear-gradient(135deg, #effbf4 0%, #d9f4e5 100%) !important;
  color: #115f3a !important;
}

body.shop-0 .hhprov2-home .hhprov2-product-add:hover,
body.shop-0 .hhprov2-home .hhprov2-product-add:focus-visible {
  border-color: #3a9b68 !important;
  background: linear-gradient(135deg, #e2f8eb 0%, #c8eed8 100%) !important;
  color: #0c4c2e !important;
}

body.shop-0 .hhprov2-home .hhprov2-product-buy-now {
  border: 1px solid #116039 !important;
  background: linear-gradient(135deg, #116039 0%, #1c8a52 100%) !important;
  color: #fff !important;
  box-shadow: 0 10px 24px rgba(17, 96, 57, 0.18) !important;
}

body.shop-0 .hhprov2-home .hhprov2-product-buy-now:hover,
body.shop-0 .hhprov2-home .hhprov2-product-buy-now:focus-visible {
  border-color: #0b492b !important;
  background: linear-gradient(135deg, #0b492b 0%, #157343 100%) !important;
  color: #fff !important;
}

.hh-section-heading {
  justify-content: center;
  text-align: center;
}

.hh-lifestyle-section {
  padding-top: 38px;
  padding-bottom: 38px;
}

.hhprov2-home .hh-lifestyle-grid {
  grid-template-columns: repeat(6, minmax(0, 1fr));
  gap: 12px;
}

.hhprov2-home .hh-lifestyle-item {
  min-width: 0;
  min-height: 142px;
  padding: 20px 12px 16px;
  border: 1px solid #d8e6e2;
  background: #fff;
  box-shadow: 0 12px 30px rgba(18, 59, 63, 0.06);
  text-align: center;
}

.hh-lifestyle-item i {
  display: grid;
  place-items: center;
  width: 46px;
  height: 46px;
  margin: 0 auto 12px;
  border: 1px solid rgba(31, 122, 128, 0.18);
  border-radius: 50%;
  background: linear-gradient(135deg, #edf8f4 0%, #e3f1ef 100%);
  color: var(--hh-teal);
  font-size: 22px;
}

.hh-lifestyle-item strong {
  display: block;
  overflow-wrap: anywhere;
  color: var(--hh-deep);
  font-size: 15px;
  line-height: 1.2;
}

.hh-lifestyle-item span {
  display: block;
  margin-top: 5px;
  color: var(--hh-muted);
  font-size: 12px;
  font-weight: 650;
  line-height: 1.3;
}

.hh-lifestyle-item:hover,
.hh-lifestyle-item:focus-visible {
  border-color: rgba(31, 122, 128, 0.45);
  box-shadow: 0 16px 34px rgba(18, 59, 63, 0.11);
  transform: translateY(-2px);
}

.hh-editorial-section {
  padding-top: 34px;
}

.hh-editorial-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 16px;
}

.hh-editorial-card {
  display: flex;
  min-width: 0;
  overflow: hidden;
  border: 1px solid #d8e3e1;
  border-radius: 6px;
  background: #fff;
  box-shadow: 0 16px 36px rgba(16, 58, 63, 0.08);
  color: var(--hh-ink);
  flex-direction: column;
}

.hh-editorial-card > img {
  display: block;
  width: 100%;
  aspect-ratio: 4 / 3;
  object-fit: cover;
  transition: transform 260ms ease;
}

.hh-editorial-copy {
  display: flex;
  min-height: 178px;
  padding: 19px;
  flex-direction: column;
  align-items: flex-start;
}

.hh-editorial-copy strong {
  color: var(--hh-deep);
  font-size: 20px;
  line-height: 1.2;
}

.hh-editorial-copy > span {
  margin-top: 9px;
  color: var(--hh-muted);
  font-size: 14px;
  font-weight: 650;
  line-height: 1.45;
}

.hh-editorial-copy em {
  display: inline-flex;
  min-height: 36px;
  margin-top: auto;
  padding: 0 14px;
  border-radius: 4px;
  background: var(--hh-header-gradient);
  color: #fff;
  font-size: 12px;
  font-style: normal;
  font-weight: 850;
  line-height: 36px;
}

.hh-editorial-card:hover > img,
.hh-editorial-card:focus-visible > img {
  transform: scale(1.025);
}

.hh-priority-section {
  padding-top: 30px;
  padding-bottom: 34px;
}

.hh-priority-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  overflow: hidden;
  border: 1px solid #d8e4e1;
  border-radius: 6px;
  background: #fff;
  box-shadow: 0 14px 34px rgba(15, 58, 63, 0.06);
}

.hh-priority-item {
  display: flex;
  min-width: 0;
  min-height: 112px;
  padding: 20px;
  border-right: 1px solid #d8e4e1;
  align-items: center;
  justify-content: center;
  gap: 13px;
  text-align: center;
}

.hh-priority-item:last-child {
  border-right: 0;
}

.hh-priority-item i {
  display: grid;
  place-items: center;
  width: 44px;
  height: 44px;
  flex: 0 0 44px;
  border-radius: 50%;
  background: var(--hh-header-gradient);
  color: #fff;
  font-size: 19px;
}

.hh-priority-item h3 {
  margin: 0;
  color: var(--hh-deep);
  font-size: 17px;
  line-height: 1.2;
}

.hh-energy-section {
  padding-top: 34px;
  padding-bottom: 46px;
}

.hh-energy-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 18px;
}

.hh-energy-promo {
  position: relative;
  display: block;
  min-height: 440px;
  overflow: hidden;
  border-radius: 6px;
  background: var(--hh-deep);
  box-shadow: 0 22px 48px rgba(15, 58, 63, 0.16);
  color: #fff;
}

.hh-energy-promo > img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: 60% center;
  transition: transform 320ms ease;
}

.hh-energy-shade {
  position: absolute;
  inset: 0;
  background: linear-gradient(90deg, rgba(8, 37, 40, 0.94) 0%, rgba(10, 52, 55, 0.84) 40%, rgba(10, 52, 55, 0.22) 72%, rgba(10, 52, 55, 0.03) 100%);
}

.hh-energy-dual .hh-energy-shade {
  background: linear-gradient(90deg, rgba(21, 43, 37, 0.95) 0%, rgba(25, 78, 62, 0.84) 42%, rgba(25, 78, 62, 0.19) 74%, rgba(25, 78, 62, 0.03) 100%);
}

.hh-energy-copy {
  position: relative;
  z-index: 1;
  display: flex;
  width: min(59%, 420px);
  min-height: 440px;
  padding: 38px 34px 30px;
  flex-direction: column;
  align-items: flex-start;
}

.hh-energy-copy small {
  display: block;
  color: #bcebd6;
  font-size: 13px;
  font-weight: 850;
  text-transform: uppercase;
}

.hh-energy-copy strong {
  display: block;
  margin-top: 12px;
  color: #fff;
  font-size: 32px;
  line-height: 1.08;
}

.hh-energy-copy strong b {
  color: #8be1ba;
  font-size: 50px;
  font-weight: 900;
}

.hh-energy-copy > span {
  display: block;
  margin-top: 15px;
  color: rgba(255, 255, 255, 0.9);
  font-size: 15px;
  font-weight: 650;
  line-height: 1.5;
}

.hh-energy-copy em {
  display: inline-flex;
  min-height: 48px;
  margin-top: 24px;
  padding: 0 20px;
  border: 1px solid rgba(255, 255, 255, 0.68);
  border-radius: 4px;
  background: rgba(255, 255, 255, 0.96);
  color: var(--hh-deep);
  align-items: center;
  font-size: 13px;
  font-style: normal;
  font-weight: 900;
}

.hh-energy-copy u {
  display: block;
  margin-top: auto;
  color: rgba(255, 255, 255, 0.72);
  font-size: 11px;
  font-weight: 600;
  line-height: 1.4;
  text-decoration: none;
}

.hh-energy-promo:hover > img,
.hh-energy-promo:focus-visible > img {
  transform: scale(1.025);
}

@media (max-width: 1180px) {
  .hhprov2-home .hh-lifestyle-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  .hh-editorial-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .hh-energy-copy {
    width: min(67%, 420px);
    padding-right: 24px;
    padding-left: 26px;
  }
}

@media (max-width: 860px) {
  .hh-priority-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .hh-priority-item:nth-child(2) {
    border-right: 0;
  }

  .hh-priority-item:nth-child(-n + 2) {
    border-bottom: 1px solid #d8e4e1;
  }

  .hh-energy-grid {
    grid-template-columns: 1fr;
  }

  .hh-energy-promo,
  .hh-energy-copy {
    min-height: 410px;
  }

  .hh-energy-copy {
    width: min(60%, 440px);
  }
}

@media (max-width: 560px) {
  .hhprov2-home .hhprov2-product-btn {
    min-height: 50px;
    padding: 9px 8px;
    font-size: 13px;
  }

  .hhprov2-home .hh-lifestyle-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 8px;
  }

  .hhprov2-home .hh-lifestyle-item {
    min-height: 118px;
    padding: 14px 6px 11px;
  }

  .hh-lifestyle-item i {
    width: 38px;
    height: 38px;
    margin-bottom: 9px;
    font-size: 18px;
  }

  .hh-lifestyle-item strong {
    font-size: 12px;
  }

  .hh-lifestyle-item span {
    font-size: 10px;
  }

  .hh-editorial-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px;
  }

  .hh-editorial-copy {
    min-height: 164px;
    padding: 14px 12px;
  }

  .hh-editorial-copy strong {
    font-size: 16px;
  }

  .hh-editorial-copy > span {
    display: -webkit-box;
    overflow: hidden;
    font-size: 12px;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 3;
  }

  .hh-editorial-copy em {
    min-height: 34px;
    padding: 0 9px;
    font-size: 10px;
    line-height: 34px;
  }

  .hh-priority-section {
    padding-top: 24px;
    padding-bottom: 26px;
  }

  .hh-priority-item {
    min-height: 94px;
    padding: 13px 8px;
    flex-direction: column;
    gap: 8px;
  }

  .hh-priority-item i {
    width: 36px;
    height: 36px;
    flex-basis: 36px;
    font-size: 16px;
  }

  .hh-priority-item h3 {
    font-size: 14px;
  }

  .hh-energy-promo {
    min-height: 430px;
  }

  .hh-energy-promo > img {
    object-position: 65% center;
  }

  .hh-energy-shade,
  .hh-energy-dual .hh-energy-shade {
    background: linear-gradient(0deg, rgba(7, 35, 37, 0.98) 0%, rgba(9, 54, 54, 0.84) 48%, rgba(9, 54, 54, 0.09) 86%, rgba(9, 54, 54, 0.02) 100%);
  }

  .hh-energy-copy {
    width: 100%;
    min-height: 430px;
    padding: 158px 20px 20px;
    justify-content: flex-end;
  }

  .hh-energy-copy strong {
    font-size: 27px;
  }

  .hh-energy-copy strong b {
    font-size: 42px;
  }

  .hh-energy-copy > span {
    margin-top: 10px;
    font-size: 13px;
  }

  .hh-energy-copy em {
    min-height: 44px;
    margin-top: 16px;
  }

  .hh-energy-copy u {
    margin-top: 12px;
  }
}

@media (max-width: 350px) {
  .hh-lifestyle-item strong {
    font-size: 11px;
  }

  .hh-lifestyle-item span {
    display: none;
  }

  .hh-editorial-grid {
    grid-template-columns: 1fr;
  }
}
