/* Compatibilidade final com o tema do seguidoresimediato.com.br. */
body.single-product .spp-shell,
body.single-product .spp-shell *,
body.single-product .spp-shell *::before,
body.single-product .spp-shell *::after {
  box-sizing: border-box;
}

body.single-product .spp-shell {
  position: relative;
  clear: both;
  overflow: visible;
}

body.single-product .spp-product,
body.single-product .spp-hero-card,
body.single-product .spp-description-card,
body.single-product .spp-main-info,
body.single-product .spp-buy-box,
body.single-product .spp-picker {
  min-width: 0;
  max-width: 100%;
}

body.single-product .spp-hero-card {
  width: 100%;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 28px !important;
}

body.single-product .spp-description-card,
body.single-product .spp-buy-box {
  width: 100%;
  height: auto;
}

body.single-product .spp-buy-box.spp-picker-loading {
  position: relative;
  min-height: 300px;
}

body.single-product .spp-buy-box.spp-picker-loading form.variations_form {
  visibility: hidden !important;
  opacity: 0 !important;
}

body.single-product .spp-buy-box.spp-picker-loading::after {
  content: "Carregando pacotes...";
  position: absolute;
  inset: 78px 22px 22px;
  display: grid;
  place-items: center;
  border-radius: 15px;
  background: linear-gradient(145deg, #171039, #28145d);
  color: #fff;
  font-size: 14px;
  font-weight: 800;
}

body.single-product .spp-stepper {
  width: 100%;
  max-width: 100%;
  grid-template-columns: 48px minmax(0, 1fr) 48px !important;
}

body.single-product .spp-stepper button {
  display: grid !important;
  place-items: center !important;
  width: 48px !important;
  min-width: 0 !important;
  max-width: 48px !important;
  height: 48px !important;
  margin: 0 !important;
  padding: 0 !important;
  line-height: 1 !important;
}

body.single-product .spp-picker-label,
body.single-product .spp-quick button {
  min-width: 0;
  overflow-wrap: anywhere;
}

body.single-product .spp-quick {
  width: 100%;
  padding-right: 3px !important;
}

body.single-product .spp-quick button {
  margin: 0 !important;
  white-space: normal !important;
}

/* Estrelas amarelas no resumo, na lista de avaliações e no formulário. */
body.single-product .spp-shell .star-rating,
body.single-product .spp-shell .star-rating::before,
body.single-product .spp-shell .star-rating span,
body.single-product .spp-shell .star-rating span::before,
body.single-product .spp-shell p.stars a,
body.single-product .spp-shell .comment-form-rating .stars a {
  color: #fbbf24 !important;
}

body.single-product .spp-shell .star-rating span::before {
  opacity: 1 !important;
}

body.single-product .spp-rating-summary {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 8px;
  min-width: 0;
}

body.single-product .spp-rating-summary .star-rating {
  float: none !important;
  margin: 0 !important;
  color: #fbbf24 !important;
}

body.single-product .spp-rating-summary > span {
  color: #2563c9;
  font-size: 14px;
  font-weight: 600;
}

body.single-product .spp-profile-capture {
  margin-bottom: 20px;
  padding: 17px;
  border: 1px solid #ded5fa;
  border-radius: 15px;
  background: #f8f5ff;
}

body.single-product .spp-profile-capture label small,
body.single-product .spp-profile-capture label strong {
  display: block;
}

body.single-product .spp-profile-capture label small {
  color: #7350d7;
  font-size: 10px;
  font-weight: 900;
  letter-spacing: 1px;
}

body.single-product .spp-profile-capture label strong {
  margin: 3px 0 10px;
  color: #17152b;
  font-size: 18px;
}

body.single-product .spp-profile-input {
  display: grid;
  grid-template-columns: 42px minmax(0,1fr);
  align-items: center;
  overflow: hidden;
  border: 2px solid #ded7ef;
  border-radius: 12px;
  background: #fff;
}

body.single-product .spp-profile-input:focus-within {
  border-color: #7933f1;
  box-shadow: 0 0 0 3px rgba(121,51,241,.12);
}

body.single-product .spp-profile-input b {
  display: grid;
  place-items: center;
  height: 48px;
  color: #7933f1;
  font-size: 19px;
}

body.single-product .spp-profile-input input {
  width: 100% !important;
  min-width: 0 !important;
  height: 48px !important;
  margin: 0 !important;
  padding: 0 12px 0 0 !important;
  border: 0 !important;
  outline: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}

body.single-product .spp-profile-input input.is-loading {
  background: linear-gradient(90deg,transparent,#f0eaff,transparent) !important;
  background-size: 200% 100% !important;
  animation: spp-profile-loading 1s linear infinite;
}

@keyframes spp-profile-loading { to { background-position: -200% 0; } }

body.single-product .spp-profile-help {
  display: block;
  margin-top: 7px;
  color: #686d7f;
  font-size: 11px;
}

body.single-product .spp-profile-help.is-error { color: #c62828; }

body.single-product .spp-profile-result {
  display: grid;
  grid-template-columns: 42px minmax(0,1fr) 28px;
  align-items: center;
  gap: 10px;
  margin-top: 11px;
  padding: 9px;
  border: 1px solid #bce8ca;
  border-radius: 11px;
  background: #edfbf2;
}

body.single-product .spp-profile-result[hidden] { display: none !important; }
body.single-product .spp-profile-result div strong,
body.single-product .spp-profile-result div small { display: block; min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
body.single-product .spp-profile-result div strong { color: #192136; font-size: 13px; }
body.single-product .spp-profile-result div small { color: #626b7c; font-size: 10px; }
body.single-product .spp-profile-avatar { display:grid;place-items:center;width:42px;height:42px;overflow:hidden;border-radius:50%;background:linear-gradient(145deg,#7933f1,#d348b1);color:#fff;font-weight:900; }
body.single-product .spp-profile-avatar img { width:100%;height:100%;object-fit:cover; }
body.single-product .spp-profile-ok { display:grid;place-items:center;width:24px;height:24px;border-radius:50%;background:#12a957;color:#fff; }

body.single-product .spp-quick button { position: relative; }
body.single-product .spp-quick button.is-featured { padding-top: 18px !important; border-color:#54d788 !important; }
body.single-product .spp-quick button.is-featured b { position:absolute;top:3px;left:50%;transform:translateX(-50%);padding:2px 7px;border-radius:99px;background:#0fa958;color:#fff;font-size:8px;line-height:1.3;white-space:nowrap; }

.spp-mobile-bar { display:none; }

body.single-product .spp-picker-buy {
  display: flex !important;
  align-items: center;
  justify-content: center;
  gap: 10px;
  padding: 9px 16px !important;
  text-align: center;
}

body.single-product .spp-picker-buy .spp-buy-copy,
body.single-product .spp-picker-buy .spp-buy-copy strong,
body.single-product .spp-picker-buy .spp-buy-copy small {
  display: block;
  min-width: 0;
}

body.single-product .spp-picker-buy .spp-buy-copy {
  font-size: inherit !important;
}

body.single-product .spp-picker-buy .spp-buy-copy strong {
  color: #fff;
  font-size: 16px;
  line-height: 1.25;
}

body.single-product .spp-picker-buy .spp-buy-copy small {
  margin-top: 2px;
  overflow: hidden;
  color: rgba(255,255,255,.88);
  font-size: 10px;
  font-weight: 650;
  line-height: 1.25;
  text-overflow: ellipsis;
  white-space: nowrap;
}

body.single-product .spp-picker-buy i {
  color: #fff;
  font-size: 22px;
  font-style: normal;
}

body.single-product .spp-picker-buy > strong {
  color: #fff;
  font-size: 16px;
  font-weight: 900;
}

@media (max-width: 800px) {
  body.single-product .spp-shell {
    width: calc(100% - 24px) !important;
    margin: 24px auto 30px !important;
  }

  body.single-product .spp-hero-card {
    grid-template-columns: minmax(0, 1fr) !important;
    gap: 24px !important;
  }

  body.single-product .spp-description-card,
  body.single-product .spp-main-info,
  body.single-product .spp-buy-box {
    width: 100% !important;
    margin-right: 0 !important;
    margin-left: 0 !important;
  }
}

@media (max-width: 480px) {
  body.single-product { padding-bottom: 84px; }

  .spp-mobile-bar {
    position: fixed;
    z-index: 9998;
    right: 12px;
    bottom: max(12px, env(safe-area-inset-bottom));
    left: 12px;
    display: grid;
    grid-template-columns: minmax(0,.9fr) minmax(150px,1.1fr);
    align-items: center;
    gap: 12px;
    width: auto;
    max-width: 520px;
    margin: 0 auto;
    padding: 12px 13px 12px 17px;
    border: 1px solid rgba(255,255,255,.12);
    border-radius: 19px;
    background: linear-gradient(145deg,#211035,#2d123d);
    box-shadow: 0 12px 35px rgba(22,8,38,.38);
    opacity: 0;
    pointer-events: none;
    transform: translateY(calc(100% + 30px));
    transition: opacity .22s ease,transform .28s ease;
  }

  .spp-mobile-bar.is-visible { opacity:1;pointer-events:auto;transform:translateY(0); }
  .spp-mobile-summary { min-width:0; }
  .spp-mobile-summary > small,
  .spp-mobile-summary > strong { display:block;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap; }
  .spp-mobile-summary > small { margin-bottom:2px;color:#e8deef;font-size:11px;line-height:1.25; }
  .spp-mobile-summary > strong,
  .spp-mobile-summary .price,
  .spp-mobile-summary .amount { color:#fff!important;font-size:21px!important;font-weight:900!important;line-height:1.15!important; }
  .spp-mobile-buy { display:grid;grid-template-columns:minmax(0,1fr) 18px;align-items:center;gap:5px;min-height:58px;padding:8px 13px;border-radius:14px;background:linear-gradient(90deg,#8a35ee,#ec167c);box-shadow:0 8px 18px rgba(224,30,131,.25);color:#fff!important;text-align:center;text-decoration:none!important; }
  .spp-mobile-buy > strong { color:#fff;font-size:15px;font-weight:900;line-height:1.15;white-space:nowrap; }
  .spp-mobile-buy i { color:#fff;font-size:18px;font-style:normal; }
  .spp-mobile-buy.disabled { opacity:.55;pointer-events:none; }

  body.single-product .spp-shell {
    width: calc(100% - 20px) !important;
    margin-top: 20px !important;
  }

  body.single-product .spp-description-card {
    padding: 20px 18px !important;
  }

  body.single-product .spp-buy-box {
    padding: 18px 12px !important;
  }

  body.single-product .spp-picker {
    width: 100% !important;
    padding: 18px 12px !important;
    overflow: hidden;
  }

  body.single-product .spp-stepper {
    grid-template-columns: 44px minmax(0, 1fr) 44px !important;
    gap: 8px !important;
  }

  body.single-product .spp-stepper button {
    width: 44px !important;
    max-width: 44px !important;
    height: 44px !important;
  }

  body.single-product .spp-stepper .spp-picker-label {
    font-size: 15px !important;
    line-height: 1.18 !important;
  }

  body.single-product .spp-quick {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 8px !important;
  }

  body.single-product .spp-quick button {
    width: 100% !important;
    min-height: 54px !important;
    padding: 8px 5px !important;
    font-size: 10px !important;
    line-height: 1.2 !important;
  }

  body.single-product .spp-scale span {
    max-width: 48% !important;
  }
}
