:root{
    --green:#2F6F5E;        /* verde principal */
    --green-dark:#245446;
    --green-light:#3f8a74;
    --green-accent:#4caf50; /* verde "Hoy GRATIS" */
    --red:#e53935;
    --gold:#c9a227;
    --text:#2b2b2b;
    --muted:#5a5a5a;
    --bg:#ffffff;
  }
  *{box-sizing:border-box;margin:0;padding:0;}
  body{
    font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;
    color:var(--text);
    background:#e9e9e9;
    line-height:1.5;
    -webkit-font-smoothing:antialiased;
  }
  /* phone-width column to mirror the mobile LP */
  .page{
    max-width:420px;
    margin:0 auto;
    background:var(--bg);
    overflow:hidden;
  }
  section{padding:28px 22px;}
  .green{background:var(--green);color:#fff;}
  .green-dark{background:var(--green-dark);color:#fff;}
  .center{text-align:center;}
  h1,h2,h3{line-height:1.25;}
  h1{font-size:22px;font-weight:800;margin-bottom:12px;}
  h2{font-size:20px;font-weight:800;}
  h3{font-size:17px;font-weight:700;}
  p{margin-bottom:12px;}
  .lead{font-weight:600;}
  .underline{text-decoration:underline;}
  strong{font-weight:700;}
  ul{margin:8px 0 8px 20px;}
  li{margin-bottom:8px;font-size:14px;color:var(--muted);}
  .section-title{color:var(--green);font-weight:700;font-size:16px;margin-bottom:10px;}
  .band{background:var(--green);color:#fff;text-align:center;font-weight:700;padding:14px 20px;font-size:16px;}
  .arrow{color:var(--green);font-size:30px;text-align:center;margin:14px 0;}
  .arrow-white{color:#fff;font-size:30px;text-align:center;margin:14px 0;}

  /* IMAGE PLACEHOLDER — troque pelo asset real depois */
  .ph{
    background:repeating-linear-gradient(45deg,#f0f0f0,#f0f0f0 12px,#e6e6e6 12px,#e6e6e6 24px);
    border:2px dashed #b5b5b5;
    border-radius:10px;
    color:#7a7a7a;
    font-size:12px;
    font-weight:600;
    text-align:center;
    display:flex;
    align-items:center;
    justify-content:center;
    padding:24px 12px;
    margin:14px auto;
    min-height:120px;
  }
  .ph.tall{min-height:200px;}
  .ph.small{min-height:80px;}

  /* WhatsApp chat mock */
  .chat{background:#fff;border:1px solid #ddd;border-radius:12px;overflow:hidden;margin:16px 0;box-shadow:0 1px 4px rgba(0,0,0,.08);}
  .chat-head{background:#f6f6f6;padding:8px 12px;display:flex;align-items:center;gap:8px;font-size:13px;font-weight:600;border-bottom:1px solid #e5e5e5;}
  .chat-head .av{width:26px;height:26px;border-radius:50%;background:#cfcfcf;}
  .chat-url{background:#ececec;color:#555;font-size:11px;text-align:center;padding:4px;border-bottom:1px solid #e0e0e0;}
  .chat-body{background:#0b141a;padding:12px;display:flex;flex-direction:column;gap:8px;}
  .msg{max-width:82%;padding:7px 10px;border-radius:10px;font-size:12.5px;line-height:1.4;}
  .in{background:#202c33;color:#e9edef;align-self:flex-start;border-top-left-radius:2px;}
  .out{background:#005c4b;color:#e9edef;align-self:flex-end;border-top-right-radius:2px;}
  .t{display:block;font-size:9px;opacity:.6;text-align:right;margin-top:3px;}

  /* pain bubbles over image */
  .pain{position:relative;margin:16px 0;min-height:340px;border-radius:10px;overflow:hidden;}
  .pain-photo{position:absolute;inset:0;
    background:repeating-linear-gradient(45deg,#e9e2d6,#e9e2d6 12px,#e0d8c9 12px,#e0d8c9 24px);
    border:2px dashed #b9ad97;border-radius:10px;
    display:flex;align-items:center;justify-content:flex-end;padding-right:16px;
    color:#8a7d63;font-size:12px;font-weight:600;}
  .pain-bubbles{position:relative;z-index:2;display:flex;flex-direction:column;gap:12px;
    align-items:flex-start;padding:18px 40px 18px 14px;max-width:78%;}
  .bubble{background:var(--green);color:#fff;border-radius:10px;padding:9px 11px;font-size:12.5px;
    box-shadow:0 2px 5px rgba(0,0,0,.2);text-align:left;}
  .bubble.alt{background:var(--green-dark);}

  /* framebox */
  .framebox{border:1.5px solid #cfcfcf;border-radius:16px;padding:18px 16px;margin:16px 0 0;text-align:center;}

  /* steps grid */
  .steps{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:16px 0;}
  .step{background:#fff;border-radius:10px;padding:18px 10px;text-align:center;box-shadow:0 1px 3px rgba(0,0,0,.12);}
  .step .ic{width:46px;height:46px;border-radius:50%;display:flex;align-items:center;justify-content:center;margin:0 auto 8px;font-size:22px;}
  .step .ic.mail{background:var(--green-accent);color:#fff;}
  .step .ic.people{background:#f0b429;color:#fff;}
  .step .ic.pdf{background:#fff;color:var(--green-accent);border:2px solid var(--green-accent);font-size:16px;font-weight:800;}
  .step .ic.medal{background:#fff;color:#f0b429;border:2px solid #f0b429;}
  .step b{display:block;font-size:12px;margin-top:2px;color:var(--text);}
  .step small{color:var(--muted);font-size:11px;}
  .step-arrow{color:#f0b429;font-size:20px;}

  /* bonus card */
  .bonus{background:var(--green);color:#fff;text-align:center;border-radius:6px;padding:22px;margin:18px 0;}
  .bonus .tag{font-weight:700;font-size:14px;margin-bottom:8px;}
  .bonus h3{color:#fff;margin-bottom:10px;}
  .bonus .desc{font-size:12.5px;opacity:.95;margin-bottom:14px;}
  .price-old{color:var(--red);font-weight:700;text-decoration:line-through;font-size:14px;display:block;}
  .price-free{color:var(--green-accent);font-weight:800;font-size:18px;display:block;margin-top:2px;}

  .callout{background:var(--green-dark);color:#fff;text-align:center;border-radius:8px;padding:16px;margin:16px 0;font-style:italic;font-size:14px;}
  .callout b{color:#ffd27a;}

  /* recap */
  .recap li{color:#fff;list-style:none;margin-bottom:8px;font-size:13.5px;position:relative;padding-left:22px;}
  .recap li:before{content:"✅";position:absolute;left:0;top:0;}
  .recap ul{margin-left:0;}
  .free{color:var(--green-accent);font-weight:700;}
  .strike{color:var(--red);text-decoration:line-through;}

  /* price block */
  .pricebox{text-align:center;}
  .big-price{color:var(--green-accent);font-weight:800;font-size:40px;line-height:1;margin:6px 0;}
  .save{color:var(--green-accent);font-size:12px;margin-bottom:12px;}
  .cta{display:block;background:#5aa728;background:linear-gradient(#66b032,#4f9022);color:#fff;text-align:center;font-weight:800;font-size:17px;padding:18px;border-radius:40px;text-decoration:none;margin:16px 0;box-shadow:0 3px 8px rgba(0,0,0,.2);letter-spacing:.3px;}
  .secure{text-align:center;font-size:11px;color:var(--muted);margin:8px 0;}
  .badges{display:flex;gap:8px;justify-content:center;align-items:center;flex-wrap:wrap;margin:10px 0;}
  .badge-ph{background:#eee;border:1px dashed #bbb;border-radius:4px;font-size:10px;color:#888;padding:6px 10px;}
  .site-blindado{display:inline-flex;align-items:center;gap:6px;background:#111;color:#fff;font-weight:800;font-size:14px;padding:8px 16px;border-radius:6px;letter-spacing:.5px;}
  .site-blindado .lock{color:var(--green-accent);font-size:15px;}

  /* options compare */
  .opt{border:1px solid #ddd;border-radius:10px;padding:18px;margin:14px 0;}
  .opt h3{text-align:center;color:var(--text);margin-bottom:4px;}
  .opt .sub{text-align:center;font-weight:700;margin-bottom:12px;}
  .opt.sin .sub{color:var(--red);}
  .opt.con .sub{color:var(--green-accent);}
  .opt ul{list-style:none;margin-left:0;}
  .opt.sin li{padding-left:22px;position:relative;}
  .opt.sin li:before{content:"⚠️";position:absolute;left:0;}
  .opt.con li{padding-left:22px;position:relative;}
  .opt.con li:before{content:"✅";position:absolute;left:0;}

  .guarantee{text-align:center;padding:26px 20px;}
  .seal{width:130px;height:130px;border-radius:50%;margin:0 auto 16px;
    background:radial-gradient(circle at 50% 40%, #1b2a4a 0%, #0d1730 70%);
    border:6px solid #c9a227;
    box-shadow:0 0 0 3px #e8c85a, 0 4px 10px rgba(0,0,0,.3);
    display:flex;flex-direction:column;align-items:center;justify-content:center;color:#e8c85a;}
  .seal-top{font-size:10px;font-weight:700;letter-spacing:2px;margin-bottom:-4px;}
  .seal-num{font-size:44px;font-weight:800;line-height:1;color:#fff;}
  .seal-mid{font-size:12px;font-weight:700;letter-spacing:3px;}
  .seal-bot{font-size:10px;font-weight:700;letter-spacing:2px;margin-top:2px;}
  .guarantee b{font-size:14px;}

  /* faq */
  .faq-item{border-radius:8px;overflow:hidden;margin-bottom:10px;}
  .faq-q{background:var(--green-dark);color:#fff;padding:12px 14px;font-weight:600;font-size:14px;display:flex;justify-content:space-between;gap:10px;}
  .faq-a{background:var(--gold);color:#3a2f00;padding:12px 14px;font-size:13px;}

  .browserbar{background:#f2f2f2;border-top:1px solid #ddd;padding:10px;text-align:center;font-size:11px;color:#666;}
  .note{font-size:11px;color:#999;text-align:center;padding:10px;}
  .compat{font-size:13px;color:var(--muted);text-align:center;margin-bottom:6px;}
  .compat b{color:var(--green);}

/* WordPress integration */
html { scroll-behavior: smooth; }
body.stp-landing-page { margin: 0; }
.stp-media {
  display: block;
  width: 100%;
  max-width: 100%;
  height: auto;
  margin: 14px auto;
  border-radius: 10px;
  object-fit: contain;
}
.stp-media-dark { background: #245446; }
.pain-photo.has-image {
  background-size: cover;
  background-position: center;
  border: 0;
  color: transparent;
}
.stp-cta-unconfigured {
  cursor: not-allowed;
  opacity: .82;
}
.stp-site-content { min-height: 60vh; }
.stp-article {
  max-width: 780px;
  margin: 0 auto;
  padding: 56px 24px;
  background: #fff;
}
.stp-article h1,
.stp-article h2,
.stp-article h3 { color: var(--green); margin: 0 0 16px; }
.stp-article p,
.stp-article li { color: var(--text); }
.stp-article a { color: var(--green); }
.stp-article .entry-meta { color: var(--muted); font-size: 13px; margin-bottom: 18px; }
.stp-admin-note {
  max-width: 420px;
  margin: 0 auto;
  padding: 10px 16px;
  text-align: center;
  background: #fff5cc;
  color: #5d4800;
  font-size: 12px;
}
@media (max-width: 600px) {
  .stp-article { padding: 34px 20px; }
}

/* Real visuals bundled with the theme */
.stp-testimonials-section {
  padding-top: 14px;
  padding-bottom: 14px;
  background: #fff;
}
.stp-testimonials {
  display: grid;
  gap: 16px;
}
.stp-testimonial {
  margin: 0;
  overflow: hidden;
  border-radius: 10px;
  background: #f4f4f4;
  box-shadow: 0 1px 5px rgba(0, 0, 0, .12);
}
.stp-testimonial img {
  display: block;
  width: 100%;
  height: auto;
}
.stp-guarantee-seal {
  display: block;
  width: min(180px, 52vw);
  height: auto;
  margin: 0 auto 16px;
}
.pain-photo:not(.has-image) {
  background:
    radial-gradient(circle at 78% 22%, rgba(255, 255, 255, .18) 0 2px, transparent 3px),
    radial-gradient(circle at 24% 80%, rgba(255, 255, 255, .10) 0 2px, transparent 3px),
    linear-gradient(135deg, #e7ded0 0%, #d5e2d8 48%, #9fbea9 100%);
  border: 0;
}

/* Complete visual used in the “Por eso, muchas veces piensas” section. */
.stp-pain-art {
  margin-top: 16px;
  margin-bottom: 16px;
  border-radius: 16px;
  box-shadow: 0 6px 18px rgba(0, 0, 0, .10);
}


/* Bonus cards: mobile product-card layout */
.stp-bonus-wrap {
  padding: 10px 12px;
  background: #fff;
}
.stp-bonus-wrap-first {
  padding-top: 18px;
}
.stp-bonus-wrap + .stp-bonus-wrap {
  padding-top: 4px;
}
.bonus {
  overflow: hidden;
  margin: 0;
  padding: 0 16px 20px;
  border-radius: 20px;
  color: #fff;
  text-align: center;
  box-shadow: none;
  background: #2f7866;
}
.bonus-1 { background: #285f4b; }
.bonus-2 { background: #184939; }
.bonus-3 { background: #2a5f4b; }
.bonus-4 { background: #2a5743; }
.bonus .stp-bonus-visual {
  display: block;
  width: calc(100% + 32px);
  max-width: none;
  height: auto;
  margin: 0 -16px 12px;
  border-radius: 0;
  object-fit: contain;
}
.bonus .tag {
  margin: 0 0 10px;
  color: #fff;
  font-size: 14px;
  font-weight: 800;
  line-height: 1.2;
}
.bonus h3 {
  margin: 0 0 10px;
  color: #fff;
  font-size: 17px;
  font-weight: 800;
  line-height: 1.23;
}
.bonus .desc {
  max-width: 320px;
  margin: 0 auto 14px;
  color: rgba(255,255,255,.96);
  font-size: 12px;
  font-weight: 600;
  line-height: 1.32;
}
.bonus .price-old {
  color: #ff2222;
  font-size: 15px;
  font-weight: 800;
  line-height: 1.15;
}
.bonus .price-free {
  margin-top: 8px;
  color: #74f23f;
  font-size: 17px;
  font-weight: 900;
  line-height: 1.1;
}
@media (max-width: 380px) {
  .stp-bonus-wrap { padding-left: 10px; padding-right: 10px; }
  .bonus { padding: 0 13px 18px; }
  .bonus .stp-bonus-visual {
    width: calc(100% + 26px);
    margin-left: -13px;
    margin-right: -13px;
  }
  .bonus h3 { font-size: 16px; }
  .bonus .desc { font-size: 11.5px; }
}


/* Access + bonus intro refinement */
.stp-access-title {
  padding-bottom: 10px;
}
.stp-access-title h2 {
  font-size: 20px;
}
.stp-access-section {
  padding-top: 6px !important;
  padding-bottom: 26px;
}
.stp-access-section > p.center {
  margin-bottom: 14px;
  color: rgba(255,255,255,.95) !important;
  font-size: 13px;
  font-weight: 600;
}
.stp-access-section .steps {
  position: relative;
  max-width: 270px;
  margin: 16px auto 0;
  gap: 10px;
}
.stp-access-section .step {
  position: relative;
  z-index: 2;
  min-height: 112px;
  padding: 14px 8px 12px;
  border-radius: 12px;
  box-shadow: 0 2px 8px rgba(0,0,0,.12);
}
.stp-access-section .step .ic {
  width: 42px;
  height: 42px;
  margin-bottom: 8px;
  font-size: 21px;
}
.stp-access-section .step b {
  font-size: 11px;
  font-weight: 800;
  line-height: 1.15;
}
.stp-access-section .step small {
  display: block;
  margin-top: 3px;
  color: #404040;
  font-size: 10.5px;
  font-weight: 600;
  line-height: 1.18;
}
.stp-access-section .step:nth-child(1)::after,
.stp-access-section .step:nth-child(2)::after,
.stp-access-section .step:nth-child(3)::after,
.stp-access-section .step:nth-child(4)::after {
  position: absolute;
  z-index: 3;
  color: #e7b53f;
  font-size: 30px;
  font-weight: 900;
  line-height: 1;
}
.stp-access-section .step:nth-child(1)::after {
  content: "➜";
  right: -18px;
  top: 34px;
}
.stp-access-section .step:nth-child(2)::after {
  content: "➜";
  right: 34px;
  bottom: -22px;
  transform: rotate(90deg);
}
.stp-access-section .step:nth-child(4)::after {
  content: "➜";
  left: -18px;
  top: 34px;
  transform: rotate(180deg);
}
.stp-access-section .step:nth-child(3)::after {
  content: "➜";
  left: 34px;
  top: -22px;
  transform: rotate(270deg);
}

.stp-bonus-intro-title {
  padding-top: 16px;
  padding-bottom: 8px;
  background: #fff;
}
.stp-bonus-intro-title h2 {
  color: #222;
  font-size: 17px;
  font-weight: 800;
}
.stp-bonus-intro-section {
  background: #fff;
  color: #222;
  padding-bottom: 18px;
}
.stp-bonus-intro-gift {
  display: block;
  width: min(210px, 72vw);
  max-width: 210px;
  margin: 4px auto 14px;
  border-radius: 50%;
  box-shadow: none;
  background: transparent;
}
.stp-bonus-intro-section p {
  max-width: 310px;
  margin: 0 auto 6px;
  color: #222;
  font-size: 15px;
  font-weight: 700;
  line-height: 1.35;
}
.stp-bonus-intro-section strong {
  display: inline-block;
  padding: 2px 6px;
  background: var(--green);
  color: #fff;
  border-radius: 5px;
}
.stp-bonus-intro-arrow {
  margin: 6px 0 0;
  color: var(--green);
  font-size: 48px;
  font-weight: 900;
  line-height: 1;
}


/* Hero refresh */
.stp-hero-section {
  padding: 26px 20px 22px;
  background: linear-gradient(180deg, var(--green) 0%, var(--green-dark) 100%);
  color: #fff;
}
.stp-hero-section h1 {
  margin-bottom: 12px;
  color: #fff;
  font-size: 22px;
  font-weight: 600;
  line-height: 1.24;
}
.stp-hero-section h1 strong {
  color: #f2d27a;
  font-weight: 800;
}
.stp-hero-section .lead {
  margin: 0 auto 14px;
  max-width: 340px;
  color: rgba(255,255,255,.98);
  font-size: 14px;
  font-weight: 500;
  line-height: 1.42;
}
.stp-hero-section .lead strong {
  color: #fff;
  font-weight: 800;
}
.stp-hero-image {
  margin-top: 10px;
  margin-bottom: 12px;
  border-radius: 0;
  border: 0;
  box-shadow: none;
  background: transparent;
}
.stp-hero-arrow {
  margin: 4px 0 0;
  color: #f2d27a;
  font-size: 28px;
  line-height: 1;
}


/* Final visual alignment with reference LP */
.stp-testimonials-title {
  padding: 20px 18px 14px;
}
.stp-testimonials-title h2 {
  font-size: 19px;
  line-height: 1.3;
}
.stp-testimonials-section {
  padding: 0 8px 14px;
  background: var(--green);
}
.stp-testimonials {
  gap: 8px;
}
.stp-testimonial {
  border-radius: 0;
  box-shadow: none;
  background: transparent;
}
.stp-testimonial img {
  border-radius: 0;
}

.stp-system-intro {
  padding: 24px 24px 20px;
}
.stp-system-intro .lead {
  font-size: 14px;
  line-height: 1.45;
}
.stp-system-intro .stp-media {
  max-width: 250px;
  margin-top: 14px;
  margin-bottom: 4px;
}
.stp-feature-section {
  padding: 18px 24px 22px;
  border-top: 1px solid #f2eee5;
}
.stp-feature-section-last {
  padding-bottom: 26px;
}
.stp-feature-section .section-title {
  margin-bottom: 10px;
  text-align: center;
  font-size: 16px;
  line-height: 1.3;
}
.stp-feature-section ul {
  margin: 0 0 12px 18px;
}
.stp-feature-section li {
  margin-bottom: 7px;
  color: #444;
  font-size: 13px;
  line-height: 1.35;
}
.stp-feature-section .stp-media {
  max-width: 245px;
  margin-top: 12px;
  margin-bottom: 0;
}

.stp-bonus-callout-section {
  padding: 12px 18px 8px !important;
  background: #fff;
  text-align: center;
}
.stp-bonus-callout-section .callout {
  margin: 0 auto 8px;
  max-width: 340px;
  border-radius: 12px;
  background: var(--green);
  font-size: 12.5px;
  line-height: 1.35;
}
.stp-bonus-callout-section .callout b {
  color: #fff;
}
.stp-bonus-callout-section .arrow-white {
  margin: 0;
  color: var(--green);
  font-size: 34px;
}

.stp-recap-section {
  padding: 18px 20px 14px;
}
.stp-recap-section h2 {
  font-size: 18px;
  line-height: 1.3;
}
.stp-recap-section .recap li {
  font-size: 12.4px;
  line-height: 1.35;
}
.stp-recap-section > p {
  text-align: center;
  font-size: 13px;
  line-height: 1.4;
}
.stp-bundle-visual {
  width: calc(100% - 12px);
  max-width: 330px;
  margin: 14px auto 10px;
  padding: 12px;
  border-radius: 18px;
  background: #fff;
  box-shadow: 0 6px 18px rgba(0,0,0,.18);
}
.stp-recap-section .big-price {
  margin-top: 2px;
  font-size: 54px;
  color: #76f441;
  text-shadow: 0 1px 0 rgba(0,0,0,.12);
}
.stp-recap-section .save {
  font-size: 13px;
  font-weight: 700;
  color: #b9ff8f;
}

.stp-checkout-section {
  padding: 10px 20px 22px !important;
}
.stp-checkout-section .cta {
  margin: 0 auto 12px;
  padding: 16px 18px;
  border: 3px solid rgba(255,255,255,.14);
  box-shadow: 0 6px 14px rgba(0,0,0,.18);
}
.stp-checkout-section .secure {
  font-size: 10px;
  font-weight: 700;
  letter-spacing: .2px;
}
.stp-checkout-section .badges {
  margin-top: 8px;
}
.stp-checkout-section .badge-ph {
  background: #fff;
  border: 0;
  color: #5e5e5e;
  font-weight: 700;
}

.stp-options-title {
  padding-bottom: 10px;
}
.stp-options-section {
  padding: 8px 14px 28px;
}
.stp-options-section .opt {
  margin: 0 0 16px;
  padding: 18px 16px;
  background: #fff;
  border: 2px solid #d9e8e2;
  border-radius: 16px;
}
.stp-options-section .opt h3 {
  font-size: 18px;
}
.stp-options-section .opt .sub {
  margin-bottom: 10px;
  font-size: 17px;
}
.stp-options-section .opt li {
  margin-bottom: 9px;
  color: #333;
  font-size: 13px;
  line-height: 1.35;
}

.stp-guarantee-section {
  padding: 38px 20px 42px;
  background: #fff;
}
.stp-guarantee-section .stp-guarantee-seal {
  margin-bottom: 18px;
}
.stp-guarantee-section p {
  max-width: 320px;
  margin: 0 auto;
  color: #121212;
  font-size: 14px;
  line-height: 1.4;
}

.stp-faq-title {
  padding-bottom: 10px;
}
.stp-faq-section {
  padding: 6px 16px 24px !important;
}
.stp-faq-section .faq-item {
  margin-bottom: 12px;
  border-radius: 12px;
  overflow: hidden;
}
.stp-faq-section .faq-q {
  min-height: 52px;
  padding: 14px 16px;
  align-items: center;
  font-size: 14px;
  font-weight: 700;
}
.stp-faq-section .faq-a {
  padding: 14px 16px;
  background: #c8a234;
  color: #fff8dd;
  font-size: 12.5px;
  line-height: 1.42;
}

.browserbar {
  background: #f3f3f3;
}


/* Offer block: structured like the reference, adapted to the clinical product. */
.stp-offer-section {
  padding: 0;
  background: linear-gradient(90deg, #103a30 0 11px, #f8f8f1 11px calc(100% - 11px), #103a30 calc(100% - 11px));
}
.stp-offer-inner {
  padding: 22px 20px 24px;
  text-align: center;
  color: #0c3150;
}
.stp-offer-kicker {
  max-width: 310px;
  margin: 0 auto 10px;
  color: #12374d;
  font-size: 15px;
  font-weight: 800;
  line-height: 1.22;
}
.stp-offer-bundle {
  display: block;
  width: 100%;
  max-width: none;
  margin: 0 auto 12px;
  border-radius: 0;
  box-shadow: none;
}
.stp-offer-stars {
  margin: 0 0 14px;
  color: #e7b432;
  font-size: 20px;
  letter-spacing: 2px;
  line-height: 1;
}
.stp-offer-inner > h2 {
  margin: 0 0 12px;
  color: #0d3151;
  font-family: Georgia, 'Times New Roman', serif;
  font-size: 21px;
  font-weight: 800;
  line-height: 1.17;
}
.stp-offer-list-card {
  margin: 0 auto 18px;
  padding: 17px 15px 13px;
  border: 1px solid #dfe2dc;
  border-radius: 14px;
  background: #fff;
  box-shadow: 0 3px 10px rgba(10, 38, 31, .07);
  text-align: left;
}
.stp-offer-list {
  margin: 0;
  padding: 0;
  list-style: none;
}
.stp-offer-list li {
  display: flex;
  align-items: flex-start;
  gap: 7px;
  margin: 0 0 9px;
  color: #0d3151;
  font-size: 12.3px;
  font-weight: 600;
  line-height: 1.3;
}
.stp-offer-list li:last-child { margin-bottom: 10px; }
.stp-offer-list strong { font-weight: 800; }
.stp-offer-check {
  flex: 0 0 14px;
  display: inline-flex;
  width: 14px;
  height: 14px;
  margin-top: 1px;
  align-items: center;
  justify-content: center;
  border-radius: 3px;
  background: #4fc879;
  color: #fff;
  font-size: 10px;
  font-weight: 900;
  line-height: 1;
}
.stp-offer-list .strike {
  display: inline;
  margin-left: 2px;
  color: #e32323;
  font-weight: 800;
  text-decoration: line-through;
  white-space: nowrap;
}
.stp-offer-list .free {
  display: inline;
  margin-left: 2px;
  color: #1b9b43;
  font-weight: 900;
  white-space: nowrap;
}
.stp-offer-card-footer {
  display: grid;
  gap: 5px;
  padding-top: 11px;
  border-top: 1px solid #e8ece6;
  color: #103d58;
  font-size: 11.5px;
  font-weight: 800;
  line-height: 1.25;
}
.stp-offer-price-block {
  margin: 0 auto 10px;
}
.stp-offer-original {
  margin: 0 0 3px;
  color: #153751;
  font-size: 13px;
  font-weight: 700;
  line-height: 1.2;
}
.stp-offer-original span {
  color: #e32323;
  font-weight: 900;
  text-decoration: line-through;
}
.stp-offer-price-block h3 {
  margin: 0;
  color: #0b3152;
  font-family: Georgia, 'Times New Roman', serif;
  font-size: 24px;
  font-weight: 900;
  line-height: 1.05;
}
.stp-offer-price-block h3 strong {
  display: block;
  color: #07833a;
  font-family: inherit;
  font-size: 30px;
  font-weight: 900;
}
.stp-offer-local {
  margin: 4px 0 13px;
  color: #183e59;
  font-size: 11px;
  font-weight: 600;
}
.stp-offer-limited {
  margin: 0;
  color: #d8a62d;
  font-size: 23px;
  font-weight: 900;
  line-height: 1;
}
.stp-offer-access {
  margin: 5px 0 13px;
  color: #0c3151;
  font-size: 13px;
  font-weight: 800;
}
.stp-offer-cta {
  width: 100%;
  margin: 0 auto 9px;
  padding: 17px 16px;
  border: 0;
  border-radius: 999px;
  background: linear-gradient(180deg, #16883a 0%, #05732e 100%);
  box-shadow: 0 5px 14px rgba(5, 80, 37, .28);
  color: #fff;
  font-size: 15px;
}
.stp-offer-secure {
  margin: 0 0 8px;
  color: #0c3151;
  font-size: 10px;
  font-weight: 800;
  letter-spacing: .15px;
}
.stp-offer-badges,
.stp-offer-payment-badges {
  margin: 7px 0 0;
}
.stp-offer-badges .site-blindado {
  padding: 6px 12px;
  border-radius: 5px;
  font-size: 12px;
}
.stp-offer-payment-badges {
  gap: 5px;
}
.stp-offer-payment-badges .badge-ph {
  padding: 5px 7px;
  border: 0;
  background: #fff;
  color: #475768;
  font-size: 9px;
  font-weight: 800;
}
@media (max-width: 380px) {
  .stp-offer-inner { padding-left: 17px; padding-right: 17px; }
  .stp-offer-kicker { font-size: 14px; }
  .stp-offer-list-card { padding-left: 12px; padding-right: 12px; }
  .stp-offer-list li { font-size: 11.8px; }
  .stp-offer-price-block h3 { font-size: 22px; }
  .stp-offer-price-block h3 strong { font-size: 28px; }
}


.stp-offer-site-blindado-img {
  display: block;
  width: min(210px, 82vw);
  max-width: 210px;
  height: auto;
  margin: 0 auto;
}
.stp-offer-payment-logos-img {
  display: block;
  width: min(300px, 90vw);
  max-width: 300px;
  height: auto;
  margin: 0 auto;
}


/* FAQ final refinement */
.stp-faq-section .faq-item {
  border: 1px solid rgba(255,255,255,.55);
  border-radius: 0;
  background: transparent;
}
.stp-faq-section .faq-q {
  display: grid;
  grid-template-columns: 22px 1fr;
  gap: 10px;
  min-height: unset;
  padding: 12px 14px;
  background: var(--green);
  border-bottom: 2px solid rgba(255,255,255,.75);
  color: #f4f4f4;
  font-size: 15px;
  font-weight: 500;
  line-height: 1.25;
}
.stp-faq-section .faq-q .faq-sign {
  display: block;
  color: #fff;
  font-size: 28px;
  font-weight: 300;
  line-height: 1;
  text-align: center;
  transform: translateY(-1px);
}
.stp-faq-section .faq-a {
  padding: 14px 14px 16px;
  background: #c38d10;
  color: #fff;
  font-size: 13px;
  font-weight: 600;
  line-height: 1.35;
}

/* Performance and accessibility refinement — preserves the existing smooth-scroll behavior. */
/* Image dimensions are supplied in markup; this keeps their reserved space responsive. */
img[width][height] { height: auto; }

/* Text and icons now meet stronger contrast targets without changing the LP structure. */
.stp-hero-section h1 strong,
.stp-hero-arrow,
.stp-faq-title h2 span { color: #ffe69a !important; }

.step .ic.mail { background: #18713d; }
.step .ic.pdf { color: #18713d; border-color: #18713d; }

.price-old { color: #b42318; }
.price-free { color: #1f7a45; }
.bonus .price-old { color: #ffb8b8; }
.bonus .price-free { color: #b8ff74; }

.opt.sin .sub { color: #b42318; }
.opt.con .sub { color: #1f7a45; }

.stp-offer-check { background: #1e7b40; }
.stp-offer-list .strike,
.stp-offer-original span { color: #b42318; }
.stp-offer-list .free { color: #18753a; }
.stp-offer-limited { color: #86620e; }

.stp-faq-section .faq-a {
  background: #c38d10;
  color: #1d2a1f;
}

.cta:focus-visible {
  outline: 3px solid #ffe69a;
  outline-offset: 3px;
}
