/* JustoPrecio home 2.2.0 */
body.shop-1 .jp-home {
  --jp-ink: #091425;
  --jp-deep: #07111f;
  --jp-blue: #1264f4;
  --jp-sky: #58adff;
  --jp-ice: #eef5ff;
  --jp-canvas: #f5f7fb;
  --jp-line: #dce5f0;
  --jp-muted: #59677a;
  overflow: hidden;
  background: #fff;
  color: var(--jp-ink);
}

body.shop-1 .jp-home .hhprov2-wrap,
body.shop-1 .jp-home .hhhome-banner-inner { width: min(100% - 56px, 1360px); }

body.shop-1 .jp-home .jp-eyebrow {
  display: block;
  margin: 0 0 12px;
  color: var(--jp-blue);
  font-size: 12px;
  font-weight: 900;
  text-transform: uppercase;
}

body.shop-1 .jp-home .hhhome-banner {
  height: clamp(560px, 43vw, 690px);
  min-height: 560px;
  background: #eaf0f7;
}

body.shop-1 .jp-home .hhhome-banner-slide {
  visibility: hidden;
  opacity: 0;
  transition: none;
}

body.shop-1 .jp-home .hhhome-banner-slide.is-active {
  visibility: visible;
  opacity: 1;
}

body.shop-1 .jp-home .hhhome-banner-slide.is-active > img {
  animation: jp-hero-image-in 420ms ease both;
}

body.shop-1 .jp-home .hhhome-banner-slide.is-active .hhhome-banner-copy {
  animation: jp-hero-copy-in 360ms ease both;
}

@keyframes jp-hero-image-in {
  from { opacity: .82; transform: scale(1.006); }
  to { opacity: 1; transform: scale(1); }
}

@keyframes jp-hero-copy-in {
  from { opacity: 0; transform: translateY(8px); }
  to { opacity: 1; transform: translateY(0); }
}

body.shop-1 .jp-home .hhhome-banner-slide > img {
  object-position: center;
  filter: brightness(.94) contrast(1.08) saturate(1.04);
}

body.shop-1 .jp-home .hhhome-banner-shade {
  background: linear-gradient(90deg, rgba(239,244,250,.96) 0%, rgba(239,244,250,.86) 34%, rgba(239,244,250,.16) 58%, rgba(239,244,250,0) 75%);
}

body.shop-1 .jp-home .hhhome-banner-copy { width: min(560px, 45%); }
body.shop-1 .jp-home .hhhome-banner-copy .jp-eyebrow { display: none !important; }
body.shop-1 .jp-home .hhhome-banner-copy :is(h1,h2) {
  max-width: 580px;
  margin: 0;
  color: var(--jp-deep);
  font-size: clamp(46px, 4.5vw, 70px);
  font-weight: 850;
  line-height: 1.02;
}
body.shop-1 .jp-home .hhhome-banner-copy p {
  max-width: 530px;
  margin: 22px 0 30px;
  color: #263951;
  font-size: 18px;
  font-weight: 750;
  line-height: 1.62;
}
body.shop-1 .jp-home .hhhome-banner-cta {
  min-height: 48px;
  padding: 14px 22px;
  border-radius: 5px;
  background: linear-gradient(135deg,#07111f 0%,#0c326d 52%,#1264f4 100%);
  color: #fff !important;
  font-size: 14px;
  font-weight: 800;
  text-transform: uppercase;
  box-shadow: 0 14px 30px rgba(18,100,244,.2);
}
body.shop-1 .jp-home .hhhome-banner-cta:hover { transform: translateY(-2px); box-shadow: 0 18px 36px rgba(18,100,244,.28); }

body.shop-1 .jp-home .hhhome-banner-dots {
  right: max(28px, calc((100vw - 1360px)/2));
  bottom: 32px;
  left: auto;
  justify-content: flex-end;
}
body.shop-1 .jp-home .hhhome-banner-dot { width: 34px; height: 4px; border: 0; border-radius: 0; background: rgba(7,17,31,.22); }
body.shop-1 .jp-home .hhhome-banner-dot.is-active { width: 54px; background: var(--jp-blue); }

body.shop-1 .jp-home .jp-value-band { padding: 0; background: #fff; }
body.shop-1 .jp-home .jp-value-grid {
  display: grid;
  grid-template-columns: repeat(4,minmax(0,1fr));
  border-bottom: 1px solid var(--jp-line);
}
body.shop-1 .jp-home .jp-value-grid > a,
body.shop-1 .jp-home .jp-value-grid > div {
  display: block;
  min-width: 0;
  padding: 25px 24px;
  border-right: 1px solid var(--jp-line);
  color: inherit !important;
  text-decoration: none !important;
}
body.shop-1 .jp-home .jp-value-grid > :first-child { padding-left: 0; }
body.shop-1 .jp-home .jp-value-grid > :last-child { padding-right: 0; border-right: 0; }
body.shop-1 .jp-home .jp-value-index { display: none; }
body.shop-1 .jp-home .jp-value-icon {
  display: grid;
  width: 42px;
  height: 42px;
  margin-bottom: 12px;
  place-items: center;
  border: 1px solid #cfe0f6;
  border-radius: 8px;
  background: linear-gradient(135deg, #f7fbff 0%, #e5f0ff 100%);
  color: var(--jp-blue);
  font-size: 18px;
  box-shadow: 0 7px 18px rgba(18, 100, 244, .10);
}
body.shop-1 .jp-home .jp-value-grid strong { display: block; margin-bottom: 5px; color: var(--jp-ink); font-size: 15px; }
body.shop-1 .jp-home .jp-value-grid small { display: block; color: var(--jp-muted); font-size: 12px; line-height: 1.45; }
body.shop-1 .jp-home .jp-value-grid a:hover strong { color: var(--jp-blue); }

body.shop-1 .jp-home .jp-departments { padding-top: 84px; padding-bottom: 82px; background: #fff; }
body.shop-1 .jp-home .jp-heading { max-width: 760px; margin-bottom: 38px; }
body.shop-1 .jp-home .jp-heading h2,
body.shop-1 .jp-home .jp-product-heading h2 {
  margin: 0;
  color: var(--jp-deep);
  font-size: clamp(34px,3.2vw,48px);
  font-weight: 850;
  line-height: 1.08;
}
body.shop-1 .jp-home .jp-heading p { margin: 16px 0 0; color: var(--jp-muted); font-size: 16px; line-height: 1.65; }

body.shop-1 .jp-home .hhprov2-categories {
  display: grid;
  grid-template-columns: repeat(4,minmax(0,1fr));
  gap: 18px;
}
body.shop-1 .jp-home .hhprov2-category {
  overflow: hidden;
  border: 1px solid var(--jp-line);
  border-radius: 5px;
  background: #fff;
  box-shadow: 0 10px 28px rgba(5,17,35,.05);
  transition: transform .2s ease, box-shadow .2s ease, border-color .2s ease;
}
body.shop-1 .jp-home .hhprov2-category:hover {
  border-color: #a9c4eb;
  transform: translateY(-4px);
  box-shadow: 0 20px 44px rgba(5,17,35,.11);
}
body.shop-1 .jp-home .hhprov2-category-media { aspect-ratio: 4/3; overflow: hidden; background: #edf2f7; }
body.shop-1 .jp-home .hhprov2-category-media img { width: 100%; height: 100%; object-fit: cover; transition: transform .35s ease; }
body.shop-1 .jp-home .hhprov2-category:hover img { transform: scale(1.025); }
body.shop-1 .jp-home .hhprov2-category-copy { min-height: 168px; padding: 22px 22px 20px; }
body.shop-1 .jp-home .hhprov2-category-copy p { min-height: 48px; margin: 0 0 20px; color: #263951; font-size: 16px; font-weight: 700; line-height: 1.5; }
body.shop-1 .jp-home .hhprov2-category-cta {
  display: inline-flex;
  min-height: 36px;
  padding: 9px 13px;
  align-items: center;
  border-radius: 4px;
  background: var(--jp-ice);
  color: var(--jp-blue) !important;
  font-size: 16px;
  font-weight: 850;
  text-transform: uppercase;
}

body.shop-1 .jp-home .hhprov2-slider-sec {
  padding-top: 78px;
  padding-bottom: 82px;
  background: var(--jp-canvas);
}
body.shop-1 .jp-home .hhprov2-slider-sec:nth-of-type(even) { background: #fff; }
body.shop-1 .jp-home .jp-product-heading { max-width: 760px; margin-bottom: 30px; text-align: left; }

body.shop-1 .jp-home .hhprov2-slide-card {
  overflow: hidden;
  border: 1px solid var(--jp-line);
  border-radius: 5px;
  background: #fff;
  box-shadow: 0 8px 24px rgba(5,17,35,.05);
  cursor: pointer;
}
body.shop-1 .jp-home .hhprov2-slide-card:hover { border-color: #adc6e9; box-shadow: 0 18px 40px rgba(5,17,35,.1); }
body.shop-1 .jp-home .hhprov2-slide-media { background: #fff; }
body.shop-1 .jp-home .hhprov2-slide-title { color: var(--jp-ink) !important; font-weight: 800; }
body.shop-1 .jp-home .hhprov2-slide-description { color: var(--jp-muted); }
body.shop-1 .jp-home .hhprov2-slide-price { color: var(--jp-blue); font-size: 23px; font-weight: 900; }
body.shop-1 .jp-home .hhprov2-product-buy.jp-add-cart {
  display: inline-flex;
  gap: 7px;
  align-items: center;
  justify-content: center;
  border-color: #a9b9cd;
  border-radius: 4px;
  background: #fff;
  color: var(--jp-deep) !important;
}
body.shop-1 .jp-home .hhprov2-product-buy.jp-add-cart:hover { border-color: var(--jp-blue); color: var(--jp-blue) !important; }
body.shop-1 .jp-home .hhprov2-product-cart.jp-buy-now {
  border: 0 !important;
  border-radius: 4px !important;
  background: linear-gradient(135deg,#0a5a32 0%,#11783d 54%,#168c49 100%) !important;
  color: #fff !important;
  box-shadow: 0 10px 22px rgba(14,105,56,.24) !important;
}
body.shop-1 .jp-home .hhprov2-product-cart.jp-buy-now:hover {
  color: #fff !important;
  filter: brightness(1.07);
  transform: translateY(-1px);
}
body.shop-1 .jp-home .hhprov2-slider-nav { border: 1px solid var(--jp-line); border-radius: 50%; background: #fff; color: var(--jp-deep); box-shadow: 0 10px 24px rgba(5,17,35,.1); }
body.shop-1 .jp-home .hhprov2-slider-nav:hover { background: var(--jp-deep); color: #fff; }

body.shop-1 .jp-home .jp-editorial {
  padding: 82px 0 88px;
  background: #fff;
}
body.shop-1 .jp-home .jp-editorial-grid {
  display: grid;
  grid-template-columns: repeat(2,minmax(0,1fr));
  gap: 18px;
}
body.shop-1 .jp-home .jp-editorial-item {
  position: relative;
  min-height: 310px;
  overflow: hidden;
  border-radius: 5px;
  background: #eaf0f7;
  color: #fff !important;
  text-decoration: none !important;
  box-shadow: 0 12px 30px rgba(5,17,35,.08);
}
body.shop-1 .jp-home .jp-editorial-item img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: 72% center;
  transition: transform .35s ease;
}
body.shop-1 .jp-home .jp-editorial-item:hover img { transform: scale(1.025); }
body.shop-1 .jp-home .jp-editorial-shade {
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg,rgba(5,13,25,0) 38%,rgba(5,13,25,.84) 100%);
}
body.shop-1 .jp-home .jp-editorial-copy {
  position: absolute;
  z-index: 1;
  right: 28px;
  bottom: 26px;
  left: 28px;
}
body.shop-1 .jp-home .jp-editorial-copy strong {
  display: block;
  margin-bottom: 8px;
  color: #fff;
  font-size: 28px;
  font-weight: 850;
  line-height: 1.1;
}
body.shop-1 .jp-home .jp-editorial-copy > span {
  color: #d7e9ff;
  font-size: 13px;
  font-weight: 800;
}

body.shop-1 .jp-home .jp-assurance {
  padding: 88px 0;
  background: linear-gradient(128deg,#050912 0%,#0a1c38 58%,#125ddf 155%);
  color: #fff;
}
body.shop-1 .jp-home .jp-assurance-grid { display: grid; grid-template-columns: minmax(0,.9fr) minmax(0,1.1fr); gap: clamp(50px,8vw,120px); align-items: start; }
body.shop-1 .jp-home .jp-assurance .jp-eyebrow { color: #83c3ff; }
body.shop-1 .jp-home .jp-assurance h2 { max-width: 580px; margin: 0 0 28px; color: #fff; font-size: clamp(42px,4.4vw,64px); font-weight: 850; line-height: 1.04; }
body.shop-1 .jp-home .jp-assurance-title > a { color: #fff !important; font-size: 14px; font-weight: 800; text-decoration: none !important; }
body.shop-1 .jp-home .jp-assurance-title > a span { margin-left: 8px; color: var(--jp-sky); }
body.shop-1 .jp-home .jp-assurance-list { border-top: 1px solid rgba(255,255,255,.2); }
body.shop-1 .jp-home .jp-assurance-list > div { display: grid; grid-template-columns: 130px 1fr; gap: 24px; padding: 25px 0; border-bottom: 1px solid rgba(255,255,255,.2); }
body.shop-1 .jp-home .jp-assurance-list span { color: #fff; font-size: 14px; font-weight: 850; }
body.shop-1 .jp-home .jp-assurance-list p { margin: 0; color: #bed0e5; font-size: 14px; line-height: 1.6; }

body.shop-1 .jp-home .jp-closing { padding: 24px 0 82px; background: #fff; }
body.shop-1 .jp-home .jp-closing-inner {
  display: flex;
  min-height: 230px;
  padding: 46px clamp(30px,5vw,74px);
  align-items: center;
  justify-content: space-between;
  gap: 40px;
  border: 1px solid #bdd5f5;
  border-radius: 6px;
  background: linear-gradient(135deg,#f8fbff 0%,#eaf3ff 64%,#dcecff 100%);
}
body.shop-1 .jp-home .jp-closing h2 { max-width: 760px; margin: 0; color: var(--jp-deep); font-size: clamp(36px,3.8vw,54px); font-weight: 850; line-height: 1.05; }
body.shop-1 .jp-home .jp-closing .hhprov2-btn-primary { min-width: 160px; border-radius: 4px; background: linear-gradient(135deg,#07111f 0%,#0b326e 54%,#1264f4 100%); color: #fff !important; }

@media (max-width: 1050px) {
  body.shop-1 .jp-home .hhprov2-categories { grid-template-columns: repeat(2,minmax(0,1fr)); }
  body.shop-1 .jp-home .hhhome-banner-copy { width: min(520px,52%); }
  body.shop-1 .jp-home .jp-assurance-grid { gap: 55px; }
  body.shop-1 .jp-home .jp-editorial-item { min-height: 270px; }
}

@media (max-width: 800px) {
  body.shop-1 .jp-home .hhprov2-wrap,
  body.shop-1 .jp-home .hhhome-banner-inner { width: min(100% - 30px,720px); }
  body.shop-1 .jp-home .hhhome-banner { height: 590px; min-height: 590px; }
  body.shop-1 .jp-home .hhhome-banner-slide > img { object-position: 69% center; }
  body.shop-1 .jp-home .hhhome-banner-shade { background: linear-gradient(90deg,rgba(239,244,250,.98) 0%,rgba(239,244,250,.88) 48%,rgba(239,244,250,.12) 85%); }
  body.shop-1 .jp-home .hhhome-banner-copy { width: 58%; }
  body.shop-1 .jp-home .hhhome-banner-copy :is(h1,h2) { font-size: 44px; }
  body.shop-1 .jp-home .jp-value-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
  body.shop-1 .jp-home .jp-value-grid > :nth-child(2) { border-right: 0; }
  body.shop-1 .jp-home .jp-value-grid > :nth-child(-n+2) { border-bottom: 1px solid var(--jp-line); }
  body.shop-1 .jp-home .jp-value-grid > :nth-child(3) { padding-left: 0; }
  body.shop-1 .jp-home .jp-assurance-grid { grid-template-columns: 1fr; gap: 44px; }
  body.shop-1 .jp-home .jp-closing-inner { min-height: 0; align-items: flex-start; }
}

@media (max-width: 600px) {
  body.shop-1 .jp-home .hhprov2-wrap,
  body.shop-1 .jp-home .hhhome-banner-inner { width: min(100% - 22px,560px); }
  body.shop-1 .jp-home .hhhome-banner { height: 650px; min-height: 650px; }
  body.shop-1 .jp-home .hhhome-banner-slide > img { height: 55%; object-position: 70% center; }
  body.shop-1 .jp-home .hhhome-banner-shade { background: linear-gradient(0deg,#eef3f9 0%,rgba(238,243,249,.98) 48%,rgba(238,243,249,.5) 66%,rgba(238,243,249,0) 82%); }
  body.shop-1 .jp-home .hhhome-banner-inner { align-items: flex-end; padding-bottom: 66px; }
  body.shop-1 .jp-home .hhhome-banner-copy { width: 100%; }
  body.shop-1 .jp-home .hhhome-banner-copy :is(h1,h2) { max-width: 430px; font-size: 37px; }
  body.shop-1 .jp-home .hhhome-banner-copy p { margin: 15px 0 21px; color: #263951; font-size: 15px; font-weight: 750; line-height: 1.52; }
  body.shop-1 .jp-home .hhhome-banner-slide.jp-hero-280 > img { object-position: 88% center; }
  body.shop-1 .jp-home .hhhome-banner-slide.jp-hero-371 > img { object-position: 72% center; }
  body.shop-1 .jp-home .hhhome-banner-slide.jp-hero-373 > img { object-position: 76% center; }
  body.shop-1 .jp-home .hhhome-banner-slide.jp-hero-338 > img { object-position: 73% center; }
  body.shop-1 .jp-home .hhhome-banner-dots { right: 11px; bottom: 24px; }
  body.shop-1 .jp-home .jp-value-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
  body.shop-1 .jp-home .jp-value-grid > a,
  body.shop-1 .jp-home .jp-value-grid > div {
    display: flex;
    min-height: 168px;
    padding: 18px 14px !important;
    flex-direction: column;
    border-right: 1px solid var(--jp-line);
    border-bottom: 1px solid var(--jp-line);
  }
  body.shop-1 .jp-home .jp-value-grid > :nth-child(2n) { border-right: 0; }
  body.shop-1 .jp-home .jp-value-grid > :nth-last-child(-n+2) { border-bottom: 0; }
  body.shop-1 .jp-home .jp-value-icon {
    display: grid;
    width: 38px;
    height: 38px;
    margin-bottom: 13px;
    place-items: center;
    border-radius: 8px;
    background: linear-gradient(135deg, #f7fbff 0%, #e5f0ff 100%);
    color: var(--jp-blue);
    font-size: 17px;
  }
  body.shop-1 .jp-home .jp-value-grid strong { font-size: 13px; line-height: 1.25; }
  body.shop-1 .jp-home .jp-value-grid small { font-size: 10.5px; line-height: 1.4; }
  body.shop-1 .jp-home .jp-departments,
  body.shop-1 .jp-home .hhprov2-slider-sec { padding-top: 56px; padding-bottom: 58px; }
  body.shop-1 .jp-home .jp-heading h2,
  body.shop-1 .jp-home .jp-product-heading h2 { font-size: 32px; }
  body.shop-1 .jp-home .hhprov2-categories { grid-template-columns: 1fr; gap: 13px; }
  body.shop-1 .jp-home .hhprov2-category { display: grid; grid-template-columns: 42% 58%; min-height: 176px; }
  body.shop-1 .jp-home .hhprov2-category-media { height: 100%; aspect-ratio: auto; }
  body.shop-1 .jp-home .hhprov2-category-copy { min-height: 154px; padding: 18px 15px; }
  body.shop-1 .jp-home .hhprov2-category-copy p { min-height: 0; margin-bottom: 16px; font-size: 15px; font-weight: 700; line-height: 1.48; }
  body.shop-1 .jp-home .hhprov2-category-cta { min-height: 36px; padding: 8px 11px; font-size: 13px; }
  body.shop-1 .jp-home .hhprov2-slide-actions { gap: 7px; }
  body.shop-1 .jp-home .hhprov2-product-btn { min-height: 52px; padding: 8px 7px; font-size: 11px; }
  body.shop-1 .jp-home .jp-editorial { padding: 58px 0 62px; }
  body.shop-1 .jp-home .jp-editorial-grid { grid-template-columns: 1fr; gap: 12px; }
  body.shop-1 .jp-home .jp-editorial-item { min-height: 220px; }
  body.shop-1 .jp-home .jp-editorial-copy { right: 19px; bottom: 18px; left: 19px; }
  body.shop-1 .jp-home .jp-editorial-copy strong { font-size: 23px; }
  body.shop-1 .jp-home .jp-assurance { padding: 62px 0; }
  body.shop-1 .jp-home .jp-assurance h2 { font-size: 39px; }
  body.shop-1 .jp-home .jp-assurance-list > div { grid-template-columns: 90px 1fr; gap: 14px; }
  body.shop-1 .jp-home .jp-closing-inner { flex-direction: column; padding: 34px 24px; }
  body.shop-1 .jp-home .jp-closing h2 { font-size: 35px; }
  body.shop-1 .jp-home .jp-closing .hhprov2-btn { width: 100%; }
}

@media (prefers-reduced-motion: reduce) {
  body.shop-1 .jp-home .hhhome-banner-slide.is-active > img,
  body.shop-1 .jp-home .hhhome-banner-slide.is-active .hhhome-banner-copy {
    animation: none;
  }
}

/* HH20B: tighter editorial headings and energy credit banners. */
body.shop-1 .jp-home .jp-heading h2,
body.shop-1 .jp-home .jp-product-heading h2 {
  margin: 0 !important;
  background: linear-gradient(105deg, #07111f 0%, #123f91 62%, #1f6df0 100%);
  background-clip: text;
  color: #0b2446;
  font-size: clamp(23px, 2.15vw, 31px) !important;
  font-weight: 900 !important;
  letter-spacing: 0 !important;
  line-height: 1.18 !important;
  text-transform: uppercase !important;
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
}

body.shop-1 .jp-home .jp-energy-promo-section {
  padding: clamp(54px, 6vw, 88px) 0;
  background: #f5f8fc;
}

body.shop-1 .jp-home .jp-energy-promo-section--closing {
  padding-top: 20px;
  background: #fff;
}

body.shop-1 .jp-home .jp-energy-promo {
  position: relative;
  min-height: clamp(390px, 35vw, 510px);
  overflow: hidden;
  border: 1px solid #c7d8ed;
  border-radius: 6px;
  background: #eef4fb;
  box-shadow: 0 24px 70px rgba(5, 23, 51, .11);
}

body.shop-1 .jp-home .jp-energy-promo > img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
}

body.shop-1 .jp-home .jp-energy-promo-shade {
  position: absolute;
  inset: 0;
  background: linear-gradient(90deg, rgba(247, 250, 254, .99) 0%, rgba(247, 250, 254, .96) 34%, rgba(247, 250, 254, .64) 48%, rgba(247, 250, 254, .05) 72%);
}

body.shop-1 .jp-home .jp-energy-promo--dual .jp-energy-promo-shade {
  background: linear-gradient(270deg, rgba(247, 250, 254, .99) 0%, rgba(247, 250, 254, .96) 35%, rgba(247, 250, 254, .62) 50%, rgba(247, 250, 254, .04) 74%);
}

body.shop-1 .jp-home .jp-energy-promo-copy {
  position: relative;
  z-index: 2;
  display: flex;
  width: min(49%, 610px);
  min-height: inherit;
  padding: clamp(34px, 4.3vw, 66px);
  flex-direction: column;
  align-items: flex-start;
  justify-content: center;
}

body.shop-1 .jp-home .jp-energy-promo--dual .jp-energy-promo-copy {
  margin-left: auto;
}

body.shop-1 .jp-home .jp-energy-promo-eyebrow {
  display: inline-flex;
  margin-bottom: 16px;
  color: #0e5bc9;
  font-size: 13px;
  font-weight: 900;
  letter-spacing: 0 !important;
  line-height: 1.2;
  text-transform: uppercase;
}

body.shop-1 .jp-home .jp-energy-promo h2 {
  max-width: 590px;
  margin: 0;
  color: #071425;
  font-size: clamp(34px, 4vw, 58px);
  font-weight: 900;
  letter-spacing: 0 !important;
  line-height: 1.02;
}

body.shop-1 .jp-home .jp-energy-promo h2 strong {
  display: inline-block;
  background: linear-gradient(118deg, #123f91 0%, #1f6df0 100%);
  background-clip: text;
  color: #1258bd;
  font-size: 1.18em;
  font-weight: 950;
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
}

body.shop-1 .jp-home .jp-energy-promo p {
  max-width: 540px;
  margin: 20px 0 24px;
  color: #30445e;
  font-size: clamp(14px, 1.2vw, 17px);
  font-weight: 650;
  line-height: 1.58;
}

body.shop-1 .jp-home .jp-energy-promo-copy > a {
  display: inline-flex;
  min-height: 48px;
  padding: 13px 20px;
  align-items: center;
  justify-content: center;
  border-radius: 5px;
  background: linear-gradient(118deg, #07111f 0%, #123f91 58%, #1f6df0 100%);
  color: #fff !important;
  font-size: 14px;
  font-weight: 850;
  text-decoration: none !important;
  box-shadow: 0 12px 26px rgba(18, 63, 145, .2);
}

body.shop-1 .jp-home .jp-energy-promo-copy > a:hover {
  color: #fff !important;
  filter: brightness(1.07);
}

body.shop-1 .jp-home .jp-energy-promo-copy > small {
  display: block;
  margin-top: 13px;
  color: #66768a;
  font-size: 10.5px;
  line-height: 1.45;
}

@media (max-width: 991px) {
  body.shop-1 .jp-home .jp-energy-promo {
    min-height: 470px;
  }

  body.shop-1 .jp-home .jp-energy-promo-copy {
    width: 54%;
    padding: 34px;
  }

  body.shop-1 .jp-home .jp-energy-promo h2 {
    font-size: clamp(32px, 4.8vw, 45px);
  }
}

@media (max-width: 680px) {
  body.shop-1 .jp-home .jp-heading h2,
  body.shop-1 .jp-home .jp-product-heading h2 {
    font-size: 23px !important;
    line-height: 1.22 !important;
  }

  body.shop-1 .jp-home .jp-energy-promo-section {
    padding: 54px 0;
  }

  body.shop-1 .jp-home .jp-energy-promo-section--closing {
    padding-top: 8px;
  }

  body.shop-1 .jp-home .jp-energy-promo {
    min-height: 650px;
    background: #f3f7fc;
  }

  body.shop-1 .jp-home .jp-energy-promo > img {
    height: 54%;
    object-position: 64% center;
  }

  body.shop-1 .jp-home .jp-energy-promo--dual > img {
    object-position: 33% center;
  }

  body.shop-1 .jp-home .jp-energy-promo-shade,
  body.shop-1 .jp-home .jp-energy-promo--dual .jp-energy-promo-shade {
    background: linear-gradient(0deg, #f3f7fc 0%, #f3f7fc 48%, rgba(243, 247, 252, .92) 58%, rgba(243, 247, 252, 0) 77%);
  }

  body.shop-1 .jp-home .jp-energy-promo-copy,
  body.shop-1 .jp-home .jp-energy-promo--dual .jp-energy-promo-copy {
    width: 100%;
    min-height: 650px;
    margin: 0;
    padding: 302px 22px 26px;
    justify-content: flex-end;
  }

  body.shop-1 .jp-home .jp-energy-promo-eyebrow {
    margin-bottom: 10px;
    font-size: 11px;
  }

  body.shop-1 .jp-home .jp-energy-promo h2 {
    font-size: 34px;
    line-height: 1.05;
  }

  body.shop-1 .jp-home .jp-energy-promo p {
    margin: 14px 0 18px;
    font-size: 13px;
    line-height: 1.48;
  }

  body.shop-1 .jp-home .jp-energy-promo-copy > a {
    width: 100%;
  }
}
/* HH20Y: semantic product actions shared with HiperHispania. */
.jp-home .hhprov2-product-btn {
  min-height: 50px;
  gap: 8px;
  padding: 10px 12px;
  font-size: 14px;
  font-weight: 850;
  line-height: 1.12;
}

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

body.shop-1 .jp-home .hhprov2-product-add.jp-add-cart {
  border: 1px solid #7bc69d !important;
  background: linear-gradient(135deg, #effbf4 0%, #d9f4e5 100%) !important;
  color: #105d38 !important;
  box-shadow: none !important;
}

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

body.shop-1 .jp-home .hhprov2-product-buy-now.jp-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.2) !important;
}

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

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

/* HH20ZG: category-aware bestseller slider and concise commercial banners. */
body.shop-1 .jp-home .hhprov2-slider-sec .hhprov2-heading,
body.shop-1 .jp-home .hhprov2-slider-sec .jp-product-heading {
  justify-content: flex-start;
  width: 100% !important;
  max-width: none !important;
  margin-right: 0 !important;
  margin-left: 0 !important;
  text-align: left !important;
}

body.shop-1 .jp-home .jp-editorial-copy {
  display: flex;
  align-items: flex-end;
}

body.shop-1 .jp-home .jp-editorial-copy strong {
  margin: 0 !important;
  font-size: clamp(19px, 2vw, 27px) !important;
  letter-spacing: 0 !important;
}

body.shop-1 .jp-home .jp-bestseller-filter {
  display: grid;
  margin-top: 26px;
  padding-top: 22px;
  grid-template-columns: minmax(0, 1fr) minmax(230px, 300px);
  gap: 14px 20px;
  align-items: end;
  border-top: 1px solid #d4deeb;
}

body.shop-1 .jp-home .jp-bestseller-categories {
  display: flex;
  min-width: 0;
  flex-wrap: wrap;
  gap: 8px;
}

body.shop-1 .jp-home .jp-bestseller-categories button {
  min-height: 42px;
  padding: 8px 15px;
  border: 1px solid #b9c9dd;
  border-radius: 5px;
  background: #fff;
  color: #102845;
  font-size: 13px;
  font-weight: 850;
  letter-spacing: 0;
  line-height: 1.15;
  transition: border-color .18s ease, background .18s ease, color .18s ease;
}

body.shop-1 .jp-home .jp-bestseller-categories button.is-active {
  border-color: transparent;
  background: linear-gradient(135deg, #06101f 0%, #0e367c 62%, #1762d4 100%);
  color: #fff;
  box-shadow: 0 9px 20px rgba(14, 54, 124, .17);
}

body.shop-1 .jp-home .jp-bestseller-subcategory {
  display: grid;
  gap: 6px;
}

body.shop-1 .jp-home .jp-bestseller-subcategory > span {
  color: #40546d;
  font-size: 12px;
  font-weight: 800;
}

body.shop-1 .jp-home .jp-bestseller-subcategory select {
  width: 100%;
  min-height: 44px;
  padding: 0 38px 0 13px;
  border: 1px solid #b9c9dd;
  border-radius: 5px;
  background: #fff;
  color: #071426;
  font-size: 14px;
  font-weight: 750;
}

body.shop-1 .jp-home .jp-bestseller-subcategory.is-disabled {
  opacity: .45;
}

body.shop-1 .jp-home .jp-bestseller-status {
  min-height: 18px;
  margin: 0;
  grid-column: 1 / -1;
  color: #5c6d82;
  font-size: 12px;
  line-height: 1.4;
}

body.shop-1 .jp-home .jp-bestseller-slider .hhprov2-slider-track {
  transition: opacity .18s ease;
}

body.shop-1 .jp-home .jp-bestseller-slider.is-loading .hhprov2-slider-track {
  opacity: .42;
  pointer-events: none;
}

body.shop-1 .jp-home .jp-bestseller-empty {
  display: grid;
  min-width: 100%;
  min-height: 210px;
  margin: 0;
  padding: 28px;
  place-items: center;
  border: 1px solid #d6e0ec;
  border-radius: 6px;
  background: #fff;
  color: #40546d;
  font-size: 15px;
  font-weight: 750;
  text-align: center;
}

body.shop-1 .jp-home .jp-energy-promo p {
  font-size: clamp(16px, 1.35vw, 19px) !important;
  font-weight: 700 !important;
  line-height: 1.5 !important;
}

@media (max-width: 760px) {
  body.shop-1 .jp-home .jp-bestseller-filter {
    grid-template-columns: 1fr;
    gap: 14px;
  }

  body.shop-1 .jp-home .jp-bestseller-categories {
    margin: 0 -11px;
    padding: 0 11px 4px;
    flex-wrap: nowrap;
    overflow-x: auto;
    scrollbar-width: none;
  }

  body.shop-1 .jp-home .jp-bestseller-categories::-webkit-scrollbar { display: none; }
  body.shop-1 .jp-home .jp-bestseller-categories button {
    min-height: 40px;
    padding: 7px 13px;
    flex: 0 0 auto;
    font-size: 12.5px;
  }

  body.shop-1 .jp-home .jp-bestseller-status { grid-column: 1; }
  body.shop-1 .jp-home .jp-energy-promo p { font-size: 15.5px !important; }
}
