/* Paleta inspirada exclusivamente na referência Formação Mecânico. */
:root {
  --background: #f6f8ff;
  --foreground: #111b3d;
  --brand: #142f8f;
  --brand-dark: #0b1d66;
  --brand-soft: #e9efff;
  --action: #ffca0a;
  --action-hover: #e9b600;
  --ink: #101936;
  --body: #4f5b78;
  --subtle: #7e89a2;
  --card: #ffffff;
}

body { background: #f6f8ff; }

/* Mapeia as poucas cores diretas trazidas da estrutura-base para o novo sistema. */
[class*="text-[#0F4438]"] { color: #142f8f !important; }
[class*="bg-[#0F4438]"] { background-color: #142f8f !important; }
[class*="ring-[#0F4438]"] { --tw-ring-color: #142f8f !important; }
[class*="border-[#0F4438]"] { border-color: #142f8f !important; }
[class*="bg-[#FFD60A]"] { background-color: #ffca0a !important; }
[class*="text-[#FFD60A]"] { color: #ffca0a !important; }

/* Acabamento mais premium: contraste controlado, profundidade e CTAs com presença. */
.bg-brand { background: linear-gradient(135deg, #0b1d66 0%, #183caa 100%) !important; }
.bg-brand-soft { background: linear-gradient(135deg, #eef2ff 0%, #e3eaff 100%) !important; }
.heartbeat { box-shadow: 0 8px 22px -7px rgba(9, 28, 101, .48) !important; }
.rounded-2xl.bg-white, .rounded-2xl.bg-card { box-shadow: 0 10px 32px -20px rgba(13, 35, 112, .32); }
[class*="bg-[#FFD60A]"] { box-shadow: 0 6px 18px -8px rgba(255, 202, 10, .8); }

/* Carrosséis exclusivamente automáticos: movimento contínuo, sem pausa e sem dependência de interação. */
.animate-hero-marquee { animation-play-state: running !important; pointer-events: none; }

/* Carrosséis fotográficos: arraste nativo, snap suave e próximo item parcialmente visível no celular. */
.premium-swipe{display:flex;gap:18px;overflow-x:auto;scroll-snap-type:x mandatory;overscroll-behavior-x:contain;padding:8px 4px 20px;cursor:grab;scrollbar-width:none;-webkit-overflow-scrolling:touch}
.premium-swipe::-webkit-scrollbar{display:none}.premium-swipe:active{cursor:grabbing}
.premium-slide{flex:0 0 min(82vw,340px);scroll-snap-align:start;border-radius:18px;background:#fff;box-shadow:0 14px 34px -20px rgba(9,28,101,.48);overflow:hidden}
.step-slide img{display:block;width:100%;aspect-ratio:.78;object-fit:cover}.step-slide figcaption{padding:13px 14px;text-align:center;color:#142f8f;font-size:.72rem;font-weight:800;letter-spacing:.08em}
.testimonial-slide{height:440px;width:auto;object-fit:cover}
@media(min-width:768px){.step-slide{flex-basis:calc((100% - 54px)/4)}.testimonial-slide{flex:0 0 calc((100% - 36px)/3);height:auto;aspect-ratio:.57;object-fit:cover}}

/* Apostila em duas rotas: diagnóstico e resolução, em sentidos opostos. */
.carousel-section-title{margin:30px 0 14px;text-align:center;color:#142f8f;font-size:clamp(1.25rem,3vw,1.85rem);font-weight:900;letter-spacing:-.02em}
.manual-page-slide{width:210px;flex:none;border-radius:15px;background:#fff;box-shadow:0 14px 30px -18px rgba(9,28,101,.5)}
.resolve-carousel-block{margin-top:34px}
.manual-marquee-shell{position:relative;width:100%;overflow:hidden}
.manual-fade{position:absolute;inset-block:0;z-index:2;width:44px;pointer-events:none}
.manual-fade-left{left:0;background:linear-gradient(90deg,#f6f8ff,transparent)}
.manual-fade-right{right:0;background:linear-gradient(270deg,#f6f8ff,transparent)}
.manual-marquee-reverse{animation:manual-marquee-reverse 42s linear infinite;pointer-events:none;will-change:transform}
@keyframes manual-marquee-reverse{from{transform:translateX(-50%)}to{transform:translateX(0)}}
@media(min-width:768px){.manual-page-slide{width:260px}.manual-fade{width:70px}}
@media(prefers-reduced-motion:reduce){.manual-marquee-reverse,.animate-hero-marquee{animation-duration:1ms!important;animation-iteration-count:1!important}}

/* Setas discretas para os carrosséis que aceitam swipe/arraste. */
.swipe-frame{position:relative;overflow:visible!important}
.carousel-arrow{position:absolute;z-index:8;top:50%;display:grid;width:42px;height:42px;place-items:center;transform:translateY(-50%);border:1px solid rgba(20,47,143,.14);border-radius:999px;background:rgba(255,255,255,.96);color:#142f8f;font-size:2rem;line-height:1;box-shadow:0 10px 28px -12px rgba(9,28,101,.5);cursor:pointer;transition:transform .2s,background .2s}
.carousel-arrow:hover{background:#ffca0a;transform:translateY(-50%) scale(1.06)}
.carousel-arrow-prev{left:-10px}.carousel-arrow-next{right:-10px}
@media(max-width:640px){.carousel-arrow{width:36px;height:36px;font-size:1.7rem}.carousel-arrow-prev{left:2px}.carousel-arrow-next{right:2px}}

/* Bloco de bônus inspirado na referência, com produto recortado e valor individual. */
.bonuses-section{padding:54px 20px 58px;background:linear-gradient(180deg,#eef3ff 0%,#f8f9ff 100%);color:#101936}
.bonuses-inner{width:min(1120px,100%);margin:auto}
.bonuses-heading{text-align:center}.bonuses-heading>span{display:inline-flex;padding:8px 15px;border-radius:999px;background:#ffca0a;color:#142f8f;font-size:.78rem;font-weight:900}
.bonuses-heading h2{max-width:850px;margin:18px auto 0;color:#142f8f;font-size:clamp(1.85rem,5vw,3.35rem);font-weight:900;line-height:1.05;text-transform:uppercase;letter-spacing:-.035em}
.bonuses-heading p{margin:13px auto 0;color:#4f5b78;font-size:1rem}
.bonus-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;margin-top:32px}
.bonus-premium-card{overflow:hidden;border:1px solid #d9e2f7;border-radius:22px;background:#fff;box-shadow:0 18px 42px -28px rgba(9,28,101,.5)}
.bonus-visual{position:relative;display:grid;min-height:330px;place-items:end center;padding:18px 12px 0;background:radial-gradient(circle at 50% 20%,#fff 0,#eaf0ff 72%)}
.bonus-visual img{display:block;width:100%;height:320px;object-fit:contain;object-position:center bottom;filter:drop-shadow(0 16px 16px rgba(9,28,101,.16))}
.bonus-number{position:absolute;top:14px;left:14px;z-index:2;padding:7px 10px;border-radius:999px;background:#142f8f;color:#fff;font-size:.7rem;font-weight:900;letter-spacing:.06em}
.bonus-copy{padding:20px 20px 18px}.bonus-copy h3{min-height:3.2em;color:#101936;font-size:1.06rem;font-weight:900;line-height:1.25}.bonus-copy>p{min-height:3.2em;margin-top:9px;color:#667189;font-size:.88rem;line-height:1.55}
.bonus-value{display:flex;align-items:end;justify-content:space-between;margin-top:18px;padding-top:15px;border-top:1px solid #e4e8f2}.bonus-value div{display:flex;flex-direction:column}.bonus-value small{color:#8993a7;font-size:.67rem}.bonus-value s{margin-top:2px;color:#59647b;font-size:.9rem}.bonus-value strong{padding:7px 10px;border-radius:999px;background:#e4f7e9;color:#19813a;font-size:.74rem;font-weight:900}
.bonus-cta{display:flex;width:min(460px,100%);margin:30px auto 0;align-items:center;justify-content:center;border-radius:12px;background:#ffca0a;padding:19px 24px;color:#142f8f;font-size:1.05rem;font-weight:900;text-decoration:none;box-shadow:0 10px 24px -12px rgba(9,28,101,.45)}
@media(max-width:820px){.bonus-grid{grid-template-columns:1fr;max-width:470px;margin-inline:auto}.bonus-visual{min-height:300px}.bonus-visual img{height:290px}.bonus-copy h3,.bonus-copy>p{min-height:0}}

/* Área de compra: hierarquia equivalente à referência, com a identidade Scanner no Celular. */
.checkout-section{padding:58px 20px 68px;background:#f3f6fe}
.checkout-inner{width:min(940px,100%);margin:auto}
.checkout-section h2{max-width:770px;margin:0 auto;color:#142f8f;text-align:center;font-size:clamp(2rem,5vw,3.25rem);font-weight:900;line-height:1.06;letter-spacing:-.04em}
.checkout-subtitle{max-width:650px;margin:15px auto 0;color:#4f5b78;text-align:center;font-size:1rem;line-height:1.55}
.checkout-grid{display:grid;grid-template-columns:1fr 1fr;align-items:stretch;gap:18px;margin-top:34px}
.purchase-card{position:relative;display:flex;min-height:584px;flex-direction:column;padding:29px 26px 25px;border:1px solid #d9e1f0;border-radius:20px;background:#fff;box-shadow:0 15px 34px -26px rgba(9,28,101,.38)}
.purchase-card-complete{border:2px solid #101936;box-shadow:0 22px 42px -27px rgba(9,28,101,.5)}
.purchase-kicker{margin:0;color:#142f8f;font-size:.83rem;font-weight:900;letter-spacing:.02em}
.purchase-card h3{max-width:390px;margin:12px 0 18px;color:#101936;font-size:clamp(1.34rem,2.5vw,1.68rem);font-weight:900;line-height:1.12;letter-spacing:-.035em}
.purchase-mockup{display:block;width:100%;object-fit:contain;object-position:center;margin:-4px auto 18px;filter:drop-shadow(0 14px 13px rgba(9,28,101,.14))}
.purchase-mockup-basic{height:210px}.purchase-mockup-complete{height:282px;margin-top:-16px;margin-bottom:12px}
.purchase-list{display:grid;gap:10px;margin:0;padding:0;list-style:none;color:#18264a;font-size:.92rem;line-height:1.32}
.purchase-list li{position:relative;padding-left:24px}.purchase-list li::before{position:absolute;left:0;top:.11rem;width:14px;height:14px;border-radius:2px;background:#5bd58d;color:#fff;content:'✓';font-size:.68rem;font-weight:900;line-height:14px;text-align:center}
.purchase-scanner-item{margin:5px 0;padding:12px 14px!important;border:1px solid #d8e3fb;border-radius:10px;background:#eef3ff;color:#142f8f;font-size:1rem;letter-spacing:.025em}
.purchase-scanner-item::before{content:none!important}.purchase-red-plus{color:#d92d36;font-size:1.2em;font-weight:900}
.purchase-list-muted{margin-top:15px;color:#cb5a5c}.purchase-list-muted li::before{background:transparent;color:#d96264;content:'×';font-size:1.2rem;line-height:13px}
.bonus-label{margin:20px 0 12px;color:#101936;font-size:.86rem;font-weight:900;letter-spacing:.035em}
.purchase-price{display:flex;flex-direction:column;margin-top:auto;padding-top:28px;color:#101936}.purchase-price s{color:#59647b;font-size:.84rem}.purchase-price span{margin-top:4px;font-size:.74rem;letter-spacing:.04em}.purchase-price strong{margin-top:1px;color:#142f8f;font-size:2rem;font-weight:900;line-height:1.05;letter-spacing:-.055em}
.purchase-cta{display:flex;min-height:53px;align-items:center;justify-content:center;margin-top:17px;border-radius:999px;background:#ffca0a;color:#101936;font-size:.88rem;font-weight:900;text-align:center;text-decoration:none;box-shadow:0 0 0 11px rgba(255,202,10,.14);transition:transform .2s,background .2s}.purchase-cta:hover{transform:translateY(-2px);background:#eeb900}
.purchase-badge{position:absolute;top:-14px;left:50%;z-index:2;min-width:132px;transform:translateX(-50%);border-radius:999px;background:#ffca0a;padding:7px 15px;color:#101936;font-size:.68rem;font-weight:900;text-align:center}
@media(max-width:720px){.checkout-section{padding:48px 17px 56px}.checkout-grid{grid-template-columns:1fr;gap:28px;margin-top:30px}.purchase-card{min-height:0;padding:27px 23px 25px}.purchase-card h3{font-size:1.5rem}.purchase-mockup-basic{height:235px}.purchase-mockup-complete{height:305px;margin-top:-14px}.purchase-price{margin-top:26px}.purchase-card-complete{margin-top:10px}}

/* Refinamento mobile dos carrosséis: swipe nativo, próxima peça visível e sem vazar da seção. */
.swipe-frame{overflow:hidden!important}
.premium-swipe{touch-action:pan-x;scroll-padding-inline:16px}
.swipe-frame:has(.step-slide){border-radius:22px}
.step-slide{border:1px solid #dce4f4}
.testimonial-slide{display:block;flex:0 0 min(76vw,330px);width:100%;height:auto;aspect-ratio:941/1671;object-fit:contain;background:#fff}
.price-current{display:flex;align-items:center;gap:10px}.price-current b{display:inline-flex;align-items:center;justify-content:center;border-radius:999px;background:#e4f7e9;padding:6px 9px;color:#19813a;font-size:.7rem;font-weight:900;letter-spacing:.02em;white-space:nowrap}
@media(min-width:768px){.testimonial-slide{flex:0 0 calc((100% - 36px)/3);width:100%;height:auto;aspect-ratio:941/1671;object-fit:contain}}
@media(max-width:640px){
  .premium-swipe{gap:0;padding:8px 0 18px;scroll-padding-inline:0}
  .premium-slide{flex:0 0 100%;scroll-snap-align:start}
  .step-slide{border-radius:18px}
  .testimonial-slide{flex:0 0 100%;width:100%;max-width:none}
  .swipe-frame .carousel-arrow{top:calc(50% - 10px);width:34px;height:34px}
  .carousel-arrow-prev{left:8px}.carousel-arrow-next{right:8px}
}
