/* Buenisisimo Rewards 1.4.9 — Reward Card */
.buenisisimo-reward {
  background-image: url("../images/regalos-3-buenisisimo.jpg") !important;
  background-size: cover !important;
  background-position: center !important;
  position: relative !important;
  display: block !important;
  width: 100% !important;
  min-height: 430px !important;
  margin: 0 0 24px !important;
  overflow: hidden !important;
  border: 0 !important;
  border-radius: 10px !important;
color: #fff !important;
  text-align: center !important;
  box-shadow: none !important;
  isolation: isolate;
}

.buenisisimo-reward__overlay { display:none !important; background:none !important; }
.buenisisimo-reward__inner {
  position: relative !important;
  z-index: 1 !important;
  position: relative !important;
  z-index: 1 !important;
  min-height: 430px !important;
  width: 100% !important;
  padding: 38px 28px 32px !important;
  box-sizing: border-box !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;
  color: #fff !important;
}
.buenisisimo-reward,
.buenisisimo-reward *,
.buenisisimo-reward *::before,
.buenisisimo-reward *::after {
  box-shadow: none !important;
}
.buenisisimo-reward__icon {
  width: 62px !important;
  height: 62px !important;
  margin: 0 0 17px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  color: #fff !important;
}
.buenisisimo-reward__icon svg { width: 58px !important; height: 58px !important; display:block !important; }
.buenisisimo-reward__eyebrow {
  margin: 0 0 10px !important;
  color: #fff !important;
  font-size: 10px !important;
  line-height: 1.3 !important;
  font-weight: 700 !important;
  letter-spacing: .22em !important;
  text-transform: uppercase !important;
}
.buenisisimo-reward__title {
  margin: 0 0 13px !important;
  color: #fff !important;
  font-size: 27px !important;
  line-height: 1.14 !important;
  font-weight: 700 !important;
  text-transform: uppercase !important;
  text-align:center !important;
}
.buenisisimo-reward__description {
  max-width: 410px !important;
  margin: 0 auto 16px !important;
  color: rgba(255,255,255,.94) !important;
  font-size: 14px !important;
  line-height: 1.55 !important;
  text-align:center !important;
}
.buenisisimo-reward__description p { margin: 0 !important; color:inherit !important; }
.buenisisimo-reward__conditions,
.buenisisimo-reward__expiration {
  max-width: 410px !important;
  margin: 0 auto 12px !important;
  color: rgba(255,255,255,.76) !important;
  font-size: 12px !important;
  line-height: 1.5 !important;
  text-align:center !important;
}
.buenisisimo-reward__locked-message,
.buenisisimo-reward__unlocked { margin-top: 3px !important; text-align:center !important; }
.buenisisimo-reward__status {
  display: block !important;
  margin: 3px 0 20px !important;
  color: #fff !important;
  font-size: 11px !important;
  line-height: 1.4 !important;
  font-weight: 700 !important;
  letter-spacing: .09em !important;
  text-transform: uppercase !important;
}
.buenisisimo-reward__button,
.buenisisimo-reward__redeem {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  min-height: 48px !important;
  padding: 0 30px !important;
  border: 0 !important;
  border-radius: 50px !important;
  background: #fff !important;
  color: #222 !important;
  font-size: 11px !important;
  line-height: 1 !important;
  font-weight: 700 !important;
  letter-spacing: .08em !important;
  text-transform: uppercase !important;
  text-decoration:none !important;
  cursor:pointer !important;
  box-shadow:none !important;
  transition: opacity .18s ease, transform .18s ease !important;
}
.buenisisimo-reward__button:hover,
.buenisisimo-reward__redeem:hover { background:#fff !important; color:#222 !important; opacity:.9 !important; transform:translateY(-1px) !important; }
.buenisisimo-reward__redeem-form { width:100% !important; max-width:330px !important; margin:18px auto 0 !important; }
.buenisisimo-reward__pin-label { display:block !important; margin-bottom:9px !important; color:#fff !important; font-size:11px !important; text-align:center !important; }
.buenisisimo-reward__pin-row { display:flex !important; gap:8px !important; align-items:center !important; justify-content:center !important; }
.buenisisimo-reward__pin { flex:1 1 auto !important; min-width:0 !important; height:44px !important; border:1px solid rgba(255,255,255,.65) !important; border-radius:50px !important; background:rgba(255,255,255,.12) !important; color:#fff !important; text-align:center !important; box-shadow:none !important; }
.buenisisimo-reward__pin::placeholder { color:rgba(255,255,255,.75) !important; }
.buenisisimo-reward__confirm {
  height:44px !important;
  padding:0 18px !important;
  border:0 !important;
  border-radius:50px !important;
  background:#fff !important;
  color:#22a39b !important;
  font-family:'Poppins', sans-serif !important;
  font-size:11px !important;
  font-weight:600 !important;
  letter-spacing:.02em !important;
  text-transform:uppercase !important;
  cursor:pointer !important;
} 

/* 1.6.3 — Redeem/confirm buttons match the favorite button typography. */
.buenisisimo-reward__redeem,
.buenisisimo-reward__button {
  font-family:'Poppins', sans-serif !important;
  color:#22a39b !important;
  font-weight:600 !important;
  letter-spacing:.02em !important;
  text-transform:uppercase !important;
}
.buenisisimo-reward__redeem:hover,
.buenisisimo-reward__button:hover,
.buenisisimo-reward__confirm:hover {
  background:#fff !important;
  color:#22a39b !important;
}
.buenisisimo-reward__redeem-error { margin-top:10px !important; color:#fff !important; font-size:12px !important; }
.buenisisimo-reward__no-pin { color:rgba(255,255,255,.8) !important; font-size:12px !important; }
.buenisisimo-reward-container { box-shadow:none !important; }
@media (max-width:480px){
 .buenisisimo-reward{min-height:390px !important;border-radius:10px;padding:30px 20px 25px !important}
 .buenisisimo-reward__title{font-size:23px !important}
 .buenisisimo-reward__description{font-size:13px !important}
 .buenisisimo-reward__pin-row{flex-direction:column !important}
 .buenisisimo-reward__pin,.buenisisimo-reward__confirm{width:100% !important;box-sizing:border-box !important}
}


.buenisisimo-reward__overlay {
  display: none !important;
}
.buenisisimo-reward__icon img {
  display: block !important;
  width: 62px !important;
  height: 62px !important;
  object-fit: contain !important;
}
.buenisisimo-reward__conditions,
.buenisisimo-reward__expiration {
  margin-top: 0 !important;
  margin-bottom: 12px !important;
}


/* 1.4.5: exact uploaded background, with NO black overlay */


/* 1.4.7: new uploaded background — no black overlay */
.buenisisimo-reward::before {
  content: none !important;
  display: none !important;
}

/* 1.6.2 — Dedicated reward-widget button: text only, Poppins, teal. */
.buenisisimo-reward__favorite-slot {
  width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  text-align: center !important;
}


.buenisisimo-reward-favorite-proxy {
  position: relative !important;
  display: inline-flex !important;
  flex: 0 0 auto !important;
  width: min(100%, 330px) !important;
  min-width: 280px !important;
  max-width: 330px !important;
  height: 48px !important;
  min-height: 48px !important;
  max-height: 48px !important;
  padding: 0 20px !important;
  box-sizing: border-box !important;
  align-items: center !important;
  justify-content: center !important;
  flex-direction: row !important;
  flex-wrap: nowrap !important;
  gap: 0 !important;
  white-space: nowrap !important;
  overflow: hidden !important;
  line-height: 1 !important;
  text-align: center !important;
  vertical-align: middle !important;
  font-family: 'Poppins', sans-serif !important;
  font-weight: 600 !important;
  color: #22a39b !important;
}

/* Remove every icon from the reward-widget button. */
.buenisisimo-reward-favorite-proxy::before,
.buenisisimo-reward-favorite-proxy::after,
.buenisisimo-reward-favorite-proxy > i,
.buenisisimo-reward-favorite-proxy > svg,
.buenisisimo-reward-favorite-proxy > .fa,
.buenisisimo-reward-favorite-proxy > .like-icon,
.buenisisimo-reward-favorite-proxy i,
.buenisisimo-reward-favorite-proxy svg,
.buenisisimo-reward-favorite-proxy .fa,
.buenisisimo-reward-favorite-proxy .like-icon {
  display: none !important;
  visibility: hidden !important;
  content: none !important;
}

.buenisisimo-reward-favorite-proxy > *,
.buenisisimo-reward-favorite-proxy span {
  position: static !important;
  top: auto !important;
  right: auto !important;
  bottom: auto !important;
  left: auto !important;
  float: none !important;
  transform: none !important;
  margin: 0 !important;
  padding: 0 !important;
  box-sizing: border-box !important;
  align-self: center !important;
  vertical-align: middle !important;
  font-family: 'Poppins', sans-serif !important;
  color: #22a39b !important;
}

.buenisisimo-reward-favorite-proxy span {
  display: inline-block !important;
  flex: 0 0 auto !important;
  width: auto !important;
  max-width: none !important;
  height: auto !important;
  visibility: visible !important;
  opacity: 1 !important;
  overflow: visible !important;
  white-space: nowrap !important;
  line-height: 1.2 !important;
  font-family: 'Poppins', sans-serif !important;
  font-weight: 600 !important;
  color: #22a39b !important;
}

/* Preserve the exact same card-content padding at every viewport width. */
.buenisisimo-reward__inner {
  padding: 38px 28px 32px !important;
}

@media (max-width: 480px) {
  .buenisisimo-reward__inner {
    padding: 38px 28px 32px !important;
  }

  .buenisisimo-reward-favorite-proxy {
    width: min(100%, 330px) !important;
    min-width: 280px !important;
    max-width: 330px !important;
    height: 48px !important;
    min-height: 48px !important;
    max-height: 48px !important;
    padding: 0 20px !important;
  }
}


/* 1.6.5 — Responsive-safe reward favorite/login text.
 * The reward CTA owns its complete layout so Listeo/theme media queries cannot
 * hide, offset, or vertically misalign the text on tablet/mobile/desktop.
 */
.buenisisimo-reward__inner,
.buenisisimo-reward__favorite-slot,
.buenisisimo-reward-favorite-proxy {
  box-sizing: border-box !important;
}

.buenisisimo-reward__inner {
  width: 100% !important;
  min-height: 430px !important;
  height: auto !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;
  text-align: center !important;
}

.buenisisimo-reward__favorite-slot {
  width: 100% !important;
  max-width: 100% !important;
  min-width: 0 !important;
  min-height: 48px !important;
  display: flex !important;
  flex: 0 0 auto !important;
  flex-direction: row !important;
  align-items: center !important;
  justify-content: center !important;
  align-self: center !important;
  padding: 0 !important;
  text-align: center !important;
  visibility: visible !important;
  opacity: 1 !important;
}

.buenisisimo-reward-favorite-proxy {
  display: inline-flex !important;
  flex: 0 1 360px !important;
  width: 100% !important;
  max-width: 360px !important;
  min-width: 0 !important;
  height: 48px !important;
  min-height: 48px !important;
  max-height: 48px !important;
  padding: 0 18px !important;
  box-sizing: border-box !important;
  align-items: center !important;
  justify-content: center !important;
  align-self: center !important;
  text-align: center !important;
  vertical-align: middle !important;
  white-space: nowrap !important;
  overflow: visible !important;
  line-height: 1 !important;
  visibility: visible !important;
  opacity: 1 !important;
  font-family: 'Poppins', sans-serif !important;
  font-weight: 600 !important;
  color: #22a39b !important;
}

.buenisisimo-reward-favorite-proxy .buenisisimo-reward-favorite-text {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  flex: 0 1 auto !important;
  width: auto !important;
  max-width: 100% !important;
  min-width: 0 !important;
  height: auto !important;
  min-height: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  position: static !important;
  float: none !important;
  transform: none !important;
  visibility: visible !important;
  opacity: 1 !important;
  overflow: visible !important;
  white-space: nowrap !important;
  line-height: 1.2 !important;
  text-align: center !important;
  font-family: 'Poppins', sans-serif !important;
  font-size: clamp(10px, 2.4vw, 12px) !important;
  font-weight: 600 !important;
  letter-spacing: .02em !important;
  color: #22a39b !important;
}

/* Keep both phrases available even when the theme applies display/visibility
 * rules to descendants of .like-button. */
.buenisisimo-reward-favorite-proxy .buenisisimo-reward-favorite-text,
.buenisisimo-reward-favorite-proxy .buenisisimo-reward-favorite-text * {
  display: flex !important;
  visibility: visible !important;
  opacity: 1 !important;
}

@media (max-width: 480px) {
  .buenisisimo-reward__inner {
    min-height: 390px !important;
    padding: 30px 20px 25px !important;
  }
  .buenisisimo-reward-favorite-proxy {
    max-width: 100% !important;
    height: 48px !important;
    min-height: 48px !important;
    max-height: 48px !important;
  }
  .buenisisimo-reward-favorite-proxy .buenisisimo-reward-favorite-text {
    font-size: clamp(10px, 3.2vw, 12px) !important;
  }
}

/* 1.7.0 — Owner dashboard reward analytics */
.buenisisimo-owner-rewards {
  width: 100%;
  margin: 30px 0 0;
  padding: 0;
  box-sizing: border-box;
  font-family: inherit;
  color: inherit;
}
.buenisisimo-owner-rewards__box {
  width: 100%;
  margin: 0 0 24px;
  padding: 24px 0 0;
  border-top: 1px solid rgba(0,0,0,.08);
  box-sizing: border-box;
}
.buenisisimo-owner-rewards__box h2 {
  margin: 0 0 18px;
  padding: 0;
  font: inherit;
  font-size: 20px;
  line-height: 1.35;
  font-weight: 600;
  color: inherit;
}
.buenisisimo-owner-rewards__stats,
.buenisisimo-owner-rewards__businesses {
  width: 100%;
}
.buenisisimo-owner-rewards__stat,
.buenisisimo-owner-rewards__business {
  width: 100%;
  margin: 0;
  padding: 14px 0;
  border-bottom: 1px solid rgba(0,0,0,.07);
  box-sizing: border-box;
}
.buenisisimo-owner-rewards__stat:last-child,
.buenisisimo-owner-rewards__business:last-child {
  border-bottom: 0;
}
.buenisisimo-owner-rewards__label,
.buenisisimo-owner-rewards__business-title {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  margin: 0 0 8px;
  font-size: 13px;
  line-height: 1.4;
  color: inherit;
}
.buenisisimo-owner-rewards__bar {
  display: block;
  width: 100%;
  margin: 0;
  font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace;
  font-size: 14px;
  line-height: 1.5;
  letter-spacing: .02em;
  white-space: nowrap;
  overflow-x: auto;
  overflow-y: hidden;
  color: #22a39b;
  scrollbar-width: none;
}
.buenisisimo-owner-rewards__bar::-webkit-scrollbar { display:none; }
.buenisisimo-owner-rewards__bar b {
  font-family: inherit;
  font-weight: 600;
  color: inherit;
}
.buenisisimo-owner-rewards__business small {
  display: block;
  margin: 7px 0 0;
  font-size: 12px;
  line-height: 1.45;
  color: inherit;
  opacity: .7;
}
.buenisisimo-owner-rewards__featured-label {
  flex: 0 0 auto;
  font-size: 11px;
  line-height: 1.2;
  color: #22a39b;
  font-weight: 600;
}
@media (max-width: 700px) {
  .buenisisimo-owner-rewards { margin-top: 24px; }
  .buenisisimo-owner-rewards__box { padding-top: 20px; }
  .buenisisimo-owner-rewards__box h2 { font-size: 18px; }
  .buenisisimo-owner-rewards__bar { font-size: 13px; }
  .buenisisimo-owner-rewards__business-title { align-items: flex-start; }
}



/* 1.7.5 — Owner dashboard rewards: aligned, modern progress presentation. */
.buenisisimo-owner-rewards.dashboard-list-box {
  width: 100% !important;
  box-sizing: border-box !important;
  margin-top: 20px !important;
  background: #fff !important;
}

.buenisisimo-owner-rewards.dashboard-list-box h4 {
  margin: 0 !important;
  background: #fff !important;
}

.buenisisimo-owner-rewards__businesses {
  width: 100% !important;
  box-sizing: border-box !important;
  background: #fff !important;
  padding: 0 38px 26px !important;
}

.buenisisimo-owner-rewards__business {
  width: 100% !important;
  box-sizing: border-box !important;
  padding: 24px 0 26px !important;
  margin: 0 !important;
  background: #fff !important;
  border-bottom: 1px solid #eee !important;
}

.buenisisimo-owner-rewards__business:first-child {
  padding-top: 24px !important;
}

.buenisisimo-owner-rewards__business:last-child {
  padding-bottom: 0 !important;
  border-bottom: 0 !important;
}

.buenisisimo-owner-rewards__business-title {
  width: 100% !important;
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 12px !important;
  margin: 0 0 14px !important;
  padding: 0 !important;
}

.buenisisimo-owner-rewards__business-title strong {
  font: inherit !important;
  line-height: 1.4 !important;
}

.buenisisimo-owner-rewards__featured-label {
  flex: 0 0 auto !important;
  font-size: 11px !important;
  line-height: 1.2 !important;
  white-space: nowrap !important;
  color: #22a39b !important;
  font-weight: 600 !important;
}

.buenisisimo-owner-rewards__progress {
  position: relative !important;
  width: 100% !important;
  height: 18px !important;
  box-sizing: border-box !important;
  overflow: hidden !important;
  border-radius: 999px !important;
  background: #4b5563 !important;
  box-shadow: inset 0 0 0 1px rgba(0,0,0,.025) !important;
}

.buenisisimo-owner-rewards__progress-fill {
  position: absolute !important;
  top: 0 !important;
  left: 0 !important;
  height: 100% !important;
  display: block !important;
  border-radius: inherit !important;
  background: #22a39b !important;
  transition: width .35s ease !important;
}

.buenisisimo-owner-rewards__progress b {
  position: absolute !important;
  inset: 0 !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  z-index: 2 !important;
  margin: 0 !important;
  padding: 0 !important;
  color: #fff !important;
  font-size: 11px !important;
  line-height: 18px !important;
  font-weight: 600 !important;
  letter-spacing: .01em !important;
}

.buenisisimo-owner-rewards__remaining {
  margin: 12px 0 0 !important;
  padding: 0 !important;
  color: #7b8185 !important;
  font-size: 13px !important;
  line-height: 1.5 !important;
  background: #fff !important;
}

@media (max-width: 767px) {
  .buenisisimo-owner-rewards__businesses {
    padding-left: 25px !important;
    padding-right: 25px !important;
  }
  .buenisisimo-owner-rewards__business {
    padding-top: 22px !important;
    padding-bottom: 24px !important;
  }
}


/* Buenisisimo Rewards - language-independent login modal */
.buenisisimo-login-modal{position:fixed;inset:0;z-index:999999;display:none;align-items:center;justify-content:center;background:rgba(0,0,0,.55);padding:20px;box-sizing:border-box}
.buenisisimo-login-modal.is-open{display:flex}
.buenisisimo-login-modal__box{width:100%;max-width:420px;background:#fff;border-radius:4px;padding:30px;box-sizing:border-box;box-shadow:0 15px 45px rgba(0,0,0,.25);position:relative}
.buenisisimo-login-modal__close{position:absolute;right:15px;top:10px;border:0;background:none;font-size:28px;line-height:1;cursor:pointer}
.buenisisimo-login-modal__title{margin:0 30px 20px 0;font-family:Poppins,sans-serif;font-size:22px;font-weight:600}
.buenisisimo-login-modal__field{margin-bottom:15px}
.buenisisimo-login-modal__field label{display:block;margin-bottom:6px;font-weight:600}
.buenisisimo-login-modal__field input{width:100%;box-sizing:border-box;height:46px;padding:0 12px}
.buenisisimo-login-modal__submit{width:100%;height:46px;border:0;background:#22a39b;color:#fff;font-family:Poppins,sans-serif;font-weight:600;cursor:pointer}
.buenisisimo-login-modal__error{display:none;margin-bottom:15px;padding:10px;background:#f8d7da;color:#721c24}

/* 1.10.4 - keep the dashboard block hidden until it is moved next to Views. */
.buenisisimo-owner-rewards:not([data-buenisisimo-placed="1"]) { display:none !important; }
