/* ==========================================================
   VOID PRO — SECONDARY UI 26F
   Visual premium aplicado às CLASSES REAIS dos templates.
   ========================================================== */

:root{
  --vp-blue:#1677ff;
  --vp-blue2:#39b8ff;
  --vp-navy:#07142f;
  --vp-text:#183153;
  --vp-muted:#667f9e;
  --vp-line:#d9e8fb;
  --vp-soft:#eef7ff;
  --vp-card:#fff;
  --vp-success:#0aa879;
  --vp-warning:#d79a1a;
  --vp-danger:#d84e61;
  --vp-shadow:0 18px 46px rgba(31,72,130,.11);
  --vp-shadow-soft:0 10px 28px rgba(31,72,130,.07);
}

html{scroll-behavior:smooth;scroll-padding-top:92px}

body.vp-secondary{
  margin:0 !important;
  min-height:100vh;
  overflow-x:hidden;
  color:var(--vp-text) !important;
  font-family:Arial,Helvetica,sans-serif !important;
  background:
    radial-gradient(circle at 88% 7%,rgba(57,184,255,.16),transparent 26%),
    linear-gradient(180deg,#fff 0%,#f6faff 100%) !important;
}

.vp-secondary *,
.vp-secondary *::before,
.vp-secondary *::after{box-sizing:border-box}

.vp-secondary input,
.vp-secondary textarea,
.vp-secondary select,
.vp-secondary button{font-family:inherit !important}

.vp-secondary .container,
.vp-checkout .flow-container,
.vp-order .order-container,
.vp-admin .admin-container{
  width:min(1180px,calc(100% - 40px)) !important;
  max-width:1180px !important;
  margin-inline:auto !important;
}

/* ===== Header consistente com a loja ===== */

.vp-secondary .site-header,
.vp-secondary .compact-header,
.vp-secondary .admin-header{
  position:sticky !important;
  top:0 !important;
  z-index:60 !important;
  background:rgba(255,255,255,.95) !important;
  border-bottom:1px solid var(--vp-line) !important;
  color:var(--vp-text) !important;
  backdrop-filter:blur(14px);
  box-shadow:0 1px 0 rgba(217,232,251,.72) !important;
}

.vp-secondary .header-inner,
.vp-admin .admin-header-inner{
  min-height:82px !important;
  display:flex !important;
  align-items:center !important;
  justify-content:space-between !important;
  gap:20px !important;
}

.vp-secondary .brand{
  display:flex !important;
  align-items:center !important;
  gap:12px !important;
  text-decoration:none !important;
  color:var(--vp-navy) !important;
}

.vp-secondary .brand-mark{
  width:46px !important;
  height:46px !important;
  flex:0 0 46px !important;
  display:grid !important;
  place-items:center !important;
  border-radius:15px !important;
  border:1px solid #a7ceff !important;
  background:linear-gradient(180deg,#fff,#edf6ff) !important;
  color:var(--vp-blue) !important;
  box-shadow:inset 0 0 0 1px #e9f3ff,0 10px 22px rgba(22,119,255,.08) !important;
}

.vp-secondary .brand-copy strong{
  color:var(--vp-navy) !important;
  font-size:27px !important;
  letter-spacing:-.03em !important;
}

.vp-secondary .brand-copy strong span{color:var(--vp-blue) !important}

.vp-secondary .brand-copy small{
  display:block !important;
  color:#7186a3 !important;
  font-size:14px !important;
  line-height:1.2 !important;
  font-weight:800 !important;
  margin-top:3px !important;
}

.vp-secondary .secure-header-badge,
.vp-admin .admin-secure-badge{
  display:inline-flex !important;
  align-items:center !important;
  gap:8px !important;
  min-height:42px !important;
  padding:0 14px !important;
  border-radius:999px !important;
  border:1px solid #c8e0fa !important;
  background:#f2f9ff !important;
  color:#335b83 !important;
  font-size:14px !important;
  font-weight:900 !important;
}

/* ===== Tipografia / componentes globais ===== */

.vp-secondary h1,
.vp-secondary h2,
.vp-secondary h3,
.vp-secondary h4{
  color:var(--vp-navy) !important;
  letter-spacing:-.035em !important;
}

.vp-secondary .section-kicker{
  color:var(--vp-blue) !important;
  font-size:14px !important;
  line-height:1.2 !important;
  font-weight:900 !important;
  letter-spacing:.09em !important;
  text-transform:uppercase !important;
}

.vp-secondary p,
.vp-secondary li,
.vp-secondary label,
.vp-secondary td,
.vp-secondary th{
  font-size:15px !important;
}

.vp-secondary small{
  font-size:14px !important;
}

.vp-secondary .button,
.vp-secondary button{
  min-height:50px !important;
  border-radius:15px !important;
  font-size:16px !important;
  font-weight:900 !important;
  transition:transform .2s ease,box-shadow .2s ease !important;
}

.vp-secondary .button-primary,
.vp-secondary .checkout-submit,
.vp-secondary .auth-submit,
.vp-secondary .pix-copy-button,
.vp-secondary .admin-save-button{
  background:linear-gradient(135deg,var(--vp-blue2),var(--vp-blue)) !important;
  border:0 !important;
  color:#fff !important;
  box-shadow:0 12px 28px rgba(22,119,255,.22) !important;
}

.vp-secondary .button:hover,
.vp-secondary button:hover{
  transform:translateY(-2px);
}

.vp-secondary .form-field{
  display:grid !important;
  gap:8px !important;
}

.vp-secondary .form-field > label,
.vp-secondary label{
  color:#274665 !important;
  font-weight:900 !important;
}

.vp-secondary .input-wrap input,
.vp-secondary .form-field input:not([type="checkbox"]):not([type="hidden"]),
.vp-secondary .form-field textarea,
.vp-secondary .form-field select,
.vp-admin .admin-price-field input,
.vp-admin .admin-license-input,
.vp-admin .admin-license-textarea,
.vp-admin .currency-input{
  width:100% !important;
  min-height:54px !important;
  padding:0 16px !important;
  border:1px solid #bfd5ef !important;
  border-radius:15px !important;
  background:#fff !important;
  color:var(--vp-navy) !important;
  font-size:16px !important;
  outline:none !important;
  box-shadow:none !important;
}

.vp-secondary textarea,
.vp-admin .admin-license-textarea{
  padding-top:14px !important;
  min-height:110px !important;
  resize:vertical !important;
}

.vp-secondary input:focus,
.vp-secondary textarea:focus,
.vp-secondary select:focus{
  border-color:#58aaff !important;
  box-shadow:0 0 0 4px rgba(22,119,255,.10) !important;
}

/* ==========================================================
   CHECKOUT — classes reais
   ========================================================== */

.vp-checkout .flow-main{
  padding:38px 0 58px !important;
}

.vp-checkout .flow-heading{
  margin-bottom:24px !important;
}

.vp-checkout .flow-heading h1{
  margin:10px 0 12px !important;
  color:var(--vp-navy) !important;
  font-size:clamp(42px,4.6vw,62px) !important;
  line-height:1 !important;
}

.vp-checkout .flow-heading p{
  color:var(--vp-muted) !important;
  font-size:18px !important;
  line-height:1.5 !important;
}

.vp-checkout .checkout-progress{
  display:grid !important;
  grid-template-columns:repeat(3,minmax(0,1fr)) !important;
  gap:12px !important;
  margin:24px 0 28px !important;
}

.vp-checkout .checkout-progress > i{
  display:none !important;
}

.vp-checkout .progress-item{
  min-height:70px !important;
  display:flex !important;
  align-items:center !important;
  gap:12px !important;
  padding:14px 16px !important;
  background:#fff !important;
  border:1px solid var(--vp-line) !important;
  border-radius:18px !important;
  box-shadow:var(--vp-shadow-soft) !important;
}

.vp-checkout .progress-item.is-active{
  border-color:#75b8ff !important;
  background:linear-gradient(180deg,#fff,#f5faff) !important;
}

.vp-checkout .form-step-number,
.vp-checkout .progress-item > span{
  width:38px !important;
  height:38px !important;
  flex:0 0 38px !important;
  display:grid !important;
  place-items:center !important;
  border-radius:12px !important;
  border:1px solid #c7e1ff !important;
  background:#edf6ff !important;
  color:var(--vp-blue) !important;
  font-weight:900 !important;
}

.vp-checkout .progress-item.is-active .form-step-number,
.vp-checkout .progress-item.is-active > span{
  background:linear-gradient(135deg,var(--vp-blue2),var(--vp-blue)) !important;
  color:#fff !important;
  border-color:transparent !important;
}

.vp-checkout .progress-item strong{
  color:var(--vp-navy) !important;
  font-size:15px !important;
}

.vp-checkout .progress-item small{
  color:var(--vp-muted) !important;
  font-size:14px !important;
}

.vp-checkout .checkout-layout{
  display:grid !important;
  grid-template-columns:minmax(320px,.78fr) minmax(0,1.22fr) !important;
  gap:22px !important;
  align-items:start !important;
}

.vp-checkout .order-summary-card,
.vp-checkout .customer-form-card{
  background:#fff !important;
  border:1px solid var(--vp-line) !important;
  border-radius:24px !important;
  box-shadow:var(--vp-shadow) !important;
  padding:26px !important;
}

.vp-checkout .order-summary-card{
  position:sticky !important;
  top:104px !important;
}

.vp-checkout .summary-badge{
  display:inline-flex !important;
  padding:8px 11px !important;
  border-radius:999px !important;
  border:1px solid #d1e6ff !important;
  background:#eef7ff !important;
  color:#34658e !important;
  font-size:14px !important;
  font-weight:900 !important;
}

.vp-checkout .summary-product{
  margin-top:18px !important;
}

.vp-checkout .summary-product h2,
.vp-checkout .form-card-heading h2{
  color:var(--vp-navy) !important;
  font-size:29px !important;
}

.vp-checkout .summary-description,
.vp-checkout .form-card-heading p{
  color:var(--vp-muted) !important;
  font-size:15px !important;
}

.vp-checkout .summary-benefits{
  display:grid !important;
  gap:11px !important;
  padding-block:18px !important;
  margin-block:18px !important;
  border-top:1px solid var(--vp-line) !important;
  border-bottom:1px solid var(--vp-line) !important;
}

.vp-checkout .summary-total strong{
  display:block !important;
  color:var(--vp-navy) !important;
  font-size:42px !important;
  line-height:1 !important;
  letter-spacing:-.04em !important;
  margin-top:8px !important;
}

.vp-checkout .customer-form{
  display:grid !important;
  gap:18px !important;
}

.vp-checkout .data-assurance{
  padding:15px 16px !important;
  border:1px solid #c9ecdf !important;
  border-radius:16px !important;
  background:#f2fbf8 !important;
  color:#356b5b !important;
  font-size:14px !important;
}

.vp-checkout .checkout-submit{
  width:100% !important;
}

.vp-checkout .payment-method-note{
  color:var(--vp-muted) !important;
  font-size:14px !important;
}

/* ==========================================================
   PEDIDO / PIX — classes reais
   ========================================================== */

.vp-order .order-main{
  padding:34px 0 58px !important;
}

.vp-order .order-container{
  max-width:1180px !important;
}

.vp-order [class*="order-status-hero"]{
  margin-bottom:18px !important;
  padding:26px !important;
  display:grid !important;
  grid-template-columns:auto 1fr auto !important;
  gap:16px !important;
  align-items:center !important;
  border:1px solid var(--vp-line) !important;
  border-radius:24px !important;
  background:linear-gradient(145deg,#fff,#f7fbff) !important;
  box-shadow:var(--vp-shadow) !important;
}

.vp-order .order-status-icon{
  width:54px !important;
  height:54px !important;
  display:grid !important;
  place-items:center !important;
  border-radius:16px !important;
  background:#eef7ff !important;
  border:1px solid #c9e2ff !important;
  color:var(--vp-blue) !important;
}

.vp-order .order-status-copy h1{
  color:var(--vp-navy) !important;
  font-size:clamp(34px,4vw,50px) !important;
  line-height:1.02 !important;
  margin:4px 0 8px !important;
}

.vp-order .order-status-copy p{
  color:var(--vp-muted) !important;
}

.vp-order .order-summary-strip{
  display:grid !important;
  grid-template-columns:repeat(3,minmax(0,1fr)) !important;
  margin:18px 0 !important;
  overflow:hidden !important;
  border:1px solid var(--vp-line) !important;
  border-radius:20px !important;
  background:#fff !important;
  box-shadow:var(--vp-shadow-soft) !important;
}

.vp-order .order-summary-item{
  padding:18px !important;
  border-right:1px solid var(--vp-line) !important;
}

.vp-order .order-summary-item:last-child{
  border-right:0 !important;
}

.vp-order .order-summary-item span{
  display:block !important;
  color:var(--vp-muted) !important;
  font-size:14px !important;
  margin-bottom:5px !important;
}

.vp-order .order-summary-item strong{
  color:var(--vp-navy) !important;
  font-size:17px !important;
}

.vp-order .payment-card{
  margin-top:18px !important;
  padding:26px !important;
  border:1px solid var(--vp-line) !important;
  border-radius:24px !important;
  background:#fff !important;
  box-shadow:var(--vp-shadow) !important;
}

.vp-order .payment-card-head{
  display:flex !important;
  justify-content:space-between !important;
  align-items:center !important;
  gap:16px !important;
  margin-bottom:18px !important;
}

.vp-order .payment-card-head h2{
  color:var(--vp-navy) !important;
  font-size:28px !important;
}

.vp-order .pix-brand{
  display:inline-flex !important;
  align-items:center !important;
  min-height:36px !important;
  padding:0 11px !important;
  border-radius:999px !important;
  border:1px solid #c9ecdf !important;
  background:#eefbf6 !important;
  color:#25705b !important;
  font-size:14px !important;
  font-weight:900 !important;
}

.vp-order .payment-card .pix-payment-layout,
.vp-order .payment-card > .pix-payment-layout,
.vp-order .payment-card .payment-layout{
  display:grid !important;
  grid-template-columns:minmax(280px,330px) minmax(0,1fr) !important;
  gap:26px !important;
  align-items:center !important;
}

.vp-order .qr-column{
  display:grid !important;
  justify-items:center !important;
  gap:12px !important;
}

.vp-order .qr-frame{
  width:min(100%,320px) !important;
  aspect-ratio:1 !important;
  padding:10px !important;
  display:grid !important;
  place-items:center !important;
  border-radius:24px !important;
  background:#fff !important;
  box-shadow:0 12px 32px rgba(31,72,130,.11) !important;
}

.vp-order .pix-qr-image{
  width:100% !important;
  height:auto !important;
  max-width:300px !important;
  border-radius:14px !important;
  display:block !important;
}

.vp-order .pix-code-column{
  min-width:0 !important;
}

.vp-order .pix-instruction{
  color:var(--vp-muted) !important;
  font-size:15px !important;
}

.vp-order #pix-copy-paste{
  width:100% !important;
  min-height:112px !important;
  padding:14px 16px !important;
  border:1px solid #bfd5ef !important;
  border-radius:15px !important;
  background:#fbfdff !important;
  color:#244469 !important;
  font-family:ui-monospace,SFMono-Regular,Consolas,monospace !important;
  font-size:14px !important;
  line-height:1.5 !important;
}

.vp-order .pix-copy-button{
  width:100% !important;
  margin-top:14px !important;
}

.vp-order .pix-expiry{
  color:var(--vp-muted) !important;
  font-size:14px !important;
  margin-top:12px !important;
}

.vp-order .waiting-confirmation,
.vp-order .payment-state-message{
  margin-top:18px !important;
  display:flex !important;
  align-items:center !important;
  gap:12px !important;
  padding:16px 18px !important;
  border:1px solid #eed7a6 !important;
  border-radius:16px !important;
  background:#fffaf0 !important;
  color:#705b28 !important;
}

.vp-order .waiting-spinner,
.vp-order .large-spinner{
  border-color:#e8c66f !important;
  border-top-color:transparent !important;
}

.vp-order .success-delivery-card,
.vp-order .cancelled-card{
  border-radius:24px !important;
  box-shadow:var(--vp-shadow) !important;
}

.vp-order .whatsapp-delivery-button{
  min-height:54px !important;
  border-radius:16px !important;
  font-size:16px !important;
  font-weight:900 !important;
}

/* ==========================================================
   LOGIN — classes reais
   ========================================================== */

.vp-login .auth-main{
  min-height:calc(100vh - 82px) !important;
  display:grid !important;
  place-items:center !important;
  padding:32px 20px 48px !important;
}

.vp-login .auth-card{
  width:min(520px,100%) !important;
  padding:30px !important;
  margin-inline:auto !important;
  border:1px solid var(--vp-line) !important;
  border-radius:24px !important;
  background:#fff !important;
  box-shadow:var(--vp-shadow) !important;
}

.vp-login .auth-brand{
  margin-bottom:20px !important;
}

.vp-login .auth-heading h1{
  color:var(--vp-navy) !important;
  font-size:40px !important;
  line-height:1.02 !important;
  margin:10px 0 12px !important;
}

.vp-login .auth-heading p{
  color:var(--vp-muted) !important;
  font-size:16px !important;
  line-height:1.5 !important;
}

.vp-login .auth-form{
  display:grid !important;
  gap:18px !important;
  margin-top:22px !important;
}

.vp-login .auth-submit{
  width:100% !important;
}

.vp-login .auth-security{
  padding:14px 16px !important;
  border:1px solid #c9ecdf !important;
  border-radius:16px !important;
  background:#f2fbf8 !important;
  color:#356b5b !important;
  font-size:14px !important;
}

.vp-login .auth-back{
  text-align:center !important;
  margin-top:18px !important;
}

/* ==========================================================
   ADMIN — classes reais
   ========================================================== */

.vp-admin .admin-container{
  width:min(1280px,calc(100% - 40px)) !important;
  max-width:1280px !important;
}

.vp-admin .admin-main{
  padding:38px 0 58px !important;
}

.vp-admin .admin-header-actions{
  display:flex !important;
  align-items:center !important;
  gap:10px !important;
}

.vp-admin .admin-store-link{
  min-height:46px !important;
  padding:0 18px !important;
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  border:1px solid #bdd8f5 !important;
  border-radius:14px !important;
  background:#fff !important;
  color:var(--vp-navy) !important;
  font-size:15px !important;
  font-weight:900 !important;
  text-decoration:none !important;
}

.vp-admin .admin-logout{
  min-height:46px !important;
  padding:0 18px !important;
  border:1px solid #cddff1 !important;
  border-radius:14px !important;
  background:#f7fbff !important;
  color:#48627d !important;
  box-shadow:none !important;
}

.vp-admin .admin-welcome{
  display:flex !important;
  align-items:flex-end !important;
  justify-content:space-between !important;
  gap:20px !important;
  margin-bottom:22px !important;
}

.vp-admin .admin-welcome h1{
  color:var(--vp-navy) !important;
  font-size:clamp(40px,4vw,52px) !important;
  line-height:1 !important;
  margin:8px 0 8px !important;
}

.vp-admin .admin-welcome p{
  color:var(--vp-muted) !important;
  font-size:17px !important;
}

.vp-admin .dashboard-metrics{
  display:grid !important;
  grid-template-columns:repeat(3,minmax(0,1fr)) !important;
  gap:16px !important;
  margin-bottom:20px !important;
}

.vp-admin .metric-card{
  min-height:138px !important;
  padding:22px !important;
  border:1px solid var(--vp-line) !important;
  border-radius:22px !important;
  background:#fff !important;
  box-shadow:var(--vp-shadow-soft) !important;
}

.vp-admin .metric-card small{
  color:#6f83a0 !important;
  font-size:14px !important;
  font-weight:900 !important;
  letter-spacing:.04em !important;
}

.vp-admin .metric-card strong{
  display:block !important;
  color:var(--vp-navy) !important;
  font-size:36px !important;
  line-height:1 !important;
  margin:10px 0 6px !important;
}

.vp-admin .metric-card p{
  color:var(--vp-muted) !important;
  font-size:14px !important;
}

.vp-admin .metric-icon{
  color:var(--vp-blue) !important;
}

.vp-admin .admin-plans-grid{
  display:grid !important;
  gap:18px !important;
}

.vp-admin .admin-plan-card,
.vp-admin .admin-section{
  padding:24px !important;
  border:1px solid var(--vp-line) !important;
  border-radius:24px !important;
  background:#fff !important;
  box-shadow:var(--vp-shadow) !important;
}

.vp-admin .admin-plan-card-head,
.vp-admin .admin-section-heading{
  display:flex !important;
  align-items:center !important;
  justify-content:space-between !important;
  gap:16px !important;
}

.vp-admin .admin-plan-identity h3{
  color:var(--vp-navy) !important;
  font-size:27px !important;
}

.vp-admin .admin-featured-label,
.vp-admin .orders-counter{
  display:inline-flex !important;
  align-items:center !important;
  min-height:36px !important;
  padding:0 11px !important;
  border-radius:999px !important;
  border:1px solid #d3e6fb !important;
  background:#eef7ff !important;
  color:#34658e !important;
  font-size:14px !important;
  font-weight:900 !important;
}

.vp-admin .admin-price-metrics{
  display:grid !important;
  grid-template-columns:repeat(3,minmax(0,1fr)) !important;
  gap:12px !important;
  margin:18px 0 !important;
}

.vp-admin .admin-price-metrics > div{
  min-height:92px !important;
  padding:15px !important;
  border:1px solid var(--vp-line) !important;
  border-radius:16px !important;
  background:#fbfdff !important;
}

.vp-admin .admin-price-metrics span{
  display:block !important;
  color:var(--vp-muted) !important;
  font-size:14px !important;
}

.vp-admin .admin-price-metrics strong{
  display:block !important;
  color:var(--vp-navy) !important;
  font-size:20px !important;
  margin-top:6px !important;
}

.vp-admin .admin-toggles{
  display:grid !important;
  grid-template-columns:1fr 1fr !important;
  gap:12px !important;
  margin-top:16px !important;
}

.vp-admin .toggle-row{
  min-height:76px !important;
  padding:15px 16px !important;
  display:flex !important;
  align-items:center !important;
  gap:13px !important;
  border:1px solid var(--vp-line) !important;
  border-radius:18px !important;
  background:#fbfdff !important;
}

.vp-admin .toggle-row > span,
.vp-admin .toggle-row > div{
  min-width:0 !important;
}

.vp-admin .toggle-row strong{
  display:block !important;
  color:var(--vp-navy) !important;
  font-size:17px !important;
  line-height:1.25 !important;
  margin:0 0 3px !important;
}

.vp-admin .toggle-row small{
  display:block !important;
  color:var(--vp-muted) !important;
  font-size:14px !important;
  line-height:1.35 !important;
}

.vp-admin .toggle-row input[type="checkbox"]{
  width:22px !important;
  height:22px !important;
  min-height:22px !important;
  flex:0 0 22px !important;
  accent-color:var(--vp-blue) !important;
}

.vp-admin .admin-save-button{
  margin-top:16px !important;
}

.vp-admin .orders-section{
  margin-top:20px !important;
}

.vp-admin .admin-orders-table-wrap{
  overflow-x:auto !important;
  -webkit-overflow-scrolling:touch;
  border:1px solid var(--vp-line) !important;
  border-radius:20px !important;
  background:#fff !important;
}

.vp-admin .admin-orders-table{
  width:100% !important;
  min-width:980px !important;
  border-collapse:collapse !important;
}

.vp-admin .admin-orders-table th{
  padding:14px 16px !important;
  background:#f6faff !important;
  color:#5d7390 !important;
  border-bottom:1px solid #e6eef8 !important;
  font-size:14px !important;
  font-weight:900 !important;
  text-align:left !important;
}

.vp-admin .admin-orders-table td{
  padding:15px 16px !important;
  background:#fff !important;
  color:#2d496a !important;
  border-bottom:1px solid #edf3fa !important;
  vertical-align:top !important;
}

.vp-admin .admin-order-code{
  display:inline-block !important;
  padding:6px 8px !important;
  border:1px solid #d7e7f8 !important;
  border-radius:9px !important;
  background:#f1f7ff !important;
  color:#24568f !important;
}

.vp-admin .order-status-badge{
  display:inline-flex !important;
  align-items:center !important;
  padding:7px 10px !important;
  border-radius:999px !important;
  border:1px solid #cfe3f7 !important;
  background:#f3f9ff !important;
  color:#3e668a !important;
  font-size:14px !important;
  font-weight:900 !important;
}

.vp-admin .admin-license-form,
.vp-admin .order-status-form{
  display:grid !important;
  gap:8px !important;
}

.vp-admin .admin-license-save{
  min-height:42px !important;
  padding:0 13px !important;
  border:1px solid #bdd6ef !important;
  border-radius:12px !important;
  background:#fff !important;
  color:#285786 !important;
  font-size:14px !important;
  font-weight:900 !important;
}

.vp-admin .negative-value{color:var(--vp-danger) !important}

/* ===== animação ===== */

.vp-checkout .order-summary-card,
.vp-checkout .customer-form-card,
.vp-order [class*="order-status-hero"],
.vp-order .payment-card,
.vp-login .auth-card,
.vp-admin .metric-card,
.vp-admin .admin-plan-card,
.vp-admin .admin-section{
  animation:vp26fIn .42s cubic-bezier(.2,.7,.2,1) both;
}

@keyframes vp26fIn{
  from{opacity:0;transform:translateY(12px)}
  to{opacity:1;transform:translateY(0)}
}

/* ===== tablet ===== */

@media(max-width:980px){
  .vp-secondary .container,
  .vp-checkout .flow-container,
  .vp-order .order-container,
  .vp-admin .admin-container{
    width:min(100% - 28px,1180px) !important;
  }

  .vp-checkout .checkout-layout{
    grid-template-columns:1fr !important;
  }

  .vp-checkout .order-summary-card{
    position:static !important;
  }

  .vp-order .payment-card .pix-payment-layout,
  .vp-order .payment-card > .pix-payment-layout,
  .vp-order .payment-card .payment-layout{
    grid-template-columns:1fr !important;
  }

  .vp-admin .dashboard-metrics{
    grid-template-columns:1fr 1fr !important;
  }

  .vp-admin .admin-price-metrics{
    grid-template-columns:1fr 1fr !important;
  }
}

/* ===== mobile ===== */

@media(max-width:640px){
  html{scroll-padding-top:76px}

  .vp-secondary .header-inner,
  .vp-admin .admin-header-inner{
    min-height:72px !important;
  }

  .vp-secondary .container,
  .vp-checkout .flow-container,
  .vp-order .order-container,
  .vp-admin .admin-container{
    width:min(100% - 24px,100%) !important;
  }

  .vp-secondary .brand-mark{
    width:40px !important;
    height:40px !important;
    flex-basis:40px !important;
    border-radius:13px !important;
  }

  .vp-secondary .brand-copy strong{
    font-size:22px !important;
  }

  .vp-secondary .brand-copy small{
    font-size:14px !important;
  }

  .vp-secondary .secure-header-badge,
  .vp-admin .admin-secure-badge{
    display:none !important;
  }

  .vp-checkout .flow-main,
  .vp-order .order-main,
  .vp-admin .admin-main{
    padding:28px 0 42px !important;
  }

  .vp-checkout .flow-heading h1{
    font-size:38px !important;
  }

  .vp-checkout .flow-heading p{
    font-size:16px !important;
  }

  .vp-checkout .checkout-progress{
    grid-template-columns:1fr !important;
    gap:9px !important;
  }

  .vp-checkout .order-summary-card,
  .vp-checkout .customer-form-card,
  .vp-order [class*="order-status-hero"],
  .vp-order .payment-card,
  .vp-login .auth-card,
  .vp-admin .metric-card,
  .vp-admin .admin-plan-card,
  .vp-admin .admin-section{
    padding:20px !important;
    border-radius:20px !important;
  }

  .vp-checkout .summary-total strong{
    font-size:36px !important;
  }

  .vp-order [class*="order-status-hero"]{
    grid-template-columns:48px 1fr !important;
  }

  .vp-order [class*="order-status-hero"] > :last-child{
    grid-column:1 / -1 !important;
  }

  .vp-order .order-status-copy h1{
    font-size:34px !important;
  }

  .vp-order .order-summary-strip{
    grid-template-columns:1fr !important;
  }

  .vp-order .order-summary-item{
    border-right:0 !important;
    border-bottom:1px solid var(--vp-line) !important;
  }

  .vp-order .order-summary-item:last-child{
    border-bottom:0 !important;
  }

  .vp-order .qr-frame{
    width:min(100%,278px) !important;
  }

  .vp-login .auth-main{
    min-height:calc(100vh - 72px) !important;
    padding:24px 12px 38px !important;
  }

  .vp-login .auth-card{
    width:100% !important;
  }

  .vp-login .auth-heading h1{
    font-size:34px !important;
  }

  .vp-admin .admin-header-actions{
    gap:6px !important;
  }

  .vp-admin .admin-store-link{
    display:none !important;
  }

  .vp-admin .admin-welcome{
    align-items:flex-start !important;
    flex-direction:column !important;
  }

  .vp-admin .admin-welcome h1{
    font-size:38px !important;
  }

  .vp-admin .dashboard-metrics,
  .vp-admin .admin-price-metrics,
  .vp-admin .admin-toggles{
    grid-template-columns:1fr !important;
  }

  .vp-admin .metric-card{
    min-height:auto !important;
  }

  .vp-admin .admin-orders-table{
    min-width:860px !important;
  }

  .vp-secondary .checkout-submit,
  .vp-secondary .auth-submit,
  .vp-secondary .pix-copy-button{
    width:100% !important;
  }
}

@media(prefers-reduced-motion:reduce){
  .vp-secondary *,
  .vp-secondary *::before,
  .vp-secondary *::after{
    animation:none !important;
    transition:none !important;
    scroll-behavior:auto !important;
  }
}

/* ==========================================================
   VOID PRO — 26I FINAL POLISH
   Overrides visuais finais observados nas telas reais.
   ========================================================== */

/* ---------- marca ---------- */
body.vp-secondary .brand-mark{
  font-family:ui-monospace,SFMono-Regular,Consolas,monospace !important;
  font-size:18px !important;
  line-height:1 !important;
  letter-spacing:-.08em !important;
  color:var(--vp-blue) !important;
}

/* ---------- INPUTS: remover bloco escuro lateral ---------- */
body.vp-secondary .input-wrap{
  position:relative !important;
  display:block !important;
  width:100% !important;
  min-height:54px !important;
  background:transparent !important;
  border:0 !important;
  border-radius:15px !important;
  overflow:visible !important;
  box-shadow:none !important;
}

body.vp-secondary .input-wrap > span{
  position:absolute !important;
  z-index:2 !important;
  left:15px !important;
  top:50% !important;
  transform:translateY(-50%) !important;
  width:22px !important;
  height:22px !important;
  min-width:22px !important;
  display:grid !important;
  place-items:center !important;
  padding:0 !important;
  margin:0 !important;
  border:0 !important;
  border-radius:7px !important;
  background:#eef7ff !important;
  color:#548dca !important;
  font-size:11px !important;
  font-weight:900 !important;
  box-shadow:none !important;
}

body.vp-secondary .input-wrap input{
  width:100% !important;
  min-height:54px !important;
  padding-left:49px !important;
  border:1px solid #bfd5ef !important;
  border-radius:15px !important;
  background:#fff !important;
  color:var(--vp-navy) !important;
}

body.vp-secondary .input-wrap:focus-within > span{
  background:#e5f3ff !important;
  color:var(--vp-blue) !important;
}

body.vp-secondary .input-wrap:focus-within input{
  border-color:#58aaff !important;
  box-shadow:0 0 0 4px rgba(22,119,255,.10) !important;
}

/* ---------- checkout ---------- */
body.vp-checkout .order-summary-card,
body.vp-checkout .customer-form-card{
  border-color:#dceafb !important;
  box-shadow:0 20px 48px rgba(32,75,132,.10) !important;
}

body.vp-checkout .summary-product-icon{
  width:44px !important;
  height:44px !important;
  display:grid !important;
  place-items:center !important;
  border-radius:14px !important;
  background:#eef7ff !important;
  border:1px solid #cfe4ff !important;
  color:var(--vp-blue) !important;
  font-weight:900 !important;
  box-shadow:none !important;
}

body.vp-checkout .data-assurance{
  display:flex !important;
  align-items:flex-start !important;
  gap:10px !important;
  border-color:#cde9de !important;
  background:#f4fbf8 !important;
  box-shadow:none !important;
}

body.vp-checkout .data-assurance > span{
  flex:0 0 auto !important;
  color:var(--vp-success) !important;
  background:#e7f8f1 !important;
  border-radius:8px !important;
  width:24px !important;
  height:24px !important;
  display:grid !important;
  place-items:center !important;
  font-size:10px !important;
}

body.vp-checkout .data-assurance p{
  margin:0 !important;
  color:#57776b !important;
  font-size:14px !important;
  line-height:1.45 !important;
}

body.vp-checkout .checkout-submit{
  min-height:56px !important;
  box-shadow:0 14px 32px rgba(22,119,255,.25) !important;
}

/* ---------- PIX: remover painel cinza/pesado ---------- */
body.vp-order .payment-card{
  background:#fff !important;
  border:1px solid #d9e8fb !important;
  box-shadow:0 20px 48px rgba(32,75,132,.10) !important;
}

body.vp-order .pix-payment-layout,
body.vp-order .payment-card .pix-payment-layout,
body.vp-order .payment-card > .pix-payment-layout{
  display:grid !important;
  grid-template-columns:minmax(260px,330px) minmax(0,1fr) !important;
  align-items:center !important;
  gap:26px !important;
  margin-top:6px !important;
  padding:22px !important;
  border:1px solid #e0ecf9 !important;
  border-radius:22px !important;
  background:linear-gradient(180deg,#fbfdff 0%,#f7fbff 100%) !important;
  color:var(--vp-text) !important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.8) !important;
}

body.vp-order .pix-payment-layout.no-qr{
  grid-template-columns:1fr !important;
}

body.vp-order .qr-column{
  color:var(--vp-muted) !important;
}

body.vp-order .qr-column > p{
  margin:0 !important;
  color:#637c99 !important;
  text-align:center !important;
  font-size:14px !important;
}

body.vp-order .qr-frame{
  width:min(100%,300px) !important;
  padding:14px !important;
  border:1px solid #dce8f5 !important;
  border-radius:22px !important;
  background:#fff !important;
  box-shadow:0 12px 30px rgba(31,72,130,.10) !important;
}

body.vp-order .pix-qr-image{
  width:100% !important;
  max-width:272px !important;
  height:auto !important;
  display:block !important;
  background:#fff !important;
  border:0 !important;
  border-radius:10px !important;
  box-shadow:none !important;
}

body.vp-order .pix-code-column{
  color:var(--vp-text) !important;
}

body.vp-order .pix-instruction{
  display:flex !important;
  align-items:flex-start !important;
  gap:11px !important;
  margin-bottom:12px !important;
  color:var(--vp-text) !important;
}

body.vp-order .pix-instruction > span{
  width:28px !important;
  height:28px !important;
  flex:0 0 28px !important;
  display:grid !important;
  place-items:center !important;
  border-radius:9px !important;
  background:#eaf4ff !important;
  border:1px solid #cfe4ff !important;
  color:var(--vp-blue) !important;
  font-weight:900 !important;
  font-size:13px !important;
}

body.vp-order .pix-instruction p,
body.vp-order .pix-instruction strong{
  color:#294866 !important;
}

body.vp-order .pix-instruction p{
  margin:3px 0 0 !important;
  line-height:1.45 !important;
}

body.vp-order .pix-code-column > label{
  display:block !important;
  margin:14px 0 8px !important;
  color:#31516f !important;
  font-size:13px !important;
  letter-spacing:.05em !important;
  font-weight:900 !important;
}

body.vp-order #pix-copy-paste{
  border:1px solid #bfd5ef !important;
  background:#fff !important;
  color:#294866 !important;
  box-shadow:inset 0 1px 2px rgba(20,50,90,.03) !important;
}

body.vp-order .pix-copy-button{
  min-height:54px !important;
  box-shadow:0 13px 30px rgba(22,119,255,.23) !important;
}

body.vp-order .pix-expiry{
  color:#6f839d !important;
}

body.vp-order .waiting-confirmation{
  border:1px solid #ead8ad !important;
  background:#fffaf0 !important;
  color:#705b28 !important;
  box-shadow:none !important;
}

body.vp-order .waiting-confirmation strong{
  color:#674f17 !important;
}

body.vp-order .waiting-confirmation p{
  color:#846f40 !important;
}

/* ---------- LOGIN: mais compacto e limpo ---------- */
body.vp-login .auth-card{
  border-color:#dceafb !important;
  box-shadow:0 22px 54px rgba(32,75,132,.12) !important;
}

body.vp-login .auth-form{
  gap:16px !important;
}

body.vp-login .auth-security{
  margin-top:2px !important;
  display:flex !important;
  align-items:center !important;
  gap:9px !important;
  min-height:48px !important;
  padding:12px 14px !important;
  background:#f4fbf8 !important;
  border-color:#cde9de !important;
  color:#4d7568 !important;
}

body.vp-login .auth-submit{
  min-height:55px !important;
  box-shadow:0 14px 32px rgba(22,119,255,.25) !important;
}

/* ---------- ADMIN: cards mais leves ---------- */
body.vp-admin .metric-card,
body.vp-admin .admin-plan-card,
body.vp-admin .admin-section{
  border-color:#dceafb !important;
  box-shadow:0 16px 40px rgba(32,75,132,.08) !important;
}

body.vp-admin .metric-card{
  min-height:132px !important;
}

body.vp-admin .admin-price-metrics{
  gap:14px !important;
}

body.vp-admin .admin-price-metrics > div{
  min-height:88px !important;
  padding:14px 15px !important;
  border:1px solid #d9e8fb !important;
  border-radius:16px !important;
  background:#fbfdff !important;
  box-shadow:none !important;
  outline:0 !important;
}

body.vp-admin .admin-price-metrics > div strong{
  color:#173a62 !important;
  font-size:19px !important;
}

body.vp-admin .admin-price-metrics > div span{
  color:#71859d !important;
  font-size:13px !important;
  font-weight:800 !important;
}

body.vp-admin .admin-toggles{
  gap:14px !important;
}

body.vp-admin .toggle-row{
  justify-content:space-between !important;
  min-height:78px !important;
  padding:15px 16px !important;
  border:1px solid #d9e8fb !important;
  background:#fbfdff !important;
  box-shadow:none !important;
}

body.vp-admin .toggle-row > span{
  display:block !important;
  flex:1 1 auto !important;
  padding-right:10px !important;
}

body.vp-admin .toggle-row strong{
  color:#173a62 !important;
  font-size:16px !important;
  font-weight:900 !important;
}

body.vp-admin .toggle-row small{
  color:#6f839d !important;
  font-size:13px !important;
}

body.vp-admin .admin-save-button{
  min-height:48px !important;
  box-shadow:0 10px 24px rgba(22,119,255,.18) !important;
}

/* ---------- ADMIN: tabela com leitura mais forte ---------- */
body.vp-admin .admin-orders-table-wrap{
  border:1px solid #dbe8f6 !important;
  border-radius:18px !important;
  box-shadow:none !important;
  background:#fff !important;
}

body.vp-admin .admin-orders-table th{
  padding:14px 15px !important;
  background:#f4f8fd !important;
  color:#516c89 !important;
  border-bottom:1px solid #dfe9f5 !important;
  font-size:13px !important;
  letter-spacing:.02em !important;
}

body.vp-admin .admin-orders-table td{
  padding:15px !important;
  color:#294866 !important;
  border-bottom:1px solid #e9f0f7 !important;
  font-size:14px !important;
  line-height:1.42 !important;
}

body.vp-admin .customer-cell strong,
body.vp-admin .table-plan-cell strong,
body.vp-admin .finance-cell strong{
  color:#173a62 !important;
  font-weight:900 !important;
}

body.vp-admin .customer-cell span,
body.vp-admin .table-plan-cell span,
body.vp-admin .finance-cell span,
body.vp-admin .order-date{
  color:#6f839d !important;
  font-size:13px !important;
}

body.vp-admin .order-status-badge{
  border-color:#c9def5 !important;
  background:#eef6ff !important;
  color:#315f8c !important;
}

body.vp-admin .order-status-badge.status-paid,
body.vp-admin .order-status-badge.status-license_ready,
body.vp-admin .order-status-badge.status-delivered{
  border-color:#bfe5d5 !important;
  background:#edf9f4 !important;
  color:#226b55 !important;
}

body.vp-admin .admin-license-save,
body.vp-admin .order-status-form button{
  min-height:40px !important;
  border-radius:11px !important;
  font-size:13px !important;
  font-weight:900 !important;
}

body.vp-admin .admin-license-save{
  border:1px solid #9fcef9 !important;
  background:#eef7ff !important;
  color:#1f68aa !important;
}

body.vp-admin .order-status-form button{
  border:1px solid #b9d2ea !important;
  background:#f7fbff !important;
  color:#315f8c !important;
  box-shadow:none !important;
}

body.vp-admin .order-status-form button:hover{
  background:#eef6ff !important;
}

body.vp-admin .admin-logout{
  background:#fff !important;
  color:#60758d !important;
  border-color:#d3e1ef !important;
}

/* ---------- rodapes e notas ---------- */
body.vp-secondary .flow-footer,
body.vp-secondary .admin-footer{
  color:#7388a1 !important;
  border-color:#e6eef7 !important;
  background:rgba(255,255,255,.72) !important;
}

/* ---------- tablet ---------- */
@media(max-width:980px){
  body.vp-order .pix-payment-layout,
  body.vp-order .payment-card .pix-payment-layout,
  body.vp-order .payment-card > .pix-payment-layout{
    grid-template-columns:1fr !important;
  }

  body.vp-order .qr-frame{
    width:min(100%,290px) !important;
  }

  body.vp-admin .admin-price-metrics{
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
  }
}

/* ---------- mobile ---------- */
@media(max-width:640px){
  body.vp-secondary .input-wrap > span{
    left:13px !important;
  }

  body.vp-secondary .input-wrap input{
    padding-left:45px !important;
  }

  body.vp-order .payment-card{
    padding:18px !important;
  }

  body.vp-order .pix-payment-layout,
  body.vp-order .payment-card .pix-payment-layout,
  body.vp-order .payment-card > .pix-payment-layout{
    padding:16px !important;
    gap:18px !important;
    border-radius:18px !important;
  }

  body.vp-order .qr-frame{
    width:min(100%,260px) !important;
    padding:10px !important;
  }

  body.vp-admin .admin-price-metrics{
    grid-template-columns:1fr !important;
  }

  body.vp-admin .admin-orders-table{
    min-width:900px !important;
  }

  body.vp-admin .admin-orders-table th,
  body.vp-admin .admin-orders-table td{
    padding:13px !important;
  }
}

/* ==========================================================
   VOID PRO — 26K MICRO FINISH
   Ajustes finais observados nas telas reais.
   ========================================================== */

/* 1) PEDIDO — resumo em uma única linha no desktop */
body.vp-order .order-summary-strip{
  display:grid !important;
  grid-template-columns:minmax(300px,1.45fr) repeat(3,minmax(135px,.72fr)) !important;
  align-items:stretch !important;
}

body.vp-order .order-summary-strip > *{
  min-width:0 !important;
}

body.vp-order .order-code-block{
  grid-column:auto !important;
  grid-row:auto !important;
}

body.vp-order .order-code-block code{
  display:block !important;
  max-width:100% !important;
  overflow:hidden !important;
  text-overflow:ellipsis !important;
  white-space:nowrap !important;
}

/* 2) PEDIDO — status do topo com contraste premium */
body.vp-order .order-status-pill{
  border:1px solid #b9d9f7 !important;
  background:#eaf5ff !important;
  color:#245b8a !important;
  font-weight:900 !important;
  box-shadow:0 6px 16px rgba(32,96,155,.08) !important;
}

body.vp-order .order-status-pill.success-pill{
  border-color:#b9e3d2 !important;
  background:#edf9f4 !important;
  color:#1f7156 !important;
}

/* 3) LOGIN — remover os pequenos símbolos decorativos */
body.vp-login .input-wrap > span{
  display:none !important;
}

body.vp-login .input-wrap input{
  padding-left:16px !important;
}

/* 4) ADMIN — licença e WhatsApp com leitura mais forte */
body.vp-admin .admin-license-summary strong{
  color:#147a59 !important;
  font-weight:900 !important;
}

body.vp-admin .admin-license-summary span{
  color:#5f748b !important;
}

body.vp-admin .admin-license-waiting,
body.vp-admin .order-no-action{
  color:#5f748b !important;
  font-weight:700 !important;
}

body.vp-admin .admin-license-whatsapp{
  border:1px solid #a9dec9 !important;
  background:#effaf5 !important;
  color:#187458 !important;
  font-weight:900 !important;
  box-shadow:none !important;
}

body.vp-admin .admin-license-whatsapp:hover{
  border-color:#7fcbb2 !important;
  background:#e7f7f0 !important;
  color:#115f48 !important;
}

/* 5) ADMIN — diferenciar ação normal de ação destrutiva */
body.vp-admin .order-status-button{
  border:1px solid #b9d2ea !important;
  background:#f7fbff !important;
  color:#315f8c !important;
  min-height:40px !important;
  border-radius:11px !important;
  font-weight:900 !important;
  box-shadow:none !important;
}

body.vp-admin .order-status-button:hover{
  border-color:#91bde7 !important;
  background:#eef6ff !important;
}

body.vp-admin .order-status-button-danger{
  border-color:#efb6bd !important;
  background:#fff4f5 !important;
  color:#b34653 !important;
}

body.vp-admin .order-status-button-danger:hover{
  border-color:#e4929d !important;
  background:#ffeaed !important;
  color:#9c3340 !important;
}

/* tablet: evita compressão excessiva do resumo */
@media(max-width:980px){
  body.vp-order .order-summary-strip{
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
  }
}

/* mobile: cada dado volta a uma linha confortável */
@media(max-width:640px){
  body.vp-order .order-summary-strip{
    grid-template-columns:1fr !important;
  }

  body.vp-login .input-wrap input{
    padding-left:15px !important;
  }
}

/* ==========================================================
   VOID PRO — 26M WHATSAPP FLOW ALIGNMENT
   ========================================================== */

body.vp-order .order-code-block code{
  color:#087cf0 !important;
  background:#eef7ff !important;
  border:1px solid #d1e6fb !important;
  border-radius:10px !important;
  padding:9px 11px !important;
  font-weight:800 !important;
}

body.vp-order .icon-copy-button{
  width:38px !important;
  height:38px !important;
  min-width:38px !important;
  border:1px solid #bfdcf7 !important;
  border-radius:11px !important;
  background:#eef7ff !important;
  color:#1769ad !important;
  box-shadow:none !important;
}

body.vp-order .order-status-pill{
  min-height:38px !important;
  padding:9px 14px !important;
  border-radius:999px !important;
  font-size:13px !important;
  line-height:1.15 !important;
  letter-spacing:0 !important;
}

body.vp-order .order-summary-item > strong{
  color:#102b4d !important;
}

body.vp-order .success-delivery-card{
  display:grid !important;
  grid-template-columns:auto minmax(0,1fr) minmax(230px,300px) !important;
  gap:24px !important;
  align-items:start !important;
  padding:28px !important;
  border:1px solid #bfe6d4 !important;
  border-radius:24px !important;
  background:linear-gradient(135deg,#ffffff 0%,#f2fbf7 100%) !important;
  color:#173a62 !important;
  box-shadow:0 18px 46px rgba(34,91,73,.10) !important;
}

body.vp-order .success-delivery-card .success-kicker{
  color:#13875f !important;
}

body.vp-order .success-delivery-card h2{
  color:#102b4d !important;
}

body.vp-order .success-delivery-card p,
body.vp-order .success-delivery-card small{
  color:#5e748c !important;
}

body.vp-order .success-check{
  border:1px solid #9edbbf !important;
  background:#e8f8f0 !important;
  color:#14875f !important;
  box-shadow:none !important;
}

body.vp-order .delivery-order-mini{
  gap:10px !important;
}

body.vp-order .delivery-order-mini > div{
  border:1px solid #d9e9e2 !important;
  background:#fff !important;
  color:#173a62 !important;
  box-shadow:none !important;
}

body.vp-order .delivery-order-mini span{
  color:#73879a !important;
}

body.vp-order .delivery-order-mini strong{
  color:#173a62 !important;
}

body.vp-order .delivery-steps{
  border-left:1px solid #d8e9e2 !important;
  color:#173a62 !important;
}

body.vp-order .delivery-steps li > span{
  border:1px solid #a9dec7 !important;
  background:#e9f8f1 !important;
  color:#147a59 !important;
}

body.vp-order .delivery-steps strong{
  color:#173a62 !important;
}

body.vp-order .whatsapp-delivery-button{
  border:1px solid #16a66f !important;
  background:linear-gradient(90deg,#20c981,#49da98) !important;
  color:#083c2b !important;
  box-shadow:0 12px 28px rgba(31,174,116,.20) !important;
}

body.vp-checkout .input-wrap > span{
  display:none !important;
}

body.vp-checkout .input-wrap input{
  padding-left:16px !important;
}

body.vp-admin .admin-price-metrics{
  gap:12px !important;
  border:0 !important;
  background:transparent !important;
  box-shadow:none !important;
}

body.vp-admin .admin-price-metrics > div{
  border:1px solid #d7e6f6 !important;
  background:#fbfdff !important;
  box-shadow:none !important;
}

body.vp-admin .admin-delivery-cell{
  min-width:190px !important;
}

body.vp-admin .admin-delivery-whatsapp{
  display:flex !important;
  flex-direction:column !important;
  align-items:flex-start !important;
  gap:5px !important;
}

body.vp-admin .admin-delivery-whatsapp strong{
  color:#147a59 !important;
  font-size:14px !important;
}

body.vp-admin .admin-delivery-whatsapp span{
  color:#667d94 !important;
  font-size:12px !important;
  line-height:1.35 !important;
}

body.vp-admin .admin-delivery-whatsapp a{
  display:inline-flex !important;
  align-items:center !important;
  min-height:32px !important;
  padding:7px 10px !important;
  border:1px solid #a9dec9 !important;
  border-radius:9px !important;
  background:#effaf5 !important;
  color:#187458 !important;
  font-size:12px !important;
  font-weight:900 !important;
  text-decoration:none !important;
}

body.vp-admin .admin-whatsapp-flow-note{
  display:block !important;
  margin-top:5px !important;
  color:#6b8198 !important;
  font-size:11px !important;
  font-weight:700 !important;
}

@media(max-width:980px){
  body.vp-order .success-delivery-card{
    grid-template-columns:auto minmax(0,1fr) !important;
  }

  body.vp-order .delivery-steps{
    grid-column:1/-1 !important;
    border-left:0 !important;
    border-top:1px solid #d8e9e2 !important;
    padding-top:18px !important;
  }
}

@media(max-width:640px){
  body.vp-order .success-delivery-card{
    grid-template-columns:1fr !important;
    padding:20px !important;
  }

  body.vp-order .success-check{
    width:52px !important;
    height:52px !important;
  }

  body.vp-order .delivery-steps{
    grid-column:auto !important;
  }

  body.vp-checkout .input-wrap input{
    padding-left:15px !important;
  }
}

/* ==========================================================
   VOID PRO — 26P-R2 FINAL REVIEW
   Admin + Pedido/Pix
   ========================================================== */

/* PEDIDO — codigo + copiar */
body.vp-order .order-code-block > div{
  display:flex !important;
  align-items:center !important;
  gap:10px !important;
  min-width:0 !important;
}

body.vp-order .order-copy-button{
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  gap:8px !important;
  min-height:40px !important;
  padding:8px 13px !important;
  border:1px solid #b8d8f6 !important;
  border-radius:11px !important;
  background:#eef7ff !important;
  color:#1769ad !important;
  font:inherit !important;
  font-size:12px !important;
  font-weight:900 !important;
  white-space:nowrap !important;
  cursor:pointer !important;
  box-shadow:none !important;
  transition:
    background .18s ease,
    border-color .18s ease,
    transform .18s ease !important;
}

body.vp-order .order-copy-button:hover{
  background:#e3f2ff !important;
  border-color:#8fc3ef !important;
  transform:translateY(-1px) !important;
}

body.vp-order .order-copy-button.is-copied{
  border-color:#9fd9bf !important;
  background:#eaf8f1 !important;
  color:#157257 !important;
}

body.vp-order .order-copy-icon{
  position:relative !important;
  width:15px !important;
  height:15px !important;
  flex:0 0 15px !important;
}

body.vp-order .order-copy-icon::before,
body.vp-order .order-copy-icon::after{
  content:"" !important;
  position:absolute !important;
  width:8px !important;
  height:9px !important;
  border:1.5px solid currentColor !important;
  border-radius:2px !important;
}

body.vp-order .order-copy-icon::before{
  left:2px !important;
  top:1px !important;
  background:transparent !important;
}

body.vp-order .order-copy-icon::after{
  left:5px !important;
  top:4px !important;
  background:#eef7ff !important;
}

body.vp-order .order-copy-button.is-copied .order-copy-icon::after{
  background:#eaf8f1 !important;
}

/* PEDIDO — acompanhamento vivo do Pix */
body.vp-order .payment-live-status{
  display:flex !important;
  align-items:center !important;
  gap:14px !important;
  padding:18px 20px !important;
  border:1px solid #cfe0f2 !important;
  background:linear-gradient(90deg,#f8fbff 0%,#f4f9ff 100%) !important;
  color:#173a62 !important;
  box-shadow:none !important;
}

body.vp-order .payment-live-copy{
  flex:1 1 auto !important;
  min-width:0 !important;
}

body.vp-order .payment-live-copy > strong{
  display:block !important;
  color:#173a62 !important;
  font-size:14px !important;
  font-weight:900 !important;
}

body.vp-order .payment-live-copy > p{
  margin:4px 0 0 !important;
  color:#647b92 !important;
}

body.vp-order .payment-live-meta{
  display:flex !important;
  align-items:center !important;
  flex-wrap:wrap !important;
  gap:9px !important;
  margin-top:11px !important;
}

body.vp-order .payment-countdown,
body.vp-order .payment-verifying{
  display:inline-flex !important;
  align-items:center !important;
  gap:7px !important;
  min-height:32px !important;
  padding:6px 10px !important;
  border-radius:999px !important;
  font-size:12px !important;
  font-weight:800 !important;
}

body.vp-order .payment-countdown{
  border:1px solid #bcd9f3 !important;
  background:#edf6ff !important;
  color:#315f8c !important;
}

body.vp-order .payment-countdown strong{
  color:#174f82 !important;
  font-variant-numeric:tabular-nums !important;
  letter-spacing:.02em !important;
}

body.vp-order .payment-verifying{
  border:1px solid #c7e8da !important;
  background:#effaf5 !important;
  color:#27745a !important;
}

body.vp-order .payment-verifying i{
  width:7px !important;
  height:7px !important;
  border-radius:50% !important;
  background:#31c78a !important;
  animation:voidPaymentPulse 1.6s ease-out infinite !important;
}

body.vp-order .payment-live-status.is-expired{
  border-color:#ead2a3 !important;
  background:#fffaf0 !important;
}

body.vp-order .payment-live-status.is-expired .payment-countdown{
  border-color:#ead2a3 !important;
  background:#fff5dd !important;
  color:#916317 !important;
}

@keyframes voidPaymentPulse{
  0%{box-shadow:0 0 0 0 rgba(49,199,138,.30)}
  70%{box-shadow:0 0 0 7px rgba(49,199,138,0)}
  100%{box-shadow:0 0 0 0 rgba(49,199,138,0)}
}

/* ADMIN — ultimo acabamento */
body.vp-admin .private-data-note{
  border-color:#c9e1f5 !important;
  background:#f4faff !important;
  color:#55758f !important;
  font-weight:800 !important;
}

body.vp-admin .admin-toggles{
  border-top:1px solid #d9e6f3 !important;
}

body.vp-admin .toggle-row input:not(:checked) + i{
  border-color:#c7d7e7 !important;
  background:#e9eff6 !important;
  box-shadow:inset 0 0 0 1px rgba(111,139,166,.04) !important;
}

body.vp-admin .toggle-row input:not(:checked) + i::after{
  background:#879bae !important;
}

body.vp-admin .order-status-button-danger{
  border-color:#edb5bd !important;
  background:#fff3f5 !important;
  color:#b34552 !important;
}

body.vp-admin .order-status-button-danger:hover{
  border-color:#df8e99 !important;
  background:#ffe9ec !important;
  color:#96323e !important;
}

@media(max-width:640px){
  body.vp-order .order-code-block > div{
    align-items:stretch !important;
    flex-direction:column !important;
  }

  body.vp-order .order-copy-button{
    width:100% !important;
  }

  body.vp-order .payment-live-status{
    align-items:flex-start !important;
    padding:16px !important;
  }

  body.vp-order .payment-live-meta{
    align-items:stretch !important;
    flex-direction:column !important;
  }

  body.vp-order .payment-countdown,
  body.vp-order .payment-verifying{
    justify-content:center !important;
    width:100% !important;
  }
}

/* VOID PRO — 26P-R3 FINAL VISUAL FREEZE */

body.vp-order .order-code-block{
  border-right:1px solid #d9e6f3 !important;
}

body.vp-order .order-summary-item{
  border-right:1px solid #d9e6f3 !important;
}

body.vp-order .order-summary-item:last-child{
  border-right:0 !important;
}

body.vp-order .cancelled-card{
  padding:34px 28px !important;
  border:1px solid #d6e4f2 !important;
  border-radius:24px !important;
  background:linear-gradient(180deg,#ffffff 0%,#f8fbff 100%) !important;
  color:#102b4d !important;
  box-shadow:0 14px 34px rgba(18,66,107,.08) !important;
  text-align:center !important;
}

body.vp-order .cancelled-card > div[aria-hidden="true"]{
  display:grid !important;
  place-items:center !important;
  width:54px !important;
  height:54px !important;
  margin:0 auto 18px !important;
  border:1px solid #f1bdc4 !important;
  border-radius:15px !important;
  background:#fff2f4 !important;
  color:#d05a68 !important;
  font-size:21px !important;
  font-weight:900 !important;
}

body.vp-order .cancelled-card h2{
  margin:0 0 8px !important;
  color:#102b4d !important;
  font-size:24px !important;
  line-height:1.15 !important;
}

body.vp-order .cancelled-card p{
  margin:0 auto 22px !important;
  color:#6c8198 !important;
  max-width:620px !important;
  line-height:1.55 !important;
}

body.vp-order .cancelled-card .button-primary{
  min-height:50px !important;
  padding-inline:22px !important;
  border-radius:14px !important;
}

body.vp-order .waiting-spinner,
body.vp-order .large-spinner{
  animation:voidOrderSpinner .85s linear infinite !important;
  transform-origin:center !important;
}

@keyframes voidOrderSpinner{
  to{ transform:rotate(360deg); }
}

@media(max-width:640px){
  body.vp-order .order-code-block{
    border-right:0 !important;
    border-bottom:1px solid #d9e6f3 !important;
  }

  body.vp-order .order-summary-item{
    border-right:0 !important;
    border-bottom:1px solid #d9e6f3 !important;
  }

  body.vp-order .order-summary-item:last-child{
    border-bottom:0 !important;
  }

  body.vp-order .cancelled-card{
    padding:28px 18px !important;
  }
}


/* =========================================================
   26Q-S1 FIX2 — STORE IDENTITY ADMIN
   ========================================================= */

.brand-logo-image-secondary{
  width:42px;
  height:42px;
  display:block;
  object-fit:contain;
  border-radius:11px;
  flex:0 0 auto;
}

.summary-product-icon img{
  width:100%;
  height:100%;
  object-fit:contain;
  border-radius:10px;
}

.identity-section{
  scroll-margin-top:96px;
}

.identity-editor{
  display:grid;
  grid-template-columns:
    minmax(280px,.9fr)
    minmax(320px,1.1fr);
  gap:28px;
  align-items:start;
}

.identity-live-preview,
.identity-fields{
  border:
    1px solid rgba(109,94,252,.16);
  background:
    rgba(255,255,255,.72);
  border-radius:22px;
  padding:24px;
}

.identity-preview-title{
  font-size:14px;
  font-weight:800;
  letter-spacing:.10em;
  margin-bottom:20px;
}

.identity-preview-brand,
.identity-icon-row{
  display:flex;
  align-items:center;
  gap:16px;
}

.identity-preview-brand{
  padding-bottom:22px;
  margin-bottom:22px;
  border-bottom:
    1px solid rgba(5,7,13,.08);
}

.identity-preview-brand strong{
  display:block;
  font-size:24px;
  line-height:1.15;
}

.identity-preview-brand small,
.identity-icon-row small{
  display:block;
  margin-top:5px;
  font-size:14px;
}

.identity-logo-preview{
  width:76px;
  height:76px;
  display:grid;
  place-items:center;
  border-radius:20px;
  background:#fff;
  border:
    1px solid rgba(5,7,13,.09);
  overflow:hidden;
  font-size:24px;
  font-weight:900;
}

.identity-icon-preview{
  width:54px;
  height:54px;
  display:grid;
  place-items:center;
  border-radius:15px;
  background:#fff;
  border:
    1px solid rgba(5,7,13,.09);
  overflow:hidden;
}

.identity-logo-preview img,
.identity-icon-preview img{
  width:100%;
  height:100%;
  object-fit:contain;
}

.identity-fields{
  display:grid;
  gap:20px;
}

.identity-fields input[type="text"],
.identity-fields input[type="file"]{
  width:100%;
}

.identity-fields input[type="file"]{
  min-height:52px;
  padding:12px;
  border:
    1px solid rgba(5,7,13,.12);
  border-radius:13px;
  background:#fff;
  font-size:15px;
}

.identity-remove-option{
  display:flex;
  align-items:center;
  gap:10px;
  margin-top:12px;
  font-size:15px;
  font-weight:700;
}

.identity-remove-option input{
  width:18px;
  height:18px;
}

@media (max-width:820px){

  .identity-editor{
    grid-template-columns:1fr;
  }

  .identity-live-preview,
  .identity-fields{
    padding:20px;
    border-radius:18px;
  }

  .identity-preview-brand strong{
    font-size:21px;
  }
}


/* =========================================================
   26Q-S1 POLISH1 — PREMIUM UPLOAD
   ========================================================= */

.identity-file-control{
  display:flex;
  align-items:center;
  gap:12px;
  width:100%;
  min-height:58px;
  padding:8px;
  border:1px solid rgba(74,144,255,.22);
  border-radius:15px;
  background:
    linear-gradient(
      180deg,
      rgba(255,255,255,.96),
      rgba(247,250,255,.96)
    );
  box-shadow:
    0 8px 24px rgba(20,61,125,.05);
}

.identity-file-native{
  position:absolute !important;
  width:1px !important;
  height:1px !important;
  padding:0 !important;
  margin:-1px !important;
  overflow:hidden !important;
  clip:rect(0,0,0,0) !important;
  white-space:nowrap !important;
  border:0 !important;
  opacity:0 !important;
}

.identity-file-button{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:8px;
  min-height:42px;
  padding:0 16px;
  border-radius:11px;
  background:
    linear-gradient(
      135deg,
      #249cff,
      #1878ff
    );
  color:#fff;
  font-size:14px;
  font-weight:800;
  line-height:1;
  cursor:pointer;
  white-space:nowrap;
  box-shadow:
    0 8px 18px rgba(30,126,255,.20);
  transition:
    transform .18s ease,
    box-shadow .18s ease,
    filter .18s ease;
}

.identity-file-button:hover{
  transform:translateY(-1px);
  filter:brightness(1.03);
  box-shadow:
    0 11px 24px rgba(30,126,255,.26);
}

.identity-file-button-secondary{
  background:
    linear-gradient(
      135deg,
      #3857ff,
      #6d55ff
    );
}

.identity-upload-icon{
  display:grid;
  place-items:center;
  width:22px;
  height:22px;
  border-radius:7px;
  background:rgba(255,255,255,.16);
  font-size:17px;
  font-weight:900;
}

.identity-file-name{
  min-width:0;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
  color:#61708b;
  font-size:14px;
  font-weight:600;
}

.identity-file-native:focus + .identity-file-button{
  outline:3px solid rgba(38,139,255,.20);
  outline-offset:2px;
}

@media (max-width:640px){

  .identity-file-control{
    align-items:stretch;
    flex-direction:column;
  }

  .identity-file-button{
    width:100%;
  }

  .identity-file-name{
    padding:4px 5px 2px;
    white-space:normal;
    word-break:break-word;
  }
}


/* =========================================================
   26Q-S1 POLISH2 — IDENTITY DETAILS
   ========================================================= */

/*
   Garante espaço suficiente quando a página abre
   diretamente em #identidade.
*/
.identity-section{
  scroll-margin-top:160px !important;
}

/*
   Linha compacta para remover logo/ícone.
*/
.identity-remove-option{
  display:inline-flex !important;
  align-items:center !important;
  justify-content:flex-start !important;
  gap:10px !important;

  width:auto !important;
  max-width:100% !important;

  margin:
    12px 0 0 2px !important;

  padding:
    8px 11px !important;

  border:
    1px solid rgba(30,120,255,.14) !important;

  border-radius:
    11px !important;

  background:
    rgba(245,249,255,.86) !important;

  color:
    #263957 !important;

  font-size:
    14px !important;

  font-weight:
    700 !important;

  line-height:
    1.2 !important;

  cursor:
    pointer !important;
}

.identity-remove-option:hover{
  border-color:
    rgba(30,120,255,.28) !important;

  background:
    rgba(238,246,255,.96) !important;
}

.identity-remove-option input{
  flex:
    0 0 auto !important;

  width:
    18px !important;

  height:
    18px !important;

  margin:
    0 !important;

  accent-color:
    #1878ff;
}

.identity-remove-option span{
  display:inline !important;
  width:auto !important;
  margin:0 !important;
  padding:0 !important;
  text-align:left !important;
  white-space:nowrap;
}

@media (max-width:640px){

  .identity-section{
    scroll-margin-top:135px !important;
  }

  .identity-remove-option{
    width:100% !important;
  }

  .identity-remove-option span{
    white-space:normal;
  }
}


/* =========================================================
   26Q-S1 POLISH3 — ORDER PREMIUM
   ========================================================= */

/* ---------- Código do pedido ---------- */

.vp-order .order-code-block > span{
  display:block !important;
  margin-bottom:9px !important;

  color:#587394 !important;

  font-size:13px !important;
  font-weight:900 !important;

  letter-spacing:.10em !important;
  line-height:1.2 !important;
}

.vp-order .order-code-block > div{
  display:flex !important;
  align-items:center !important;
  gap:10px !important;

  flex-wrap:wrap !important;
}

.vp-order #order-public-id{
  display:inline-flex !important;
  align-items:center !important;

  min-height:44px !important;

  padding:
    0 14px !important;

  border:
    1px solid #b9d9ff !important;

  border-radius:
    12px !important;

  background:
    linear-gradient(
      180deg,
      #f7fbff,
      #edf6ff
    ) !important;

  color:
    #0875eb !important;

  font-size:
    14px !important;

  font-weight:
    900 !important;

  line-height:
    1.3 !important;

  letter-spacing:
    .02em !important;

  box-shadow:
    inset 0 0 0 1px
    rgba(255,255,255,.7) !important;
}

.vp-order .order-copy-button{
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;

  gap:9px !important;

  min-height:
    44px !important;

  padding:
    0 16px !important;

  border:
    1px solid #a9cff8 !important;

  border-radius:
    12px !important;

  background:
    linear-gradient(
      180deg,
      #ffffff,
      #eef7ff
    ) !important;

  color:
    #245a8f !important;

  font-size:
    14px !important;

  font-weight:
    900 !important;

  box-shadow:
    0 7px 18px
    rgba(35,104,176,.08) !important;
}

.vp-order .order-copy-button:hover{
  border-color:
    #6fb2f5 !important;

  background:
    #f3f9ff !important;

  box-shadow:
    0 10px 24px
    rgba(35,104,176,.14) !important;
}

.vp-order .order-copy-button.is-copied{
  border-color:
    #8eddbf !important;

  background:
    #effbf6 !important;

  color:
    #087a58 !important;
}

/* ---------- WhatsApp premium ---------- */

.vp-order .whatsapp-delivery-button{
  position:relative !important;
  isolation:isolate !important;

  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;

  gap:11px !important;

  min-height:
    58px !important;

  padding:
    0 24px !important;

  overflow:hidden !important;

  border:
    1px solid rgba(0,155,103,.20) !important;

  border-radius:
    17px !important;

  background:
    linear-gradient(
      135deg,
      #08b77c 0%,
      #0aa879 48%,
      #078f69 100%
    ) !important;

  color:
    #ffffff !important;

  font-size:
    16px !important;

  font-weight:
    900 !important;

  text-decoration:
    none !important;

  box-shadow:
    0 14px 32px
    rgba(10,168,121,.25) !important;

  animation:
    vpWhatsappPulse
    3.2s ease-in-out infinite;
}

.vp-order .whatsapp-delivery-button::before{
  content:"";

  position:absolute;
  z-index:-1;

  top:-30%;
  bottom:-30%;

  left:-48%;

  width:34%;

  transform:
    skewX(-22deg);

  background:
    linear-gradient(
      90deg,
      transparent,
      rgba(255,255,255,.32),
      transparent
    );

  animation:
    vpWhatsappShine
    3.6s ease-in-out infinite;
}

.vp-order .whatsapp-delivery-button:hover{
  transform:
    translateY(-3px) !important;

  box-shadow:
    0 18px 38px
    rgba(10,168,121,.32) !important;
}

.vp-order .whatsapp-delivery-button:active{
  transform:
    translateY(-1px)
    scale(.99) !important;
}

.vp-order .whatsapp-delivery-button
.whatsapp-symbol{
  display:grid !important;
  place-items:center !important;

  width:28px !important;
  height:28px !important;

  border-radius:
    9px !important;

  background:
    rgba(255,255,255,.16) !important;

  font-size:
    18px !important;

  box-shadow:
    inset 0 0 0 1px
    rgba(255,255,255,.13) !important;
}

.vp-order .whatsapp-delivery-button
> span:last-child{
  display:inline-block;

  animation:
    vpWhatsappArrow
    1.8s ease-in-out infinite;
}

@keyframes vpWhatsappPulse{

  0%,
  100%{
    box-shadow:
      0 14px 32px
      rgba(10,168,121,.23);
  }

  50%{
    box-shadow:
      0 16px 38px
      rgba(10,168,121,.37),
      0 0 0 7px
      rgba(10,168,121,.06);
  }
}

@keyframes vpWhatsappShine{

  0%,
  58%{
    left:-48%;
    opacity:0;
  }

  65%{
    opacity:1;
  }

  82%{
    left:125%;
    opacity:0;
  }

  100%{
    left:125%;
    opacity:0;
  }
}

@keyframes vpWhatsappArrow{

  0%,
  100%{
    transform:
      translateX(0);
  }

  50%{
    transform:
      translateX(5px);
  }
}

/* ---------- Mobile ---------- */

@media (max-width:640px){

  .vp-order #order-public-id{
    width:100% !important;

    min-height:
      46px !important;

    font-size:
      12.5px !important;

    word-break:
      break-all !important;
  }

  .vp-order .order-copy-button{
    width:100% !important;
  }

  .vp-order .whatsapp-delivery-button{
    width:100% !important;

    min-height:
      60px !important;

    padding:
      0 16px !important;

    font-size:
      15px !important;

    text-align:
      center !important;
  }
}

/* Respeita acessibilidade / redução de movimento */

@media (prefers-reduced-motion:reduce){

  .vp-order .whatsapp-delivery-button,
  .vp-order .whatsapp-delivery-button::before,
  .vp-order .whatsapp-delivery-button
  > span:last-child{
    animation:
      none !important;
  }
}


/* =========================================================
   26Q-S1 POLISH4 — WHATSAPP MOTION
   ========================================================= */

/*
   Movimento principal:
   agora o botão RESPIRA visualmente.
*/

.vp-order .whatsapp-delivery-button{
  position:relative !important;
  isolation:isolate !important;

  transform-origin:center !important;

  animation:
    vpWhatsappBreath 2.15s
      cubic-bezier(.4,0,.2,1)
      infinite,
    vpWhatsappGlowStrong 2.15s
      ease-in-out
      infinite !important;
}

/*
   Brilho agora fica NA FRENTE do background,
   e não escondido atrás do botão.
*/

.vp-order .whatsapp-delivery-button::before{
  content:"" !important;

  position:absolute !important;
  z-index:2 !important;

  top:-35% !important;
  bottom:-35% !important;

  left:-55% !important;

  width:34% !important;

  pointer-events:none !important;

  transform:
    skewX(-22deg) !important;

  background:
    linear-gradient(
      90deg,
      transparent 0%,
      rgba(255,255,255,.08) 20%,
      rgba(255,255,255,.55) 50%,
      rgba(255,255,255,.08) 80%,
      transparent 100%
    ) !important;

  filter:
    blur(.4px);

  opacity:0;

  animation:
    vpWhatsappShineVisible
    2.8s ease-in-out
    infinite !important;
}

/*
   Um halo separado atrás do botão.
*/

.vp-order .whatsapp-delivery-button::after{
  content:"" !important;

  position:absolute !important;
  z-index:-1 !important;

  inset:-7px !important;

  border-radius:22px !important;

  border:
    2px solid
    rgba(10,190,132,.32) !important;

  opacity:0;

  pointer-events:none !important;

  animation:
    vpWhatsappRing
    2.15s ease-out
    infinite !important;
}

/*
   Símbolo também chama atenção suavemente.
*/

.vp-order .whatsapp-symbol{
  position:relative !important;
  z-index:3 !important;

  animation:
    vpWhatsappSymbolMove
    1.75s ease-in-out
    infinite !important;
}

/*
   A seta continua se movendo,
   agora um pouco mais perceptível.
*/

.vp-order .whatsapp-delivery-button
> span:last-child{
  position:relative !important;
  z-index:3 !important;

  font-size:20px !important;

  animation:
    vpWhatsappArrowStrong
    1.35s ease-in-out
    infinite !important;
}

/*
   O texto e os elementos internos ficam
   acima da faixa luminosa.
*/

.vp-order .whatsapp-delivery-button{
  text-shadow:
    0 1px 1px
    rgba(0,60,40,.15);
}

/* ---------- Respiração ---------- */

@keyframes vpWhatsappBreath{

  0%,
  100%{
    transform:
      scale(1)
      translateY(0);
  }

  50%{
    transform:
      scale(1.025)
      translateY(-1px);
  }
}

/* ---------- Halo verde ---------- */

@keyframes vpWhatsappGlowStrong{

  0%,
  100%{
    box-shadow:
      0 12px 28px
      rgba(10,168,121,.22),
      0 0 0 0
      rgba(10,190,132,0);
  }

  50%{
    box-shadow:
      0 18px 38px
      rgba(10,168,121,.38),
      0 0 0 8px
      rgba(10,190,132,.10);
  }
}

/* ---------- Anel externo ---------- */

@keyframes vpWhatsappRing{

  0%{
    transform:
      scale(.96);

    opacity:.48;
  }

  65%{
    opacity:.12;
  }

  100%{
    transform:
      scale(1.08);

    opacity:0;
  }
}

/* ---------- Luz atravessando ---------- */

@keyframes vpWhatsappShineVisible{

  0%,
  46%{
    left:-55%;
    opacity:0;
  }

  52%{
    opacity:.85;
  }

  75%{
    left:125%;
    opacity:.45;
  }

  80%,
  100%{
    left:125%;
    opacity:0;
  }
}

/* ---------- Ícone ---------- */

@keyframes vpWhatsappSymbolMove{

  0%,
  100%{
    transform:
      scale(1)
      rotate(0deg);
  }

  50%{
    transform:
      scale(1.12)
      rotate(-5deg);
  }
}

/* ---------- Seta ---------- */

@keyframes vpWhatsappArrowStrong{

  0%,
  100%{
    transform:
      translateX(0);
  }

  50%{
    transform:
      translateX(7px);
  }
}

/* ---------- Hover ---------- */

.vp-order .whatsapp-delivery-button:hover{
  animation-play-state:
    paused !important;

  transform:
    translateY(-4px)
    scale(1.025) !important;

  box-shadow:
    0 20px 42px
    rgba(10,168,121,.42) !important;
}

/* ---------- Mobile ---------- */

@media (max-width:640px){

  .vp-order .whatsapp-delivery-button{
    min-height:
      62px !important;
  }

}

/*
   Acessibilidade:
   se o usuário escolheu reduzir animações
   no sistema operacional, respeitamos isso.
*/

@media (prefers-reduced-motion:reduce){

  .vp-order .whatsapp-delivery-button,
  .vp-order .whatsapp-delivery-button::before,
  .vp-order .whatsapp-delivery-button::after,
  .vp-order .whatsapp-symbol,
  .vp-order .whatsapp-delivery-button
  > span:last-child{

    animation:
      none !important;
  }

}


/* =========================================================
   26Q-S1 POLISH5 — WHATSAPP STRONG MOTION
   ========================================================= */

/*
   Movimento propositalmente mais visível.
*/

.vp-order .whatsapp-delivery-button{
  position:relative !important;
  overflow:hidden !important;

  background:
    linear-gradient(
      120deg,
      #00a96f 0%,
      #11c98c 45%,
      #058b63 100%
    ) !important;

  background-size:
    220% 220% !important;

  animation:
    vpWhatsStrongMove 1.6s ease-in-out infinite,
    vpWhatsBackground 2.4s ease-in-out infinite,
    vpWhatsGlow 1.6s ease-in-out infinite
    !important;
}

/*
   Faixa branca atravessando o botão.
*/

.vp-order .whatsapp-delivery-button::before{
  content:"" !important;

  position:absolute !important;
  z-index:5 !important;

  top:-50% !important;
  left:-55% !important;

  width:32% !important;
  height:200% !important;

  pointer-events:none !important;

  background:
    linear-gradient(
      90deg,
      transparent,
      rgba(255,255,255,.75),
      transparent
    ) !important;

  transform:
    rotate(18deg) !important;

  opacity:.9 !important;

  animation:
    vpWhatsSweep
    2.1s ease-in-out infinite
    !important;
}

/*
   O texto fica sempre acima da faixa.
*/

.vp-order .whatsapp-delivery-button
> *{
  position:relative !important;
  z-index:7 !important;
}

/*
   Ícone pulsando claramente.
*/

.vp-order .whatsapp-symbol{
  animation:
    vpWhatsIconStrong
    1.05s ease-in-out infinite
    !important;
}

/*
   Seta andando.
*/

.vp-order .whatsapp-delivery-button
> span:last-child{
  animation:
    vpWhatsArrowStrong
    .95s ease-in-out infinite
    !important;
}

/*
   IMPORTANTE:
   não pausamos mais quando o mouse fica em cima.
*/

.vp-order .whatsapp-delivery-button:hover{
  animation-play-state:
    running !important;

  filter:
    brightness(1.07) !important;
}

/* ---------- Botão sobe/desce + cresce ---------- */

@keyframes vpWhatsStrongMove{

  0%,
  100%{
    transform:
      translateY(0)
      scale(1);
  }

  50%{
    transform:
      translateY(-5px)
      scale(1.06);
  }
}

/* ---------- Verde muda de posição ---------- */

@keyframes vpWhatsBackground{

  0%,
  100%{
    background-position:
      0% 50%;
  }

  50%{
    background-position:
      100% 50%;
  }
}

/* ---------- Sombra forte ---------- */

@keyframes vpWhatsGlow{

  0%,
  100%{
    box-shadow:
      0 12px 25px rgba(0,170,112,.20),
      0 0 0 0 rgba(0,200,130,.00);
  }

  50%{
    box-shadow:
      0 21px 46px rgba(0,170,112,.43),
      0 0 0 9px rgba(0,200,130,.14);
  }
}

/* ---------- Luz atravessando ---------- */

@keyframes vpWhatsSweep{

  0%{
    left:-55%;
  }

  45%{
    left:-55%;
  }

  75%{
    left:125%;
  }

  100%{
    left:125%;
  }
}

/* ---------- Ícone ---------- */

@keyframes vpWhatsIconStrong{

  0%,
  100%{
    transform:
      scale(1)
      rotate(0deg);
  }

  50%{
    transform:
      scale(1.22)
      rotate(-8deg);
  }
}

/* ---------- Seta ---------- */

@keyframes vpWhatsArrowStrong{

  0%,
  100%{
    transform:
      translateX(0);
  }

  50%{
    transform:
      translateX(10px);
  }
}

/* Mobile */

@media (max-width:640px){

  .vp-order .whatsapp-delivery-button{
    width:100% !important;
  }
}

/*
   Mantemos acessibilidade.
*/

@media (prefers-reduced-motion:reduce){

  .vp-order .whatsapp-delivery-button,
  .vp-order .whatsapp-delivery-button::before,
  .vp-order .whatsapp-symbol,
  .vp-order .whatsapp-delivery-button
  > span:last-child{
    animation:none !important;
  }
}
