/** Shopify CDN: Minification failed

Line 97:0 Expected identifier but found "3"
Line 115:0 Expected identifier but found "2"
Line 117:0 Expected identifier but found "3"
Line 119:0 Expected identifier but found "4"
Line 121:0 Expected identifier but found "5"
Line 123:0 Expected identifier but found "6"
Line 129:0 Expected identifier but found "2"
Line 131:0 Expected identifier but found "3"
Line 133:0 Expected identifier but found "4"
Line 135:0 Expected identifier but found "5"
... and 14 more hidden warnings

**/
/* ============================================================
   ZenPulse™ / RelaxZen™  — CRO Landing Page Styles
   Archivo: assets/zenpulse.css
   ============================================================ */

.zp-wrap {
  --zp-primary: #102A5A;
  --zp-secondary: #58D1C9;
  --zp-bg: #FFFFFF;
  --zp-bg-section: #F5F7FA;
  --zp-text: #111827;
  --zp-text-secondary: #6B7280;
  --zp-border: #E5E7EB;
  --zp-success: #16A34A;
  --zp-radius: 14px;
  --zp-radius-sm: 8px;
  --zp-shadow: 0 4px 20px rgba(16, 42, 90, 0.08);
  --zp-shadow-lg: 0 10px 40px rgba(16, 42, 90, 0.14);
  font-family: var(--font-body-family, -apple-system, BlinkMacSystemFont, "Helvetica Neue", Arial, sans-serif);
  color: var(--zp-text);
  -webkit-font-smoothing: antialiased;
}

.zp-wrap * { box-sizing: border-box; }
.zp-wrap img { max-width: 100%; display: block; }

.zp-container {
  max-width: 1280px;
  margin: 0 auto;
  padding: 0 24px;
}

.zp-section-bg { background: var(--zp-bg-section); }
.zp-py { padding-top: 24px; padding-bottom: 24px; }
.zp-eyebrow {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: var(--zp-primary);
  background: rgba(88, 209, 201, 0.15);
  padding: 6px 12px;
  border-radius: 999px;
  margin-bottom: 14px;
}

.zp-h2 {
  font-size: clamp(24px, 3vw, 34px);
  font-weight: 800;
  color: var(--zp-primary);
  letter-spacing: -0.01em;
  margin: 0 0 10px;
}

.zp-sub {
  font-size: 16px;
  color: var(--zp-text-secondary);
  margin: 0 0 36px;
  max-width: 620px;
}

.zp-center { text-align: center; margin-left: auto; margin-right: auto; }

/* ============ HERO ============ */
.zp-hero-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 20px;
  align-items: flex-start;
  padding: 20px 0 24px ;
}

.zp-gallery {
    align-self: start;
  display: flex;
    flex-direction: column;
    gap: 16px;
  margin: 0 !important;
3
padding: 0 !important;

}

.zp-gallery-thumbs {
  display: flex;
  flex-direction: column;
  gap: 12px;
  max-height: 560px;
  overflow-y: auto;
  
}

.zp-gallery-thumbs::-webkit-scrollbar { width: 4px; }
.zp-gallery-thumbs::-webkit-scrollbar-thumb { background: var(--zp-border); border-radius: 4px; }

.zp-thumb img {
2
width: 100%;
3
height: 100%;
4
object-fit: contain;
5
display: block;
6
}
.zp-thumb:hover { opacity: 1; }
.zp-thumb.is-active { border-color: var(--zp-secondary); opacity: 1; }

.zp-main-image {
2
padding: 0 !important;
3
margin: 0 !important;
4
min-height: 0 !important;
5
  position: relative;
3
border-radius: 24px;
4
overflow: hidden;
5
background: var(--zp-bg-section);
6
display: flex;
7
align-items: center;
8
justify-content: center;
margin-bottom: 0 !important;
}
.zp-main-image img {
  width: 100%;
  height: auto;
  object-fit: contain;
  display: block;
  margin: 0 auto;
  border-radius: 24px;
}

.zp-badge-offer {
  position: absolute;
  top: 16px;
  left: 16px;
  background: var(--zp-primary);
  color: #fff;
  font-size: 12px;
  font-weight: 700;
  letter-spacing: .02em;
  padding: 8px 14px;
  border-radius: 999px;
  text-transform: uppercase;
  z-index: 2;
}

/* ---- Buy box ---- */
.zp-buybox { position: static; 
3 }

.zp-title {
  font-size: clamp(28px, 3.4vw, 40px);
  font-weight: 800;
  color: var(--zp-primary);
  line-height: 1.1;
  margin: 0 0 8px;
  letter-spacing: -0.02em;
}

.zp-subtitle {
  font-size: 17px;
  color: var(--zp-text-secondary);
  margin: 0 0 18px;
}

.zp-stars {
  display: flex;
  align-items: center;
  gap: 8px;
  margin-bottom: 18px;
}
.zp-stars svg { width: 16px; height: 16px; fill: #F5A623; }
.zp-stars span { font-size: 14px; color: var(--zp-text-secondary); }

.zp-bullets { list-style: none; padding: 0; margin: 0 0 22px; display: flex; flex-direction: column; gap: 10px; }
.zp-bullets li {
  display: flex;
  align-items: center;
  gap: 10px;
  font-size: 15px;
  font-weight: 500;
  color: var(--zp-text);
}
.zp-bullets svg { width: 18px; height: 18px; flex-shrink: 0; fill: var(--zp-secondary); }

.zp-price-row {
  display: flex;
  align-items: baseline;
  gap: 12px;
  margin-bottom: 4px;
}
.zp-price-now { font-size: 34px; font-weight: 800; color: var(--zp-primary); }
.zp-price-was { font-size: 18px; color: var(--zp-text-secondary); text-decoration: line-through; }
.zp-price-save {
  font-size: 13px;
  font-weight: 700;
  color: var(--zp-success);
  background: rgba(22,163,74,.1);
  padding: 3px 10px;
  border-radius: 999px;
}
.zp-price-tax { font-size: 13px; color: var(--zp-text-secondary); margin: 0 0 22px; }

/* ---- Offer selector ---- */
.zp-offers { display: flex; flex-direction: column; gap: 12px; margin-bottom: 22px; }

.zp-offer {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  border: 2px solid var(--zp-border);
  border-radius: var(--zp-radius-sm);
  padding: 14px 16px;
  cursor: pointer;
  background: #fff;
  transition: border-color .15s ease, box-shadow .15s ease;
}
.zp-offer:hover { border-color: var(--zp-secondary); }
.zp-offer.is-selected {
  border-color: var(--zp-primary);
  box-shadow: 0 0 0 1px var(--zp-primary);
  background: rgba(16,42,90,0.02);
}
.zp-offer input { position: absolute; opacity: 0; pointer-events: none; }

.zp-offer-left { display: flex; align-items: center; gap: 12px; }
.zp-offer-radio {
  width: 20px; height: 20px; border-radius: 50%;
  border: 2px solid var(--zp-border);
  flex-shrink: 0;
  display: flex; align-items: center; justify-content: center;
  transition: border-color .15s ease;
}
.zp-offer.is-selected .zp-offer-radio { border-color: var(--zp-primary); }
.zp-offer.is-selected .zp-offer-radio::after {
  content: ""; width: 10px; height: 10px; border-radius: 50%; background: var(--zp-primary);
}

.zp-offer-qty { font-weight: 700; font-size: 15px; color: var(--zp-text); }
.zp-offer-save { font-size: 12.5px; color: var(--zp-success); font-weight: 600; }

.zp-offer-badge {
  position: absolute;
  top: -11px;
  left: 14px;
  background: var(--zp-primary);
  color: #fff;
  font-size: 10.5px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: .03em;
  padding: 3px 10px;
  border-radius: 999px;
}
.zp-offer-badge.is-best { background: var(--zp-secondary); color: var(--zp-primary); }

.zp-offer-right { text-align: right; }
.zp-offer-price { font-weight: 800; font-size: 17px; color: var(--zp-primary); }
.zp-offer-price-unit { display: block; font-size: 11.5px; color: var(--zp-text-secondary); font-weight: 500; }

/* ---- CTA buttons ---- */
.zp-cta-group { display: flex; flex-direction: column; gap: 10px; margin-bottom: 20px; }

.zp-btn {
  display: flex; align-items: center; justify-content: center; gap: 8px;
  width: 100%;
  border: none;
  border-radius: 999px;
  font-size: 16px;
  font-weight: 700;
  padding: 16px 24px;
  cursor: pointer;
  transition: transform .1s ease, opacity .15s ease, background .15s ease;
  text-decoration: none;
}
.zp-btn:active { transform: scale(0.98); }

.zp-btn-primary { background: var(--zp-primary); color: #fff; }
.zp-btn-primary:hover { opacity: .92; }

.zp-btn-secondary {
  background: #fff;
  color: var(--zp-primary);
  border: 2px solid var(--zp-primary);
}
.zp-btn-secondary:hover { background: rgba(16,42,90,.04); }

.zp-trust-row {
  display: flex;
  flex-wrap: wrap;
  gap: 14px;
  font-size: 12.5px;
  color: var(--zp-text-secondary);
  padding-top: 16px;
  border-top: 1px solid var(--zp-border);
}
.zp-trust-row span { display: flex; align-items: center; gap: 6px; }
.zp-trust-row svg { width: 15px; height: 15px; fill: var(--zp-secondary); }

/* Sticky mobile add-to-cart bar */
.zp-sticky-bar {
  position: fixed;
  bottom: 0; left: 0; right: 0;
  background: #fff;
  border-top: 1px solid var(--zp-border);
  box-shadow: 0 -4px 20px rgba(0,0,0,.08);
  padding: 10px 16px;
  display: none;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  z-index: 999;
  transform: translateY(100%);
  transition: transform .25s ease;
}
.zp-sticky-bar.is-visible { transform: translateY(0); display: flex; }
.zp-sticky-bar .zp-price-now { font-size: 20px; }
.zp-sticky-bar .zp-btn { width: auto; padding: 12px 22px; font-size: 14px; }
.zp-sticky-bar-info { display: flex; flex-direction: column; }
.zp-sticky-bar-info small { color: var(--zp-text-secondary); font-size: 11px; }

@media (max-width: 749px) {
  .zp-sticky-bar { display: flex; }
}

/* ============ BENEFITS ============ */
.zp-benefits-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 24px;
}
.zp-benefit-card {
  background: #fff;
  border-radius: var(--zp-radius);
  padding: 28px 22px;
  text-align: left;
  box-shadow: var(--zp-shadow);
}
.zp-benefit-icon {
  width: 46px; height: 46px;
  border-radius: 12px;
  background: rgba(88,209,201,.15);
  display: flex; align-items: center; justify-content: center;
  margin-bottom: 16px;
}
.zp-benefit-icon svg { width: 24px; height: 24px; fill: var(--zp-primary); }
.zp-benefit-title { font-size: 16px; font-weight: 700; color: var(--zp-primary); margin: 0 0 6px; }
.zp-benefit-text { font-size: 14px; color: var(--zp-text-secondary); margin: 0; line-height: 1.5; }

/* ============ HOW IT WORKS ============ */
.zp-steps {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 32px;
  position: relative;
}
.zp-step { text-align: center; }
.zp-step-num {
  width: 56px; height: 56px;
  border-radius: 50%;
  background: var(--zp-primary);
  color: #fff;
  font-size: 20px;
  font-weight: 800;
  display: flex; align-items: center; justify-content: center;
  margin: 0 auto 18px;
}
.zp-step-img {
  border-radius: var(--zp-radius);
  overflow: hidden;
  margin-bottom: 18px;
  background: var(--zp-bg-section);
}
.zp-step-img img { aspect-ratio: 4/3; object-fit: contain; }
.zp-step-title { font-size: 16px; font-weight: 700; color: var(--zp-primary); margin: 0 0 6px; }
.zp-step-text { font-size: 14px; color: var(--zp-text-secondary); margin: 0; }

/* ============ COMPARISON TABLE ============ */
.zp-compare-wrap { overflow-x: auto; border-radius: var(--zp-radius); box-shadow: var(--zp-shadow); }
.zp-compare {
  width: 100%;
  border-collapse: collapse;
  background: #fff;
  min-width: 640px;
}
.zp-compare th, .zp-compare td {
  padding: 16px 18px;
  text-align: center;
  border-bottom: 1px solid var(--zp-border);
  font-size: 14px;
}
.zp-compare th { font-weight: 700; color: var(--zp-primary); font-size: 14px; }
.zp-compare td:first-child, .zp-compare th:first-child {
  text-align: left;
  font-weight: 600;
  color: var(--zp-text);
}
.zp-compare thead th.zp-col-zenpulse {
  background: var(--zp-primary);
  color: #fff;
  border-radius: var(--zp-radius-sm) var(--zp-radius-sm) 0 0;
}
.zp-compare tbody td.zp-col-zenpulse { background: rgba(16,42,90,.04); font-weight: 700; color: var(--zp-primary); }
.zp-compare tr:last-child td { border-bottom: none; }
.zp-check { color: var(--zp-success); font-weight: 800; }
.zp-cross { color: #D1495B; font-weight: 800; }

/* ============ FAQ ============ */
.zp-faq-list { max-width: 780px; margin: 0 auto; display: flex; flex-direction: column; gap: 12px; }
.zp-faq-item {
  background: #fff;
  border: 1px solid var(--zp-border);
  border-radius: var(--zp-radius-sm);
  overflow: hidden;
}
.zp-faq-question {
  width: 100%;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  padding: 18px 20px;
  background: none;
  border: none;
  text-align: left;
  font-size: 15.5px;
  font-weight: 700;
  color: var(--zp-primary);
  cursor: pointer;
}
.zp-faq-question .zp-faq-icon {
  width: 20px; height: 20px;
  flex-shrink: 0;
  position: relative;
  transition: transform .2s ease;
}
.zp-faq-question .zp-faq-icon::before, .zp-faq-question .zp-faq-icon::after {
  content: "";
  position: absolute;
  background: var(--zp-primary);
  border-radius: 2px;
}
.zp-faq-question .zp-faq-icon::before { width: 100%; height: 2px; top: 9px; left: 0; }
.zp-faq-question .zp-faq-icon::after { width: 2px; height: 100%; left: 9px; top: 0; transition: opacity .2s ease; }
.zp-faq-item.is-open .zp-faq-icon::after { opacity: 0; }
.zp-faq-answer {
  max-height: 0;
  overflow: hidden;
  transition: max-height .25s ease;
}
.zp-faq-answer-inner { padding: 0 20px 18px; font-size: 14.5px; color: var(--zp-text-secondary); line-height: 1.6; }

/* ============ GUARANTEES ============ */
.zp-guarantees {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 20px;
}
.zp-guarantee {
  display: flex;
  align-items: center;
  gap: 12px;
  background: #fff;
  border-radius: var(--zp-radius-sm);
  padding: 18px;
  box-shadow: var(--zp-shadow);
}
.zp-guarantee svg { width: 28px; height: 28px; fill: var(--zp-secondary); flex-shrink: 0; }
.zp-guarantee span { font-size: 13.5px; font-weight: 600; color: var(--zp-text); }

/* ============ UPSELL ============ */
.zp-upsell-card {
  display: grid;
  grid-template-columns: 260px 1fr;
  gap: 32px;
  background: #fff;
  border-radius: var(--zp-radius);
  box-shadow: var(--zp-shadow-lg);
  padding: 32px;
  align-items: center;
}
.zp-upsell-image { border-radius: var(--zp-radius-sm); overflow: hidden; background: var(--zp-bg-section); }
.zp-upsell-image img { aspect-ratio: 1/1; object-fit: contain;}
.zp-upsell-title { font-size: 20px; font-weight: 800; color: var(--zp-primary); margin: 0 0 6px; }
.zp-upsell-text { font-size: 14.5px; color: var(--zp-text-secondary); margin: 0 0 20px; }
.zp-upsell-options { display: flex; gap: 10px; margin-bottom: 20px; flex-wrap: wrap; }
.zp-upsell-option {
  border: 2px solid var(--zp-border);
  border-radius: var(--zp-radius-sm);
  padding: 10px 16px;
  cursor: pointer;
  font-size: 13.5px;
  font-weight: 600;
  background: #fff;
  position: relative;
}
.zp-upsell-option input { position: absolute; opacity: 0; }
.zp-upsell-option.is-selected { border-color: var(--zp-primary); background: rgba(16,42,90,.04); color: var(--zp-primary); }
.zp-upsell-option small { display: block; font-weight: 400; color: var(--zp-text-secondary); }

/* ============ REVIEWS ============ */
.zp-reviews-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 22px;
}
.zp-review-card {
  background: #fff;
  border-radius: var(--zp-radius);
  padding: 24px;
  box-shadow: var(--zp-shadow);
}
.zp-review-stars { display: flex; gap: 3px; margin-bottom: 12px; }
.zp-review-stars svg { width: 15px; height: 15px; fill: #F5A623; }
.zp-review-text { font-size: 14.5px; color: var(--zp-text); line-height: 1.6; margin: 0 0 16px; }
.zp-review-author { display: flex; align-items: center; gap: 10px; }
.zp-review-avatar {
  width: 38px; height: 38px; border-radius: 50%;
  background: var(--zp-primary);
  color: #fff;
  display: flex; align-items: center; justify-content: center;
  font-weight: 700; font-size: 14px;
  flex-shrink: 0;
}
.zp-review-name { font-size: 13.5px; font-weight: 700; color: var(--zp-text); }
.zp-review-meta { font-size: 12px; color: var(--zp-text-secondary); }
.zp-review-verified {
  display: inline-flex; align-items: center; gap: 4px;
  font-size: 11px; color: var(--zp-success); font-weight: 600; margin-top: 2px;
}
.zp-review-verified svg { width: 11px; height: 11px; fill: var(--zp-success); }

/* ============ RESPONSIVE ============ */
@media (max-width: 989px) {
  .zp-benefits-grid { grid-template-columns: repeat(2, 1fr); }
  .zp-guarantees { grid-template-columns: repeat(2, 1fr); }
  .zp-reviews-grid { grid-template-columns: repeat(2, 1fr); }
  .zp-upsell-card { grid-template-columns: 1fr; }
  .zp-upsell-image { max-width: 500px; margin: 0 auto; }
}

@media (max-width: 749px) {
  .zp-py { padding-top: 40px; padding-bottom: 40px; }
  .zp-hero-grid { grid-template-columns: 1fr; gap: 10px; padding:0 ; }
  .zp-gallery { grid-template-columns: 1fr; }
  .zp-gallery-thumbs {
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  justify-content: center;
  gap: 8px;
  overflow: visible;
  max-height: none;
  margin-top: 12px;
}

.zp-gallery-thumbs .zp-thumb {
2
width: 70px;
3
height: 70px;
4
flex-shrink: 0;
5
overflow: hidden;
6
}
}
  .zp-buybox { position: static; }
  .zp-benefits-grid { grid-template-columns: 1fr; }
  .zp-steps { grid-template-columns: 1fr; gap: 24px; }
  .zp-guarantees { grid-template-columns: 1fr; }
  .zp-reviews-grid { grid-template-columns: 1fr; }
  .zp-cta-group { padding-bottom: 8px; }
}
@media (max-width: 749px) {
  .zp-gallery-thumbs {
    display: none !important;
  }
}.zp-main-image {
  position: relative;
  margin-bottom: 0 !important;

}

.zp-nav-arrow {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  background: rgba(255,255,255,0.9);
  border: none;
  border-radius: 50%;
  width: 40px;
  height: 40px;
  font-size: 22px;
  cursor: pointer;
  z-index: 10;
  box-shadow: 0 2px 10px rgba(0,0,0,0.15);
}

.zp-nav-prev {
  left: 10px;
}

.zp-nav-next {
  right: 10px;
}

@media (max-width: 749px) {
  .zp-nav-arrow {
    display: none;
  }
}#shopify-section-template--main-product .zp-wrap,
#shopify-section-template--product .zp-wrap,

@media (max-width: 749px) {
  .zp-upsell-card {
    padding: 4px !important;
    gap: 4px !important;
  }
}
