/* Fechamento da oferta: classes isoladas para uso na página ou no snippet. */
.fb-offer {
  box-sizing: border-box;
  width: 100%;
  max-width: 700px;
  margin: 40px auto;
  padding: 24px;
  border-radius: 12px;
  background: #ffffff;
  box-shadow: 0 6px 24px rgb(0 0 0 / 8%);
  color: #222222;
  font-family: Inter, Arial, sans-serif;
  font-size: 1rem;
  line-height: 1.6;
  text-align: center;
  overflow-wrap: break-word;
  scroll-margin-top: 110px;
}
.fb-offer * { box-sizing: border-box; }
.fb-offer .fb-offer-intro { margin: 0 0 20px; color: #e05a47; }
.fb-offer-intro span { display: block; }
.fb-offer-title {
  margin: 0 0 24px;
  color: #333333;
  font-family: Inter, Arial, sans-serif;
  font-size: 1.5rem;
  font-weight: 700;
  line-height: 1.35;
  text-align: center;
}
.fb-offer-heading {
  margin: 40px auto 20px;
  max-width: 700px;
}
.fb-offer-heading + .fb-offer { margin-top: 0; }
.fb-offer .fb-offer-list {
  width: fit-content;
  max-width: 100%;
  margin: 0 auto;
  padding: 0;
  list-style: none;
  text-align: left;
}
.fb-offer-list li + li { margin-top: 16px; }
.fb-offer-list strong { color: #333333; }
.fb-offer del { color: #e05a47; white-space: nowrap; }
.fb-offer .fb-offer-total { margin: 20px 0; color: #666666; font-size: 1.1rem; }
.fb-offer .fb-offer-price { margin: 0 0 24px; font-size: 1.5rem; font-weight: 700; }
.fb-offer-price strong {
  display: inline-block;
  padding: 2px 8px;
  border-radius: 4px;
  background: #222222;
  color: #ffffff;
  white-space: nowrap;
}
.fb-offer .fb-offer-price-label { margin: 0 0 10px; font-size: 1.2rem; line-height: 1.4; }
.fb-offer .fb-offer-price-dominant { margin: 0 0 8px; font-size: clamp(44px, 8vw, 64px); line-height: 1.15; }
.fb-offer-price-dominant strong { padding: 0; background: transparent; color: #222222; }
.fb-offer .fb-offer-installments { margin: 0 0 28px; color: #666666; font-size: .95rem; line-height: 1.5; }
.fb-offer-limit { margin-top: 28px; text-align: left; }
.fb-offer-limit h3 { margin: 0 0 14px; color: #333333; font-size: 18px; line-height: 1.45; }
.fb-offer-limit p { margin: 0 0 14px; color: #666666; font-size: 15px; line-height: 1.6; }
.fb-offer-limit p:last-child { margin-bottom: 0; }
.fb-offer .fb-offer-cta {
  display: block;
  width: 100%;
  max-width: 450px;
  min-height: 44px;
  margin: 0 auto;
  padding: 16px 32px;
  border: 0;
  border-radius: 6px;
  background: #15803d;
  color: #ffffff;
  font-family: inherit;
  font-size: 1.1rem;
  font-weight: 700;
  line-height: 1.4;
  text-align: center;
  text-decoration: none;
  white-space: normal;
  overflow-wrap: anywhere;
  animation: fb-offer-pulse 1.8s ease-in-out infinite;
}
.fb-offer-cta[aria-disabled="true"] { cursor: not-allowed; }
.fb-offer-cta:focus-visible { outline: 3px solid #222222; outline-offset: 4px; }
.fb-offer .fb-offer-pending { margin: 16px 0 0; color: #666666; font-size: .875rem; line-height: 1.5; }
.fb-offer .fb-offer-divider { width: 100%; height: 1px; margin: 28px 0; background: #E6E2DE; border: 0; }
.fb-offer-books { position: relative; width: 260px; max-width: 100%; height: 310px; margin: 0 auto; }
.fb-offer-book {
  position: absolute; width: 57%; height: 220px; padding: 24px 10px 34px;
  display: flex; flex-direction: column; align-items: center; gap: 16px;
  border: 1px solid #DCCFC1; background: #F7F1E7; color: #282321;
  box-shadow: 5px 2px 0 #DAD6D0, 8px 3px 0 #FFFFFF, 12px 12px 18px #0003;
  font-family: Arial, sans-serif;
}
.fb-offer-book span { font-size: 22px; }
.fb-offer-book strong { font-size: 15px; line-height: 1.15; }
.fb-offer-book small { position: absolute; bottom: 0; left: 0; right: 0; padding: 10px 2px; background: #B96976; color: white; font-size: 7px; letter-spacing: 1px; }
.fb-offer-book i { width: 54px; height: 54px; border: 1px solid #B96976; border-radius: 50%; background: radial-gradient(circle at 35% 35%, #FAE4D7, #E8BCB0); }
.fb-offer-book-back { top: 8px; left: 37%; transform: rotate(11deg); }
.fb-offer-book-middle { top: 40px; left: 22%; transform: rotate(3deg); }
.fb-offer-book-front { top: 72px; left: 6%; transform: rotate(-8deg); }
@keyframes fb-offer-pulse {
  0%, 100% { box-shadow: 0 0 0 0 rgb(21 128 61 / 25%); }
  50% { box-shadow: 0 0 0 9px rgb(21 128 61 / 0%); }
}
@media (prefers-reduced-motion: reduce) { .fb-offer .fb-offer-cta { animation: none; } }
