:root{
  --txt:#111827;
  --line:#e5e7eb;
  --cta2:#16a34a;
  --ui-bg:rgba(10,15,25,.86);
  --ui-bg2:rgba(10,15,25,.72);
  --ui-txt:#ffffff;
  --ui-muted:rgba(255,255,255,.72);
  --ui-line:rgba(255,255,255,.14);
  --blue:#2563eb;
  --green:#16a34a;
  --red:#e11d48;
}

html,body{
  height:100%;
  scroll-behavior:smooth;
}

body{
  margin:0;
  color:var(--txt);
  background:#0b0f1a;
}

.page{
  max-width:880px;
  margin:0 auto;
  background:#fff;
  min-height:100vh;
  position:relative;
  box-shadow:0 20px 60px rgba(0,0,0,.25);
  padding-bottom:84px;
}

@media (max-width:420px){
  .page{padding-bottom:78px;}
}

.promoTicker{
  position:sticky;
  top:0;
  z-index:1200;
  height:48px;
  display:flex;
  align-items:center;
  gap:12px;
  padding:0 12px;
  overflow:hidden;
  background:linear-gradient(180deg,#02fafa 0%,#028fdc 100%);
  border-bottom:1px solid rgb(249 118 182);
  box-shadow:0 10px 28px rgb(212 115 181);
}

.promoMarquee{
  flex:1 1 auto;
  overflow:hidden;
  white-space:nowrap;
  mask-image:linear-gradient(90deg,transparent 0%,#000 8%,#000 92%,transparent 100%);
  -webkit-mask-image:linear-gradient(90deg,transparent 0%,#000 8%,#000 92%,transparent 100%);
}

.promoTrack{
  display:inline-flex;
  align-items:center;
  gap:40px;
  padding-left:100%;
  animation:promoMove 42s linear infinite;
  will-change:transform;
}

.promoItem{
  display:inline-flex;
  align-items:center;
  gap:8px;
  font-weight:1000;
  text-transform:uppercase;
  letter-spacing:.5px;
  color:#000;
  font-size:12px;
  text-shadow:0 2px 10px rgba(0,0,0,.35);
}

@keyframes promoMove{
  0%{transform:translateX(0);}
  100%{transform:translateX(-100%);}
}

@media (max-width:420px){
  .promoTicker{height:44px;}
  .promoItem{font-size:11px;}
}

.topbar{
  position:sticky;
  top:48px;
  z-index:1100;
  background:linear-gradient(180deg,var(--ui-bg),var(--ui-bg2));
  border-bottom:1px solid var(--ui-line);
  padding:10px 12px;
  color:var(--ui-txt);
  backdrop-filter:blur(10px);
  -webkit-backdrop-filter:blur(10px);
}

.topbar-row{
  display:flex;
  align-items:center;
  gap:10px;
}

.menu-wrap{position:relative;}

.btn-menu{
  background:rgba(255,255,255,.10);
  border:1px solid rgba(255,255,255,.14);
  color:#fff;
  border-radius:12px;
  padding:8px 10px;
  font-weight:1000;
  display:inline-flex;
  align-items:center;
  cursor:pointer;
  outline:none !important;
}

.brandTitle{
  font-weight:1000;
  letter-spacing:.2px;
  flex:1 1 auto;
  min-width:0;
  line-height:1.1;
  font-size:14px;
  text-transform:uppercase;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}

.dropdown-menu{
  border-radius:12px !important;
  border:1px solid rgba(255,255,255,.10) !important;
  background:rgba(10,15,25,.96) !important;
  box-shadow:0 18px 50px rgba(0,0,0,.45);
  min-width:220px;
}

.dropdown-menu>li>a{
  color:rgba(255,255,255,.92) !important;
  font-weight:900;
  padding:10px 14px;
}

.dropdown-menu>li>a:hover{
  background:rgba(255,255,255,.10) !important;
  color:#fff !important;
}

.dropdown-menu .divider{
  background:rgba(255,255,255,.10) !important;
}

.shot{
  background:#0b0f1a;
  min-height:60vh;
}

.img-wrapper{
  position:relative;
  width:100%;
  background:linear-gradient(90deg,rgba(255,255,255,.06),rgba(255,255,255,.03),rgba(255,255,255,.06));
  background-size:200% 100%;
  animation:sh 1.2s ease-in-out infinite;
  margin-bottom:-1px;
}

@keyframes sh{
  0%{background-position:0% 0%;}
  100%{background-position:200% 0%;}
}

.lazy-img{
  opacity:0;
  transition:opacity .3s ease-in-out;
}

.lazy-img.loaded{
  opacity:1;
}

.landing-img{
  display:block;
  width:100%;
  height:auto;
  position:relative;
  z-index:2;
  box-shadow:0 -12px 25px -8px rgba(0,0,0,.45),0 12px 25px -8px rgba(0,0,0,.45);
}

.footer-legal{
  border-top:1px solid #e5e7eb;
  padding:0;
  background:#fff;
}

.about-block{
  padding:16px 14px;
  border-bottom:1px solid #e5e7eb;
  background:#f9fafb;
}

.about-title{
  font-weight:1000;
  font-size:14px;
  text-transform:uppercase;
  letter-spacing:.6px;
  color:#111827;
  margin:0 0 8px;
}

.about-text{
  color:#374151;
  font-weight:700;
  font-size:13px;
  line-height:1.55;
  margin:0;
}

.dist-block{
  background:#1e293b;
  color:white;
  padding:35px 20px;
  text-align:center;
}

.dist-title{
  font-weight:900;
  margin-top:0;
  color:#38bdf8;
  font-size:22px;
}

.dist-text{
  font-size:14px;
  color:#cbd5e1;
  line-height:1.6;
  margin-bottom:20px;
  max-width:600px;
  margin-left:auto;
  margin-right:auto;
}

.dist-badges{
  display:flex;
  gap:8px;
  justify-content:center;
  flex-wrap:wrap;
  margin-bottom:25px;
}

.dist-badge{
  background:rgba(56,189,248,.1);
  color:#38bdf8;
  border:1px solid rgba(56,189,248,.3);
  padding:4px 10px;
  border-radius:20px;
  font-size:11px;
  font-weight:900;
  text-transform:uppercase;
}

.dist-btn{
  background:#3b82f6;
  color:white;
  font-weight:900;
  font-size:15px;
  padding:12px 24px;
  border-radius:99px;
  display:inline-flex;
  align-items:center;
  gap:8px;
  border:none;
  box-shadow:0 4px 15px rgba(59,130,246,.3);
}

.dist-btn:hover,
.dist-btn:focus{
  color:white;
}

.legal-pad{
  padding:16px 14px 18px;
}

.legal-links{
  display:flex;
  flex-wrap:wrap;
  gap:10px 14px;
  justify-content:center;
  align-items:center;
}

.legal-links a{
  display:inline-block;
  color:#374151;
  font-weight:800;
  text-decoration:underline;
  cursor:pointer;
  padding:4px 0;
}

.mini{
  margin-top:10px;
  text-align:center;
  font-size:12px;
  color:#6b7280;
}

.sticky{
  position:fixed;
  left:0;
  right:0;
  bottom:0;
  z-index:3000;
  padding:10px 12px;
  background:transparent;
  pointer-events:none;
}

.sticky .btn{pointer-events:auto;}

@media (min-width:992px){
  .sticky{
    left:50%;
    right:auto;
    transform:translateX(-50%);
    width:880px;
  }
}

.btn-cta-neon{
  width:100%;
  border:0;
  border-radius:999px;
  padding:14px 16px;
  font-weight:1000;
  text-transform:uppercase;
  letter-spacing:.8px;
  font-size:18px;
  color:#fff;
  background:linear-gradient(180deg,#39D6FF 0%,#12B3FF 35%,#067BFF 100%);
  box-shadow:0 14px 30px rgba(0,0,0,.35),0 0 26px rgba(56,189,248,.55),0 0 60px rgba(56,189,248,.25);
  position:relative;
  overflow:hidden;
  z-index:999999 !important;
}

.btn-cta-neon:after{
  content:"";
  position:absolute;
  top:-60%;
  left:-30%;
  width:60%;
  height:220%;
  background:linear-gradient(90deg,rgba(255,255,255,0) 0%,rgba(255,255,255,.20) 45%,rgba(255,255,255,0) 100%);
  transform:rotate(20deg);
  opacity:.85;
  pointer-events:none;
  animation:ctaSweep 2.8s ease-in-out infinite;
}

@keyframes ctaSweep{
  0%{transform:translateX(-120%) rotate(20deg);opacity:0;}
  20%{opacity:.85;}
  55%{opacity:.55;}
  100%{transform:translateX(220%) rotate(20deg);opacity:0;}
}

.modal{
  z-index:5000 !important;
  overflow-y:auto !important;
  -webkit-overflow-scrolling:touch;
}

.modal-backdrop{
  z-index:4990 !important;
}

.modal-dialog{
  margin:12px auto !important;
}

.modal-checkout .modal-content{
  border-radius:14px;
  border:none;
  box-shadow:0 24px 70px rgba(0,0,0,.45);
  display:flex !important;
  flex-direction:column !important;
  max-height:calc(100vh - 24px) !important;
}

.modal-checkout .modal-body{
  flex:1 1 auto;
  overflow-y:auto !important;
  -webkit-overflow-scrolling:touch;
}

@media (max-width:767px){
  .modal-dialog{
    width:calc(100% - 16px) !important;
    margin:8px auto !important;
  }

  .modal-checkout .modal-content{
    max-height:calc(100vh - 16px) !important;
  }
}

.no-border{border:none;}
.modal-center{text-align:center;padding-bottom:0;}
.close-abs{position:absolute;right:15px;top:15px;}
.legal-title{font-weight:1000;margin:0;}
.modal-ofertas-title{font-weight:1000;margin:0;}
.stock-title{color:red;font-weight:bolder;}

.offer-card{
  position:relative;
  display:flex;
  align-items:center;
  gap:12px;
  border:1px solid rgba(17,24,39,.12);
  border-radius:14px;
  padding:12px;
  margin-bottom:10px;
  cursor:pointer;
  background:#fff;
  box-shadow:0 10px 24px rgba(0,0,0,.06);
}

.offer-card.active{
  border-color:rgba(22,163,74,.55);
  box-shadow:0 14px 34px rgba(22,163,74,.14);
}

.offer-card-special{
  background:#fffbeb;
  border:2px dashed #f59e0b;
}

.offer-ribbon{
  position:absolute;
  top:0;
  right:0;
  background:#f59e0b;
  color:#fff;
  font-size:9px;
  padding:2px 8px;
  font-weight:900;
  border-bottom-left-radius:10px;
}

.offer-thumb{
  width:54px;
  height:54px;
  border-radius:12px;
  object-fit:cover;
  border:1px solid rgba(0,0,0,.08);
  flex:0 0 auto;
}

.offer-main{
  flex:1 1 auto;
  min-width:0;
}

.offer-line1{
  font-weight:1000;
  font-size:13px;
  color:#111827;
  line-height:1.25;
}

.offer-badge-custom{
  display:inline-block;
  margin-top:6px;
  font-weight:1000;
  border-radius:999px;
  padding:4px 10px;
  font-size:12px;
}

.offer-red{background:#ef4444;color:#fff;}
.offer-blue{background:#2563eb;color:#fff;}
.offer-green{background:#16a34a;color:#fff;}

.offer-right{
  text-align:right;
  flex:0 0 auto;
}

.offer-old{
  color:#6b7280;
  font-weight:900;
  text-decoration:line-through;
  font-size:11px;
}

.offer-new{
  color:#111827;
  font-weight:1000;
  font-size:20px;
}

.offer-red-text{color:#e11d48;}
.offer-green-text{color:#16a34a;font-size:22px;}

.totals-box{
  border-radius:14px;
  padding:12px;
  background:#f1f5f9;
  margin-top:20px;
}

.totals-row{
  display:flex;
  justify-content:space-between;
  align-items:center;
  font-weight:900;
  padding:6px 0;
  color:#111827;
}

.totals-row.muted{
  color:#6b7280;
}

.totals-row.total{
  border-top:1px solid #cbd5e1;
  padding-top:10px;
  margin-top:5px;
  font-size:24px;
}

.totals-free{
  color:#16a34a;
  font-weight:900;
}

.btn-checkout-blue{
  width:100%;
  border:none;
  border-radius:12px;
  padding:12px 14px;
  font-weight:1000;
  background:#0b5cff;
  color:#fff;
  font-size:15px;
}

.btn-green{
  margin-top:15px;
  font-size:20px;
  padding:16px;
  background:#16a34a;
  box-shadow:0 4px 14px rgba(22,163,74,.4);
}

.pulse{
  animation:pulseBtn 2s infinite;
}

@keyframes pulseBtn{
  0%{transform:scale(1);}
  50%{transform:scale(1.02);}
  100%{transform:scale(1);}
}

.offer-foot-note{
  text-align:center;
  margin-top:12px;
  font-size:13px;
  color:#475569;
  font-weight:700;
}

.offer-foot-safe{
  text-align:center;
  margin-top:10px;
  font-size:12px;
  color:#15803d;
  font-weight:bold;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:5px;
}

.order-title{
  font-weight:900;
  margin:0;
  font-size:20px;
  color:#0f172a;
}

.order-subtitle{
  margin-top:4px;
  color:#2563eb;
  font-weight:900;
  font-size:13px;
}

.pay-box{
  background-color:#f0fdf4;
  border:2px dashed #16a34a;
  border-radius:8px;
  padding:15px;
  margin-bottom:20px;
  text-align:center;
}

.pay-box h4{
  margin:0 0 8px 0;
  color:#15803d;
  font-weight:900;
  font-size:16px;
}

.pay-box p{
  margin:0;
  color:#166534;
  font-size:14px;
  line-height:1.4;
  font-weight:600;
}

.pay-chip{
  background:#dcfce7;
  padding:4px 8px;
  border-radius:4px;
  display:inline-block;
  margin-top:8px;
}

.ajaxMsg{
  display:none;
  margin-bottom:15px;
  border-radius:14px;
  font-weight:900;
}

.field-label{
  font-weight:1000;
  color:#334155;
}

.req{color:#dc2626;}
.field-small{color:#6b7280;font-weight:normal;}

.ig{
  display:flex;
  align-items:center;
  border:1px solid rgba(17,24,39,.12);
  border-radius:12px;
  overflow:hidden;
  background:#fff;
  margin:6px 0 12px;
}

.ig-icon{
  width:42px;
  display:flex;
  align-items:center;
  justify-content:center;
  color:#6b7280;
  background:#f3f4f6;
  border-right:1px solid rgba(17,24,39,.10);
  height:42px;
}

.phone-green{color:#16a34a;}

.ig input,
.ig select{
  border:none;
  outline:none;
  width:100%;
  height:42px;
  padding:0 12px;
  font-weight:900;
  color:#111827;
  background:#fff;
}

.readonly-field{
  background-color:#f8fafc !important;
  color:#64748b !important;
}

.commit-box{
  margin:15px 0;
  background-color:#f8fafc;
  border:1px solid #e2e8f0;
  padding:12px;
  border-radius:8px;
  display:flex;
  align-items:flex-start;
  gap:10px;
}

.commit-box input[type="checkbox"]{
  width:22px;
  height:22px;
  margin-top:2px;
  cursor:pointer;
  accent-color:#2563eb;
}

.commit-box label{
  font-size:13px;
  font-weight:600;
  color:#475569;
  cursor:pointer;
  margin:0;
  line-height:1.4;
}

.btn-dark-round{
  font-size:17px;
  letter-spacing:.5px;
  background:#0f172a;
  box-shadow:0 4px 14px rgba(15,23,42,.4);
  border-radius:99px;
}

.ssl-note{
  margin-top:15px;
  color:#94a3b8;
  font-size:11px;
  text-align:center;
}

.modal.modal-full{
  padding-left:0 !important;
  padding-right:0 !important;
}

.modal.modal-full .modal-dialog{
  width:100%;
  margin:0;
  height:100%;
}

.modal.modal-full .modal-content{
  margin:12px auto;
  width:100%;
  max-width:880px;
  height:calc(100% - 24px);
  border-radius:14px;
  border:1px solid #e5e7eb;
  display:flex;
  flex-direction:column;
  overflow:hidden;
}

.modal.modal-full .modal-body{
  flex:1 1 auto;
  overflow:auto;
  -webkit-overflow-scrolling:touch;
  padding:16px;
  font-size:14px;
  line-height:1.55;
}

@media (max-width:767px){
  .modal.modal-full .modal-content{
    max-width:100%;
    height:100%;
    margin:0;
    border-radius:0;
    border:none;
  }
}

.box{
  border:1px solid var(--line);
  border-radius:18px;
  padding:14px;
  background:#f9fafb;
}

label{
  font-weight:1000;
  color:#111827;
}

.form-control{
  height:44px;
  border-radius:12px;
  font-weight:800;
}

textarea.form-control{
  height:130px;
}

.contact-terms{
  margin-top:10px;
  font-weight:800;
  font-size:12px;
  text-align:center;
}

.hp-wrap{
  position:absolute;
  left:-9999px;
  top:-9999px;
  width:1px;
  height:1px;
  overflow:hidden;
}

.fomo-toast{
  position:fixed;
  bottom:80px;
  left:-350px;
  background:#ffffff;
  border-left:4px solid #16a34a;
  box-shadow:0 4px 15px rgba(0,0,0,.15);
  padding:10px 15px;
  border-radius:6px;
  display:flex;
  align-items:center;
  gap:12px;
  z-index:2000;
  width:280px;
  max-width:90vw;
  transition:left .5s cubic-bezier(.68,-0.55,.265,1.55);
}

.fomo-toast.show{
  left:15px;
}

.fomo-icon{
  font-size:20px;
  background:#dcfce7;
  width:35px;
  height:35px;
  display:flex;
  align-items:center;
  justify-content:center;
  border-radius:50%;
}

.fomo-content{
  flex:1;
}

.fomo-text{
  font-size:13px;
  color:#1e293b;
  font-weight:800;
  line-height:1.3;
}

.fomo-time{
  font-size:11px;
  color:#64748b;
  margin-top:2px;
  font-weight:bold;
}

.fomo-name{
  color:#2563eb;
}

@media (max-width:480px){
  .fomo-toast{bottom:75px;}
}

.upsell-wrap{
  text-align:center;
  animation:fadeIn .6s ease-in-out;
}

.upsell-check{
  font-size:50px;
  line-height:1;
  margin-bottom:10px;
}

.upsell-ok{
  color:#16a34a;
  font-weight:900;
  margin-top:0;
  font-size:24px;
}

.upsell-meta{
  color:#6b7280;
  font-size:14px;
  margin-bottom:20px;
}

.upsell-meta span{
  color:#0f172a;
  font-weight:bold;
}

.upsell-box{
  border:3px dashed #3b82f6;
  border-radius:12px;
  padding:25px 15px;
  background:#eff6ff;
  position:relative;
}

.upsell-pill{
  position:absolute;
  top:-14px;
  left:50%;
  transform:translateX(-50%);
  background:#3b82f6;
  color:white;
  padding:5px 20px;
  border-radius:20px;
  font-weight:900;
  font-size:12px;
  letter-spacing:1px;
  box-shadow:0 4px 6px rgba(0,0,0,.1);
}

.upsell-box h4{
  color:#1d4ed8;
  font-weight:900;
  font-size:18px;
  margin-top:10px;
  margin-bottom:10px;
}

.upsell-alert{
  background:#ffffff;
  padding:12px;
  border-radius:8px;
  border-left:4px solid #f59e0b;
  margin-bottom:15px;
  text-align:left;
  font-size:13px;
  color:#b45309;
  font-weight:700;
  line-height:1.4;
}

.upsell-product{
  display:flex;
  align-items:center;
  gap:15px;
  text-align:left;
  margin-bottom:15px;
  background:#ffffff;
  padding:15px;
  border-radius:8px;
  box-shadow:0 2px 10px rgba(0,0,0,.05);
}

.upsell-product img{
  width:90px;
  height:90px;
  object-fit:cover;
  border-radius:8px;
  border:1px solid #e5e7eb;
}

.upsell-product h5{
  margin:0 0 5px 0;
  font-size:16px;
  font-weight:900;
  color:#1f2937;
}

.upsell-product p{
  margin:0;
  font-size:12px;
  color:#4b5563;
  line-height:1.4;
}

.upsell-actions{
  display:flex;
  flex-direction:column;
  gap:10px;
}

.upsell-add,
.upsell-view,
.upsell-no{
  display:block;
  width:100%;
  padding:14px 15px;
  border-radius:8px;
  font-weight:900;
  font-size:15px;
  text-decoration:none;
  cursor:pointer;
  transition:transform .2s ease;
}

.upsell-add{
  background:linear-gradient(180deg,#16a34a 0%,#15803d 100%);
  color:#fff;
  border:none;
  box-shadow:0 4px 10px rgba(22,163,74,.3);
}

.upsell-view{
  background:linear-gradient(180deg,#2563eb 0%,#1d4ed8 100%);
  color:#fff;
  box-shadow:0 4px 10px rgba(37,99,235,.3);
}

.upsell-no{
  background:#ef4444;
  border:none;
  color:#fff;
  box-shadow:0 4px 6px rgba(239,68,68,.2);
}

.upsell-add:hover,
.upsell-view:hover,
.upsell-no:hover{
  transform:scale(1.02);
  color:#fff;
  text-decoration:none;
}

.final-success{
  text-align:center;
  padding:20px 10px;
  animation:fadeIn .5s;
}

.final-success h3{
  color:#16a34a;
  font-weight:900;
  font-size:24px;
}

.final-success p{
  color:#4b5563;
  font-size:15px;
  margin-bottom:20px;
}

.final-total-box{
  background:#f3f4f6;
  padding:15px;
  border-radius:8px;
  border:1px solid #e5e7eb;
}

.final-total-box p:first-child{
  font-size:14px;
  color:#6b7280;
  margin:0 0 5px 0;
}

#finalTotalSpan{
  font-size:28px;
  font-weight:900;
  color:#111827;
  margin:0;
}

@keyframes fadeIn{
  from{opacity:0;transform:translateY(15px);}
  to{opacity:1;transform:translateY(0);}
}